{"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/Home.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/views/Home.vue","mtime":1732847429515},{"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\"\nlet Base64 = require('js-base64').Base64;\nconst statiContextPath = config.statiContextPath;\nconst signonContextPath = config.signonContextPath;\nimport { mapState } from 'vuex'\nimport mixin_LockScreen from './mixin_LockScreen'//引入超时锁屏功能\nimport supervisionPop from \"@/components/supervisionPop.vue\"//监管归属地弹窗--强提醒\nimport domainLonLatPop from \"@/components/domainLonLatPop.vue\"//完善组织后台经纬度弹窗--强提醒\nimport qrcodeDialog from '@/components/qrcodeDialog.vue'; // 二维码弹窗\nlet isDev=process.env.NODE_ENV !== \"production\"\nexport default {\n name: \"mainpage\",\n mixins: [mixin_LockScreen],//混入超时锁屏功能\n provide() {\n return {\n addTab: this.addTab\n\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 supervisionPop,\n domainLonLatPop,\n qrcodeDialog\n },\n computed: {\n ...mapState({ //这里的...不是省略号了,是对象扩展符\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(this.$refs.mainNavBar.data)\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 = this.$store.getters.currentAppName.indexOf(\"-\")\n currentAppName = this.$store.getters.currentAppName.substr(0, currentAppNameIndex)\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 infoLevel(){\n let organizationLevelsStr=organizationLevels.split(',')\n if(organizationLevelsStr&&organizationLevelsStr.includes('Premium')){\n let baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions ||[]\n return this.network&&baseServiceOptions.includes('__ZiDingYiCaiDanXiaoXiZhongXin') //权限显隐\n }\n return true\n },\n adLevel(){\n let organizationLevelsStr=organizationLevels.split(',')\n if(organizationLevelsStr&&organizationLevelsStr.includes('Premium')){\n let baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions ||[]\n return this.network&&baseServiceOptions.includes('__ZiDingYiCaiDanGongGao') //权限显隐\n }\n return true\n },\n portalNewsLevel(){\n let organizationLevelsStr=organizationLevels.split(',')\n if(organizationLevelsStr&&organizationLevelsStr.includes('Premium')){\n let baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions ||[]\n return this.network&&baseServiceOptions.includes('__ZiDingYiCaiDanMenHu') //权限显隐\n }\n return this.network\n },\n IMLevel(){\n let organizationLevelsStr=organizationLevels.split(',')\n if(organizationLevelsStr&&organizationLevelsStr.includes('Premium')){\n let baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions ||[]\n return this.network&&baseServiceOptions.includes('__ZiDingYiCaiDanLiaoTianIM') //权限显隐\n }\n return this.network\n },\n domainmanagerLevel() { \n return this.domainAdmin\n },\n bktLevel(){\n let organizationLevelsStr=organizationLevels.split(',')\n if(organizationLevelsStr&&organizationLevelsStr.includes('Premium')){\n let baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions ||[]\n return this.network&&baseServiceOptions.includes('__ZiDingYiCaiDanBaiKeTangRK') //权限显隐\n }\n return this.network\n },\n GuestHelpLevel(){\n let organizationLevelsStr=organizationLevels.split(',')\n if(organizationLevelsStr&&organizationLevelsStr.includes('Premium')){\n let baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions ||[]\n return this.network&&baseServiceOptions.includes('__ZiDingYiCaiDanKeFuYvBangZhu') //权限显隐\n } \n return true\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.network = __network__ //获取__network__全局变量状态,判断显示隐藏\n this.domainlistArr = JSON.parse(localStorage.getItem(\"domainList\")) || [];\n if (this.domainlistArr.length && this.homeTemplateBoradType != 'rtpayTemplate' && this.network) {//rt环境不要提示,内网不提示\n // this.organizationsID(localStorage.getItem(\"domainId\")) //根据组织id获取注册地--暂不用,用右上角平台通知弹窗提醒\n }\n // this.getLock()//锁屏\n if (this.institutionalCode == '0102' || this.institutionalCode == '0103' || this.institutionalCode == '0104' || this.institutionalCode == '保安服务公司' || this.institutionalCode == '保安培训单位' || this.institutionalCode == '自行招用保安员单位') {//保安服务公司0102,保安培训单位0103,自行招用保安员单位0104\n this.isSupervisedView()//判断是否填写监管归属---需要判断机构类型--强提醒\n }\n\n // localStorage.getItem('__network__') ? this.judgePromoter(localStorage.getItem(\"domainId\")) : null; // 互联网端判断是否激活分销商\n\n window.setInterval(() => {\n setTimeout(this.getOnlineNumber, 0);//定时查询公告数量\n }, 60000)\n\n let radomNum = new Date().getTime();\n\n this.$api.getMessage(//消息\n radomNum,\n {\n onSucess: res => {\n this.notice = res.data.data.notice;\n }\n }\n )\n\n this.$api.getNotificationNum(//消息公告数字\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.myprofile();\n\n this.$api.bcxplatAdlistApi({}, {//右上角平台通知提示信息 \n onSucess: res => {\n if (res.data.errcode == 0) {\n let listArr = res.data.data.data\n console.log(listArr)\n if (listArr.length) {\n listArr.forEach(item => {\n if (currDate(true) >= item.items.__G3lF6FIrSTspuF06jEr.value && currDate(true) <= item.items.__eG17lW4psp4yq1aT0Pt.value) {//在当前时间范围内提醒\n this.remindInfoArr.push(item.items.__04C3Fur4uYFpos1vlSP.value)\n }\n })\n }\n if (this.remindInfoArr.length) {//提醒时间段有弹窗提醒\n this.platAdPop()\n }\n }\n }\n }\n )\n\n console.log('organizationLevels',organizationLevels)//obpm.config.js定义全局变量organizationLevels\n if(organizationLevels.indexOf('Premium')>-1){\n this.baseServiceOptions=this.$root.roleLevelsPermissionData&&this.$root.roleLevelsPermissionData.baseServiceOptions\n console.log('this.baseServiceOptions',this.baseServiceOptions)\n }\n\n },\n\n data: function () {\n return {\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 systemNoticeDialogVisible: false,//系统通知弹窗\n placeOfRegister_bjFlag: true,//外网北京注册地显示\n opencloseExpandBtnFlag: true,//开关菜单状态\n supervisionDialogVisible: false,//监管归属地弹窗默认false--强提醒\n isSupervisedInfoCompletedData: {},\n institutionalCode: localStorage.getItem('institutionalCode') || '',//判断机构类型\n domainLonLatPopDialogVisible:false,\n domainLonLatData:{},\n showQrcodeDialog: false,\n showQrcodeTip: false,\n isOrganizationPromoter: false,\n appUrl:isDev?require('../assets/images/home/dlAppDev.png'): require('../assets/images/home/dlAppPro.png'),\n dialogVisibleApp:false\n };\n },\n\n methods: { \n isSupervisedView() {\n let domainId = localStorage.getItem(\"domainId\") || ''\n this.$api.isSupervisedApi(domainId, {\n onSucess: res => {\n console.log('res11', res)\n if (res.data.data) {\n console.log('res.data.data监管归属', res.data.data)\n this.isSupervisedInfoCompletedData = res.data.data\n console.log(this.isSupervisedInfoCompletedData)\n if (res.data.data.superviseCompleted && res.data.data.infoCompleted) {\n this.supervisionDialogVisible = false;//有填写监管归属,隐藏监管归属弹窗\n }\n else {\n this.$message({ type: 'warning', message: '尚未填报,前往填报' })\n this.supervisionDialogVisible = true;//否则显示监管归属弹窗\n }\n }\n },\n onError: erro => {\n this.supervisionDialogVisible = false;//错误,隐藏弹窗,默认让客户可以用\n console.log('erro11', erro)\n }\n })\n },\n opencloseExpandBtn(flag) {//中间切换伸缩按钮点击事件\n if (flag) {\n this.opencloseExpandBtnFlag = !this.opencloseExpandBtnFlag\n }\n if (this.opencloseExpandBtnFlag) {//中间按钮是展开状态与菜单显示\n this.$nextTick(() => {\n this.$refs.navbar.style.display = 'flex'\n this.$refs.navbar.style.width = '250px'\n this.$refs.mychild.$refs.mainHomeContent.style.left = '250px'\n this.$refs.opencloseExpandRef.style.left = '250px'\n })\n } else {\n this.$nextTick(() => {\n this.$refs.navbar.style.display = 'block'\n this.$refs.navbar.style.width = '64px'\n this.$refs.mychild.$refs.mainHomeContent.style.left = '64px'\n this.$refs.opencloseExpandRef.style.left = '64px'\n })\n }\n },\n organizationsID(id) {//北京系统提醒\n this.$api.organizationsIDApi(id,\n {\n onSucess: res => {\n console.log(res.data.data.placeOfRegister)\n if (res.data.data.placeOfRegister && res.data.data.placeOfRegister.province.name.indexOf('北京') > -1) {\n this.systemNoticeDialogVisible = true\n this.placeOfRegister_bjFlag = true\n } else {\n this.systemNoticeDialogVisible = true\n this.placeOfRegister_bjFlag = false\n }\n }\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 && 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('res11',res)\n if (res.data.status == 200) {\n let isValidLonlat=res.data.data.isValidLonlat;//判断企业是否完善经纬度,没有完善强提醒\n console.log('this.domainAdmin',this.domainAdmin)\n if(this.domainAdmin&&isValidLonlat&&this.network){//是组织管理员以及没有完善经纬度--强提醒\n this.domainLonLatPopDialogVisible=true\n }\n document.title = res.data.data.sysName || '' //系统名称\n //获取icon图标\n var link = document.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n link.type = \"image/x-icon\";\n link.rel = \"shortcut icon\";\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 },\n Im() {//点击聊天弹窗显示\n this.showdialog = true;\n this.$refs.PopChildren.getTableRow({}, 0)\n },\n platAdPop() {//平台通知消息滚动弹窗\n this.$refs.PopChildrenPlatAd.show()\n },\n messagespanClick() {//右上角消息图标点击\n this.showWait = false\n this.showApp = false\n this.$store.state.appmenusShow = false\n this.$refs.mychild.setMaincontent(true) // 调用子组件的方法\n this.addTab({ id: '03', name: '消息中心', linkType: '03', remind: 'true' })\n },\n editpwd() {//右上角下拉修改密码\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 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 let loginNo = sessionStorage.getItem(\"loginNo\")\n let myProfileName = sessionStorage.getItem(\"myProfileName\")\n window.open(`https://support.qq.com/product/321476?nickname=${myProfileName}&avatar=xxx&openid=${loginNo}`)\n },\n websiteClick() {//官网\n if (this.website.url) {\n window.open(this.website.url)\n }\n },\n websiteBKTClick() {//百课堂官网\n window.open('//bktang.abcxin.cn')\n },\n domainmanager() {//切换组织管理\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 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 localStorage.setItem(\"businessToken\", item.businessToken||'')//自定义角色授权token\n localStorage.setItem(\"organizationLevels\", item.organizationLevels||'')//组织级别-基础版本,高级版...\n window.location.reload()//重新刷新页面\n }\n\n },\n Searchdomain() {//查询所有组织---注释掉,从登录跳转页获取\n\n },\n navtopmenuclick(index, type) {\n this.showWait = false\n this.showApp = false\n this.activeTopmenuindex = index\n if (index === 0) {//首页--工作台 \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 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 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 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 this.$refs.mychild.setMaincontent(true) // 调用子组件的方法 \n return\n }\n if (index === 5) {//公告\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 this.showApp = false\n this.$store.state.appmenusShow = false\n this.$refs.mychild.setMaincontent(true) // 调用子组件的方法\n var 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 this.addTab(param)\n return\n }\n if (index === 7) {//项目中心 \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 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 if (index === 9) {//门户 \n this.showApp = false\n this.$store.state.appmenusShow = false\n this.$refs.mychild.setMaincontent(true) // 调用子组件的方法\n var param = {\n id: \"portalNews\",\n name: '门户',\n linkType: '07',\n actionContent: `/static/signon/portalNews/index.html?v=${Date.now()}#/`,\n icon: \"icon-1\",\n key: \"portalNews\"\n }\n this.addTab(param)\n return\n }\n\n if (index === 99) {//App\n this.dialogVisibleApp=true\n return\n }\n if (index === 100) {//商城应用市场-->appId=='__aNKPFCBuZfyQNzlnlZ9' \n this.showApp = false\n this.$store.state.appmenusShow = false\n this.$refs.mychild.setMaincontent(true) // 调用子组件的方法\n\n let promise = new Promise((resolve, reject) => {\n this.$api.orgshoptoken({},//商城新的token\n {\n onSucess: res => {\n console.log('res', res)\n let shopToken = res.data && res.data.accessToken || ''\n resolve(shopToken)\n }\n }\n )\n })\n promise.then(shopToken => {\n let url = ``\n if (location.hostname.indexOf('te') > -1 || location.hostname.indexOf('de') > -1 || location.hostname.indexOf('localhost') > -1) {//测试环境\n let enterUrl = `https://shop.ws.baibaodun.com.cn/autologin`\n let redirectUrl = ``\n url = `${enterUrl}?accesstoken=${shopToken}&redirectUrl=${redirectUrl}`\n } else if (location.hostname.indexOf('pre') > -1) {//预发布环境\n let enterUrl = `https://shop.mall.pre.baibaodun.cn/autologin`\n let redirectUrl = ``\n url = `${enterUrl}?accesstoken=${shopToken}&redirectUrl=${redirectUrl}`\n } else {//生产环境\n let enterUrl = `https://shop.mall.baibaodun.cn/autologin`\n let redirectUrl = ``\n url = `${enterUrl}?accesstoken=${shopToken}&redirectUrl=${redirectUrl}`\n }\n var param = {\n id: \"shop\",\n name: '商城应用市场',\n linkType: '07',\n actionContent: url,\n icon: \"icon-1\",\n key: \"shop\"\n }\n\n this.addTab(param)\n return\n })\n }\n if (index === 101) {//企业钱包-->appId=='__ZG0ZtjrEhvNbj2rlOsF' \n this.showApp = false\n this.$store.state.appmenusShow = false\n this.$refs.mychild.setMaincontent(true) // 调用子组件的方法\n\n let promise = new Promise((resolve, reject) => {\n this.$api.orgshoptoken({},//商城新的token\n {\n onSucess: res => {\n console.log('res', res)\n let shopToken = res.data && res.data.accessToken || ''\n resolve(shopToken)\n }\n }\n )\n })\n\n promise.then(shopToken => {\n let url = ``\n if (location.hostname.indexOf('te') > -1 || location.hostname.indexOf('de') > -1 || location.hostname.indexOf('localhost') > -1) {//测试环境\n let enterUrl = `https://shop.ws.baibaodun.com.cn/autologin`\n let redirectUrl = `https://pay.ws.baibaodun.com.cn`\n url = `${enterUrl}?accesstoken=${shopToken}&redirectUrl=${redirectUrl}`\n } else if (location.hostname.indexOf('pre') > -1) {//预发布环境\n let enterUrl = `https://shop.mall.pre.baibaodun.cn/autologin`\n let redirectUrl = `https://pay.mall.pre.baibaodun.cn`\n url = `${enterUrl}?accesstoken=${shopToken}&redirectUrl=${redirectUrl}`\n } else {//生产环境\n let enterUrl = `https://shop.mall.baibaodun.cn/autologin`\n let redirectUrl = `https://pay.mall.baibaodun.cn`\n url = `${enterUrl}?accesstoken=${shopToken}&redirectUrl=${redirectUrl}`\n }\n var param = {\n id: \"pay\",\n name: '企业钱包',\n linkType: '07',\n actionContent: url,\n icon: \"icon-1\",\n key: \"pay\"\n }\n\n this.addTab(param)\n return\n })\n\n\n }\n },\n waitclick(index, obj) {//待办菜单点击\n this.activewaitmenuindex = index\n this.addTab(obj)\n },\n applist() {//查询左边--下拉应用列表 \n\n let data = {//只查询电脑端应用\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 ? JSON.parse(item.items['__oTDoKOfuYRsmXS7DfDk'].value)[0].path : \"\" //应用图标\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 })\n console.log(arr)\n arr.sort((a, b) => { return Number(a.cateSort) - Number(b.cateSort) }) //分类排序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\n let arr2 = []\n for (let i in transferObj) {\n let obj = {}\n obj.title = i\n transferObj[i].children.sort((a, b) => { return Number(a.appSort) - Number(b.appSort) }) //应用排序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.te.baibaodun.cn\") > -1) {\n if (localStorage.getItem(\"domainId\") != '__2gH5luUlviULa7KnmqW') {//临时过滤使用--后期删除--测试117环境\n arr3 = arr3.filter(item => {\n return item.appid != \"__gZxrYDgj8OpfztxSuUg\"\n })\n }\n } else {\n if (localStorage.getItem(\"domainId\") != '__Qqg3L4GhNXG4iRAmcTB') {//临时过滤使用--后期删除--正式环境\n arr3 = arr3.filter(item => {\n return item.appid != \"__gZxrYDgj8OpfztxSuUg\" //不在这个组织,组织权益应用隐藏\n })\n }\n }\n console.log(arr3)\n this.applistArr = arr3\n\n }\n\n }\n }\n });\n },\n loadAppMenu(appId, name) {//点击右边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') {//智能人事(__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 this.$api.removeOnlineUser({\n onSucess: res => {\n if (res.status == 200) {\n console.log(\"res--->\", res.status);\n }\n }\n })\n try {\n this.$api.LogOut({\n onSucess: res => {\n let statiContextPath = obpmConfig.statiContextPath;\n let signonContextPath = obpmConfig.signonContextPath\n let url = \"\"\n if (statiContextPath) { //5.0 trunk\n url = window.location.origin + statiContextPath + signonContextPath + \"/index.html\" // http://49.4.123.194/static/signon/index.html\n }\n window.location.href = url\n let cookies = document.cookie.match(/[^=;]+(?=\\=)/g);\n if (cookies) {\n for (let i = cookies.length; i--;) {\n document.cookie = cookies[i] + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'\n }\n }\n localStorage.clear()\n sessionStorage.clear()\n }\n }); \n } catch (error) {\n let statiContextPath = obpmConfig.statiContextPath;\n let signonContextPath = obpmConfig.signonContextPath\n let url = \"\"\n if (statiContextPath) { //5.0 trunk\n url = window.location.origin + statiContextPath + signonContextPath + \"/index.html\" // http://49.4.123.194/static/signon/index.html\n }\n window.location.href = url\n let cookies = document.cookie.match(/[^=;]+(?=\\=)/g);\n if (cookies) {\n for (let i = cookies.length; i--;) {\n document.cookie = cookies[i] + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'\n }\n }\n localStorage.clear()\n sessionStorage.clear()\n }\n \n },\n\n getLock() {//一键锁屏\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 this.$api.getNotification(\n {\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\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 let statiContextPath = obpmConfig.statiContextPath;\n let url = \"\"\n if (statiContextPath) { //5.0 trunk\n url = \"http://\" + window.location.host + statiContextPath + \"/signon/index.html\"\n } else { //4.4 stable\n url = \"http://\" + window.location.host + \"/signon/index.html\"\n }\n window.location.href = url\n },\n\n hanleClick() {//超时登录界面弹窗--登录\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(\n data,\n {\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 //一键锁频\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 () {//点击首页,去掉所有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) {//核心,左边菜单---应用菜单点击显示 右边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 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 this.tabs = [];\n this.showApp = false\n this.$store.state.appmenusShow = false\n this.$refs.mychild.setMaincontent(true) // 调用子组件的方法\n this.$store.state.searchDataStore = []\n this.$store.state.pageDataStore = []\n },\n\n closeTab: function (tab, tabindex) {//关闭当前选项卡,选中前一个选项卡\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) { //点击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 let i = -1;\n this.tabs.forEach(function (value, index) {\n if ((value.id && value.id == tab.id) || (value._select && value._select == tab._select)) {\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 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 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 ((value.id && value.id == tab.id) || (value._select && value._select == tab._select) || (value._select && value._select == tab.id)) {\n value.active = true;\n return;\n } else {\n value.active = false;\n }\n });\n }\n },\n\n openQrcodeDialog() {\n this.showQrcodeDialog = true;\n },\n\n closeQrcodeDialog() {\n this.showQrcodeDialog = false;\n },\n\n judgePromoter(id) {\n this.$api.judgePromoterApi(id,\n {\n onSucess: res => {\n this.isOrganizationPromoter = res.data.data.isOrganizationPromoter;\n console.info('promoter', this.isOrganizationPromoter);\n }\n })\n }\n },\n watch: {\n showInstance(val) {\n if (val) {\n this.dialogVisible = true;\n }\n },\n }\n};\n",null]}