| | |
| | | <script> |
| | | import { constantRoutes } from "@/router"; |
| | | |
| | | // 不需要激活的路由 |
| | | const noactiveList = ["/user/profile", "/dict/type", "/gen/edit", "/job/log"]; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | computed: { |
| | | // 顶部显示菜单 |
| | | topMenus() { |
| | | return this.routers.map((menu) => ({ |
| | | ...menu, |
| | | children: undefined, |
| | | })); |
| | | let topMenus = []; |
| | | this.routers.map((menu) => { |
| | | if (menu.hidden === false) { |
| | | topMenus.push(menu); |
| | | } |
| | | }); |
| | | return topMenus; |
| | | }, |
| | | // 所有的路由信息 |
| | | routers() { |
| | |
| | | activeMenu() { |
| | | const path = this.$route.path; |
| | | let activePath = this.routers[0].path; |
| | | var noactive = noactiveList.some(function (item) { |
| | | return path.indexOf(item) !== -1; |
| | | }); |
| | | if (noactive) { |
| | | return; |
| | | } |
| | | if (path.lastIndexOf("/") > 0) { |
| | | const tmpPath = path.substring(1, path.length); |
| | | activePath = "/" + tmpPath.substring(0, tmpPath.indexOf("/")); |
| | |
| | | methods: { |
| | | // 根据宽度计算设置显示栏数 |
| | | setVisibleNumber() { |
| | | const width = document.body.getBoundingClientRect().width - 200; |
| | | const width = document.body.getBoundingClientRect().width - 380; |
| | | const elWidth = this.$el.getBoundingClientRect().width; |
| | | const menuItemNodes = this.$el.children; |
| | | const menuWidth = Array.from(menuItemNodes).map( |
| | |
| | | }); |
| | | } |
| | | this.$store.commit("SET_SIDEBAR_ROUTERS", routes); |
| | | }, |
| | | } |
| | | }, |
| | | }; |
| | | </script> |