update code

dev
haha 2024-05-25 21:59:19 +08:00
parent 01913eaca1
commit 2773eee454
7 changed files with 441 additions and 190 deletions

View File

@ -16,3 +16,6 @@
justify-content: center; justify-content: center;
flex-flow: column; flex-flow: column;
} }
.my-module-title{
background: url(../images/one/2x1.png) no-repeat;background-size: 100%;
}

View File

@ -9,7 +9,7 @@
<link rel="stylesheet" href="/cdn/element-ui/lib/theme-chalk/index.css"> <link rel="stylesheet" href="/cdn/element-ui/lib/theme-chalk/index.css">
<link rel="stylesheet" href="css/largeScreenLayout.css?v=20240415"> <link rel="stylesheet" href="css/largeScreenLayout.css?v=20240415">
<link rel="stylesheet" href="css/largeScreenStyle.css?v=20240415"> <link rel="stylesheet" href="css/largeScreenStyle.css?v=20240415">
<link rel="stylesheet" href="css/new.css?v=2023101401"> <link rel="stylesheet" href="css/new.css?v=2024052501">
<link rel="stylesheet" href="css/sichuanTibet.css?v=2024103201"> <link rel="stylesheet" href="css/sichuanTibet.css?v=2024103201">

View File

@ -48,9 +48,9 @@ const getMonitAndWarning=(deptId,projectId=0)=>{
} }
const listSspProblemmodify=data=>{ const listSspProblemmodify=(data,pageSize,pageNum)=>{
return request({ return request({
url: `bgscreen/problemmodify/listSspProblemmodify`, url: `bgscreen/problemmodify/listSspProblemmodify?pageNum=${pageNum}&pageSize=${pageSize}`,
method: 'post', method: 'post',
data:data data:data
}) })

View File

@ -42,8 +42,8 @@
<div :class="nav == 5 ? 'head-nav active' : 'head-nav'" @click="doNav(5)">({{ count['5'] }})</div> <div :class="nav == 5 ? 'head-nav active' : 'head-nav'" @click="doNav(5)">({{ count['5'] }})</div>
</div> </div>
<div class="data-list scroll" style="max-height:712px;overflow-y: auto;margin:12px 0px;overflow-x: hidden;" <div class="data-list scroll" style="max-height:690px;overflow-y: auto;margin:12px 0px;overflow-x: hidden;"
v-if="dataTable.length > 0"> v-if="dataTable.length > 0" :key="elKey">
<div v-for="(it, idx) in dataTable" :key="idx" class="data-item" :class="it.timeout ? 'time-out' : ''"> <div v-for="(it, idx) in dataTable" :key="idx" class="data-item" :class="it.timeout ? 'time-out' : ''">
<div class="item-left"> <div class="item-left">
<el-image ref="preview" style="width: 400px; " :preview-src-list="[it.marksPicture]" <el-image ref="preview" style="width: 400px; " :preview-src-list="[it.marksPicture]"
@ -117,7 +117,10 @@
</div> </div>
</div> </div>
</div> </div>
<div v-else style="text-align: center;margin-top: 200px;"> <el-pagination v-if="dataTable.length > 0" layout="total,prev, pager, next" :hide-on-single-page="false"
@current-change="handleCurrentChange" :total="total" :page-size="size" :current-page.sync="index"
class="bg-pagination"></el-pagination>
<div v-if="dataTable.length == 0" style="text-align: center;margin-top: 200px;">
<img src="images/nodata.png" style="width: 240px;"> <img src="images/nodata.png" style="width: 240px;">
<div style="text-align: center;">暂无数据</div> <div style="text-align: center;">暂无数据</div>
</div> </div>
@ -153,7 +156,10 @@ export default {
dataTable: [], dataTable: [],
dicts: [], dicts: [],
checkStateDicts: [], checkStateDicts: [],
selDate: [] selDate: [],
size: 10,
index: 1,
total: 0,
}; };
}, },
@ -169,20 +175,28 @@ export default {
let tmps = this.checkStateDicts.filter(d => d.dictValue == v); let tmps = this.checkStateDicts.filter(d => d.dictValue == v);
return tmps.length > 0 ? tmps[0].dictLabel : ''; return tmps.length > 0 ? tmps[0].dictLabel : '';
}, },
handleCurrentChange(n) {
this.index = n;
this.getData();
},
doNav(n, init) { doNav(n, init) {
if (n == this.nav && !init) { if (n == this.nav && !init) {
return; return;
} }
this.nav = n; this.nav = n;
this.index=1;
this.getData();
},
getData(){
let postData = { let postData = {
projectId: this.row.projectId, projectId: this.row.projectId,
infoType: this.infoType, infoType: this.infoType,
roleType: this.roleType roleType: this.roleType
}; };
if (n == 5) { if (this.nav == 5) {
postData.activeName = 'zgcs' postData.activeName = 'zgcs'
} else { } else {
postData.checkState = n postData.checkState = this.nav
} }
if (this.selDate.length > 0) { if (this.selDate.length > 0) {
postData.startDate = this.$dt(this.selDate[0]).format("YYYY-MM-DD"); postData.startDate = this.$dt(this.selDate[0]).format("YYYY-MM-DD");
@ -191,9 +205,10 @@ export default {
postData.endDate = this.$dt(this.selDate[1]).format("YYYY-MM-DD"); postData.endDate = this.$dt(this.selDate[1]).format("YYYY-MM-DD");
} }
this.loading=true; this.loading=true;
this.$api.problemmodify.listSspProblemmodify(postData).then(d => { this.$api.problemmodify.listSspProblemmodify(postData,this.size,this.index).then(d => {
this.loading=false; this.loading=false;
this.dataTable = (d.data || []).map(it => { this.total=d.total;
this.dataTable = (d.rows || []).map(it => {
if (it.updateTime) { if (it.updateTime) {
let dt1 = +this.$dt(this.$dt(it.nickedTime).format("YYYY-MM-DD")); let dt1 = +this.$dt(this.$dt(it.nickedTime).format("YYYY-MM-DD"));
let dt2 = +this.$dt(this.$dt(it.updateTime).format("YYYY-MM-DD")); let dt2 = +this.$dt(this.$dt(it.updateTime).format("YYYY-MM-DD"));

View File

@ -0,0 +1,351 @@
<template>
<div class="problemmodify-list">
<div class="head-title-tab">
<div :class="nav == 0 ? 'head-nav active' : 'head-nav'" @click="doNav(0)">({{ count['0'] }})</div>
<div :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="doNav(1)">({{ count['1'] }})</div>
<div :class="nav == 3 ? 'head-nav active' : 'head-nav'" @click="doNav(3)">({{ count['3'] }})</div>
<div :class="nav == 4 ? 'head-nav active' : 'head-nav'" @click="doNav(4)">({{ count['4'] }})</div>
<div :class="nav == 5 ? 'head-nav active' : 'head-nav'" @click="doNav(5)">({{ count['5'] }})</div>
</div>
<div class="data-list scroll" style="max-height:530px;overflow-y: auto;margin:12px 0px;overflow-x: hidden;"
v-if="dataTable.length > 0" :key="elKey">
<div v-for="(it, idx) in dataTable" :key="idx" class="data-item" :class="it.timeout ? 'time-out' : ''">
<div class="item-left">
<el-image ref="preview" style="width: 400px; " :preview-src-list="[it.marksPicture]"
:src="it.marksPicture + '.1000.jpg'">
</el-image>
</div>
<div class="item-right">
<div v-if="it.timeout && it.checkState != 4" class="text-timeout"></div>
<div class="text-state" :class="'state' + it.checkState">{{ getCheckState(it.checkState) }}</div>
<el-row>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">总包单位:</span>
<div class="div-text">{{ it.deptName }}</div>
</el-col>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">隐患类型:</span>
<div class="div-text">{{ getDangerType(it.dangerType) }}</div>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">隐患整改人:</span>
<div class="div-text">{{ it.lordSent }}</div>
</el-col>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">复检人:</span>
<div class="div-text">{{ it.recheckSend }}</div>
</el-col>
</el-row>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">抄送人:</span>
<div class="div-text">{{ it.copySend }}</div>
</el-col>
<template v-if="it.checkState == 4">
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">提交用户:</span>
<div class="div-text">{{ it.createBy }}</div>
</el-col>
<el-col :span="8" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">提交时间:</span>
<div class="div-text">{{ it.createTime | formatDate('YYYY-MM-DD') }}</div>
</el-col>
<el-col :span="8" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">截止时间:</span>
<div class="div-text">{{ it.nickedTime | formatDate('YYYY-MM-DD') }}</div>
</el-col>
<el-col :span="8" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">完成时间:</span>
<div class="div-text">{{ it.updateTime | formatDate('YYYY-MM-DD') }}</div>
</el-col>
</template>
<template v-else>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">提交用户:</span>
<div class="div-text">{{ it.createBy }}</div>
</el-col>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">提交时间:</span>
<div class="div-text">{{ it.createTime | formatDate('YYYY-MM-DD') }}</div>
</el-col>
<el-col :span="12" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">截止时间:</span>
<div class="div-text">{{ it.nickedTime | formatDate('YYYY-MM-DD') }}</div>
</el-col>
</template>
<el-col :span="24" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">隐患描述:</span>
<div class="div-text">{{ it.workParts }}
</div>
</el-col>
<el-col :span="24" class="item-data">
<img src="images/title_icon.png"><span class="sp-lbl sp-lbl2">整改要求:</span>
<div class="div-text">{{ it.changeInfo }}</div>
</el-col>
</div>
</div>
</div>
<el-pagination v-if="dataTable.length > 0" layout="total,prev, pager, next" :hide-on-single-page="false"
@current-change="handleCurrentChange" :total="total" :page-size="size" :current-page.sync="index"
class="bg-pagination"></el-pagination>
<div v-if="dataTable.length == 0" style="text-align: center;margin-top: 200px;">
<img src="images/nodata.png" style="width: 240px;">
<div style="text-align: center;">暂无数据</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
projectId: 0,
nav: 0,
infoType: 0,
roleType: 0,
count: {
"0": 0,
"1": 0,
"3": 0,
"4": 0,
"5": 0
},
dataTable: [],
dicts: [],
checkStateDicts: [],
selDate: [],
size: 10,
index: 1,
total: 0,
};
},
mounted() {
},
methods: {
getDangerType(v) {
let tmps = this.dicts.filter(d => d.dictValue == v);
return tmps.length > 0 ? tmps[0].dictLabel : '';
},
getCheckState(v) {
let tmps = this.checkStateDicts.filter(d => d.dictValue == v);
return tmps.length > 0 ? tmps[0].dictLabel : '';
},
handleCurrentChange(n) {
this.index = n;
this.getData();
},
doNav(n, init) {
if (n == this.nav && !init) {
return;
}
this.nav = n;
this.index=1;
this.getData()
},
getData(){
let postData = {
projectId: this.projectId,
infoType: this.infoType,
roleType: this.roleType
};
if (this.nav == 5) {
postData.activeName = 'zgcs'
} else {
postData.checkState = this.nav
}
if (this.selDate.length > 0) {
postData.startDate = this.$dt(this.selDate[0]).format("YYYY-MM-DD");
}
if (this.selDate.length > 1) {
postData.endDate = this.$dt(this.selDate[1]).format("YYYY-MM-DD");
}
this.loading = true;
this.$api.problemmodify.listSspProblemmodify(postData,this.size,this.index).then(d => {
this.loading = false;
this.total=d.total;
this.dataTable = (d.rows || []).map(it => {
if (it.updateTime) {
let dt1 = +this.$dt(this.$dt(it.nickedTime).format("YYYY-MM-DD"));
let dt2 = +this.$dt(this.$dt(it.updateTime).format("YYYY-MM-DD"));
if (dt1 < dt2) {
it.timeout = true;
} else {
it.timeout = false;
}
} else if (it.nickedTime) {
let dt1 = +this.$dt(this.$dt(it.nickedTime).format("YYYY-MM-DD"));
let dt2 = +this.$dt(this.$dt(new Date()).format("YYYY-MM-DD"));
if (dt1 < dt2) {
it.timeout = true;
} else {
it.timeout = false;
}
} else {
it.timeout = false;
}
return it;
});
this.elKey++;
})
},
loadData(infoType, roleType, selDate) {
this.selDate = selDate;
this.infoType = infoType;
this.roleType = roleType;
if (infoType == 0) {
this.$api.dict('ssp_aqyhlx').then(d => {
this.dicts = d || [];
})
} else {
this.$api.dict('ssp_zlyhlx').then(d => {
this.dicts = d || [];
})
}
this.$api.dict('smz_ssp_checkstate').then(d => {
this.checkStateDicts = d || [];
});
this.projectId = this.$root.project.id;
if (this.projectId == 0 && this.$root.projects.length > 1) {
this.projectId = this.$root.projects[1].id;
}
if (this.projectId > 0) {
this.doNav(0, true);
let postData = {
projectId: this.projectId,
infoType: this.infoType,
roleType: this.roleType
};
if (this.selDate.length > 0) {
postData.startDate = this.$dt(this.selDate[0]).format("YYYY-MM-DD");
}
if (this.selDate.length > 1) {
postData.endDate = this.$dt(this.selDate[1]).format("YYYY-MM-DD");
}
this.$api.problemmodify.groupByInfotypeCheckState(postData).then(d => {
for (let i = 0; i <= 5; i++) {
this.count["" + i] = 0;
}
let tmps = (d.data || []).filter(it => it.infoType == this.infoType);
tmps.forEach(it => {
this.count["" + it.checkState] = it.id;
})
})
}
}
},
};
</script>
<style lang="less">
.problemmodify-list {
padding: 0 10px;
.head-title-tab {
padding-top: 12px;
display: block;
width: 100%;
.head-nav {
background-size: 100% 100%;
display: inline-block;
width: auto;
padding: 0px 24px;
}
}
.data-list {
.data-item {
border-bottom: solid 1px #fff;
box-shadow: inset 7px 0px 11px 5px rgb(36 131 167 / 70%);
display: flex;
padding-left: 8px;
&.time-out {
box-shadow: inset 7px 0px 11px 5px rgb(167, 36, 36);
.text-state {
color: rgba(167, 36, 36, 0.6) !important;
}
}
.item-left {
display: inline-flex;
width: 300px;
min-height: 220px;
align-items: center;
}
.text-state {
font-size: 32px;
position: absolute;
color: rgba(200, 200, 200, 0.2);
transform: rotate(45deg);
top: 60px;
left: calc(50% - 100px);
&.state4 {
color: rgba(5, 248, 5, 0.5);
}
}
.item-right {
display: inline-block;
margin-left: 10px;
width: calc(100% - 314px);
position: relative;
.sp-lbl {
display: inline-block;
color: aquamarine;
}
.text-timeout {
position: absolute;
right: -4px;
font-size: 24px;
color: #fff;
display: block;
padding: 20px;
background: linear-gradient(-135deg, red, red 50%, transparent 50%, transparent 100%);
height: 50px;
width: 50px;
&::after {
content: "超时";
transform: rotate(45deg);
display: block;
position: absolute;
left: 42px;
top: 15px;
}
}
.item-data {
display: flex;
align-items: center;
border-bottom: solid 1px rgba(255, 255, 255, 0.1);
line-height: 36px;
.div-text {
display: inline-block;
width: calc(100% - 100px);
vertical-align: top;
line-height: 24px;
white-space: break-spaces;
word-break: break-word;
}
}
}
}
}
}
</style>

View File

@ -33,12 +33,12 @@
<project-overview-chart2 :key="'b' + safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)" <project-overview-chart2 :key="'b' + safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)"
:typedata="summary" :text="safeText" :height="230"></project-overview-chart2> :typedata="summary" :text="safeText" :height="230"></project-overview-chart2>
</div> </div>
<div style="padding: 0px 20px" :key="'c' + elSummaryPrjKey"> <div class="proble-list" v-if="isTypeBuser()">
<div class="my-module-title module-title" style="" >质量隐患明细</div>
<ProblemmodifyList ref="probList"></ProblemmodifyList>
</div>
<div v-else style="padding: 0px 20px" :key="'c' + elSummaryPrjKey">
<el-row> <el-row>
<el-col :span="12" v-if="1 == 2">
<div class="rank-chart-title bottom-line">质量隐患类型分析</div>
<rank-chart :data="summary" :showval="true" :height="600"></rank-chart>
</el-col>
<el-col :span="24"> <el-col :span="24">
<div class="rank-chart-title bottom-line"> <div class="rank-chart-title bottom-line">
<span style="position: relative; top: -4px">项目质量隐患占比({{ summaryPrjTotal }})</span> <span style="position: relative; top: -4px">项目质量隐患占比({{ summaryPrjTotal }})</span>
@ -48,22 +48,15 @@
@row-click="doProbleRowClick" :row-style="rowStyle" class="elTable"> @row-click="doProbleRowClick" :row-style="rowStyle" class="elTable">
<el-table-column type="index" width="40"> <el-table-column type="index" width="40">
<template slot-scope="scope"> <template slot-scope="scope">
<div :class="scope.$index < 3 && +scope.row.value > 0 <div :class="scope.$index < 3 && +scope.row.value > 0? 'idle-list-color': ''">
? 'idle-list-color'
: ''
">
{{ scope.$index + 1 }} {{ scope.$index + 1 }}
</div> </div>
</template></el-table-column> </template></el-table-column>
<el-table-column prop="projectName" label="项目名称" width="120" class-name="text-left" <el-table-column prop="projectName" label="项目名称" width="120" class-name="text-left" :show-overflow-tooltip="true">
:show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="prop" label="占比"> <el-table-column prop="prop" label="占比">
<template slot-scope="scope"> <template slot-scope="scope">
<idle-list-chart :prop="Number(scope.row.prop)" :color="scope.$index < 3 && +scope.row.id > 0 <idle-list-chart :prop="Number(scope.row.prop)" :color="scope.$index < 3 && +scope.row.id > 0? '#f05e35': '#6ab9fe'"></idle-list-chart>
? '#f05e35'
: '#6ab9fe'
"></idle-list-chart>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="id" label="隐患数" width="70" align="center"> <el-table-column prop="id" label="隐患数" width="70" align="center">
@ -104,14 +97,8 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-blue"> <div class="czz-number-img czz-number-img-blue">
<svg class="my-svg-icon-blue" style=" <svg class="my-svg-icon-blue" style="vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3054">
vertical-align: middle; <path d="M530.46 269c4.64 0 9.05 2.01 12.09 5.52l109.54 126.3A16.01 16.01 0 0 1 656 411.3V893c0 8.82-7.18 16-16 16H178c-8.82 0-16-7.18-16-16V285c0-8.82 7.18-16 16-16h352.46m0-64H178c-44.18 0-80 35.82-80 80v608c0 44.18 35.82 80 80 80h462c44.18 0 80-35.82 80-80V411.3c0-19.26-6.95-37.87-19.56-52.42L590.9 232.58A80.014 80.014 0 0 0 530.46 205zM819.29 864h-45.92c-17.67 0-32-14.33-32-32s14.33-32 32-32h45.92c25.21 0 45.71-19.94 45.71-44.46V295.17c0-10.61-3.91-20.88-11.01-28.94L747.58 145.52c-8.7-9.87-21.35-15.52-34.7-15.52H370.49c-17.67 0-32-14.33-32-32s14.33-32 32-32h342.38c31.72 0 61.87 13.56 82.71 37.2L902 223.91c17.41 19.75 27 45.06 27 71.26v460.37C929 815.35 879.78 864 819.29 864zM702 468H552.09c-41.96 0-76.09-31.47-76.09-70.15V240.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H702v64zM898 326H748.09c-41.96 0-76.09-31.47-76.09-70.15V98.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H898v64zM535.13 784.5H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 638.75H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 493H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32z"></path>
fill: currentColor;
overflow: hidden;
" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3054">
<path
d="M530.46 269c4.64 0 9.05 2.01 12.09 5.52l109.54 126.3A16.01 16.01 0 0 1 656 411.3V893c0 8.82-7.18 16-16 16H178c-8.82 0-16-7.18-16-16V285c0-8.82 7.18-16 16-16h352.46m0-64H178c-44.18 0-80 35.82-80 80v608c0 44.18 35.82 80 80 80h462c44.18 0 80-35.82 80-80V411.3c0-19.26-6.95-37.87-19.56-52.42L590.9 232.58A80.014 80.014 0 0 0 530.46 205zM819.29 864h-45.92c-17.67 0-32-14.33-32-32s14.33-32 32-32h45.92c25.21 0 45.71-19.94 45.71-44.46V295.17c0-10.61-3.91-20.88-11.01-28.94L747.58 145.52c-8.7-9.87-21.35-15.52-34.7-15.52H370.49c-17.67 0-32-14.33-32-32s14.33-32 32-32h342.38c31.72 0 61.87 13.56 82.71 37.2L902 223.91c17.41 19.75 27 45.06 27 71.26v460.37C929 815.35 879.78 864 819.29 864zM702 468H552.09c-41.96 0-76.09-31.47-76.09-70.15V240.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H702v64zM898 326H748.09c-41.96 0-76.09-31.47-76.09-70.15V98.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H898v64zM535.13 784.5H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 638.75H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 493H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32z"
p-id="3055"></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
@ -125,14 +112,8 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-green"> <div class="czz-number-img czz-number-img-green">
<svg class="my-svg-icon-green" style=" <svg class="my-svg-icon-green" style="vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7849">
vertical-align: middle; <path d="M896 64H128c-35.296 0-64 28.704-64 64v768c0 35.296 28.704 64 64 64h592a32 32 0 1 0 0-64H128V128h768v592a32 32 0 1 0 64 0V128c0-35.296-28.704-64-64-64zM791.744 746.496A206.752 206.752 0 0 0 832 624c0-114.688-93.312-208-208-208S416 509.312 416 624s93.312 208 208 208a206.752 206.752 0 0 0 122.496-40.256l110.88 110.88a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-110.88-110.88zM480 624c0-79.392 64.608-144 144-144s144 64.608 144 144-64.608 144-144 144-144-64.608-144-144zM800 264a32 32 0 0 0-32-32H256a32 32 0 0 0 0 64h512a32 32 0 0 0 32-32zM256 422.656a32 32 0 0 0 0 64h96a32 32 0 0 0 0-64H256z" p-id="7850"></path>
fill: currentColor;
overflow: hidden;
" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7849">
<path
d="M896 64H128c-35.296 0-64 28.704-64 64v768c0 35.296 28.704 64 64 64h592a32 32 0 1 0 0-64H128V128h768v592a32 32 0 1 0 64 0V128c0-35.296-28.704-64-64-64zM791.744 746.496A206.752 206.752 0 0 0 832 624c0-114.688-93.312-208-208-208S416 509.312 416 624s93.312 208 208 208a206.752 206.752 0 0 0 122.496-40.256l110.88 110.88a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-110.88-110.88zM480 624c0-79.392 64.608-144 144-144s144 64.608 144 144-64.608 144-144 144-144-64.608-144-144zM800 264a32 32 0 0 0-32-32H256a32 32 0 0 0 0 64h512a32 32 0 0 0 32-32zM256 422.656a32 32 0 0 0 0 64h96a32 32 0 0 0 0-64H256z"
p-id="7850"></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
@ -146,14 +127,8 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-blue"> <div class="czz-number-img czz-number-img-blue">
<svg class="my-svg-icon-blue" style=" <svg class="my-svg-icon-blue" style="vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10575">
vertical-align: middle; <path d="M634.593683 354.898336h-189.279113c39.748614-30.284658 71.926063-58.676525 96.532347-87.068391 26.499076 32.177449 58.676525 60.569316 92.746766 87.068391z m30.284658 177.922366h-246.062847v81.390019H662.985549v-81.390019zM984.760041 190.225508v202.528651c0 183.600739-81.390018 355.844732-225.242144 471.304991l-187.386322 151.42329c-5.678373 5.678373-15.142329 7.571165-22.713493 7.571164s-17.03512-1.892791-24.606285-7.571164l-187.386322-151.42329C195.466141 748.598891 114.076122 576.354898 114.076122 392.754159V190.225508c0-15.142329 9.463956-30.284658 24.606285-35.963031l397.486137-151.42329c9.463956-3.785582 18.927911-3.785582 26.499076 0l397.486136 151.42329c15.142329 5.678373 24.606285 20.820702 24.606285 35.963031zM734.911612 464.680222H348.782222v240.384473h70.033272v-24.606285H662.985549v24.606285h70.033272V464.680222z m64.354899-98.425139c-92.746765-39.748614-162.780037-88.961183-210.099816-149.530499l18.927912-22.713493h-98.425139c-41.641405 62.462107-117.35305 121.138632-225.242144 177.922366 17.03512 18.927911 32.177449 39.748614 45.426987 60.569316 22.713494-13.249538 45.426987-26.499076 64.354898-39.748614v30.284658h293.382625v-28.391867c20.820702 13.249538 41.641405 24.606285 62.462107 34.07024 15.142329-18.927911 30.284658-39.748614 49.21257-62.462107z" fill="" p-id="10576"></path>
fill: currentColor;
overflow: hidden;
" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10575">
<path
d="M634.593683 354.898336h-189.279113c39.748614-30.284658 71.926063-58.676525 96.532347-87.068391 26.499076 32.177449 58.676525 60.569316 92.746766 87.068391z m30.284658 177.922366h-246.062847v81.390019H662.985549v-81.390019zM984.760041 190.225508v202.528651c0 183.600739-81.390018 355.844732-225.242144 471.304991l-187.386322 151.42329c-5.678373 5.678373-15.142329 7.571165-22.713493 7.571164s-17.03512-1.892791-24.606285-7.571164l-187.386322-151.42329C195.466141 748.598891 114.076122 576.354898 114.076122 392.754159V190.225508c0-15.142329 9.463956-30.284658 24.606285-35.963031l397.486137-151.42329c9.463956-3.785582 18.927911-3.785582 26.499076 0l397.486136 151.42329c15.142329 5.678373 24.606285 20.820702 24.606285 35.963031zM734.911612 464.680222H348.782222v240.384473h70.033272v-24.606285H662.985549v24.606285h70.033272V464.680222z m64.354899-98.425139c-92.746765-39.748614-162.780037-88.961183-210.099816-149.530499l18.927912-22.713493h-98.425139c-41.641405 62.462107-117.35305 121.138632-225.242144 177.922366 17.03512 18.927911 32.177449 39.748614 45.426987 60.569316 22.713494-13.249538 45.426987-26.499076 64.354898-39.748614v30.284658h293.382625v-28.391867c20.820702 13.249538 41.641405 24.606285 62.462107 34.07024 15.142329-18.927911 30.284658-39.748614 49.21257-62.462107z"
fill="" p-id="10576"></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
@ -167,17 +142,9 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-green"> <div class="czz-number-img czz-number-img-green">
<svg class="my-svg-icon-green" style=" <svg class="my-svg-icon-green" style="vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8279">
vertical-align: middle; <path d="M855.13728 187.4176c-105.97376 0-209.34656-36.9152-291.08736-103.936l-40.9344-33.56672-40.94976 33.56672c-81.77152 67.01568-185.15456 103.936-291.09248 103.936H126.49984V622.83264l4.95104 11.90912c67.33824 161.82784 206.54592 289.3824 372.38272 341.2224l19.08224 5.96992 19.11808-5.86752c170.07616-52.16768 305.99168-176.79872 372.92032-341.89824l4.62848-11.43808 0.08704-12.34944 0.03072-3.27168V187.4176h-64.5632z m0 419.22048l-0.03072 3.26144c-58.8544 145.21856-180.87424 258.06848-332.00128 304.44032-148.33664-46.39232-272.86528-162.24256-332.032-304.4096V252.0064c125.99296 0 241.62304-44.46208 332.032-118.56896C613.50912 207.5648 729.088 252.0064 855.13728 252.0064v354.63168z" fill="" p-id="8280"></path>
fill: currentColor; <path d="M400.47616 304.95232c57.68192 2.5856 87.78752 39.74656 90.368 111.5136-2.58048 70.50752-33.97632 107.0336-94.21312 109.5936-55.12192-3.85024-84.59264-40.37632-88.43776-109.5936 2.55488-71.76704 33.31584-108.928 92.28288-111.5136z m-1.92 174.96064c26.91584-1.25952 41.0112-23.07072 42.30144-65.37216-1.29024-42.29632-14.7456-64.08192-40.37632-65.37216-28.20608 0-42.29632 22.44096-42.29632 67.29216 1.25952 39.75168 14.72 60.89728 40.3712 63.45216z m207.64672-174.96064h51.91168l-219.18208 417.21856H387.0208l219.18208-417.21856z m40.37632 199.95648c57.68192 2.5856 87.78752 40.37632 90.36288 113.4336-2.58048 66.6624-33.97632 101.23776-94.208 103.82336-56.41728-3.84512-85.88288-38.45632-88.44288-103.82336 2.56-71.77216 33.32096-109.58848 92.288-113.4336z m-1.92512 176.88576c25.63072-1.25952 39.0912-23.71072 40.38144-67.29728-1.29024-41.0112-14.12096-62.16192-38.45632-63.45216-26.91584 0-41.0368 21.81632-42.30144 65.37728 1.26976 41.0368 14.72512 62.81216 40.37632 65.37216z" fill="" p-id="8281"></path>
overflow: hidden;
" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8279">
<path
d="M855.13728 187.4176c-105.97376 0-209.34656-36.9152-291.08736-103.936l-40.9344-33.56672-40.94976 33.56672c-81.77152 67.01568-185.15456 103.936-291.09248 103.936H126.49984V622.83264l4.95104 11.90912c67.33824 161.82784 206.54592 289.3824 372.38272 341.2224l19.08224 5.96992 19.11808-5.86752c170.07616-52.16768 305.99168-176.79872 372.92032-341.89824l4.62848-11.43808 0.08704-12.34944 0.03072-3.27168V187.4176h-64.5632z m0 419.22048l-0.03072 3.26144c-58.8544 145.21856-180.87424 258.06848-332.00128 304.44032-148.33664-46.39232-272.86528-162.24256-332.032-304.4096V252.0064c125.99296 0 241.62304-44.46208 332.032-118.56896C613.50912 207.5648 729.088 252.0064 855.13728 252.0064v354.63168z"
fill="" p-id="8280"></path>
<path
d="M400.47616 304.95232c57.68192 2.5856 87.78752 39.74656 90.368 111.5136-2.58048 70.50752-33.97632 107.0336-94.21312 109.5936-55.12192-3.85024-84.59264-40.37632-88.43776-109.5936 2.55488-71.76704 33.31584-108.928 92.28288-111.5136z m-1.92 174.96064c26.91584-1.25952 41.0112-23.07072 42.30144-65.37216-1.29024-42.29632-14.7456-64.08192-40.37632-65.37216-28.20608 0-42.29632 22.44096-42.29632 67.29216 1.25952 39.75168 14.72 60.89728 40.3712 63.45216z m207.64672-174.96064h51.91168l-219.18208 417.21856H387.0208l219.18208-417.21856z m40.37632 199.95648c57.68192 2.5856 87.78752 40.37632 90.36288 113.4336-2.58048 66.6624-33.97632 101.23776-94.208 103.82336-56.41728-3.84512-85.88288-38.45632-88.44288-103.82336 2.56-71.77216 33.32096-109.58848 92.288-113.4336z m-1.92512 176.88576c25.63072-1.25952 39.0912-23.71072 40.38144-67.29728-1.29024-41.0112-14.12096-62.16192-38.45632-63.45216-26.91584 0-41.0368 21.81632-42.30144 65.37728 1.26976 41.0368 14.72512 62.81216 40.37632 65.37216z"
fill="" p-id="8281"></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
@ -215,44 +182,6 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<projectChecking></projectChecking> <projectChecking></projectChecking>
<!--
<div class="nav-info" style="padding:20px 20px 10px">
<span>
<span class="nav-label">首次验收:</span>
<span class="nav-num">{{acceptanceDataView.sum}}</span>
<span class="nav-unit"></span>
</span>
<span style="display: inline-block;margin-left: 100px;">
<span class="nav-label">合格率:</span>
<span class="nav-num">{{acceptanceDataView.okSum}}</span>
<span class="nav-unit">%</span>
</span>
</div>
<div class="acceptance-item" v-for="(it,idx) in acceptanceData" :key="idx" style="cursor: pointer;">
<div class="row-1">
<div class="div-img">
<el-image :src="getProfileImage(it.mainImage)" :preview-src-list="getBigProfileImage(it)"/></div>
<div class="div-text" style="width: 65%;" @click="doShowChecking(it)">
<div class="row-3">
<div v-if="it.checkResult=='1'" class="sp-lbl"></div>
<div v-if="it.checkResult=='2'" class="sp-err"></div>
<div class="sp-date">{{it.checkingDate}}</div>
</div>
<div class="row-3">
<span class="sp-label">项目:</span>
<span class="sp-text">{{it.projectName}}</span>
</div>
<div class="row-3">
<span class="sp-label">区域:</span>
<span class="sp-text">{{it.checkWorkingPosition}}</span>
</div>
</div>
</div>
<div class="row-5" @click="doShowChecking(it)">
验收描述:{{it.intro}}
</div>
</div>-->
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -279,6 +208,7 @@ import materialSealChart from "./quality/materialSealChart.vue";
import materialSealListDlg from "./quality/materialSealListDlg.vue"; import materialSealListDlg from "./quality/materialSealListDlg.vue";
import projectChecking from "./quality/projectChecking.vue"; import projectChecking from "./quality/projectChecking.vue";
import debounce from "lodash.debounce"; import debounce from "lodash.debounce";
import ProblemmodifyList from './components/ProblemmodifyList.vue'
export default { export default {
components: { components: {
materialSealListDlg, materialSealListDlg,
@ -288,7 +218,7 @@ export default {
materialSealDetialDlg, materialSealDetialDlg,
checkDetectionDlg, checkDetectionDlg,
measuredDlg, measuredDlg,
projectChecking, projectChecking,ProblemmodifyList
}, },
data() { data() {
return { return {
@ -438,7 +368,7 @@ export default {
"projectChange", "projectChange",
debounce((res) => { debounce((res) => {
this.projectInfo = res; this.projectInfo = res;
this.doDeptChane(); this.dtChange();
this.checkDetection(0); this.checkDetection(0);
this.doMeasuredNav(0, "汇总"); this.doMeasuredNav(0, "汇总");
this.groupByApprove(); this.groupByApprove();
@ -448,7 +378,7 @@ export default {
"deptChange", "deptChange",
debounce((dept) => { debounce((dept) => {
this.dept = dept; this.dept = dept;
this.doDeptChane(); this.dtChange();
this.checkDetection(0); this.checkDetection(0);
this.doMeasuredNav(0, "汇总"); this.doMeasuredNav(0, "汇总");
this.groupByApprove(); this.groupByApprove();
@ -457,8 +387,14 @@ export default {
if (this.$root.hasInitHeader) { if (this.$root.hasInitHeader) {
this.initMe(); this.initMe();
} }
setTimeout(()=>{
this.dtChange();
},400);
}, },
methods: { methods: {
isTypeBuser(){
return this.$root.isTypeBuser;
},
showMaterialSealDlg() { showMaterialSealDlg() {
this.$refs.msListDlg.showDialog({ this.$refs.msListDlg.showDialog({
deptId: this.dept?.id || 0, deptId: this.dept?.id || 0,
@ -470,7 +406,6 @@ export default {
this.projectInfo = this.$root.project || {}; this.projectInfo = this.$root.project || {};
this.dept = this.$root.dept || {}; this.dept = this.$root.dept || {};
this.prjs = this.$root.projects || []; this.prjs = this.$root.projects || [];
this.doDeptChane();
this.checkDetection(0); this.checkDetection(0);
this.doMeasuredNav(0, "汇总"); this.doMeasuredNav(0, "汇总");
this.groupByApprove(); this.groupByApprove();
@ -558,6 +493,9 @@ export default {
return " ".substring(0, 3 - n.length) + n; return " ".substring(0, 3 - n.length) + n;
}, },
dtChange() { dtChange() {
if(this.isTypeBuser() && this.$refs.probList){
this.$refs.probList.loadData(1, this.safeNav, this.selDate);
}
this.doDeptChane(); this.doDeptChane();
}, },
doDeptChane() { doDeptChane() {
@ -666,7 +604,7 @@ export default {
doSafeNav(n, t) { doSafeNav(n, t) {
this.safeNav = n; this.safeNav = n;
this.safeText = t; this.safeText = t;
this.doDeptChane(); this.dtChange();
}, },
// //
doProjectChecking() { doProjectChecking() {

View File

@ -22,12 +22,13 @@
<project-overview-chart2 :key="'b' + safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)" <project-overview-chart2 :key="'b' + safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)"
:typedata="summary" :text="safeText" :height="230"></project-overview-chart2> :typedata="summary" :text="safeText" :height="230"></project-overview-chart2>
</div> </div>
<div style="padding:0px 20px" :key="'c' + elSummaryPrjKey"> <div class="proble-list" v-if="isTypeBuser()">
<div class="my-module-title module-title" style="" >安全隐患明细</div>
<ProblemmodifyList ref="probList"></ProblemmodifyList>
</div>
<div v-else style="padding:0px 20px" :key="'c' + elSummaryPrjKey">
<el-row> <el-row>
<el-col :span="12" v-if="1 == 2">
<div class="rank-chart-title bottom-line">安全隐患类型分析</div>
<rank-chart :data="summary" :showval="true" :height="600"></rank-chart>
</el-col>
<el-col :span="24"> <el-col :span="24">
<div class="rank-chart-title bottom-line"> <div class="rank-chart-title bottom-line">
<span style="position: relative;top: -4px;">项目安全隐患占比({{ summaryPrjTotal <span style="position: relative;top: -4px;">项目安全隐患占比({{ summaryPrjTotal
@ -81,74 +82,12 @@
style="position: absolute;cursor: pointer;right: 20px;top: 13px;z-index: 9;" v-if="projects.length>1" style="position: absolute;cursor: pointer;right: 20px;top: 13px;z-index: 9;" v-if="projects.length>1"
@click="doShowWorkTrain(0)"> @click="doShowWorkTrain(0)">
<enginChart ref="chart3" :height="300"></enginChart> <enginChart ref="chart3" :height="300"></enginChart>
<!--
<div style="padding:10px" class="train-list scroll">
<div v-for="(it, index) in workTrainList" :key="index" class="transition-item"
@click="doShowDlgTrain(it, 0)">
<div class="bottom-line2" style="line-height: 24px;margin-top: 8px;">
<span
style="color:#59A0DC;display: inline-block;margin-right: 8px;">{{ '0' + (index + 1) }}</span>
<span style="font-weight: bold;color:#59A0DC;">{{ it.trainTitle }}</span>
<img src="images/check_icon.png" style="height:12px;position: absolute;right: 0px;">
</div>
<div style="display: flex;align-items: center;">
<div class="train-img-par">
<img :src="getProfileImage(it.mainImage)" class="train-img" />
</div>
<div style="line-height: 30px;color:#aaa;font-size: 12px;">
<div><span>参与人数</span><span
style="color:#436CE9">{{ it.trainParticipants }}</span><span> </span>
</div>
<div>
<span>培训时间:</span><span>{{ it.beginDate }}</span>
</div>
</div>
</div>
<div style="line-height: 24px;margin-top: 0px;color:#aaa;font-size: 12px;">
<span>协作队伍:</span><span>{{ it.trainDeptNames }}</span></div>
</div>
<div v-if="workTrainList.length == 0" style="text-align: center;margin-top: 35px;">
<img src="images/nodata.png" style="width: 240px;">
<div style="text-align: center;">暂无数据</div>
</div>
</div>-->
</module-one-1-1> </module-one-1-1>
<module-one-1-1 :label="'应急演练(' + WorkTrainCnt2 + ')'" style="position: relative;"> <module-one-1-1 :label="'应急演练(' + WorkTrainCnt2 + ')'" style="position: relative;">
<img src="images/icon2001.png" <img src="images/icon2001.png"
style="position: absolute;cursor: pointer;right: 20px;top: 13px;z-index: 9;" v-if="projects.length>1" style="position: absolute;cursor: pointer;right: 20px;top: 13px;z-index: 9;" v-if="projects.length>1"
@click="doShowWorkTrain(1)"> @click="doShowWorkTrain(1)">
<enginChart ref="chart4" :height="300"></enginChart> <enginChart ref="chart4" :height="300"></enginChart>
<!--
<div style="padding:10px" class="train-list scroll">
<div v-for="(it, index) in emergencyDrillList" :key="index" class="transition-item"
@click="doShowDlgTrain(it, 1)">
<div class="bottom-line2" style="line-height: 24px;margin-top: 8px;">
<span
style="color:#59A0DC;display: inline-block;margin-right: 8px;">{{ '0' + (index + 1) }}</span>
<span style="font-weight: bold;color:#59A0DC;">{{ it.trainTitle }}</span>
<img src="images/check_icon.png" style="height:12px;position: absolute;right: 0px;">
</div>
<div style="display: flex;align-items: center;">
<div class="train-img-par">
<img :src="getProfileImage(it.mainImage)" class="train-img" />
</div>
<div style="line-height: 30px;color:#aaa;font-size: 12px;">
<div><span>参与人数</span><span
style="color:#436CE9">{{ it.trainParticipants }}</span><span> </span>
</div>
<div>
<span>演练时间:</span><span>{{ it.beginDate }}</span>
</div>
</div>
</div>
<div style="line-height: 24px;margin-top: 0px;color:#aaa;font-size: 12px;">
<span>协作队伍:</span><span>{{ it.trainDeptNames }}</span></div>
</div>
<div v-if="emergencyDrillList.length == 0" style="text-align: center;margin-top: 35px;">
<img src="images/nodata.png" style="width: 240px;">
<div style="text-align: center;">暂无数据</div>
</div>
</div>-->
</module-one-1-1> </module-one-1-1>
<module-one-1-1 label="特种作业人员"> <module-one-1-1 label="特种作业人员">
<div class="quality-table special-table"> <div class="quality-table special-table">
@ -157,7 +96,6 @@
@row-click="doSpecialRowClick"> @row-click="doSpecialRowClick">
<el-table-column prop="projectName" label="项目名称" min-width="180"></el-table-column> <el-table-column prop="projectName" label="项目名称" min-width="180"></el-table-column>
<el-table-column prop="total" label="操作证数"> </el-table-column> <el-table-column prop="total" label="操作证数"> </el-table-column>
<!-- <el-table-column prop="expired" label="即将过期"> </el-table-column> -->
<el-table-column prop="void" label="已过期"> <el-table-column prop="void" label="已过期">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="color:#01A9FF">{{ scope.row.void }}</span> <span style="color:#01A9FF">{{ scope.row.void }}</span>
@ -273,8 +211,6 @@
高处作业</div> 高处作业</div>
<div :class="infoNav == 'dzzy' ? 'active' : ''" @click="onWarningInfoNav('dzzy', '吊装作业')"> <div :class="infoNav == 'dzzy' ? 'active' : ''" @click="onWarningInfoNav('dzzy', '吊装作业')">
吊装作业</div> 吊装作业</div>
<!-- <div :class="infoNav == 'ptzy' ? 'active' : ''" @click="onWarningInfoNav('ptzy', '破土作业')">破土作业</div>
<div :class="infoNav == 'dlzy' ? 'active' : ''" @click="onWarningInfoNav('dlzy', '断路作业')">断路作业</div> -->
</div> </div>
<div v-if="safetyWorkFlowList && safetyWorkFlowList.length > 0" <div v-if="safetyWorkFlowList && safetyWorkFlowList.length > 0"
class="quality-table special-table scroll" class="quality-table special-table scroll"
@ -387,12 +323,13 @@ import JobWorkerDialog from './components/JobWorkerDialog.vue'
import debounce from 'lodash.debounce' import debounce from 'lodash.debounce'
import enginChart from './engin/enginChart.vue' import enginChart from './engin/enginChart.vue'
import workTrainListDlg from './safe/workTrainListDlg.vue' import workTrainListDlg from './safe/workTrainListDlg.vue'
import ProblemmodifyList from './components/ProblemmodifyList.vue'
export default { export default {
components: { components: {
worktrainDlg, worktrainDlg,
projectSpecialDlg, projectSpecialDlg,
ProblemmodifyDetail, AttendanceDetailDialog, ProblemmodifyDetail, AttendanceDetailDialog,
projectInsuranceDlg, JobWorkerDialog, enginChart, workTrainListDlg projectInsuranceDlg, JobWorkerDialog, enginChart, workTrainListDlg,ProblemmodifyList
}, },
data() { data() {
return { return {
@ -488,7 +425,7 @@ export default {
this.selDate=[dt1,dt2]; this.selDate=[dt1,dt2];
this.$bus.$on("projectChange", debounce(res => { this.$bus.$on("projectChange", debounce(res => {
this.projectInfo = res; this.projectInfo = res;
this.doDeptChane(); this.dtChange();
this.getWorkTrainChart(); this.getWorkTrainChart();
//this.getWorkTrainList(); //this.getWorkTrainList();
//this.getEmergencyDrillList(); //this.getEmergencyDrillList();
@ -501,7 +438,7 @@ export default {
})) }))
this.$bus.$on("deptChange", debounce(dept => { this.$bus.$on("deptChange", debounce(dept => {
this.dept = dept; this.dept = dept;
this.doDeptChane(); this.dtChange();
//this.getWorkTrainList(); //this.getWorkTrainList();
//this.getEmergencyDrillList(); //this.getEmergencyDrillList();
this.getProjectSpecialView(); this.getProjectSpecialView();
@ -514,9 +451,14 @@ export default {
if (this.$root.hasInitHeader) { if (this.$root.hasInitHeader) {
this.initMe(); this.initMe();
} }
setTimeout(()=>{
this.dtChange();
},400);
}, },
methods: { methods: {
isTypeBuser(){
return this.$root.isTypeBuser;
},
doShowWorkTrain(type) { doShowWorkTrain(type) {
this.$refs.workTrainListDlg.showDialog({ this.$refs.workTrainListDlg.showDialog({
type: type, type: type,
@ -542,7 +484,6 @@ export default {
this.projectInfo = this.$root.project || {}; this.projectInfo = this.$root.project || {};
this.dept = this.$root.dept || {}; this.dept = this.$root.dept || {};
this.projects = this.$root.projects || []; this.projects = this.$root.projects || [];
this.doDeptChane();
this.getWorkTrainChart(); this.getWorkTrainChart();
//this.getWorkTrainList(); //this.getWorkTrainList();
//this.getEmergencyDrillList(); //this.getEmergencyDrillList();
@ -762,6 +703,9 @@ export default {
return " ".substring(0, 3 - n.length) + n; return " ".substring(0, 3 - n.length) + n;
}, },
dtChange() { dtChange() {
if(this.isTypeBuser() && this.$refs.probList){
this.$refs.probList.loadData(0, this.safeNav, this.selDate);
}
this.doDeptChane(); this.doDeptChane();
}, },
doDeptChane() { doDeptChane() {
@ -863,7 +807,7 @@ export default {
doSafeNav(n, t) { doSafeNav(n, t) {
this.safeNav = n; this.safeNav = n;
this.safeText = t; this.safeText = t;
this.doDeptChane(); this.dtChange();
}, },
init() { init() {