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) {