大屏问题处理
parent
964a904cc1
commit
552f768190
|
@ -133,16 +133,16 @@ const costOutputSelectYearAndMonth=(data)=> {
|
|||
return it;
|
||||
});
|
||||
let y=data.year;
|
||||
let m=data.month-1;
|
||||
if(m==0){
|
||||
m=12;
|
||||
y--;
|
||||
}
|
||||
let m=data.month;
|
||||
//if(m==0){
|
||||
// m=12;
|
||||
// y--;
|
||||
//}
|
||||
let tmps2=(res[1].data||[]).map(it=>{
|
||||
it.money=it.money?it.money/10000.0:0;
|
||||
return it;
|
||||
});
|
||||
let curM=tmps2.filter(it=>it.costType==9 && it.year==y && it.month==m);
|
||||
let curM=tmps.filter(it=>it.costType==9 && it.year==y && it.month==m);
|
||||
curM=curM.length>0?curM[0]:{};
|
||||
|
||||
let totalObjs=tmps.filter(it=>it.costType==9);
|
||||
|
|
|
@ -5,21 +5,101 @@
|
|||
<div class="head-title-tab">
|
||||
<div :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="doNav(1)">项目概况</div>
|
||||
<div :class="nav == 2 ? 'head-nav active' : 'head-nav'" @click="doNav(2)">项目详情</div>
|
||||
<div :class="nav == 3 ? 'head-nav active' : 'head-nav'" @click="doNav(3)">安全管理</div>
|
||||
<div :class="nav == 4 ? 'head-nav active' : 'head-nav'" @click="doNav(4)">质量管理</div>
|
||||
<div :class="nav == 5 ? 'head-nav active' : 'head-nav'" @click="doNav(5)">进度管理</div>
|
||||
<div :class="nav == 7 ? 'head-nav active' : 'head-nav'" @click="doNav(7)">视频监控</div>
|
||||
<div :class="(nav >= 300 && nav < 400) || nav == 3 ? 'head-nav active' : 'head-nav'"
|
||||
style="position: relative;" class="has-submenu">
|
||||
<div @click="doNav(3)">安全管理</div>
|
||||
<div class="header-btn-list">
|
||||
<div class="header-btn-list-arrow"></div>
|
||||
<div class="header-btn-list-item" style="">
|
||||
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
|
||||
<button type="button" :class="nav == 301 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(301)">安全隐患排查</button>
|
||||
<button type="button" :class="nav == 302 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(302)">教育培训</button>
|
||||
<button type="button" :class="nav == 303 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(303)">基坑监测</button>
|
||||
<button type="button" :class="nav == 304 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(304)">塔基监测</button>
|
||||
</div>
|
||||
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
|
||||
<button type="button" :class="nav == 305 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(305)">高支模监测</button>
|
||||
<button type="button" :class="nav == 306 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(306)">配电箱监测</button>
|
||||
<button type="button" :class="nav == 307 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(307)">爬架监测</button>
|
||||
<button type="button" :class="nav == 308 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(308)">施工电梯监测</button>
|
||||
</div>
|
||||
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
|
||||
<button type="button" :class="nav == 309 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(309)">视频监控</button>
|
||||
<button type="button" :class="nav == 310 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(310)">AI测控</button>
|
||||
<button type="button" :class="nav == 311 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(311)">标准化管理</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="(nav >= 400 && nav < 500) || nav == 4 ? 'head-nav active' : 'head-nav'"
|
||||
style="position: relative;" class="has-submenu">
|
||||
<div @click="doNav(4)">质量管理</div>
|
||||
<div class="header-btn-list">
|
||||
<div class="header-btn-list-arrow"></div>
|
||||
<div class="header-btn-list-item" style="">
|
||||
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
|
||||
<button type="button" :class="nav == 401 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(401)">质量隐患排查</button>
|
||||
<button type="button" :class="nav == 402 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(402)">材料取样复试</button>
|
||||
<button type="button" :class="nav == 403 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(403)">举牌验收</button>
|
||||
<button type="button" :class="nav == 404 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(404)">标养室监测</button>
|
||||
</div>
|
||||
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
|
||||
<button type="button" :class="nav == 405 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(405)">标准化管理</button>
|
||||
<button type="button" :class="nav == 406 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(406)">混泥土监测</button>
|
||||
<button type="button" :class="nav == 407 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(407)">爬架监测</button>
|
||||
<button type="button" :class="nav == 408 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(408)">施工电梯监测</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="(nav >= 500 && nav < 600) || nav == 5 ? 'head-nav active' : 'head-nav'"
|
||||
style="position: relative;" class="has-submenu">
|
||||
<div @click="doNav(5)">进度管理</div>
|
||||
<div class="header-btn-list">
|
||||
<div class="header-btn-list-arrow"></div>
|
||||
<div class="header-btn-list-item" style="">
|
||||
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
|
||||
<button type="button" :class="nav == 5 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(5)">进度管理</button>
|
||||
<button type="button" :class="nav == 501 ? 'active' : ''" class="sub-btn"
|
||||
@click="doNav(501)">延时摄影</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8" class="header-center">
|
||||
<img class="prj-logo" :src="selProject.setting.orgLogo"
|
||||
v-if="selProject && selProject.setting && selProject.setting.orgLogo" />
|
||||
数字建安施工管理平台
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="head-title-tab" style="display: inline-block">
|
||||
<div :class="nav == 6 ? 'head-nav active' : 'head-nav'" @click="doNav(6)">绿碳中心</div>
|
||||
<div :class="nav == 6 ? 'head-nav active' : 'head-nav'" @click="doNav(6)">绿碳中心</div>
|
||||
</div>
|
||||
<div class="header-title-user-info" style="display:inline-block;float:right;">
|
||||
<el-select v-model="selProject" popper-class="header-sel-project-pop"
|
||||
<el-select v-model="selProjectId" popper-class="header-sel-project-pop"
|
||||
style="width: 150px;margin-right: 20px;height:30px;line-height: 30px;"
|
||||
@change="doProjectSelect">
|
||||
<el-option v-for="it in projects" :key="it.id" :label="it.projectName"
|
||||
|
@ -29,22 +109,23 @@
|
|||
<i class="el-icon-switch-button"></i>
|
||||
</span>
|
||||
</div>
|
||||
<i class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 0px;right: 24px;"
|
||||
@click="toggleFullScreen">
|
||||
<svg class="icon" v-if="!isFullScreen"
|
||||
style="width: 20px; vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024"
|
||||
version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3304">
|
||||
<path
|
||||
d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z"
|
||||
fill="" p-id="3305"></path>
|
||||
</svg>
|
||||
<svg class="icon" v-else style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;"
|
||||
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3952">
|
||||
<path
|
||||
d="M384 597.333333h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h153.6L17.066667 947.2c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733333 0L341.333333 742.4v153.6c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z m358.4 85.333334h153.6c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V742.4l264.533333 264.533333c17.066667 17.066667 42.666667 17.066667 59.733333 0 17.066667-17.066667 17.066667-42.666667 0-59.733333L742.4 682.666667zM640 426.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667H742.4L1006.933333 76.8c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0L682.666667 281.6V128c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667z m-256-341.333334c-25.6 0-42.666667 17.066667-42.666667 42.666667v153.6L76.8 8.533333C59.733333 0 25.6 0 8.533333 8.533333 0 25.6 0 59.733333 8.533333 76.8L281.6 341.333333H128c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z"
|
||||
p-id="3953"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<i class="set-fullscreen set-font-size"
|
||||
style="margin-left: 16px;position: absolute;top: 0px;right: 24px;" @click="toggleFullScreen">
|
||||
<svg class="icon" v-if="!isFullScreen"
|
||||
style="width: 20px; vertical-align: middle;fill: currentColor;overflow: hidden;"
|
||||
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3304">
|
||||
<path
|
||||
d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z"
|
||||
fill="" p-id="3305"></path>
|
||||
</svg>
|
||||
<svg class="icon" v-else
|
||||
style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;"
|
||||
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3952">
|
||||
<path
|
||||
d="M384 597.333333h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h153.6L17.066667 947.2c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733333 0L341.333333 742.4v153.6c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z m358.4 85.333334h153.6c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V742.4l264.533333 264.533333c17.066667 17.066667 42.666667 17.066667 59.733333 0 17.066667-17.066667 17.066667-42.666667 0-59.733333L742.4 682.666667zM640 426.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667H742.4L1006.933333 76.8c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0L682.666667 281.6V128c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667z m-256-341.333334c-25.6 0-42.666667 17.066667-42.666667 42.666667v153.6L76.8 8.533333C59.733333 0 25.6 0 8.533333 8.533333 0 25.6 0 59.733333 8.533333 76.8L281.6 341.333333H128c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z"
|
||||
p-id="3953"></path>
|
||||
</svg>
|
||||
</i>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
@ -55,7 +136,8 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
nav: 1,
|
||||
selProject: '',
|
||||
selProject: null,
|
||||
selProjectId: '',
|
||||
projects: [],
|
||||
isFullScreen: false,
|
||||
}
|
||||
|
@ -79,7 +161,7 @@ export default {
|
|||
this.projects = d.rows || [];
|
||||
if (this.projects.length > 0) {
|
||||
let id = localStorage.getItem("selProj") || this.projects[0].id
|
||||
this.selProject = +id;
|
||||
this.selProjectId = +id;
|
||||
this.doProjectSelect();
|
||||
}
|
||||
});
|
||||
|
@ -93,21 +175,44 @@ export default {
|
|||
}, 400);
|
||||
},
|
||||
doProjectSelect() {
|
||||
let tmps = this.projects.filter(d => d.id == this.selProject);
|
||||
let tmps = this.projects.filter(d => d.id == this.selProjectId);
|
||||
if (tmps.length > 0) {
|
||||
this.$store.dispatch('SetSelProject', tmps[0]);
|
||||
this.selProject = tmps[0];
|
||||
} else {
|
||||
this.$store.dispatch('SetSelProject', null);
|
||||
this.selProject = null;
|
||||
}
|
||||
localStorage.setItem("selProj", this.selProject);
|
||||
localStorage.setItem("selProj", this.selProjectId);
|
||||
},
|
||||
doNav(n) {
|
||||
if (this.nav == n) {
|
||||
return;
|
||||
}
|
||||
this.nav = n;
|
||||
let path = ["/index", "/detail", "/prjSafety", "/prjQuality", "/prjProgress","/greenCarbon","/videoMonitor"][n - 1];
|
||||
this.$router.push(path);
|
||||
switch (n) {
|
||||
case 1:
|
||||
this.$router.push("/index");
|
||||
break;
|
||||
case 2:
|
||||
this.$router.push("/detail");
|
||||
break;
|
||||
case 3:
|
||||
this.$router.push("/prjSafety");
|
||||
break;
|
||||
case 309:
|
||||
this.$router.push("/videoMonitor");
|
||||
break;
|
||||
case 4:
|
||||
this.$router.push("/prjQuality");
|
||||
break;
|
||||
case 5:
|
||||
this.$router.push("/prjProgress");
|
||||
break;
|
||||
case 6:
|
||||
this.$router.push("/greenCarbon");
|
||||
break;
|
||||
}
|
||||
},
|
||||
doLogout() {
|
||||
this.$confirm('确定注销并退出系统吗?', '提示', {
|
||||
|
@ -133,6 +238,65 @@ export default {
|
|||
color: #3da2ff;
|
||||
font-size: 32px;
|
||||
font-weight: bold;
|
||||
|
||||
.prj-logo {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
vertical-align: middle;
|
||||
border-radius: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.head-title-tab {
|
||||
.has-submenu {
|
||||
&:hover {
|
||||
.header-btn-list {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.header-btn-list {
|
||||
display: none;
|
||||
|
||||
.header-btn-list-item {
|
||||
.header-btn-list-padding {
|
||||
padding: 0px;
|
||||
|
||||
button {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
&.menu-row2 {
|
||||
.sub-btn {
|
||||
color: #fff;
|
||||
|
||||
&:hover {
|
||||
color: #ccc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.menu-row1 {
|
||||
.sub-btn {
|
||||
color: rgb(1, 169, 255);
|
||||
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sub-btn {
|
||||
&.active {
|
||||
color: #ffffffaa;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -145,6 +309,12 @@ export default {
|
|||
padding: 5px 40px;
|
||||
position: relative;
|
||||
top: -8px;
|
||||
.prj-logo {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
vertical-align: middle;
|
||||
border-radius: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -163,20 +333,41 @@ export default {
|
|||
top: -5px;
|
||||
}
|
||||
}
|
||||
|
||||
.header-sel-project-pop {
|
||||
transform: scale(1.5);
|
||||
width: 200px;
|
||||
min-width: unset !important;
|
||||
margin-left: 50px;
|
||||
}
|
||||
|
||||
.head-title-tab {
|
||||
.header-btn-list {
|
||||
top: 40px;
|
||||
left: 40px;
|
||||
|
||||
.sub-btn {
|
||||
font-size: 18px;
|
||||
width: 140px !important;
|
||||
line-height: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 2561px) {
|
||||
|
||||
|
||||
|
||||
.header-center {
|
||||
font-size: 52px !important;
|
||||
margin-top: 10px;
|
||||
.prj-logo {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
vertical-align: middle;
|
||||
border-radius: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.header-title-user-info {
|
||||
|
@ -196,5 +387,19 @@ export default {
|
|||
min-width: unset !important;
|
||||
margin-left: 100px;
|
||||
}
|
||||
|
||||
.head-title-tab {
|
||||
.header-btn-list {
|
||||
top: 50px;
|
||||
left: 50px;
|
||||
|
||||
.sub-btn {
|
||||
font-size: 24px;
|
||||
width: 160px !important;
|
||||
line-height: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -95,7 +95,7 @@
|
|||
今日出勤
|
||||
</div>
|
||||
</div>
|
||||
<img src="images/icon2001.png" v-show="laborPersonnelTotal > 0 "
|
||||
<img src="images/icon2001.png" v-show="laborPersonnelTotal > 0"
|
||||
style="position: absolute; cursor: pointer; right: 20px; top: 12px" @click="doShowAttendanceDetail" />
|
||||
<el-row :key="elDeptWorks">
|
||||
<el-col :span="8">
|
||||
|
@ -123,7 +123,7 @@
|
|||
<el-carousel height="100%" :autoplay="false">
|
||||
<el-carousel-item v-for="(item, idx) in photographyList" :key="idx">
|
||||
<video controls class="photography-video">
|
||||
<source :src="item.videoUrl" type="video/mp4" :key="item.videoUrl"/>
|
||||
<source :src="item.videoUrl" type="video/mp4" :key="item.videoUrl" />
|
||||
您的浏览器不支持Video标签。
|
||||
</video>
|
||||
<div class="photography-list-title">
|
||||
|
@ -304,9 +304,10 @@
|
|||
计划开工日期
|
||||
</p>
|
||||
<div>
|
||||
<span>{{
|
||||
fmtDate(getCurProject().scheduledStartTime || "")
|
||||
}}</span>
|
||||
<span>
|
||||
{{getCurProject()}}{{
|
||||
fmtDate(getCurProject().scheduledStartTime || "")
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -355,8 +356,8 @@
|
|||
</p>
|
||||
<div>
|
||||
<span>{{
|
||||
fmtDate(getCurProject().plannedCompletionTime || "")
|
||||
}}</span>
|
||||
fmtDate(getCurProject().plannedCompletionTime || "")
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -513,9 +514,9 @@
|
|||
实际:{{ item.endDate || "--" }}
|
||||
</div>
|
||||
<div v-if="item.finishState > 0" class="project-expect-state dangerous-time-nav" :class="(item.finishState == 1 ? 'active' : '') +
|
||||
' state-' +
|
||||
item.finishState
|
||||
">
|
||||
' state-' +
|
||||
item.finishState
|
||||
">
|
||||
{{ item.finish }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -914,13 +915,13 @@ export default {
|
|||
this.projectLvlDict = d || [];
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
mounted() {
|
||||
this.$bus.$on(
|
||||
"projectChange",
|
||||
debounce((res) => {
|
||||
this.project = res||this.$root.project;
|
||||
this.dept=this.$root.dept||this.dept;
|
||||
this.prjs= this.$root.projects||this.prjs;
|
||||
this.project = res || this.$root.project;
|
||||
this.dept = this.$root.dept || this.dept;
|
||||
this.prjs = this.$root.projects || this.prjs;
|
||||
this.mapName = "";
|
||||
if (res.id == 0) {
|
||||
if (this.prjs.length > 1) {
|
||||
|
@ -932,7 +933,7 @@ export default {
|
|||
this.loadData();
|
||||
this.loadFilshNode();
|
||||
})
|
||||
);
|
||||
);
|
||||
if (this.$root.hasInitHeader) {
|
||||
this.initMe();
|
||||
}
|
||||
|
@ -942,14 +943,14 @@ export default {
|
|||
* 劳资预警详情弹窗
|
||||
*/
|
||||
doFlowLabourDlg() {
|
||||
if(this.project.id==0){
|
||||
if(this.prjs.length>1){
|
||||
if (this.project.id == 0) {
|
||||
if (this.prjs.length > 1) {
|
||||
this.$refs.flowLabourDlg.showDialog(this.prjs[1]);
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
this.$refs.flowLabourDlg.showDialog(this.project);
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
getFloorArea() {
|
||||
this.getProjectId((id) => {
|
||||
|
@ -982,7 +983,7 @@ export default {
|
|||
} else {
|
||||
this.$refs.jobWorkerdlg.showDialog({
|
||||
...data,
|
||||
type:this.infoNav,
|
||||
type: this.infoNav,
|
||||
total: this.laborPersonnelTotal,
|
||||
datas: this.laborPersonnelData.map((it) => {
|
||||
return {
|
||||
|
@ -1068,11 +1069,11 @@ export default {
|
|||
}
|
||||
if (this.project.id == 0) {
|
||||
if (this.prjs.length > 1) {
|
||||
return this.prjs[1];
|
||||
return this.prjs[1]||{};
|
||||
}
|
||||
return {};
|
||||
}
|
||||
return this.project;
|
||||
return this.project||{};
|
||||
},
|
||||
getProjectId(cb) {
|
||||
let func = () => {
|
||||
|
@ -1680,9 +1681,11 @@ export default {
|
|||
width: calc(100% - 4px);
|
||||
height: calc(100% - 26px);
|
||||
padding-left: 1px;
|
||||
.el-carousel{
|
||||
|
||||
.el-carousel {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.photography-video {
|
||||
width: 100%;
|
||||
height: calc(100% - 30px);
|
||||
|
|
|
@ -214,7 +214,7 @@
|
|||
<div class="modify-btn">
|
||||
<img src="images/foot_left.png" @click="modifyLeftBtn" />
|
||||
</div>
|
||||
<div class="modify-content" id="modifyContent">
|
||||
<div class="modify-content" id="modifyContent" v-if="selProject">
|
||||
<div class="modify-content-overflow">
|
||||
<div class="project-amount">
|
||||
<div class="project-amount-bgd">
|
||||
|
|
|
@ -76,7 +76,7 @@ export default {
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$store.dispatch('ChangeNav', 7);
|
||||
this.$store.dispatch('ChangeNav', 309);
|
||||
this.dpi = this.$dpi();
|
||||
window.addEventListener("resize", () => {
|
||||
if (this.dpi != this.$dpi()) {
|
||||
|
|
|
@ -74,4 +74,6 @@ public interface ProProjectInfoMapper
|
|||
* @return
|
||||
*/
|
||||
public int updateDept(ProDept proDept);
|
||||
|
||||
List<ProProjectInfo> selectMyProjectList(ProProjectInfo proProjectInfo);
|
||||
}
|
||||
|
|
|
@ -345,5 +345,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</set>
|
||||
where dept_id = #{deptId}
|
||||
</update>
|
||||
|
||||
<select id="selectMyProjectList" parameterType="ProProjectInfo" resultMap="ProProjectInfoResult">
|
||||
select pi.id, pi.com_id, pi.dis_dept_id, pi.project_name,
|
||||
pi.project_code, pi.simple_name, pi.project_type, sdd1.dict_label as project_type_name, pi.project_level, pi.project_regional, pi.project_package, pi.project_address, pi.project_nature,
|
||||
pi.tech_leader,pi.tech_leader_phone,pi.province,pi.city,pi.district,
|
||||
pi.licence_number, pi.project_person, pi.project_person_phone, pi.longitude, pi.latitude, pi.project_time_limit, pi.total_investment,
|
||||
pi.floor_area, pi.total_output_value, pi.planned_completion_time, pi.scheduled_start_time, pi.actual_operating_time, pi.actual_completion_time,
|
||||
pi.contract_amount, pi.paid_amount, pi.on_account_amount, pi.project_schedule, pi.project_summarize, pi.project_qr_code, pi.project_status,
|
||||
pi.project_sort, pi.is_del, pi.create_by, pi.create_time, pi.update_by, pi.update_time, pi.remark,
|
||||
ps.id ps_id,ps.org_name ps_org_name,ps.org_logo ps_org_logo,ps.org_image ps_org_image,ps.org_video ps_org_video,ps.org_plane ps_org_plane
|
||||
from pro_project_info pi
|
||||
left join pro_project_info_setting ps on pi.id=ps.project_id
|
||||
left join sys_dict_data sdd1 on sdd1.dict_value = pi.project_type and sdd1.dict_type='pro_project_type'
|
||||
<if test="currentUserId != null "> left join pro_project_info_users pu on pu.project_id = pi.id </if>
|
||||
<if test="currentUserId != null "> left join pro_project_info_subdepts_users psu on psu.project_id = pi.id </if>
|
||||
<where>
|
||||
<if test="comId != null "> and pi.com_id = #{comId}</if>
|
||||
<if test="disDeptId != null "> and pi.dis_dept_id = #{disDeptId}</if>
|
||||
<if test="activeComId != null "> and pi.com_id = #{activeComId}</if>
|
||||
<if test="currentUserId != null"> and ((pu.user_id = #{currentUserId} and pu.use_status='1' and pu.is_del=0) or (psu.user_id = #{currentUserId} and approve_status <![CDATA[ >= ]]> 100 and psu.user_id = #{currentUserId} and psu.use_status='1' and psu.is_del=0))</if>
|
||||
<if test="projectName != null and projectName != ''"> and pi.project_name like concat('%', #{projectName}, '%')</if>
|
||||
<if test="projectCode != null and projectCode != ''"> and pi.project_code = #{projectCode}</if>
|
||||
<if test="simpleName != null and simpleName != ''"> and pi.simple_name like concat('%', #{simpleName}, '%')</if>
|
||||
<if test="techLeader != null and techLeader != ''"> and pi.tech_leader like concat('%', #{techLeader}, '%')</if>
|
||||
<if test="techLeaderPhone != null and techLeaderPhone != ''"> and pi.tech_leader_phone like concat('%', #{techLeaderPhone}, '%')</if>
|
||||
<if test="province != null and province != ''"> and pi.province like concat('%', #{province}, '%')</if>
|
||||
<if test="city != null and city != ''"> and pi.city like concat('%', #{city}, '%')</if>
|
||||
<if test="district != null and district != ''"> and pi.district like concat('%', #{district}, '%')</if>
|
||||
<if test="projectType != null and projectType != ''"> and pi.project_type = #{projectType}</if>
|
||||
<if test="projectLevel != null and projectLevel != ''"> and pi.project_level = #{projectLevel}</if>
|
||||
<if test="projectPerson != null and projectPerson != ''"> and pi.project_person = #{projectPerson}</if>
|
||||
<if test="projectPersonPhone != null and projectPersonPhone != ''"> and pi.project_person_phone = #{projectPersonPhone}</if>
|
||||
<if test="projectStatus != null and projectStatus != ''"> and pi.project_status = #{projectStatus}</if>
|
||||
<if test="isDel != null "> and pi.is_del = #{isDel}</if>
|
||||
</where>
|
||||
<if test="currentUserId == null "> order by pi.project_sort, pi.id desc</if>
|
||||
<if test="currentUserId != null "> order by pu.sort_by, pi.id desc</if>
|
||||
</select>
|
||||
</mapper>
|
|
@ -274,7 +274,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
) u
|
||||
ON u.craft_type = dic.dict_value
|
||||
WHERE
|
||||
dic.dict_type = 'pro_craft_type';
|
||||
dic.dict_type = 'pro_craft_type'
|
||||
|
||||
</select>
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ public class ProProjectInfoController extends BaseController
|
|||
if(StringUtils.isNotEmpty(list)){
|
||||
return getDataTable(list);
|
||||
}
|
||||
list = proProjectInfoService.selectProProjectInfoList(proProjectInfo);
|
||||
list = proProjectInfoService.selectMyProjectList(proProjectInfo);
|
||||
redisService.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
|
|
@ -70,4 +70,6 @@ public interface IProProjectInfoService
|
|||
* 加载地址信息到缓存
|
||||
*/
|
||||
public void loadingProjectsCache();
|
||||
|
||||
public List<ProProjectInfo> selectMyProjectList(com.yanzhu.manage.domain.ProProjectInfo proProjectInfo);
|
||||
}
|
||||
|
|
|
@ -88,6 +88,11 @@ public class ProProjectInfoServiceImpl implements IProProjectInfoService
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProProjectInfo> selectMyProjectList(ProProjectInfo proProjectInfo) {
|
||||
return proProjectInfoMapper.selectMyProjectList(proProjectInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目信息
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue