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.
244 lines
7.3 KiB
244 lines
7.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.dikeName }}</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 {getV2Yh, postV2Yh, getV2ApprovalComment, gettV2Record, postV2ApprovalPassed, postV2ApprovalRejected} from "@/api/dike/patrolMaintenance";
|
|
import {getDictMapData} from "@/api/system/dict/data";
|
|
import {mapGetters} from "vuex";
|
|
|
|
export default {
|
|
components: {
|
|
SyMixMap,
|
|
TopBackTitle,
|
|
},
|
|
mixins: [calcTableHeight],
|
|
data() {
|
|
return {
|
|
entries: {},
|
|
traceList: [],
|
|
maintenanceCategory: [],
|
|
maintenanceLevel: [],
|
|
tableData: [{
|
|
nspectionLocation: '堤坡与戗台',
|
|
inspectionContent: '是否坚实平整',
|
|
}],
|
|
form: {
|
|
createName: '',
|
|
userName: '',
|
|
dikeName: '',
|
|
category: '',
|
|
parts: '',
|
|
partsName: '',
|
|
content: '',
|
|
describe: '',
|
|
position: '',
|
|
problemImages: '',
|
|
problemLevel: '',
|
|
createUid: '',
|
|
dikeCode: '',
|
|
dikeType: '',
|
|
type: '',
|
|
time: [],
|
|
scope: '',
|
|
},
|
|
rules: {
|
|
userName: [{required: true}],
|
|
projectName: [{required: true}],
|
|
dikeName: [{required: true}],
|
|
inspectionCategory: [{required: true}],
|
|
time: [{required: true}],
|
|
describe: [{required: true}],
|
|
}
|
|
};
|
|
},
|
|
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()
|
|
},
|
|
computed: {
|
|
...mapGetters({
|
|
userId: "uid",
|
|
userName: "name",
|
|
}),
|
|
},
|
|
methods: {
|
|
async initData() {
|
|
const checking = await gettV2Record(this.$route.query.recordId)
|
|
this.form.createName = checking.data.createName
|
|
this.form.userName = this.userName
|
|
this.form.userId = this.userId
|
|
this.form.dikeName = checking.data.dikeName
|
|
this.form.checkingId = checking.data.checkingId
|
|
this.form.checkingName = checking.data.checkingName
|
|
this.form.status = checking.data.status
|
|
this.form.problems = checking.data.problems
|
|
this.form.category = checking.data.category
|
|
this.form.createUid = checking.data.createUid
|
|
this.form.dikeCode = checking.data.dikeCode
|
|
this.form.dikeType = checking.data.dikeType
|
|
this.form.type = checking.data.type
|
|
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
|
|
getDictMapData("df_xs_c_classfy").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
|
|
}
|
|
})
|
|
// if (this.$route.query.fromId) {
|
|
// const ApprovalComment = await getV2ApprovalComment(this.$route.query.fromId)
|
|
// } else {
|
|
// const ApprovalComment = await getV2ApprovalComment(0)
|
|
// }
|
|
},
|
|
|
|
getDictLabelName(type, dictListName) {
|
|
if (!this[dictListName]) return "";
|
|
return (
|
|
this[dictListName].find((item) => item.dictValue === type)?.dictLabel ||
|
|
""
|
|
);
|
|
},
|
|
handleAccept() {
|
|
|
|
},
|
|
handleSave(commit) {
|
|
const data = {
|
|
checkingId: this.form.checkingId,
|
|
content: this.form.describe,
|
|
dutyHolderId: this.form.userId,
|
|
dutyHolderName: this.form.userName,
|
|
problemLevel: this.form.problemLevel,
|
|
problemId: this.$route.query.defectId,
|
|
recordId: this.$route.query.recordId,
|
|
startDate: this.form.time && this.form.time.length > 1 ? this.form.time[0] : '',
|
|
endDate: this.form.time && this.form.time.length > 1 ? this.form.time[1] : '',
|
|
}
|
|
if (this.$route.query.id) {
|
|
data.id = this.$route.query.id
|
|
}
|
|
postV2Yh(data, commit).then(res => {
|
|
this.$message.success('保存成功')
|
|
this.$router.go(-1)
|
|
})
|
|
}
|
|
},
|
|
};
|
|
</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;
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|
|
|