{"remainingRequest":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\jd_cgpt_fvue\\src\\components\\layout\\SideMenu.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\src\\components\\layout\\SideMenu.vue","mtime":1701745911888},{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\jd_cgpt_fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\jd_cgpt_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\r\nimport {mapState} from 'vuex'\r\nimport menu from '@/api/menu.js'\r\nexport default {\r\n props: ['menuShow', 'navMode', 'bizMenuIndex', 'bizMenuAlias'],\r\n data() {\r\n return {\r\n logoUrl: '',\r\n companyName: '机电采购平台',\r\n currentMenu: [],\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 mounted() {\r\n this.$bus.$on('menuPathReady', aliasPath => {\r\n let menuKey\r\n if (\r\n this.navMode == 'topSideMenu-LR' ||\r\n this.navMode == 'topSideMenu-UD'\r\n ) {\r\n // 根据获取到的全路径取得对应的侧边栏菜单\r\n menuKey = aliasPath[this.bizMenuIndex]\r\n } else {\r\n menuKey = this.bizMenuAlias // 非联动菜单则是固定的侧边栏别名,这个别名根据每个业务系统的配置来确定。\r\n }\r\n this.filterBizMenu(this.frontMenus, menuKey)\r\n // 没有子菜单则隐藏侧边栏\r\n let hasSideMenu = this.currentMenu.length ? true : false\r\n this.$emit('update:menuShow', hasSideMenu)\r\n // 设置菜单高亮\r\n this.getActiveIndex()\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 created() {\r\n this.getSysInfo()\r\n // this.getRoleList()\r\n },\r\n beforeDestroy() {\r\n sessionStorage.removeItem('platReady')\r\n },\r\n methods: {\r\n // 页面刷新过滤出当前菜单\r\n getActiveIndex(to) {\r\n this.activeIndex = this.$route.path\r\n },\r\n // 筛选出业务菜单\r\n filterBizMenu(menus, aliasKey) {\r\n menus.forEach(item => {\r\n if (item.alias === aliasKey) {\r\n this.currentMenu = item.children\r\n } else if (item.children && item.children.length) {\r\n this.filterBizMenu(item.children, aliasKey)\r\n }\r\n })\r\n },\r\n // 获取系统名称、logo\r\n getSysInfo() {\r\n let url = '${uc}/uc/tenantManage/v1/getTenantByCode?code=platform'\r\n this.$http.get(url).then(resp => {\r\n if (resp.data) {\r\n let tenantManage = resp.data\r\n // this.companyName = tenantManage.nameFront\r\n if (tenantManage.frontLogo) {\r\n let frontLogo = JSON.parse(tenantManage.frontLogo)\r\n if (frontLogo && frontLogo.length > 0) {\r\n this.$http\r\n .get(\r\n window.context.portal +\r\n '/file/onlinePreviewController/v1/getFileById_' +\r\n frontLogo[0].id,\r\n 'arraybuffer'\r\n )\r\n .then(response => {\r\n let type = response.headers['content-type']\r\n if (type) {\r\n this.logoUrl = window.URL.createObjectURL(\r\n new Blob([response.data], {\r\n type: type\r\n })\r\n )\r\n } else {\r\n this.logoUrl = window.URL.createObjectURL(\r\n new Blob([response.data])\r\n )\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\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 /**角色菜单相关 start*/\r\n changeRole(role) {\r\n this.roleCode = role\r\n sessionStorage.setItem('currentRoleCode', role)\r\n this.$store.dispatch('menu/actionsRoleMenu', this.roleCode).then(data => {\r\n this.menuAll = data\r\n this.filterBizMenu()\r\n this.toFirstMenu(data)\r\n })\r\n },\r\n toFirstMenu(data) {\r\n let fullDataMenus =\r\n data && data.filter(item => item.alias === 'bigscreen')\r\n let dataMenus = fullDataMenus.children[5].children[5].children\r\n console.log(dataMenus)\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(sessionStorage.getItem('currentUserDetail'))\r\n if (!UserDetail) {\r\n this.$store.dispatch('user/loadCurrentUserDetail').then(res => {\r\n UserDetail = res\r\n this.roleList = UserDetail.roleList || []\r\n sessionStorage.getItem('currentRoleCode', this.roleList[0].roleCode)\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 /**角色菜单相关 end*/\r\n }\r\n}\r\n",null]}