lsc 1 rok pred
rodič
commit
0d11a9ac10

+ 1 - 1
dist/index.html

@@ -25,7 +25,7 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.4c03d8bf89120f478fb11ecf4e9a4521.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.eb8bb809d7384f2d6a74.js></script></body></html><script>function stopSafari() {
+    }</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() {
     //阻止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.2168e4f20c9cc566612c67cb1e4ca171.css


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


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


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


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


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/static/js/app.a631e275c17f59004687.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


+ 4 - 0
src/App.vue

@@ -508,4 +508,8 @@ html::-webkit-scrollbar-thumb {
   position: absolute; /* 确保tooltip处于正确的定位 */
   top: 0;
 }
+
+.el-table-filter__checkbox-group label.el-checkbox {
+  display: flex;
+}
 </style>

+ 3 - 3
src/components/pages/dataBoardNew/project/index.vue

@@ -464,7 +464,7 @@ export default {
                 _month == loginCountMonthArray[j].Month &&
                 _year == loginCountMonthArray[j].Year
               ) {
-                loginCountMonthArray[j].course++;
+                loginCountMonthArray[j].course+= _timeCourse[i].coursenum;
                 break;
               }
             }
@@ -478,10 +478,10 @@ export default {
           let worksYearArray = {}
           let timeArray = [];
           for(var i = 0;i<worksArray.length;i++){
-            timeArray.push(worksArray[i].time);
+            timeArray.push({time:worksArray[i].time,num:worksArray[i].coursenum});
           }
           timeArray.forEach((item) => {
-            worksYearArray[item] = worksYearArray[item] + 1 || 1;
+            worksYearArray[item.time] = worksYearArray[item.time] + item.num || item.num;
           });
           // for (var i = Month; i > Month - 12; i--) {
           //   if (i <= 0) {

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

@@ -30,7 +30,7 @@
                             <div class="typeBox" style="display: flex;align-items: center;">
                                 <span>教研室权限:</span>
                                 <div class="checkJuri" @click="checkJuri">
-                                    <span v-if="!getCName(checkList)" style="color: #c0c4d6;">选择权限</span>
+                                    <span v-if="!getCName(checkList)" style="color: #c0c4d6;">所有人</span>
                                     <span>{{ getCName(checkList) }}</span>
                                 </div>
                             </div>
@@ -100,6 +100,7 @@
             <van-divider>
                 <div class="people_name">
                     <el-checkbox v-model="checkAll" @change="checkAllChange">全选</el-checkbox>
+                    <el-checkbox v-model="ischeckAll" @change="ischeckAllChange">所有人</el-checkbox>
                 </div>
                 <div style="max-height: 300px;overflow: auto;">
                     <el-checkbox-group v-model="checkList2" class="people_name" @change="pChange">
@@ -189,6 +190,7 @@ export default {
             checkList2: [],
             juriDialog: false,
             checkAll: false,
+            ischeckAll: false
         }
     },
     computed: {
@@ -212,7 +214,7 @@ export default {
                         }
                     }
                 }
-                return this.classJuri.length ? _people.join(',') : "";
+                return this.classJuri.length ? _people.join(',') : "所有人";
             };
         },
     },
@@ -383,6 +385,7 @@ export default {
             }
             this.checkList2 = JSON.parse(JSON.stringify(clist));
             this.checkAll = this.checkList2.length == this.classJuri.length;
+            this.ischeckAll = !this.checkList2.length;
             this.juriDialog = true
         },
         checkAllChange(){
@@ -391,16 +394,28 @@ export default {
                 for(var i = 0; i < this.classJuri.length; i++){
                     this.checkList2.push(this.classJuri[i].id)
                 }
+                this.ischeckAll = false
             }else{
                 this.checkList2 = []
+                this.ischeckAll = true
             }
         },
+        ischeckAllChange(){
+            if(this.ischeckAll){
+                this.checkAll = false
+                this.checkList2 = []
+            }else{
+            }
+            this.ischeckAll = !this.checkList2.length;
+
+        },
         pChange(val){
             if(val.length == this.classJuri.length){
                 this.checkAll = true
             }else{
                 this.checkAll = false
             }
+            this.ischeckAll = !this.checkList2.length;
         },
         confirmCheck(){
             this.checkList = JSON.parse(JSON.stringify(this.checkList2));

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

@@ -154,7 +154,7 @@
             </div>
           </div>
           <div class="table_content" v-if="stype == 2">
-            <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="1"
               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">
@@ -164,7 +164,10 @@
               <el-table-column fixed prop="name" label="提交人" width="120px" 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">
+                align="left" 
+                :filters="item.type == 1 ? item.nameFilters : null"
+                :filter-method="item.type == 1 ? (value,row)=>{return filterName(value,row,index)} : null"
+                :filter-placement="item.type == 1 ? filterPlacement : null">
                 <template slot-scope="scope">
                   <div v-if="scope.row.array[index].type == 1" style="display: flex; flex-wrap: wrap;">
                     <span class="answer_type" v-for="(answer2, index2) in scope.row.array[index].json.answer2"
@@ -272,7 +275,8 @@ export default {
       dialogVisibleVideo: false,
       dialogVisibleOffice: false,
       wurl: "",
-      chapters: []
+      chapters: [],
+      filterPlacement: 'bottom-end',
     };
   },
   watch: {},
@@ -309,6 +313,14 @@ export default {
     }
   },
   methods: {
+    filterName(value, row,index) {
+      let name = []
+      for(var i=0;i<row.array[index].json.answer2.length;i++){
+        name.push(row.array[index].json.array[row.array[index].json.answer2[i]].option)
+      }
+      console.log(name.indexOf(value) != -1);
+      return name.indexOf(value) != -1;
+    },
     wordClickHandler(name, value) {
       //  this.$notify({
       //   title: name,
@@ -407,7 +419,7 @@ export default {
           this.iscount = res.data[2][0].count
           this.pcount = res.data[3][0].count
           let chapters = this.setJSON(this.setJson2(JSON.parse(JSON.stringify(JSON.parse(res.data[0][0].chapters)))))
-          this.chapters = this.JSONSetting(JSON.parse(JSON.stringify(JSON.parse(res.data[0][0].chapters))))
+          this.chapters = this.setFilter(this.JSONSetting(JSON.parse(JSON.stringify(JSON.parse(res.data[0][0].chapters)))))
 
           let testArray = []
           let array = []
@@ -582,6 +594,24 @@ export default {
       console.log(array);
       return array;
     },
+    setFilter(json){
+      let _json = json
+      let array = []
+      _json.filter((item) => {
+        item.nameFilters = [],
+        item.filterParams = {
+                  name: [],
+                }
+        if(item.type == 1){
+          for(var i = 0; i < item.json.array.length; i++){
+            item.nameFilters.push({text: item.json.array[i].option, value: item.json.array[i].option})
+          }
+        }
+        array.push(item)
+        return item;
+      });
+      return array
+    },
     checkFile(item) {
       if (item.type == 3) {
         this.$hevueImgPreview(item.url);
@@ -1181,4 +1211,6 @@ export default {
   white-space: nowrap;
   overflow: hidden;
 }
+
+
 </style>

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

@@ -4,8 +4,8 @@
             <div class="pb_head top">
                 <div style="display: flex;align-items: center;">
                     <span class="sub_head">表单管理</span>
-                    <!--  -->
-                    <span class="subClick" v-show="oid == '4c686762-1d0a-11ed-8c78-005056b86db5'" @click="
+                    <!-- v-show="oid == '4c686762-1d0a-11ed-8c78-005056b86db5'" -->
+                    <span class="subClick" @click="
                         goTo(
                             '/trainCourse?userid=' +
                             userid +

+ 27 - 3
src/components/pages/test/shareBox/index.vue

@@ -2,7 +2,7 @@
     <el-dialog title="提醒" :visible.sync="dialogVisibleShare" :append-to-body="true" width="560px"
         :before-close="handleClose" class="dialog_diy">
         <div class="share_box">
-            <div class="info_box">
+            <div class="info_box" ref="info">
                 <div class="info">
                     <span>表单名称:</span>
                     <span>{{ testJson.title }}</span>
@@ -49,6 +49,9 @@
                     <span @click="downQr">下载二维码</span>
                 </div>
             </div>
+            <div class="btn_box">
+                <button class="c_pub_button_confirm tag-read2" @click="copy2" :data-clipboard-text="copyText2">复制信息</button>
+            </div>
         </div>
         <!-- <span slot="footer" class="dialog-footer">
         <el-button @click="close()">关 闭</el-button>
@@ -73,6 +76,7 @@ export default {
         return {
             origin: '',
             copyText: "",
+            copyText2: "",
             noCount: 0,
             pname:[]
         };
@@ -111,7 +115,7 @@ export default {
             link.click();
         },
         copy() {
-            this.copyText = this.origin;
+            this.copyText = "https://beta.cloud.cocorobo.cn/#/testDetail?testid=" + this.testJson.courseId;
             var clipboard = new Clipboard(".tag-read");
             clipboard.on("success", (e) => {
                 this.$message.success("复制成功");
@@ -123,6 +127,21 @@ export default {
                 clipboard.destroy(); // 释放内存
             });
         },
+        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}`;
+            var clipboard = new Clipboard(".tag-read2");
+            clipboard.on("success", (e) => {
+                this.$message.success("复制成功");
+                console.log("复制成功");
+                clipboard.destroy(); // 释放内存
+            });
+            clipboard.on("error", (e) => {
+                console.log("不支持复制,该浏览器不支持自动复制");
+                clipboard.destroy(); // 释放内存
+            });
+        },
         getData() {
             if(!this.testJson.juriP){
                 return;
@@ -216,7 +235,7 @@ export default {
 }
 
 .info_box {
-    margin-bottom: 20px;
+    margin: 0 0 20px;
 }
 
 .info_box>.info {
@@ -305,5 +324,10 @@ export default {
     color: #000;
     margin-left: 7px;
 }
+
+.btn_box{
+    display: flex;
+    justify-content: flex-end;
+}
 </style>
   

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