RuoYi
5 years ago
2 changed files with 64 additions and 47 deletions
@ -1,54 +1,57 @@
@@ -1,54 +1,57 @@
|
||||
<template> |
||||
<div :class="{'has-logo':showLogo}"> |
||||
<logo v-if="showLogo" :collapse="isCollapse" /> |
||||
<el-scrollbar wrap-class="scrollbar-wrapper"> |
||||
<el-menu |
||||
:default-active="activeMenu" |
||||
:collapse="isCollapse" |
||||
:background-color="variables.menuBg" |
||||
:text-color="variables.menuText" |
||||
:unique-opened="true" |
||||
:active-text-color="variables.menuActiveText" |
||||
:collapse-transition="false" |
||||
mode="vertical" |
||||
> |
||||
<sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> |
||||
</el-menu> |
||||
</el-scrollbar> |
||||
</div> |
||||
<div :class="{'has-logo':showLogo}"> |
||||
<logo v-if="showLogo" :collapse="isCollapse" /> |
||||
<el-scrollbar wrap-class="scrollbar-wrapper"> |
||||
<el-menu |
||||
:default-active="activeMenu" |
||||
:collapse="isCollapse" |
||||
:background-color="variables.menuBg" |
||||
:text-color="variables.menuText" |
||||
:unique-opened="true" |
||||
:active-text-color="settings.theme" |
||||
:collapse-transition="false" |
||||
mode="vertical" |
||||
> |
||||
<sidebar-item |
||||
v-for="(route, index) in permission_routes" |
||||
:key="route.path + index" |
||||
:item="route" |
||||
:base-path="route.path" |
||||
/> |
||||
</el-menu> |
||||
</el-scrollbar> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import { mapGetters } from 'vuex' |
||||
import Logo from './Logo' |
||||
import SidebarItem from './SidebarItem' |
||||
import variables from '@/assets/styles/variables.scss' |
||||
import { mapGetters, mapState } from "vuex"; |
||||
import Logo from "./Logo"; |
||||
import SidebarItem from "./SidebarItem"; |
||||
import variables from "@/assets/styles/variables.scss"; |
||||
|
||||
export default { |
||||
components: { SidebarItem, Logo }, |
||||
computed: { |
||||
...mapGetters([ |
||||
'permission_routes', |
||||
'sidebar' |
||||
]), |
||||
activeMenu() { |
||||
const route = this.$route |
||||
const { meta, path } = route |
||||
// if set path, the sidebar will highlight the path you set |
||||
if (meta.activeMenu) { |
||||
return meta.activeMenu |
||||
} |
||||
return path |
||||
}, |
||||
showLogo() { |
||||
return this.$store.state.settings.sidebarLogo |
||||
}, |
||||
variables() { |
||||
return variables |
||||
}, |
||||
isCollapse() { |
||||
return !this.sidebar.opened |
||||
components: { SidebarItem, Logo }, |
||||
computed: { |
||||
...mapState(["settings"]), |
||||
...mapGetters(["permission_routes", "sidebar"]), |
||||
activeMenu() { |
||||
const route = this.$route; |
||||
const { meta, path } = route; |
||||
// if set path, the sidebar will highlight the path you set |
||||
if (meta.activeMenu) { |
||||
return meta.activeMenu; |
||||
} |
||||
return path; |
||||
}, |
||||
showLogo() { |
||||
return this.$store.state.settings.sidebarLogo; |
||||
}, |
||||
variables() { |
||||
return variables; |
||||
}, |
||||
isCollapse() { |
||||
return !this.sidebar.opened; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}; |
||||
</script> |
||||
|
Loading…
Reference in new issue