{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\Menu.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\Menu.vue","mtime":1675071992678},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\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\r\nimport menu from '@/api/menu.js'\r\nimport utils from '@/hotent-ui-util.js'\r\nimport {mapState} from 'vuex'\r\n\r\nexport default {\r\n props: {\r\n menuShow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n computed: {\r\n ...mapState({\r\n menus: (state) => {\r\n return state.menu.menus\r\n },\r\n }),\r\n },\r\n watch: {\r\n collapseItemActive(n, o) {\r\n this.oldCollapseItemActive = o\r\n },\r\n $route(to, from) {\r\n if (to.meta.isHome) {\r\n this.collapseItemActive = ''\r\n this.menuItemActive = ''\r\n }\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n collapseItemActive: '',\r\n menuItemActive: '',\r\n oldCollapseItemActive: '',\r\n isLeftBtnValue: false,\r\n }\r\n },\r\n created() {\r\n this.$router.afterEach((_) => {\r\n this.syncUrlToMenu()\r\n })\r\n // 默认进入到首页,不选中菜单\r\n // if (this.menus[0] && this.menus[0].children[0]) {\r\n // this.collapseItemActive = this.menus[0].alias\r\n // this.menuItemActive = this.menus[0].children[0].alias\r\n // }\r\n },\r\n mounted() {\r\n const this_ = this\r\n setTimeout(function () {\r\n !this_.currentUser &&\r\n this_.$store.dispatch('user/loadCurrentUserDetail')\r\n }, 2000)\r\n const currentUser = this.$store.state.login.currentUser\r\n if ((!this.menus || this.menus.length == 0) && currentUser) {\r\n let this_ = this\r\n this.$store.dispatch('menu/actionMenus').then((data) => {\r\n if (this.isHasCurrentUrlRight()) {\r\n this.syncUrlToMenu()\r\n } else {\r\n // this_.$router.push('home')\r\n }\r\n })\r\n } else {\r\n this.syncUrlToMenu()\r\n }\r\n },\r\n methods: {\r\n handleMenuCollapse() {\r\n this.$emit('update:menuShow', !this.menuShow)\r\n if (this.menuShow == true) {\r\n this.collapseItemActive = ''\r\n } else {\r\n this.collapseItemActive = this.oldCollapseItemActive\r\n }\r\n //控制向左按钮的值\r\n this.isLeftBtnValue = !this.isLeftBtnValue\r\n },\r\n // 同步当前url地址到目录菜单中,选中对应的目录菜单\r\n syncUrlToMenu() {\r\n let routePath = this.$route.path\r\n if (routePath) {\r\n if (!this.$route.meta.isHome) {\r\n this.handleSelect(routePath, false)\r\n }\r\n }\r\n },\r\n // 判断是否拥有当前url地址的权限\r\n isHasCurrentUrlRight: function () {\r\n let routePath = this.$route.path\r\n if (routePath) {\r\n let hasRight = false\r\n if (!this.menus || this.menus.length < 1) {\r\n return hasRight\r\n }\r\n let tempMenu = JSON.parse(JSON.stringify(this.menus))\r\n let listMenu = utils.nest2tile(tempMenu, '', true)\r\n let ruterArr = routePath.split('/')\r\n let lastRuter = ruterArr[ruterArr.length - 1]\r\n listMenu.forEach((menu) => {\r\n if (lastRuter.indexOf(menu.alias) > -1) {\r\n hasRight = true\r\n return\r\n }\r\n })\r\n return hasRight\r\n }\r\n },\r\n handleSelect(path, isJump) {\r\n if (alias != 'tenant') {\r\n this.$store.dispatch('tenant/actionTenantId', null)\r\n }\r\n let alias\r\n let _this = this\r\n if (path && path.indexOf('/sysplat/href')==-1) {\r\n let i = path.lastIndexOf('/')\r\n alias = path.slice(i + 1)\r\n }else{\r\n alias = path.replace('/sysplat/', '');\r\n }\r\n menu.getMenuByAlias(alias, (m) => {\r\n m && _this.$emit('menuChange', m)\r\n if (m && m.parent) {\r\n _this.collapseItemActive = m.parent.alias\r\n _this.menuItemActive = m.alias\r\n }\r\n if(m && m.openType == '2' && isJump){\r\n if(m.alias.indexOf(\"href/\") == -1){\r\n let routeUrl = this.$router.resolve({ path });\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 }\r\n })\r\n },\r\n },\r\n}\r\n",null]}