From 1d48052d449fac67b44e33181da22abe0d333066 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 28 Jul 2025 15:03:39 +0800 Subject: [PATCH] refactor: move gap adaptor tab --- .../src/views/dashboard/canvas/CanvasCore.vue | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend/src/views/dashboard/canvas/CanvasCore.vue b/frontend/src/views/dashboard/canvas/CanvasCore.vue index 48032fc6..afef79c5 100644 --- a/frontend/src/views/dashboard/canvas/CanvasCore.vue +++ b/frontend/src/views/dashboard/canvas/CanvasCore.vue @@ -809,9 +809,15 @@ function checkStartMove() { if (cloneItem && nowItemNode) { const xGap = Math.abs(cloneItem.offsetLeft - nowItemNode.offsetLeft) const yGap = Math.abs(cloneItem.offsetTop - nowItemNode.offsetTop) - return xGap > offsetX || yGap > offsetY + return { + xMove: xGap > offsetX, + yMove: yGap > offsetY, + } + } + return { + xMove: false, + yMove: false, } - return false } function startMove(e: MouseEvent, item: CanvasItem, index: number) { @@ -933,13 +939,10 @@ function startMove(e: MouseEvent, item: CanvasItem, index: number) { //If the current canvas is locked, no component movement will be performed if (canvasLocked.value) return - if (!checkStartMove()) { - return - } - + const { xMove, yMove } = checkStartMove() // Adjust the accuracy of moving coordinate changes - let newX = Math.round(nowCloneItemX / cellWidth.value) - let newY = Math.round(nowCloneItemY / cellHeight.value) + let newX = xMove ? Math.round(nowCloneItemX / cellWidth.value) : infoBox.value.oldX + let newY = yMove ? Math.round(nowCloneItemY / cellHeight.value) : infoBox.value.oldY newX = newX > 0 ? newX : 1 newY = newY > 0 ? newY : 1 debounce(() => {