zhangjie 1 年之前
父節點
當前提交
dd466138ed

+ 26 - 6
src/modules/mark/components/ScoreCheckDetail.vue

@@ -46,10 +46,11 @@
             <el-option :value="3" label="主观题0分,客观题有分"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="是否缺考">
-          <el-select v-model="filter.absent" placeholder="是否缺考" clearable>
-            <el-option :value="1" label="缺考"></el-option>
-            <el-option :value="0" label="正常"></el-option>
+        <el-form-item label="状态">
+          <el-select v-model="filter.status" placeholder="状态" clearable>
+            <el-option value="ABSENT" label="缺考"></el-option>
+            <el-option value="NORMAL" label="正常"></el-option>
+            <el-option value="UNEXISTS" label="未扫描"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="是否违纪">
@@ -183,6 +184,11 @@
           min-width="160"
           sortable
         ></el-table-column>
+        <el-table-column
+          prop="statusDisplay"
+          label="状态"
+          width="80"
+        ></el-table-column>
         <el-table-column
           prop="objectiveScore"
           label="客观分"
@@ -307,7 +313,7 @@ export default {
         className: "",
         teacher: "",
         filter: 0,
-        absent: null,
+        status: null,
         breach: null,
         startScore: undefined,
         endScore: undefined,
@@ -385,10 +391,24 @@ export default {
     },
     toBatchCheck(type) {
       if (!this.multipleSelection.length) return;
-      const studentIds = this.multipleSelection.map((item) => item.studentId);
       if (type === "objective") {
+        const studentIds = this.multipleSelection
+          .filter((item) => item.objectiveScore)
+          .map((item) => item.studentId);
+        if (!studentIds.length) {
+          this.$message.error("没有可检查数据!");
+          return;
+        }
+
         this.toMarkObjectiveAnswer(studentIds);
       } else {
+        const studentIds = this.multipleSelection
+          .filter((item) => item.subjectiveScoreList)
+          .map((item) => item.studentId);
+        if (!studentIds.length) {
+          this.$message.error("没有可检查数据!");
+          return;
+        }
         this.toMarkSubjectiveAnswer({
           examId: this.instance.examId,
           paperNumber: this.instance.paperNumber,

+ 3 - 13
src/modules/mark/components/markParam/MarkParamGroup.vue

@@ -377,6 +377,7 @@ export default {
       pictureConfigs.forEach((item) => {
         delete item.qStruct;
       });
+      // console.log(pictureConfigs);
 
       // 合并相邻区域
       pictureConfigs.sort((a, b) => {
@@ -391,9 +392,10 @@ export default {
           return;
         }
 
+        const elasticRate = 0.01;
         if (
           prevConfig.i === item.i &&
-          prevConfig.y + prevConfig.h >= item.y &&
+          prevConfig.y + prevConfig.h + elasticRate >= item.y &&
           prevConfig.w === item.w &&
           prevConfig.x === item.x
         ) {
@@ -404,18 +406,6 @@ export default {
         }
       });
       // console.log(combinePictureConfigList);
-      // 自动扩展区域。
-      let scaleRate = 0.002;
-      combinePictureConfigList = combinePictureConfigList.map((item) => {
-        return {
-          i: item.i,
-          x: item.x - scaleRate,
-          y: item.y - scaleRate,
-          w: item.w + 2 * scaleRate,
-          h: item.h + 2 * scaleRate,
-        };
-      });
-
       return combinePictureConfigList;
     },
     async areaModified(row) {