|
@@ -1,8 +1,8 @@
|
|
<template>
|
|
<template>
|
|
<div class="scaleplate" id="scaleplate">
|
|
<div class="scaleplate" id="scaleplate">
|
|
<!-- 显示/隐藏参考线 -->
|
|
<!-- 显示/隐藏参考线 -->
|
|
- <div class="refer-line-img" @click="showReferLine = !showReferLine">
|
|
|
|
- <EyeFilled v-if="showReferLine" />
|
|
|
|
|
|
+ <div class="refer-line-img" @click="projectStore.toggleReffer()">
|
|
|
|
+ <EyeFilled v-if="projectStore.showReffer" />
|
|
<EyeInvisibleFilled v-else />
|
|
<EyeInvisibleFilled v-else />
|
|
</div>
|
|
</div>
|
|
<!-- 标尺 -->
|
|
<!-- 标尺 -->
|
|
@@ -37,7 +37,7 @@
|
|
<div
|
|
<div
|
|
class="refer-line"
|
|
class="refer-line"
|
|
v-for="item in stageStore.getReferLines"
|
|
v-for="item in stageStore.getReferLines"
|
|
- v-show="showReferLine"
|
|
|
|
|
|
+ v-show="projectStore.showReffer"
|
|
:key="item.key"
|
|
:key="item.key"
|
|
:style="{ left: item.x + 'px', top: item.y + 'px' }"
|
|
:style="{ left: item.x + 'px', top: item.y + 'px' }"
|
|
:class="item.type === 'horizontal' ? 'refer-line-h' : 'refer-line-v'"
|
|
:class="item.type === 'horizontal' ? 'refer-line-h' : 'refer-line-v'"
|
|
@@ -75,7 +75,7 @@ import { onMounted, ref, onBeforeUnmount, nextTick, watch } from "vue";
|
|
import type { Ref } from "vue";
|
|
import type { Ref } from "vue";
|
|
import { EyeFilled, EyeInvisibleFilled } from "@ant-design/icons-vue";
|
|
import { EyeFilled, EyeInvisibleFilled } from "@ant-design/icons-vue";
|
|
import { UseDraggable } from "@vueuse/components";
|
|
import { UseDraggable } from "@vueuse/components";
|
|
-import { drawScaleplate } from "@/utils";
|
|
|
|
|
|
+import { drawScaleplate, uuid } from "@/utils";
|
|
import { useStageStore } from "@/store/modules/stage";
|
|
import { useStageStore } from "@/store/modules/stage";
|
|
import { useProjectStore } from "@/store/modules/project";
|
|
import { useProjectStore } from "@/store/modules/project";
|
|
import type { ReferLine } from "#/project";
|
|
import type { ReferLine } from "#/project";
|
|
@@ -84,7 +84,6 @@ const stageStore = useStageStore();
|
|
const projectStore = useProjectStore();
|
|
const projectStore = useProjectStore();
|
|
const horizontalRef = ref<HTMLElement | null>(null);
|
|
const horizontalRef = ref<HTMLElement | null>(null);
|
|
const verticalRef = ref<HTMLElement | null>(null);
|
|
const verticalRef = ref<HTMLElement | null>(null);
|
|
-const showReferLine: Ref<boolean> = ref(true);
|
|
|
|
const windowSize: Ref<{ width: number; height: number }> = ref({
|
|
const windowSize: Ref<{ width: number; height: number }> = ref({
|
|
width: 0,
|
|
width: 0,
|
|
height: 0,
|
|
height: 0,
|
|
@@ -123,7 +122,7 @@ const handleDrawScaleplate = () => {
|
|
|
|
|
|
/* =============================== 参考线 ================================= */
|
|
/* =============================== 参考线 ================================= */
|
|
const virtualReferLine: Ref<ReferLine> = ref({
|
|
const virtualReferLine: Ref<ReferLine> = ref({
|
|
- key: 0,
|
|
|
|
|
|
+ key: '0',
|
|
x: 0,
|
|
x: 0,
|
|
y: 0,
|
|
y: 0,
|
|
value: 0,
|
|
value: 0,
|
|
@@ -154,14 +153,14 @@ const handleAddReferLine = () => {
|
|
|
|
|
|
projectStore.addReferLine({
|
|
projectStore.addReferLine({
|
|
...virtualReferLine.value,
|
|
...virtualReferLine.value,
|
|
- key: Date.now(),
|
|
|
|
|
|
+ key: uuid(),
|
|
});
|
|
});
|
|
};
|
|
};
|
|
/* 拖拽参考线 */
|
|
/* 拖拽参考线 */
|
|
const handleDragReferLine = (
|
|
const handleDragReferLine = (
|
|
{ x, y }: { x: number; y: number },
|
|
{ x, y }: { x: number; y: number },
|
|
- e: PointerEvent,
|
|
|
|
- key: number
|
|
|
|
|
|
+ _: PointerEvent,
|
|
|
|
+ key: string
|
|
) => {
|
|
) => {
|
|
const referLine = projectStore.referLines.find((item) => item.key === key);
|
|
const referLine = projectStore.referLines.find((item) => item.key === key);
|
|
if (!referLine) return;
|
|
if (!referLine) return;
|