From 10e40b0eeef89eb484f3ed1c3f455ca957af2723 Mon Sep 17 00:00:00 2001 From: zqm Date: Mon, 5 Jan 2026 09:07:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=96=E6=8B=BD=E6=97=B6=EF=BC=8C=E5=A4=9A?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E7=9B=B8=E4=BA=92=E7=8B=AC=E7=AB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Windows/Robot/Web/src/DockLayout/Area.vue | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue b/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue index 35fd011..fa9e8a0 100644 --- a/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue +++ b/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue @@ -377,8 +377,13 @@ const onDragStart = (e) => { // 拖拽移动 - 处理事件总线的area.drag.move事件 const onDragMove = (eventData) => { - // 从事件数据中获取位置信息 - const { left, top, dragId } = eventData + // 从事件数据中获取位置信息和areaId + const { left, top, dragId, areaId } = eventData + + // 只有当事件的areaId与当前组件的id匹配时,才更新位置 + if (areaId !== props.id) { + return; + } // 只使用明确提供的left和top值,不直接使用position.x和position.y if (left !== undefined) { @@ -401,7 +406,12 @@ const onDragMove = (eventData) => { // 拖拽结束 - 处理事件总线的area.drag.end事件 const onDragEnd = (eventData) => { - const { dragId, finalPosition } = eventData + const { dragId, finalPosition, areaId } = eventData + + // 只有当事件的areaId与当前组件的id匹配时,才处理拖拽结束 + if (areaId !== props.id) { + return; + } // 如果提供了finalPosition,更新位置 if (finalPosition) {