Browse Source

Merge branch 'beta' into HK

lsc 1 year ago
parent
commit
b0a9f93334

+ 4 - 0
dist/index.html

@@ -25,10 +25,14 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
+<<<<<<< HEAD
 <<<<<<< HEAD
     }</style><link href=./static/css/app.1d267f2d533f277d0efffa5574ba142f.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.f583576dfec9dfc9a295.js></script><script type=text/javascript src=./static/js/vendor.47326b7cf726c651fd28.js></script><script type=text/javascript src=./static/js/app.8980f49f717794a8ee06.js></script></body></html><script>function stopSafari() {
 =======
     }</style><link href=./static/css/app.d50d70a4bb4d9d4531ad4ed220ff01ab.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.f1661c5ebfd33221b88f.js></script><script type=text/javascript src=./static/js/app.c5195d5813bd2578be8e.js></script></body></html><script>function stopSafari() {
+>>>>>>> beta
+=======
+    }</style><link href=./static/css/app.52923bcee33e94c1941b8af38ab494e0.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.f1661c5ebfd33221b88f.js></script><script type=text/javascript src=./static/js/app.f06415942b497a2c0e9e.js></script></body></html><script>function stopSafari() {
 >>>>>>> beta
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间

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


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


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


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


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


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


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


BIN
src/assets/icon/isWork.png


+ 220 - 31
src/components/pages/CaseDesignS.vue

@@ -29,7 +29,7 @@
             <el-option label="字数" value="font"> </el-option>
           </el-select>
 
-          <el-select v-model="ttype" @change="page=1,isLoading = true, getData()">
+          <el-select v-model="ttype" @change="page = 1, isLoading = true, getData()">
             <el-option label="全部" value=""></el-option>
             <el-option v-for="item in courseTypeId" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
@@ -41,8 +41,8 @@
     </div>
     <div class="cd_table">
       <el-table ref="table" :data="tableData" border :fit="true" v-loading="isLoading" style="width: 100%"
-        :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }" :row-class-name="tableRowClassName"
-        class="table" :height="tableHeight" :key="mode">
+        :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }" :row-class-name="tableRowClassName" class="table"
+        :height="tableHeight" :key="mode">
         <el-table-column label="序号" prop="number" width="70px" align="center">
         </el-table-column>
         <el-table-column label="项目" width="150px" align="center">
@@ -245,7 +245,7 @@
           <template slot-scope="scope">
             <div>{{ scope.row.score ? '已评分' : '未评分' }}</div>
           </template>
-        </el-table-column>        
+        </el-table-column>
         <el-table-column label="评审结果" prop="score" width="80px" align="center">
           <template slot-scope="scope">
             <div>{{ scope.row.score }}分</div>
@@ -253,7 +253,8 @@
         </el-table-column>
         <el-table-column label="评审类型" prop="psType" width="80px" align="center">
           <template slot-scope="scope">
-            <div>{{ scope.row.psType == '1' ? '造型结构' : scope.row.psType == '2' ? '开源硬件' :   scope.row.psType == '3' ? '软件设计' :  scope.row.psType == '4' ? '总分' : '—' }}</div>
+            <div>{{ scope.row.psType == '1' ? '造型结构' : scope.row.psType == '2' ? '开源硬件' : scope.row.psType == '3' ? '软件设计'
+              : scope.row.psType == '4' ? '总分' : '—' }}</div>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" width="180px" align="center">
@@ -269,8 +270,9 @@
         </el-table-column>
       </el-table>
       <div class="student_page">
-        <el-pagination background layout="prev, pager, next, sizes" :page-size="pageSize" :page-sizes="[10, 50, 100, 200]" :total="total"
-          v-if="page && tableData.length" style="padding: 0px" @current-change="handleCurrentChange" @size-change="handleSizeChange"></el-pagination>
+        <el-pagination background layout="prev, pager, next, sizes" :page-size="pageSize" :page-sizes="[10, 50, 100, 200]"
+          :total="total" v-if="page && tableData.length" style="padding: 0px" @current-change="handleCurrentChange"
+          @size-change="handleSizeChange"></el-pagination>
       </div>
     </div>
     <el-dialog title="查看" :visible.sync="dialogVisible" :append-to-body="true" width="620px" :before-close="handleClose"
@@ -348,7 +350,7 @@ export default {
       total: 0,
       page: 1,
       pageSize: 100,
-      tableHeight:"500px",
+      tableHeight: "500px",
     };
   },
   methods: {
@@ -421,12 +423,13 @@ export default {
                 if (_tasks[task].eList) {
                   evalC2 += _tasks[task].eList.length;
                 }
-                if (_tasks[task].toolArray.length > 0) {
+                console.log(_tasks[task].toolArray , i);
+                if (_tasks[task].toolArray && _tasks[task].toolArray.length > 0) {
                   toolC2 += _tasks[task].toolArray.length;
                 }
                 fontC2 += _tasks[task].task.length;
                 fontC2 += this.toText(_tasks[task].taskDetail).length;
-                let _tools = _tasks[task].toolArray;
+                let _tools = _tasks[task].toolArray ? _tasks[task].toolArray : [];
                 for (var tool = 0; tool < _tools.length; tool++) {
                   fontC2 += _tools[tool].toolDetail.length;
                 }
@@ -459,7 +462,7 @@ export default {
             for (var tk = _chapter.length - 1; tk >= 0; tk--) {
               let _tasks = _chapter[tk].chapterInfo[0].taskJson;
               for (var ttask = _tasks.length - 1; ttask >= 0; ttask--) {
-                let _tools = _tasks[ttask].toolArray;
+                let _tools = _tasks[ttask].toolArray ? _tasks[ttask].toolArray : [];
                 if (_tools.length) {
                   _res[i].lastTask = `第${tk + 1}阶段任务${ttask + 1}步骤${_tools.length}`
                   break;
@@ -471,23 +474,23 @@ export default {
                 break;
               }
             }
-            if(_res[i].score){
+            if (_res[i].score) {
               var psJson = JSON.parse(_res[i].score)
-              if(_res[i].psType == '1'){
+              if (_res[i].psType == '1') {
                 _res[i].score = psJson.cxx + psJson.yssm + psJson.jsygn + psJson.kxdy +
                   psJson.zpwcd
-              }else if(_res[i].psType == '2'){
+              } else if (_res[i].psType == '2') {
                 _res[i].score = psJson.cxx + psJson.yssm + psJson.jsygn + psJson.kxdd +
                   psJson.zpwcd
-              }else if(_res[i].psType == '3'){
+              } else if (_res[i].psType == '3') {
                 _res[i].score = psJson.cxx + psJson.yssm + psJson.jsygn + psJson.kxdd +
-                psJson.zpwcd
-              }else if(_res[i].psType == '4'){
+                  psJson.zpwcd
+              } else if (_res[i].psType == '4') {
                 _res[i].score = psJson.z
               }
-              
-              
-            }else{
+
+
+            } else {
               _res[i].score = 0
             }
           }
@@ -525,7 +528,7 @@ export default {
               item.number = index + 1
               return item;
             });;
-          }  else if (this.choose == "font") {
+          } else if (this.choose == "font") {
             let array = _res.sort(function (a, b) {
               //   return a.jdz.fontC - b.jdz.fontC;
               return b.jdz.fontC - a.jdz.fontC;
@@ -618,7 +621,7 @@ export default {
       this.dataArray = a;
       this.dialogVisible = true;
     },
-    changeMode(){
+    changeMode() {
       this.tableHeight =
         window.innerHeight - this.$refs.table.$el.offsetTop - 50;
       if (this.tableHeight <= 530) {
@@ -659,7 +662,7 @@ export default {
         _json["项目所处阶段"] = res[i].lastTask ? res[i].lastTask : '—';
         _json["评审状态"] = res[i].score ? '已评分' : '未评分';
         _json["评审结果"] = res[i].score + '分';
-        _json["评审类型"] = res[i].psType == '1' ? '造型结构' : res[i].psType == '2' ? '开源硬件' :   res[i].psType == '3' ? '软件设计' :  res[i].psType == '4' ? '总分' : '—';
+        _json["评审类型"] = res[i].psType == '1' ? '造型结构' : res[i].psType == '2' ? '开源硬件' : res[i].psType == '3' ? '软件设计' : res[i].psType == '4' ? '总分' : '—';
         array.push(_json);
       }
 
@@ -682,7 +685,7 @@ export default {
         type: "success",
       });
     },
-    async exportHtml(){
+    async exportHtml() {
       let res = this.tableData;
       for (let i = 0; i < res.length; i++) {
         await this.setMan(res[i])
@@ -697,13 +700,13 @@ export default {
       let _time = `<h2>创建时间:${course.ctime} 修改时间:${course.time}</h2>`
       let _type = `<h2>分类:${course.typename}</h2>`
       let _detail = `<h2>项目详情:${course.brief}</h2>`
-      let _jdZ = `<h2>项目阶段数量:${JSON.parse(course.chapters).length} 项目任务任数量:${course.jdz.taskC}</h2>`
+      let _jdZ = `<h2>项目阶段数量:${course.chapters.length} 项目任务任数量:${course.jdz.taskC}</h2>`
       let _lasttask = ''
       if (course.lastTask) {
         _lasttask = `<h2>项目所处阶段:${course.lastTask}</h2>`
       }
 
-      let _chapter = JSON.parse(course.chapters)
+      let _chapter = course.chapters
       let chapterHTML = ''
       for (var i = 0; i < _chapter.length; i++) {
         chapterHTML += `<h2 style="border-top: 1px solid #ddd;padding: 10px 0 0 0;">第${i + 1}阶段-${_chapter[i].dyName}</h2>`
@@ -711,7 +714,7 @@ export default {
         for (var j = 0; j < taskJson.length; j++) {
           chapterHTML += `<h3>任务${j + 1}-${taskJson[j].task}</h3>`
           if (taskJson[j].time && taskJson[j].time.length) {
-            chapterHTML += `<p>任务周期:${taskJson[j].time[0]}至${taskJson[j].time[1]}</p>`
+            chapterHTML += `<p>任务周期:${this.timeB(taskJson[j].time[0])}至${this.timeB(taskJson[j].time[1])}</p>`
           }
           if (taskJson[j].people) {
             chapterHTML += `<p>负责人:${this.getMan(Man, taskJson[j].people)}</p>`
@@ -725,7 +728,7 @@ export default {
           }
           chapterHTML += `<div>任务描述</div>`
           chapterHTML += `<div>${taskJson[j].taskDetail}</div>`
-          let _tool = taskJson[j].toolArray
+          let _tool = taskJson[j].toolArray ? taskJson[j].toolArray : []
           for (var tool = 0; tool < _tool.length; tool++) {
             if (_tool[tool].tool == 1) {
               chapterHTML += `<h4>步骤${tool + 1}:电子白板</h4>`
@@ -747,7 +750,93 @@ export default {
               chapterHTML += `<h4>步骤${tool + 1}:表格</h4>`
             } else if (_tool[tool].tool == 52) {
               chapterHTML += `<h4>步骤${tool + 1}:文档</h4>`
+            } else if (_tool[tool].tool == 51) {
+              chapterHTML += `<h4>步骤${tool + 1}:资源库</h4>`
+            } else if (_tool[tool].tool == 56) {
+              chapterHTML += `<h4>步骤${tool + 1}:投票</h4>`
+            } else if (_tool[tool].tool == 57) {
+              chapterHTML += `<h4>步骤${tool + 1}:CocoPi</h4>`
             }
+
+            if (_tool[tool].tool == 51) {
+              if (_tool[tool].toolData.length) {
+                for (var ti = 0; ti < _tool[tool].toolData.length; ti++) {
+                  let _td = _tool[tool].toolData[ti]
+                  if (_td.type == 2) {
+                    chapterHTML += `<div><span>视频链接:</span><a href='${_td.url}'>${_td.name}</a></div>`
+                  } else if (_td.type == 3) {
+                    chapterHTML += `<div><span>文档链接:</span><a href='${_td.url}'>${_td.name}</a></div>`
+                  } else if (_td.type == 6) {
+                    chapterHTML += `<div>图文标题:${_td.name}</div>`
+                    chapterHTML += `<div class="cont"><span>图文内容:</span>${_td.url}</div>`
+                  } else if (_td.type == 8) {
+                    chapterHTML += `<div><span>链接:</span><a href='${_td.src}'>${_td.title}</a></div>`
+                  }
+                }
+              }
+            } else {
+              if (_tool[tool].toolPhoto.length) {
+                for (var worki = 0; worki < _tool[tool].toolPhoto.length; worki++) {
+                  let photo = _tool[tool].toolPhoto[worki]
+                  if (photo.type == 1) {
+                    chapterHTML += `<div><img style="max-width:500px" src="${photo.content}"/></div>`
+                  } else if (photo.type == 10) {
+                    chapterHTML += `<div class="cont">${JSON.parse(photo.content)}</div>`
+                  } else if (photo.type == 4) {
+                    chapterHTML += `<div><span>文档链接:</span><a href='${photo.content}'>${photo.content}</a></div>`
+                  } else if (photo.type == 5) {
+                    chapterHTML += `<div><span>视频链接:</span><a href='${photo.content}'>${photo.content}</a></div>`
+                  } else if (photo.type == 12) {
+                    chapterHTML += `<div class="cont">${JSON.parse(photo.content)}</div>`
+                  } else if (photo.type == 14) {
+                    var _ask = "";
+                    var _div = document.createElement("div");
+                    _div.innerHTML = `<h4>标题:${_tool[tool].askJson.askTitle}</h4>`;
+                    for (
+                      var j = 0;
+                      j < _tool[tool].askJson.askJson.length;
+                      j++
+                    ) {
+                      let answer = JSON.parse(photo.content)
+                      var _div2 = document.createElement("div");
+                      _div2.innerHTML = `<h5>第${j + 1}题:${_tool[tool].askJson.askJson[j].askstitle
+                        }  选择:${answer &&
+                          answer.length > 0
+                          ? answer[j]
+                          : 1
+                        }</h5> `;
+                      var _div3 = document.createElement("div");
+                      for (
+                        var z = 0;
+                        z <
+                        _tool[tool].askJson.askJson[j].checkList
+                          .length;
+                        z++
+                      ) {
+                        _div3.innerHTML += `<span style="margin-right:5px">${z + 1}.${_tool[tool].askJson.askJson[j].checkList[z]
+                          }</span>`;
+                      }
+                      _div2.innerHTML += `<div>${_div3.innerHTML}</div>`;
+                      _div.innerHTML += `<div>${_div2.innerHTML}</div>`;
+                    }
+                    _ask += `<div>${_div.innerHTML}</div>`;
+                    chapterHTML += _ask
+                  } else if (photo.type == 13) {
+                    chapterHTML += `<div><span>文件链接:</span><a href='${photo.content}'>${photo.content}</a></div>`
+                  }
+                  // <img v-if="photo.type == 1" :src="photo.content" @click="previewImg(photo.content)" />
+                  //         <img v-if="photo.type == 10" :src="word" @click="openTable(photo.content)" />
+                  //         <img v-if="photo.type == 4" :src="word" @click="openFile(photo.content)" />
+                  //         <img v-if="photo.type == 5" :src="video" @click="openVideo(photo.content)" />
+                  //         <img v-if="photo.type == 12" :src="word" @click="openText(photo.content)" />
+                  //         <img v-if="photo.type == 14" :src="word" @click="
+                  //           openAsk(photo.content, taskCount, toolIndex)
+                  //         " />
+                  //         <img v-if="photo.type == 13" :src="zip" @click="downloadFile(photo.content)" />
+                }
+              }
+            }
+
             if (_tool[tool].toolDetail) {
               chapterHTML += `<div>工具描述</div>`
               chapterHTML += `<div>${_tool[tool].toolDetail}</div>`
@@ -771,8 +860,8 @@ export default {
       }
       return _people ? _people : "";
     },
-    async setMan(course) {
-      // let teacherJuri = this.teacherJuri2;
+    async setMan(ccourse) {
+      let course = JSON.parse(JSON.stringify(ccourse));
       this.ManAarray = [];
       let array = course.course_teacher.split(",")
       if (array.indexOf(course.userid) == -1) {
@@ -782,6 +871,42 @@ export default {
         uid: array.join(","),
       };
       const res = await this.ajax.get(this.$store.state.api + "getAllUserById", params)
+      let params2 = {
+        cid: course.courseId,
+      }
+      const res2 = await this.ajax.get(this.$store.state.api + "select_student_course_detail", params2)
+      let unitJson = JSON.parse(course.chapters);
+      let works = res2.data[2];
+      for (var i = 0; i < unitJson.length; i++) {
+        let task = unitJson[i].chapterInfo[0].taskJson;
+        for (var j = 0; j < task.length; j++) {
+          var tool = task[j].toolArray ? task[j].toolArray : [];
+          for (var z = 0; z < tool.length; z++) {
+            let _tool = tool[z];
+            _tool.toolPhoto = [];
+            _tool.people = [];
+            for (var k = 0; k < works.length; k++) {
+              let _work = works[k];
+              if (
+                _work.stage == i &&
+                _work.task == j &&
+                _work.tool == z &&
+                _work.atool == _tool.tool
+              ) {
+                if (_tool.tool == 48 || _tool.tool == 52) {
+                  _tool.toolPhoto[0] = _work;
+                  if (_tool.people.indexOf(_work.username) == -1) {
+                    _tool.people.push(_work.username);
+                  }
+                } else {
+                  _tool.toolPhoto.push(_work);
+                }
+              }
+            }
+          }
+        }
+      }
+      course.chapters = unitJson
       this.exportCourse(course, res.data[0])
     },
     async generate(a, html) {
@@ -794,6 +919,64 @@ export default {
           <meta http-equiv="X-UA-Compatible" content="IE=edge">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <title>报告</title>
+          <style>
+          .cont{
+            word-break: break-all;
+          }
+          .cont table {
+              border-top: 1px solid #ccc;
+              border-left: 1px solid #ccc;
+            }
+
+            .cont table td,
+            .cont table th {
+              border-bottom: 1px solid #ccc;
+              border-right: 1px solid #ccc;
+              /* padding: 20px 5px; */
+              padding: 5px 10px;
+              max-width: 0px;
+              height: 30px;
+              vertical-align: baseline;
+            }
+
+            .cont table th {
+              border-bottom: 2px solid #ccc;
+              text-align: center;
+            }
+
+            /* blockquote 样式 */
+            .cont blockquote {
+              display: block;
+              border-left: 8px solid #d0e5f2;
+              padding: 5px 10px;
+              margin: 10px 0;
+              line-height: 1.4;
+              font-size: 100%;
+              background-color: #f1f1f1;
+            }
+
+            /* code 样式 */
+            .cont code {
+              display: inline-block;
+              *display: inline;
+              *zoom: 1;
+              background-color: #f1f1f1;
+              border-radius: 3px;
+              padding: 3px 5px;
+              margin: 0 3px;
+            }
+
+            .cont pre code {
+              display: block;
+            }
+
+            /* ul ol 样式 */
+            .cont ul,
+            .cont ol {
+              margin: 10px 0 10px 20px;
+            }
+
+          </style>
       </head>
       <body>
       ${this.$store.state.report}
@@ -823,6 +1006,13 @@ export default {
       //   "报告.doc"
       // );
     },
+    timeB(timeA) {
+      var time = new Date(timeA);
+      time.setTime(time.getTime());
+      var s2 = time.getFullYear() + "-" + ((time.getMonth() + 1) < 10 ? '0' + (time.getMonth() + 1) : (time.getMonth() + 1)) + "-"
+        + ((time.getDate()) < 10 ? '0' + (time.getDate()) : (time.getDate()));
+      return time.getFullYear() ? s2 : '无'
+    },
   },
   beforeDestroy() {
     clearInterval(this.timer);
@@ -1030,5 +1220,4 @@ export default {
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical
 }
-
 </style>

+ 21 - 2
src/components/pages/addCourse.vue

@@ -664,6 +664,7 @@
                               <div v-if="item1.type == 2" class="chapter_upload_l_i1"></div>
                               <div v-if="item1.type == 3 ||
                                 item1.type == 12 ||
+                                item1.type == 13 ||
                                 item1.type == 6 ||
                                 item1.type == 7
                                 " class="chapter_upload_l_i5" style="margin-left: 1px"></div>
@@ -692,6 +693,7 @@
                               <input v-if="item1.type == 2 ||
                                 item1.type == 3 ||
                                 item1.type == 12 ||
+                                item1.type == 13 ||
                                 item1.type == 7
                                 " :placeholder="item1.name" @change="updataVideoT(
     $event,
@@ -753,7 +755,7 @@
                     <div class="add_info_box">
                       <button class="info_btn" @click="addImg($event)">
                             添加文件
-                            <input type="file" accept="*" style="display: none" v-if="inputShow" @change="beforeUpload2($event, unitIndex, 13, 0)
+                            <input type="file" accept="*" style="display: none" v-if="inputShow" @change="beforeUpload2($event, unitIndex, 13, itemTaskIndex)
                               " />
                           </button>
                       <!-- <button class="info_btn" @click="addImg($event)">
@@ -4354,6 +4356,17 @@ export default {
             } else {
               if (type == 13) {
                 let _type = 2
+                var imgA = [
+                  "png",
+                  "jpg",
+                  "jpeg",
+                  "bmp",
+                  "gif",
+                  "webp",
+                  "psd",
+                  "svg",
+                  "tiff",
+                ]
                 var fileA = [
                   "PDF",
                   "DOC",
@@ -4415,7 +4428,13 @@ export default {
                   [data.Location.split(".").length - 1].toLocaleUpperCase()
                 ) != -1) {
                   _type = 2
-                } else {
+                } else if (imgA.indexOf(
+                  data.Location
+                    .split(".")
+                  [data.Location.split(".").length - 1].toLocaleLowerCase()
+                ) != -1) {
+                  _type = 13
+                }else {
                   _type = 12
                 }
                 _this.unitJson[unitIndex].chapterInfo[0].taskJson[

+ 48 - 12
src/components/pages/components/classStudentComponents/worksDetail3.vue

@@ -39,7 +39,7 @@
                 >
                   <div
                     class="navTask"
-                    @click="openTask(dy.id, nav.id)"
+                    @click="openTask(dy.id, nav.id, dyIndex, navIndex)"
                     :class="{
                       openTaskActive:
                         nav.id == taskCount &&
@@ -59,6 +59,12 @@
                     >
                       任务{{ navIndex + 1 }}
                     </div>
+                    <div
+                      class="isWorkCss"
+                      v-if="nav.isWork && nav.isWork == true"
+                    >
+                      <img src="../../../../assets/icon/isWork.png" alt="" />
+                    </div>
                     <el-tooltip
                       class="navTaskname item"
                       effect="light"
@@ -2164,7 +2170,22 @@ export default {
           //     _dyList2[_stage].taskList;
           // }
           for (var dc = 0; dc < _dyList.length; dc++) {
-            _dyList[dc].isOpen = dc === 0 ? true : false;
+            // _dyList[dc].isOpen = dc === 0 ? true : false;
+            _dyList[dc].isOpen = true;
+          }
+
+          for (var i = 0; i < result.length; i++) {
+            for (var j = 0; j < _dyList.length; j++) {
+              var sta = result[i].stagetask.split("-")[0];
+              var ta = result[i].stagetask.split("-")[1];
+              if (sta == _dyList[j].id) {
+                for (var z = 0; z < _dyList[j].taskList.length; z++) {
+                  if (ta == _dyList[j].taskList[z].id) {
+                    _dyList[j].taskList[z].isWork = true;
+                  }
+                }
+              }
+            }
           }
 
           this.dyList2 = _dyList;
@@ -2629,15 +2650,19 @@ export default {
       // this.stageIndex = s;
       this.dyList2[s].isOpen = !this.dyList2[s].isOpen;
     },
-    openTask(s, i) {
-      var a = s + "-" + i;
-      var b = document.getElementById(a);
-      var d = b.getAttribute("scrollindex");
-      var c = document.getElementsByClassName("shuBox")[0];
-      c.scrollTop = parseInt(d) * 375;
-      this.stageIndex = s;
-      this.taskCount = i;
-      this.navId = a;
+    openTask(s, i, dyi, navi) {
+      if (!this.dyList2[dyi].taskList[navi].isWork) {
+        this.$message.warning("该任务暂时没提交作业");
+      } else {
+        var a = s + "-" + i;
+        var b = document.getElementById(a);
+        var d = b.getAttribute("scrollindex");
+        var c = document.getElementsByClassName("shuBox")[0];
+        c.scrollTop = parseInt(d) * 375;
+        this.stageIndex = s;
+        this.taskCount = i;
+        this.navId = a;
+      }
     },
     async generate(a) {
       // 将html文件中需要用到的数据挂载到store上
@@ -3222,7 +3247,7 @@ export default {
 }
 
 .isClick {
-  border: 3px solid #5f89d4;
+  /* border: 3px solid #5f89d4; */
   border-radius: 5px;
 }
 
@@ -3774,6 +3799,17 @@ export default {
   font-size: 14px;
 }
 
+.isWorkCss {
+  min-width: 20px;
+  height: 20px;
+  margin: 0 5px 0 10px;
+}
+
+.isWorkCss > img {
+  width: 100%;
+  height: 100%;
+}
+
 .navTaskname {
   white-space: nowrap;
   text-overflow: ellipsis;

+ 23 - 4
src/components/pages/components/report/studentAbility.vue

@@ -413,15 +413,34 @@ export default {
               //劳动课程
               this.$el.querySelector("#person_canvas2")
             );
+            var b = this.randarJson.reduce(function (acc, obj) {
+              var found = acc.findIndex(function (element) {
+                return element.target[0] === obj.target[0];
+              });
+
+              if (found !== -1) {
+                acc[found].count += obj.count;
+                acc[found].value += obj.value;
+              } else {
+                acc.push(obj);
+              }
+
+              return acc;
+            }, []);
+
+            b.forEach(function (element) {
+              element.value /= element.count;
+            });
+            
+            this.randarJson = b;
+
             let radarOption = JSON.parse(JSON.stringify(this.radarOption));
             for (var i = 0; i < this.randarJson.length; i++) {
               radarOption.radar.indicator.push({
-                name: this.randarJson[i].target,
+                name: this.randarJson[i].target[0],
                 max: 5,
               });
-              radarOption.series[0].data[0].value.push(
-                (this.randarJson[i].value / this.randarJson[i].count).toFixed(1)
-              );
+              radarOption.series[0].data[0].value.push(this.randarJson[i].value);
             }
 
             this.chartObj3 = chartObj3;

+ 48 - 12
src/components/pages/components/studentWorksDetail.vue

@@ -257,7 +257,7 @@
                       >
                         <div
                           class="navTask"
-                          @click="openTask(dy.id, nav.id)"
+                          @click="openTask(dy.id, nav.id, dyIndex, navIndex)"
                           :class="{
                             openTaskActive:
                               nav.id == taskCount &&
@@ -277,6 +277,12 @@
                           >
                             任务{{ navIndex + 1 }}
                           </div>
+                          <div
+                            class="isWorkCss"
+                            v-if="nav.isWork && nav.isWork == true"
+                          >
+                            <img src="../../../assets/icon/isWork.png" alt="" />
+                          </div>
                           <el-tooltip
                             class="navTaskname item"
                             effect="light"
@@ -2538,7 +2544,22 @@ export default {
           //     _dyList2[_stage].taskList;
           // }
           for (var dc = 0; dc < _dyList.length; dc++) {
-            _dyList[dc].isOpen = dc === 0 ? true : false;
+            // _dyList[dc].isOpen = dc === 0 ? true : false;
+            _dyList[dc].isOpen = true;
+          }
+
+          for (var i = 0; i < result.length; i++) {
+            for (var j = 0; j < _dyList.length; j++) {
+              var sta = result[i].stagetask.split("-")[0];
+              var ta = result[i].stagetask.split("-")[1];
+              if (sta == _dyList[j].id) {
+                for (var z = 0; z < _dyList[j].taskList.length; z++) {
+                  if (ta == _dyList[j].taskList[z].id) {
+                    _dyList[j].taskList[z].isWork = true;
+                  }
+                }
+              }
+            }
           }
 
           this.dyList2 = _dyList;
@@ -3342,15 +3363,19 @@ export default {
       // this.stageIndex = s;
       this.dyList2[s].isOpen = !this.dyList2[s].isOpen;
     },
-    openTask(s, i) {
-      var a = s + "-" + i;
-      var b = document.getElementById(a);
-      var d = b.getAttribute("scrollindex");
-      var c = document.getElementsByClassName("shuBox")[0];
-      c.scrollTop = parseInt(d) * 375;
-      this.stageIndex = s;
-      this.taskCount = i;
-      this.navId = a;
+    openTask(s, i, dyi, navi) {
+      if (!this.dyList2[dyi].taskList[navi].isWork) {
+        this.$message.warning("该任务暂时没提交作业");
+      } else {
+        var a = s + "-" + i;
+        var b = document.getElementById(a);
+        var d = b.getAttribute("scrollindex");
+        var c = document.getElementsByClassName("shuBox")[0];
+        c.scrollTop = parseInt(d) * 375;
+        this.stageIndex = s;
+        this.taskCount = i;
+        this.navId = a;
+      }
     },
     async generate(a) {
       // 将html文件中需要用到的数据挂载到store上
@@ -3924,7 +3949,7 @@ export default {
 }
 
 .isClick {
-  border: 3px solid #5f89d4;
+  /* border: 3px solid #5f89d4; */
   border-radius: 5px;
 }
 
@@ -4791,6 +4816,17 @@ ol {
   font-size: 14px;
 }
 
+.isWorkCss {
+  min-width: 20px;
+  height: 20px;
+  margin: 0 5px 0 10px;
+}
+
+.isWorkCss > img {
+  width: 100%;
+  height: 100%;
+}
+
 .navTaskname {
   white-space: nowrap;
   text-overflow: ellipsis;

+ 48 - 12
src/components/pages/components/worksDetail2.vue

@@ -255,7 +255,7 @@
                       >
                         <div
                           class="navTask"
-                          @click="openTask(dy.id, nav.id)"
+                          @click="openTask(dy.id, nav.id, dyIndex, navIndex)"
                           :class="{
                             openTaskActive:
                               nav.id == taskCount &&
@@ -275,6 +275,12 @@
                           >
                             任务{{ navIndex + 1 }}
                           </div>
+                          <div
+                            class="isWorkCss"
+                            v-if="nav.isWork && nav.isWork == true"
+                          >
+                            <img src="../../../assets/icon/isWork.png" alt="" />
+                          </div>
                           <el-tooltip
                             class="navTaskname item"
                             effect="light"
@@ -2542,7 +2548,22 @@ export default {
           //     _dyList2[_stage].taskList;
           // }
           for (var dc = 0; dc < _dyList.length; dc++) {
-            _dyList[dc].isOpen = dc === 0 ? true : false;
+            // _dyList[dc].isOpen = dc === 0 ? true : false;
+            _dyList[dc].isOpen = true;
+          }
+
+          for (var i = 0; i < result.length; i++) {
+            for (var j = 0; j < _dyList.length; j++) {
+              var sta = result[i].stagetask.split("-")[0];
+              var ta = result[i].stagetask.split("-")[1];
+              if (sta == _dyList[j].id) {
+                for (var z = 0; z < _dyList[j].taskList.length; z++) {
+                  if (ta == _dyList[j].taskList[z].id) {
+                    _dyList[j].taskList[z].isWork = true;
+                  }
+                }
+              }
+            }
           }
 
           this.dyList2 = _dyList;
@@ -3432,15 +3453,19 @@ export default {
       // this.stageIndex = s;
       this.dyList2[s].isOpen = !this.dyList2[s].isOpen;
     },
-    openTask(s, i) {
-      var a = s + "-" + i;
-      var b = document.getElementById(a);
-      var d = b.getAttribute("scrollindex");
-      var c = document.getElementsByClassName("shuBox")[0];
-      c.scrollTop = parseInt(d) * 375;
-      this.stageIndex = s;
-      this.taskCount = i;
-      this.navId = a;
+    openTask(s, i, dyi, navi) {
+      if (!this.dyList2[dyi].taskList[navi].isWork) {
+        this.$message.warning("该任务暂时没提交作业");
+      } else {
+        var a = s + "-" + i;
+        var b = document.getElementById(a);
+        var d = b.getAttribute("scrollindex");
+        var c = document.getElementsByClassName("shuBox")[0];
+        c.scrollTop = parseInt(d) * 375;
+        this.stageIndex = s;
+        this.taskCount = i;
+        this.navId = a;
+      }
     },
     async generate(a) {
       // 将html文件中需要用到的数据挂载到store上
@@ -4052,7 +4077,7 @@ export default {
 }
 
 .isClick {
-  border: 3px solid #5f89d4;
+  /* border: 3px solid #5f89d4; */
   border-radius: 5px;
 }
 
@@ -4610,6 +4635,17 @@ export default {
   font-size: 14px;
 }
 
+.isWorkCss {
+  min-width: 20px;
+  height: 20px;
+  margin: 0 5px 0 10px;
+}
+
+.isWorkCss > img {
+  width: 100%;
+  height: 100%;
+}
+
 .navTaskname {
   white-space: nowrap;
   text-overflow: ellipsis;

+ 50 - 14
src/components/pages/components/worksDetail3.vue

@@ -39,7 +39,7 @@
                 >
                   <div
                     class="navTask"
-                    @click="openTask(dy.id, nav.id)"
+                    @click="openTask(dy.id, nav.id, dyIndex, navIndex)"
                     :class="{
                       openTaskActive:
                         nav.id == taskCount &&
@@ -59,6 +59,12 @@
                     >
                       任务{{ navIndex + 1 }}
                     </div>
+                    <div
+                      class="isWorkCss"
+                      v-if="nav.isWork && nav.isWork == true"
+                    >
+                      <img src="../../../assets/icon/isWork.png" alt="" />
+                    </div>
                     <el-tooltip
                       class="navTaskname item"
                       effect="light"
@@ -971,7 +977,7 @@
                     </el-form>
                   </div>
                 </div>
-                <div
+                <!-- <div
                   class="right_top"
                   v-show="
                     worksDetail[sIndex].eList.length &&
@@ -998,7 +1004,7 @@
                       ></div>
                     </div>
                   </div>
-                </div>
+                </div> -->
               </div>
             </div>
             <div class="right_score" :class="{ rightScoreFullBox: full }">
@@ -2164,7 +2170,22 @@ export default {
           //     _dyList2[_stage].taskList;
           // }
           for (var dc = 0; dc < _dyList.length; dc++) {
-            _dyList[dc].isOpen = dc === 0 ? true : false;
+            // _dyList[dc].isOpen = dc === 0 ? true : false;
+            _dyList[dc].isOpen = true;
+          }
+
+          for (var i = 0; i < result.length; i++) {
+            for (var j = 0; j < _dyList.length; j++) {
+              var sta = result[i].stagetask.split("-")[0];
+              var ta = result[i].stagetask.split("-")[1];
+              if (sta == _dyList[j].id) {
+                for (var z = 0; z < _dyList[j].taskList.length; z++) {
+                  if (ta == _dyList[j].taskList[z].id) {
+                    _dyList[j].taskList[z].isWork = true;
+                  }
+                }
+              }
+            }
           }
 
           this.dyList2 = _dyList;
@@ -2632,15 +2653,19 @@ export default {
       // this.stageIndex = s;
       this.dyList2[s].isOpen = !this.dyList2[s].isOpen;
     },
-    openTask(s, i) {
-      var a = s + "-" + i;
-      var b = document.getElementById(a);
-      var d = b.getAttribute("scrollindex");
-      var c = document.getElementsByClassName("shuBox")[0];
-      c.scrollTop = parseInt(d) * 375;
-      this.stageIndex = s;
-      this.taskCount = i;
-      this.navId = a;
+    openTask(s, i, dyi, navi) {
+      if (!this.dyList2[dyi].taskList[navi].isWork) {
+        this.$message.warning("该任务暂时没提交作业");
+      } else {
+        var a = s + "-" + i;
+        var b = document.getElementById(a);
+        var d = b.getAttribute("scrollindex");
+        var c = document.getElementsByClassName("shuBox")[0];
+        c.scrollTop = parseInt(d) * 375;
+        this.stageIndex = s;
+        this.taskCount = i;
+        this.navId = a;
+      }
     },
     async generate(a) {
       // 将html文件中需要用到的数据挂载到store上
@@ -3226,7 +3251,7 @@ export default {
 }
 
 .isClick {
-  border: 3px solid #5f89d4;
+  /* border: 3px solid #5f89d4; */
   border-radius: 5px;
 }
 
@@ -3778,6 +3803,17 @@ export default {
   font-size: 14px;
 }
 
+.isWorkCss {
+  min-width: 20px;
+  height: 20px;
+  margin: 0 5px 0 10px;
+}
+
+.isWorkCss > img {
+  width: 100%;
+  height: 100%;
+}
+
 .navTaskname {
   white-space: nowrap;
   text-overflow: ellipsis;

+ 40 - 0
src/components/pages/easy/addCourse.vue

@@ -237,6 +237,7 @@
                                   <div v-if="item1.type == 2" class="chapter_upload_l_i1"></div>
                                   <div v-if="item1.type == 3 ||
                                     item1.type == 12 ||
+                                    item1.type == 13 ||
                                     item1.type == 6 ||
                                     item1.type == 7
                                     " class="chapter_upload_l_i5" style="margin-left: 1px"></div>
@@ -265,6 +266,7 @@
                                   <input v-if="item1.type == 2 ||
                                     item1.type == 3 ||
                                     item1.type == 12 ||
+                                    item1.type == 13 ||
                                     item1.type == 7
                                     " :placeholder="item1.name" @change="updataVideoT(
     $event,
@@ -731,6 +733,7 @@
                               <div v-if="item1.type == 2" class="chapter_upload_l_i1"></div>
                               <div v-if="item1.type == 3 ||
                                 item1.type == 12 ||
+                                item1.type == 13 ||
                                 item1.type == 6 ||
                                 item1.type == 7
                                 " class="chapter_upload_l_i5" style="margin-left: 1px"></div>
@@ -759,6 +762,7 @@
                               <input v-if="item1.type == 2 ||
                                 item1.type == 3 ||
                                 item1.type == 12 ||
+                                item1.type == 13 ||
                                 item1.type == 7
                                 " :placeholder="item1.name" @change="updataVideoT(
     $event,
@@ -4298,6 +4302,17 @@ export default {
             } else {
               if (type == 13) {
                 let _type = 2
+                var imgA = [
+                  "png",
+                  "jpg",
+                  "jpeg",
+                  "bmp",
+                  "gif",
+                  "webp",
+                  "psd",
+                  "svg",
+                  "tiff",
+                ]
                 var fileA = [
                   "PDF",
                   "DOC",
@@ -4359,6 +4374,12 @@ export default {
                   [data.Location.split(".").length - 1].toLocaleUpperCase()
                 ) != -1) {
                   _type = 2
+                } else if (imgA.indexOf(
+                  data.Location
+                    .split(".")
+                  [data.Location.split(".").length - 1].toLocaleLowerCase()
+                ) != -1) {
+                  _type = 13
                 } else {
                   _type = 12
                 }
@@ -7272,9 +7293,18 @@ export default {
               this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index - 1]
             )
           );
+          let b = JSON.parse(
+            JSON.stringify(
+              this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index]
+            )
+          )
           this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index - 1] =
             this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index];
           this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index] = a;
+          if((index - 1) == 0){
+            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index - 1].chapterData = a.chapterData;
+            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index].chapterData = b.chapterData;
+          }
         }
       } else {
         if (
@@ -7286,9 +7316,19 @@ export default {
               this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index + 1]
             )
           );
+          let b = JSON.parse(
+            JSON.stringify(
+              this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index]
+            )
+          )
           this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index + 1] =
             this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index];
           this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index] = a;
+
+          if((index) == 0){
+            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index + 1].chapterData = a.chapterData;
+            this.unitJson[this.unitIndex].chapterInfo[0].taskJson[index].chapterData = b.chapterData;
+          }
         }
       }
       this.$forceUpdate();

+ 50 - 14
src/components/pages/myReport/components/MyLookComponent/worksDetail3.vue

@@ -39,7 +39,7 @@
                 >
                   <div
                     class="navTask"
-                    @click="openTask(dy.id, nav.id)"
+                    @click="openTask(dy.id, nav.id, dyIndex, navIndex)"
                     :class="{
                       openTaskActive:
                         nav.id == taskCount &&
@@ -59,6 +59,12 @@
                     >
                       任务{{ navIndex + 1 }}
                     </div>
+                    <div
+                      class="isWorkCss"
+                      v-if="nav.isWork && nav.isWork == true"
+                    >
+                      <img src="../../../../../assets/icon/isWork.png" alt="" />
+                    </div>
                     <el-tooltip
                       class="navTaskname item"
                       effect="light"
@@ -971,7 +977,7 @@
                     </el-form>
                   </div>
                 </div>
-                <div
+                <!-- <div
                   class="right_top"
                   v-show="
                     worksDetail[sIndex].eList.length &&
@@ -998,7 +1004,7 @@
                       ></div>
                     </div>
                   </div>
-                </div>
+                </div> -->
               </div>
             </div>
             <div class="right_score" :class="{ rightScoreFullBox: full }">
@@ -2163,7 +2169,22 @@ export default {
           //     _dyList2[_stage].taskList;
           // }
           for (var dc = 0; dc < _dyList.length; dc++) {
-            _dyList[dc].isOpen = dc === 0 ? true : false;
+            // _dyList[dc].isOpen = dc === 0 ? true : false;
+            _dyList[dc].isOpen = true;
+          }
+
+          for (var i = 0; i < result.length; i++) {
+            for (var j = 0; j < _dyList.length; j++) {
+              var sta = result[i].stagetask.split("-")[0];
+              var ta = result[i].stagetask.split("-")[1];
+              if (sta == _dyList[j].id) {
+                for (var z = 0; z < _dyList[j].taskList.length; z++) {
+                  if (ta == _dyList[j].taskList[z].id) {
+                    _dyList[j].taskList[z].isWork = true;
+                  }
+                }
+              }
+            }
           }
 
           this.dyList2 = _dyList;
@@ -2631,15 +2652,19 @@ export default {
       // this.stageIndex = s;
       this.dyList2[s].isOpen = !this.dyList2[s].isOpen;
     },
-    openTask(s, i) {
-      var a = s + "-" + i;
-      var b = document.getElementById(a);
-      var d = b.getAttribute("scrollindex");
-      var c = document.getElementsByClassName("shuBox")[0];
-      c.scrollTop = parseInt(d) * 375;
-      this.stageIndex = s;
-      this.taskCount = i;
-      this.navId = a;
+    openTask(s, i, dyi, navi) {
+      if (!this.dyList2[dyi].taskList[navi].isWork) {
+        this.$message.warning("该任务暂时没提交作业");
+      } else {
+        var a = s + "-" + i;
+        var b = document.getElementById(a);
+        var d = b.getAttribute("scrollindex");
+        var c = document.getElementsByClassName("shuBox")[0];
+        c.scrollTop = parseInt(d) * 375;
+        this.stageIndex = s;
+        this.taskCount = i;
+        this.navId = a;
+      }
     },
     async generate(a) {
       // 将html文件中需要用到的数据挂载到store上
@@ -3225,7 +3250,7 @@ export default {
 }
 
 .isClick {
-  border: 3px solid #5f89d4;
+  /* border: 3px solid #5f89d4; */
   border-radius: 5px;
 }
 
@@ -4086,6 +4111,17 @@ ol {
   font-size: 14px;
 }
 
+.isWorkCss {
+  min-width: 20px;
+  height: 20px;
+  margin: 0 5px 0 10px;
+}
+
+.isWorkCss > img {
+  width: 100%;
+  height: 100%;
+}
+
 .navTaskname {
   white-space: nowrap;
   text-overflow: ellipsis;

+ 23 - 2
src/components/pages/task/addCourse.vue

@@ -294,6 +294,7 @@
                                   <div v-if="item1.type == 2" class="chapter_upload_l_i1"></div>
                                   <div v-if="item1.type == 3 ||
                                     item1.type == 12 ||
+                                    item1.type == 13 ||
                                     item1.type == 6 ||
                                     item1.type == 7
                                     " class="chapter_upload_l_i5" style="margin-left: 1px"></div>
@@ -322,6 +323,7 @@
                                   <input v-if="item1.type == 2 ||
                                     item1.type == 3 ||
                                     item1.type == 12 ||
+                                    item1.type == 13 ||
                                     item1.type == 7
                                     " :placeholder="item1.name" @change="updataVideoT(
     $event,
@@ -383,7 +385,7 @@
                         <div class="add_info_box">
                           <button class="info_btn" @click="addImg($event)">
                                 添加文件
-                            <input type="file" accept="*" style="display: none" v-if="inputShow" @change="beforeUpload2($event, unitIndex, 13, 0)
+                            <input type="file" accept="*" style="display: none" v-if="inputShow" @change="beforeUpload2($event, unitIndex, 13, itemTaskIndex)
                                   " />
                           </button>
                           <!-- <button class="info_btn" @click="addImg($event)">
@@ -736,6 +738,7 @@
                               <div v-if="item1.type == 2" class="chapter_upload_l_i1"></div>
                               <div v-if="item1.type == 3 ||
                                 item1.type == 12 ||
+                                item1.type == 13 ||
                                 item1.type == 6 ||
                                 item1.type == 7
                                 " class="chapter_upload_l_i5" style="margin-left: 1px"></div>
@@ -764,6 +767,7 @@
                               <input v-if="item1.type == 2 ||
                                 item1.type == 3 ||
                                 item1.type == 12 ||
+                                item1.type == 13 ||
                                 item1.type == 7
                                 " :placeholder="item1.name" @change="updataVideoT(
     $event,
@@ -825,7 +829,7 @@
                     <div class="add_info_box">
                       <button class="info_btn" @click="addImg($event)">
                             添加文件
-                        <input type="file" accept="*" style="display: none" v-if="inputShow" @change="beforeUpload2($event, unitIndex, 13, 0)
+                        <input type="file" accept="*" style="display: none" v-if="inputShow" @change="beforeUpload2($event, unitIndex, 13, itemTaskIndex)
                               " />
                       </button>
                       <!-- <button class="info_btn" @click="addImg($event)">
@@ -4299,6 +4303,17 @@ export default {
             } else {
               if (type == 13) {
                 let _type = 2
+                var imgA = [
+                  "png",
+                  "jpg",
+                  "jpeg",
+                  "bmp",
+                  "gif",
+                  "webp",
+                  "psd",
+                  "svg",
+                  "tiff",
+                ]
                 var fileA = [
                   "PDF",
                   "DOC",
@@ -4360,6 +4375,12 @@ export default {
                   [data.Location.split(".").length - 1].toLocaleUpperCase()
                 ) != -1) {
                   _type = 2
+                } else if (imgA.indexOf(
+                  data.Location
+                    .split(".")
+                  [data.Location.split(".").length - 1].toLocaleLowerCase()
+                ) != -1) {
+                  _type = 13
                 } else {
                   _type = 12
                 }

+ 9 - 4
src/components/pages/teacherSource/dialog.vue

@@ -164,7 +164,11 @@ export default {
                 }else{
                     if(this.typea == 'b107f98f-1dc4-4ede-80b4-178ba22b6a59'){
                         return this.CourseTypeJson[tid].filter(e => {
+<<<<<<< HEAD
                             return ['fd7fc4a9-e934-47d5-9edf-f478a59010f0','5143a350-b20f-4a07-9d19-5ad305fefaac' ].indexOf(e.id) != -1 
+=======
+                            return ['fd7fc4a9-e934-47d5-9edf-f478a59010f0','5143a350-b20f-4a07-9d19-5ad305fefaac','3777ef66-96ff-4f08-8e6d-a7b6acc6c789'].indexOf(e.id) != -1 
+>>>>>>> beta
                         })
                     }else if(this.typea == '3b12e8d9-866f-46bb-aa22-76cb3b7788b3'){
                         return this.CourseTypeJson[tid].filter(e => {
@@ -742,8 +746,7 @@ export default {
 
 .source-box .label>span {
     padding: 5px 10px;
-    background: rgb(98, 180, 238);
-    color: #fff;
+    background: rgb(244, 244, 244);
     border-radius: 5px;
     margin: 0 0 5px 5px;
 }
@@ -753,10 +756,12 @@ export default {
     text-align: center;
     display: flex;
     height: 40px;
-    background: rgb(244, 244, 244);
-    margin-top:auto;
+    background: rgb(88, 121, 198);
+    color: #fff;
+    margin-top: auto;
 }
 
+
 .source-box .button>span {
     width: 100%;
     cursor: pointer;

+ 7 - 3
src/components/pages/teacherSource/index.vue

@@ -166,7 +166,11 @@ export default {
                 }else{
                     if(this.typea == 'b107f98f-1dc4-4ede-80b4-178ba22b6a59'){
                         return this.CourseTypeJson[tid].filter(e => {
+<<<<<<< HEAD
                             return ['fd7fc4a9-e934-47d5-9edf-f478a59010f0','5143a350-b20f-4a07-9d19-5ad305fefaac' ].indexOf(e.id) != -1 
+=======
+                            return ['fd7fc4a9-e934-47d5-9edf-f478a59010f0','5143a350-b20f-4a07-9d19-5ad305fefaac','3777ef66-96ff-4f08-8e6d-a7b6acc6c789'].indexOf(e.id) != -1 
+>>>>>>> beta
                         })
                     }else if(this.typea == '3b12e8d9-866f-46bb-aa22-76cb3b7788b3'){
                         return this.CourseTypeJson[tid].filter(e => {
@@ -770,8 +774,7 @@ export default {
 
 .source-box .label>span {
     padding: 5px 10px;
-    background: rgb(98, 180, 238);
-    color: #fff;
+    background: rgb(244, 244, 244);
     border-radius: 5px;
     margin: 0 0 5px 5px;
 }
@@ -781,7 +784,8 @@ export default {
     text-align: center;
     display: flex;
     height: 40px;
-    background: rgb(244, 244, 244);
+    background: rgb(88, 121, 198);
+    color: #fff;
     margin-top: auto;
 }
 

+ 2 - 2
src/components/pages/tencent/student.vue

@@ -33,13 +33,13 @@
         </div>
         <div class="head_right">
           <el-button @click="addStudent">添加学生</el-button>
-          <el-upload  class="upload-demo newCss" :http-request="handleChange" :on-remove="handleRemove" action="#"
+          <el-upload v-show="false" class="upload-demo newCss" :http-request="handleChange" :on-remove="handleRemove" action="#"
             :file-list="fileListUpload" accept=".xlsx">
             <el-button size="primary" type="primary">批量添加</el-button>
             <div slot="tip" class="el-upload__tip" style="margin-left:10px;">只能上传xlsx文件,且不超过500kb</div>
           </el-upload>
           <!-- <el-button @click="exportExcel">导出学生</el-button> -->
-          <div @click="getExcel" >xls 上传样例</div>
+          <div @click="getExcel" v-show="false">xls 上传样例</div>
         </div>
       </div>
     </div>

+ 3 - 1
src/main.js

@@ -22,7 +22,9 @@ import hevueImgPreview from 'hevue-img-preview'
 const echarts = require('echarts');
 
 //
-Vue.use(VideoPlayer).use(VueCookies).use(Viewer).use(hevueImgPreview)
+Vue.use(VideoPlayer).use(VueCookies).use(Viewer).use(hevueImgPreview, {
+    clickMaskCLose: true
+})
 Vue.config.productionTip = false
 Vue.prototype.$store = store; // 将store实例挂在vue原型上
 Vue.prototype.ajax = ajax

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