Browse Source

feat: 评卷参数调整

zhangjie 2 tháng trước cách đây
mục cha
commit
887e058e60

+ 1 - 1
src/modules/mark/components/ModifyMarkSetting.vue

@@ -326,7 +326,7 @@ export default {
     },
     aiMarkEnableChange() {
       if (this.aiMarkEnable) {
-        this.modalForm.aiMark = "MAN_MACHINE";
+        this.modalForm.aiMark = "AI_ONLY";
       } else {
         this.modalForm.aiMark = "NONE";
       }

+ 6 - 0
src/modules/mark/components/markParam/MarkParamGroup.vue

@@ -89,6 +89,7 @@
             <el-button
               class="btn-primary"
               type="text"
+              :disabled="checkMarkTypeDiabled(scope.row)"
               @click="toSetMarkType(scope.row)"
               >评卷方式设置</el-button
             >
@@ -205,6 +206,7 @@ export default {
       "openMergeMarker",
       "subjectiveTaskList",
       "enableAIMark",
+      "aiMarkType",
     ]),
     unsetQuestionNos() {
       return this.subjectiveTaskList
@@ -384,6 +386,10 @@ export default {
         });
       });
     },
+    checkMarkTypeDiabled(row) {
+      // 设置了双评且AI智能评卷为人机双评的,禁止编辑评卷方式
+      return row.doubleRate > 0 && this.aiMarkType === "MAN_MACHINE";
+    },
     toSetMarkType(row) {
       this.curRow = row;
       this.$refs.ModifyMarkType.open();

+ 2 - 2
src/modules/mark/components/markParam/ModifyMarkParams.vue

@@ -185,8 +185,8 @@ export default {
       this.setOpenDoubleMark(!!subjectRes.doubleMark);
       this.setOpenClassMark(!!subjectRes.classMark);
       this.setAiMark({
-        enableAIMark: subjectRes.aiMarkSet,
-        aiMarkType: subjectRes.aiMarkType,
+        enableAIMark: subjectRes.aiMark && subjectRes.aiMark !== "NONE",
+        aiMarkType: subjectRes.aiMark,
       });
 
       this.dataReady = true;

+ 6 - 6
src/modules/mark/components/markParam/ModifyMarkType.vue

@@ -23,7 +23,7 @@
           @change="doubleEnableChange"
         >
           <el-radio :label="false">单评</el-radio>
-          <el-radio :label="true" :disabled="!openDoubleMark">双评</el-radio>
+          <el-radio :label="true" :disabled="doubleDisabled">双评</el-radio>
         </el-radio-group>
       </el-form-item>
       <template v-if="modalForm.doubleEnable">
@@ -37,15 +37,12 @@
             :step="0.01"
             step-strictly
             :controls="false"
-            :disabled="!openDoubleMark"
+            :disabled="doubleDisabled"
           >
           </el-input-number>
         </el-form-item>
         <el-form-item label="合分策略:" prop="scorePolicy">
-          <el-select
-            v-model="modalForm.scorePolicy"
-            :disabled="!openDoubleMark"
-          >
+          <el-select v-model="modalForm.scorePolicy" :disabled="doubleDisabled">
             <el-option
               v-for="(val, key) in SCORE_POLICY_TYPE"
               :key="key"
@@ -132,6 +129,9 @@ export default {
   },
   computed: {
     ...mapState("markParam", ["openDoubleMark"]),
+    doubleDisabled() {
+      return !this.openDoubleMark;
+    },
   },
   methods: {
     visibleChange() {