lsc hace 1 año
padre
commit
bebdec878c
Se han modificado 36 ficheros con 309 adiciones y 96 borrados
  1. 1 1
      dist/index.html
  2. 0 0
      dist/static/css/app.2168e4f20c9cc566612c67cb1e4ca171.css
  3. 0 0
      dist/static/css/app.2168e4f20c9cc566612c67cb1e4ca171.css.map
  4. 0 0
      dist/static/css/app.8742bba2c65a831271fcdf7202c38967.css
  5. 0 0
      dist/static/css/app.8742bba2c65a831271fcdf7202c38967.css.map
  6. 0 0
      dist/static/js/app.96bd66ec194fea366b53.js
  7. 0 0
      dist/static/js/app.96bd66ec194fea366b53.js.map
  8. 0 0
      dist/static/js/manifest.3512a67a6213c2df4180.js.map
  9. 5 0
      src/App.vue
  10. 14 6
      src/components/pages/dataBoardNew/course/chartList/toolUse.vue
  11. 14 2
      src/components/pages/dataBoardNew/course/chartList/toolUse2.vue
  12. 14 2
      src/components/pages/dataBoardNew/project/chartList/toolUse.vue
  13. 14 2
      src/components/pages/dataBoardNew/school/barToolUser/index.vue
  14. 2 2
      src/components/pages/dataBoardNew/school/index.vue
  15. 15 2
      src/components/pages/dataBoardNew/school/toolUser/index.vue
  16. 2 2
      src/components/pages/dataBoardNew/student/index.vue
  17. 14 2
      src/components/pages/dataBoardNew/student/toolUser/index.vue
  18. 14 2
      src/components/pages/dataBoardNew/student/toolUser2/index.vue
  19. 14 2
      src/components/pages/dataBoardNew/teacher/chartList/toolUse.vue
  20. 2 2
      src/components/pages/dataBoardTest/index.vue
  21. 2 2
      src/components/pages/test/add/addTest.vue
  22. 1 1
      src/components/pages/test/add/edit/index.vue
  23. 1 1
      src/components/pages/test/add/setInfo/index.vue
  24. 3 3
      src/components/pages/test/check/check.vue
  25. 37 4
      src/components/pages/test/check/index.vue
  26. 2 2
      src/components/pages/test/check/index2.vue
  27. 2 2
      src/components/pages/test/check/indexJiu.vue
  28. 13 2
      src/components/pages/test/data/checkPie.vue
  29. 1 1
      src/components/pages/test/data/pie2.vue
  30. 114 43
      src/components/pages/test/index.vue
  31. 1 1
      src/components/pages/test/shareBox/index.vue
  32. 2 2
      src/components/pages/testPerson/test/index.vue
  33. 2 2
      src/components/pages/testPerson/test/test.vue
  34. 1 1
      src/components/pages/testStudent/index.vue
  35. 1 1
      src/components/pages/testStudent/view/check.vue
  36. 1 1
      src/components/pages/testStudent/view/preview.vue

+ 1 - 1
dist/index.html

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

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/css/app.2168e4f20c9cc566612c67cb1e4ca171.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/css/app.2168e4f20c9cc566612c67cb1e4ca171.css.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/css/app.8742bba2c65a831271fcdf7202c38967.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/css/app.8742bba2c65a831271fcdf7202c38967.css.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/app.96bd66ec194fea366b53.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/app.96bd66ec194fea366b53.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


+ 5 - 0
src/App.vue

@@ -510,6 +510,11 @@ html::-webkit-scrollbar-thumb {
 }
 
 .el-table-filter__checkbox-group label.el-checkbox {
+  display: flex !important;
+}
+
+.el-table-filter__bottom{
   display: flex;
+  justify-content: flex-end;
 }
 </style>

+ 14 - 6
src/components/pages/dataBoardNew/course/chartList/toolUse.vue

@@ -134,9 +134,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max =
-          Object.keys(this.Josn).length +
-          (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -166,9 +170,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max =
-          Object.keys(this.Josn).length +
-          (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 14 - 2
src/components/pages/dataBoardNew/course/chartList/toolUse2.vue

@@ -109,7 +109,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +145,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 14 - 2
src/components/pages/dataBoardNew/project/chartList/toolUse.vue

@@ -109,7 +109,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +145,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 14 - 2
src/components/pages/dataBoardNew/school/barToolUser/index.vue

@@ -109,7 +109,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +145,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 2 - 2
src/components/pages/dataBoardNew/school/index.vue

@@ -780,10 +780,10 @@ export default {
           let loginCountYearArray = {};
           let timeArray = [];
           for (var i = 0; i < loginCountYear.length; i++) {
-            timeArray.push(loginCountYear[i].time);
+            timeArray.push({time:loginCountYear[i].time,num:loginCountYear[i].usernum});
           }
           timeArray.forEach((item) => {
-            loginCountYearArray[item] = loginCountYearArray[item] + 1 || 1;
+            loginCountYearArray[item.time] = loginCountYearArray[item.time] + item.num || item.num;
           });
           // for (var i = Month; i > Month - 12; i--) {
           //   if (i <= 0) {

+ 15 - 2
src/components/pages/dataBoardNew/school/toolUser/index.vue

@@ -109,7 +109,14 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        // this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +146,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 2 - 2
src/components/pages/dataBoardNew/student/index.vue

@@ -709,10 +709,10 @@ export default {
           let loginCountYearArray = {};
           let timeArray = [];
           for(var i = 0;i<loginCountYear.length;i++){
-            timeArray.push(loginCountYear[i].time);
+            timeArray.push({time:loginCountYear[i].time,num:loginCountYear[i].usernum});
           }
           timeArray.forEach((item) => {
-            loginCountYearArray[item] = loginCountYearArray[item] + 1 || 1;
+            loginCountYearArray[item.time] = loginCountYearArray[item.time] + item.num || item.num;
           });
           // for (var i = Month; i > Month - 12; i--) {
           //   if (i <= 0) {

+ 14 - 2
src/components/pages/dataBoardNew/student/toolUser/index.vue

@@ -109,7 +109,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +145,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 14 - 2
src/components/pages/dataBoardNew/student/toolUser2/index.vue

@@ -109,7 +109,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +145,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 14 - 2
src/components/pages/dataBoardNew/teacher/chartList/toolUse.vue

@@ -109,7 +109,13 @@ export default {
         );
         this.option.series.data = option;
         this.option.calendar.range = year;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
@@ -139,7 +145,13 @@ export default {
       } else {
         this.option.series.data = this.ooption;
         this.option.calendar.range = t;
-        this.option.visualMap.max = Object.keys(this.Josn).length + (10 - (Object.keys(this.Josn).length % 10));
+        let array = []
+        for(var i = 0; i < Object.keys(this.Josn).length; i++){
+          array.push(this.Josn[Object.keys(this.Josn)[i]])
+        }
+        this.option.visualMap.max = array.sort(function (a, b) {
+          return b - a;
+        })[0];
         this.chartObj.setOption(this.option, t);
       }
     },

+ 2 - 2
src/components/pages/dataBoardTest/index.vue

@@ -3,14 +3,14 @@
     <div class="db_header">
       <!-- <div class="logoTop">Logo</div> -->
       <div class="db_header_title">
-        <div v-if="type == 1">评测数据中心</div>
+        <div v-if="type == 1">表单数据中心</div>
         <!-- <div v-if="type == 2">课程数据中心</div>
         <div v-if="type == 3">学生数据中心</div>
         <div v-if="type == 5">项目数据中心</div>
         <div v-if="type == 4">教师数据中心</div> -->
       </div>
       <div class="db_check">
-        <div :class="{ active: type == 1 }" @click="setType(1)">评测数据</div>
+        <div :class="{ active: type == 1 }" @click="setType(1)">表单数据</div>
         <!-- <div :class="{ active: type == 2 }" @click="setType(2)">课程数据</div>
         <div :class="{ active: type == 5 }" @click="setType(5)" v-if="scourseLength > 0">项目数据</div>
         <div :class="{ active: type == 3 }" @click="setType(3)">学生数据</div>

+ 2 - 2
src/components/pages/test/add/addTest.vue

@@ -15,9 +15,9 @@
                                     org +
                                     '&role=' +
                                     role,
-                            }">评测管理</el-breadcrumb-item>
+                            }">表单管理</el-breadcrumb-item>
                             <el-breadcrumb-item>
-                                <span style="color: rgb(15, 126, 255)">新建评测</span>
+                                <span style="color: rgb(15, 126, 255)">新建表单</span>
                             </el-breadcrumb-item>
                         </el-breadcrumb>
                     </div>

+ 1 - 1
src/components/pages/test/add/edit/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="rightBox">
     <div class="title">
-      <div class="c_info_title">创建评测内容</div>
+      <div class="c_info_title">创建表单内容</div>
     </div>
     <div class="edit_top">
       <div class="edit_btn">

+ 1 - 1
src/components/pages/test/add/setInfo/index.vue

@@ -76,7 +76,7 @@
         </div>
         <div class="whiteBg" style="background:#fff;margin: 10px 0;min-height: 300px;">
             <div class="whiteBg" style="border-radius: 0">
-                <div class="c_info_title">创建评测内容</div>
+                <div class="c_info_title">创建表单内容</div>
                 <div class="c_info_box">
                     <div class="c_info_tab">
                         <!-- <span :class="{ active: type == 1 }" @click="type = 1">智能创建</span> -->

+ 3 - 3
src/components/pages/test/check/check.vue

@@ -17,7 +17,7 @@
                     '&role=' +
                     role,
                 }"
-                >评测管理</el-breadcrumb-item
+                >表单管理</el-breadcrumb-item
               >
               <el-breadcrumb-item
                 v-if="type == 3"
@@ -35,7 +35,7 @@
                     role,
                 }"
               >
-                查看评测
+                查看表单
               </el-breadcrumb-item>
               <el-breadcrumb-item
                 v-else
@@ -53,7 +53,7 @@
                     role,
                 }"
               >
-                查看评测
+                查看表单
               </el-breadcrumb-item>
               <el-breadcrumb-item>
                 <span style="color: rgb(15, 126, 255)">{{ name }}</span>

+ 37 - 4
src/components/pages/test/check/index.vue

@@ -15,9 +15,9 @@
                   org +
                   '&role=' +
                   role,
-              }">评测管理</el-breadcrumb-item>
+              }">表单管理</el-breadcrumb-item>
               <el-breadcrumb-item>
-                <span style="color: rgb(15, 126, 255)">查看评测</span>
+                <span style="color: rgb(15, 126, 255)">查看表单</span>
               </el-breadcrumb-item>
             </el-breadcrumb>
           </div>
@@ -154,7 +154,7 @@
             </div>
           </div>
           <div class="table_content" v-if="stype == 2">
-            <el-table class="el-table" ref="table" :data="worksArray" border :height="tableHeight" :fit="true" :key="1"
+            <el-table class="el-table" ref="table" :data="worksArray" border :height="tableHeight" :fit="true" :key="2"
               v-loading="isLoading" style="width: 100%" :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }">
               <el-table-column fixed label="序号" width="80px" align="left">
                 <template slot-scope="scope">
@@ -163,6 +163,8 @@
               </el-table-column>
               <el-table-column fixed prop="name" label="提交人" width="120px" align="left">
               </el-table-column>
+              <el-table-column prop="time" label="提交时间" width="170px" align="left">
+              </el-table-column>
               <el-table-column v-for="(item, index) in chapters" :key="index" :label="item.json.title" min-width="150"
                 align="left" 
                 :filters="item.type == 1 ? item.nameFilters : null"
@@ -198,6 +200,7 @@
               <el-table-column label="操作" width="200px" fixed="right">
                 <template slot-scope="scope">
                   <el-button @click="getTest(scope.row)" type="primary" size="small">查看</el-button>
+                  <el-button @click="deleteTest(scope.row.id)" type="primary" size="small">删除</el-button>
                 </template>
               </el-table-column>
             </el-table>
@@ -432,6 +435,7 @@ export default {
                 id: this.works[i].id,
                 userid: this.works[i].userid,
                 name: this.works[i].username,
+                time: this.works[i].time,
                 array: _json
               })
             }
@@ -670,6 +674,33 @@ export default {
 
       });
     },
+    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.getData();
+            })
+            .catch((err) => {
+              console.error(err);
+            });
+        })
+        .catch(() => {
+          return;
+        });
+
+    }
   },
   beforeDestroy() {
     document.getElementsByTagName('html')[0].style.overflow = ''
@@ -913,7 +944,9 @@ export default {
 }
 
 
-.title_content {}
+.title_content {
+  padding-bottom: 10px;
+}
 
 .title_content>.title_box {
   width: calc(100% - 48px);

+ 2 - 2
src/components/pages/test/check/index2.vue

@@ -17,10 +17,10 @@
                     '&role=' +
                     role,
                 }"
-                >评测管理</el-breadcrumb-item
+                >表单管理</el-breadcrumb-item
               >
               <el-breadcrumb-item>
-                <span style="color: rgb(15, 126, 255)">查看评测</span>
+                <span style="color: rgb(15, 126, 255)">查看表单</span>
               </el-breadcrumb-item>
             </el-breadcrumb>
           </div>

+ 2 - 2
src/components/pages/test/check/indexJiu.vue

@@ -17,10 +17,10 @@
                     '&role=' +
                     role,
                 }"
-                >评测管理</el-breadcrumb-item
+                >表单管理</el-breadcrumb-item
               >
               <el-breadcrumb-item>
-                <span style="color: rgb(15, 126, 255)">查看评测</span>
+                <span style="color: rgb(15, 126, 255)">查看表单</span>
               </el-breadcrumb-item>
             </el-breadcrumb>
           </div>

+ 13 - 2
src/components/pages/test/data/checkPie.vue

@@ -1,7 +1,8 @@
 <template>
     <div class="data_body">
         <div style="width: 100%; height: 100%">
-            <div id="charts_canvas" class="echart" style="width: 100%; height: 100%"></div>
+            <div id="charts_canvas" class="echart" style="width: 100%; height: 100%" v-show="this.ooption.data.length"></div>
+            <div v-show="!this.ooption.data.length" class="noneBox">暂无数据</div>
         </div>
     </div>
 </template>
@@ -84,7 +85,9 @@ export default {
                 data: []
             }
             for(var i = 0; i < array.length; i++){
-                this.ooption.data.push({value: array[i].count, name: array[i].name})
+                if(array[i].count > 0){
+                    this.ooption.data.push({value: array[i].count, name: array[i].name})
+                }
             }
             if (!this.chartObj) {
                 this.setChart(this.ooption);
@@ -129,4 +132,12 @@ export default {
     width: 100%;
     /* background: #fff; */
 }
+
+.noneBox { 
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 100%;
+    width: 100%;
+}
 </style>

+ 1 - 1
src/components/pages/test/data/pie2.vue

@@ -108,7 +108,7 @@ export default {
                     for (var i = 0; i < _this.option.series[0].data.length; i++) {
                         sum += _this.option.series[0].data[i].value;
                     }
-                    return '{a|' + sum + '}\n{b|表单总数}';
+                    return '{a|' + sum + '}\n{b|教师总数}';
                 }
                 // 初始化雷达图
                 this.chartObj = chartObj;

+ 114 - 43
src/components/pages/test/index.vue

@@ -115,8 +115,8 @@
                             </div>
                             <!-- <el-button type="primary" @click="searchCourse">查询</el-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>
+                                v-if="oid == '4c686762-1d0a-11ed-8c78-005056b86db5'">表单看板</el-button>
+                            <el-button type="primary" class="bgColor" @click="goToCourse()">新建表单</el-button>
                         </div>
                     </div>
                 </div>
@@ -194,8 +194,10 @@
                                                 item.course_teacher.indexOf(userid) !== -1) || role == '1')"></span>
                                     </el-tooltip>
                                 </div>
-                                <div class="test_type" :class="{ no: item.look == '1', is: item.look == '2' }">
-                                    <span>{{ item.look == '1' ? '未发布' : '已发布' }}</span>
+                                <!-- <div class="test_type" :class="{ no: item.look == '1', is: item.look == '2' }"> -->
+                                <div class="test_type" :class="getLookType(item)">
+                                    <!-- <span>{{ item.look == '1' ? '未发布' : '已发布' }}</span> -->
+                                    <span>{{ getLook(item) }}</span>
                                 </div>
                             </div>
                         </div>
@@ -223,9 +225,11 @@
                     </el-table-column>
                     <el-table-column label="表单状态" min-width="80" align="center">
                         <template slot-scope="scope">
+                            <!-- <div class="test_type2" style="width: fit-content;margin: 0 auto;" :class="{ no: scope.row.look == '1', is: scope.row.look == '2' }"> -->
                             <div class="test_type2" style="width: fit-content;margin: 0 auto;"
-                                :class="{ no: scope.row.look == '1', is: scope.row.look == '2' }">
-                                <span>{{ scope.row.look == '1' ? '未发布' : '已发布' }}</span>
+                                :class="getLookType(scope.row)">
+                                <!-- <span>{{ scope.row.look == '1' ? '未发布' : '已发布' }}</span> -->
+                                <span>{{ getLook(scope.row) }}</span>
                             </div>
                         </template>
                     </el-table-column>
@@ -238,7 +242,8 @@
                             <el-button @click="copyTest(scope.row.courseId)" type="text" size="small">复制</el-button>
                             <el-button @click="shareTest(scope.row)" type="text" size="small">提醒</el-button>
                             <el-button @click="deleteCourse(scope.row.courseId)" type="text" size="small"
-                                style="color: #EE3E3E;" v-if="((scope.row.userid == userid) ||
+                                style="color: #EE3E3E;"
+                                v-if="((scope.row.userid == userid) ||
                                     (scope.row.course_teacher &&
                                         scope.row.course_teacher.indexOf(userid) !== -1) || role == '1')">删除</el-button>
                         </template>
@@ -441,10 +446,71 @@ export default {
             pageSize2: 20,
             course2: [],
             dataJ: {},
-            typeJArray:[],
+            typeJArray: [],
             zscore: 0
         };
     },
+    computed: {
+        getLook() {
+            return function (item) {
+                let content = "";
+                if (item.look == '1') {
+                    content = '未发布'
+                }
+                let now = new Date().getTime()
+                let isTime = item.over_at && new Date(item.over_at).getTime()
+                if (item.over_at && item.look == '2' && now > isTime && ((item.isUserCount > 0 && item.isUserCount > item.worksPerson) || item.isUserCount == 0)) {
+                    content = '逾期'
+                }
+
+                if (((item.over_at && item.look == '2' && isTime > now) || (!item.over_at && item.look == '2')) && ((item.isUserCount == 0 && item.worksPerson > 0) || (item.isUserCount > 0 && 0 < item.worksPerson && item.worksPerson < item.isUserCount))) {
+                    content = '进行中'
+                }
+
+
+                if (((item.over_at && item.look == '2' && isTime > now) || (!item.over_at && item.look == '2')) && item.worksPerson == 0) {
+                    content = '未进行'
+                }
+
+                if (item.look == '2' && (item.isUserCount > 0 && item.isUserCount <= item.worksPerson)) {
+                    content = '已完成'
+                }
+                return content;
+            };
+        },
+        getLookType() {
+            return function (item) {
+                let content = "";
+                if (item.look == '1') {
+                    // content = '未发布'
+                    content = 'no'
+                }
+                let now = new Date().getTime()
+                let isTime = item.over_at && new Date(item.over_at).getTime()
+                if (item.over_at && item.look == '2' && now > isTime && ((item.isUserCount > 0 && item.isUserCount > item.worksPerson) || item.isUserCount == 0)) {
+                    // content = '逾期'
+                    content = 'noTime'
+                }
+
+                if (((item.over_at && item.look == '2' && isTime > now) || (!item.over_at && item.look == '2')) && ((item.isUserCount == 0 && item.worksPerson > 0) || (item.isUserCount > 0 && 0 < item.worksPerson && item.worksPerson < item.isUserCount))) {
+                    // content = '进行中'
+                    content = 'doing'
+                }
+
+
+                if (((item.over_at && item.look == '2' && isTime > now) || (!item.over_at && item.look == '2')) && item.worksPerson == 0) {
+                    // content = '未进行'
+                    content = 'nodo'
+                }
+
+                if (item.look == '2' && (item.isUserCount > 0 && item.isUserCount <= item.worksPerson)) {
+                    // content = '已完成'
+                    content = 'is'
+                }
+                return content;
+            };
+        }
+    },
     methods: {
         random() {
             return Math.random().toString(36).substr(2);
@@ -514,7 +580,7 @@ export default {
             // this.$router.push(path);
         },
         goToCourse2(item) {
-            if(item.worksCount > 0){
+            if (item.worksCount > 0) {
                 this.$confirm("该表单已存在数据,如果修改题目可能会导致数据错乱,是否进入编辑编辑?", "提示", {
                     confirmButtonText: "确定",
                     cancelButtonText: "取消",
@@ -538,7 +604,7 @@ export default {
                     .catch(() => {
                         return;
                     });
-            }else{
+            } else {
                 this.$router.push(
                     "/addTest?cid=" +
                     item.courseId +
@@ -810,29 +876,29 @@ export default {
                     for (var i = 0; i < test.length; i++) {
                         if (test[i].look == '1') {
                             dataJ.noLook++
-                            console.log('index-----------',i)
+                            console.log('index-----------', i)
                         }
                         let now = new Date().getTime()
                         let isTime = test[i].over_at && new Date(test[i].over_at).getTime()
                         if (test[i].over_at && test[i].look == '2' && now > isTime && ((test[i].isUserCount > 0 && test[i].isUserCount > test[i].isWorkCount) || test[i].isUserCount == 0)) {
                             dataJ.no++
-                            console.log('index-----------',i)
+                            console.log('index-----------', i)
                         }
 
-                        if (((test[i].over_at && test[i].look == '2' && isTime > now) || (!test[i].over_at && test[i].look == '2')) && ((test[i].isUserCount == 0 &&  test[i].isWorkCount > 0) || (test[i].isUserCount > 0 &&  0 < test[i].isWorkCount && test[i].isWorkCount < test[i].isUserCount))) {
+                        if (((test[i].over_at && test[i].look == '2' && isTime > now) || (!test[i].over_at && test[i].look == '2')) && ((test[i].isUserCount == 0 && test[i].isWorkCount > 0) || (test[i].isUserCount > 0 && 0 < test[i].isWorkCount && test[i].isWorkCount < test[i].isUserCount))) {
                             dataJ.doing++
-                            console.log('index-----------',i)
+                            console.log('index-----------', i)
                         }
 
 
                         if (((test[i].over_at && test[i].look == '2' && isTime > now) || (!test[i].over_at && test[i].look == '2')) && test[i].isWorkCount == 0) {
                             dataJ.nodo++
-                            console.log('index-----------',i)
+                            console.log('index-----------', i)
                         }
 
-                        if(test[i].look == '2' && (test[i].isUserCount > 0 && test[i].isUserCount <= test[i].isWorkCount)){
+                        if (test[i].look == '2' && (test[i].isUserCount > 0 && test[i].isUserCount <= test[i].isWorkCount)) {
                             dataJ.is++
-                            console.log('index-----------',i)
+                            console.log('index-----------', i)
                         }
                     }
                     this.dataJ = dataJ
@@ -849,36 +915,36 @@ export default {
                             }
                         }
                         typeJ['qita'] = {
-                                name: '其他',
-                                count: 0,
-                                scroe: 0,
-                                zcount: 0,
-                                kcount: 0
-                            }
-                        for(var i = 0; i < work.length; i++) {
-                            if(work[i].typeid){
+                            name: '其他',
+                            count: 0,
+                            scroe: 0,
+                            zcount: 0,
+                            kcount: 0
+                        }
+                        for (var i = 0; i < work.length; i++) {
+                            if (work[i].typeid) {
                                 let score = this.getScore(work[i].courseJson)
                                 typeJ[work[i].typeid].count++
-                                typeJ[work[i].typeid].scroe+=score
-                            }else{
+                                typeJ[work[i].typeid].scroe += score
+                            } else {
                                 let score = this.getScore(work[i].courseJson)
                                 typeJ['qita'].count++
-                                typeJ['qita'].scroe+=score
+                                typeJ['qita'].scroe += score
                             }
                         }
                         let typeJArray = Object.values(typeJ)
                         let zscore = 0
-                        for(var i = 0; i < typeJArray.length; i++){
-                            typeJArray[i].zcount = typeJArray[i].scroe ? Math.round(typeJArray[i].scroe/typeJArray[i].count) : 0
+                        for (var i = 0; i < typeJArray.length; i++) {
+                            typeJArray[i].zcount = typeJArray[i].scroe ? Math.round(typeJArray[i].scroe / typeJArray[i].count) : 0
                             zscore += typeJArray[i].zcount
                         }
                         this.zscore = zscore ? zscore / typeJArray.length : 0
-                        for(var i = 0; i < test.length; i++){
+                        for (var i = 0; i < test.length; i++) {
                             let now = new Date().getTime()
                             let isTime = test[i].over_at && new Date(test[i].over_at).getTime()
                             if (test[i].over_at && test[i].look == '2' && now > isTime && test[i].typeid && ((test[i].isUserCount > 0 && test[i].isUserCount > test[i].isWorkCount) || test[i].isUserCount == 0)) {
                                 typeJ[test[i].typeid].kcount++
-                            }else if (test[i].over_at && test[i].look == '1' && now > isTime && ((test[i].isUserCount > 0 && test[i].isUserCount > test[i].isWorkCount) || test[i].isUserCount == 0)) {
+                            } else if (test[i].over_at && test[i].look == '1' && now > isTime && ((test[i].isUserCount > 0 && test[i].isUserCount > test[i].isWorkCount) || test[i].isUserCount == 0)) {
                                 typeJ['qita'].kcount++
                             }
                         }
@@ -948,7 +1014,7 @@ export default {
         },
         deleteCourse(cid) {
             // if (this.time()) {
-            this.$confirm("确定删除此评测吗?", "提示", {
+            this.$confirm("确定删除此表单吗?", "提示", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",
                 type: "warning",
@@ -1942,6 +2008,21 @@ export default {
     background-color: rgba(235, 154, 96, .1);
 }
 
+.noTime {
+    color: rgb(77, 77, 77);
+    background-color: rgba(77, 77, 77, .1);
+}
+
+.doing {
+    color: rgb(54, 116, 231);
+    background-color: rgba(54, 116, 231, .1);
+}
+
+.nodo {
+    color: rgb(97, 184, 255);
+    background-color: rgba(97, 184, 255, .1);
+}
+
 .test_type2 {
     font-size: 14px;
     border-radius: 5px;
@@ -1949,16 +2030,6 @@ export default {
     padding: 3px 8px;
 }
 
-.is {
-    color: rgb(57, 204, 127);
-    background-color: rgba(57, 204, 127, .1);
-}
-
-.no {
-    color: rgb(235, 154, 96);
-    background-color: rgba(235, 154, 96, .1);
-}
-
 .sub_head {
     position: relative;
     font-size: 20px;

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

@@ -130,7 +130,7 @@ export default {
         copy2(){
             let url = "https://beta.cloud.cocorobo.cn/#/testDetail?testid=" + this.testJson.courseId
             this.copyText2 = 
-            `表单名称:${this.testJson.title}\n表单范围:${this.testJson.juriP ? this.testJson.juriP : '所有人'}\n${this.testJson.overtime ? '截止时间:'+this.testJson.overtime +'\n' : ''}${this.testJson.juriP ? '未完成人数:'+this.noCount +'\n' : ''}${this.testJson ? '已完成人数:'+this.testJson.worksPerson +'\n' : ''}${this.testJson.juriP && this.pname.lengt ? '未完成名单:'+this.pname.join(',') +'\n' : ''}链接提醒:${url}`;
+            `表单名称:${this.testJson.title}\n表单范围:${this.testJson.juriP ? this.testJson.juriP : '所有人'}\n${this.testJson.overtime ? '截止时间:'+this.testJson.overtime +'\n' : ''}${this.testJson.juriP ? '未完成人数:'+this.noCount +'\n' : ''}${this.testJson ? '已完成人数:'+this.testJson.worksPerson +'\n' : ''}${this.testJson.juriP && this.pname.length ? '未完成名单:'+this.pname.join(',') +'\n' : ''}链接提醒:${url}`;
             var clipboard = new Clipboard(".tag-read2");
             clipboard.on("success", (e) => {
                 this.$message.success("复制成功");

+ 2 - 2
src/components/pages/testPerson/test/index.vue

@@ -8,7 +8,7 @@
         <span @click="checkType(4)" :class="{active:type == 4}">教研活动</span>
       </div>
       <div>
-        <el-button type="primary" class="bgColor" @click="returnA()">评测中心</el-button>
+        <el-button type="primary" class="bgColor" @click="returnA()">表单中心</el-button>
       </div>
     </div>
     <Test :oid="oid" :userid="userid" v-if="type == 1"></Test>
@@ -292,7 +292,7 @@ export default {
     deleteTest(tid) {
       let _this = this
       _this
-        .$confirm("确定删除此提交的评测么?", "提示", {
+        .$confirm("确定删除此提交的表单么?", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning",

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

@@ -2,7 +2,7 @@
     <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,
@@ -423,7 +423,7 @@ export default {
         deleteTest(tid) {
             let _this = this;
             _this
-                .$confirm("确定删除此提交的评测么?", "提示", {
+                .$confirm("确定删除此提交的表单么?", "提示", {
                     confirmButtonText: "确定",
                     cancelButtonText: "取消",
                     type: "warning"

+ 1 - 1
src/components/pages/testStudent/index.vue

@@ -3,7 +3,7 @@
     <div style="width:100%;padding:0 21px;background:#fff;border-radius: 5px;box-sizing: border-box;">
       <div class="pb_head top">
         <div>
-          <span>评测中心</span>
+          <span>表单中心</span>
         </div>
         <div class="student_button">
           <el-button type="primary" class="bgColor" @click="open()">个人中心</el-button>

+ 1 - 1
src/components/pages/testStudent/view/check.vue

@@ -26,7 +26,7 @@
                   org +
                   '&role=' +
                   role,
-              }">评测中心</el-breadcrumb-item>
+              }">表单中心</el-breadcrumb-item>
               <el-breadcrumb-item>
                 <span style="color: rgb(15, 126, 255)">{{ title }}</span>
               </el-breadcrumb-item>

+ 1 - 1
src/components/pages/testStudent/view/preview.vue

@@ -26,7 +26,7 @@
                   org +
                   '&role=' +
                   role,
-              }"  v-else>评测中心</el-breadcrumb-item>
+              }"  v-else>表单中心</el-breadcrumb-item>
               <el-breadcrumb-item>
                 <span style="color: rgb(15, 126, 255)">{{ title }}</span>
               </el-breadcrumb-item>

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio