diff --git a/src/api/project/index.js b/src/api/project/index.js index 53dce66..6cd54bb 100644 --- a/src/api/project/index.js +++ b/src/api/project/index.js @@ -76,6 +76,13 @@ const groupByLevel=(deptId,type)=>{ }) } +const getProjectUser=(projectId)=>{ + return request({ + url: `bgscreen/project/getProjectUser?projectId=${projectId}`, + method: 'get' + }); +} + export default{ findProjectByDept, @@ -83,7 +90,8 @@ export default{ getProgressProjects, groupByProjectCategory, groupByCategory, - groupByLevel + groupByLevel, + getProjectUser } diff --git a/src/pages/projectDetail.vue b/src/pages/projectDetail.vue index fdc2048..1dfe765 100644 --- a/src/pages/projectDetail.vue +++ b/src/pages/projectDetail.vue @@ -14,15 +14,15 @@ 项目简介 - + - 泾河新城荟锦坊二期 + {{ getCurProject().projectName }} 甲方代表 - 王朝晖 15609229991 + {{getPrjUser('甲方代表')||' ' }} @@ -31,7 +31,7 @@ 项目等级 - 新区级 + {{ getProjectLevel()||' ' }} @@ -40,7 +40,7 @@ 项目经理 - 薛宽 18991902910 + {{getPrjUser('项目经理')||' ' }} @@ -49,7 +49,7 @@ 项目总监 - 段涛 18149202886 + {{getPrjUser('总监')||' ' }} @@ -58,7 +58,7 @@ 总包单位 - 中铁一局建筑安装有限公司 + {{getPrjUser('总包单位','2')||' ' }} @@ -67,7 +67,7 @@ 监理单位 - 陕西兵咨建设咨询有限公司 + {{getPrjUser('监理单位','4')||' ' }} @@ -583,10 +583,13 @@ export default { return { prjs: [], dept: null, - project: null, + project: null, scheduleInfo: null, projectBuildNode: null, prjResNav: 0, + projectLvlDict:[], + projectUsers:[],//项目用户,用于项目概况 + elPrjUser:0, //项目概况 top: 0, introduceInterval: undefined, @@ -696,8 +699,12 @@ export default { }, created() { this.init() + this.$api.dict('project_level').then(d => { + this.projectLvlDict = d || []; + }); }, - mounted() { + mounted() { + window.xapp=this this.$bus.$on("loadProjects", prjs => { this.prjs = prjs; }); @@ -711,13 +718,49 @@ export default { }); }, methods: { + getPrjUser(t,deptType){ + if(this.projectUsers && this.projectUsers.length>0){ + if(deptType){ + let tmps=this.projectUsers.filter(it=>it.deptType==deptType); + if(tmps.length>0){ + return tmps[0].deptName; + } + }else{ + let tmps=this.projectUsers.filter(it=>it.jobTypeName==t); + if(tmps.length>0){ + return tmps[0].nickName+' '+tmps[0].phonenumber; + } + } + } + return ""; + }, + getProjectLevel(){ + let lvl=this.getCurProject()?.projiectLevel||''; + if(lvl){ + let tmps = this.projectLvlDict.filter(d => d.dictValue == lvl); + return tmps.length > 0 ? tmps[0].dictLabel : ''; + } + return ""; + }, + getCurProject(){ + if(!this.project){ + return {}; + } + if(this.project.id==0){ + if(this.prjs.length>1){ + return this.prjs[1]; + } + return {}; + } + return this.project; + }, getProjectId(cb) { let func = () => { let prjId = this.project.id; if (prjId == 0) { if (this.prjs.length == 0) { setTimeout(func, 100); - } else { + } else { cb && cb(this.prjs[1].id); } } else { @@ -742,6 +785,15 @@ export default { this.projectBuildNode = []; this.getProjectBuildNode(); this.getDeptWorksList(); + this.getProjectUser(); + }); + }, + getProjectUser(){ + this.getProjectId(id => { + this.$api.project.getProjectUser(id).then(d=>{ + this.projectUsers=d.data||[]; + this.elPrjUser++; + }); }); }, getProjectBuildNode() {