{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/main_navbar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/main_navbar.vue","mtime":1725957645725},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/babel-loader/lib/index.js","mtime":315532800000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js","mtime":1655715099000}],"contextDependencies":[],"result":["\r\nimport Constant from \"@/Constant.js\";\r\nimport config from \"../../public/js/obpm.config.js\"\r\nconst statiContextPath = config.statiContextPath;\r\nexport default {\r\n name: \"obpm-main-navbar\",\r\n props: [\r\n \"updateMenu\",\r\n \"updateMenuData\"\r\n ],\r\n watch: {\r\n updateMenu(){\r\n let _um = this.updateMenuData;\r\n let menuList = this.data;\r\n const loopOpe = menuList => {\r\n for (let i = 0; i < menuList.length; i++) {\r\n let _ml = menuList[i];\r\n if(_ml.id == _um.id) {\r\n _ml.totalRow = _um.totalRow;\r\n }else {\r\n if(_ml.children && _ml.children.length>0) {\r\n loopOpe(_ml.children);\r\n }\r\n }\r\n }\r\n };\r\n loopOpe(menuList)\r\n }\r\n },\r\n computed: {\r\n data() {\r\n let data = this.$store.getters.currentMenus;\r\n let appId = this.$root.appid\r\n if(data && data.appId != appId) {\r\n if(data[0].appId == 'qm' || data[0].appId == 'km'){\r\n if(this.$store.state.firstClick == 1) {//第一次点击km,pm,菜单按钮为第一个,之后不再为第一个 \r\n this.$store.commit('loadAppKm', {first: 0})\r\n this.onMenuClick(data[0]);\r\n }\r\n }\r\n }\r\n // return this.$store.getters.currentMenus;\r\n return data;\r\n },\r\n // applicationName() {\r\n // return this.$store.getters.currentAppName;\r\n // },\r\n },\r\n\r\n created(){\r\n this.contextPath = obpmConfig.obpmFilePath;\r\n },\r\n\r\n data: function() {\r\n return {\r\n Constant,\r\n activatedMenus: [], //减少操作store数据,不要将所有状态都存储在store中,只有本组件用到的用local存储\r\n currentMenuId:'',\r\n contextPath: '',\r\n flagOpentarget:0,\r\n };\r\n },\r\n\r\n methods: {\r\n defaultClickFirst(dataArr){\r\n // debugger\r\n console.log(dataArr)\r\n if(dataArr[0].children){\r\n if(dataArr[0].children[0].children){\r\n this.onMenuClick(dataArr[0].children[0].children[0])\r\n }else{\r\n this.onMenuClick(dataArr[0].children[0])\r\n }\r\n }else{\r\n console.log(dataArr[0])\r\n this.onMenuClick(dataArr[0])\r\n } \r\n },\r\n onMenuClick: function(menu) {\r\n // debugger\r\n console.log(menu)\r\n this.currentMenuId = menu.id;\r\n if(menu.opentarget == \"target\") {\r\n let paramKey = '';\r\n let paramValue = '';\r\n if(menu.queryString && menu.queryString.length) {\r\n let queryStr = JSON.parse(menu.queryString);\r\n if(queryStr.length>0) {\r\n paramKey = queryStr[0].paramKey;\r\n paramValue = queryStr[0].paramValue;\r\n }\r\n }\r\n\r\n let routeData = this.$router.resolve({\r\n name: \"view_blank\",\r\n query: {\r\n id: menu.id,\r\n name: menu.name,\r\n appId: this.data.appId,\r\n linkType: menu.linkType,\r\n actionContent: menu.actionContent,\r\n paramKey,\r\n paramValue,\r\n opentarget: menu.opentarget,\r\n }\r\n }); \r\n\r\nconsole.log(routeData,'routeDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteDatarouteData');\r\n\r\n window.open(routeData.href, '_blank');\r\n \r\n }else {\r\n let p = this.activatedMenus.indexOf(menu);\r\n if (p < 0) {\r\n this.activatedMenus.push(menu);\r\n } else {\r\n this.activatedMenus.splice(p, 1);\r\n }\r\n if (menu.linkType && menu.linkType != \"\") {\r\n switch (menu.linkType) {\r\n case \"00\": \r\n this.$api.hasPermissionToForm(this.data.appId, menu.actionContent, {\r\n onSucess: response => {\r\n if(response.data.data) {\r\n this.$emit(\"add-tab\", {\r\n id: menu.id,\r\n name: menu.name,\r\n appId: this.data.appId,\r\n linkType: menu.linkType,\r\n actionContent: menu.actionContent,//存放FORMID或VIEWID\r\n queryString: menu.queryString?menu.queryString:''\r\n });\r\n }else {\r\n this.$emit(\"add-tab\", {\r\n linkType: '100',\r\n name: menu.name,\r\n actionContent: menu.actionContent,//存放FORMID或VIEWID\r\n });\r\n }\r\n }\r\n })\r\n break;\r\n case \"01\": \r\n this.$api.hasPermissionToView(this.data.appId, menu.actionContent, {\r\n onSucess: response => {\r\n let randomNumber = new Date().getTime();\r\n let params = {\r\n id: menu.id,\r\n name: menu.name,\r\n appId: this.data.appId,\r\n linkType: menu.linkType,\r\n actionContent: menu.actionContent,//存放FORMID或VIEWID\r\n randomNumber: randomNumber, //存放随机数,点击一次菜单刷新一次视图\r\n };\r\n if(menu.totalRow) { //如果有总数\r\n params.haveTotalRow = true;\r\n }\r\n let qs = menu.queryString;\r\n if(qs) {\r\n qs = JSON.parse(qs);\r\n let queryString = '';\r\n qs.forEach(item => {\r\n queryString += \"&\" + item['paramKey'] + '=' + item['paramValue'];\r\n });\r\n queryString = queryString.replace(/^(\\s|&)+|(\\s|&)+$/g, '');\r\n params.queryString = queryString; //菜单携带参数,传给后台\r\n }\r\n if(response.data.data) {\r\n this.$emit(\"add-tab\", params);\r\n }else {\r\n this.$emit(\"add-tab\", {\r\n linkType: '100',\r\n name: menu.name,\r\n actionContent: menu.actionContent,//存放FORMID或VIEWID\r\n });\r\n }\r\n }\r\n });\r\n break;\r\n case \"02\": \r\n this.$emit(\"add-tab\", {\r\n id: menu.id,\r\n name: menu.name,\r\n appId: this.data.appId,\r\n linkType: menu.linkType,\r\n actionContent: menu.actionContent,//存放FORMID或VIEWID\r\n });\r\n break;\r\n case \"05\":\r\n let url = menu.actionContent;\r\n let isForm = url.search(\"form.html\") != -1;\r\n let isView = url.search(\"view.html\") != -1;\r\n let urlArrayF = url.split(\"?\");\r\n let urlArray = '';\r\n if(urlArrayF[1]) {\r\n urlArray = urlArrayF[1].split(\"&\");\r\n }\r\n let type = '';\r\n if(isForm) {\r\n type = '00';\r\n }else if(isView) {\r\n type = \"01\"\r\n }else if (!isForm && !isView) {\r\n this.$alert('链接为内部链接,请正确配置', {\r\n confirmButtonText: '确定',\r\n type: 'warning',\r\n });\r\n return\r\n }\r\n let obj = {};\r\n if(urlArray && urlArray.length > 0) {\r\n for(let i=0; i