Your Name
2022-07-19 a0da13fa9d90a7b3f8091d5759ba630f95c35528
src/views/doublePreventAction/hiddenDanger/inspectionTask/components/inpectionPoint.vue
@@ -13,40 +13,45 @@
                highlight-current-row
                style="width: 100%;"
            >
                <el-table-column label="安全风险事件名称" prop="riskEventId" align="center">
                <el-table-column label="序号" type="index" width="150" align="center">
                </el-table-column>
                <el-table-column label="管控方式" prop="dataSrc" align="center">
                 <el-table-column label="隐患排查内容" prop="content" align="center">
                </el-table-column>
                <el-table-column label="管控方式描述" prop="riskMeasureDesc" align="center">
                </el-table-column>
                <el-table-column label="管控措施分类1" prop="classify1" align="center">
                </el-table-column>
                <el-table-column label="管控措施分类2" prop="classify2" align="center">
                </el-table-column>
                <el-table-column label="管控措施分类3" prop="classify3" align="center">
                </el-table-column>
                <el-table-column label="隐患排查内容" prop="troubleshootContent" align="center">
                </el-table-column>
                <el-table-column label="检查类型" prop="hazardLiablePerson" align="center">
                   <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" @giveRiskControlId="receiveRiskControlId"></control-action>
            <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:{
@@ -56,13 +61,87 @@
            showControlAction (){
                this.controlActionVisible = true
                setTimeout( () => {
                    this.$refs.controlAction.ifShowButton()
                    this.$refs.controlAction.ifShowButton(this.inspectionPointData)
                })
            },
            receiveRiskControlId(value) {
            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
                this.inspectionPointData = JSON.parse(JSON.stringify(value))
                this.$emit('giveToForm',this.inspectionPointData)
                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
            }
        }
    }
@@ -72,4 +151,7 @@
/deep/.filter-container{
    padding-left: 0px !important;
}
    .analyseUnit_input{
        width:200px;
    }
</style>