diff --git a/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue b/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue index 3ae45d8..b592bbc 100644 --- a/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue +++ b/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue @@ -115,28 +115,7 @@ @tabDragStart="() => {}" @tabDragMove="() => {}" @tabDragEnd="() => {}" - > - - - + /> @@ -593,11 +572,10 @@ const mergeAreaContent = (sourceArea) => { sourceArea.tabPages.forEach((tabPage, tabIndex) => { const newTabPageId = `merged-tabpage-${Date.now()}-${tabIndex}` const newPanels = (tabPage.panels || []).map((panel, panelIndex) => { - const newPanelId = `merged-panel-${Date.now()}-${tabIndex}-${panelIndex}` - console.log(`[Area] 添加Panel: ${panel.id} -> ${newPanelId}`) + // 保持原有Panel ID不变,确保Vue响应式和状态稳定性 + console.log(`[Area] 添加Panel: ${panel.id}`) return { ...panel, - id: newPanelId, maximized: true } }) @@ -643,20 +621,18 @@ const mergeAreaContent = (sourceArea) => { if (sourceArea.tabPages && sourceArea.tabPages.length > 0) { sourceArea.tabPages.forEach((sourceTabPage, tabIndex) => { if (sourceTabPage && sourceTabPage.panels) { - // 为每个Panel创建新的唯一ID避免冲突 + // 保持原有Panel ID不变,避免Vue组件重新创建和状态丢失 const newPanels = sourceTabPage.panels.map((panel, panelIndex) => { - const newPanelId = `merged-panel-${Date.now()}-${tabIndex}-${panelIndex}` - console.log(`[Area] 合并Panel到现有TabPage: ${panel.id} -> ${newPanelId}`) + console.log(`[Area] 合并Panel到现有TabPage: ${panel.id}`) return { ...panel, - id: newPanelId, maximized: true } }) // 将新的Panel添加到现有TabPage existingTabPage.tabPage.panels.push(...newPanels) - existingTabPage.panels.push(...newPanels) + // existingTabPage.panels 是旧引用,保持结构一致性但避免重复添加 console.log(`[Area] 成功合并 ${newPanels.length} 个Panel到现有TabPage`) } diff --git a/AutoRobot/Windows/Robot/Web/src/DockLayout/TabPage.vue b/AutoRobot/Windows/Robot/Web/src/DockLayout/TabPage.vue index ddc7198..a8d690d 100644 --- a/AutoRobot/Windows/Robot/Web/src/DockLayout/TabPage.vue +++ b/AutoRobot/Windows/Robot/Web/src/DockLayout/TabPage.vue @@ -58,8 +58,41 @@
- - + + + +
+ 没有可显示的内容 +
@@ -122,6 +155,7 @@