瀏覽代碼

Merge branch 'beta'

qgt 3 周之前
父節點
當前提交
40cfe09806

+ 1 - 1
dist/index.html

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

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.a266439dc2e6b650a711633aaae23d3c.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.a266439dc2e6b650a711633aaae23d3c.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.dde2d87b73ef53e1ff6f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.dde2d87b73ef53e1ff6f.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.161e82026ac2ae03ab6f.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.b7212920b6e58d14a873.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.b7212920b6e58d14a873.js.map


+ 25 - 17
src/components/pages/liyuan/page/examine/index.vue

@@ -158,13 +158,13 @@
                         class="orgData"
                       >
                         <div @click="lookPrize(item2.courseId)">
-                          {{ item2.title }}:{{ item2.num }}份
+                          <!-- {{ item2.title }} -->
+                          查看:{{ item2.num }}份
                         </div>
                         <div
-                          style="color: black;"
                           @click="goFillIn(item2.courseId)"
                         >
-                          填写
+                          填写
                         </div>
                       </div>
                     </div>
@@ -248,6 +248,7 @@ export default {
       timeA:"",
       timeB:"",
       testExamineBaseList:[],
+      brief:"",
     };
   },
   watch: {
@@ -262,16 +263,18 @@ export default {
     }
   },
   computed: {},
-  activated() {
-    // 当组件被激活时调用
-    this.getPageBase();
-    this.getPageBase2(1)
-    this.getPageBase2(2)
-  },
+  // activated() {
+  //   // 当组件被激活时调用
+  //   this.getPageBase();
+  //   this.getPageBase2(1)
+  //   this.getPageBase2(2)
+  // },
   mounted() {
     this.getPageBase();
     this.getPageBase2(1)
     this.getPageBase2(2)
+    console.log('2222');
+
     // console.log(JSON.stringify(this.TeaTabJson));
   },
   methods: {
@@ -443,13 +446,14 @@ export default {
                 }
               });
             });
-
+            // console.log('this.PageBaseData2222222',this.PageBaseData);
             this.handleData();
             return (this.tabLoad = false);
           } else {
             this.allData.type = 1;
             this.allData.rjson = "";
             this.handleData();
+            // console.log('this.PageBaseData3333',this.PageBaseData);
             this.tabLoad = false;
           }
           // this.$forceUpdate();
@@ -477,9 +481,11 @@ export default {
           // console.log("resresresres", res.data[0]);
           // this.allData = res.data[0][0];
           let testExamineBaseList = res.data[0];
+          // console.log("res.data[0][0]", res.data[0][0]);
           this.testExamineBaseList = testExamineBaseList;
-          console.log("selectTestExamineBase", res.data[0][0]);
+          // console.log("selectTestExamineBase", res.data[0][0]);
           this.PageBaseData = JSON.parse(res.data[0][0].json);
+          // console.log('this.PageBaseData1111111111111111',this.PageBaseData);
           // 先获取基础模板,然后再获取用户又没有填写过,填写过就开始循环赋值给基础模板,最后提交基础模板
           this.getData();
 
@@ -489,7 +495,7 @@ export default {
           console.log(error);
         });
     },
-    // 获取页面基础ui信息
+    // 获取页面基础ui信息,年度筛选框数据和展示哪个页面
     getPageBase2(type) {
       let params = {
         typ: type,
@@ -506,10 +512,10 @@ export default {
             if(this.timeListA.length>0)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;
-            if(!this.bArray.length){
-              this.pType = 1
+            this.timeListB = this.bArray.map(i=>{return {value:i.time,label:i.timeLabel}}) //获取年度筛选框数据
+            if(this.timeListB.length>0)this.timeB = this.timeListB[0].value; //默认选择最新年度
+            if(!this.bArray.length){    
+              this.pType = 1    //显示专任教室页面
             }
           }
         })
@@ -517,7 +523,7 @@ export default {
           console.log(error);
         });
     },
-    async handleData() {
+    async handleData() {  //获取数据来源数据
       for (const e of this.PageBaseData) {
         for (const k of e.children) {
           if (k.testid.test.length > 0) {
@@ -527,6 +533,8 @@ export default {
       }
     },
     computedTest(val) {
+      // console.log('val',val);
+      
       let params = [
         {
           uid: this.userid,

+ 75 - 16
src/components/pages/pptEasy/addCourse.vue

@@ -5107,30 +5107,89 @@ export default {
       //   return;
       // }
       // 判断 this.line 链接是不是 html 文件
-      if (!/\.html(\?|#|$)/i.test(this.line) && !/\.htm(\?|#|$)/i.test(this.line)) {
-        this.$message.error("请输入以.html或.htm结尾的链接");
-        return;
-      }
+      // if (!/\.html(\?|#|$)/i.test(this.line) && !/\.htm(\?|#|$)/i.test(this.line)) {
+      //   this.$message.error("请输入以.html或.htm结尾的链接");
+      //   return;
+      // }
 
       //  使用this.ajax.get 请求 this.line 链接,如果返回 200 则认为链接有效
       // 使用XHR请求判断页面是否可以请求到
+      // 先用iframe判断能否访问contentWindow,不能再用XHR请求
       let isValid = await new Promise((resolve) => {
-        let xhr = new XMLHttpRequest();
-        xhr.open('GET', this.line, true);
-        xhr.onreadystatechange = function() {
-          if (xhr.readyState === 4) {
-            // 只要状态码是200就认为可以请求到
-            if (xhr.status === 200) {
-              resolve(true);
-            } else {
-              resolve(false);
+        // 创建隐藏iframe
+        let iframe = document.createElement('iframe');
+        iframe.style.display = 'none';
+        iframe.src = this.line;
+        let timeout = setTimeout(() => {
+          // 超时,移除iframe,进入XHR判断
+          document.body.removeChild(iframe);
+          // 用XHR判断
+          let xhr = new XMLHttpRequest();
+          xhr.open('GET', this.line, true);
+          xhr.onreadystatechange = function() {
+            if (xhr.readyState === 4) {
+              if (xhr.status === 200) {
+                resolve(true);
+              } else {
+                resolve(false);
+              }
             }
+          };
+          xhr.onerror = function() {
+            resolve(false);
+          };
+          xhr.send();
+        }, 5000); // 2秒超时
+
+        iframe.onload = function() {
+          clearTimeout(timeout);
+          try {
+            // 尝试访问contentWindow.document
+            let doc = iframe.contentWindow.document;
+            // 能访问说明同源,页面可用
+            document.body.removeChild(iframe);
+            resolve(true);
+          } catch (e) {
+            // 跨域或其他异常,移除iframe,进入XHR判断
+            document.body.removeChild(iframe);
+            let xhr = new XMLHttpRequest();
+            xhr.open('GET', iframe.src, true);
+            xhr.onreadystatechange = function() {
+              if (xhr.readyState === 4) {
+                if (xhr.status === 200) {
+                  resolve(true);
+                } else {
+                  resolve(false);
+                }
+              }
+            };
+            xhr.onerror = function() {
+              resolve(false);
+            };
+            xhr.send();
           }
         };
-        xhr.onerror = function() {
-          resolve(false);
+        iframe.onerror = function() {
+          clearTimeout(timeout);
+          document.body.removeChild(iframe);
+          // iframe加载失败,进入XHR判断
+          let xhr = new XMLHttpRequest();
+          xhr.open('GET', iframe.src, true);
+          xhr.onreadystatechange = function() {
+            if (xhr.readyState === 4) {
+              if (xhr.status === 200) {
+                resolve(true);
+              } else {
+                resolve(false);
+              }
+            }
+          };
+          xhr.onerror = function() {
+            resolve(false);
+          };
+          xhr.send();
         };
-        xhr.send();
+        document.body.appendChild(iframe);
       });
 
       if (!isValid) {

+ 38 - 1
src/components/pages/sz/teacher.vue

@@ -125,9 +125,19 @@
           <el-table-column label="操作" width="220px">
             <template slot-scope="scope">
               <div style="display: flex;">
+                <el-button class="de_button" type="primary" size="small" style="
+                      width: auto;
+                      padding: 5px !important;
+                      line-height: 15px;
+                    " @click="iniPassword(scope.row.userid)">初始化密码</el-button>
                 <el-button
-                  size="mini"
+                  class="de_button"
+                  size="small"
                   type="primary"
+                  style="
+                      width: auto;
+                      padding:0 10px !important;
+                      line-height: 15px;"
                   @click="modifyDiaBtn(scope.row)"
                   >修改</el-button
                 >
@@ -416,6 +426,33 @@ export default {
           console.error("请求失败,错误信息:", err);
         });
     },
+    iniPassword(id) {
+      this.$confirm("确定" + "初始化" + "此教师的密码吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          let params = [
+            {
+              uid: id,
+              pa: 'Coco1234',
+            },
+          ];
+          this.ajax
+            .post(this.$store.state.api + "iniPassword", params)
+            .then((res) => {
+              this.$message({
+                message: "初始化密码成功!",
+                type: "success",
+              });
+            })
+            .catch((err) => {
+              console.error(err);
+            });
+        })
+        .catch(() => { });
+    },
     getEmailWithAt(email) {
       const regex = /@[^@]+$/;  // 匹配最后一个 @ 及其后的内容
       const match = email.match(regex);

+ 21 - 30
src/components/pages/test/check/index.vue

@@ -2,7 +2,7 @@
   <div class="pb_content" style="background: #f0f2f5" v-loading="loading">
     <div class="pb_content_body" style="position: relative; margin: 0">
       <div class="right">
-        <div class="courseTop" v-if="gotype && !disableBack">
+        <div class="courseTop" v-if="gotype && !disableBack && !peopleId">
           <div
             class="r_pub_button_retrun"
             @click="retrunCourse"
@@ -1340,6 +1340,7 @@
                         @change="submissionTimePickerChange"
                         type="daterange"
                         range-separator="▼"
+                        :picker-options="pickerOptions([])"
                       >
                       </el-date-picker>
                     </div>
@@ -2358,10 +2359,9 @@ export default {
     pickerOptions(){
       return (dataList)=>{
         let _result = {
-          // shortcuts:[]
+          shortcuts:[]
         }
         if(dataList && dataList.length>0){
-          _result.shortcuts = [];
           for(let i = 0;i<dataList.length;i++){
             if(dataList[i].time.length<=0)continue;
             _result.shortcuts.push({
@@ -2373,7 +2373,9 @@ export default {
               }
             })
           }
-          if(this.sortTime.length>0){
+
+        }
+        if(this.sortTime.length>0){
             this.sortTime.forEach(i=>{
               _result.shortcuts.push({
                 text:i.title?i.title:"-",
@@ -2383,7 +2385,6 @@ export default {
               })
             })
           }
-        }
         return _result;
       }
     }
@@ -2973,24 +2974,15 @@ ${JSON.stringify(forAllList)}
           let _worksData = res.data[1];
 
           if(this.timeLimit){
+            console.log("timeLimit", this.timeLimit)
+            // 2024-12-31T16:00:00.000Z,2025-12-31T16:00:00.000Z
             // 根据 timeLimit 筛选 _worksData
+            let [startStr, endStr] = this.timeLimit.split(',');
+            let startDate = startStr ? new Date(startStr) : null;
+            let endDate = endStr ? new Date(endStr) : null;
             _worksData = _worksData.filter(i => {
               if (!i.time) return false;
-              // time 例子:2025年02月25日 10:17:46
-              // timeLimit 例子:"2025~2026" 或 "2025"
-              let timeLimit = this.timeLimit;
-              let startYear, endYear;
-              // 判断是否为区间
-              if (timeLimit.includes('~')) {
-                [startYear, endYear] = timeLimit.split('~').map(y => y.trim());
-                startYear = parseInt(startYear);
-                endYear = parseInt(endYear);
-              } else {
-                // 单独一个年份,只获取该年份的数据
-                startYear = parseInt(timeLimit);
-                endYear = startYear;
-              }
-              // 提取年份、月份、日期
+              // i.time 例子:2025年02月25日 10:17:46
               let match = i.time.match(/^(\d{4})年(\d{2})月(\d{2})日/);
               if (!match) return false;
               let year = parseInt(match[1]);
@@ -2998,16 +2990,15 @@ ${JSON.stringify(forAllList)}
               let day = parseInt(match[3]);
               // 构造当前数据的日期对象
               let curDate = new Date(year, month - 1, day, 0, 0, 0);
-              if (startYear === endYear) {
-                // 只获取该年份的数据
-                return year === startYear;
-              } else {
-                // 构造起始日期(包含)
-                let startDate = new Date(startYear, 0, 1, 0, 0, 0);
-                // 构造结束日期(不包含),即endYear年1月1日
-                let endDate = new Date(endYear, 0, 1, 0, 0, 0);
-                return curDate >= startDate && curDate < endDate;
+              // 判断是否在区间内(包含等于)
+              if (startDate && endDate) {
+                return curDate >= startDate && curDate <= endDate;
+              } else if (startDate) {
+                return curDate >= startDate;
+              } else if (endDate) {
+                return curDate <= endDate;
               }
+              return true;
             });
           }
 
@@ -4602,7 +4593,7 @@ ${JSON.stringify(item.array)}
       // this.getClass2()
       this.changeHeight();
     });
-    // this.getClassSortTime();
+    this.getClassSortTime();
   },
 };
 </script>

+ 43 - 7
src/components/pages/test/checkAi/aiLeader.vue

@@ -1820,14 +1820,45 @@ ${fileText}
 
             for (let i = 0; i < works.length; i++) {
               let cJson = this.setJSON(
+              JSON.parse(JSON.stringify(JSON.parse(works[i].courseJson)))
+            );
+            console.log(cJson,'===',chapters)
+            // if (JSON.stringify(cJson) == JSON.stringify(chapters)) {
+              let _json = this.JSONSetting(
                 JSON.parse(JSON.stringify(JSON.parse(works[i].courseJson)))
               );
-              if (JSON.stringify(cJson) == JSON.stringify(chapters)) {
-                let _json = this.JSONSetting(
-                  JSON.parse(JSON.stringify(JSON.parse(works[i].courseJson)))
-                );
 
-                _json.forEach(item => {
+              let _json2 = this.JSONSetting(
+                JSON.parse(JSON.stringify(JSON.parse(JSON.stringify(chapters))))
+              );
+              // let cJson = this.setJSON(
+              //   JSON.parse(JSON.stringify(JSON.parse(works[i].courseJson)))
+              // );
+              // if (JSON.stringify(cJson) == JSON.stringify(chapters)) {
+                // let _json = this.JSONSetting(
+                //   JSON.parse(JSON.stringify(JSON.parse(works[i].courseJson)))
+                // );
+
+                // _json.forEach(item => {
+                //   if (item.type == 11) {
+                //     let cid = item.json.answer2;
+                //     let _title = [];
+                //     for (var i = 0; i < cid.length; i++) {
+                //       _title.push(courseTitles[cid[i]]);
+                //     }
+                //     item.json.answer2 = _title.length ? _title.join(",") : "";
+                //   }
+                //   if (item.type == 6) {
+                //     let courseId = item.json.answer2;
+                //     item.json.answer2 = courseTitles[courseId] || "";
+                //   }
+                // });
+
+
+                _json2.forEach(item=>{
+                let _index = _json.findIndex(i=>(i.type==item.type && i.ttype==item.ttype && i.json.title==item.json.title))
+                if(_index!=-1){
+                  item.json = _json[_index].json;
                   if (item.type == 11) {
                     let cid = item.json.answer2;
                     let _title = [];
@@ -1840,7 +1871,10 @@ ${fileText}
                     let courseId = item.json.answer2;
                     item.json.answer2 = courseTitles[courseId] || "";
                   }
-                });
+                }
+                })
+              if(JSON.stringify(_json2)==JSON.stringify(this.JSONSetting(JSON.parse(JSON.stringify(chapters)))))continue
+
                 // 更新对应的_json对象的answer2
                 array.push({
                   courseid: works[i].courseid,
@@ -1853,13 +1887,15 @@ ${fileText}
                   uteaName: works[i].uteaName,
                   courseJson: JSON.parse(works[i].courseJson)
                 });
-              }
+              // }
             }
             let obj = {
               courseId: testJson.courseId,
               name: testJson.title,
               worksArray: array
             };
+
+            console.log("表单数据=》",obj)
             // this.courseInfoList.push(obj)
             resolve(obj);
           })

+ 69 - 4
src/components/pages/test/examine/conpoments/targetPage.vue

@@ -226,6 +226,19 @@
               </div>
             </template>
           </el-table-column>
+          <!-- <el-table-column
+            :show-overflow-tooltip="true"
+            align="center"
+            label="状态"
+          >
+            <template slot-scope="scope">
+             <div v-if="scope.row.numCount" class="taskArea">
+              <div v-if="scope.row.numCount == scope.row.isReviewCount" class="isComputedTask">已完成</div>
+              <div v-if="scope.row.numCount != scope.row.isReviewCount" class="waitComputedTask">代办</div>
+             </div>
+             <span v-else>/</span>
+            </template>
+          </el-table-column> -->
           <el-table-column
             :sortable="true"
             :sort-method="sortCogMethod"
@@ -1509,9 +1522,16 @@ export default {
           testId: val.join(",")
         }
       ];
+      let _fnStr = `selectExamineTestName`
+      if(this.testExamineBaseList[0].value){
+        const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
+        params[0].startTime = timeValue[0];
+        params[0].endTime = timeValue[1];
+        _fnStr = `selectExamineTestNameFilterTime`
+      }
       return new Promise(resolve => {
         this.ajax
-          .post(this.$store.state.api + "selectExamineTestName", params)
+          .post(this.$store.state.api + _fnStr, params)
           .then(res => {
             // console.log("resresresres", res.data[0]);
             // console.log(res.data[0]);
@@ -1525,7 +1545,14 @@ export default {
 
     // 查看数据来源
     lookPrize(val) {
-      this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&userid=${this.userid}&type=2&role=0&disableBack=true`;
+      if(this.testExamineBaseList[0].value){
+        const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
+        this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&userid=${this.userid}&type=2&role=0&disableBack=true&timeLimit=${timeValue}`;
+      }else{
+        this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&userid=${this.userid}&type=2&role=0&disableBack=true`;
+      }
+      // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&userid=${this.userid}&type=2&role=0&disableBack=true`;
+      // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&userid=${this.userid}&type=2&role=0&disableBack=true&`;
       // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/test?userid=${this.userid}&oid=45facc0a-1211-11ec-80ad-005056b86db5&org=&role=0`;
       this.diaIframe = true;
     },
@@ -1643,6 +1670,8 @@ export default {
       for (const e of this.tableData) {
         if (e.orgData.length > 0) {
           e.orgData = await this.computedScoTest(e.orgData, e.userid);
+          e.isReviewCount = e.orgData.reduce((sum, i) => sum + (i.isReviewNum || 0), 0)
+          e.numCount = e.orgData.reduce((sum, i) => sum + (i.num || 0), 0)
         }
       }
     },
@@ -1653,9 +1682,18 @@ export default {
           testId: val.join(",")
         }
       ];
+
+      let _fnStr = `selectExamineTestName`
+      if(this.testExamineBaseList[0].value){
+        const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
+        params[0].startTime = timeValue[0];
+        params[0].endTime = timeValue[1];
+        _fnStr = `selectExamineTestNameFilterTime`
+      }
+
       return new Promise(resolve => {
         this.ajax
-          .post(this.$store.state.api + "selectExamineTestName", params)
+          .post(this.$store.state.api + _fnStr, params)
           .then(res => {
             console.log("selectExamineTestName", res.data[0]);
             resolve(res.data[0]);
@@ -1671,7 +1709,13 @@ export default {
       // return console.log(val);
       // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&type=2&role=0&peopleId=${this.userid}`;
 
-      this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${cid}&oid=${val.organizeid}&userid=${this.userid}&org=${val.org}&type=2&role=0&peopleId=${val.userid}&disableBack=true`;
+      if(this.testExamineBaseList[0].value){
+        const timeValue = JSON.parse(this.testExamineBaseList[0].value).time;
+        this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${cid}&oid=${val.organizeid}&userid=${this.userid}&org=${val.org}&type=2&role=0&peopleId=${val.userid}&disableBack=true&timeLimit=${timeValue}`;
+      }else{
+        this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${cid}&oid=${val.organizeid}&userid=${this.userid}&org=${val.org}&type=2&role=0&peopleId=${val.userid}&disableBack=true`;
+      }
+      // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${cid}&oid=${val.organizeid}&userid=${this.userid}&org=${val.org}&type=2&role=0&peopleId=${val.userid}&disableBack=true`;
       // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/test?userid=${this.userid}&oid=45facc0a-1211-11ec-80ad-005056b86db5&org=&role=0`;
       this.diaIframe = true;
     },
@@ -2152,4 +2196,25 @@ input[type="number"] {
   -webkit-appearance: none;
   margin: 0;
 }
+
+.taskArea{
+  display: flex;
+  justify-content: center;
+}
+
+.waitComputedTask{
+  padding: 10px 20px;
+  background: #FEF5EC;
+  border: solid 1px #FAD0A1;
+  color: #F7933B;
+  border-radius: 4px;
+}
+
+.isComputedTask{
+  padding: 10px 20px;
+  background: #E6F9EA;
+  border: solid 1px #A6E9B6;
+  color: #21ba45;
+  border-radius: 4px;
+}
 </style>

+ 9 - 8
src/components/pages/testPerson/examine/index.vue

@@ -152,7 +152,7 @@
                     <div v-else style="padding-top: 10px;">
                       <!-- {{ k.testid.test }} -->
                       <div
-                        v-for="(item2, index) in k.testid.test"
+                        v-for="(item2) in k.testid.test"
                         :key="item2.courseId"
                         class="orgData"
                       >
@@ -180,11 +180,12 @@
           </div>
         </div>
       </div>
-    </div>
-
-    <div class="brief" v-if="brief">
+      <div class="brief" v-if="brief">
       <span v-html="brief" style="white-space: pre-wrap;word-break: break-all;"></span>
     </div>
+    </div>
+
+
 
     <!-- 点击数据来源 -->
     <el-dialog
@@ -578,10 +579,10 @@ export default {
 	margin: 10px 0;
 	border-radius: 5px;
 }
-.tArea {
+/* .tArea { */
   /* box-sizing: border-box; */
   /* padding: 5px; */
-}
+/* } */
 .tArea > div > textarea {
   border: none;
   width: 100%;
@@ -684,9 +685,9 @@ export default {
   width: 100%;
   min-width: 1300px;
   margin: 0 auto;
-  height: 100%;
+  height: auto;
   box-sizing: border-box;
-  padding-bottom: 60px;
+  padding-bottom: 10px;
   font-size: 14px;
 }
 

+ 27 - 6
src/components/pages/workPage/index.vue

@@ -100,9 +100,8 @@
             />
           </svg>
 
-          <span style="display: flex;align-items: center;"
-            >{{ item.type == 1 ? "单选题:" : "多选题:"
-            }}<span v-html="renderedFormula(item.teststitle)"></span>
+          <span
+            ><span v-html="renderedFormula(`<span style='color: #3681FC;''>${item.type == 1 ? '(单选题):' : '(多选题):'}</span>${item.teststitle}`)"></span>
           </span>
         </div>
         <div
@@ -456,6 +455,10 @@ export default {
     },
     studentWorkToWorkData(){
       if(this.studentWork && this.workData){
+        console.log("studentWork",this.studentWork)
+        console.log("workData",this.workData)
+
+
         let _work = JSON.parse(JSON.stringify(this.studentWork));
         if ( this.workData.type == "15") {
           this.workData.json.answer = _work.answer;
@@ -510,6 +513,9 @@ export default {
   font-size: 3em;
   font-weight: 300;
   margin: 20px 0;
+  width: 50%;
+  min-width: 300px;
+  text-align: center;
 }
 
 .wp_type {
@@ -641,7 +647,7 @@ export default {
   height: auto;
   padding: 15px 15px 15px 15px;
   display: flex;
-  flex-wrap: wrap;
+  /* flex-wrap: wrap; */
   background-color: #f3f7fd;
   border-radius: 30px;
   margin: 10px 0 10px 0px;
@@ -715,24 +721,39 @@ export default {
 
 .s_b_m_ti_title {
   display: flex;
-  align-items: center;
+  align-items: flex-start;
 }
 
 .s_b_m_ti_title > span:nth-of-type(1) {
   font-size: 30px;
   font-weight: bold;
   color: #3681fc;
+  min-height: 30px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: -3px;
 }
 
 .s_b_m_ti_title > svg {
   width: 30px;
   height: 30px;
-  margin: 0 20px 0 5px;
+  min-width: 30px;
+  min-height: 30px;
+  margin: 0 10px 0 0px;
 }
 
 .s_b_m_ti_title > span:nth-of-type(2) {
   font-size: 20px;
   font-weight: bold;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  min-height: 30px;
+  line-height: 30px;
+  color: #1f1f1f;
+
+
 }
 
 .s_b_m_ti_title > div {

Some files were not shown because too many files changed in this diff