<template>
|
<div class="app-container">
|
<div class="filter-container">
|
<el-button class="filter-item" type="primary" icon="el-icon-plus" @click="showControlAction()">选择风险管控措施</el-button>
|
</div>
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:key="tableKey"
|
:data="inspectionPointData"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" width="150" align="center">
|
</el-table-column>
|
<el-table-column label="隐患排查内容" prop="content" align="center">
|
</el-table-column>
|
<el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" @click="showMeasureDetail(scope.row)" v-show="ifEdit">详情</el-button>
|
<el-button type="text" style="color:red;" @click="deleteById(scope.$index,scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<el-dialog :visible.sync="controlActionVisible" append-to-body :close-on-click-modal="false" width="80%">
|
<control-action ref="controlAction" @closeDialog="closeDialog" @giveRiskControlId="receiveRiskControlId" @keepValue="keepValue"></control-action>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import controlAction from '../../../riskLevelManage/controlAction/index'
|
import { addInspectionControlAction, deleteInspectionControlAction ,getInspectionControlAction } from '../../../../../api/inspectionTask'
|
export default {
|
props:['title','inspectionTaskForm'],
|
name: "inpectionPoint",
|
data(){
|
return{
|
tableKey:'',
|
listLoading:false,
|
ifEdit:false,
|
ifShowControl:true,
|
controlActionVisible:false,
|
riskControlMeasureVisible:false,
|
riskControlMeasureForm:[],
|
inspectionPointData:[],
|
keepValueList:[],
|
controlActionForm:{
|
workId:'',
|
measureId:'',
|
}
|
}
|
},
|
components:{
|
controlAction
|
},
|
methods:{
|
showControlAction (){
|
this.controlActionVisible = true
|
setTimeout( () => {
|
this.$refs.controlAction.ifShowButton(this.inspectionPointData)
|
})
|
},
|
showMeasureDetail(val){
|
this.controlActionVisible = true
|
setTimeout( () => {
|
this.$refs.controlAction.showMeasureDetail(val)
|
this.$refs.controlAction.ifShowSelf = false
|
})
|
|
},
|
closeDialog(){
|
this.controlActionVisible = false
|
},
|
async receiveRiskControlId(value) {
|
this.controlActionVisible = false
|
if(this.title === '新建巡检计划设定'){
|
if(value){
|
this.inspectionPointData = JSON.parse(JSON.stringify(value.map( item => {
|
return {
|
id:item.id,
|
content:item.troubleshootContent
|
}
|
})))
|
this.$emit('giveToForm',this.inspectionPointData)
|
// if(this.inspectionPointData.findIndex(item => item.id === value.id) === -1) {
|
// this.inspectionPointData.push({id:value.id,content:value.troubleshootContent})
|
// this.$emit('giveToForm',this.inspectionPointData)
|
// }
|
}
|
}else{
|
this.controlActionForm.workId = JSON.stringify(this.inspectionTaskForm.workId)
|
this.controlActionForm.measureId =JSON.stringify(value.id)
|
let res = await addInspectionControlAction(this.controlActionForm)
|
if(res.data.code === '200'){
|
this.getControlActionList()
|
this.$message({
|
type:'success',
|
duretion:2000,
|
message:'新增管控措施成功',
|
title:'成功'
|
})
|
}else{
|
this.$message({
|
type:'warning',
|
message:res.data.message
|
})
|
}
|
}
|
},
|
deleteById(value,scope){
|
if(this.title === '新建巡检计划设定'){
|
this.inspectionPointData.splice(value,1)
|
}else{
|
this.$confirm('删除此条措施,是否继续','提示',{
|
confirmButtonText:'确定',
|
cancelButtonText:'取消',
|
type:'warning',
|
}).then(()=> {
|
deleteInspectionControlAction({workId:scope.workId,measureId:scope.measureId}).then( (res)=>{
|
if(res.data.code === '200'){
|
this.getControlActionList()
|
this.$notify({
|
title:'成功',
|
message:'删除成功',
|
type:'success',
|
duration:2000,
|
})
|
}
|
|
})
|
})
|
}
|
|
},
|
async getControlActionList(){
|
let res = await getInspectionControlAction(this.inspectionTaskForm.workId)
|
this.inspectionPointData = res.data.result.checkContents
|
},
|
keepValue(value){
|
this.keepValueList = value
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
/deep/.filter-container{
|
padding-left: 0px !important;
|
}
|
.analyseUnit_input{
|
width:200px;
|
}
|
</style>
|