| 
					
				 | 
			
			
				@@ -3,65 +3,87 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="i_body_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <span>测评项目</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-button type="primary" class="bgColor" @click="returnA()">返回</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button type="primary" class="bgColor" @click="returnA()">评测中心</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="i_body_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="check_nav"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="nav all" :class="{ active: type == '' }" @click="checkType('')">所有评测</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="nav" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :class="{ active: type == item.id, gr: item.id == 'afc3f97f-2429-408d-8dcd-5e63a44d355a', md: item.id == '478bcccd-e3a1-472b-aa29-3ed7bc479469', jy: item.id == '178a377a-b4f1-4a75-b3c3-2787a7c98784', yy: item.id == 'dda9728e-5f11-469e-89ee-aca518daf223' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :class="{ active: type == item.id, gr: item.id == 'afc3f97f-2429-408d-8dcd-5e63a44d355a', md: item.id == '478bcccd-e3a1-472b-aa29-3ed7bc479469', jy: item.id == '178a377a-b4f1-4a75-b3c3-2787a7c98784', yy: item.id == 'dda9728e-5f11-469e-89ee-aca518daf223', bj: item.id == 'afc3f97f-2429-408d-8dcd-5e63a44d355c' }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @click="checkType(item.id)" v-for="(item, index) in typeArray" :key="index">{{ item.name }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <!-- <div class="nav gr" :class="{ active: type == 2 }" @click="checkType(2)">个人写真</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="nav md" :class="{ active: type == 3 }" @click="checkType(3)">明灯导航</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="nav jy" :class="{ active: type == 4 }" @click="checkType(4)">教研耕耘</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="nav yy" :class="{ active: type == 5 }" @click="checkType(5)">煜煜星光</div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div class="check_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="check_box" v-loading="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="noneData" v-if="!worksArray.length" style="text-align: center;">暂无数据</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="test_panel" v-for="(item, index) in worksArray" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="test_panel_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <span>已完成</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span :class="{ is: item.array.length > 0, no: !item.array.length }">{{ item.array.length > 0 ? "已完成" : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "未完成" }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <span>{{ item.title }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <span>提交时间: {{ item.time }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>创建时间: {{ item.time }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <span>修改时间: {{ item.utime }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="test_panel_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="detail"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {{ item.brief ? item.brief : '暂无描述' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="detail" v-if="item.array.length === 0 || item.brief"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>{{ item.brief ? item.brief : '暂无描述' }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="test_add_box" style="width: calc(100% - 350px - 20px);border: none;margin-right: 20px;padding: 0;" v-else> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class="test" v-for="(test) in item.array" :key="test.id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :src="getImg(test.courseJson) ? getImg(test.courseJson) : require('../../../../assets/icon/test/teacher.jpg')" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <span>提交时间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <span>{{ test.time }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <span>修改时间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <span>{{ test.utime }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <img @click="deleteTest(test.id)" class="delete" src="../../../../assets/icon/test/delete.png" alt=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="mask"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div @click="doTest(test.courseid, test.id)"><span></span><span>编辑</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div @click="checkTest(test.courseid, test.id)"><span></span><span>查看</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div @click="copyTest(test.id)"><span></span><span>复制</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="panel"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="score"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div><span>{{getNum(item.chapters)}}</span><span>题</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div><span>{{ getNum(item.chapters) }}</span><span>题</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div>题目总数</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="score"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div><span>{{getScore(item.array)}}</span><span>分</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div><span>{{ getScore(item.array) }}</span><span>分</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div>综合得分</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="btn"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div @click="doTest(item.courseid,item.id)"><span></span><span>编辑</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div @click="checkTest(item.courseid,item.id)"><span></span><span>查看</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div @click="copyTest(item.id)"><span></span><span>复制</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <!-- <div @click="doTest(item.courseid,item.id)"><span></span><span>编辑</span></div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div @click="doTest2(item.courseid)"><span></span><span>添加</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <!-- <div @click="checkTest(item.courseid,item.id)"><span></span><span>查看</span></div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <!-- <div @click="copyTest(item.id)"><span></span><span>复制</span></div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class="test_add_box" v-if="item.array.length > 1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="test_add_box" v-if="item.array.length > 0 && item.brief"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="test" v-for="(test) in item.array" :key="test.id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <img src="../../../../assets/icon/test/teacher.jpg" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :src="getImg(test.courseJson) ? getImg(test.courseJson) : require('../../../../assets/icon/test/teacher.jpg')" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <span>提交时间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <span>{{ test.time }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <span>修改时间</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <span>{{ test.utime }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <img @click="deleteTest(test.id)" class="delete" src="../../../../assets/icon/test/delete.png" alt=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="mask"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div @click="doTest(test.courseid,test.id)"><span></span><span>编辑</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div @click="checkTest(test.courseid,test.id)"><span></span><span>查看</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div @click="doTest(test.courseid, test.id)"><span></span><span>编辑</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div @click="checkTest(test.courseid, test.id)"><span></span><span>查看</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div @click="copyTest(test.id)"><span></span><span>复制</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,6 +112,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       worksArray: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       org: this.$route.query.org, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       role: this.$route.query.role, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   computed: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,7 +126,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (item.ttype == 2 && item.array.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 item.array.forEach(item2 => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (item2.ttype == 1 && item2.json) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      num++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    num++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } else if (item.ttype == 1 && item.json) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -122,38 +145,83 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // let _array = JSON.parse(array) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let _score = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let scoreArray = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for(var i = 0;i<array.length;i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (var i = 0; i < array.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           let _array = JSON.parse(array[i].courseJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           let score = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          for(var j = 0;j<_array.length;j++){  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          for (var j = 0; j < _array.length; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let el = _array[j]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ((el.ttype == 3 || el.ttype == 2) && el.array.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              for(var k = 0;k<el.array.length;k++){  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              for (var k = 0; k < el.array.length; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let item = el.array[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (item.ttype == 2 && item.array.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  for(var z = 0;z<item.array.length;z++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  for (var z = 0; z < item.array.length; z++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     let item2 = item.array[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (item2.ttype == 1 && item2.json && item2.json.score2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      score+=parseInt(item2.json.score2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      score += parseInt(item2.json.score2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else if (item.ttype == 1 && item.json && item.json.score2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    score+=parseInt(item.json.score2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  score += parseInt(item.json.score2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else if (el.ttype == 1 && el.json && el.json.score2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              score+=parseInt(el.json.score2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              score += parseInt(el.json.score2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           scoreArray.push(score) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         scoreArray.forEach(el => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          _score+=el 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _score += el 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log(scoreArray) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return (_score ? _score / scoreArray.length : 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getImg() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return function (array) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let _array = JSON.parse(array) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let _img = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        s: for (var j = 0; j < _array.length; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let el = _array[j]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if ((el.ttype == 3 || el.ttype == 2) && el.array.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var k = 0; k < el.array.length; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let item = el.array[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (item.ttype == 2 && item.array.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (var z = 0; z < item.array.length; z++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  let item2 = item.array[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  if (item2.ttype == 1 && item2.type == 5 && item2.json && item2.json.file && item2.json.file.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (var k = 0; k < item2.json.file.length; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      let ik = item2.json.file[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      if (ik.type == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        _img = ik.url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } else if (item.ttype == 1 && item.type == 5 && item.json && item.json.file && item.json.file.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (var k = 0; k < item.json.file.length; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  let ik = item.json.file[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  if (ik.type == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _img = ik.url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else if (el.ttype == 1 && el.type == 5 && el.json && el.json.file && el.json.file.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var k = 0; k < el.json.file.length; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let ik = el.json.file[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (ik.type == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _img = ik.url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _img; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     checkType(type) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,6 +242,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getWorks() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.loading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uid: this.userid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         typeid: this.type, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -181,32 +250,41 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .get(this.$store.state.api + "getTestWorksPerson", params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           let array = res.data[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let array2 = res.data[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // 用于存储归类后的数据的对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          const worksArray = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let worksArray = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // 遍历原始数据,根据 parentId 进行分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          array.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!worksArray[item.courseid]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // console.log(item.chapters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              worksArray[item.courseid] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                id: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                courseid: item.courseid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                title: item.title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                time: item.time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                utime: item.utime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                chapters: item.chapters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                brief: item.brief, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                array: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            worksArray[item.courseid].array.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          array2.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // console.log(item.chapters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            worksArray[item.courseId] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              id: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              courseid: item.courseId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              title: item.title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              time: item.time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              utime: item.utime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              chapters: item.chapters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              brief: item.brief, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              array: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          worksArray = Object.values(worksArray) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          worksArray.forEach(el => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            array.forEach(el2 => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (el.courseid == el2.courseid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                el.array.push(el2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // worksArray[item.courseid].array.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.worksArray = Object.values(worksArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.worksArray = worksArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$forceUpdate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .catch((err) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           console.error(err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -239,7 +317,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.role 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    doTest(cid,tid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    doTest(cid, tid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$router.push( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "/doTest?cid=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cid + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -256,7 +334,22 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.role 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    copyTest(tid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    doTest2(cid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$router.push( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "/doTest?cid=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cid + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "&userid=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.userid + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "&oid=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.oid + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "&org=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.org + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "&type=3" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "&role=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.role 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    copyTest(tid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let params = [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tid: tid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uid: this.userid, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -270,6 +363,33 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .catch((err) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           console.error(err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deleteTest(tid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let _this = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .$confirm("确定删除此提交的评测么?", "提示", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          confirmButtonText: "确定", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cancelButtonText: "取消", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: "warning", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let params = [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tid: tid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _this.ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .post(_this.$store.state.api + "deleteTestCourseWorks", params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.$message.success("删除成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              _this.getWorks(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .catch((err) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              console.error(err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mounted() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -334,6 +454,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .check_nav>.gr::before, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .check_nav>.md::before, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .check_nav>.jy::before, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.check_nav>.bj::before, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .check_nav>.yy::before { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   content: ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: block; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -384,6 +505,15 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   background-image: url('../../../../assets/icon/test/yy_icon_active.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.check_nav>.bj::before { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-image: url('../../../../assets/icon/test/bj_icon.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.check_nav>.active.bj::before { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-image: url('../../../../assets/icon/test/bj_icon_active.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .check_box { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   height: calc(100% - 50px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   overflow: auto; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -422,15 +552,24 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .test_panel_title>.title>span:nth-child(1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  color: rgb(100, 215, 155); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  background: rgb(241, 255, 248); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  border: 1px solid rgb(100, 215, 155); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   padding: 3px 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.test_panel_title>.title>.is:nth-child(1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: rgb(100, 215, 155); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: rgb(241, 255, 248); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border: 1px solid rgb(100, 215, 155); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.test_panel_title>.title>.no:nth-child(1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: rgb(240, 66, 66); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: rgb(255, 241, 241); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border: 1px solid rgb(240, 66, 66); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .test_panel_title>.title>span:nth-child(2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   font-size: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   font-weight: 600; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -441,7 +580,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   color: #a1a1a1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-.test_panel_title>.time  > span + span{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.test_panel_title>.time>span+span { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-left: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -560,7 +699,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   min-width: 120px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   height: 120px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  overflow: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* overflow: hidden; */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -568,10 +707,15 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.test_add_box>.test:hover .delete { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .test_add_box>.test>img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   object-fit: cover; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .test_add_box>.test+.test { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -592,6 +736,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   background: rgba(0, 0, 0, 0.5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .test_add_box>.test>.time>span { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -611,6 +756,18 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   color: rgb(69, 141, 255); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.test_add_box>.test>.delete { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  right: -5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: -5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  z-index: 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .test_add_box>.test>.mask>div { 
			 |