{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\common\\HtTabsComponentHref.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\common\\HtTabsComponentHref.vue","mtime":1675071991694},{"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\r\nimport { mapGetters } from \"vuex\";\r\nimport menuApi from \"@/api/menu.js\";\r\nexport default {\r\n name: \"ht-tabs-component-href\",\r\n components: {},\r\n props: {},\r\n computed: {\r\n ...mapGetters({\r\n tabsStyle: \"styleSetting/tabsStyle\"\r\n }),\r\n finalTabsStyle: function() {\r\n // 使用菜单的配置\r\n if (\r\n (this.tabsStyle.tabType == \"menuSetting\" ||\r\n this.tabsStyle.tabType == null) &&\r\n this.menuTabsStyle\r\n ) {\r\n return this.menuTabsStyle;\r\n }\r\n\r\n // 使用默认的\r\n if (\r\n this.tabsStyle.tabType == null ||\r\n ((this.tabsStyle.tabType == \"menuSetting\" ||\r\n this.tabsStyle.tabType == null) &&\r\n !this.menuTabsStyle)\r\n ) {\r\n return { tabType: \"\" };\r\n }\r\n // 使用全局的配置\r\n return this.tabsStyle;\r\n }\r\n },\r\n data() {\r\n return {\r\n href: \"\", //外部菜单url地址\r\n tabComponentOptions: [],\r\n currentTabComponent: \"\",\r\n menuTabsStyle: null\r\n };\r\n },\r\n methods: {\r\n handlePaneClick: function(data) {\r\n if (data.alias) {\r\n this.currentTabComponent = data.alias;\r\n }\r\n }\r\n },\r\n beforeRouteEnter(to, from, next) {\r\n next(vm => {\r\n // 通过 `vm` 访问组件实例\r\n let routePath = vm.$route.path;\r\n if (routePath && routePath.indexOf('/sysplat/href/')==-1) {\r\n let i = routePath.lastIndexOf('/');\r\n routePath = routePath.slice(i+1);\r\n }else{\r\n routePath = routePath.replace('/sysplat/', '');\r\n }\r\n menuApi.getMenuByAlias(routePath, m => {\r\n if (m) {\r\n vm.$emit(\"menuChange\", m);\r\n if (m.children && m.children.length > 0) {\r\n vm.tabComponentOptions = m.children;\r\n vm.href = vm.tabComponentOptions[0].href;\r\n vm.currentTabComponent =\r\n m.activeTab || vm.tabComponentOptions[0].alias;\r\n } else {\r\n vm.tabComponentOptions = [];\r\n vm.currentTabComponent = m.alias;\r\n if (m.href.indexOf(\"?token=\") == -1) {\r\n vm.href =\r\n m.href + \"?token=\" + vm.$store.state.login.currentUser.token;\r\n } else {\r\n vm.href = m.href;\r\n }\r\n }\r\n if (m.tabsStyle) {\r\n vm.menuTabsStyle = JSON.parse(m.tabsStyle);\r\n } else {\r\n vm.menuTabsStyle = null;\r\n }\r\n } else {\r\n // 没有菜单的路由跳转 需要显示TAb名称需要定义tobName参数传递过来\r\n vm.tabComponentOptions = [];\r\n vm.currentTabComponent = to.name;\r\n vm.$emit(\"menuChange\", { name: to.params.tobName });\r\n }\r\n });\r\n });\r\n },\r\n beforeRouteUpdate(to, from, next) {\r\n \r\n // 在当前路由改变,但是该组件被复用时调用\r\n // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,\r\n // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。\r\n // 可以访问组件实例 `this`\r\n // 通过 `vm` 访问组件实例\r\n next();\r\n const vm = this;\r\n let routePath = to.fullPath;\r\n if (routePath && routePath.indexOf('/sysplat/href/')==-1) {\r\n let i = routePath.lastIndexOf('/');\r\n routePath = routePath.slice(i+1);\r\n }else{\r\n routePath = routePath.replace('/sysplat/', '');\r\n }\r\n menuApi.getMenuByAlias(routePath, m => {\r\n if (m) {\r\n vm.$emit(\"menuChange\", m);\r\n if (m.children && m.children.length > 0) {\r\n vm.tabComponentOptions = m.children;\r\n vm.href = vm.tabComponentOptions[0].href;\r\n vm.currentTabComponent =\r\n m.activeTab || vm.tabComponentOptions[0].alias;\r\n } else {\r\n vm.tabComponentOptions = [];\r\n vm.currentTabComponent = m.alias;\r\n if (m.href.indexOf(\"?token=\") == -1) {\r\n vm.href =\r\n m.href + \"?token=\" + vm.$store.state.login.currentUser.token;\r\n } else {\r\n vm.href = m.href;\r\n }\r\n }\r\n if (m.tabsStyle) {\r\n vm.menuTabsStyle = JSON.parse(m.tabsStyle);\r\n } else {\r\n vm.menuTabsStyle = null;\r\n }\r\n } else {\r\n // 没有菜单的路由跳转 需要显示TAb名称需要定义tobName参数传递过来\r\n vm.tabComponentOptions = [];\r\n vm.currentTabComponent = to.name;\r\n vm.$emit(\"menuChange\", { name: to.params.tobName?to.params.tobName:to.meta.menuLabel });\r\n }\r\n });\r\n }\r\n};\r\n",null]}