Sfoglia il codice sorgente

fix: 特殊轨迹问题

zhangjie 2 mesi fa
parent
commit
23219b77f3

+ 13 - 3
src/features/mark/MarkBodySepecialTag.vue

@@ -43,7 +43,7 @@ import { nextTick, watch } from "vue";
 import type { SliceImage, SpecialTag } from "@/types";
 import { useMarkStore } from "@/store";
 import { vEleMoveDirective } from "@/directives/eleMove";
-import { randomCode } from "@/utils/utils";
+import { randomCode, getTrackId } from "@/utils/utils";
 
 const { sliceImageItem } = defineProps<{
   sliceImageItem: SliceImage;
@@ -144,6 +144,12 @@ function specialMouseStop() {
   }
 
   const track: SpecialTag = {
+    id: getTrackId({
+      mainNumber: markStore.currentQuestion?.mainNumber,
+      subNumber: markStore.currentQuestion?.subNumber,
+    }),
+    mainNumber: markStore.currentQuestion?.mainNumber,
+    subNumber: markStore.currentQuestion?.subNumber,
     tagName: "",
     tagType: markStore.currentSpecialTagType,
     offsetIndex: curSliceImagesWithTrackItem.indexInSliceUrls,
@@ -153,7 +159,6 @@ function specialMouseStop() {
     offsetY:
       specialPoint.y * (curImageTarget.naturalHeight / curImageTarget.height) +
       curSliceImagesWithTrackItem.dy,
-    groupNumber: markStore.currentQuestion.groupNumber,
   };
 
   if (markStore.currentSpecialTagType === "LINE") {
@@ -232,6 +237,12 @@ function textTrackBlur() {
   });
 
   const track: SpecialTag = {
+    id: getTrackId({
+      mainNumber: markStore.currentQuestion?.mainNumber,
+      subNumber: markStore.currentQuestion?.subNumber,
+    }),
+    mainNumber: markStore.currentQuestion?.mainNumber,
+    subNumber: markStore.currentQuestion?.subNumber,
     tagName,
     tagType: markStore.currentSpecialTagType,
     offsetIndex: curSliceImagesWithTrackItem.indexInSliceUrls,
@@ -242,7 +253,6 @@ function textTrackBlur() {
       cacheTextTrack.y *
         (curImageTarget.naturalHeight / curImageTarget.height) +
       curSliceImagesWithTrackItem.dy,
-    groupNumber: markStore.currentQuestion.groupNumber,
   };
 
   markStore.currentTaskEnsured.markResult.markerTagList.push(track);

+ 1 - 5
src/features/mark/composables/useMakeTrack.ts

@@ -1,15 +1,11 @@
 import { SliceImage, SpecialTag, Track, Question, SplitConfig } from "@/types";
 import { useMarkStore } from "@/store";
-import { randomCode } from "@/utils/utils";
+import { getTrackId } from "@/utils/utils";
 import { message } from "ant-design-vue";
 
 export default function useMakeTrack() {
   const markStore = useMarkStore();
 
-  function getTrackId(data: { mainNumber: number; subNumber: number }): string {
-    return `${data.mainNumber}-${data.subNumber}-${randomCode()}`;
-  }
-
   // 标记分数轨迹
   function makeScoreTrack(event: MouseEvent, item: SliceImage) {
     if (

+ 7 - 0
src/utils/utils.ts

@@ -131,3 +131,10 @@ export function numberToChinese(num) {
     })
     .join("十");
 }
+
+export function getTrackId(data: {
+  mainNumber: number;
+  subNumber: number;
+}): string {
+  return `${data.mainNumber}-${data.subNumber}-${randomCode()}`;
+}