You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
5.3 KiB
184 lines
5.3 KiB
<template>
|
|
<div class="slider-right">
|
|
<!-- <div class="top-title">{{ $router.currentRoute.meta.title }}</div> -->
|
|
<TopBackTitle></TopBackTitle>
|
|
<div class="table-box">
|
|
<div class="form-row-title">缺陷信息</div>
|
|
<div class="defectInformation">
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">水闸名称:</div>
|
|
<div class="tc-text1">{{ form.wagaName }}</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">水闸巡查责任人:</div>
|
|
<div class="tc-text1">{{ form.createName }}</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">巡查类别:</div>
|
|
<div class="tc-text1">
|
|
{{getDictLabelName(form.category, "maintenanceCategory") }}
|
|
</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">水闸巡查开始/结束时间:</div>
|
|
<div class="tc-text1">{{ form.startDate }}/{{ form.endDate }}</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">巡查部位:</div>
|
|
<div class="tc-text1">{{ form.partsName }}</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">问题位置:</div>
|
|
<div class="tc-text1">{{ form.position }}</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">问题等级:</div>
|
|
<div class="tc-text1">
|
|
{{getDictLabelName(form.problemLevel, "maintenanceLevel") }}
|
|
</div>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<div class="tc-text2">具体描述:</div>
|
|
<div class="tc-text1">{{ form.content }}</div>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<div class="tc-text2">缺陷图片:</div>
|
|
<div class="tc-text1">
|
|
<el-image
|
|
v-for="item in form.problemImages"
|
|
style="width: 240px; height: 135px;margin-right: 16px;"
|
|
:src="item"
|
|
:preview-src-list="form.problemImages">
|
|
</el-image>
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import TopBackTitle from "@/components/TopBackTitle/index.vue";
|
|
import {calcTableHeight} from "@/mixins/calcTableHeight";
|
|
import SyMixMap from "@/views/components/SyMixMap.vue";
|
|
import {gettV2Record} from "@/api/sluice/patrolMaintenance";
|
|
import {getDictMapData} from "@/api/system/dict/data";
|
|
|
|
export default {
|
|
components: {
|
|
SyMixMap,
|
|
TopBackTitle,
|
|
},
|
|
mixins: [calcTableHeight],
|
|
data() {
|
|
return {
|
|
maintenanceCategory: [],
|
|
maintenanceLevel: [],
|
|
form: {
|
|
createName: '',
|
|
wagaName: '',
|
|
category: '',
|
|
parts: '',
|
|
partsName: '',
|
|
content: '',
|
|
position: '',
|
|
problemImages: '',
|
|
problemLevel: '',
|
|
startDate: '',
|
|
endDate: '',
|
|
},
|
|
};
|
|
},
|
|
created() {
|
|
this.getDicts("patrol_maintenance_category").then((response) => {
|
|
this.maintenanceCategory = response.data;
|
|
});
|
|
this.getDicts("patrol_maintenance_level").then((response) => {
|
|
this.maintenanceLevel = response.data;
|
|
});
|
|
},
|
|
mounted() {
|
|
this.initData()
|
|
},
|
|
methods: {
|
|
async initData() {
|
|
const checking = await gettV2Record(this.$route.query.recordId)
|
|
this.form.createName = checking.data.createName
|
|
this.form.wagaName = checking.data.wagaName
|
|
this.form.problems = checking.data.problems
|
|
this.form.category = checking.data.category
|
|
this.form.startDate = checking.data.startDate
|
|
this.form.endDate = checking.data.endDate
|
|
checking.data.problems.forEach(item => {
|
|
if(item.id === this.$route.query.defectId) {
|
|
this.form.content = item.content
|
|
this.form.position = item.position
|
|
this.form.parts = item.parts
|
|
let DictData = checking.data.category === '1' ? 'sz_xs_c_classfy': 'sz_xs_jd_classfy'
|
|
getDictMapData(DictData).then((res) => {
|
|
let parts = ''
|
|
item.parts.forEach((part) => {
|
|
if (parts) {
|
|
parts = parts + ':' + part
|
|
} else {
|
|
parts = part
|
|
}
|
|
})
|
|
this.form.partsName = res.data[parts]
|
|
})
|
|
this.form.problemLevel = item.problemLevel
|
|
this.form.problemImages = item.problemImages
|
|
}
|
|
})
|
|
},
|
|
|
|
getDictLabelName(type, dictListName) {
|
|
if (!this[dictListName]) return "";
|
|
return (
|
|
this[dictListName].find((item) => item.dictValue === type)?.dictLabel ||
|
|
""
|
|
);
|
|
}
|
|
},
|
|
};
|
|
</script>
|
|
<style lang="scss">
|
|
.table-box {
|
|
width: 100%;
|
|
height: calc(100% - 50px - 24px);
|
|
margin-top: 24px;
|
|
padding: 16px;
|
|
padding-bottom: 80px;
|
|
background-color: white;
|
|
overflow: auto;
|
|
}
|
|
.form-row-title {
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
margin-bottom: 16px;
|
|
border-left: 4px solid #36b29e;
|
|
padding-left: 8px;
|
|
}
|
|
.row-item {
|
|
display: flex;
|
|
font-size: 14px;
|
|
line-height: 22px;
|
|
margin-bottom: 16px;
|
|
& > div {
|
|
width: 50%;
|
|
}
|
|
}
|
|
.defectInformation {
|
|
.el-row {
|
|
margin-bottom: 16px;
|
|
.el-col {
|
|
margin-bottom: 16px;
|
|
}
|
|
}
|
|
|
|
}
|
|
.tc-text2,.tc-text1 {
|
|
line-height: 22px;
|
|
}
|
|
</style>
|
|
|