lsc 7 months ago
parent
commit
78ed75e246

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.389020a2a93a7c6848e35b46ad38b2e2.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.ee476e38463461edca63.js></script><script type=text/javascript src=./static/js/app.9ece1adc65e5eda07b58.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.cd554cab8dba7c271c536fee3140ceff.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.ee476e38463461edca63.js></script><script type=text/javascript src=./static/js/app.f05d8560aef791de2d1b.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.389020a2a93a7c6848e35b46ad38b2e2.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.389020a2a93a7c6848e35b46ad38b2e2.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.cd554cab8dba7c271c536fee3140ceff.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.cd554cab8dba7c271c536fee3140ceff.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.f05d8560aef791de2d1b.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.f05d8560aef791de2d1b.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


+ 210 - 3
src/components/pages/aiAddCourse/addCourse.vue

@@ -4872,6 +4872,148 @@
                               <!-- <div class="line" style="width: 90%"></div> -->
                             </div>
                           </div>
+                          <div style="flex-wrap: wrap; position:relative;margin:10px 0;">
+                            <button class="c_pub_button_confirm2" @click="addImg($event)" style="margin: 0px;">
+                              上传补充资料
+                              <input type="file" accept=".docx,.doc,.ppt,.pptx,.md,.txt,.pdf" style="display: none" v-if="inputShow" @change="
+                                beforeUploadInfo2(
+                                  $event,
+                                  18,
+                                  itemTaskIndex
+                                )
+                                " />
+                            </button>
+                            <div style="margin-top: 10px;width:100%" v-if="pingjiaInfoData[itemTaskIndex] && pingjiaInfoData[itemTaskIndex].length">
+                              <div class="add_chapters_box add_c_none" v-if="
+                                pingjiaInfoData[itemTaskIndex] &&
+                                pingjiaInfoData[itemTaskIndex].length == 0
+                              ">
+                                <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
+                              </div>
+                              <div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
+                                <div class="chapter_upload" v-for="(item1, index1) in pingjiaInfoData[itemTaskIndex]" :key="item1.id" @click="
+                                        getChapterData(
+                                          $event,
+                                          index1,
+                                          item1.type
+                                        )
+                                        " >
+                                  <div class="chapter_upload_o" style="
+                                                position: relative;
+                                                display: flex;
+                                                align-items: center;
+                                              ">
+                                    <div class="chapter_upload_l" style="padding: 1px 0 0 10px">
+                                      <div v-if="item1.type == 2" class="chapter_upload_l_i2"></div>
+                                      <div v-if="item1.type == 3" class="chapter_upload_l_i3" style="margin-left: 1px">
+                                      </div>
+                                      <div v-if="item1.type == 6" class="chapter_upload_l_i6" style="margin-left: 1px">
+                                      </div>
+                                      <!-- <div v-if="item1.type == 7" class="chapter_upload_l_i8" style="margin-left: 1px"></div> -->
+                                      <div v-if="item1.type == 8" class="chapter_upload_l_i8" style="margin-left: 1px">
+                                      </div>
+                                      <div v-if="item1.type == 14" class="chapter_upload_l_i14" style="margin-left: 1px">
+                                      </div>
+                                      <div v-if="item1.type == 12" class="chapter_upload_l_i12" style="margin-left: 1px">
+                                      </div>
+                                      <div v-if="item1.type == 13" class="chapter_upload_l_i13" style="margin-left: 1px">
+                                      </div>
+                                    </div>
+                                    <div class="chapter_upload_n">
+                                      <input readonly="true" v-if="
+                                        item1.type == 2 ||
+                                        item1.type == 3 ||
+                                        item1.type == 12 ||
+                                        item1.type == 13 ||
+                                        item1.type == 7
+                                      " :placeholder="item1.name"  @click.stop="
+                                        checkChpater3($event, index1, item1)
+                                        " style="
+                                                    border: none;
+                                                    outline: none;
+                                                    width: 80%;
+                                                    minwidth: 215px;
+                                                    z-index: 99;
+                                                    font-size: 14px;
+                                                    white-space: nowrap;
+                                                    overflow: hidden;
+                                                    text-overflow: ellipsis;
+                                                  " />
+                                      <input :placeholder="item1.name" v-if="item1.type == 6" style="
+                                                    border: none;
+                                                    outline: none;
+                                                    width: 80%;
+                                                    white-space: nowrap;
+                                                    overflow: hidden;
+                                                    text-overflow: ellipsis;
+                                                  " readonly="true" @click="
+                                                    selectAttText(index1)
+                                                    " />
+                                      <input :placeholder="item1.title ? item1.title : '链接'
+                                        " v-if="item1.type == 8" style="
+                                                    border: none;
+                                                    outline: none;
+                                                    width: 80%;
+                                                    white-space: nowrap;
+                                                    overflow: hidden;
+                                                    text-overflow: ellipsis;
+                                                  " readonly="true" @click="selectLine(index1)" />
+                                      <input :placeholder="item1.title ? item1.title : '链接'
+                                        " v-if="item1.type == 14" style="
+                                                    border: none;
+                                                    outline: none;
+                                                    width: 80%;
+                                                    white-space: nowrap;
+                                                    overflow: hidden;
+                                                    text-overflow: ellipsis;
+                                                  " readonly="true" @click="
+                                                    openUpdateSource(index1)
+                                                    " />
+                                    </div>
+                                    <div class="chapter_upload_ic">
+                                      <div class="chapter_upload_noSee" v-if="item1.type == 12"></div>
+                                      <div class="chapter_upload_ic_check" v-if="item1.type == 3" @click.stop="
+                                        checkChpater3($event, index1, item1)
+                                        ">
+                                        <div></div>
+                                      </div>
+                                      <div class="chapter_upload_ic_r" @click.stop="
+                                        deletepingjiaInfoData(
+                                          $event,
+                                          index1,
+                                          itemTaskIndex
+                                        )
+                                        ">
+                                        <div></div>
+                                      </div>
+                                    </div>
+                                  </div>
+                                </div>
+                              </div>
+                            </div>
+                            <div v-if="
+                              pingjiainfoproVisible[itemTaskIndex]
+                            " class="mask">
+                              <div class="progressBox">
+                                <div class="lbox">
+                                  <img src="../../../assets/loading.gif" />上传中,请稍后
+                                </div>
+                                <div style="margin-bottom: 10px">
+                                  <span>{{
+                                    pingjiainfoisFinishSize[itemTaskIndex]
+                                    }}M</span>
+                                  /
+                                  <span>{{
+                                    pingjiainfoisAllSize[itemTaskIndex]
+                                    }}M</span>
+                                </div>
+                                <el-progress :text-inside="true" :stroke-width="20" :percentage="pingjiainfoprogress[itemTaskIndex]
+                                  ? pingjiainfoprogress[itemTaskIndex]
+                                  : 0
+                                  " style="width: 80%"></el-progress>
+                              </div>
+                            </div>
+                          </div>
                           <div class="mbCss">
                             <div class="pjCss" :style="{
                               width: itemTask.isEvaFold
@@ -7141,6 +7283,11 @@ export default {
       xuanzeinfoisFinishSize: 0,
       xuanzeinfoisAllSize: 0,
       xuanzeinfoprogress: 0,
+      pingjiaInfoData: [],
+      pingjiainfoproVisible: [],
+      pingjiainfoisFinishSize: [],
+      pingjiainfoisAllSize: [],
+      pingjiainfoprogress: [],
     };
   },
   directives: {
@@ -9413,7 +9560,7 @@ export default {
           });
       }
     },
-    beforeUploadInfo2(event, type) {
+    beforeUploadInfo2(event, type, tindex) {
       // const loading = this.openLoading();
       var file = event.target.files[0];
       var credentials = {
@@ -9505,6 +9652,11 @@ export default {
         _this.xuanzeinfoproVisible = true;
         _this.xuanzeinfoisFinishSize = 0;
         _this.xuanzeinfoisAllSize = (file.size / 1024 / 1024).toFixed(2);
+      }else if(type == 18){
+        _this.pingjiainfoprogress[tindex] = 0;
+        _this.pingjiainfoproVisible[tindex] = true;
+        _this.pingjiainfoisFinishSize[tindex] = 0;
+        _this.pingjiainfoisAllSize[tindex] = (file.size / 1024 / 1024).toFixed(2);
       }else{
         _this.infoprogress = 0;
         _this.infoproVisible = true;
@@ -9544,6 +9696,9 @@ export default {
             }else if(type == 17){
               _this.xuanzeinfoprogress = parseInt((evt.loaded / evt.total) * 100);
               _this.xuanzeinfoisFinishSize = (evt.loaded / 1024 / 1024).toFixed(2);
+            }else if(type == 18){
+              _this.pingjiainfoprogress[tindex] = parseInt((evt.loaded / evt.total) * 100);
+              _this.pingjiainfoisFinishSize[tindex] = (evt.loaded / 1024 / 1024).toFixed(2);
             }else {
               _this.infoprogress = parseInt((evt.loaded / evt.total) * 100);
               _this.infoisFinishSize = (evt.loaded / 1024 / 1024).toFixed(2);
@@ -9561,6 +9716,9 @@ export default {
             }else if(type == 17){
               _this.xuanzeinfoprogress = 100;
               _this.xuanzeinfoisFinishSize = _this.xuanzeinfoisAllSize;
+            }else if(type == 18){
+              _this.pingjiainfoprogress[tindex] = 100;
+              _this.pingjiainfoisFinishSize[tindex] = _this.pingjiainfoisAllSize[tindex];
             }else {
               _this.infoprogress = 100;
               _this.infoisFinishSize = _this.infoisAllSize;
@@ -9576,6 +9734,8 @@ export default {
                   _this.mubiaoinfoproVisible = false;
                 }else if(type == 17){
                   _this.xuanzeinfoproVisible = false;
+                }else if(type == 18){
+                  _this.pingjiainfoproVisible[tindex] = false;
                 }else{
                   _this.infoproVisible = false;
                 }
@@ -9593,6 +9753,8 @@ export default {
                   _this.mubiaoinfoproVisible = false;
                 }else if(type == 17){
                   _this.xuanzeinfoproVisible = false;
+                }else if(type == 18){
+                  _this.pingjiainfoproVisible[tindex] = false;
                 }else{
                   _this.infoproVisible = false;
                 }
@@ -9774,6 +9936,17 @@ export default {
                   type: _type,
                   fileid: fileid == 1 ? '' : fileid,
                 });
+              }else if (type == 18) {
+                if(!_this.pingjiaInfoData[tindex]){
+                  _this.pingjiaInfoData[tindex] = []
+                }
+                _this.pingjiaInfoData[tindex].push({
+                  name: file.name,
+                  url: data.Location,
+                  uid: file.uid,
+                  type: _type,
+                  fileid: fileid == 1 ? '' : fileid,
+                });
               }
               console.log(data.Location);
               console.log(fileid);
@@ -10512,6 +10685,25 @@ export default {
           return;
         });
     },
+    deletepingjiaInfoData(e, ic, tindex) {
+      e.stopPropagation();
+      let _this = this;
+      _this
+        .$confirm("确定删除此项?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+        .then(() => {
+          _this.pingjiaInfoData[tindex].splice(
+            ic,
+            1
+          );
+        })
+        .catch(() => {
+          return;
+        });
+    },
     deleteCankaoInfoData(e, ic) {
       e.stopPropagation();
       let _this = this;
@@ -10949,6 +11141,7 @@ export default {
             cankaoInfoData: this.cankaoInfoData,
             mubiaoInfoData: this.mubiaoInfoData,
             xuanzeInfoData: this.xuanzeInfoData,
+            pingjiaInfoData: this.pingjiaInfoData,
             infoData2: this.infoData2,
             isuseT: this.isuseT,
             mode: this.mode,
@@ -11216,6 +11409,7 @@ export default {
             cankaoInfoData: this.cankaoInfoData,
             mubiaoInfoData: this.mubiaoInfoData,
             xuanzeInfoData: this.xuanzeInfoData,
+            pingjiaInfoData: this.pingjiaInfoData,
             infoData2: this.infoData2,
             isuseT: this.isuseT,
             mode: this.mode,
@@ -13329,6 +13523,7 @@ export default {
                 this.cankaoInfoData = JSON.parse(res.data[0][0].setting).cankaoInfoData ? JSON.parse(res.data[0][0].setting).cankaoInfoData : [];
                 this.mubiaoInfoData = JSON.parse(res.data[0][0].setting).mubiaoInfoData ? JSON.parse(res.data[0][0].setting).mubiaoInfoData : [];
                 this.xuanzeInfoData = JSON.parse(res.data[0][0].setting).xuanzeInfoData ? JSON.parse(res.data[0][0].setting).xuanzeInfoData : [];
+                this.pingjiaInfoData = JSON.parse(res.data[0][0].setting).pingjiaInfoData ? JSON.parse(res.data[0][0].setting).pingjiaInfoData : [];
                 this.infoData2 = JSON.parse(res.data[0][0].setting).infoData2 ? JSON.parse(res.data[0][0].setting).infoData2 : [];
                 this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false;
                 this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1;
@@ -13470,6 +13665,7 @@ export default {
                 this.cankaoInfoData = JSON.parse(res.data[0][0].setting).cankaoInfoData ? JSON.parse(res.data[0][0].setting).cankaoInfoData : [];
                 this.mubiaoInfoData = JSON.parse(res.data[0][0].setting).mubiaoInfoData ? JSON.parse(res.data[0][0].setting).mubiaoInfoData : [];
                 this.xuanzeInfoData = JSON.parse(res.data[0][0].setting).xuanzeInfoData ? JSON.parse(res.data[0][0].setting).xuanzeInfoData : [];
+                this.pingjiaInfoData = JSON.parse(res.data[0][0].setting).pingjiaInfoData ? JSON.parse(res.data[0][0].setting).pingjiaInfoData : [];
                 this.infoData2 = JSON.parse(res.data[0][0].setting).infoData2 ? JSON.parse(res.data[0][0].setting).infoData2 : [];
                 this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false;
                 this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1;
@@ -19141,11 +19337,20 @@ ${msg} 输出格式和内容要求参考#格式与要求
           }
         }
       }
+      if (_this.pingjiaInfoData[index] && _this.pingjiaInfoData[index].length) {
+        for (var i = 0; i < _this.pingjiaInfoData[index].length; i++) {
+          if(_this.pingjiaInfoData[index][i].fileid){
+            fileid.push(_this.pingjiaInfoData[index][i].fileid)
+          }
+        }
+      }
 
       var _text = ""
       for (var i = 0; i < _this.unitJson[0].chapterInfo[0].taskJson[_tindex2].eList.length; i++) {
         _text += `评价维度:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].eList[i].value} 维度描述:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].eList[i].detail} `
       }
+// -评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
+
       // **重点考虑该任务详情**
       let messages = `
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
@@ -19156,15 +19361,16 @@ ATTENTION: Use '##' to SPLIT SECTIONS, not '#'.Output format carefully reference
 任务名称:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].task}
 任务描述:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail}
 评价设计:${_text}
+教学任务教案:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
 
 ## 要求
 ${msg} 优化评价维度和维度描述,输出格式和内容要求参考# 格式与要求
 
 # 格式与要求
--评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
+评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,维度描述,评价目标,以及评价目标是根据教学任务教案提取关于这个评价维度的目标,还有该维度中教师期待学生的表现,维度描述的句式为学生应该能....
 
 # Format example
-[{"value":"评价维度1","detail":"维度描述1","score":5},{"value":"评价维度2","detail":"维度描述2","score":5},{"value":"评价维度3","detail":"维度描述3","score":5}]`
+[{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5},{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5},{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5}]`
       _this.taskDetailLoading4.push(_tindex)
       // let params = JSON.stringify({
       //   // "model": "Chat",
@@ -25201,6 +25407,7 @@ ol {
 }
 
 .ruleBtn {
+  width: fit-content;
   height: 36px;
   line-height: 36px;
   cursor: pointer;

Some files were not shown because too many files changed in this diff