From 1a4c94b830f63f822670aa39c88b1054f45970a2 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 19 Feb 2025 13:41:38 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E3=80=91BPM=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=9B=BE=20=E5=B0=8F=E6=89=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/SimpleProcessModel.vue | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue b/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue index daf74867..2a0642ab 100644 --- a/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue +++ b/src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue @@ -98,49 +98,39 @@ const initialX = ref(0) const initialY = ref(0) const setGrabCursor = () => { - document.body.style.cursor = 'grab'; + document.body.style.cursor = 'grab' } const resetCursor = () => { - document.body.style.cursor = 'default'; + document.body.style.cursor = 'default' } const startDrag = (e: MouseEvent) => { - isDragging.value = true; - startX.value = e.clientX - currentX.value; - startY.value = e.clientY - currentY.value; - setGrabCursor(); // 设置小手光标 + isDragging.value = true + startX.value = e.clientX - currentX.value + startY.value = e.clientY - currentY.value + setGrabCursor() // 设置小手光标 } const onDrag = (e: MouseEvent) => { - if (!isDragging.value) return; - e.preventDefault(); // 禁用文本选择 - + if (!isDragging.value) return + e.preventDefault() // 禁用文本选择 + // 使用 requestAnimationFrame 优化性能 requestAnimationFrame(() => { - currentX.value = e.clientX - startX.value; - currentY.value = e.clientY - startY.value; - }); + currentX.value = e.clientX - startX.value + currentY.value = e.clientY - startY.value + }) } const stopDrag = () => { - isDragging.value = false; - resetCursor(); // 重置光标 + isDragging.value = false + resetCursor() // 重置光标 } const errorDialogVisible = ref(false) let errorNodes: SimpleFlowNode[] = [] -const saveSimpleFlowModel = async () => { - errorNodes = [] - validateNode(processNodeTree.value, errorNodes) - if (errorNodes.length > 0) { - errorDialogVisible.value = true - return - } - emits('save', processNodeTree.value) -} - // 校验节点设置。 暂时以 showText 为空 未节点错误配置 const validateNode = (node: SimpleFlowNode | undefined, errorNodes: SimpleFlowNode[]) => { if (node) {