Преглед изворни кода

轨迹模式回评普通模式

Michael Wang пре 4 година
родитељ
комит
1ecb5020e3
3 измењених фајлова са 41 додато и 15 уклоњено
  1. 24 1
      src/features/mark/Mark.vue
  2. 2 1
      src/features/mark/MarkBody.vue
  3. 15 13
      src/features/mark/MarkHistory.vue

+ 24 - 1
src/features/mark/Mark.vue

@@ -189,7 +189,30 @@ export default defineComponent({
           store.currentTask?.questionList.length &&
         markResult.scoreList.every((s) => isNumber(s))
       ) {
-        message.error({ content: "还有题目没有评分", duration: 5 });
+        // 轨迹回评普通打分时,有分数无轨迹,导致markResult的scoreList计算不准确
+        if (store.currentTask?.questionList.every((q) => isNumber(q.score))) {
+          let question;
+          for (const q of store.currentTask?.questionList) {
+            const valid = markResult.trackList.some(
+              (t) =>
+                q.mainNumber === t.mainNumber && q.subNumber === t.subNumber
+            );
+            if (!valid) {
+              question = q;
+              break;
+            }
+          }
+          if (question) {
+            message.error({
+              content: `${question.mainNumber}-${question.subNumber} 没有轨迹`,
+              duration: 5,
+            });
+          } else {
+            message.error({ content: "少有人见过的错误" });
+          }
+        } else {
+          message.error({ content: "还有题目没有评分", duration: 5 });
+        }
         return;
       }
       console.log("save task to server");

+ 2 - 1
src/features/mark/MarkBody.vue

@@ -457,7 +457,8 @@ export default defineComponent({
                 cq.score = null;
               }
             } else {
-              cq.score = null;
+              // 此时的场景是回评普通模式评的分,需要看见
+              cq.score = cq.__origScore;
             }
           }
           markResult.scoreList = scoreList as number[];

+ 15 - 13
src/features/mark/MarkHistory.vue

@@ -31,21 +31,23 @@
       <div>时间</div>
       <div>分数</div>
     </div>
-    <div v-for="(task, index) of store.historyTasks" :key="index">
-      <div
-        @click="replaceCurrentTask(task)"
-        class="tw-flex tw-justify-between tw-h-6 tw-place-items-center tw-rounded tw-cursor-pointer"
-        :class="store.currentTask === task && 'current-task'"
-      >
-        <div>{{ task.secretNumber }}</div>
-        <div>
-          {{ $filters.datetimeFilter(task.markTime) }}
-        </div>
-        <div style="width: 30px; text-align: center">
-          {{ task.markerScore }}
+    <a-spin :spinning="loading" size="large" tip="Loading...">
+      <div v-for="(task, index) of store.historyTasks" :key="index">
+        <div
+          @click="replaceCurrentTask(task)"
+          class="tw-flex tw-justify-between tw-h-6 tw-place-items-center tw-rounded tw-cursor-pointer"
+          :class="store.currentTask === task && 'current-task'"
+        >
+          <div>{{ task.secretNumber }}</div>
+          <div>
+            {{ $filters.datetimeFilter(task.markTime) }}
+          </div>
+          <div style="width: 30px; text-align: center">
+            {{ task.markerScore }}
+          </div>
         </div>
       </div>
-    </div>
+    </a-spin>
     <div class="tw-flex tw-justify-between tw-place-content-center tw-mt-2">
       <a-button @click="previousPage">上一页</a-button>
       <div style="line-height: 30px">第{{ currentPage }}页</div>