Michael Wang пре 3 година
родитељ
комит
a30c914fb1

+ 0 - 2
src/features/arbitrate/Arbitrate.vue

@@ -174,8 +174,6 @@ onMounted(async () => {
 watch(
   () => store.currentTask,
   () => {
-    // 回评切换任务,先删除之前回评任务的markResult
-
     // 重置当前选择的quesiton和score
     store.currentQuestion = undefined;
     store.currentScore = undefined;

+ 0 - 5
src/features/mark/CommonMarkBody.vue

@@ -420,11 +420,6 @@ const renderPaperAndMark = async () => {
     return;
   }
   renderLock = true;
-  // for (const s of sliceImagesWithTrackList) {
-  //   // console.log("revoke", s.url);
-  //   URL.revokeObjectURL(s.url);
-  // }
-  // sliceImagesWithTrackList.splice(0);
   // check if have MarkResult for currentTask
   let markResult = store.currentTask?.markResult;
 

+ 2 - 2
src/features/mark/Mark.vue

@@ -52,7 +52,7 @@ import { useTimers } from "@/setups/useTimers";
 import MarkHistory from "./MarkHistory.vue";
 import MarkBoardTrack from "./MarkBoardTrack.vue";
 import { ModeEnum } from "@/types";
-import type { Setting, Task, RichTextQuestion } from "@/types";
+import type { Setting, Task } from "@/types";
 import MarkBoardKeyBoard from "./MarkBoardKeyBoard.vue";
 import MarkBoardMouse from "./MarkBoardMouse.vue";
 import { debounce, isEmpty, isNumber } from "lodash";
@@ -64,7 +64,7 @@ import AllPaperModal from "./AllPaperModal.vue";
 import SheetViewModal from "./SheetViewModal.vue";
 import SpecialTagModal from "./SpecialTagModal.vue";
 import { preDrawImage } from "@/utils/utils";
-import { getJSON, getPaper } from "@/api/jsonMark";
+import { getPaper } from "@/api/jsonMark";
 import EventBus from "@/plugins/eventBus";
 import { getHistoryTask } from "@/api/markPage";
 

+ 13 - 50
src/features/mark/MarkBoardTrack.vue

@@ -228,12 +228,6 @@ function isCurrentQuestion(question: Question) {
     store.currentQuestion?.subNumber === question.subNumber
   );
 }
-watch(
-  () => store.currentQuestion,
-  () => {
-    store.currentScore = undefined;
-  }
-);
 
 function isCurrentScore(score: number) {
   return store.currentScore === score;
@@ -306,54 +300,27 @@ onUnmounted(() => {
   document.removeEventListener("keydown", submitListener);
 });
 
-const handleMouseOverWithBoard = () => {
-  if (store.setting.uiSetting["score.board.collapse"]) {
-    const container = document.querySelector(".mark-board-track-container");
-    if (container) {
-      container.classList.add("show-board");
-    }
-  }
-};
-
-const handleMouseOutWithBoard = () => {
-  if (store.setting.uiSetting["score.board.collapse"]) {
-    const container = document.querySelector(".mark-board-track-container");
-    if (container) {
-      container.classList.remove("show-board");
-    }
-  }
-};
-
 function clearLatestMarkOfCurrentQuetion() {
   if (!store.currentTask?.markResult || !store.currentQuestion) return;
 
+  const { __index, mainNumber, subNumber } = store.currentQuestion;
   const markResult = store.currentTask.markResult;
   const ts = markResult.trackList.filter(
-    (q) =>
-      q.mainNumber === store.currentQuestion?.mainNumber &&
-      q.subNumber === store.currentQuestion?.subNumber
+    (q) => q.mainNumber === mainNumber && q.subNumber === subNumber
   );
   if (ts.length === 0) {
     return;
   }
-  const maxNumber = Math.max(...ts.map((q) => q.number));
-  const idx = markResult.trackList.findIndex(
-    (q) =>
-      q.mainNumber === store.currentQuestion?.mainNumber &&
-      q.subNumber === store.currentQuestion?.subNumber &&
-      q.number === maxNumber
-  );
-  if (idx >= 0) {
-    store.removeScoreTracks = markResult.trackList.splice(idx, 1);
-    const { __index, mainNumber, subNumber } = store.currentQuestion;
-    const trackList = markResult.trackList
-      .filter((t) => t.mainNumber === mainNumber && t.subNumber === subNumber)
-      .map((t) => t.score);
-    markResult.scoreList[__index] =
-      trackList.length === 0
-        ? null
-        : trackList.reduce((acc, v) => (acc += Math.round(v * 100)), 0) / 100;
-  }
+  const lastMark = ts.splice(-1)[0];
+  store.removeScoreTracks = [lastMark];
+  markResult.trackList = markResult.trackList.filter((t) => t !== lastMark);
+
+  markResult.scoreList[__index] =
+    ts.length === 0
+      ? null
+      : ts
+          .map((t) => t.score)
+          .reduce((acc, v) => (acc += Math.round(v * 100)), 0) / 100;
 }
 
 function clearAllMarksOfCurrentQuetion() {
@@ -366,11 +333,7 @@ function clearAllMarksOfCurrentQuetion() {
       q.subNumber === store.currentQuestion?.subNumber
   );
   markResult.trackList = markResult.trackList.filter(
-    (q) =>
-      !(
-        q.mainNumber === store.currentQuestion?.mainNumber &&
-        q.subNumber === store.currentQuestion?.subNumber
-      )
+    (q) => !store.removeScoreTracks.includes(q)
   );
   const { __index } = store.currentQuestion;
   markResult.scoreList[__index] = null;

+ 0 - 1
src/features/mark/MarkHistory.vue

@@ -115,7 +115,6 @@
 </template>
 
 <script setup lang="ts">
-// import { getHistoryTask } from "@/api/markPage";
 import type {
   getHistory,
   HistoryQueryParams,