From e38c0656952f70552170fc4ee72420b0c741919e Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 18 六月 2026 10:04:09 +0800
Subject: [PATCH] 样式修改
---
src/layout/components/Sidebar/index.vue | 149 ++++++++++++++++++++++++-------------------------
1 files changed, 74 insertions(+), 75 deletions(-)
diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue
index 8f9fb89..6490960 100644
--- a/src/layout/components/Sidebar/index.vue
+++ b/src/layout/components/Sidebar/index.vue
@@ -1,101 +1,100 @@
<template>
- <div :class="{ 'has-logo': showLogo }" class="sidebar-container">
- <logo v-if="showLogo" :collapse="isCollapse" />
+ <div :class="{ 'has-logo': showLogo && appStore.device === 'mobile' }"
+ class="sidebar-container">
+ <logo v-if="showLogo && appStore.device === 'mobile'"
+ :collapse="false" />
<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 :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>
-import Logo from "./Logo";
-import SidebarItem from "./SidebarItem";
-import useAppStore from "@/store/modules/app";
-import useSettingsStore from "@/store/modules/settings";
-import usePermissionStore from "@/store/modules/permission";
+ import Logo from "./Logo";
+ import SidebarItem from "./SidebarItem";
+ import useAppStore from "@/store/modules/app";
+ import useSettingsStore from "@/store/modules/settings";
+ import usePermissionStore from "@/store/modules/permission";
-const route = useRoute();
-const appStore = useAppStore();
-const settingsStore = useSettingsStore();
-const permissionStore = usePermissionStore();
+ const route = useRoute();
+ const appStore = useAppStore();
+ const settingsStore = useSettingsStore();
+ const permissionStore = usePermissionStore();
-const sidebarRouters = computed(() => permissionStore.sidebarRouters);
-const showLogo = computed(() => settingsStore.sidebarLogo);
-const sideTheme = computed(() => settingsStore.sideTheme);
-const theme = computed(() => settingsStore.theme);
-const isCollapse = computed(() => !appStore.sidebar.opened);
+ const sidebarRouters = computed(() => permissionStore.sidebarRouters);
+ const showLogo = computed(() => settingsStore.sidebarLogo);
+ const sideTheme = computed(() => settingsStore.sideTheme);
+ const theme = computed(() => settingsStore.theme);
+ const isCollapse = computed(() => !appStore.sidebar.opened);
-const getMenuBackground = computed(() => "var(--sidebar-bg)");
+ const getMenuBackground = computed(() => "var(--sidebar-bg)");
-const getMenuTextColor = computed(() => "var(--sidebar-text)");
+ const getMenuTextColor = computed(() => "var(--sidebar-text)");
-const activeMenu = computed(() => {
- const { meta, path } = route;
- if (meta.activeMenu) return meta.activeMenu;
- return path;
-});
+ const activeMenu = computed(() => {
+ const { meta, path } = route;
+ if (meta.activeMenu) return meta.activeMenu;
+ return path;
+ });
</script>
<style lang="scss" scoped>
-.sidebar-container {
- background: transparent;
- border-radius: 0;
- overflow: hidden;
-
- .scrollbar-wrapper {
+ .sidebar-container {
background: transparent;
- }
+ border-radius: 0;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
- .el-menu {
- border: none !important;
- height: 100%;
- width: 100% !important;
- background: transparent !important;
-
- :deep(.el-menu-item),
- :deep(.el-sub-menu__title) {
- margin-bottom: 4px;
- border-radius: var(--radius-md);
- color: var(--sidebar-text);
- font-size: 14px;
- transition: all 0.2s ease;
- display: flex;
- align-items: center;
-
- &:hover {
- background: var(--menu-hover) !important;
- color: #fff !important;
- }
+ .scrollbar-wrapper {
+ background: transparent;
}
- :deep(.el-menu-item.is-active) {
- background: var(--menu-active-bg) !important;
- color: var(--menu-active-text) !important;
- font-weight: 600;
- box-shadow: var(--menu-active-glow);
+ .el-menu {
+ border: none !important;
+ height: 100%;
+ width: 100% !important;
+ background: transparent !important;
- .svg-icon {
+ :deep(.el-menu-item),
+ :deep(.el-sub-menu__title) {
+ margin-bottom: 4px;
+ border-radius: var(--radius-md);
+ color: var(--sidebar-text);
+ font-size: 14px;
+ transition: all 0.2s ease;
+ display: flex;
+ align-items: center;
+
+ &:hover {
+ background: var(--menu-hover) !important;
+ color: #fff !important;
+ }
+ }
+
+ :deep(.el-menu-item.is-active) {
+ background: var(--menu-active-bg) !important;
color: var(--menu-active-text) !important;
+ font-weight: 600;
+ box-shadow: var(--menu-active-glow);
+
+ .svg-icon {
+ color: var(--menu-active-text) !important;
+ }
}
}
-
}
-}
</style>
--
Gitblit v1.9.3