Преглед на файлове

Merge branch 'beta' of https://git.cocorobo.cn/CocoRoboLabs/pbl-teacher-table into beta

SanHQin преди 9 месеца
родител
ревизия
f0353df976

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.127e78043bd9c794eab955bae78b704e.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.bba3ed5aca95350eeef8.js></script><script type=text/javascript src=./static/js/app.a475a1fa9cb2db727aad.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.adcbef7d959ee2b64a227fa008deccee.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.bba3ed5aca95350eeef8.js></script><script type=text/javascript src=./static/js/app.3b4e957d2711d9634599.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/css/app.127e78043bd9c794eab955bae78b704e.css


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/css/app.adcbef7d959ee2b64a227fa008deccee.css


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/css/app.adcbef7d959ee2b64a227fa008deccee.css.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/app.3b4e957d2711d9634599.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/app.3b4e957d2711d9634599.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


+ 22 - 4
src/components/pages/aiAddCourse/addCourse.vue

@@ -16530,6 +16530,17 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
       this.course_info = courseInfo
       window.course_lang = this.languageSetting
     },
+    saveCourse(){
+      if (this.cid == "" || this.cid == undefined) {
+        this.addWork();
+      } else {
+        if (this.userid != this.courseUserid && this.role != "1") {
+          this.updateWork2();
+        } else {
+          this.updateWork();
+        }
+      }
+    },
     setCover(attempts = 0) {
       var _this = this;
       if (_this.cover.length || attempts >= 3) {
@@ -16555,6 +16566,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
               };
               _this.imgChange1(null, null, 1, null);
               _this.$forceUpdate();
+              _this.saveCourse()
             }, 0);
             _this.imageloading2 = false;
           }else {
@@ -17896,7 +17908,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
         this.aitype = type
         this.aiText = this.aiJson.aiTargetGet
         this.aiText2 = this.aiJson.aiTarget2
-        this. aiCallBack= callback
+        this.aiCallBack= callback
       } else if (type == 'aiSearchFile'){
         if(this.fileSLoading) {
           this.$message({
@@ -18291,6 +18303,7 @@ ${msg3}
           processNext(); // 启动处理
 
 
+          this.aiCallBack[1] ? this.aiCallBack[1]() : ''
 
         }else{
           let message1 = `NOTICE
@@ -18380,7 +18393,6 @@ ${msg3}
           })
           // this.aiGetG323(message3, this.aiCallBack[0])
         }
-        this.aiCallBack[1] ? this.aiCallBack[1]() : ''
       } else if (this.aitype == "aiTaskG3") {
 let message3 = `NOTICE
 Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
@@ -18805,6 +18817,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
           this.courseTextB = false
           this.isTextCancelToken = null
           this.aiCallBack[1] ? this.aiCallBack[1]() : ''
+          this.saveCourse()
           return;
         } else {
           _iindex++
@@ -19128,6 +19141,8 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
             _this.unitJson[0].chapterInfo[0].taskJson[0].chapterData = JSON.parse(JSON.stringify(_this.infoData))
             _this.unitJson2 = JSON.parse(JSON.stringify(_this.unitJson))
             _this.$forceUpdate();
+            _this.saveCourse()
+
           }
           callback ? callback() : ''
           _this.isOutlineCancelToken = null
@@ -19546,7 +19561,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
             _this.unitJson[0].chapterInfo[0].taskJson[0].chapterData = JSON.parse(JSON.stringify(_this.infoData))
             _this.unitJson2 = JSON.parse(JSON.stringify(_this.unitJson))
             _this.$forceUpdate();
-
+            _this.saveCourse()
 
             setTimeout(()=>{
               for (var i = 0; i < this.unitJson[0].chapterInfo[0].taskJson.length; i++) {
@@ -19805,7 +19820,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
             _this.unitJson[0].chapterInfo[0].taskJson[0].chapterData = JSON.parse(JSON.stringify(_this.infoData))
             _this.unitJson2 = JSON.parse(JSON.stringify(_this.unitJson))
             _this.$forceUpdate();
-
+            _this.saveCourse()
 
             // setTimeout(()=>{
             //   for (var i = 0; i < _this.unitJson[0].chapterInfo[0].taskJson.length; i++) {
@@ -22907,6 +22922,7 @@ ${(_this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || _this.templatei
           }
           this.isTeacherTaskCancelToken2[_tindex2] = null
           callback ? callback() : ''
+          this.saveCourse()
           return;
         } else {
           _iindex++
@@ -23157,6 +23173,7 @@ ${this.aitype == 'aiCpote4' ? '## 目标层\n'+this.cpote['cpote3'] : ''}`
           this.cpoteLoading[loading] = false
           this.cpotetLoading[loading] = false
           callback ? callback() : ''
+          this.saveCourse()
           return;
         } else {
           _iindex++
@@ -23969,6 +23986,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
           this.ttargetTextLoading2 = false
           this.targetCourseText2B = false
           this.isTargetCancelToken2 = null
+          this.saveCourse()
           return;
         } else {
           _iindex++

+ 8 - 0
src/components/pages/aiAddCourse/record.vue

@@ -135,7 +135,14 @@ export default {
       uploadFileLoading: false,
       controlsStatus: 0, //0--点击开始录音  1--录音中   2--录音完毕预览  3--文字输��
       audioUrl: this.audioUrl2,
+      audioUrlArray: [],
       languageRadio: 2, //设置选择语言
+      // 设置list
+      languageList: [
+        { label: 2, lang: "普通话" },
+        { label: 3, lang: "粤语" },
+        { label: 13, lang: "英语" }
+      ],
       recordedForm: {
         time: "00:00:00", //时间
         status: 0, //0--未录音  1--正在录音  2--暂停  3--录音结束
@@ -453,6 +460,7 @@ export default {
     changeAudioUrl(newValue) {
       if (!newValue) return;
       this.audioUrl = newValue;
+      this.audioUrlArray.push(newValue)
       if (![1, 2].includes(this.pageStatus)) this.pageStatus = 1;
       this.controlsStatus = 2;
     },

+ 9 - 5
src/components/pages/components/lookWork.vue

@@ -31,6 +31,7 @@
           <el-menu
             default-active="2"
             :default-openeds="['0']"
+            active-text-color="#409EFF"
             class="el-menu-vertical-demo"
           >
             <el-submenu
@@ -50,7 +51,7 @@
                 <el-menu-item
                   v-for="(k, kin) in i.taskList"
                   :key="k.id"
-                  :index="k.id"
+                  :index="i.id+'-'+k.id"
                   style="display: flex; align-items: center"
                 >
                   <div @click.stop="positT(k.id)" class="TitBti">
@@ -835,7 +836,7 @@ export default {
         .get(this.$store.state.api + "getCourseWorks6", params) //getCourseWorks4
         .then(res => {
           this.tableData = res.data[0];
-          console.log("this.tableData", this.tableData);
+          // console.log("this.tableData", this.tableData);
 
           this.exportPdfSet();
         })
@@ -877,6 +878,8 @@ export default {
             var wordInfo = res.data[12]; //文档作业
             this.workEvaList = res.data[13];
 
+            console.log('res.data[0][0]',res.data[0][0]);
+            
             this.courseName = res.data[0][0].course;
             this.CState = res.data[0][0].state;
 
@@ -1057,6 +1060,8 @@ export default {
     },
     // 点击任务滑动跳转
     positT(val) {
+      console.log('666666');
+      
       let a = document.getElementById(val);
       if (a) {
         a.scrollIntoView({
@@ -1130,12 +1135,11 @@ export default {
   box-sizing: border-box;
 }
 .rightBar {
-  min-width: 300px;
   margin-right: 20px;
   border-radius: 10px;
   height: 100%;
-  min-width: 200px;
-  overflow-y: auto;
+  width: 270px;
+  overflow: hidden;
   background-color: #ffffff;
 }
 .workCon {

Файловите разлики са ограничени, защото са твърде много
+ 750 - 630
src/components/pages/components/report.vue


+ 2 - 2
src/components/pages/components/studentWorksDetail.vue

@@ -1470,7 +1470,7 @@
     </el-dialog>
 
     <div class="report_box" v-if="reportVisible">
-      <el-dialog
+      <!-- <el-dialog
         v-if="exportData.state == 5"
         :visible.sync="reportVisible"
         width="100%"
@@ -1481,7 +1481,7 @@
       <div slot="title" class="header-title">
         <div style="color: #fff">查看作业</div>
       </div>
-    </el-dialog>
+    </el-dialog>  -->
 
     <el-dialog
       v-if="exportData.state == 5"

+ 44 - 13
src/components/pages/components/worksDetail2.vue

@@ -18,18 +18,23 @@
           >一键导出</el-button
         >
         <el-button @click="exportData" 
-          v-if="cutTabNum == 0 && multipleSelection.length > 1"
+          v-if="DState == 5 && cutTabNum == 0 && multipleSelection.length > 1"
           type="primary" 
           size="small"
           >批量导出</el-button
         >
         <el-button @click="exportData" 
-          v-if="cutTabNum == 0 && multipleSelection.length < 2"
+          v-if="DState == 5 && cutTabNum == 0 && multipleSelection.length < 2"
           type="info" 
           disabled
           size="small"
           >批量导出</el-button
         >
+        <el-button @click="customizeExport" 
+          type="primary" 
+          size="small"
+          >{{ DState == 5 ? '按任务导出' : '自定义导出' }}</el-button
+        >
         <el-button style="margin-left: 20px;" @click="retPage" type="primary" size="small">返回</el-button>
       </div>
     </div>
@@ -159,10 +164,12 @@
           @selection-change="handleSelectionChange"
         >
           <el-table-column
-            v-show="cutTabNum == 0"
+            v-if="cutTabNum == 0 && DState == 5"
+            key="1"
             type="selection"
             width="55">
           </el-table-column>
+
           <el-table-column
             prop="sName"
             label="姓名"
@@ -1569,19 +1576,36 @@
       class="worksDialogCSSExp"
       :append-to-body="true"
       :fullscreen="true"
-
     >
       <div slot="title" class="header-title">
         <div style="color: #fff">导出作业集</div>
       </div>
       <exportWorksDialog  :key="exportW" :multipleSelection="multipleSelection" :digNum="digNum" :oid="oid" :worksDialog.sync="worksDialog" :worksDialogCon="worksDialogCon" :uid="exportPdfSetUid" :cid="id"></exportWorksDialog>
     </el-dialog>
+
+<!-- 自定义导出作业筛选弹框 -->
+    <el-dialog
+      title="自定义导出作业"
+      :visible.sync="dialogVisibleBao"
+      :append-to-body="true"
+      width="550px"
+      :before-close="handleClose"
+      class="dialog_diy r_diy"
+    >
+      <div>
+        <div>
+          <Report :cid="dataJson.courseId" :dataJson="dataJson"></Report>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer"> </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import StudentData from "./studentData";
 import exportWorksDialog from "./exportWorksDialog";
+import Report from "./report";
 
 import pdf from "./vpdf";
 import htmlDocx from "html-docx-js/dist/html-docx";
@@ -1595,6 +1619,7 @@ export default {
     LookWork,
     pdf,
     exportWorksDialog,
+    Report
   },
   props: ["cid", "uid", "ooid","DState","dataJson"],
   data() {
@@ -1834,7 +1859,8 @@ export default {
       exportPdfSetUid:'',
       exportW:0,
       digNum:0,
-      multipleSelection:[]
+      multipleSelection:[],
+      dialogVisibleBao:false
     };
   },
   computed: {
@@ -1931,6 +1957,11 @@ export default {
         return;
       });
     },
+    // 自定义导出
+    customizeExport(){
+      this.dialogVisibleBao = true
+    },
+
     // 批量导出
     exportData(){
       // this.$emit("update:dialogVisibleBao", true);
@@ -2168,7 +2199,7 @@ export default {
       }
     },
     handleClose(done) {
-      this.studentId =""
+      // this.studentId =""
       done();
     },
     tableRowClassName({ row, rowIndex }) {
@@ -2192,17 +2223,17 @@ export default {
       // this.getWorks();
     },
     lookWork(id, uid, type, index,con) {
-      console.log('con',con);
+      // console.log('con',con);
 
       this.scopeId1 = id;
       this.studentId = uid;
 
-      if (this.DState == 5) {
-        this.$nextTick(()=>{
-          this.dialogVisible3 = true
-        })
-        return
-      }
+      // if (this.DState == 5) {
+      this.$nextTick(()=>{
+        this.dialogVisible3 = true
+      })
+      // }
+      return
       
             
       

+ 1 - 15
src/components/pages/works.vue

@@ -326,21 +326,7 @@
     ></WorkDate>
     
     
-    <el-dialog
-      title="自定义导出作业"
-      :visible.sync="dialogVisibleBao"
-      :append-to-body="true"
-      width="550px"
-      :before-close="handleClose"
-      class="dialog_diy r_diy"
-    >
-      <div>
-        <div>
-          <Report :cid="dataJson.courseId"></Report>
-        </div>
-      </div>
-      <span slot="footer" class="dialog-footer"> </span>
-    </el-dialog>
+   
 
 
 

Някои файлове не бяха показани, защото твърде много файлове са промени