From c41a394e2f7c13163415e0c1b9581e2111ab42da Mon Sep 17 00:00:00 2001 From: zqm Date: Wed, 7 Jan 2026 14:03:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=85=B3=E9=97=AD=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AutoRobot/Windows/Robot/Web/src/DockLayout/DockLayout.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/AutoRobot/Windows/Robot/Web/src/DockLayout/DockLayout.vue b/AutoRobot/Windows/Robot/Web/src/DockLayout/DockLayout.vue index 6cc6ccc..ed0a812 100644 --- a/AutoRobot/Windows/Robot/Web/src/DockLayout/DockLayout.vue +++ b/AutoRobot/Windows/Robot/Web/src/DockLayout/DockLayout.vue @@ -126,6 +126,10 @@ const dragOperationCache = new Map(); */ const shouldOperateAreaInsteadOfPanel = (areaId) => { try { + // 从floatingAreas中查找对应areaId的区域 + const area = floatingAreas.value.find(a => a.id === areaId); + if (!area) return false; + // 检查区域的子元素结构 // 如果有一个TabPage和任意数量的Panel,返回true const childrenArray = Array.isArray(area.children) ? area.children : [area.children]; @@ -261,7 +265,7 @@ const onPanelClose = (event) => { if (shouldOperateAreaInsteadOfPanel(areaId)) { onCloseFloatingArea({ areaId }); } else { - areaActions.closePanel(areaId, panelId); + panelActions.close(panelId, areaId); const area = floatingAreas.value.find(a => a.id === areaId); if (area && area.children) { for (const child of area.children) {