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() {