{"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/views/HomeRT.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/views/HomeRT.vue","mtime":1725957645735},{"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":["\nimport main_appbar from \"@/components/main_appbar.vue\";\nimport main_navbar from \"@/components/main_navbar.vue\";\nimport main_content from \"@/components/main_content.vue\";\nimport main_domain from \"@/components/domain.vue\";\nimport IMPop from \"./IMPop.vue\";\nimport platAd from \"@/components/platAd.vue\";\nimport platAdPop from \"@/components/platAdPop.vue\";\nimport Constant from \"@/Constant.js\";\nimport config from \"../../public/js/obpm.config.js\";\nimport API from \"@/api.js\";\nimport { currDate } from \"@/utils/global.js\";\nimport RtLogoImg from \"@/assets/images/RTImgs/rtloginlogo.png\";\nlet Base64 = require(\"js-base64\").Base64;\nconst statiContextPath = config.statiContextPath;\nconst signonContextPath = config.signonContextPath;\nimport { mapState } from \"vuex\";\n// import mixin_LockScreen from './mixin_LockScreen'//引入超时锁屏功能\nexport default {\n name: \"mainpage\",\n // mixins:[mixin_LockScreen],//混入超时锁屏功能--rt不加入锁屏\n provide() {\n return {\n addTab: this.addTab,\n };\n },\n components: {\n \"obpm-main-appbar\": main_appbar,\n main_navbar,\n main_content,\n main_domain,\n IMPop,\n platAd,\n platAdPop,\n },\n\n computed: {\n ...mapState({\n //这里的...不是省略号了,是对象扩展符\n // headPhoto:(state)=>state.myProfile.headPhoto,\n showAppMENUS(state) {\n if (state.appmenusShow) {\n this.$nextTick(() => {\n this.showApp = true;\n this.$refs.mychild.setMaincontent(false); // 调用子组件的方法\n this.activeHome();\n this.applist(); //查询左边下拉应用列表\n console.log(this.$refs.mainNavBar.data);\n if (state.defaultFirst == 1) {\n this.$refs.mainNavBar.defaultClickFirst(\n this.$refs.mainNavBar.data\n );\n }\n });\n }\n return state.appmenusShow;\n },\n }),\n applicationName() {\n if (this.$store.state.appmenusShow) {\n this.$nextTick(() => {\n this.showApp = true;\n this.$refs.mychild.setMaincontent(false); // 调用子组件的方法\n this.applist(); //查询左边下拉应用列表\n console.log(this.$refs.mainNavBar.data);\n if (this.$store.state.defaultFirst == 1) {\n this.$refs.mainNavBar.defaultClickFirst(this.$refs.mainNavBar.data);\n }\n });\n }\n let currentAppName = \"\";\n if (this.$store.getters.currentAppName.indexOf(\"-\") > -1) {\n let currentAppNameIndex =\n this.$store.getters.currentAppName.indexOf(\"-\");\n currentAppName = this.$store.getters.currentAppName.substr(\n 0,\n currentAppNameIndex\n );\n } else {\n currentAppName = this.$store.getters.currentAppName;\n }\n console.log(currentAppName);\n return currentAppName;\n },\n showInstance() {\n return this.$store.state.isInstance;\n },\n },\n // created() {\n // // let user = this.$root.user;//main.js获取user用户信息\n // // let obj = {\n // // doId: user&&user.domainId||\"\",\n // // userId: user&&user.id,\n // // profile: user,\n // // }\n // // this.$store.commit('landingUser', obj);//查询登录用户\n\n // // this.Searchdomain()//查询所有组织\n // },\n created() {\n this.domainlistArr = JSON.parse(localStorage.getItem(\"domainList\")) || [];\n\n if (\n this.domainlistArr.length &&\n this.homeTemplateBoradType != \"rtpayTemplate\"\n ) {\n //rt环境不要提示\n this.organizationsID(localStorage.getItem(\"domainId\")); //根据组织id获取注册地\n }\n\n if (this.homeTemplateBoradType == \"rtpayTemplate\") {\n //rt环境判断权限-工作台权限划分-集团领导可以看到现有设计工作台-子公司看不到工作台入口\n this.roleAuthShow();\n }\n\n // this.getLock()//锁屏\n\n window.setInterval(() => {\n setTimeout(this.getOnlineNumber, 0); //定时查询公告数量\n }, 60000);\n\n let radomNum = new Date().getTime();\n\n this.$api.getMessage(\n //消息\n radomNum,\n {\n onSucess: (res) => {\n this.notice = res.data.data.notice;\n },\n }\n );\n\n this.$api.getNotificationNum(\n //消息公告数字\n {\n onSucess: (res) => {\n let otherNotice = res.data.data;\n let arr = [];\n for (let key in otherNotice) {\n let obj = {};\n if (otherNotice[key] > 0 && key != \"size\") {\n obj.type = key.toString();\n obj.value = otherNotice[key];\n arr.push(obj);\n }\n }\n this.otherNotice = arr;\n console.log(\"this.otherNotice---->\", this.otherNotice);\n },\n }\n );\n\n this.network = __network__; //获取__network__全局变量状态,判断显示隐藏\n this.applistIframe(); //查询所有分类与列表--rt顶部菜单\n this.myprofile();\n\n this.$api.bcxplatAdlistApi(\n {},\n {\n //右上角平台通知提示信息\n onSucess: (res) => {\n if (res.data.errcode == 0) {\n let listArr = res.data.data.data;\n if (listArr.length) {\n listArr.forEach((item) => {\n if (\n currDate(true) >= item.items.__G3lF6FIrSTspuF06jEr.value &&\n currDate(true) <= item.items.__eG17lW4psp4yq1aT0Pt.value\n ) {\n //在当前时间范围内提醒\n this.remindInfoArr.push(\n item.items.__04C3Fur4uYFpos1vlSP.value\n );\n }\n });\n }\n }\n },\n }\n );\n },\n data() {\n return {\n RtLogoImg,\n appid: \"km1\",\n tabs: [],\n password: \"\",\n isLock: \"false\",\n notice: 0,\n otherNotice: [],\n showMessagePopup: true,\n showMenu: true,\n Constant,\n updateMenu: \"\",\n updateMenuData: {},\n dialogVisible: false,\n domainDialogVisible: false,\n pwd: \"\",\n isPasswordError: \"\",\n isChangeDomain: false,\n domainList: [],\n nullPrompt: \"\",\n activeTopmenuindex: 0,\n activewaitmenuindex: -1, //待办默认不选中\n showWait: false,\n showApp: false,\n appname: \"\",\n applistArr: [],\n domainlistArr: [],\n logo: \"\",\n showdialog: false,\n showdialogPlatAd: false, //平台通知 弹窗\n remindInfoArr: [], //提醒消息数组列表\n platinfoli: \"\", //右上角平台消息第一条\n platStartTime: \"\", //提醒开始时间\n platEndTime: \"\", //提醒结束时间\n remindFlag: false, //在当前时间范围内提醒,默认不提醒显示\n domainAdmin: localStorage.getItem(\"domainAdmin\") == \"true\" ? true : false, //是否是组织管理员\n website: {}, //官网名称与地址对象\n network: true, //获取__network__全局变量状态,判断显示隐藏\n domainName: localStorage.getItem(\"domainName\") || \"\",\n headPhoto: \"\",\n homeTemplateBoradType:localStorage.getItem(\"homeTemplateBoradType\") || \"payTemplate\",\n appcateArrList: [], //工作台应用分类\n roleshow: false,\n opencloseExpandBtnFlag:true,//开关菜单状态\n };\n },\n\n methods: {\n opencloseExpandBtn(flag){//中间切换伸缩按钮点击事件\n if(flag){\n this.opencloseExpandBtnFlag=!this.opencloseExpandBtnFlag\n }\n if(this.opencloseExpandBtnFlag){//中间按钮是展开状态与菜单显示--rt项目应用左边菜单特有样式\n this.$nextTick(()=>{\n this.$refs.navbar.style.display='flex'\n this.$refs.navbar.style.width='186px'\n this.$refs.mychild.$refs.mainHomeContent.style.left='186px'\n this.$refs.opencloseExpandRef.style.left='186px' \n })\n }else{\n this.$nextTick(()=>{\n this.$refs.navbar.style.display='block'\n this.$refs.navbar.style.width='0px'\n this.$refs.mychild.$refs.mainHomeContent.style.left='0px'\n this.$refs.opencloseExpandRef.style.left='0px'\n })\n }\n },\n roleAuthShow() {\n this.$api.RtrolePermissiondisplay(\n {},\n {\n onSucess: (response) => {\n console.log(response.data);\n this.roleshow = response.data.show || false;\n if (!this.roleshow) {\n this.navtopmenuclick(6);\n }\n },\n }\n );\n },\n applistIframe() {\n let data = {\n //只查询电脑端应用\n search_clientype: \"电脑端\",\n };\n this.$api.getApplicationsAll(data, {\n onSucess: (response) => {\n if (response.data && response.data.errmsg == \"ok\") {\n console.log(response.data);\n if (response.data.data.data.length) {\n let arr = [];\n response.data.data.data.forEach((item, index) => {\n let obj = {};\n let obj2 = {};\n obj.title = item.items[\"__4ReuvgLxTKieJDzGu2L\"].value;\n obj.cateSort = item.items[\"__sJO2jdvlNEznauT5KQa\"].value; //分类排序\n\n obj.children = [];\n obj2.img = item.items[\"__oTDoKOfuYRsmXS7DfDk\"].value\n ? JSON.parse(item.items[\"__oTDoKOfuYRsmXS7DfDk\"].value)[0]\n .path\n : \"\"; //应用图标\n obj2.name = item.items[\"__M0NXUq24HGrzQrmjLwj\"].value; //应用名称\n obj2.appid = item.items[\"__ZLG2HsnA374L6Ww4X6P\"].value; //应用id\n obj2.appSort = item.items[\"__zsh5fkZEXwof08KVNMe\"].value; //应用id\n\n obj.children.push(obj2);\n arr.push(obj);\n });\n console.log(arr);\n arr.sort((a, b) => {\n return Number(a.cateSort) - Number(b.cateSort);\n }); //分类排序cateSort\n\n const titleMap = {};\n const transferObj = arr.reduce((prev, next) => {\n if (titleMap[next.title]) {\n prev[next.title].children.push(...next.children);\n } else {\n titleMap[next.title] = true;\n prev[next.title] = { children: next.children };\n }\n return prev;\n }, {});\n\n let arr2 = [];\n for (let i in transferObj) {\n let obj = {};\n obj.title = i;\n transferObj[i].children.sort((a, b) => {\n return Number(a.appSort) - Number(b.appSort);\n }); //应用排序cateSort\n obj.children = transferObj[i].children;\n arr2.push(obj);\n }\n\n if (location.host.indexOf(\"v5qy.test.baibaodun.cn\") > -1) {\n if (\n localStorage.getItem(\"domainId\") != \"__2gH5luUlviULa7KnmqW\"\n ) {\n //临时过滤使用--后期删除--测试117环境\n arr2.forEach((item, index) => {\n item.children.forEach((its, ix) => {\n if (its.name == \"组织权益\") {\n if (item.children.length == 1) {\n arr2.splice(index, 1);\n }\n item.children.splice(ix, 1);\n }\n });\n });\n }\n } else {\n if (\n localStorage.getItem(\"domainId\") != \"__Qqg3L4GhNXG4iRAmcTB\"\n ) {\n //临时过滤使用--后期删除--正式环境\n arr2.forEach((item, index) => {\n item.children.forEach((its, ix) => {\n if (its.name == \"组织权益\") {\n if (item.children.length == 1) {\n arr2.splice(index, 1);\n }\n item.children.splice(ix, 1); //不在这个组织,组织权益应用隐藏删除\n }\n });\n });\n }\n }\n console.log(arr2);\n arr2.forEach((its) => {\n its.isSubshow = false;\n });\n\n this.appcateArrList = arr2;\n\n //前端缓存本地代码块--切换不同组织的所有应用列表\n // let HomeApplist_board={employeeIdStr:localStorage.getItem('employeeId'),appcateArrListStr:this.appcateArrList}\n // localStorage.setItem('HomeApplist_board',JSON.stringify(HomeApplist_board))\n }\n }\n },\n });\n },\n loadAppMenu(appId, name) {\n //点击应用列表查询左边应用菜单\n // debugger\n if (appId == \"__Hab04s0VNDPrjFZ3Xlo\") {\n //RT挂图作战应用直接打开项目中心首页\n this.navtopmenuclick(1);\n return;\n }\n\n if (appId == \"__ua9GbvpRSyUUOPzqK5y\") {\n //RT项目中心应用直接打开项目中心页面\n this.navtopmenuclick(7);\n return;\n }\n\n if (appId == \"__nvk0VeqSX1E9JCDd9fP\") {\n //RT集团项目应用直接打开集团项目页面\n this.navtopmenuclick(8);\n return;\n }\n\n if (appId != \"km\" && appId != \"pm\" && appId != \"qm\") {\n this.$root.appid = appId || \"\";\n }\n\n let flag = 1;\n this.$store.dispatch(\"loadMenus\", { appId, name, flag });\n if (appId == \"__d1qEDy3wYq8VF5KvUoE\") {\n //智能人事(__xkeybkGaZa1SboC9GL1)、机构用户管理(__d1qEDy3wYq8VF5KvUoE)\n let obj = { name, appId };\n localStorage.setItem(\"appidSupervise\", JSON.stringify(obj));\n }\n },\n organizationsID(id) {\n //北京系统提醒\n this.$api.organizationsIDApi(id, {\n onSucess: (res) => {\n console.log(res);\n console.log(res.data.data.placeOfRegister);\n if (\n res.data.data.placeOfRegister &&\n res.data.data.placeOfRegister.province.name.indexOf(\"北京\") > -1\n ) {\n this.$alert(\n \"尊敬的系统管理员:
4月12日-5月13日为系统升级阶段,为了确保数据准确性,升级期间,业务数据办理等工作仍在旧系统中进行操作,数据以旧系统为准!
新系统现阶段仅供熟悉及了解,不可对自己的组织进行数据增减删的操作!若要试用,请通过试用组织进行操作。给您带来的不便敬请谅解。如有问题,请第一时间联系您的专属客服经理或者拨打4006629696\",\n \"系统通知\",\n {\n confirmButtonText: \"确定\",\n dangerouslyUseHTMLString: true,\n callback: (action) => {},\n }\n );\n }\n },\n });\n },\n mouseoverMenuLI(item, index) {\n this.appcateArrList.forEach((its) => {\n its.isSubshow = false;\n });\n item.isSubshow = true;\n },\n mouseoutMenuLI(item, index) {\n this.appcateArrList.forEach((its) => {\n its.isSubshow = false;\n });\n },\n myprofile() {\n sessionStorage.setItem(\"myProfileName\", this.$root.user.name); //存储iM聊天登录用户名\n sessionStorage.setItem(\"loginNo\", this.$root.user.telephone); //存储iM聊天登录手机号--IM废弃,改为imIdentity\n sessionStorage.setItem(\"imIdentity\", this.$root.user.imIdentity || \"\"); //存储iM聊天登录---存储iM标识符,根据这个标识符获取im的sig秘钥\n let headPhotoUrl = this.$root.user.headPhoto;\n if (headPhotoUrl.indexOf(\"http\") > -1) {\n this.headPhoto = headPhotoUrl;\n } else {\n this.headPhoto = window.location.origin + \"/obpm\" + headPhotoUrl;\n }\n\n localStorage.setItem(\"headPhotoStr\", this.headPhoto); //保存本地头像地址\n\n let data = { s_comId: localStorage.getItem(\"domainId\") }; //根据组织id获取官网\n this.$api.getWebSiteApi(data, {\n onSucess: (res) => {\n if (res.data.data.data) {\n let name = res.data.data.data[0].items.__d7xhxbGk9975pvHmwrv.value;\n let url = res.data.data.data[0].items.__zHBRHJJEwYAZxLwUhyO.value;\n this.website = { name, url };\n }\n },\n });\n\n this.$api.getEnterpriseUserinfo(localStorage.getItem(\"domainId\"), {\n onSucess: (res) => {\n console.log(res);\n if (res.data.status == 200) {\n document.title = res.data.data.sysName || \"\"; //系统名称\n //获取icon图标\n var link =\n document.querySelector(\"link[rel*='icon']\") ||\n document.createElement(\"link\");\n link.type = \"image/x-icon\";\n link.rel = \"shortcut icon\";\n link.href = this.RtLogoImg;\n // link.href=\"http://v5qy.test.baibaodun.cn/obpm/uploads/lib/icon/upload/1.jpg\"\n // if (res.data.data.logoPath.indexOf(\"http\") > -1) {\n // link.href = `${res.data.data.logoPath}`; //浏览器图标企业logo\n // } else {\n // link.href = `${obpmConfig.obpmFilePath}/uploads/lib/icon${res.data.data.logoPath}`; //浏览器图标企业logo\n // }\n document.getElementsByTagName(\"head\")[0].appendChild(link);\n // console.log(\"查询用户信息\")\n // console.log(res.data.logoUrl)\n // console.log(res.data.logoUrl)\n if (res.data.data.logoPath.indexOf(\"http\") > -1) {\n this.logo = res.data.data.logoPath;\n } else {\n if (res.data.data.logoPath) {\n this.logo = `${obpmConfig.obpmFilePath}/uploads/lib/icon${res.data.data.logoPath}`;\n } else {\n this.logo = \"\";\n }\n }\n }\n },\n });\n },\n Im() {\n //点击聊天弹窗显示\n this.showdialog = true;\n },\n platAdPop() {\n //平台通知消息滚动弹窗\n this.$refs.PopChildrenPlatAd.show();\n },\n messagespanClick() {\n //右上角消息图标点击\n this.showWait = false;\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n this.addTab({\n id: \"03\",\n name: \"消息中心\",\n linkType: \"03\",\n remind: \"true\",\n });\n },\n editpwd() {\n //右上角下拉修改密码\n this.showWait = false;\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n this.addTab({ id: \"02\", name: \"修改密码\", linkType: \"102\" });\n },\n help() {\n //帮助\n this.showWait = false;\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n\n var param = {\n id: \"help\",\n name: \"客服与帮助\",\n linkType: \"07\",\n actionContent: `/static/signon/help/index.html?v=${Date.now()}#/home`,\n icon: \"\",\n key: \"\",\n };\n this.addTab(param);\n },\n feedback() {\n //意见反馈\n let loginNo = sessionStorage.getItem(\"loginNo\");\n let myProfileName = sessionStorage.getItem(\"myProfileName\");\n window.open(\n `https://support.qq.com/product/321476?nickname=${myProfileName}&avatar=xxx&openid=${loginNo}`\n );\n },\n websiteClick() {\n //官网\n if (this.website.url) {\n window.open(this.website.url);\n }\n },\n domainmanager() {\n //切换组织管理\n this.showWait = false;\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n\n let domainId = localStorage.getItem(\"domainId\");\n var param = {\n id: \"domainmanager\",\n name: \"管理后台\",\n linkType: \"07\",\n actionContent: `/static/signon/domainCompany/index.html?v=${Date.now()}#/domain?domainId=${domainId}`,\n icon: \"\",\n key: \"\",\n };\n this.addTab(param);\n },\n changeDomainDown(item) {\n //头部左上角切换组织--新版本直接从缓存里面获取\n if (item.name) {\n localStorage.setItem(\"accessToken\", item.accessToken); //切换组织,重新获取新的accessToken\n localStorage.setItem(\"domainName\", item.name); //存储组织域名称--给员工管理-甲方\n localStorage.setItem(\"domainId\", item.id); //域id\n localStorage.setItem(\"domainAdmin\", item.domainAdmin); //是否是组织管理员\n localStorage.setItem(\"employeeId\", item.employeeId); //保存当前公司的当前用户\n localStorage.setItem(\"institutionalCode\", item.institutionalCode); //机构类型\n window.location.reload(); //重新刷新页面\n }\n },\n Searchdomain() {\n //查询所有组织---注释掉,从登录跳转页获取\n },\n navtopmenuclick(index, type, url, title) {\n this.showWait = false;\n this.showApp = false;\n this.activeTopmenuindex = index;\n if (index === 0) {\n //首页--工作台\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n this.activeHome();\n this.applist(); //查询左边下拉应用列表\n return;\n }\n if (index === 1) {\n //项目\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n var param = {\n id: \"project\",\n name: \"项目\",\n linkType: \"07\",\n actionContent: `/static/signon/project/index.html?v=${Date.now()}#/Project`,\n icon: \"icon-1\",\n key: \"project\",\n };\n this.addTab(param);\n return;\n }\n if (index === 2) {\n //待办\n this.showWait = true;\n this.$store.state.appmenusShow = false;\n if (type == \"menu\") {\n this.waitclick(0, { id: \"105\", name: \"我的待办\", linkType: \"105\" }); //默认点击第一个待办菜单\n }\n this.$refs.mychild.setMaincontent(false); // 调用子组件的方法\n return;\n }\n if (index === 3) {\n //工作台\n this.showApp = true;\n this.$refs.mychild.setMaincontent(false); // 调用子组件的方法\n var param = {\n id: \"workmenu\",\n name: \"工作台\",\n linkType: \"application\",\n actionContent: \"\",\n icon: \"-1\",\n key: \"\",\n };\n this.addTab(param); //新组件Tab\n this.applist(); //查询左边下拉应用列表\n return;\n }\n if (index === 4) {\n //知识库\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n return;\n }\n if (index === 5) {\n //公告\n this.showWait = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n var param = {\n id: \"ad\",\n name: \"公告\",\n linkType: \"ad\",\n actionContent: \"\",\n notice: this.notice,\n icon: \"\",\n key: \"\",\n };\n this.addTab(param);\n return;\n }\n if (index === 6) {\n //新闻\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n var param = {};\n if (type == \"news\" && url) {\n param = {\n id: \"news\" + title,\n name: title,\n linkType: \"07\",\n actionContent: url,\n icon: \"icon-1\",\n key: \"news\" + title,\n };\n } else {\n param = {\n id: \"news\",\n name: \"新闻\",\n linkType: \"07\",\n actionContent: `/static/signon/news/index.html?v=${Date.now()}#/`,\n icon: \"icon-1\",\n key: \"news\",\n };\n }\n this.addTab(param);\n return;\n }\n if (index === 7) {\n //项目中心\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n var param = {\n id: \"projectCenter\",\n name: \"项目中心\",\n linkType: \"07\",\n actionContent: `/static/signon/project/index.html?v=${Date.now()}#/projectCenter`,\n icon: \"icon-1\",\n key: \"projectCenter\",\n };\n this.addTab(param);\n return;\n }\n if (index === 8) {\n //集团项目\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n var param = {\n id: \"projectJt\",\n name: \"集团项目\",\n linkType: \"07\",\n actionContent: `/static/signon/project/index.html?v=${Date.now()}#/projectJt`,\n icon: \"icon-1\",\n key: \"projectJt\",\n };\n this.addTab(param);\n return;\n }\n },\n waitclick(index, obj) {\n //待办菜单点击\n this.activewaitmenuindex = index;\n this.addTab(obj);\n },\n applist() {\n //查询左边--下拉应用列表\n\n // if(localStorage.getItem('HomeApplist_board')&&JSON.parse(localStorage.getItem('HomeApplist_board')).employeeIdStr==localStorage.getItem('employeeId')){//前端走缓存,职员id一样,多次刷新不走接口,走缓存\n // this.applistArr=JSON.parse(localStorage.getItem('HomeApplist_board')).appcateArrListStr\n // return\n // }\n\n let data = {\n //只查询电脑端应用\n search_clientype: \"电脑端\",\n };\n this.$api.getApplicationsAll(data, {\n onSucess: (response) => {\n if (response.data && response.data.errmsg == \"ok\") {\n console.log(response.data);\n if (response.data.data.data.length) {\n let arr = [];\n response.data.data.data.forEach((item, index) => {\n let obj = {};\n let obj2 = {};\n obj.title = item.items[\"__4ReuvgLxTKieJDzGu2L\"].value;\n obj.cateSort = item.items[\"__sJO2jdvlNEznauT5KQa\"].value; //分类排序\n\n obj.children = [];\n obj2.img = item.items[\"__oTDoKOfuYRsmXS7DfDk\"].value\n ? JSON.parse(item.items[\"__oTDoKOfuYRsmXS7DfDk\"].value)[0]\n .path\n : \"\"; //应用图标\n obj2.name = item.items[\"__M0NXUq24HGrzQrmjLwj\"].value; //应用名称\n obj2.appid = item.items[\"__ZLG2HsnA374L6Ww4X6P\"].value; //应用id\n obj2.appSort = item.items[\"__zsh5fkZEXwof08KVNMe\"].value; //应用id\n\n obj.children.push(obj2);\n arr.push(obj);\n });\n console.log(arr);\n arr.sort((a, b) => {\n return Number(a.cateSort) - Number(b.cateSort);\n }); //分类排序cateSort\n\n const titleMap = {};\n const transferObj = arr.reduce((prev, next) => {\n if (titleMap[next.title]) {\n prev[next.title].children.push(...next.children);\n } else {\n titleMap[next.title] = true;\n prev[next.title] = { children: next.children };\n }\n return prev;\n }, {});\n\n let arr2 = [];\n for (let i in transferObj) {\n let obj = {};\n obj.title = i;\n transferObj[i].children.sort((a, b) => {\n return Number(a.appSort) - Number(b.appSort);\n }); //应用排序cateSort\n obj.children = transferObj[i].children;\n arr2.push(obj);\n }\n\n let arr3 = [];\n arr2.forEach((item) => {\n item.children.forEach((its) => {\n let obj = {};\n obj.appid = its.appid;\n obj.name = its.name;\n arr3.push(obj);\n });\n });\n\n if (location.host.indexOf(\"v5qy.test.baibaodun.cn\") > -1) {\n if (\n localStorage.getItem(\"domainId\") != \"__2gH5luUlviULa7KnmqW\"\n ) {\n //临时过滤使用--后期删除--测试117环境\n arr3 = arr3.filter((item) => {\n return item.appid != \"__gZxrYDgj8OpfztxSuUg\";\n });\n }\n } else {\n if (\n localStorage.getItem(\"domainId\") != \"__Qqg3L4GhNXG4iRAmcTB\"\n ) {\n //临时过滤使用--后期删除--正式环境\n arr3 = arr3.filter((item) => {\n return item.appid != \"__gZxrYDgj8OpfztxSuUg\"; //不在这个组织,组织权益应用隐藏\n });\n }\n }\n console.log(arr3);\n this.applistArr = arr3;\n\n //前端缓存本地代码块--切换不同组织的所有应用列表\n // let HomeApplist_board={employeeIdStr:localStorage.getItem('employeeId'),appcateArrListStr:this.applistArr}\n // localStorage.setItem('HomeApplist_board',JSON.stringify(HomeApplist_board))\n }\n }\n },\n });\n },\n loadAppMenu_RT(appId, name) {\n //点击右边application.vue应用列表 查询左边应用菜单\n if (appId != \"km\" && appId != \"pm\" && appId != \"qm\") {\n this.$root.appid = appId;\n }\n this.$store.dispatch(\"loadMenus\", { appId, name });\n if (appId == \"__xkeybkGaZa1SboC9GL1\") {\n //智能人事(__xkeybkGaZa1SboC9GL1)、机构用户管理(__d1qEDy3wYq8VF5KvUoE)\n let obj = { name, appId };\n localStorage.setItem(\"appidSupervise\", JSON.stringify(obj));\n }\n },\n updateViewNumber(menuData) {\n this.updateMenuData = menuData;\n this.updateMenu = new Date().getTime();\n },\n hiddenMenu() {\n this.showMenu = !this.showMenu;\n this.$refs.mychild.setMaincontent(); // 调用子组件的方法\n },\n\n jumpToInfo(val) {\n this.showMessagePopup = false;\n this.addTab(val);\n },\n\n closeMessagePopup() {\n this.showMessagePopup = false;\n },\n\n signOut() {\n //退出系统\n\n let statiContextPath = obpmConfig.statiContextPath;\n let signonContextPath = obpmConfig.signonContextPath;\n let url = \"\";\n if (statiContextPath) {\n //5.0 trunk\n url =\n window.location.origin +\n statiContextPath +\n signonContextPath +\n \"/index.html\"; // http://49.4.123.194/static/signon/index.html\n }\n window.location.href = url;\n\n this.$api.removeOnlineUser({\n onSucess: (res) => {\n if (res.status == 200) {\n console.log(\"res--->\", res.status);\n }\n },\n });\n this.$api.LogOut({\n onSucess: (res) => {},\n });\n let cookies = document.cookie.match(/[^=;]+(?=\\=)/g);\n if (cookies) {\n for (let i = cookies.length; i--; ) {\n document.cookie =\n cookies[i] + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;\";\n }\n }\n // localStorage.clear();\n },\n\n getLock() {\n //一键锁屏\n let val = sessionStorage.getItem(\"screenLock\");\n if (val) {\n this.isLock = val;\n } else {\n this.isLock = \"false\";\n }\n },\n\n getOnlineNumber() {\n //定时查询公告数量\n this.$api.getNotification({\n onSucess: (res) => {\n if (res.data.data.data && res.data.data.data.length > 0) {\n let data = res.data.data.data[0];\n this.$notify({\n title: \"\",\n dangerouslyUseHTMLString: true,\n message: \"你有一条新消息\",\n duration: 5000,\n customClass: \"fontclass\",\n });\n }\n },\n });\n },\n\n // systemManagement(){//进入组织管理后台\n // let domainid = localStorage.getItem(\"domainId\");\n // let domainName;//企业域名称\n // for(let i = 0; i < this.domainList.length; i ++) {\n // if(domainid === this.domainList[i].id) {\n // domainName = this.domainList[i].name\n // }\n // }\n // let statiContextPath = obpmConfig.statiContextPath;\n // let systemUrl = '';\n // if(statiContextPath) { //5.0 trunk\n // systemUrl = obpmConfig.statiContextPath + \"/domain/index.html#/domain?domainid=\" + domainid + \"&from=systemManagement\" + \"&name=\" + domainName;//&from=systemManagement让deisgner那边可以获取到标识\n // }else { //4.4 stable\n // systemUrl = obpmConfig.obpmFilePath + \"/domain/index.html#/domain?domainid=\" + domainid + \"&from=systemManagement\" + \"&name=\" + domainName;\n // }\n // window.open(systemUrl);//新窗口打开组织管理后台\n // },\n\n changeDomain() {\n this.domainDialogVisible = true;\n },\n\n //退出系统\n Actionquit() {\n API.LogOut({\n onSucess: (response) => {\n if (response.status == 200) {\n window.location = \"http://localhost:8080/signon/\";\n }\n },\n onError: (error) => {\n console.log(error);\n },\n });\n },\n\n hanleClickLogin() {\n //超时登录界面弹窗--回到登录界面\n let statiContextPath = obpmConfig.statiContextPath;\n let url = \"\";\n if (statiContextPath) {\n //5.0 trunk\n url =\n \"http://\" +\n window.location.host +\n statiContextPath +\n \"/signon/index.html\";\n } else {\n //4.4 stable\n url = \"http://\" + window.location.host + \"/signon/index.html\";\n }\n window.location.href = url;\n },\n\n hanleClick() {\n //超时登录界面弹窗--登录\n let cookie = document.cookie.split(\";\");\n let language, url, path;\n for (let i = 0; i < cookie.length; i++) {\n if (cookie[i].indexOf(\"USERLANGUAGE\") >= 0) {\n language = cookie[i].split(\"=\")[1];\n }\n }\n let str = Base64.encode(this.pwd);\n let userPwd;\n if (str.length > 2) {\n let lp = str.substr(0, 2);\n let rp = str.substr(2, str.length);\n userPwd = rp + lp;\n }\n let data = {\n username: this.$store.state.myProfile.loginNo,\n password: userPwd,\n remember: \"0\",\n debug: false,\n domainName: this.$store.state.myProfile.domainName,\n checkcode: \"\",\n language: language,\n url: url,\n path: path,\n };\n this.$api.signonLogin(data, {\n onSucess: (res) => {\n if (res.data.resultCode != 0) {\n //更新accessToken\n document.cookie = res.data.accessToken;\n localStorage.setItem(\"accessToken\", res.data.accessToken);\n this.pwd = \"\";\n this.dialogVisible = false;\n this.$message({\n message: \"登录成功\",\n type: \"success\",\n });\n } else {\n this.$message.error(\"登录失败,输入密码有误\");\n }\n },\n });\n },\n //一键锁频\n lockScreen() {\n if(this.$store.state.lastTimeFlag==false) return;//iframe嵌套第三方,如员工保险应用,企业钱包关闭锁屏\n this.password = \"\";\n this.isLock = \"true\";\n sessionStorage.setItem(\"screenLock\", \"true\");\n },\n\n changeMenu: function (appid) {\n this.appid = appid;\n },\n\n activeHome: function () {\n //点击首页,去掉所有tab选项卡\n this.tabs.forEach(function (value) {\n value.active = false;\n });\n this.showWait = false;\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n },\n\n addTab(param) {\n //核心,左边菜单---应用菜单点击显示 右边iframe Tab模式\n // debugger\n param.currentAppName = this.$store.getters.currentAppName; //获取vuex应用名称--核心代码\n var flag = false;\n this.tabs.forEach(function (value) {\n if (value.id && value.id == param.id) {\n value.active = true;\n if (param.linkType == \"01\") {\n //视图\n value.randomNumber = param.randomNumber;\n }\n flag = flag || true;\n } else {\n value.active = false;\n }\n });\n\n if (flag) return;\n this.tabs.forEach(function (value) {\n value.active = false; //所有隐藏选项卡\n });\n param.active = true; //当前显示选项卡\n this.tabs.push(param);\n },\n\n closeAllTab() {\n //关闭所有选项卡--隐藏左边菜单\n this.tabs = [];\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n this.$store.state.searchDataStore=[]\n },\n\n closeTab: function (tab, tabindex) {\n //关闭当前选项卡,选中前一个选项卡\n console.log(tab)\n console.log(tabindex)\n if(this.$store.state.searchDataStore.length){\n this.$store.state.searchDataStore.forEach((item,index)=>{\n if(item.appId==tab.appId&&item.viewId==tab.actionContent){\n this.$store.state.searchDataStore.splice(index,1)//关闭视图--清掉vuex单个视图的记住数据\n }\n })\n }\n if(this.$store.state.pageDataStore.length){\n this.$store.state.pageDataStore.forEach((item,index)=>{\n if(item.appId==tab.appId&&item.viewId==tab.actionContent){\n this.$store.state.pageDataStore.splice(index,1)//关闭视图--清掉vuex单个视图的记住数据\n }\n })\n }\n console.log(this.$store.state.searchDataStore)\n let tabs = this.tabs;\n if (tabindex >= 0) {\n //点击X关闭\n console.log(JSON.stringify(this.tabs));\n tabs.splice(tabindex, 1);\n if (tab.active) {\n if (tabs.length > 0 && tabs.length - 1 >= tabindex) {\n tabs[tabindex].active = true;\n } else if (tabs.length > 0 && tabs.length - 1 < tabindex) {\n if (tabindex > 0) {\n tabs[tabindex - 1].active = true; //选中前一个选项卡\n }\n }\n }\n // if(tabs[tabs.length-1]) {\n // tabs[tabs.length-1].active = true;\n // }\n } else {\n //单击返回按钮\n let i = -1;\n this.tabs.forEach(function (value, index) {\n if (\n (value.id && value.id == tab.id) ||\n (value._select && value._select == tab._select)\n ) {\n i = index;\n }\n });\n this.tabs.splice(i, 1);\n let act = this.tabs[i];\n if (act) {\n this.activeTab({ id: act._select ? act._select : act.id });\n } else if (i >= 1) {\n let act = this.tabs[i - 1];\n this.activeTab({ id: act._select ? act._select : act.id });\n } else {\n if (this.tabs.length > 0)\n this.tabs[this.tabs.length - 1].active = true;\n }\n }\n\n if (this.tabs.length == 0) {\n //关闭最后一个,所有左边菜单隐藏\n this.showWait = false;\n this.showApp = false;\n this.$store.state.appmenusShow = false;\n this.$refs.mychild.setMaincontent(true); // 调用子组件的方法\n }\n },\n\n activeTab: function (tab, index) {\n //选中选项卡\n if (index >= 0) {\n this.tabs.forEach((value, i) => {\n if (i == index) {\n value.active = true;\n } else {\n value.active = false;\n }\n });\n } else {\n this.tabs.forEach((value) => {\n if (\n (value.id && value.id == tab.id) ||\n (value._select && value._select == tab._select) ||\n (value._select && value._select == tab.id)\n ) {\n value.active = true;\n return;\n } else {\n value.active = false;\n }\n });\n }\n },\n },\n watch: {\n showInstance(val) {\n if (val) {\n this.dialogVisible = true;\n }\n },\n },\n};\n",null]}