|
@@ -59,7 +59,7 @@ import { dragImage } from "../mark/use/draggable";
|
|
import MultiMediaMarkBody from "../mark/MultiMediaMarkBody.vue";
|
|
import MultiMediaMarkBody from "../mark/MultiMediaMarkBody.vue";
|
|
import "viewerjs/dist/viewer.css";
|
|
import "viewerjs/dist/viewer.css";
|
|
import Viewer from "viewerjs";
|
|
import Viewer from "viewerjs";
|
|
-// import { message } from "ant-design-vue";
|
|
|
|
|
|
+import { message } from "ant-design-vue";
|
|
import EventBus from "@/plugins/eventBus";
|
|
import EventBus from "@/plugins/eventBus";
|
|
type MakeTrack = (
|
|
type MakeTrack = (
|
|
event: MouseEvent,
|
|
event: MouseEvent,
|
|
@@ -376,7 +376,21 @@ if (hasMarkResultToRender) {
|
|
//#endregion : 显示评分状态和清除轨迹
|
|
//#endregion : 显示评分状态和清除轨迹
|
|
|
|
|
|
//#region : 评分
|
|
//#region : 评分
|
|
|
|
+const checkTrackValid = (event: MouseEvent) => {
|
|
|
|
+ const { clientWidth, clientHeight, naturalWidth, naturalHeight } =
|
|
|
|
+ event.target;
|
|
|
|
+ const { offsetX, offsetY } = event;
|
|
|
|
+ const xLimitRate = 10 / naturalWidth;
|
|
|
|
+ const yLimitRate = 10 / naturalHeight;
|
|
|
|
+ return (
|
|
|
|
+ offsetX / clientWidth >= xLimitRate && offsetY / clientHeight >= yLimitRate
|
|
|
|
+ );
|
|
|
|
+};
|
|
const innerMakeTrack = (event: MouseEvent, item: SliceImage) => {
|
|
const innerMakeTrack = (event: MouseEvent, item: SliceImage) => {
|
|
|
|
+ if (!checkTrackValid(event)) {
|
|
|
|
+ void message.warn("轨迹位置距离边界太近");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
clearEmptySpecialTag(item);
|
|
clearEmptySpecialTag(item);
|
|
makeTrack(event, item, maxImageWidth, theFinalHeight);
|
|
makeTrack(event, item, maxImageWidth, theFinalHeight);
|
|
};
|
|
};
|