From a88eab39f6b2f5c33913d51fac4e885c052ed4a1 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期四, 21 八月 2025 14:39:00 +0800 Subject: [PATCH] 整体样式修改 --- src/layout/components/Sidebar/index.vue | 130 ++++++++++++++++++++++--------------------- 1 files changed, 67 insertions(+), 63 deletions(-) diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index 4d40e28..fe25d0f 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -1,25 +1,27 @@ <template> - <div :class="{ 'has-logo': showLogo }" class="sidebar-container"> -<!-- <logo v-if="showLogo" :collapse="isCollapse" />--> - <el-scrollbar wrap-class="scrollbar-wrapper"> - <el-menu - :default-active="activeMenu" - :background-color="getMenuBackground" - :text-color="getMenuTextColor" - :unique-opened="true" - :active-text-color="theme" - :collapse="false" - mode="vertical" - > - <sidebar-item - v-for="(route, index) in sidebarRouters" - :key="route.path + index" - :item="route" - :base-path="route.path" - /> - </el-menu> - </el-scrollbar> - </div> + <div :class="{ 'has-logo': showLogo }" class="sidebar-container"> + <logo v-if="showLogo" :collapse="isCollapse" /> + <el-scrollbar wrap-class="scrollbar-wrapper"> + <el-menu + :default-active="activeMenu" + :collapse="isCollapse" + :background-color="getMenuBackground" + :text-color="getMenuTextColor" + :unique-opened="true" + :active-text-color="theme" + :collapse-transition="false" + mode="vertical" + :class="sideTheme" + > + <sidebar-item + v-for="(route, index) in sidebarRouters" + :key="route.path + index" + :item="route" + :base-path="route.path" + /> + </el-menu> + </el-scrollbar> + </div> </template> <script setup> @@ -39,62 +41,64 @@ const showLogo = computed(() => settingsStore.sidebarLogo) const sideTheme = computed(() => settingsStore.sideTheme) const theme = computed(() => settingsStore.theme) +const isCollapse = computed(() => !appStore.sidebar.opened) // 鑾峰彇鑿滃崟鑳屾櫙鑹� const getMenuBackground = computed(() => { - if (settingsStore.isDark) { - return 'var(--sidebar-bg)' - } - return sideTheme.value === 'theme-dark' ? variables.menuBg : variables.menuLightBg + if (settingsStore.isDark) { + return 'var(--sidebar-bg)' + } + return sideTheme.value === 'theme-dark' ? variables.menuBg : variables.menuLightBg }) // 鑾峰彇鑿滃崟鏂囧瓧棰滆壊 const getMenuTextColor = computed(() => { - if (settingsStore.isDark) { - return 'var(--sidebar-text)' - } - return sideTheme.value === 'theme-dark' ? variables.menuText : variables.menuLightText + if (settingsStore.isDark) { + return 'var(--sidebar-text)' + } + return sideTheme.value === 'theme-dark' ? variables.menuText : variables.menuLightText }) const activeMenu = computed(() => { - const { meta, path } = route - if (meta.activeMenu) { - return meta.activeMenu - } - return path + const { meta, path } = route + if (meta.activeMenu) { + return meta.activeMenu + } + return path }) </script> <style lang="scss" scoped> .sidebar-container { - background-color: v-bind(getMenuBackground); - - .scrollbar-wrapper { - background-color: v-bind(getMenuBackground); - } - - .el-menu { - border: none; - height: 100%; - width: 100% !important; - .el-menu-item, .el-sub-menu__title { - &:hover { - background-color: var(--menu-hover, rgba(0, 0, 0, 0.06)) !important; - } - } - - .el-menu-item { - color: v-bind(getMenuTextColor); - - &.is-active { - color: var(--menu-active-text, #409eff); - background-color: var(--menu-hover, rgba(0, 0, 0, 0.06)) !important; - } - } - - .el-sub-menu__title { - color: v-bind(getMenuTextColor); - } - } + background-color: v-bind(getMenuBackground); + + .scrollbar-wrapper { + background-color: v-bind(getMenuBackground); + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + + .el-menu-item, .el-sub-menu__title { + &:hover { + background-color: var(--menu-hover, rgba(0, 0, 0, 0.06)) !important; + } + } + + .el-menu-item { + color: v-bind(getMenuTextColor); + + &.is-active { + color: var(--menu-active-text, #409eff); + background-color: var(--menu-hover, rgba(0, 0, 0, 0.06)) !important; + } + } + + .el-sub-menu__title { + color: v-bind(getMenuTextColor); + } + } } </style> -- Gitblit v1.9.3