|
@@ -62,14 +62,16 @@
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import type { SpecialTag, Track } from "@/types";
|
|
import type { SpecialTag, Track } from "@/types";
|
|
import { toRefs, watch, nextTick, computed } from "vue";
|
|
import { toRefs, watch, nextTick, computed } from "vue";
|
|
-import { store } from "@/store/app";
|
|
|
|
|
|
+import { useMarkStore } from "@/store";
|
|
import { message } from "ant-design-vue";
|
|
import { message } from "ant-design-vue";
|
|
import { CheckOutlined } from "@ant-design/icons-vue";
|
|
import { CheckOutlined } from "@ant-design/icons-vue";
|
|
import { useRoute } from "vue-router";
|
|
import { useRoute } from "vue-router";
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
|
|
|
|
|
|
+const markStore = useMarkStore();
|
|
|
|
+
|
|
const doubleTrack = computed(() => {
|
|
const doubleTrack = computed(() => {
|
|
- return !!store.setting?.doubleTrack;
|
|
|
|
|
|
+ return !!markStore.setting?.doubleTrack;
|
|
});
|
|
});
|
|
const props = defineProps<{
|
|
const props = defineProps<{
|
|
trackList: Array<Track>;
|
|
trackList: Array<Track>;
|
|
@@ -215,8 +217,8 @@ const computeTopAndLeft = (track: Track | SpecialTag) => {
|
|
top: topInsideSliceRatio * 100 + "%",
|
|
top: topInsideSliceRatio * 100 + "%",
|
|
left: leftInsideSliceRatio * 100 + "%",
|
|
left: leftInsideSliceRatio * 100 + "%",
|
|
"font-size":
|
|
"font-size":
|
|
- (store.setting.uiSetting["score.fontSize.scale"] || 1) *
|
|
|
|
- store.setting.uiSetting["answer.paper.scale"] *
|
|
|
|
|
|
+ (markStore.setting.uiSetting["score.fontSize.scale"] || 1) *
|
|
|
|
+ markStore.setting.uiSetting["answer.paper.scale"] *
|
|
2.2 +
|
|
2.2 +
|
|
"em",
|
|
"em",
|
|
};
|
|
};
|
|
@@ -224,7 +226,7 @@ const computeTopAndLeft = (track: Track | SpecialTag) => {
|
|
const hasMember = (track: any) => {
|
|
const hasMember = (track: any) => {
|
|
return (
|
|
return (
|
|
// (store.getMarkStatus === "正评" || store.getMarkStatus === "试评") &&
|
|
// (store.getMarkStatus === "正评" || store.getMarkStatus === "试评") &&
|
|
- store.focusTracks.find((item: any) => {
|
|
|
|
|
|
+ markStore.focusTracks.find((item: any) => {
|
|
return (
|
|
return (
|
|
item.mainNumber == track.mainNumber && item.subNumber == track.subNumber
|
|
item.mainNumber == track.mainNumber && item.subNumber == track.subNumber
|
|
);
|
|
);
|
|
@@ -232,29 +234,29 @@ const hasMember = (track: any) => {
|
|
);
|
|
);
|
|
};
|
|
};
|
|
const focusedTrack = (track: Track) => {
|
|
const focusedTrack = (track: Track) => {
|
|
- return store.focusTracks.includes(track) || hasMember(track);
|
|
|
|
|
|
+ return markStore.focusTracks.includes(track) || hasMember(track);
|
|
};
|
|
};
|
|
const circleTagClickHandle = (event: MouseEvent) => {
|
|
const circleTagClickHandle = (event: MouseEvent) => {
|
|
emit("click-specialtag", event);
|
|
emit("click-specialtag", event);
|
|
};
|
|
};
|
|
|
|
|
|
watch(
|
|
watch(
|
|
- () => store.focusTracks,
|
|
|
|
|
|
+ () => markStore.focusTracks,
|
|
() => {
|
|
() => {
|
|
- if (store.focusTracks.length === 0) return;
|
|
|
|
|
|
+ if (markStore.focusTracks.length === 0) return;
|
|
const minImageIndex = Math.min(
|
|
const minImageIndex = Math.min(
|
|
- ...store.focusTracks.map((t) => t.offsetIndex)
|
|
|
|
|
|
+ ...markStore.focusTracks.map((t) => t.offsetIndex)
|
|
);
|
|
);
|
|
const minImageOffsetY = Math.min(
|
|
const minImageOffsetY = Math.min(
|
|
- ...store.focusTracks
|
|
|
|
|
|
+ ...markStore.focusTracks
|
|
.filter((t) => t.offsetIndex === minImageIndex)
|
|
.filter((t) => t.offsetIndex === minImageIndex)
|
|
.map((t) => t.offsetY)
|
|
.map((t) => t.offsetY)
|
|
);
|
|
);
|
|
- const topTrack = store.focusTracks.find(
|
|
|
|
|
|
+ const topTrack = markStore.focusTracks.find(
|
|
(t) => t.offsetIndex === minImageIndex && t.offsetY === minImageOffsetY
|
|
(t) => t.offsetIndex === minImageIndex && t.offsetY === minImageOffsetY
|
|
);
|
|
);
|
|
if (topTrack) {
|
|
if (topTrack) {
|
|
- let allHeaderTracks = store.currentTask.questionList
|
|
|
|
|
|
+ let allHeaderTracks = markStore.currentTask.questionList
|
|
.map((item: any) => item.headerTrack || [])
|
|
.map((item: any) => item.headerTrack || [])
|
|
.flat();
|
|
.flat();
|
|
console.log("allHeaderTracks", allHeaderTracks);
|
|
console.log("allHeaderTracks", allHeaderTracks);
|