{"remainingRequest":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\damDance-fvue\\src\\components\\layout\\SideMenu.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\damDance-fvue\\src\\components\\layout\\SideMenu.vue","mtime":1699938536887},{"path":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport {mapState} from 'vuex'\r\nimport menu from '@/api/menu.js'\r\nexport default {\r\n props: {\r\n menuShow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n currentSubMenu: [],\r\n activeIndex: '',\r\n hasAuthTobigScreen: false,\r\n roleList: [],\r\n roleCode: '',\r\n admin: false,\r\n menuAll: [],\r\n platReady: undefined,\r\n }\r\n },\r\n watch: {\r\n // 监听路由,如果为首页等非菜单页面,取消菜单选中项\r\n $route(to, from) {\r\n console.log(to.meta.isHome);\r\n if (to.meta.isHome) {\r\n this.activeIndex = ''\r\n } else {\r\n this.filterSubMenu()\r\n }\r\n },\r\n },\r\n computed: {\r\n ...mapState({\r\n frontMenus: (state) => {\r\n return state.menu.frontMenus\r\n },\r\n roleMenus: (state) => {\r\n return state.menu.roleMenus\r\n },\r\n }),\r\n },\r\n mounted() {\r\n this.platReady = sessionStorage.getItem('platReady')\r\n this.getMenus()\r\n // this.getRoleList()\r\n this.$bus.$on('roterPush', (path) => {\r\n // console.log('监听到了')\r\n this.activeIndex = path\r\n })\r\n },\r\n beforeDestroy() {\r\n sessionStorage.removeItem('platReady')\r\n },\r\n methods: {\r\n changeRole(role) {\r\n this.roleCode = role\r\n sessionStorage.setItem('currentRoleCode', role)\r\n this.$store\r\n .dispatch('menu/actionsRoleMenu', this.roleCode)\r\n .then((data) => {\r\n this.menuAll = data\r\n this.filterSubMenu()\r\n this.toFirstMenu(data)\r\n })\r\n },\r\n toFirstMenu(data) {\r\n let dataMenus =\r\n data && data.filter((item) => item.alias === 'normal')\r\n if (dataMenus && dataMenus.length !== 0) {\r\n if (\r\n dataMenus[0].children.length !== 0 &&\r\n dataMenus[0].children[0].children.length\r\n ) {\r\n this.$router.push({\r\n path: `/platLayout/${dataMenus[0].children[0].children[0].alias}`,\r\n })\r\n this.activeIndex = `/platLayout/${dataMenus[0].children[0].children[0].alias}`\r\n } else {\r\n this.$router.push({\r\n path: `/platLayout/${dataMenus[0].children[0].alias}`,\r\n })\r\n this.activeIndex = `/platLayout/${dataMenus[0].children[0].alias}`\r\n }\r\n } else {\r\n this.$router.push({\r\n path: `/platLayout/empty`,\r\n })\r\n }\r\n },\r\n getRoleList() {\r\n let UserDetail = JSON.parse(\r\n sessionStorage.getItem('currentUserDetail')\r\n )\r\n if (!UserDetail) {\r\n this.$store\r\n .dispatch('user/loadCurrentUserDetail')\r\n .then((res) => {\r\n UserDetail = res\r\n this.roleList = UserDetail.roleList || []\r\n sessionStorage.getItem(\r\n 'currentRoleCode',\r\n this.roleList[0].roleCode\r\n )\r\n this.currentRoleCode(UserDetail)\r\n this.getMenus()\r\n })\r\n } else {\r\n this.roleList = UserDetail.roleList\r\n this.currentRoleCode(UserDetail)\r\n this.getMenus()\r\n }\r\n },\r\n currentRoleCode(UserDetail) {\r\n let defaultRole = sessionStorage.getItem('currentRoleCode')\r\n if (!defaultRole) {\r\n defaultRole = this.roleList[0].roleCode\r\n sessionStorage.setItem('currentRoleCode', defaultRole)\r\n }\r\n this.roleCode = defaultRole\r\n let account = UserDetail.user.account\r\n // 系统管理员使用frontMenus\r\n if (this.roleCode == 'sysRole' && account == 'admin') {\r\n this.admin = true\r\n } else {\r\n this.admin = false\r\n }\r\n },\r\n getMenus() {\r\n this.menuAll = []\r\n // if (!this.admin) {\r\n // this.$store\r\n // .dispatch('menu/actionsRoleMenu', this.roleCode)\r\n // .then((data) => {\r\n // this.menuAll = data\r\n // this.filterSubMenu()\r\n // if (!this.platReady) {\r\n // this.toFirstMenu(data)\r\n // this.platReady = 'ready'\r\n // sessionStorage.setItem('platReady', 'ready')\r\n // }\r\n // })\r\n // } else {\r\n // this.$store.dispatch('menu/actionFrontMenus').then((data) => {\r\n // this.menuAll = data\r\n // this.filterSubMenu()\r\n // if (!this.platReady) {\r\n // this.toFirstMenu(data)\r\n // this.platReady = 'ready'\r\n // sessionStorage.setItem('platReady', 'ready')\r\n // }\r\n // })\r\n // }\r\n this.$store.dispatch('menu/actionFrontMenus').then((data) => {\r\n this.menuAll = data\r\n this.filterSubMenu()\r\n if (!this.platReady) {\r\n this.toFirstMenu(data)\r\n this.platReady = 'ready'\r\n sessionStorage.setItem('platReady', 'ready')\r\n }\r\n })\r\n },\r\n goIndex() {\r\n if (!this.hasAuthTobigScreen) return\r\n let bigScreen = this.frontMenus.filter(\r\n (item) => item.alias === 'bigScreen'\r\n )\r\n let alise = bigScreen[0].children[0].alias\r\n this.$router.push({\r\n path: `/${alise}`,\r\n })\r\n },\r\n // 菜单的收折\r\n handleMenuCollapse() {\r\n this.$emit('update:menuShow', !this.menuShow)\r\n },\r\n handleSelect(path, isJump) {\r\n let alias\r\n let _this = this\r\n if (path && path.indexOf('/platLayout/href') == -1) {\r\n let i = path.lastIndexOf('/')\r\n alias = path.slice(i + 1)\r\n } else {\r\n alias = path.replace('/platLayout/', '')\r\n }\r\n menu.getMenuByAlias(alias, (m) => {\r\n m && _this.$emit('menuChange', m)\r\n if (m && m.openType == '2' && isJump) {\r\n if (m.alias.indexOf('href/') == -1) {\r\n let openPath = '/platLayout/' + m.alias\r\n let routeUrl = this.$router.resolve({path: openPath})\r\n window.open(routeUrl.href, '_blank')\r\n } else {\r\n let tempwindow = window.open()\r\n tempwindow.location = m.href\r\n }\r\n } else if (m && m.parent) {\r\n this.$router.push(path)\r\n this.activeIndex = path\r\n }\r\n })\r\n },\r\n // 筛选出选中菜单\r\n filterSubMenu() {\r\n console.log(this.menuAll, '角色菜单')\r\n if (this.menuAll && this.menuAll.length) {\r\n let currentMenu = this.menuAll.filter(\r\n (item) => item.alias == 'normal'\r\n )[0]\r\n if (currentMenu) {\r\n this.currentSubMenu = currentMenu.children\r\n } else {\r\n this.currentSubMenu = []\r\n }\r\n console.log(this.$route.path,'this.$route.path');\r\n this.$refs.sidemenu.activeIndex = this.$route.path\r\n let bigScreen = this.roleMenus.filter(\r\n (item) => item.alias === 'bigScreen'\r\n )\r\n this.hasAuthTobigScreen = bigScreen.length ? true : false\r\n } else {\r\n this.currentSubMenu = []\r\n }\r\n },\r\n },\r\n}\r\n",null]}