Michael Wang 4 年之前
父节点
当前提交
6735cee834

+ 0 - 35
src/api/markPage.ts

@@ -1,7 +1,6 @@
 import { findCurrentTaskMarkResult } from "@/components/mark/store";
 import { httpApp } from "@/plugins/axiosApp";
 import { Setting, UISetting } from "@/types";
-import { groupBy, sortBy } from "lodash";
 
 /** 清除评卷任务(之前锁住的任务之类的) */
 export async function clearMarkTask() {
@@ -66,40 +65,6 @@ export async function getHistoryTask({
 export async function saveTask() {
   const markResult = findCurrentTaskMarkResult();
   if (markResult) {
-    // const scoreGroups = groupBy(
-    //   markResult.trackList,
-    //   (obj) =>
-    //     (obj.mainNumber + "").padStart(10, "0") +
-    //     obj.subNumber.padStart(10, "0")
-    // );
-    // const questionWithScore = Object.entries(scoreGroups);
-    // const questionWithTotalScore = questionWithScore.map((v) => [
-    //   v[0],
-    //   v[1].reduce((acc, c) => (acc += c.score), 0),
-    // ]);
-    // const questionWithTotalScoreSorted = sortBy(
-    //   questionWithTotalScore,
-    //   (obj) => obj[0]
-    // );
-    // const scoreList = questionWithTotalScoreSorted.map((s) => s[1]);
-    // // console.log(
-    // //   scoreGroups,
-    // //   questionWithScore,
-    // //   questionWithTotalScore,
-    // //   questionWithTotalScoreSorted,
-    // //   scoreList
-    // // );
-    // markResult.scoreList = scoreList as number[];
-    // // const sortScore = orderBy(markResult.trackList, ['mainNumber', 'subNumber', 'score']);
-    // // markResult.scoreList = sortScore.reduce((acc, pre) => {
-    // //   if(pre.mainNumber === cur.mainNumber && pre.subNumber === cur.subNumber) {
-    // //     acc[acc.length-1] += cur.score
-    // //   }
-    // // }, [0])
-    // markResult.markerScore =
-    //   markResult.trackList
-    //     .map((t) => t.score)
-    //     .reduce((acc, v) => (acc += v * 100), 0) / 100;
     markResult.specialTagList = [];
     markResult.problem = false;
     markResult.spent = Date.now() - markResult.spent;

+ 5 - 1
src/components/mark/Mark.vue

@@ -55,7 +55,7 @@ export default defineComponent({
 
     async function updateSetting() {
       const settingRes = await getSetting();
-      // settingRes.data.uiSetting["answer.paper.scale"] ||= 1;
+      // 初次使用时,重置并初始化uisetting
       if (isEmpty(settingRes.data.uiSetting)) {
         settingRes.data.uiSetting = {
           "answer.paper.scale": 1,
@@ -118,6 +118,10 @@ export default defineComponent({
       () => store.currentTask,
       () => {
         store.currentMarkResult = findCurrentTaskMarkResult();
+
+        // 重置当前选择的quesiton和score
+        store.currentQuestion = undefined;
+        store.currentScore = undefined;
       }
     );
 

+ 1 - 2
src/components/mark/MarkBoardKeyBoard.vue

@@ -58,7 +58,7 @@ export default defineComponent({
   name: "MarkBoardKeyBoard",
   emits: ["submit"],
   setup(props, { emit }) {
-    const { markResult, toggleKeyMouse } = keyMouse();
+    const { toggleKeyMouse } = keyMouse();
 
     const questionScoreSteps = computed(() => {
       const question = store.currentQuestion;
@@ -165,7 +165,6 @@ export default defineComponent({
     return {
       store,
       toggleKeyMouse,
-      markResult,
       isCurrentQuestion,
       chooseQuestion,
       questionScoreSteps,

+ 1 - 2
src/components/mark/MarkBoardMouse.vue

@@ -55,7 +55,7 @@ export default defineComponent({
   name: "MarkBoardMouse",
   emits: ["submit"],
   setup(props, { emit }) {
-    const { markResult, toggleKeyMouse } = keyMouse();
+    const { toggleKeyMouse } = keyMouse();
 
     function chooseScore(question: Question, score: number) {
       store.currentQuestion = question;
@@ -82,7 +82,6 @@ export default defineComponent({
     return {
       store,
       toggleKeyMouse,
-      markResult,
       chooseScore,
       isCurrentScore,
       submit,

+ 1 - 11
src/components/mark/MarkBoardTrack.vue

@@ -56,14 +56,12 @@
 import { Question } from "@/types";
 import { isNumber } from "lodash";
 import { computed, defineComponent, onMounted, onUnmounted, watch } from "vue";
-import { findCurrentTaskMarkResult, store } from "./store";
+import { store } from "./store";
 
 export default defineComponent({
   name: "MarkBoardTrack",
   emits: ["submit"],
   setup(props, { emit }) {
-    const markResult = findCurrentTaskMarkResult();
-
     const questionScoreSteps = computed(() => {
       const question = store.currentQuestion;
       if (!question) return [];
@@ -86,13 +84,6 @@ export default defineComponent({
         store.currentQuestion?.subNumber === question.subNumber
       );
     }
-    watch(
-      () => store.currentTask,
-      () => {
-        store.currentQuestion = undefined;
-        store.currentScore = undefined;
-      }
-    );
     watch(
       () => store.currentQuestion,
       () => {
@@ -153,7 +144,6 @@ export default defineComponent({
 
     return {
       store,
-      markResult,
       isCurrentQuestion,
       chooseQuestion,
       isCurrentScore,

+ 4 - 10
src/components/mark/MarkBody.vue

@@ -31,6 +31,7 @@ import { findCurrentTaskMarkResult, store } from "./store";
 import filters from "@/filters";
 import MarkDrawTrack from "./MarkDrawTrack.vue";
 import { MarkResult, Track } from "@/types";
+import { useTimers } from "@/setups/useTimers";
 
 interface SliceImage {
   url: string;
@@ -47,6 +48,8 @@ export default defineComponent({
   name: "MarkBody",
   components: { MarkDrawTrack },
   setup() {
+    const { addTimeout } = useTimers();
+
     const container = ref(null);
     let sliceImagesWithTrackList: Array<SliceImage> = reactive([]);
     let _studentId = -1; // 判断是否改变了任务
@@ -255,15 +258,6 @@ export default defineComponent({
 
     watchEffect(renderPaperAndMark);
 
-    // const reRenderPaperAndMark = () => {
-    //   // const markResult = findCurrentTaskMarkResult();
-    //   // const thisImageTrackList = markResult.trackList.filter(
-    //   //       (v) => v.offsetIndex === sliceConfig.i
-    //   //     );
-    //   sliceImagesWithTrackList;
-    // };
-    // watch(() => store.markResults, reRenderPaperAndMark, { deep: true });
-
     const answerPaperScale = computed(() => {
       // 放大、缩小不影响页面之前的滚动条定位
       let percentWidth = 0;
@@ -280,7 +274,7 @@ export default defineComponent({
         percentTop = scrollTop / scrollHeight;
       }
 
-      setTimeout(() => {
+      addTimeout(() => {
         if (document.querySelector(".mark-body-container")) {
           const container = document.querySelector(
             ".mark-body-container"

+ 1 - 9
src/components/mark/use/keyboardAndMouse.ts

@@ -13,14 +13,6 @@ export function keyMouse() {
 
   const markResult = findCurrentTaskMarkResult();
 
-  watch(
-    () => store.currentTask,
-    () => {
-      store.currentQuestion = undefined;
-      store.currentScore = undefined;
-    }
-  );
-
   // 普通模式更新分数时
   watch(
     () => store.currentQuestion?.score,
@@ -38,5 +30,5 @@ export function keyMouse() {
     }
   );
 
-  return { toggleKeyMouse, markResult };
+  return { toggleKeyMouse };
 }