| | |
| | | :collapse-transition="false" |
| | | mode="vertical" |
| | | > |
| | | <sidebar-item |
| | | v-for="route in routes" |
| | | :key="route.path" |
| | | class="el-scrollbar-menu" |
| | | :item="route" |
| | | :base-path="route.path" |
| | | /> |
| | | <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />--> |
| | | <!-- <sidebar-item--> |
| | | <!-- v-for="route in routes"--> |
| | | <!-- :key="route.path"--> |
| | | <!-- class="el-scrollbar-menu"--> |
| | | <!-- :item="route"--> |
| | | <!-- :base-path="route.path"--> |
| | | <!-- />--> |
| | | <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> |
| | | |
| | | </el-menu> |
| | | </el-scrollbar> |
| | |
| | | import SidebarItem from './SidebarItem' |
| | | import variables from '@/styles/variables.scss' |
| | | import { LoginMenu } from '@/api/user' |
| | | import axios from 'axios' |
| | | |
| | | export default { |
| | | components: { SidebarItem, Logo }, |
| | |
| | | routers: [] |
| | | } |
| | | }, |
| | | async created() { |
| | | const { data: res } = await LoginMenu() |
| | | this.routers = res |
| | | this.routers.unshift({ code: '1000', name: '系统设置' }) |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'permission_routes', |
| | | 'sidebar' |
| | | ]), |
| | | routes() { |
| | | const newCodeArr = [] |
| | | const newCodeNameArr = [] |
| | | this.routers.forEach(item => { |
| | | if (item.code) { |
| | | newCodeArr.push(item.code) |
| | | newCodeNameArr.push({ code: item.code, title: item.name }) |
| | | if (item.children) { |
| | | item.children.forEach(it => { |
| | | if (it.code) { |
| | | newCodeArr.push(it.code) |
| | | newCodeNameArr.push({ code: it.code, title: it.name }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | const arr = this.$router.options.routes |
| | | const arr2 = [] |
| | | arr.forEach((item, index) => { |
| | | if (newCodeArr.includes(item.code) && item.children.length === 1) { |
| | | arr2.push(item) |
| | | } else if (newCodeArr.includes(item.code) && item.children.length > 1) { |
| | | newCodeNameArr.forEach(it1 => { // 替换接口中的name为菜单名称 |
| | | if (it1.code === item.code) { |
| | | item.meta.title = it1.title |
| | | } |
| | | }) |
| | | const a = [] |
| | | item.children.forEach((it2, ind) => { // 遍历 |
| | | if (newCodeArr.includes(it2.code)) { |
| | | newCodeNameArr.forEach(it1 => { // 替换接口中的name为菜单名称 |
| | | if (it2.code === it1.code) { |
| | | it2.meta.title = it1.title |
| | | } |
| | | }) |
| | | a.push(it2) |
| | | } |
| | | }) |
| | | item.children = a |
| | | arr2.push(item) |
| | | } |
| | | }) |
| | | return arr2 |
| | | return this.$router.options.routes |
| | | }, |
| | | activeMenu() { |
| | | const route = this.$route |
| | |
| | | color: white; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .el-button--text:focus{ |
| | | color: white; |
| | | } |
| | | #app .sidebar-container .el-submenu .el-menu-item { |
| | | background-color: transparent !important; |
| | | } |