|
@@ -6,9 +6,15 @@
|
|
/>
|
|
/>
|
|
<div class="cursor">
|
|
<div class="cursor">
|
|
<div class="cursor-border">
|
|
<div class="cursor-border">
|
|
- <span class="text">{{
|
|
|
|
- store.currentSpecialTag ||
|
|
|
|
- (Object.is(store.currentScore, -0) ? "空" : store.currentScore)
|
|
|
|
|
|
+ <span v-if="store.currentSpecialTagType === 'TEXT'" class="text">文</span>
|
|
|
|
+ <span v-else-if="store.currentSpecialTagType === 'RIGHT'" class="text">
|
|
|
|
+ <CheckOutlined
|
|
|
|
+ /></span>
|
|
|
|
+ <span v-else-if="store.currentSpecialTag" class="text">
|
|
|
|
+ {{ store.currentSpecialTag }}
|
|
|
|
+ </span>
|
|
|
|
+ <span v-else class="text">{{
|
|
|
|
+ Object.is(store.currentScore, -0) ? "空" : store.currentScore
|
|
}}</span>
|
|
}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -21,6 +27,8 @@ import { store } from "@/store/store";
|
|
import { SliceImage, SpecialTag, Track } from "@/types";
|
|
import { SliceImage, SpecialTag, Track } from "@/types";
|
|
import CustomCursor from "custom-cursor.js";
|
|
import CustomCursor from "custom-cursor.js";
|
|
import CommonMarkBody from "./CommonMarkBody.vue";
|
|
import CommonMarkBody from "./CommonMarkBody.vue";
|
|
|
|
+import { CheckOutlined } from "@ant-design/icons-vue";
|
|
|
|
+
|
|
// import { message } from "ant-design-vue";
|
|
// import { message } from "ant-design-vue";
|
|
// 开启本组件,测试后台在整卷的还原效果
|
|
// 开启本组件,测试后台在整卷的还原效果
|
|
// import MarkBody from "@/features/student/studentInspect/MarkBody.vue";
|
|
// import MarkBody from "@/features/student/studentInspect/MarkBody.vue";
|
|
@@ -139,9 +147,11 @@ const makeSpecialTagTrack = (
|
|
// console.log(item);
|
|
// console.log(item);
|
|
if (!store.currentTask || typeof store.currentSpecialTag === "undefined")
|
|
if (!store.currentTask || typeof store.currentSpecialTag === "undefined")
|
|
return;
|
|
return;
|
|
|
|
+
|
|
const target = event.target as HTMLImageElement;
|
|
const target = event.target as HTMLImageElement;
|
|
const track: SpecialTag = {
|
|
const track: SpecialTag = {
|
|
tagName: store.currentSpecialTag,
|
|
tagName: store.currentSpecialTag,
|
|
|
|
+ tagType: store.currentSpecialTagType,
|
|
offsetIndex: item.indexInSliceUrls,
|
|
offsetIndex: item.indexInSliceUrls,
|
|
offsetX: Math.round(
|
|
offsetX: Math.round(
|
|
event.offsetX * (target.naturalWidth / target.width) + item.dx
|
|
event.offsetX * (target.naturalWidth / target.width) + item.dx
|
|
@@ -178,8 +188,15 @@ const makeTrack = (
|
|
maxSliceWidth: number,
|
|
maxSliceWidth: number,
|
|
theFinalHeight: number
|
|
theFinalHeight: number
|
|
) => {
|
|
) => {
|
|
- if (store.setting.uiSetting["specialTag.modal"] && store.currentSpecialTag) {
|
|
|
|
|
|
+ if (
|
|
|
|
+ store.setting.uiSetting["specialTag.modal"] &&
|
|
|
|
+ store.currentSpecialTagType
|
|
|
|
+ ) {
|
|
makeSpecialTagTrack(event, item, maxSliceWidth, theFinalHeight);
|
|
makeSpecialTagTrack(event, item, maxSliceWidth, theFinalHeight);
|
|
|
|
+ if (store.currentSpecialTagType === "TEXT") {
|
|
|
|
+ store.currentSpecialTag = undefined;
|
|
|
|
+ store.currentSpecialTagType = undefined;
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
makeScoreTrack(event, item, maxSliceWidth, theFinalHeight);
|
|
makeScoreTrack(event, item, maxSliceWidth, theFinalHeight);
|
|
}
|
|
}
|