1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <template>
- <div :class="{'has-logo':showLogo}">
- <logo v-if="showLogo"
- :collapse="false" />
- <el-scrollbar wrap-class="scrollbar-wrapper">
- <el-menu :default-active="activeMenu"
- :collapse='false'
- :background-color="variables.menuBg"
- :text-color="variables.menuText"
- :unique-opened="true"
- :active-text-color="variables.menuActiveText"
- :collapse-transition="true"
- mode="vertical">
- <sidebar-item v-for="(route,index) in permission_routes"
- :key="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 '@/styles/variables.scss'
- export default {
- components: { SidebarItem, Logo },
- // mounted () {
- // },
- computed: {
- ...mapGetters([
- 'sidebar',
- 'permission_routes'
- ]),
- // routes () {
- // return this.$router.options.routes
- // },
- 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
- }
- // console.log(meta, path)
- return path
- },
- showLogo () {
- return this.$store.state.settings.sidebarLogo
- },
- variables () {
- return variables
- },
- isCollapse () {
- return false
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .el-menu-item {
- &:nth-last-child(1) {
- padding-bottom: 20px;
- }
- }
- </style>
|