zengyicheng 1 year ago
parent
commit
d965be1a39

File diff suppressed because it is too large
+ 505 - 193
src/components/courseDetail.vue


+ 172 - 128
src/components/easy2/studyStudent.vue

@@ -10,7 +10,7 @@
         box-sizing: border-box;
       "
     >
-    <div class="btnAllNT">
+      <div class="btnAllNT">
         <!-- <img src="../../assets/icon/learn/screen.png" @click="allScrell" /> -->
         <img
           src="../../assets/icon/learn/addTool.png"
@@ -171,9 +171,7 @@
                       :class="{
                         isGjCss: t.isTool,
                       }"
-                      @click="
-                        jumpGj(courseType, navIndex, toolIndex2, nav.id)
-                      "
+                      @click="jumpGj(courseType, navIndex, toolIndex2, nav.id)"
                     >
                       <div>工具{{ toolIndex2 + 1 }}:</div>
                       <div v-if="t.tool == 58">模拟驾驶</div>
@@ -242,19 +240,27 @@
           <div class="btnAll">
             <div class="btnLeft">
               <el-tooltip effect="light" content="刷新" placement="top">
-                <div class="reBtnIcon" @click="refreshCourse"><span>刷新</span></div>
+                <div class="reBtnIcon" @click="refreshCourse">
+                  <span>刷新</span>
+                </div>
               </el-tooltip>
               <el-tooltip effect="light" content="评论" placement="top">
-                <div class="commentIcon" @click="setPz" v-if="tType == 1"><span>评论</span></div>
+                <div class="commentIcon" @click="setPz" v-if="tType == 1">
+                  <span>评论</span>
+                </div>
               </el-tooltip>
               <div v-if="!videoStart && (tType == 1 || tType == 4)">
                 <el-tooltip effect="light" content="录制" placement="top">
-                  <div class="vedioIcon" @click="startRecording"><span>录制</span></div>
+                  <div class="vedioIcon" @click="startRecording">
+                    <span>录制</span>
+                  </div>
                 </el-tooltip>
               </div>
               <div v-else-if="tType == 1 || tType == 4">
                 <el-tooltip effect="light" content="下载" placement="top">
-                  <div class="vedioIcon1" @click="stopRecording"><span>下载</span></div>
+                  <div class="vedioIcon1" @click="stopRecording">
+                    <span>下载</span>
+                  </div>
                 </el-tooltip>
               </div>
             </div>
@@ -624,7 +630,10 @@
                     <div class="navCorOpenBox">
                       <div class="navTitile">内容列表:</div>
                       <div class="navCorOpen" @click="setContent(false)">
-                        <img src="../../assets/icon/newIcons/isRight.png" alt="" />
+                        <img
+                          src="../../assets/icon/newIcons/isRight.png"
+                          alt=""
+                        />
                       </div>
                     </div>
                     <div class="navBox">
@@ -650,7 +659,10 @@
                               >{{ vitem.name }}
                             </div>
                             <div class="downIcon" @click="downloadFile2(vitem)">
-                              <img src="../../assets/icon/newIcon/down.png" alt />
+                              <img
+                                src="../../assets/icon/newIcon/down.png"
+                                alt
+                              />
                             </div>
                           </div>
 
@@ -703,7 +715,10 @@
                               >{{ vitem.name }}
                             </div>
                             <div class="downIcon" @click="downloadFile2(vitem)">
-                              <img src="../../assets/icon/newIcon/down.png" alt />
+                              <img
+                                src="../../assets/icon/newIcon/down.png"
+                                alt
+                              />
                             </div>
                             <div
                               class="downIcon"
@@ -721,7 +736,10 @@
                               >{{ vitem.name }}
                             </div>
                             <div class="downIcon" @click="downloadFile2(vitem)">
-                              <img src="../../assets/icon/newIcon/down.png" alt />
+                              <img
+                                src="../../assets/icon/newIcon/down.png"
+                                alt
+                              />
                             </div>
                             <div
                               class="downIcon"
@@ -742,7 +760,10 @@
                               {{ vitem.name }}
                             </div>
                             <div class="downIcon" @click="downloadFile2(vitem)">
-                              <img src="../../assets/icon/newIcon/down.png" alt />
+                              <img
+                                src="../../assets/icon/newIcon/down.png"
+                                alt
+                              />
                             </div>
                           </div>
                         </div>
@@ -1313,9 +1334,11 @@
                     >
                     <el-button
                       type="primary"
-                      v-if="tool.tool[0] == 16 && worksStudent[toolIndex].length > 0"
+                      v-if="
+                        tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
+                      "
                       style="position: absolute; right: 30px; top: 30px"
-                      @click="openTips(toolIndex)"
+                      @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                     >
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
@@ -7708,7 +7731,10 @@
               @click="addTools2(7)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/mindNetwork.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/mindNetwork.png"
+                  alt
+                />
                 <div style="margin: 5px 0">思维网格</div>
               </div>
               <div class="check">
@@ -7725,7 +7751,10 @@
               @click="addTools2(1)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/whiteBoard.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/whiteBoard.png"
+                  alt
+                />
                 <div style="margin: 5px 0">电子白板</div>
               </div>
               <div class="check">
@@ -7759,7 +7788,10 @@
               @click="addTools2(3)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/mindMapping.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/mindMapping.png"
+                  alt
+                />
                 <div style="margin: 5px 0">思维导图</div>
               </div>
               <div class="check">
@@ -7841,7 +7873,10 @@
               @click="addTools2(18)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/thirdToolList/trainPlatform.png" alt />
+                <img
+                  src="../../assets/icon/thirdToolList/trainPlatform.png"
+                  alt
+                />
                 <div style="margin: 5px 0">训练平台</div>
               </div>
               <div class="check">
@@ -7984,7 +8019,10 @@
               @click="addTools2(28)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/translation.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/translation.png"
+                  alt
+                />
                 <div style="margin: 5px 0">翻译</div>
               </div>
               <div class="check">
@@ -8001,7 +8039,10 @@
               @click="addTools2(31)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/networkPanel.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/networkPanel.png"
+                  alt
+                />
                 <div style="margin: 5px 0">数字画板</div>
               </div>
               <div class="check">
@@ -8035,7 +8076,10 @@
               @click="addTools2(66)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/formulaEdi.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/formulaEdi.png"
+                  alt
+                />
                 <div style="margin: 5px 0">公式编辑</div>
               </div>
               <div class="check">
@@ -8081,7 +8125,10 @@
               @click="addTools2(26)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/thirdToolList/courseDesign.png" alt />
+                <img
+                  src="../../assets/icon/thirdToolList/courseDesign.png"
+                  alt
+                />
                 <div style="margin: 5px 0">课程设计</div>
               </div>
               <div class="check">
@@ -11060,20 +11107,6 @@
         </div>
       </div>
     </el-dialog>
-    <el-dialog
-      title="提示"
-      :visible.sync="downDialogVisible"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div style="font-size: 18px;">是否导出作业?</div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="downDialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="uploadWorks">确 定</el-button>
-      </span>
-    </el-dialog>
   </div>
 </template>
 
@@ -11351,8 +11384,6 @@ export default {
       dialogVisibleChoiceTeacher: false,
       answerDialogVisible: false,
       answerDialogVisibleTeacher: false,
-      downDialogVisible: false,
-      tipsIndex: 0,
       juriVisible: false,
       timeDialogVisible: false,
       replyDialogVisible: false,
@@ -18049,97 +18080,104 @@ export default {
       this.wordCloudData = array;
       this.dialogVisibleWordCloud = true;
     },
-    openTips(i){
+    openTips(i) {
       this.tipsIndex = i;
       this.downDialogVisible = true;
     },
     uploadWorks() {
-      this.downDialogVisible = false;
-      const loading = this.$loading.service({
-        background: "rgba(255, 255, 255, 0.7)",
-        target: document.body,
-        text: "文件加载中...",
-      });
-      const _worksStudent = this.worksStudent;
-      let url = [];
-      var counts = {};
-      for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
-        var item = _worksStudent[this.tipsIndex][l];
-        var name = item.sName;
-        if (!counts.hasOwnProperty(name)) {
-          counts[name] = 0;
-        } else {
-          counts[name]++;
-        }
-        if (counts[name] > 0) {
-          item.sName += " (" + counts[name] + ")";
-        }
-      }
-      for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
-        var item = _worksStudent[this.tipsIndex][l];
-        if (
-          item.works.indexOf(
-            "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
-          ) !== -1 &&
-          item.works.indexOf("img") === -1
-        ) {
-          url.push({ name: item.sName, url: item.works });
-        }
-      }
-      // var toolList = [
-      //   { name: "电子白板", tool: 1 },
-      //   { name: "思维导图", tool: 3 },
-      //   { name: "协同文档", tool: 6 },
-      //   { name: "思维网格", tool: 7 },
-      //   { name: "素材库", tool: 8 },
-      //   { name: "学习资料", tool: 17 },
-      //   { name: "便签", tool: 2 },
-      //   { name: "问卷调查", tool: 4 },
-      //   { name: "选择题", tool: 45 },
-      //   { name: "倒计时", tool: 10 },
-      //   { name: "问答", tool: 15 },
-      //   { name: "课程设计", tool: 26 },
-      //   { name: "训练服务器", tool: 18 },
-      //   { name: "作业提交", tool: 16 },
-      //   { name: "批量上传", tool: 50 },
-      //   { name: "AIoT Blockly", tool: 21 },
-      //   { name: "AI Python", tool: 23 },
-      //   { name: "AI Blockly", tool: 24 },
-      //   { name: "目标管理", tool: 25 },
-      //   { name: "数学画板", tool: 31 },
-      //   { name: "翻译", tool: 28 },
-      //   { name: "魔盒识字", tool: 37 },
-      //   { name: "数学画板", tool: 31 },
-      //   { name: "24点", tool: 38 },
-      //   { name: "GeoGebra", tool: 39 },
-      //   { name: "源码编辑", tool: 32 },
-      //   { name: "个人评价", tool: 40 },
-      //   { name: "选择匹配", tool: 41 },
-      //   { name: "汉字宫", tool: 44 },
-      //   { name: "排序", tool: 47 },
-      //   { name: "表格", tool: 48 },
-      //   { name: "文档", tool: 52 },
-      //   { name: "学生分组", tool: 49 },
-      //   { name: "CocoPi", tool: 57 },
-      //   { name: "模拟驾驶", tool: 58 },
-      //   { name: "路径搜索", tool: 59 },
-      //   { name: "深度学习", tool: 60 },
-      //   { name: "全历史", tool: 61 },
-      //   { name: "交互视频", tool: 62 },
-      //   { name: "海龟编程", tool: 63 },
-      //   { name: "挑人", tool: 65 },
-      //   { name: "公式编辑", tool: 66 },
-      //   { name: "分子结构", tool: 67 },
-      //   { name: "时间轴", tool: 68 },
-      // ];
-      // var toolName = "";
-      // for(var w = 0;w<toolList.length;w++){
-      //   if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
-      //     toolName = toolList[w].name;
-      //   }
-      // }
-      console.log(url);
-      this.downLoadAll(url, loading);
+      this.$confirm("确定导出作业吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          const loading = this.$loading.service({
+            background: "rgba(255, 255, 255, 0.7)",
+            target: document.body,
+            text: "文件加载中...",
+          });
+          const _worksStudent = this.worksStudent;
+          let url = [];
+          var counts = {};
+          for (var l = 0; l < _worksStudent[i].length; l++) {
+            var item = _worksStudent[i][l];
+            var name = item.sName;
+            if (!counts.hasOwnProperty(name)) {
+              counts[name] = 0;
+            } else {
+              counts[name]++;
+            }
+            if (counts[name] > 0) {
+              item.sName += " (" + counts[name] + ")";
+            }
+          }
+          for (var l = 0; l < _worksStudent[i].length; l++) {
+            var item = _worksStudent[i][l];
+            if (
+              item.works.indexOf(
+                "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
+              ) !== -1 &&
+              item.works.indexOf("img") === -1
+            ) {
+              url.push({ name: item.sName, url: item.works });
+            }
+          }
+          // var toolList = [
+          //   { name: "电子白板", tool: 1 },
+          //   { name: "思维导图", tool: 3 },
+          //   { name: "协同文档", tool: 6 },
+          //   { name: "思维网格", tool: 7 },
+          //   { name: "素材库", tool: 8 },
+          //   { name: "学习资料", tool: 17 },
+          //   { name: "便签", tool: 2 },
+          //   { name: "问卷调查", tool: 4 },
+          //   { name: "选择题", tool: 45 },
+          //   { name: "倒计时", tool: 10 },
+          //   { name: "问答", tool: 15 },
+          //   { name: "课程设计", tool: 26 },
+          //   { name: "训练服务器", tool: 18 },
+          //   { name: "作业提交", tool: 16 },
+          //   { name: "批量上传", tool: 50 },
+          //   { name: "AIoT Blockly", tool: 21 },
+          //   { name: "AI Python", tool: 23 },
+          //   { name: "AI Blockly", tool: 24 },
+          //   { name: "目标管理", tool: 25 },
+          //   { name: "数学画板", tool: 31 },
+          //   { name: "翻译", tool: 28 },
+          //   { name: "魔盒识字", tool: 37 },
+          //   { name: "数学画板", tool: 31 },
+          //   { name: "24点", tool: 38 },
+          //   { name: "GeoGebra", tool: 39 },
+          //   { name: "源码编辑", tool: 32 },
+          //   { name: "个人评价", tool: 40 },
+          //   { name: "选择匹配", tool: 41 },
+          //   { name: "汉字宫", tool: 44 },
+          //   { name: "排序", tool: 47 },
+          //   { name: "表格", tool: 48 },
+          //   { name: "文档", tool: 52 },
+          //   { name: "学生分组", tool: 49 },
+          //   { name: "CocoPi", tool: 57 },
+          //   { name: "模拟驾驶", tool: 58 },
+          //   { name: "路径搜索", tool: 59 },
+          //   { name: "深度学习", tool: 60 },
+          //   { name: "全历史", tool: 61 },
+          //   { name: "交互视频", tool: 62 },
+          //   { name: "海龟编程", tool: 63 },
+          //   { name: "挑人", tool: 65 },
+          //   { name: "公式编辑", tool: 66 },
+          //   { name: "分子结构", tool: 67 },
+          //   { name: "时间轴", tool: 68 },
+          // ];
+          // var toolName = "";
+          // for(var w = 0;w<toolList.length;w++){
+          //   if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
+          //     toolName = toolList[w].name;
+          //   }
+          // }
+          console.log(url);
+          this.downLoadAll(url, loading);
+        })
+        .catch(() => {});
     },
     downLoadAll(url, loading) {
       const data = url; // 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径
@@ -18150,7 +18188,10 @@ export default {
         const promise = getFile(item.url).then((data) => {
           if (data.data != 1) {
             // 下载文件, 并存成ArrayBuffer对象
-            const file_name = item.name + "." + item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
+            const file_name =
+              item.name +
+              "." +
+              item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
             zip.file(file_name, data.data, { binary: true }); // 逐个添加文件
             cache[file_name] = data.data;
           }
@@ -18160,7 +18201,10 @@ export default {
       Promise.all(promises).then(() => {
         zip.generateAsync({ type: "blob" }).then((content) => {
           // 生成二进制流
-          FileSaver.saveAs(content, this.courseDetail.title + "-" + "作业提交工具.zip"); // 利用file-saver保存文件  自定义文件名
+          FileSaver.saveAs(
+            content,
+            this.courseDetail.title + "-" + "作业提交工具.zip"
+          ); // 利用file-saver保存文件  自定义文件名
           setTimeout(() => {
             loading.close();
           }, 2000);

+ 152 - 128
src/components/easy3/studyStudent.vue

@@ -10,7 +10,7 @@
         box-sizing: border-box;
       "
     >
-    <div class="btnAllNT">
+      <div class="btnAllNT">
         <!-- <img src="../../assets/icon/learn/screen.png" @click="allScrell" /> -->
         <img
           src="../../assets/icon/learn/addTool.png"
@@ -171,9 +171,7 @@
                       :class="{
                         isGjCss: t.isTool,
                       }"
-                      @click="
-                        jumpGj(courseType, navIndex, toolIndex2, nav.id)
-                      "
+                      @click="jumpGj(courseType, navIndex, toolIndex2, nav.id)"
                     >
                       <div>工具{{ toolIndex2 + 1 }}:</div>
                       <div v-if="t.tool == 58">模拟驾驶</div>
@@ -242,19 +240,27 @@
           <div class="btnAll">
             <div class="btnLeft">
               <el-tooltip effect="light" content="刷新" placement="top">
-                <div class="reBtnIcon" @click="refreshCourse"><span>刷新</span></div>
+                <div class="reBtnIcon" @click="refreshCourse">
+                  <span>刷新</span>
+                </div>
               </el-tooltip>
               <el-tooltip effect="light" content="评论" placement="top">
-                <div class="commentIcon" @click="setPz" v-if="tType == 1"><span>评论</span></div>
+                <div class="commentIcon" @click="setPz" v-if="tType == 1">
+                  <span>评论</span>
+                </div>
               </el-tooltip>
               <div v-if="!videoStart && (tType == 1 || tType == 4)">
                 <el-tooltip effect="light" content="录制" placement="top">
-                  <div class="vedioIcon" @click="startRecording"><span>录制</span></div>
+                  <div class="vedioIcon" @click="startRecording">
+                    <span>录制</span>
+                  </div>
                 </el-tooltip>
               </div>
               <div v-else-if="tType == 1 || tType == 4">
                 <el-tooltip effect="light" content="下载" placement="top">
-                  <div class="vedioIcon1" @click="stopRecording"><span>下载</span></div>
+                  <div class="vedioIcon1" @click="stopRecording">
+                    <span>下载</span>
+                  </div>
                 </el-tooltip>
               </div>
             </div>
@@ -1315,9 +1321,11 @@
                     >
                     <el-button
                       type="primary"
-                      v-if="tool.tool[0] == 16 && worksStudent[toolIndex].length > 0"
+                      v-if="
+                        tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
+                      "
                       style="position: absolute; right: 30px; top: 30px"
-                      @click="openTips(toolIndex)"
+                      @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                     >
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
@@ -7710,7 +7718,10 @@
               @click="addTools2(7)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/mindNetwork.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/mindNetwork.png"
+                  alt
+                />
                 <div style="margin: 5px 0">思维网格</div>
               </div>
               <div class="check">
@@ -7727,7 +7738,10 @@
               @click="addTools2(1)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/whiteBoard.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/whiteBoard.png"
+                  alt
+                />
                 <div style="margin: 5px 0">电子白板</div>
               </div>
               <div class="check">
@@ -7761,7 +7775,10 @@
               @click="addTools2(3)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/mindMapping.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/mindMapping.png"
+                  alt
+                />
                 <div style="margin: 5px 0">思维导图</div>
               </div>
               <div class="check">
@@ -7843,7 +7860,10 @@
               @click="addTools2(18)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/thirdToolList/trainPlatform.png" alt />
+                <img
+                  src="../../assets/icon/thirdToolList/trainPlatform.png"
+                  alt
+                />
                 <div style="margin: 5px 0">训练平台</div>
               </div>
               <div class="check">
@@ -7986,7 +8006,10 @@
               @click="addTools2(28)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/translation.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/translation.png"
+                  alt
+                />
                 <div style="margin: 5px 0">翻译</div>
               </div>
               <div class="check">
@@ -8003,7 +8026,10 @@
               @click="addTools2(31)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/networkPanel.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/networkPanel.png"
+                  alt
+                />
                 <div style="margin: 5px 0">数字画板</div>
               </div>
               <div class="check">
@@ -8037,7 +8063,10 @@
               @click="addTools2(66)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/secondToolList/formulaEdi.png" alt />
+                <img
+                  src="../../assets/icon/secondToolList/formulaEdi.png"
+                  alt
+                />
                 <div style="margin: 5px 0">公式编辑</div>
               </div>
               <div class="check">
@@ -8083,7 +8112,10 @@
               @click="addTools2(26)"
             >
               <div class="whiteBIcon">
-                <img src="../../assets/icon/thirdToolList/courseDesign.png" alt />
+                <img
+                  src="../../assets/icon/thirdToolList/courseDesign.png"
+                  alt
+                />
                 <div style="margin: 5px 0">课程设计</div>
               </div>
               <div class="check">
@@ -11062,20 +11094,6 @@
         </div>
       </div>
     </el-dialog>
-    <el-dialog
-      title="提示"
-      :visible.sync="downDialogVisible"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div style="font-size: 18px;">是否导出作业?</div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="downDialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="uploadWorks">确 定</el-button>
-      </span>
-    </el-dialog>
   </div>
 </template>
 
@@ -11353,8 +11371,6 @@ export default {
       dialogVisibleChoiceTeacher: false,
       answerDialogVisible: false,
       answerDialogVisibleTeacher: false,
-      downDialogVisible: false,
-      tipsIndex: 0,
       juriVisible: false,
       timeDialogVisible: false,
       replyDialogVisible: false,
@@ -18054,97 +18070,100 @@ export default {
       this.wordCloudData = array;
       this.dialogVisibleWordCloud = true;
     },
-    openTips(i){
-      this.tipsIndex = i;
-      this.downDialogVisible = true;
-    },
-    uploadWorks() {
-      this.downDialogVisible = false;
-      const loading = this.$loading.service({
-        background: "rgba(255, 255, 255, 0.7)",
-        target: document.body,
-        text: "文件加载中...",
-      });
-      const _worksStudent = this.worksStudent;
-      let url = [];
-      var counts = {};
-      for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
-        var item = _worksStudent[this.tipsIndex][l];
-        var name = item.sName;
-        if (!counts.hasOwnProperty(name)) {
-          counts[name] = 0;
-        } else {
-          counts[name]++;
-        }
-        if (counts[name] > 0) {
-          item.sName += " (" + counts[name] + ")";
-        }
-      }
-      for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
-        var item = _worksStudent[this.tipsIndex][l];
-        if (
-          item.works.indexOf(
-            "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
-          ) !== -1 &&
-          item.works.indexOf("img") === -1
-        ) {
-          url.push({ name: item.sName, url: item.works });
-        }
-      }
-      // var toolList = [
-      //   { name: "电子白板", tool: 1 },
-      //   { name: "思维导图", tool: 3 },
-      //   { name: "协同文档", tool: 6 },
-      //   { name: "思维网格", tool: 7 },
-      //   { name: "素材库", tool: 8 },
-      //   { name: "学习资料", tool: 17 },
-      //   { name: "便签", tool: 2 },
-      //   { name: "问卷调查", tool: 4 },
-      //   { name: "选择题", tool: 45 },
-      //   { name: "倒计时", tool: 10 },
-      //   { name: "问答", tool: 15 },
-      //   { name: "课程设计", tool: 26 },
-      //   { name: "训练服务器", tool: 18 },
-      //   { name: "作业提交", tool: 16 },
-      //   { name: "批量上传", tool: 50 },
-      //   { name: "AIoT Blockly", tool: 21 },
-      //   { name: "AI Python", tool: 23 },
-      //   { name: "AI Blockly", tool: 24 },
-      //   { name: "目标管理", tool: 25 },
-      //   { name: "数学画板", tool: 31 },
-      //   { name: "翻译", tool: 28 },
-      //   { name: "魔盒识字", tool: 37 },
-      //   { name: "数学画板", tool: 31 },
-      //   { name: "24点", tool: 38 },
-      //   { name: "GeoGebra", tool: 39 },
-      //   { name: "源码编辑", tool: 32 },
-      //   { name: "个人评价", tool: 40 },
-      //   { name: "选择匹配", tool: 41 },
-      //   { name: "汉字宫", tool: 44 },
-      //   { name: "排序", tool: 47 },
-      //   { name: "表格", tool: 48 },
-      //   { name: "文档", tool: 52 },
-      //   { name: "学生分组", tool: 49 },
-      //   { name: "CocoPi", tool: 57 },
-      //   { name: "模拟驾驶", tool: 58 },
-      //   { name: "路径搜索", tool: 59 },
-      //   { name: "深度学习", tool: 60 },
-      //   { name: "全历史", tool: 61 },
-      //   { name: "交互视频", tool: 62 },
-      //   { name: "海龟编程", tool: 63 },
-      //   { name: "挑人", tool: 65 },
-      //   { name: "公式编辑", tool: 66 },
-      //   { name: "分子结构", tool: 67 },
-      //   { name: "时间轴", tool: 68 },
-      // ];
-      // var toolName = "";
-      // for(var w = 0;w<toolList.length;w++){
-      //   if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
-      //     toolName = toolList[w].name;
-      //   }
-      // }
-      console.log(url);
-      this.downLoadAll(url, loading);
+    uploadWorks(i) {
+      this.$confirm("确定导出作业吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          const loading = this.$loading.service({
+            background: "rgba(255, 255, 255, 0.7)",
+            target: document.body,
+            text: "文件加载中...",
+          });
+          const _worksStudent = this.worksStudent;
+          let url = [];
+          var counts = {};
+          for (var l = 0; l < _worksStudent[i].length; l++) {
+            var item = _worksStudent[i][l];
+            var name = item.sName;
+            if (!counts.hasOwnProperty(name)) {
+              counts[name] = 0;
+            } else {
+              counts[name]++;
+            }
+            if (counts[name] > 0) {
+              item.sName += " (" + counts[name] + ")";
+            }
+          }
+          for (var l = 0; l < _worksStudent[i].length; l++) {
+            var item = _worksStudent[i][l];
+            if (
+              item.works.indexOf(
+                "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
+              ) !== -1 &&
+              item.works.indexOf("img") === -1
+            ) {
+              url.push({ name: item.sName, url: item.works });
+            }
+          }
+          // var toolList = [
+          //   { name: "电子白板", tool: 1 },
+          //   { name: "思维导图", tool: 3 },
+          //   { name: "协同文档", tool: 6 },
+          //   { name: "思维网格", tool: 7 },
+          //   { name: "素材库", tool: 8 },
+          //   { name: "学习资料", tool: 17 },
+          //   { name: "便签", tool: 2 },
+          //   { name: "问卷调查", tool: 4 },
+          //   { name: "选择题", tool: 45 },
+          //   { name: "倒计时", tool: 10 },
+          //   { name: "问答", tool: 15 },
+          //   { name: "课程设计", tool: 26 },
+          //   { name: "训练服务器", tool: 18 },
+          //   { name: "作业提交", tool: 16 },
+          //   { name: "批量上传", tool: 50 },
+          //   { name: "AIoT Blockly", tool: 21 },
+          //   { name: "AI Python", tool: 23 },
+          //   { name: "AI Blockly", tool: 24 },
+          //   { name: "目标管理", tool: 25 },
+          //   { name: "数学画板", tool: 31 },
+          //   { name: "翻译", tool: 28 },
+          //   { name: "魔盒识字", tool: 37 },
+          //   { name: "数学画板", tool: 31 },
+          //   { name: "24点", tool: 38 },
+          //   { name: "GeoGebra", tool: 39 },
+          //   { name: "源码编辑", tool: 32 },
+          //   { name: "个人评价", tool: 40 },
+          //   { name: "选择匹配", tool: 41 },
+          //   { name: "汉字宫", tool: 44 },
+          //   { name: "排序", tool: 47 },
+          //   { name: "表格", tool: 48 },
+          //   { name: "文档", tool: 52 },
+          //   { name: "学生分组", tool: 49 },
+          //   { name: "CocoPi", tool: 57 },
+          //   { name: "模拟驾驶", tool: 58 },
+          //   { name: "路径搜索", tool: 59 },
+          //   { name: "深度学习", tool: 60 },
+          //   { name: "全历史", tool: 61 },
+          //   { name: "交互视频", tool: 62 },
+          //   { name: "海龟编程", tool: 63 },
+          //   { name: "挑人", tool: 65 },
+          //   { name: "公式编辑", tool: 66 },
+          //   { name: "分子结构", tool: 67 },
+          //   { name: "时间轴", tool: 68 },
+          // ];
+          // var toolName = "";
+          // for(var w = 0;w<toolList.length;w++){
+          //   if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
+          //     toolName = toolList[w].name;
+          //   }
+          // }
+          console.log(url);
+          this.downLoadAll(url, loading);
+        })
+        .catch(() => {});
     },
     downLoadAll(url, loading) {
       const data = url; // 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径
@@ -18155,7 +18174,10 @@ export default {
         const promise = getFile(item.url).then((data) => {
           if (data.data != 1) {
             // 下载文件, 并存成ArrayBuffer对象
-            const file_name = item.name + "." + item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
+            const file_name =
+              item.name +
+              "." +
+              item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
             zip.file(file_name, data.data, { binary: true }); // 逐个添加文件
             cache[file_name] = data.data;
           }
@@ -18165,7 +18187,10 @@ export default {
       Promise.all(promises).then(() => {
         zip.generateAsync({ type: "blob" }).then((content) => {
           // 生成二进制流
-          FileSaver.saveAs(content, this.courseDetail.title + "-" + "作业提交工具.zip"); // 利用file-saver保存文件  自定义文件名
+          FileSaver.saveAs(
+            content,
+            this.courseDetail.title + "-" + "作业提交工具.zip"
+          ); // 利用file-saver保存文件  自定义文件名
           setTimeout(() => {
             loading.close();
           }, 2000);
@@ -19025,7 +19050,6 @@ export default {
   background-image: url("../../assets/icon/newIcons/transcribe.png");
 }
 
-
 .tool {
   display: flex;
   flex-direction: column;

+ 118 - 115
src/components/studyStudent.vue

@@ -249,19 +249,27 @@
           <div class="btnAll">
             <div class="btnLeft">
               <el-tooltip effect="light" content="刷新" placement="top">
-                <div class="reBtnIcon" @click="refreshCourse"><span>刷新</span></div>
+                <div class="reBtnIcon" @click="refreshCourse">
+                  <span>刷新</span>
+                </div>
               </el-tooltip>
               <el-tooltip effect="light" content="评论" placement="top">
-                <div class="commentIcon" @click="setPz" v-if="tType == 1"><span>评论</span></div>
+                <div class="commentIcon" @click="setPz" v-if="tType == 1">
+                  <span>评论</span>
+                </div>
               </el-tooltip>
               <div v-if="!videoStart && (tType == 1 || tType == 4)">
                 <el-tooltip effect="light" content="录制" placement="top">
-                  <div class="vedioIcon" @click="startRecording"><span>录制</span></div>
+                  <div class="vedioIcon" @click="startRecording">
+                    <span>录制</span>
+                  </div>
                 </el-tooltip>
               </div>
               <div v-else-if="tType == 1 || tType == 4">
                 <el-tooltip effect="light" content="下载" placement="top">
-                  <div class="vedioIcon1" @click="stopRecording"><span>下载</span></div>
+                  <div class="vedioIcon1" @click="stopRecording">
+                    <span>下载</span>
+                  </div>
                 </el-tooltip>
               </div>
             </div>
@@ -1320,9 +1328,11 @@
                     >
                     <el-button
                       type="primary"
-                      v-if="tool.tool[0] == 16 && worksStudent[toolIndex].length > 0"
+                      v-if="
+                        tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
+                      "
                       style="position: absolute; right: 30px; top: 30px"
-                      @click="openTips(toolIndex)"
+                      @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                     >
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
@@ -11067,20 +11077,6 @@
         </div>
       </div>
     </el-dialog>
-    <el-dialog
-      title="提示"
-      :visible.sync="downDialogVisible"
-      width="500px"
-      :before-close="handleClose"
-      class="dialog_diy"
-      center
-    >
-      <div style="font-size: 18px;">是否导出作业?</div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="downDialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="uploadWorks">确 定</el-button>
-      </span>
-    </el-dialog>
   </div>
 </template>
 
@@ -11358,8 +11354,6 @@ export default {
       dialogVisibleChoiceTeacher: false,
       answerDialogVisible: false,
       answerDialogVisibleTeacher: false,
-      downDialogVisible: false,
-      tipsIndex: 0,
       juriVisible: false,
       timeDialogVisible: false,
       replyDialogVisible: false,
@@ -18056,97 +18050,100 @@ export default {
       this.wordCloudData = array;
       this.dialogVisibleWordCloud = true;
     },
-    openTips(i){
-      this.tipsIndex = i;
-      this.downDialogVisible = true;
-    },
-    uploadWorks() {
-      this.downDialogVisible = false;
-      const loading = this.$loading.service({
-        background: "rgba(255, 255, 255, 0.7)",
-        target: document.body,
-        text: "文件加载中...",
-      });
-      const _worksStudent = this.worksStudent;
-      let url = [];
-      var counts = {};
-      for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
-        var item = _worksStudent[this.tipsIndex][l];
-        var name = item.sName;
-        if (!counts.hasOwnProperty(name)) {
-          counts[name] = 0;
-        } else {
-          counts[name]++;
-        }
-        if (counts[name] > 0) {
-          item.sName += " (" + counts[name] + ")";
-        }
-      }
-      for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
-        var item = _worksStudent[this.tipsIndex][l];
-        if (
-          item.works.indexOf(
-            "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
-          ) !== -1 &&
-          item.works.indexOf("img") === -1
-        ) {
-          url.push({ name: item.sName, url: item.works });
-        }
-      }
-      // var toolList = [
-      //   { name: "电子白板", tool: 1 },
-      //   { name: "思维导图", tool: 3 },
-      //   { name: "协同文档", tool: 6 },
-      //   { name: "思维网格", tool: 7 },
-      //   { name: "素材库", tool: 8 },
-      //   { name: "学习资料", tool: 17 },
-      //   { name: "便签", tool: 2 },
-      //   { name: "问卷调查", tool: 4 },
-      //   { name: "选择题", tool: 45 },
-      //   { name: "倒计时", tool: 10 },
-      //   { name: "问答", tool: 15 },
-      //   { name: "课程设计", tool: 26 },
-      //   { name: "训练服务器", tool: 18 },
-      //   { name: "作业提交", tool: 16 },
-      //   { name: "批量上传", tool: 50 },
-      //   { name: "AIoT Blockly", tool: 21 },
-      //   { name: "AI Python", tool: 23 },
-      //   { name: "AI Blockly", tool: 24 },
-      //   { name: "目标管理", tool: 25 },
-      //   { name: "数学画板", tool: 31 },
-      //   { name: "翻译", tool: 28 },
-      //   { name: "魔盒识字", tool: 37 },
-      //   { name: "数学画板", tool: 31 },
-      //   { name: "24点", tool: 38 },
-      //   { name: "GeoGebra", tool: 39 },
-      //   { name: "源码编辑", tool: 32 },
-      //   { name: "个人评价", tool: 40 },
-      //   { name: "选择匹配", tool: 41 },
-      //   { name: "汉字宫", tool: 44 },
-      //   { name: "排序", tool: 47 },
-      //   { name: "表格", tool: 48 },
-      //   { name: "文档", tool: 52 },
-      //   { name: "学生分组", tool: 49 },
-      //   { name: "CocoPi", tool: 57 },
-      //   { name: "模拟驾驶", tool: 58 },
-      //   { name: "路径搜索", tool: 59 },
-      //   { name: "深度学习", tool: 60 },
-      //   { name: "全历史", tool: 61 },
-      //   { name: "交互视频", tool: 62 },
-      //   { name: "海龟编程", tool: 63 },
-      //   { name: "挑人", tool: 65 },
-      //   { name: "公式编辑", tool: 66 },
-      //   { name: "分子结构", tool: 67 },
-      //   { name: "时间轴", tool: 68 },
-      // ];
-      // var toolName = "";
-      // for(var w = 0;w<toolList.length;w++){
-      //   if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
-      //     toolName = toolList[w].name;
-      //   }
-      // }
-      console.log(url);
-      this.downLoadAll(url, loading);
+    uploadWorks(i) {
+      this.$confirm("确定导出作业吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          const loading = this.$loading.service({
+            background: "rgba(255, 255, 255, 0.7)",
+            target: document.body,
+            text: "文件加载中...",
+          });
+          const _worksStudent = this.worksStudent;
+          let url = [];
+          var counts = {};
+          for (var l = 0; l < _worksStudent[i].length; l++) {
+            var item = _worksStudent[i][l];
+            var name = item.sName;
+            if (!counts.hasOwnProperty(name)) {
+              counts[name] = 0;
+            } else {
+              counts[name]++;
+            }
+            if (counts[name] > 0) {
+              item.sName += " (" + counts[name] + ")";
+            }
+          }
+          for (var l = 0; l < _worksStudent[i].length; l++) {
+            var item = _worksStudent[i][l];
+            if (
+              item.works.indexOf(
+                "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
+              ) !== -1 &&
+              item.works.indexOf("img") === -1
+            ) {
+              url.push({ name: item.sName, url: item.works });
+            }
+          }
+          // var toolList = [
+          //   { name: "电子白板", tool: 1 },
+          //   { name: "思维导图", tool: 3 },
+          //   { name: "协同文档", tool: 6 },
+          //   { name: "思维网格", tool: 7 },
+          //   { name: "素材库", tool: 8 },
+          //   { name: "学习资料", tool: 17 },
+          //   { name: "便签", tool: 2 },
+          //   { name: "问卷调查", tool: 4 },
+          //   { name: "选择题", tool: 45 },
+          //   { name: "倒计时", tool: 10 },
+          //   { name: "问答", tool: 15 },
+          //   { name: "课程设计", tool: 26 },
+          //   { name: "训练服务器", tool: 18 },
+          //   { name: "作业提交", tool: 16 },
+          //   { name: "批量上传", tool: 50 },
+          //   { name: "AIoT Blockly", tool: 21 },
+          //   { name: "AI Python", tool: 23 },
+          //   { name: "AI Blockly", tool: 24 },
+          //   { name: "目标管理", tool: 25 },
+          //   { name: "数学画板", tool: 31 },
+          //   { name: "翻译", tool: 28 },
+          //   { name: "魔盒识字", tool: 37 },
+          //   { name: "数学画板", tool: 31 },
+          //   { name: "24点", tool: 38 },
+          //   { name: "GeoGebra", tool: 39 },
+          //   { name: "源码编辑", tool: 32 },
+          //   { name: "个人评价", tool: 40 },
+          //   { name: "选择匹配", tool: 41 },
+          //   { name: "汉字宫", tool: 44 },
+          //   { name: "排序", tool: 47 },
+          //   { name: "表格", tool: 48 },
+          //   { name: "文档", tool: 52 },
+          //   { name: "学生分组", tool: 49 },
+          //   { name: "CocoPi", tool: 57 },
+          //   { name: "模拟驾驶", tool: 58 },
+          //   { name: "路径搜索", tool: 59 },
+          //   { name: "深度学习", tool: 60 },
+          //   { name: "全历史", tool: 61 },
+          //   { name: "交互视频", tool: 62 },
+          //   { name: "海龟编程", tool: 63 },
+          //   { name: "挑人", tool: 65 },
+          //   { name: "公式编辑", tool: 66 },
+          //   { name: "分子结构", tool: 67 },
+          //   { name: "时间轴", tool: 68 },
+          // ];
+          // var toolName = "";
+          // for(var w = 0;w<toolList.length;w++){
+          //   if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
+          //     toolName = toolList[w].name;
+          //   }
+          // }
+          console.log(url);
+          this.downLoadAll(url, loading);
+        })
+        .catch(() => {});
     },
     downLoadAll(url, loading) {
       const data = url; // 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径
@@ -18157,7 +18154,10 @@ export default {
         const promise = getFile(item.url).then((data) => {
           if (data.data != 1) {
             // 下载文件, 并存成ArrayBuffer对象
-            const file_name = item.name + "." + item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
+            const file_name =
+              item.name +
+              "." +
+              item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
             zip.file(file_name, data.data, { binary: true }); // 逐个添加文件
             cache[file_name] = data.data;
           }
@@ -18167,7 +18167,10 @@ export default {
       Promise.all(promises).then(() => {
         zip.generateAsync({ type: "blob" }).then((content) => {
           // 生成二进制流
-          FileSaver.saveAs(content, this.courseDetail.title + "-" + "作业提交工具.zip"); // 利用file-saver保存文件  自定义文件名
+          FileSaver.saveAs(
+            content,
+            this.courseDetail.title + "-" + "作业提交工具.zip"
+          ); // 利用file-saver保存文件  自定义文件名
           setTimeout(() => {
             loading.close();
           }, 2000);

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