From 60aa9fd28f17a46732673e9c64d2abb3cf026676 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Fri, 2 Oct 2026 09:48:00 +0800 Subject: [PATCH] feat(web-admin): mount work tabs under left-layout header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Assemble header → worktab → content for the non-portal shell and migrate legacy portal default so the classic sidebar layout is the entry experience. Co-authored-by: Cursor --- web-admin/src/views/index/index.vue | 20 +++++++++++++------- web-admin/src/views/index/style.scss | 7 +++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/web-admin/src/views/index/index.vue b/web-admin/src/views/index/index.vue index 717771bab..fc8a798b0 100755 --- a/web-admin/src/views/index/index.vue +++ b/web-admin/src/views/index/index.vue @@ -30,6 +30,9 @@
+
+ +
@@ -66,15 +69,18 @@ onMounted(() => { const width = Number(settingStore.menuOpenWidth) - if (!Number.isFinite(width) || width < 270) { - settingStore.setMenuOpenWidth(270) - } else if (width === 290) { - settingStore.setMenuOpenWidth(270) + if (!Number.isFinite(width) || width < 220) { + settingStore.setMenuOpenWidth(220) + } else if (width === 270 || width === 290) { + // 收敛历史默认偏宽侧栏 + settingStore.setMenuOpenWidth(220) } - if (menuType.value !== MenuTypeEnum.PORTAL) { - settingStore.switchMenuLayouts(MenuTypeEnum.PORTAL) + + // 产品默认壳层:LEFT(不再强制 PORTAL;设置面板仍可切回门户) + if (menuType.value === MenuTypeEnum.PORTAL) { + settingStore.switchMenuLayouts(MenuTypeEnum.LEFT) } - // 门户:开启多页签;首页固定 Tab(不可关闭) + settingStore.setWorkTab(true) const home = homePath.value || HOME_PAGE_PATH || '/home' if (home) { diff --git a/web-admin/src/views/index/style.scss b/web-admin/src/views/index/style.scss index f4e474781..df8791f6e 100644 --- a/web-admin/src/views/index/style.scss +++ b/web-admin/src/views/index/style.scss @@ -27,6 +27,13 @@ width: 100%; } + #app-worktab { + flex-shrink: 0; + width: 100%; + background: #f1f5f9; + border-bottom: 1px solid var(--mint-border, #e2e8f0); + } + #app-content { flex: 1; min-height: 0;