From 08bf6da5e3164a1b3ee5c79bb5d666e6385b4653 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Mon, 23 May 2022 18:33:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 216 insertions(+), 24 deletions(-)
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue
index c3fc9e0..e3b1d0e 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue
@@ -70,7 +70,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="巡检结果" prop="result">
- <el-select v-model="inspectionRecordDetailForm.result" :disabled="ifShow" class="input" @change="ifNormal = !ifNormal">
+ <el-select v-model="inspectionRecordDetailForm.result" :disabled="ifShow" class="input" @change="ifNormal = (inspectionRecordDetailForm.result === 2 ? true : false)">
<el-option
v-for="item in resultList"
:key="item.id"
@@ -84,10 +84,24 @@
<div v-if="ifNormal">
<el-row>
<el-col :span="24">
+ <el-form-item label="异常通知部门" prop="noticeDepId">
+ <el-select v-model="inspectionRecordDetailForm.noticeDepId" filterable clearable class="input" @change="changeDepartment('notice')" :disabled="ifShow">
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.department"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
<el-form-item label="异常通知人员" prop="noticeUid">
<el-select v-model="inspectionRecordDetailForm.noticeUid" clearable filterable :disabled="ifShow" class="input">
<el-option
- v-for="item in userList"
+ v-for="item in noticeUserList"
:key="item.id"
:value="item.id"
:label="item.realname"
@@ -103,12 +117,26 @@
</el-form-item>
</el-col>
</el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="异常整改部门" prop="fixDepId">
+ <el-select v-model="inspectionRecordDetailForm.fixDepId" filterable clearable class="input" :disabled="ifShow" @change="changeDepartment('fix')">
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.department"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row >
<el-col :span="24">
<el-form-item label="整改人" prop="fixUid">
<el-select v-model="inspectionRecordDetailForm.fixUid" clearable filterable :disabled="ifShow" class="input">
<el-option
- v-for="item in userList"
+ v-for="item in fixUserList"
:key="item.id"
:value="item.id"
:label="item.realname"
@@ -127,7 +155,7 @@
</el-row>
<el-row>
<el-col :span="24">
- <el-form-item label="上报图片" prop="img">
+ <el-form-item label="上报图片" prop="imgInfoList">
<el-upload
accept=".pdf,.jpg,.png"
:action="fileRoad"
@@ -137,7 +165,7 @@
:data="uploadForm"
list-type="picture-card"
:file-list="fileList"
- v-model="inspectionRecordDetailForm.img"
+ v-model="inspectionRecordDetailForm.imgInfoList"
:on-change="handleChangeFile"
:on-success="onFileSuccess"
:multiple="false"
@@ -169,7 +197,122 @@
</el-col>
</el-row>
</div>
- <div style="text-align: center">
+ <div v-if="ifLook">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="异常通知部门" prop="noticeDepId">
+ <el-select v-model="inspectionRecordDetailForm.problem.noticeDepId" filterable clearable class="input" @change="changeDepartment('notice')" readonly>
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.department"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="异常通知人员" prop="noticeUid">
+ <el-select v-model="inspectionRecordDetailForm.problem.noticeUid" clearable filterable readonly class="input">
+ <el-option
+ v-for="item in noticeUserList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.realname"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="整改时间" prop="fixTime">
+ <el-date-picker placeholder="选择时间" v-model="inspectionRecordDetailForm.problem.fixTime" class="input" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" readonly></el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="异常整改部门" prop="fixDepId">
+ <el-select v-model="inspectionRecordDetailForm.problem.fixDepId" filterable clearable class="input" readonly>
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.department"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="24">
+ <el-form-item label="整改人" prop="fixUid">
+ <el-select v-model="inspectionRecordDetailForm.problem.fixUid" clearable filterable readonly class="input">
+ <el-option
+ v-for="item in fixUserList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.realname"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="巡检结果备注" prop="info" >
+ <el-input type="textarea" :rows="3" v-model="inspectionRecordDetailForm.problem.info" aria-readonly="true" class="input">
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="上报图片" prop="imgInfoList">
+ <el-upload
+ accept=".pdf,.jpg,.png"
+ :action="fileRoad"
+ class="upload-demo"
+ ref="upload"
+ :headers="header"
+ :data="uploadForm"
+ list-type="picture-card"
+ :file-list="fileList"
+ v-model="inspectionRecordDetailForm.imgInfoList"
+ :on-change="handleChangeFile"
+ :on-success="onFileSuccess"
+ :auto-upload="true">
+ <i slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <img
+ class="el-upload-list__item-thumbnail"
+ :src="file.url" alt=""
+ >
+ <span class="el-upload-list__item-actions">
+ <span
+ class="el-upload-list__item-preview"
+ @click="handleFile(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+ v-if="!disabled"
+ class="el-upload-list__item-delete"
+ @click="handleRemove(file,'one')"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
+ </span>
+ </div>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <div style="text-align: center" v-show="ifConfirm">
<el-button @click="inspectionRecordDetailFormVisible = false">取消</el-button>
<el-button type="primary" @click="submitInspectionRecordDetail()">确认</el-button>
</div>
@@ -212,12 +355,14 @@
execUid: null,
fixTime: null,
fixUid: null,
- img: null,
+ imgInfoList: [],
info: null,
noticeUid: null,
- result: 1,
+ result: null,
taskId: null,
- unitId: null
+ unitId: null,
+ fixDepId:null,
+ noticeDepId:null,
},
inspectionRecordDetailFormRules:{
img: [{ required: true, validator: validateImg, trigger: 'blur' }],
@@ -226,13 +371,20 @@
fixTime: [{ required: true, message: '整改时间不能为空', trigger: 'change' }],
fixUid: [{ required: true, message: '描整改人员不能为空', trigger: 'change' }],
info: [{ required: true, message: '巡检结果备注不能为空', trigger: 'blur' }],
+ fixDepId: [{ required: true, message: '异常整改部门不能为空', trigger: 'blur' }],
+ noticeDepId: [{ required: true, message: '异常通知部门不能为空', trigger: 'blur' }],
},
inspectionRecordDetailFormVisible:false,
ifShow:true,
ifNormal:false,
+ ifLook:false,
+ ifConfirm:false,
userList:[],
+ noticeUserList:[],
+ fixUserList:[],
+ departmentList:[],
fileList:[],
- resultList:[{id:1,name:'正常'},{id:2,name:'异常'}],
+ resultList:[{id:0,name:'未巡检'},{id:1,name:'正常'},{id:2,name:'异常'}],
typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}],
statusList:[{id:1,name:'待巡检'},{id:2,name:'巡检中'},{id:3,name:'已完成'},{id:4,name:'超时未巡检'},{id:5,name:'已取消'}],
}
@@ -245,47 +397,69 @@
this.inspectionRecordFormVisible = true
this.inspectionRecordForm = JSON.parse(JSON.stringify(value))
},
- showInspectionRecordDetailForm(value,type,userList) {
+ showInspectionRecordDetailForm(value,type,userList,departmentList) {
this.inspectionRecordDetailFormVisible = true
+ this.$nextTick(() =>{
+ this.$refs["inspectionRecordDetailForm"].clearValidate()
+ })
this.userList = userList
+ this.departmentList = departmentList
if(type === '查看'){
- this.titleDetail = '巡检单元查看'
- this.ifShow = true
+ this.titleDetail = '查看单元上报'
+ this.ifNormal = false
+ this.ifLook = true
+ this.ifConfirm = false
this.inspectionRecordDetailForm = JSON.parse(JSON.stringify(value))
- if(value.result === 2){
- this.ifNormal = true
+ if(this.inspectionRecordDetailForm.problem.imageInfoList === null){
this.fileList = []
- this.fileList.push({url:process.env.IMG_API + value.img})
+ }else{
+ this.fileList = this.inspectionRecordDetailForm.problem.imageInfoList.map( item => { return { url : process.env.IMG_API + item.imgPath}})
}
}else{
this.titleDetail = '巡检单元上报'
this.ifShow = false
+ this.ifNormal = false
+ this.ifLook = false
+ this.ifConfirm = true
this.inspectionRecordDetailForm = {
execUid: Cookies.get('userId'),
fixTime: null,
fixUid: null,
- img: null,
+ imgInfoList: [],
info: null,
noticeUid: null,
- result: 1,
+ result: null,
+ fixDepId:null,
+ noticeDepId:null,
taskId: value.taskId,
unitId: value.id
}
}
},
submitInspectionRecordDetail() {
- if(this.ifNormal = false){
+ if(this.ifNormal === false){
this.inspectionRecordDetailForm.noticeUid = null
this.inspectionRecordDetailForm.fixTime = null
this.inspectionRecordDetailForm.fixUid = null
this.inspectionRecordDetailForm.info = null
- this.inspectionRecordDetailForm.img = null
+ this.inspectionRecordDetailForm.imgInfoList = []
+ this.inspectionRecordDetailForm.noticeDepId = null
+ this.inspectionRecordDetailForm.fixDepId = null
}
this.$refs["inspectionRecordDetailForm"].validate((valid) =>{
if(valid){
+ if(this.inspectionRecordDetailForm.result === 0){
+ this.$message({
+ type:'warning',
+ message:'请选择正确的巡检结果'
+ })
+ return
+ }
+ this.inspectionRecordDetailForm.imgInfoList = this.inspectionRecordDetailForm.imgInfoList.map(item =>{ return { imagePath:item.imagePath}})
submitUnitOne(this.inspectionRecordDetailForm).then( res =>{
if(res.data.code === '200'){
this.inspectionRecordDetailFormVisible = false
+ this.$emit('getList')
this.$message({
type:'success',
message:'上报成功',
@@ -308,13 +482,30 @@
}
})
},
+ changeDepartment(type){
+ if(type === 'notice'){
+ if(this.inspectionRecordDetailForm.noticeDepId === ''){
+ this.noticeUserList = []
+ }else{
+ let department = this.departmentList.find(item => item.id === this.inspectionRecordDetailForm.noticeDepId).department
+ this.noticeUserList = this.userList.filter ( item => item.department === department)
+ }
+ }else{
+ if(this.inspectionRecordDetailForm.fixDepId === ''){
+ this.fixUserList = []
+ }else{
+ let department = this.departmentList.find(item => item.id === this.inspectionRecordDetailForm.fixDepId).department
+ this.fixUserList = this.userList.filter ( item => item.department === department)
+ }
+ }
+ },
handleChangeFile(){
this.header.Authorization = Cookies.get('token')
},
onFileSuccess(response){
if(response.code === '200'){
- this.inspectionRecordDetailForm.img = response.result.path
- this.fileList.push({url:process.env.IMG_API + response.result.path})
+ this.inspectionRecordDetailForm.imgInfoList.push({imagePath:response.result.path,name:response.result.name,})
+ this.fileList.push({url:process.env.IMG_API + response.result.path,name:response.result.name,})
this.$notify({
type:'success',
duration:2000,
@@ -333,13 +524,14 @@
this.dialogVisible = true;
},
handleRemove(file){
+ debugger
return this.$confirm(`确定移除 ${ file.name }?`,'提示',{
confirmButtonText:'确定',
cancelButtonText:'取消',
type:'warning',
}).then(()=> {
- this.inspectionRecordDetailForm.img = null
- this.fileList = []
+ this.inspectionRecordDetailForm.imgInfoList.splice(this.inspectionRecordDetailForm.imgInfoList.findIndex(item =>item.name === file.name),1)
+ this.fileList.splice(this.inspectionRecordDetailForm.imgInfoList.findIndex(item =>item.name === file.name),1)
})
},
}
--
Gitblit v1.9.2