lsc 1 rok pred
rodič
commit
eff86a6dee

+ 1 - 1
dist/index.html

@@ -25,7 +25,7 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.e4917afd48c15a9bfd01e6f3f69c0878.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.b01159b52abeac4e6216.js></script><script type=text/javascript src=./static/js/app.56587f86139fe05daf3a.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.6193704195be50f938c19d1d27fbca76.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.b01159b52abeac4e6216.js></script><script type=text/javascript src=./static/js/app.0848cec949ca8ecdc3cc.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/css/app.6193704195be50f938c19d1d27fbca76.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/css/app.6193704195be50f938c19d1d27fbca76.css.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/js/app.0848cec949ca8ecdc3cc.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/js/app.0848cec949ca8ecdc3cc.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


+ 1 - 1
src/App.vue

@@ -46,7 +46,7 @@
       :style="{ overflow: $route.path == '/liveRoom' ? 'hidden' : '' }"
     >
       <!-- main 内容 -->
-      <keep-alive v-if="$route.meta.keepAlive">
+      <keep-alive>
         <!-- 这里是会被缓存的视图组件 -->
         <router-view
           v-if="$route.meta.keepAlive"

+ 12 - 1
src/components/pages/dataBoardNew/project/chartList/cateRank.vue

@@ -1,6 +1,7 @@
 <template>
     <div class="data_body">
-        <div style="width: 100%; height: 100%" :style="{ minWidth: ooption.hours.length * 75 + 'px' }">
+        <div v-if="!show" class="box">暂无数据</div>
+        <div style="width: 100%; height: 100%" :style="{ minWidth: ooption.hours.length * 75 + 'px' }" v-else>
             <div id="charts_canvas" class="echart" style="width: 100%; height: 100%; "></div>
         </div>
     </div>
@@ -15,6 +16,7 @@ export default {
     },
     data() {
         return {
+            show: true,
             chartObj: null,
             ooption: {
                 hours: [],
@@ -248,6 +250,7 @@ export default {
                 // newValue = newValue.filter(item => {
                 //     return ['一年级','二年级','三年级','四年级','五年级','六年级','七年级'].indexOf(item.name) !== -1
                 // })
+                this.show = newValue.length > 0
                 this.setJson(newValue)
                 this.$forceUpdate();
             },
@@ -258,6 +261,7 @@ export default {
         //     return ['一年级','二年级','三年级','四年级','五年级','六年级','七年级'].indexOf(item.name) !== -1
         // })
         this.setJson(this.courseArray)
+        this.show = this.courseArray.length > 0
         var _this = this;
         window.addEventListener("resize", () => {
             if (_this.chartObj) {
@@ -280,5 +284,12 @@ export default {
     background: #fff;
     overflow: auto;
 }
+
+.box{
+    height: 100%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
 </style>
   

+ 120 - 90
src/components/pages/dataBoardTest/course/index.vue

@@ -29,13 +29,17 @@
             <div class="depth">
               <span>考核项目完成率</span>
               <div>
-                <el-progress :width="100" type="circle" :percentage="subPersent ? parseInt((subPersent / teacherCount * 100).toFixed(0)) : 0" :stroke-width="15" :format="format" color="#106BFF"></el-progress>
+                <el-progress :width="100" type="circle"
+                  :percentage="subPersent ? parseInt((subPersent / teacherCount * 100).toFixed(0)) : 0" :stroke-width="15"
+                  :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>教师项目提交率</span>
               <div>
-                <el-progress :width="100" type="circle" :percentage="subPersent2 ? parseInt((subPersent2 / teacherCount * 100).toFixed(0)) : 0" :stroke-width="15" :format="format" color="#106BFF"></el-progress>
+                <el-progress :width="100" type="circle"
+                  :percentage="subPersent2 ? parseInt((subPersent2 / teacherCount * 100).toFixed(0)) : 0"
+                  :stroke-width="15" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
           </div>
@@ -46,20 +50,20 @@
       </div>
       <div class="bottom">
         <div class="titleBox">
-          <div class="title" >
+          <div class="title">
             培训心得
           </div>
         </div>
 
         <div class="dataBox">
-          <div class="info_box" style="width: 96%" >
+          <div class="info_box" style="width: 96%">
             <div class="info blueBG">
               <span>提交总数</span>
               <span>{{ xindeCount }}</span>
             </div>
             <div class="info blueBG">
               <span>人均提交次数</span>
-              <span>{{ xindeCount ? (xindeCount / teacherCount ).toFixed(0) : 0 }}</span>
+              <span>{{ xindeCount ? (xindeCount / teacherCount).toFixed(0) : 0 }}</span>
             </div>
           </div>
           <Bar style="height: calc(100% - 70px)" :workList="tedurArray"></Bar>
@@ -78,7 +82,7 @@
           </el-select>
         </div>
         <div class="dataBox">
-          <div class="info_box" style="width: 96%" >
+          <div class="info_box" style="width: 96%">
             <div class="info blueBG">
               <span>提交总数</span>
               <span>{{ shejiCount }}</span>
@@ -110,7 +114,7 @@
               <span>{{ guanshuArray.length }}</span>
             </div>
           </div>
-          <WorkNum style="height: calc(100% - 70px)" :workNumList="workNumList" >
+          <WorkNum style="height: calc(100% - 70px)" :workNumList="workNumList">
           </WorkNum>
         </div>
       </div>
@@ -153,7 +157,8 @@
               <span>{{ huojiangPCont }}</span>
             </div>
           </div>
-          <CourseAna style="height: calc(100% - 70px)" :courseNumberArray="courseNumberArray" v-if="toolType == 0"></CourseAna>
+          <CourseAna style="height: calc(100% - 70px)" :courseNumberArray="courseNumberArray" v-if="toolType == 0">
+          </CourseAna>
           <ToolChart style="height: calc(100%)" :toolArray="toolList" v-if="toolType == 1"></ToolChart>
         </div>
       </div>
@@ -260,28 +265,28 @@ export default {
       personList: {},
       workNumList: {},
       courseArray: {},
-      subPersent:0,
-      subPersent2:0,
+      subPersent: 0,
+      subPersent2: 0,
       xindeCount: 0,
-      shejiCount:0,
-      shejiPCount:0,
+      shejiCount: 0,
+      shejiPCount: 0,
       shejiArray: [],
-      shejiTime:[],
-      shejiXuan:[],
-      shejiTong:{},
-      guihuaArray:[],
-      guanshuArray:[],
-      huojiangArray:[],
-      timeXuan:[],
-      jibieXuan:[],
-      mingciXuan:[],
-      deyuArray:[],
-      deyuTimeXuan:[],
-      deyuJibieXuan:[],
-      huojiangCont:0,
-      huojiangPCont:0,
-      deyuCont:0,
-      deyuPCont:0,
+      shejiTime: [],
+      shejiXuan: [],
+      shejiTong: {},
+      guihuaArray: [],
+      guanshuArray: [],
+      huojiangArray: [],
+      timeXuan: [],
+      jibieXuan: [],
+      mingciXuan: [],
+      deyuArray: [],
+      deyuTimeXuan: [],
+      deyuJibieXuan: [],
+      huojiangCont: 0,
+      huojiangPCont: 0,
+      deyuCont: 0,
+      deyuPCont: 0,
     };
   },
   mounted() {
@@ -353,57 +358,78 @@ export default {
     typeChange1() {
       let shejiArray = this.shejiArray;
       var shejiTong = {};
-      for(var i = 0; i < this.shejiTime.length; i++){
-          shejiTong[this.shejiTime[i]] = {}
-          for(var j = 0; j < this.shejiXuan.length; j++){
-            shejiTong[this.shejiTime[i]][this.shejiXuan[j]] = 0
-          }
+      let shejiCount = {}
+      let shejiPCount = {}
+      shejiTong[''] = {}
+      shejiCount[''] = 0
+      shejiPCount[''] = []
+      for (var i = 0; i < this.shejiTime.length; i++) {
+        shejiTong[this.shejiTime[i]] = {}
+        shejiCount[this.shejiTime[i]] = 0
+        shejiPCount[this.shejiTime[i]] = []
+        for (var j = 0; j < this.shejiXuan.length; j++) {
+          shejiTong[this.shejiTime[i]][this.shejiXuan[j]] = 0
+          shejiTong[''][this.shejiXuan[j]] = 0
+        }
       }
-
-      for(var i = 0; i < shejiArray.length; i++){
+      for (var i = 0; i < shejiArray.length; i++) {
         let shejiJson = JSON.parse(shejiArray[i].courseJson)
         let xuanTime = shejiJson[1].json.answer2
         let xuanXuan = shejiJson[2].json.answer2
-        for(var j = 0; j < xuanTime.length; j++){
-
-          for(var z = 0; z < xuanXuan.length; z++){
+        for (var j = 0; j < xuanTime.length; j++) {
+          shejiCount[this.shejiTime[xuanTime[j]]]++
+          shejiPCount[this.shejiTime[xuanTime[j]]].indexOf(shejiArray[i].userid) == -1 ? shejiPCount[this.shejiTime[xuanTime[j]]].push(shejiArray[i].userid) : ''
+          for (var z = 0; z < xuanXuan.length; z++) {
             shejiTong[this.shejiTime[xuanTime[j]]][this.shejiXuan[xuanXuan[z]]]++
+            shejiTong[''][this.shejiXuan[xuanXuan[z]]]++
           }
         }
+
+        shejiCount['']++
+        shejiPCount[''].indexOf(shejiArray[i].userid) == -1 ? shejiPCount[''].push(shejiArray[i].userid) : ''
       }
       this.courseArray = shejiTong[this.cType]
+      this.shejiCount = shejiCount[this.cType];
+      this.shejiPCount = shejiPCount[this.cType].length;
       this.$forceUpdate();
     },
     typeChange2() {
       let huojiangArray = this.huojiangArray;
       var jibieTong = {};
       var personTong = {};
-      for(var i = 0; i < this.timeXuan.length; i++){
-          jibieTong[this.timeXuan[i]] = {}
-          personTong[this.timeXuan[i]] = []
-          for(var j = 0; j < this.jibieXuan.length; j++){
-            jibieTong[this.timeXuan[i]][this.jibieXuan[j]] = 0
-          }
+      jibieTong[''] = {};
+      personTong[''] = [];
+      for (var i = 0; i < this.timeXuan.length; i++) {
+        jibieTong[this.timeXuan[i]] = {}
+        personTong[this.timeXuan[i]] = []
+        for (var j = 0; j < this.jibieXuan.length; j++) {
+          jibieTong[this.timeXuan[i]][this.jibieXuan[j]] = 0
+          jibieTong[''][this.jibieXuan[j]] = 0
+        }
       }
-      for(var i = 0; i < huojiangArray.length; i++){
+      for (var i = 0; i < huojiangArray.length; i++) {
         let Json = JSON.parse(huojiangArray[i].courseJson)
         let xuanTime = Json[0].json.answer2
         let xuanXuan = Json[2].json.answer2
         console.log(xuanXuan);
-        for(var j = 0; j < xuanTime.length; j++){
-          if(personTong[this.timeXuan[xuanTime[j]]].indexOf(huojiangArray[i].userid) == -1){
+        for (var j = 0; j < xuanTime.length; j++) {
+          if (personTong[this.timeXuan[xuanTime[j]]].indexOf(huojiangArray[i].userid) == -1) {
             personTong[this.timeXuan[xuanTime[j]]].push(huojiangArray[i].userid)
           }
-          for(var z = 0; z < xuanXuan.length; z++){
+          for (var z = 0; z < xuanXuan.length; z++) {
             jibieTong[this.timeXuan[xuanTime[j]]][this.jibieXuan[xuanXuan[z]]]++
+            jibieTong[''][this.jibieXuan[xuanXuan[z]]]++
           }
         }
+        if (personTong[''].indexOf(huojiangArray[i].userid) == -1) {
+          personTong[''].push(huojiangArray[i].userid)
+        }
       }
       var a = Object.keys(jibieTong[this.cType2])
       let huojiangCont = 0
       let huojiangPCont = personTong[this.cType2].length
-      for(var i = 0; i < a.length; i++){
-        huojiangCont+= jibieTong[this.cType2][a[i]]
+      for (var i = 0; i < a.length; i++) {
+        huojiangCont += jibieTong[this.cType2][a[i]]
       }
       this.huojiangCont = huojiangCont
       this.huojiangPCont = huojiangPCont
@@ -413,22 +439,25 @@ export default {
     typeChange3() {
       let huojiangArray = this.huojiangArray;
       var jibieTong = {};
-      for(var i = 0; i < this.timeXuan.length; i++){
+      jibieTong[''] = {}
+      for (var i = 0; i < this.timeXuan.length; i++) {
         jibieTong[this.timeXuan[i]] = {}
-          for(var j = 0; j < this.mingciXuan.length; j++){
-            jibieTong[this.timeXuan[i]][this.mingciXuan[j]] = 0
-          }
+        for (var j = 0; j < this.mingciXuan.length; j++) {
+          jibieTong[this.timeXuan[i]][this.mingciXuan[j]] = 0
+          jibieTong[''][this.mingciXuan[j]] = 0
+        }
       }
 
-      for(var i = 0; i < huojiangArray.length; i++){
+      for (var i = 0; i < huojiangArray.length; i++) {
         let Json = JSON.parse(huojiangArray[i].courseJson)
         let xuanTime = Json[0].json.answer2
         let xuanXuan = Json[3].json.answer2
         console.log(xuanXuan);
 
-        for(var j = 0; j < xuanTime.length; j++){
-          for(var z = 0; z < xuanXuan.length; z++){
+        for (var j = 0; j < xuanTime.length; j++) {
+          for (var z = 0; z < xuanXuan.length; z++) {
             jibieTong[this.timeXuan[xuanTime[j]]][this.mingciXuan[xuanXuan[z]]]++
+            jibieTong[''][this.mingciXuan[xuanXuan[z]]]++
           }
         }
       }
@@ -439,35 +468,42 @@ export default {
       let deyuArray = this.deyuArray;
       var jibieTong = {};
       var personTong = {};
-      for(var i = 0; i < this.deyuTimeXuan.length; i++){
+      jibieTong[''] = {}
+      personTong[''] = []
+      for (var i = 0; i < this.deyuTimeXuan.length; i++) {
         jibieTong[this.deyuTimeXuan[i]] = {}
-          personTong[this.deyuTimeXuan[i]] = []
-          for(var j = 0; j < this.deyuJibieXuan.length; j++){
-            jibieTong[this.deyuTimeXuan[i]][this.deyuJibieXuan[j]] = 0
-          }
+        personTong[this.deyuTimeXuan[i]] = []
+        for (var j = 0; j < this.deyuJibieXuan.length; j++) {
+          jibieTong[this.deyuTimeXuan[i]][this.deyuJibieXuan[j]] = 0
+          jibieTong[''][this.deyuJibieXuan[j]] = 0
+        }
       }
 
-      for(var i = 0; i < deyuArray.length; i++){
+      for (var i = 0; i < deyuArray.length; i++) {
         let Json = JSON.parse(deyuArray[i].courseJson)
         let xuanTime = Json[0].json.answer2
         let xuanXuan = Json[3].json.answer2
         console.log(xuanXuan);
 
-        for(var j = 0; j < xuanTime.length; j++){
-          if(personTong[this.deyuTimeXuan[xuanTime[j]]].indexOf(deyuArray[i].userid) == -1){
+        for (var j = 0; j < xuanTime.length; j++) {
+          if (personTong[this.deyuTimeXuan[xuanTime[j]]].indexOf(deyuArray[i].userid) == -1) {
             personTong[this.deyuTimeXuan[xuanTime[j]]].push(deyuArray[i].userid)
           }
-          for(var z = 0; z < xuanXuan.length; z++){
+          for (var z = 0; z < xuanXuan.length; z++) {
             jibieTong[this.deyuTimeXuan[xuanTime[j]]][this.deyuJibieXuan[xuanXuan[z]]]++
+            jibieTong[''][this.deyuJibieXuan[xuanXuan[z]]]++
           }
         }
+        if (personTong[''].indexOf(deyuArray[i].userid) == -1) {
+          personTong[''].push(deyuArray[i].userid)
+        }
       }
 
       var a = Object.keys(jibieTong[this.cType4])
       let huojiangCont = 0
       let huojiangPCont = personTong[this.cType4].length
-      for(var i = 0; i < a.length; i++){
-        huojiangCont+= jibieTong[this.cType4][a[i]]
+      for (var i = 0; i < a.length; i++) {
+        huojiangCont += jibieTong[this.cType4][a[i]]
       }
       this.deyuCont = huojiangCont
       this.deyuPCont = huojiangPCont
@@ -490,7 +526,7 @@ export default {
       this.ajax
         .post(this.$store.state.api + "selectDataBoardTest", params)
         .then((res) => {
-          
+
           this.isLoading = false;
           let _cid1 = 'bf08fbbb-8a84-11ee-b98c-005056b86db5'; //个人发展规划
           let _cid2 = '90017320-8a9a-11ee-b98c-005056b86db5'; //教育观树
@@ -523,15 +559,9 @@ export default {
           let allTests = res.data[8]
 
           let shejiArray = allTests.filter(item => item.courseid == _cid6) // 我的教学设计
-          let shejiCount = 0
-          let shejiPCount = []
-          shejiArray.forEach(element => {
-            shejiCount++
-            shejiPCount.indexOf(element.userid) == -1 ? shejiPCount.push(element.userid) : ''
-          });
-          this.shejiCount = shejiCount;
-          this.shejiPCount = shejiPCount.length;
-          
+
+
+
           let shejiJson = JSON.parse(shejiArray[0].chapters)
           let shejiTimeArray = shejiJson[1].json.array
           let shejiXuanArray = shejiJson[2].json.array
@@ -543,10 +573,10 @@ export default {
           shejiXuanArray.forEach(el => {
             shejiXuan.push(el.option)
           })
-          
+
           this.shejiArray = shejiArray
           this.shejiTime = shejiTime
-          this.shejiXuan = shejiXuan  
+          this.shejiXuan = shejiXuan
           this.cType = shejiTime[0]
           this.typeChange1()
 
@@ -554,20 +584,20 @@ export default {
           let guanshuArray = allTests.filter(item => item.courseid == _cid2) // 教育观树
           this.guihuaArray = guihuaArray
           this.guanshuArray = guanshuArray
-          let huodongArray = [...guihuaArray,...guanshuArray]
+          let huodongArray = [...guihuaArray, ...guanshuArray]
           let huodongJson = {}
-          for(var i = 0;i<huodongArray.length;i++){
-            if(!huodongJson[huodongArray[i].userid]){
+          for (var i = 0; i < huodongArray.length; i++) {
+            if (!huodongJson[huodongArray[i].userid]) {
               huodongJson[huodongArray[i].userid] = {
-                name:huodongArray[i].username,
-                guihua:0,
-                guanshu:0
+                name: huodongArray[i].username,
+                guihua: 0,
+                guanshu: 0
               }
             }
-            if(huodongArray[i].courseid == _cid1){
+            if (huodongArray[i].courseid == _cid1) {
               huodongJson[huodongArray[i].userid].guihua++
             }
-            if(huodongArray[i].courseid == _cid2){
+            if (huodongArray[i].courseid == _cid2) {
               huodongJson[huodongArray[i].userid].guanshu++
             }
           }
@@ -593,8 +623,8 @@ export default {
 
           this.huojiangArray = huojiangArray
           this.timeXuan = timeXuan
-          this.jibieXuan = jibieXuan  
-          this.mingciXuan = mingciXuan  
+          this.jibieXuan = jibieXuan
+          this.mingciXuan = mingciXuan
           this.cType2 = timeXuan[0]
           this.cType3 = timeXuan[0]
           this.typeChange2()

+ 13 - 1
src/components/pages/test/index.vue

@@ -18,6 +18,7 @@
                         ">培训管理</span>
                 </div>
                 <div class="student_button">
+                    <el-button type="primary" class="bgColor" @click="openTestDataBoard()" v-if="oid == '4c686762-1d0a-11ed-8c78-005056b86db5'">评测看板</el-button>
                     <el-button type="primary" class="bgColor" @click="goToCourse()">新建评测</el-button>
                 </div>
 
@@ -231,6 +232,7 @@ import "../../../common/aws-sdk-2.235.1.min";
 import EditorBar from "../../../components/tools/wangEnduit";
 import CourseProblem from "../components/courseProblem";
 export default {
+    name:'test',
     components: { EditorBar, CourseProblem },
     data() {
         return {
@@ -387,6 +389,9 @@ export default {
         get(cid) {
             window.parent.postMessage({ cid: cid, screenType: "3s" }, "*");
         },
+        openTestDataBoard(){
+            window.parent.postMessage({ tools: "dataBoardTest" }, "*");
+        },
         getA(cid) {
             this.$router.push("/courseProgress?cid=" + cid + "&userid=" +
                 this.userid +
@@ -784,7 +789,14 @@ export default {
                 });
         }
     },
-    created() {
+    activated(){
+        console.log(1);
+        this.selectAllType();
+        this.getCourse();
+        this.selectTestType();
+    },
+    mounted() {
+        console.log(2);
         if (this.role == '1') {
             this.groupA = '0'
         }

+ 7 - 7
src/components/pages/testPerson/test/test.vue

@@ -211,11 +211,11 @@ export default {
                 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];
+                        for (var k2 = 0; k2 < el.array.length; k2++) {
+                            let item = el.array[k2];
                             if (item.ttype == 2 && item.array.length > 0) {
                                 for (var z = 0; z < item.array.length; z++) {
-                                    let item2 = item.array[k];
+                                    let item2 = item.array[k2];
                                     if (
                                         item2.ttype == 1 &&
                                         item2.type == 5 &&
@@ -223,8 +223,8 @@ export default {
                                         item2.json.file &&
                                         item2.json.file.length > 0
                                     ) {
-                                        for (var k = 0; k < item2.json.file.length; k++) {
-                                            let ik = item2.json.file[k];
+                                        for (var k4 = 0; k4 < item2.json.file.length; k4++) {
+                                            let ik = item2.json.file[k4];
                                             if (ik.type == 3) {
                                                 _img = ik.url;
                                                 break s;
@@ -239,8 +239,8 @@ export default {
                                 item.json.file &&
                                 item.json.file.length > 0
                             ) {
-                                for (var k = 0; k < item.json.file.length; k++) {
-                                    let ik = item.json.file[k];
+                                for (var k3 = 0; k3 < item.json.file.length; k3++) {
+                                    let ik = item.json.file[k3];
                                     if (ik.type == 3) {
                                         _img = ik.url;
                                         break s;

+ 2 - 0
src/router/index.js

@@ -865,8 +865,10 @@ export default new Router({
         },
         {
             path: '/test',
+            name: 'test',
             component: test,
             meta: {
+                keepAlive: true,
                 requireAuth: '' // 是否需要判断是否登录,这里是需要判断
             }
         },

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov