Переглянути джерело

fix: 主观题复核提交数据

zhangjie 2 місяців тому
батько
коміт
0130224f7f

+ 3 - 0
src/features/mark/composables/useMakeTrack.ts

@@ -191,6 +191,9 @@ export default function useMakeTrack() {
   function makeCommonTrack(question: Question, score: number) {
     if (!markStore.currentTask || question.problem) return;
 
+    const qno = `${question.mainNumber}_${question.subNumber}`;
+    markStore.currentTaskModifyQuestion[qno] = true;
+
     markStore.currentQuestion = question;
     const markResult = markStore.currentTaskEnsured.markResult;
     markResult.scoreList[question.__index] = score;

+ 8 - 0
src/features/mark/composables/useTaskWatch.ts

@@ -14,6 +14,14 @@ export default function useTaskWatch() {
       // 1. 回评时,先清空它的 markResult ,然后初始化一个 markResult 给它
       if (!markStore.currentTask) return;
 
+      // 主观题检查时,记录修改的试题信息
+      const currentTaskModifyQuestion = {};
+      markStore.currentTask.questionList.forEach((q) => {
+        const qno = `${q.mainNumber}_${q.subNumber}`;
+        currentTaskModifyQuestion[qno] = false;
+      });
+      markStore.currentTaskModifyQuestion = currentTaskModifyQuestion;
+
       const task = markStore.currentTask;
       if (task.previous && task.markResult) {
         task.markResult = undefined;

+ 0 - 15
src/features/mark/scoring/MarkBoardTrack.vue

@@ -283,21 +283,6 @@ watch(
   }
 );
 
-watch(
-  () => markStore.currentTask,
-  () => {
-    if (!markStore.currentTask) return;
-    if (!props.isCheckAnswer) return;
-
-    let currentTaskModifyQuestion = {};
-    markStore.currentTask.questionList.forEach((q) => {
-      const qno = `${q.mainNumber}_${q.subNumber}`;
-      currentTaskModifyQuestion[qno] = false;
-    });
-    markStore.currentTaskModifyQuestion = currentTaskModifyQuestion;
-  }
-);
-
 const questionScoreDisabled = $computed(() => {
   const qno = `${markStore.currentQuestion?.mainNumber}_${markStore.currentQuestion?.subNumber}`;
   return props.isCheckAnswer && !markStore.currentTaskModifyQuestion[qno];