Explorar o código

Merge branch 'beta' of https://git.cocorobo.cn/CocoRoboLabs/pbl-teacher-table into beta

lsc hai 4 días
pai
achega
8aee081630

+ 1 - 1
dist/index.html

@@ -37,7 +37,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.37b23da2405638b40f02855369dd8bdd.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.4fe3039e3721320d6197.js></script><script type=text/javascript src=./static/js/app.be54a270ad4225a81177.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.4e0a616bfc622a5e1f713e59fa0b95d3.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.4fe3039e3721320d6197.js></script><script type=text/javascript src=./static/js/app.2a63b6d8a057cddfd584.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/app.4e0a616bfc622a5e1f713e59fa0b95d3.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/app.4e0a616bfc622a5e1f713e59fa0b95d3.css.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/workPage.616b384009f755b79a05f47998125cb7.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/workPage.616b384009f755b79a05f47998125cb7.css.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/workPage.91a4a1baa0e76d9a14a8d9811829bb2f.css.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/app.2a63b6d8a057cddfd584.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/app.2a63b6d8a057cddfd584.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/manifest.23ea04dc469b57e2b4f8.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/workPage.5b6d08096e47bdf3074f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/workPage.5b6d08096e47bdf3074f.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/workPage.d5f28b0154bea83da9f5.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/workPage.d5f28b0154bea83da9f5.js.map


+ 1 - 1
dist/workPage.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.91a4a1baa0e76d9a14a8d9811829bb2f.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7b6275e4cf468b42a92b.js></script><script type=text/javascript src=./static/js/workPage.d5f28b0154bea83da9f5.js></script></body></html><script>function stopSafari() {
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.616b384009f755b79a05f47998125cb7.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7b6275e4cf468b42a92b.js></script><script type=text/javascript src=./static/js/workPage.5b6d08096e47bdf3074f.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

+ 38 - 10
src/components/pages/liyuan/page/examine/index.vue

@@ -167,7 +167,8 @@
                       >
                         <div @click="lookPrize(item2.courseId)">
                           <!-- {{ item2.title }} -->
-                          查看:{{ item2.num }}份
+                          查看
+                          <!-- :{{ item2.num }}份z -->
                         </div>
                         <div
                           @click="goFillIn(item2.courseId)"
@@ -480,7 +481,7 @@ export default {
         typ: this.pType,
         org: this.org,
         oid: this.oid,
-        time:this.pType==1?this.timeA:this.timeB
+        time:""
       };
       this.ajax
         .get(this.$store.state.api + "selectTestExamineBase2", params)
@@ -490,21 +491,34 @@ export default {
           let testExamineBaseList = res.data[0];
           console.log("res.data[0][0]", res.data[0][0]);
           this.brief = res.data[0][0].brief;
+          testExamineBaseList.sort((a,b)=>{
+            return new Date(b.create_at) - new Date(a.create_at)
+          })
+
           this.testExamineBaseList = testExamineBaseList;
           console.log("selectTestExamineBase", res.data[0][0]);
           this.PageBaseData = JSON.parse(res.data[0][0].json);
           if(this.pType == 1){
             this.aArray = res.data[0];
-            this.timeListA = this.aArray.map(i=>{return {value:i.time,label:i.timeLabel}})
-            if(this.timeListA.length>0)this.timeA = this.timeListA[0].value;
+            this.timeListA = this.aArray.map(i=>{return {value:i.time,label:i.timeLabel,createAt:i.create_at,time:i.value}})
+            this.timeListA.sort((a,b)=>{
+              return new Date(b.createAt) - new Date(a.createAt)
+            })
+            if(this.timeListA.length>0 && !this.timeA)this.timeA = this.timeListA[0].value;
+            this.testExamineBaseList = this.testExamineBaseList.filter(i=>i.time === this.timeA)
           }else {
             this.bArray = res.data[0];
-            this.timeListB = this.bArray.map(i=>{return {value:i.time,label:i.timeLabel}})
-            if(this.timeListB.length>0)this.timeB = this.timeListB[0].value;
+            this.timeListB = this.bArray.map(i=>{return {value:i.time,label:i.timeLabel,createAt:i.create_at,time:i.value}})
+            this.timeListB.sort((a,b)=>{
+              return new Date(b.createAt) - new Date(a.createAt)
+            })
+            if(this.timeListB.length>0 && !this.timeB)this.timeB = this.timeListB[0].value;
             if(!this.bArray.length){
               this.pType = 1
             }
+            this.testExamineBaseList = this.testExamineBaseList.filter(i=>i.time === this.timeB)
           }
+          // this.testExamineBaseList = this.testExamineBaseList.filter(i=>i.type == this.pType)
           // 先获取基础模板,然后再获取用户又没有填写过,填写过就开始循环赋值给基础模板,最后提交基础模板
           this.getData();
         })
@@ -515,7 +529,7 @@ export default {
     // 获取页面基础ui信息
     // getPageBase2() {
     //   console.log('6666');
-      
+
     //   let params = {
     //     typ: this.pType,
     //     org: this.org,
@@ -561,7 +575,15 @@ export default {
 
       let _url = "selectExamineTestName"
       if(this.testExamineBaseList[0].value){
-        const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
+        let timeValue = ""
+        if(this.pType == 1){
+          timeValue = this.timeListA.find(i=>i.value == this.timeA).time
+        }else {
+          timeValue = this.timeListB.find(i=>i.value == this.timeB).time
+        }
+
+        timeValue = JSON.parse(timeValue).time;
+        // const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
         params[0].startTime = timeValue[0];
         params[0].endTime = timeValue[1];
         _url = `selectExamineTestNameFilterTime`
@@ -581,9 +603,15 @@ export default {
     },
     // 查看数据来源
     lookPrize(val) {
-      // return;
       if(this.testExamineBaseList[0].value){
-        const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
+        let timeValue = ""
+        if(this.pType == 1){
+          timeValue = this.timeListA.find(i=>i.value == this.timeA).time
+        }else {
+          timeValue = this.timeListB.find(i=>i.value == this.timeB).time
+        }
+
+        timeValue = JSON.parse(timeValue).time;
         this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?userid=${this.userid}&cid=${val}&oid=${this.oid}&org=${this.org}&type=2&role=0&peopleId=${this.userid}&tType=${this.pType}&examineId=${this.testExamineBaseList[0].id}&timeLimit=${timeValue}`;
       }else{
         this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?userid=${this.userid}&cid=${val}&oid=${this.oid}&org=${this.org}&type=2&role=0&peopleId=${this.userid}&tType=${this.pType}&examineId=${this.testExamineBaseList[0].id}`;

+ 37 - 14
src/components/pages/studentManageNew/component/addstu.vue

@@ -211,11 +211,11 @@
         :show-close="false"
       >
         <div class="msgCon">
-            <img v-if="deltypy == 0" style="width: 20px;" src="../../../../assets/stuImg/duil.svg" alt="">
+            <img v-if="deltypy == 0 || deltypy == 2" style="width: 20px;" src="../../../../assets/stuImg/duil.svg" alt="">
             <img v-if="deltypy == 1" style="width: 20px;" src="../../../../assets/stuImg/tishi.svg" alt="">
 
             <div class="msgContxt">
-              <div v-if="deltypy == 0">
+              <div v-if="deltypy == 0 || deltypy == 2">
                 {{ (impbox.length ? impbox[0].name : '') + lang.ssAddStuSucc.replace(/\*/g, impbox.length) }}
               </div>
               <div v-if="deltypy == 1">{{ lang.ssConfirmUpload }}?</div>
@@ -420,6 +420,10 @@ export default {
 
     // 上传Excel添加学生
     handleChange(file) {
+      if (this.uploadfileLoading) {
+        this.$message.warning(this.lang.ssUploading);
+        return;
+      }
       if (this.userSuffix == "") {
         this.$message.error(this.lang.ssGetSuffixReUp);
         this.getUser();
@@ -525,7 +529,7 @@ export default {
             return;
           }
 
-          
+          // 打开确认上传弹窗
           _this.deltypy = 1;
           _this.popBoxdia= true;
           _this.stuexcel = arr;
@@ -621,10 +625,10 @@ export default {
           class: classInfo.id,
         };
       });
-
-      this.accUpdate(box);
+      // 手动输入添加学生,打开弹框
+      this.accUpdate(box,0);
     },
-    async accUpdate(box) {
+    async accUpdate(box,index) {
       console.log(box, "box");
       this.uploadfileLoading = true;
       this.impbox = box;
@@ -672,8 +676,8 @@ export default {
           message: this.lang.ssAddOk,
           type: "success",
         });
-
-        this.deltypy = 0;
+        // excel与手动上传,上传完毕,打开弹框
+        this.deltypy = index;
         this.popBoxdia= true;
         // this.addStuVisible = false;
         console.log('this.selectedStuData',this.selectedStuData);
@@ -681,6 +685,12 @@ export default {
         // this.selectedStuData = [];
         this.$emit("getCascaderData");
         this.addOp3('1', "", { type: "student_add" }, "success")
+      } catch (err) {
+        console.error(err);
+        // 业务错误已在 uploadBatch / uploadBatchAccount 中提示
+        if (!err || !err.business) {
+          this.$message.error(this.lang.Additionfailed);
+        }
       } finally {
         this.uploadfileLoading = false;
       }
@@ -717,8 +727,10 @@ export default {
             }
             if (z == 2) {
               console.log("添加成功");
+              resolve(res);
+            } else {
+              reject({ business: true, res });
             }
-            resolve(res);
           })
           .catch((err) => {
             console.error(err);
@@ -758,8 +770,10 @@ export default {
             }
             if (z == 2) {
               console.log("添加成功");
+              resolve(res);
+            } else {
+              reject({ business: true, res });
             }
-            resolve(res);
           })
           .catch((err) => {
             console.error(err);
@@ -770,18 +784,27 @@ export default {
     },
     confirmDelStu(){
           // this.addStuVisible = false;
-          if (this.deltypy == 0) {
+          if (this.deltypy == 0 || this.deltypy == 2) {    //上传完毕,关闭弹窗
             this.impbox = []
             this.selectedStuData = [];
-          }else if (this.deltypy == 1) {
-            this.uploadfileLoading = true;
-            this.accUpdate(this.stuexcel);
+            // 关闭弹窗
+            if(this.deltypy == 2){    //excel上传,关闭弹窗
+              this.stuexcel = [];
+              this.addStuVisible = false;
+            }
+          }else if (this.deltypy == 1) {     //excel上传,提示是否继续上传
+            if (this.uploadfileLoading) {
+              this.$message.warning(this.lang.ssUploading);
+              return;
+            }
+            this.accUpdate(this.stuexcel,2);
           }
           this.popBoxdia= false;
     },
     closePop(){
       this.popBoxdia= false;
       if (this.deltypy == 1) {
+        // excel上传,清空数据
         this.stuexcel = []
       }
     },

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 251 - 502
src/components/pages/test/check/index.vue


+ 10 - 4
src/components/pages/test/examine/index.vue

@@ -147,12 +147,18 @@ export default {
 
           if(type == 1){
             this.aArray = res.data[0];
-            this.timeListA = this.aArray.map(i=>{return {value:i.time,label:i.timeLabel}})
-            if(this.timeListA.length>0)this.timeA = this.timeListA[0].value;
+            this.timeListA = this.aArray.map(i=>{return {value:i.time,label:i.timeLabel,createAt:i.create_at}})
+            this.timeListA.sort((a,b)=>{
+              return new Date(b.createAt) - new Date(a.createAt)
+            })
+            if(this.timeListA.length>0 && !this.timeA)this.timeA = this.timeListA[0].value;
           }else {
             this.bArray = res.data[0];
-            this.timeListB = this.bArray.map(i=>{return {value:i.time,label:i.timeLabel}})
-            if(this.timeListB.length>0)this.timeB = this.timeListB[0].value;
+            this.timeListB = this.bArray.map(i=>{return {value:i.time,label:i.timeLabel,createAt:i.create_at}})
+            this.timeListB.sort((a,b)=>{
+              return new Date(b.createAt) - new Date(a.createAt)
+            })
+            if(this.timeListB.length>0 && !this.timeB)this.timeB = this.timeListB[0].value;
             if(!this.bArray.length){
               this.pType = 1
             }

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio