<template> <div class="applicationHomeBorardFreeContainer"> <div class="title"> <h2></h2> <el-button type="primary" size="small" @click="markertApp" v-if="network">搴旂敤甯傚満</el-button> </div> <div class="appcateposition"> <div class="appcate"> <span class="appcatespan" v-for="(item,index) in appcateArrList" :key="index"> <h3>{{item.title}}</h3> <ul> <li v-for="(its,i) in item.children" :key="i" @click="loadAppMenu(its.appid,its.name)"> <img :src="its.img.indexOf('https')>-1?its.img:contextUrl+its.img" v-if="its.img"> <cite>{{its.name}}</cite> </li> </ul> </span> <span class="notApp" v-if="appcateArrList.length==0"> <p><img src="~@/assets/images/other/notAppIcon.png"></p> <p class="textinfo">鏆傛棤鍙搷浣滅殑搴旂敤锛屽彲鑱旂郴缁勭粐鎴栭儴闂ㄧ鐞嗗憳涓烘偍鎺堟潈</p> </span> <!-- <span class="appcatespan"> <h3>搴旂敤鍒嗙被</h3> <ul> <li v-for="(item,index) in applistArr" :key="index" @click="loadAppMenu(item.id,item.name)"><img src="~@/assets/images/other/appicon1.png"><cite>{{item.name}}</cite></li> </ul> </span> --> </div> </div> </div> </template> <script> import { Loading } from 'element-ui'; export default{ inject: [ 'addTab', ], data(){ return{ applistArr:[], tabs:[], appcateArrList:[],//宸ヤ綔鍙板簲鐢ㄥ垎绫� contextUrl:obpmConfig.obpmFilePath, network:true,//鑾峰彇__network__鍏ㄥ眬鍙橀噺鐘舵€侊紝鍒ゆ柇鏄剧ず闅愯棌 } }, mounted() { this.network=__network__ //鑾峰彇__network__鍏ㄥ眬鍙橀噺鐘舵€侊紝鍒ゆ柇鏄剧ず闅愯棌 // if(localStorage.getItem('HomeApplist_board')&&JSON.parse(localStorage.getItem('HomeApplist_board')).employeeIdStr==localStorage.getItem('employeeId')){//鍓嶇璧扮紦瀛橈紝鑱屽憳id涓€鏍凤紝澶氭鍒锋柊涓嶈蛋鎺ュ彛锛岃蛋缂撳瓨 // this.appcateArrList=JSON.parse(localStorage.getItem('HomeApplist_board')).appcateArrListStr // }else{ // this.applistIframe()//宸ヤ綔鍙版煡璇㈠簲鐢ㄥ垎绫� // } this.applistIframe()//宸ヤ綔鍙版煡璇㈠簲鐢ㄥ垎绫� }, methods: { markertApp(){//鐐瑰嚮搴旂敤甯傚満璺宠浆 var param={ id:"applicationMarket", name:'搴旂敤甯傚満', linkType:'applicationMarket', actionContent:"", icon:"-1", key:"" } console.log(this.$listeners) this.addTab(param) }, applistIframe(){//鏌ヨ搴旂敤鍒楄〃 let data = {//鍙煡璇㈢數鑴戠搴旂敤 search_clientype: "鐢佃剳绔�", } this.$api.getApplicationsAll(data,{ onSucess: response => { if (response.data && response.data.errmsg == "ok") { console.log(response.data) if(response.data.data.data.length){ let arr=[] response.data.data.data.forEach((item,index)=>{ let obj={} let obj2={} obj.title=item.items['__4ReuvgLxTKieJDzGu2L'].value obj.cateSort=item.items['__sJO2jdvlNEznauT5KQa'].value //鍒嗙被鎺掑簭 obj.children=[] obj2.img=item.items['__oTDoKOfuYRsmXS7DfDk'].value? JSON.parse(item.items['__oTDoKOfuYRsmXS7DfDk'].value)[0].path : "" //搴旂敤鍥炬爣 obj2.name=item.items['__M0NXUq24HGrzQrmjLwj'].value //搴旂敤鍚嶇О obj2.appid=item.items['__ZLG2HsnA374L6Ww4X6P'].value //搴旂敤id obj2.appSort=item.items['__zsh5fkZEXwof08KVNMe'].value //搴旂敤id obj.children.push(obj2) arr.push(obj) }) console.log(arr) arr.sort((a,b)=>{return Number(a.cateSort)-Number(b.cateSort)}) //鍒嗙被鎺掑簭cateSort const titleMap = {} const transferObj = arr.reduce((prev, next) => { if(titleMap[next.title]) { prev[next.title].children.push(...next.children) } else { titleMap[next.title] = true prev[next.title] = {children: next.children} } return prev }, {}) let arr2=[] for(let i in transferObj){ let obj={} obj.title=i transferObj[i].children.sort((a,b)=>{return Number(a.appSort)-Number(b.appSort)}) //搴旂敤鎺掑簭cateSort obj.children=transferObj[i].children arr2.push(obj) } if(location.host.indexOf("v5qy.test.baibaodun.cn")>-1){ if(localStorage.getItem("domainId")!='__2gH5luUlviULa7KnmqW'){//涓存椂杩囨护浣跨敤--鍚庢湡鍒犻櫎--娴嬭瘯117鐜 arr2.forEach((item,index)=>{ item.children.forEach((its,ix)=>{ if(its.name=='缁勭粐鏉冪泭'){ if(item.children.length==1){ arr2.splice(index,1) } item.children.splice(ix,1) } }) }) } }else{ if(localStorage.getItem("domainId")!='__Qqg3L4GhNXG4iRAmcTB'){//涓存椂杩囨护浣跨敤--鍚庢湡鍒犻櫎--姝e紡鐜 arr2.forEach((item,index)=>{ item.children.forEach((its,ix)=>{ if(its.name=='缁勭粐鏉冪泭'){ if(item.children.length==1){ arr2.splice(index,1) } item.children.splice(ix,1) //涓嶅湪杩欎釜缁勭粐锛岀粍缁囨潈鐩婂簲鐢ㄩ殣钘忓垹闄� } }) }) } } console.log(arr2) this.appcateArrList=arr2 if(this.appcateArrList[0].children[0].appid=='__d1qEDy3wYq8VF5KvUoE'){//鏅鸿兘浜轰簨锛坃_xkeybkGaZa1SboC9GL1锛夈€佹満鏋勭敤鎴风鐞嗭紙__d1qEDy3wYq8VF5KvUoE锛� let name=this.appcateArrList[0].children[0].name let appId=this.appcateArrList[0].children[0].appid let obj={name,appId} localStorage.setItem('appidSupervise',JSON.stringify(obj)) } //鍓嶇缂撳瓨鏈湴浠g爜鍧�--鍒囨崲涓嶅悓缁勭粐鐨勬墍鏈夊簲鐢ㄥ垪琛� // let HomeApplist_board={employeeIdStr:localStorage.getItem('employeeId'),appcateArrListStr:this.appcateArrList} // localStorage.setItem('HomeApplist_board',JSON.stringify(HomeApplist_board)) } } } }); }, loadAppMenu(appId, name) {//鐐瑰嚮搴旂敤鍒楄〃鏌ヨ宸﹁竟搴旂敤鑿滃崟 if (appId != "km" && appId != "pm" && appId != "qm") { this.$root.appid = appId; } let flag=1 this.$store.dispatch("loadMenus", {appId, name,flag}); if(appId=='__d1qEDy3wYq8VF5KvUoE'){//鏅鸿兘浜轰簨锛坃_xkeybkGaZa1SboC9GL1锛夈€佹満鏋勭敤鎴风鐞嗭紙__d1qEDy3wYq8VF5KvUoE锛� let obj={name,appId} localStorage.setItem('appidSupervise',JSON.stringify(obj)) } }, }, } </script> <style lang="scss"> .applicationHomeBorardFreeContainer{ height: 100%; .title{ display: flex; flex-direction: row; padding: 24px; h2{flex:1;font-size: 18px;} } .appcateposition{position: relative; height: 100%;} .appcate{ display: flex; padding: 5px 24px; flex-wrap: wrap; justify-content: space-between; max-height: calc(100% - 80px);//鐖跺厓绱犲繀椤婚兘浣跨敤 height:100%,calc鎵嶈兘鐢熸晥 calc() 鍑芥暟鐢ㄤ簬鍔ㄦ€佽绠楅暱搴﹀€� overflow: auto; .appcatespan{ display: flex; flex-direction: column; border: 1px solid #E9E9E9; border-radius: 5px; padding: 16px; margin-bottom:16px; width: 49%; background: #fff; h3{font-size: 14px;margin-bottom: 10px;} ul{ display: flex; flex-direction: row; flex-wrap: wrap; li{ align-items: center; text-align: center; display: flex; flex-direction: column; width: 121px; height: 124px; justify-content: center; cursor: pointer; img{width: 48px; height: 48px;margin-bottom: 8px;} cite{font-size: 12px;overflow: hidden;text-overflow: ellipsis; white-space: nowrap; width: 100%;} } } } } } .notApp{ display: flex; justify-content: center; flex-direction: column; margin: 0 auto; text-align: center; margin-top:50px; .textinfo{ color: rgba(0,0,0,0.65); font-size: 15px; margin-top:24px; } } </style>