lyfO_o
2022-06-09 44d7a737dc0d63ad1dd7c52d45fc2233d1950173
src/views/oneFromanotherN/existN.vue
@@ -1,6 +1,6 @@
<template>
  <div class="app-container">
    <div style="">
        <div v-if="type=='0'" style="">
      <Titlename title="录入隐患单页面"></Titlename>
      <div class="whole-form">
        <el-form
@@ -24,6 +24,20 @@
                </el-date-picker>
              </el-form-item>
            </el-col>
                        <el-col :span="9" :offset="4">
                            <el-form-item label="班次" prop="check_class">
                                <el-select v-model="ruleForm.check_class" placeholder="请选择"  style="width: 100%">
                                    <el-option
                                        v-for="item in BCList"
                                        :key="item.value"
                                        :label="item.value"
                                        :value="item.value">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
             <el-col :span="9">
              <el-form-item label="检查类别" prop="checktype">
                  <el-select v-model="ruleForm.checktype" placeholder="请选择"  style="width: 100%">
@@ -36,9 +50,7 @@
                  </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="9" >
                        <el-col :span="9" :offset="4">
              <el-form-item label="检查单位" prop="check_main_branch">
                  <el-select v-model="ruleForm.check_main_branch" placeholder="请选择"  @change="changeJCDW"  style="width: 100%">
                      <el-option
@@ -52,7 +64,24 @@
              </el-form-item>
            </el-col>
          </el-row>
          <!-- <el-row>
                    <el-row>
                        <el-col :span="9">
                            <el-form-item label="检查部门" prop="check_branch">
                                <el-select v-model="ruleForm.check_branch" placeholder="请选择" style="width: 100%">
                                    <el-option
                                        v-for="item in JCBMList"
                                        :key="item.value"
                                        :label="item.value"
                                        :value="item.value">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="9" :offset="4">
                        </el-col>
                    </el-row>
                    <el-row>
            <el-col :span="9">
              <el-form-item label="检查人员" prop="check_man">
                <el-input v-model="ruleForm.check_man"></el-input>
@@ -63,48 +92,55 @@
                <el-input v-model="ruleForm.acc_man"></el-input>
              </el-form-item>
            </el-col>
          </el-row> -->
            <!-- <el-row>
                    </el-row>
                    <el-row>
                <el-col :span="22">
                    <el-form-item label="行走路线">
                        <el-input v-model="ruleForm.route" rows="3" type="textarea" class="multiline"></el-input>
                    </el-form-item>
                </el-col>
            </el-row> -->
                    </el-row>
            <!-- <el-row style="margin-bottom: 20px" v-if="addShow">
                    <el-row style="margin-bottom: 20px">
                <el-col :span="9">
                    <el-button type="primary" class="btns" @click="addDanger">新增隐患</el-button>
                </el-col>
            </el-row> -->
                    </el-row>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column type="index" width="55" align="center" label="序号"></el-table-column>
                    <!-- <el-table-column prop="ht_branch"  align="center" label="隐患部门"></el-table-column> -->
                    <el-table-column prop="address"  align="center" label="隐患地点"></el-table-column>
                    <el-table-column prop="ht_content"  align="center" label="隐患内容"></el-table-column>
                    <!-- <el-table-column prop="measure"  align="center" label="整改措施"></el-table-column> -->
                        <el-table-column prop="ht_branch"  align="center" label="隐患部门"></el-table-column>
                        <el-table-column prop="address"  align="center" label="地点"></el-table-column>
                        <el-table-column prop="ht_content" align="center" label="隐患内容">
                            <template slot-scope="scope">
                                <el-popover trigger="hover" placement="top">
                                    <p>{{ scope.row.ht_content }}</p>
                                    <div slot="reference" class="name-wrapper">{{
                                            scope.row.ht_content != null && scope.row.ht_content.length > 10 ? scope.row.ht_content.substring(0, 8) + "...." : scope.row.ht_content
                                        }}
                                    </div>
                                </el-popover>
                            </template>
                        </el-table-column>
                        <el-table-column prop="measure"  align="center" label="整改措施"></el-table-column>
                    <el-table-column prop="ht_typesub"  align="center" label="隐患类别"></el-table-column>
                    <!-- <el-table-column prop="dangerousSource"  align="center" label="关联危险源"></el-table-column>
                    <el-table-column prop="DTRisk_level"  align="center" label="风险等级"></el-table-column> -->
                        <el-table-column prop="dangerousSource"  align="center" label="关联危险源"></el-table-column>
                        <el-table-column prop="DTRisk_level"  align="center" label="风险等级"></el-table-column>
                    <el-table-column prop="ht_level"  align="center" label="隐患级别"></el-table-column>
                    <!-- <el-table-column prop="alter_time"  align="center" label="限改时间"></el-table-column>
                        <el-table-column prop="alter_time"  align="center" label="限改时间"></el-table-column>
                    <el-table-column prop="duty_officer"  align="center" label="责任人"></el-table-column>
                    <el-table-column prop="alter_status"  align="center" label="整改情况"></el-table-column>
                    <el-table-column prop="Review"  align="center" label="业务科室"></el-table-column> -->
                        <el-table-column prop="Review"  align="center" label="业务科室"></el-table-column>
                    <el-table-column prop="time" label="操作" align="center" width="140">
                        <template slot-scope="scope">
                            <div style="display: flex;align-items: center;flex-direction: row;">
                                <el-button
                                    size="mini"
                                    @click="editDanger(scope.row, scope.$index)"
                                >添加
                                    >编辑
                                </el-button>
                                <el-button
                                    size="mini"
                                    v-if="addShow"
                                    @click="deleteDanger(scope.row, scope.$index)"
                                >删除
                                </el-button>
@@ -127,7 +163,54 @@
        </el-form>
      </div>
    </div>
        <div v-else>
            <el-table :data="detailTableData" style="width: 100%" >
                <el-table-column type="selection" width="55" align="center"></el-table-column>
                <el-table-column prop="number" label="编号" align="center" width="120"></el-table-column>
                <el-table-column prop="check_branch" label="检查部门" align="center" width="120"></el-table-column>
                <el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
                <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <el-table-column label="隐患项目" align="center">
                    <el-table-column prop="check_date" label="检查时间" width="120" align="center"></el-table-column>
                    <el-table-column prop="address" label="地点" align="center"> </el-table-column>
                    <el-table-column prop="ht_content" label="内容" align="center"> </el-table-column>
                    <el-table-column prop="ht_typesub" label="类别" align="center"> </el-table-column>
                    <el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
                </el-table-column>
                <el-table-column label="整改计划" align="center">
                    <el-table-column prop="measure" label="整改措施" align="center"> </el-table-column>
                    <el-table-column prop="ht_branch" label="隐患部门" align="center"> </el-table-column>
                    <el-table-column prop="duty_officer" label="责任人" align="center"> </el-table-column>
                    <el-table-column prop="alter_time" label="限改时间" width="120" align="center"></el-table-column>
                    <el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
                </el-table-column>
                <el-table-column label="整改情况" align="center">
                    <el-table-column prop="ACCOMPLISHTIME" label="完成时间" width="110px" align="center"> </el-table-column>
                    <el-table-column prop="CALLBACKRESULT" label="复查结果" align="center"> </el-table-column>
                    <el-table-column prop="CALLBACKPERSON" label="复查人" align="center"> </el-table-column>
                    <el-table-column prop="CALLBACKTIME" label="复查时间"  width="120" align="center"></el-table-column>
                </el-table-column>
                <el-table-column  label="隐患处理状态" align="center">
                    <template slot-scope="scope">
                        <span v-if="scope.row.step =='1'">初始状态</span>
                        <span v-if="scope.row.step =='2'">整改中</span>
                        <span v-if="scope.row.step =='3'">复查中</span>
                        <span v-if="scope.row.step =='end'">处理结束</span>
                    </template>
                </el-table-column>
                <el-table-column prop="DTRisk_bankId" label="是否关联" align="center">
                    <template slot-scope="scope">
                        <span v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null">未关联</span>
                        <span v-else>已关联</span>
                    </template>
                </el-table-column>
                <el-table-column prop="DTRisk_level" label="风险等级" align="center"> </el-table-column>
                <el-table-column prop="warningLevel" label="初始警情" align="center"> </el-table-column>
                <el-table-column prop="curWarningLevel" label="当前警情" align="center"> </el-table-column>
            </el-table>
            <el-button style="margin-top: 20px" @click="returnIndex">关闭</el-button>
        </div>
      <el-dialog
          :title="title"
          :visible.sync="dialogVisible"
@@ -136,19 +219,37 @@
          <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px">
              <el-row>
                  <el-col :span="9">
                      <el-form-item label="隐患地点" prop="address">
                          <el-input v-model="dangerForm.address" rows="3" type="textarea" class="multiline"></el-input>
                        <el-form-item label="隐患部门" prop="ht_branch">
                            <el-select v-model="dangerForm.ht_branch" placeholder="请选择">
                                <el-option
                                    v-for="item in YHBMList"
                                    :key="item.branch_id"
                                    :label="item.branch_name"
                                    :value="item.branch_name">
                                </el-option>
                            </el-select>
                      </el-form-item>
                  </el-col>
                  <el-col :span="9" offset="4">
                      <el-form-item label="隐患内容" prop="ht_content">
                          <el-input v-model="dangerForm.ht_content" rows="3" type="textarea" class="multiline"></el-input>
                    <el-col :span="9" :offset="4">
                        <el-form-item label="地点" prop="address">
                            <el-input v-model="dangerForm.address" rows="3" type="textarea" class="multiline"></el-input>
                      </el-form-item>
                  </el-col>
              </el-row>
              <el-row>
                    <el-col :span="9">
                        <el-form-item label="隐患内容" prop="ht_content">
                            <el-input v-model="dangerForm.ht_content" rows="3" type="textarea" class="multiline"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="9" :offset="4">
                        <el-form-item label="整改措施" prop="measure">
                            <el-input v-model="dangerForm.measure" rows="3" type="textarea" class="multiline"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                 <el-col :span="9">
                      <el-form-item label="隐患类别" prop="ht_typesub">
                          <el-select v-model="dangerForm.ht_typesub" placeholder="请选择">
@@ -162,6 +263,26 @@
                      </el-form-item>
                  </el-col>
                  <el-col :span="9" :offset="4">
                        <el-form-item label="关联危险源" prop="DTRisk_bankId">
                            <el-select v-model="dangerForm.DTRisk_bankId" placeholder="请选择" @change="changeWxy" filterable>
                                <el-option
                                    v-for="item in dangerList"
                                    :key="item.id"
                                    :label="item.mriskPoint"
                                    :value="item.id">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="9">
                        <el-form-item label="风险等级" prop="DTRisk_level">
                            <el-input v-model="dangerForm.DTRisk_level" :disabled="true"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="9" :offset="4">
                      <el-form-item label="隐患级别" prop="ht_level">
                          <el-select v-model="dangerForm.ht_level" placeholder="请选择">
                              <el-option
@@ -169,6 +290,65 @@
                                  :key="item.value"
                                  :label="item.label"
                                  :value="item.value">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="9">
                        <el-form-item label="限改时间" prop="alter_time">
                            <el-date-picker
                                v-model="dangerForm.alter_time"
                                type="date"
                                value-format="yyyy-MM-dd"
                                placeholder="选择日期"
                                style="width: 100%"
                            >
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                    <el-col :span="9" :offset="4">
                        <el-form-item label="责任人" prop="duty_officer">
                            <el-input v-model="dangerForm.duty_officer"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="9">
                        <el-form-item label="整改情况" prop="alter_status">
                            <el-select v-model="dangerForm.alter_status" placeholder="请选择">
                                <el-option
                                    v-for="item in statusList"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                    <el-col :span="9" :offset="4">
                        <el-form-item label="业务科室" prop="Review">
                            <el-select v-model="dangerForm.Review" style="width: 100%">
                                <el-option
                                    v-for="item in YWKSList"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row v-if="dangerForm.alter_status=='重复反弹隐患'">
                    <el-col :span="9">
                        <el-form-item label="重复反弹隐患" prop="repeatId">
                            <el-select v-model="dangerForm.repeatId" placeholder="请选择">
                                <el-option
                                    v-for="item in reboundList"
                                    :key="item.id"
                                    :label="item.content"
                                    :value="item.id">
                              </el-option>
                          </el-select>
                      </el-form-item>
@@ -186,15 +366,27 @@
              </el-row>
          </el-form>
      </el-dialog>
  </div>
</template>
<script>
import Titlename from "../../components/Titlename/index.vue";
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr,initReformStatus,initYwks,initWxy} from "@/api/sgyhpczl/initSelect";
import {saveDanger,initDangerRebound,getDangerInfo,editDanger} from '@/api/sgyhpczl/hiddenDangerRegistration'
import {
    initBC,
    initJCBM,
    initJCLB,
    initLlr,
    initReformStatus,
    initWxy,
    initYHBM,
    initYHJB,
    initYHLX,
    initYwks
} from "@/api/sgyhpczl/initSelect";
import {getPageList,initDangerRebound,saveDanger} from '@/api/sgyhpczl/hiddenDangerRegistration'
import {deepClone} from '@/utils'
export default {
@@ -202,7 +394,7 @@
  name: "hiddenDangerList",
  data() {
    return {
        addShow:true,
            type: '0',
        id:'',
        rowIndex:-1,
        dangerList:[],
@@ -212,6 +404,7 @@
            address: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_content: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_typesub: [{ required: true, message: '不能为空', trigger: 'blur' },],
                measure: [{ required: true, message: '不能为空', trigger: 'blur' },],
            DTRisk_bankId: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_level: [{ required: true, message: '不能为空', trigger: 'blur' },],
            alter_time: [{ required: true, message: '不能为空', trigger: 'blur' },],
@@ -242,8 +435,21 @@
           checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
          },
      tableData: [],
            paramsData: {},//上个页面参数
            listQuery:{
                page:1,
                limit:10,
                form:{},
            },
            currentPage: 1,
            pageSize: 10,
            recordTotal: 0,
            detailTableData:[],//隐患详情列表
            beforeData:{}, //上个页面信息
            beforeFlag:true,//上个页面信息保存标志
    };
  },
    mounted(){
        this.initBC()
        this.initJCLB()
@@ -255,23 +461,36 @@
        this.initYWKS()
        this.initWXY()
        this.initDangerRebound()
        this.id = this.$route.query.id;
        if( this.id!=null &&  this.id!=''){
            this.initInfo();
            this.addShow=false
        this.type = this.$route.query.type;
        if (this.type === '0'){
            this.initInfo(this.$route.query.data);
        }else {
            this.listQuery.form.jyfsId = this.$route.query.data.id
            this.getPageList();
        }
    },
  methods: {
      async initInfo(){
          var res=await getDangerInfo(this.id)
          if (res.data.ok==1){
              this.ruleForm=res.data.data
              this.changeJCDW(res.data.data.check_main_branch)
              var obj=deepClone(res.data.data)
              this.tableData.push(obj)
          }
        initInfo(data){
            this.paramsData = this.$route.query.data;
            this.ruleForm.jyfsId = data.id;
            this.dangerForm.address = data.address;
            this.dangerForm.ht_content = data.ht_content;
            // this.tableData[0] = {
            //     address: data.address,
            //     ht_content: data.ht_content,
            //     ht_level: data.ht_level,
            // };
      },
        // async initInfo(){
        //     var res=await getDangerInfo(this.id)
        //     if (res.data.ok==1){
        //         this.ruleForm=res.data.data
        //         this.changeJCDW(res.data.data.check_main_branch)
        //         var obj=deepClone(res.data.data)
        //         this.tableData.push(obj)
        //     }
        // },
      initDangerRebound(){
          initDangerRebound().then(res=>{
              if (res.data.ok==1){
@@ -285,7 +504,9 @@
          this.$refs[formName].validate((valid) => {
              if (valid) {
                  if(this.title=='新增'){
                        this.beforeFlag = false;
                      this.tableData.push(this.dangerForm)
                        console.log(this.tableData)
                  }else {
                      var arr = this.tableData;
                      arr.splice(this.rowIndex, 1, this.dangerForm);
@@ -299,9 +520,18 @@
              }
          });
      },
        getPageList(){
            this.listQuery.page=1
            getPageList(this.listQuery).then(res=>{
                if (res.data.ok==1) {
                    this.detailTableData = res.data.data.items
                    this.recordTotal=res.data.data.total
                }else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
      deleteDanger(row, index) {
          this.$confirm('确认删除吗', '提示', {
              confirmButtonText: '确认',
              cancelButtonText: '取消',
@@ -333,7 +563,9 @@
      },
      addDanger(){
            if (!this.beforeFlag){
          this.dangerForm={}
            }
          this.title="新增"
          this.dialogVisible=true
      },
@@ -443,55 +675,62 @@
      returnIndex(){
          this.$router.push({
              path:"/hiddenDangerRegistration"
                path:"/oneFromanotherN"
          })
        },
        judge(obj){
            console.log(obj)
            if (obj != null || ('ht_branch' in obj) || ('address' in obj) || ('ht_typesub' in obj) || ('dangerousSource' in obj)
                || ('alter_time' in obj) || ('duty_officer' in obj) || ('alter_status' in obj) || ('Review' in obj) || ('DTRisk_bankId' in  obj)){
                return true;
            }else {
                return false;
            }
      },
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
            if(this.tableData==null || this.tableData.length==0){
                this.$message({type:'error', message:"请添加隐患", duration:2000})
            }
            this.ruleForm.items=this.tableData
            if(this.addShow){
                    // if(this.addShow){
                    console.log(this.ruleForm)
                saveDanger(this.ruleForm).then(res=>{
                    if (res.data.ok==1){
                        this.$message({type:'success', message:"新增成功", duration:3000})
                            this.$message({type:'success', message:"保存成功", duration:3000})
                        this.$router.push({
                            path:"/hiddenDangerRegistration"
                                path:"/oneFromanotherN"
                        })
                    }else {
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            }else {
                var param=deepClone(this.ruleForm)
                var obj=deepClone(this.tableData[0])
                param.ht_branch=obj.ht_branch
                param.address=obj.address
                param.ht_content=obj.ht_content
                param.measure=obj.measure
                param.ht_typesub=obj.ht_typesub
                param.DTRisk_bankId=obj.DTRisk_bankId
                param.DTRisk_level=obj.mriskLevel
                param.dangerousSource=obj.mriskPoint
                param.ht_level=obj.ht_level
                param.alter_time=obj.alter_time
                param.duty_officer=obj.duty_officer
                param.alter_status=obj.alter_status
                param.Review=obj.Review
                param.repeatId=obj.repeatId
                editDanger(param).then(res=>{
                    if (res.data.ok==1){
                        this.$message({type:'success', message:"编辑成功", duration:3000})
                        this.$router.push({
                            path:"/hiddenDangerRegistration"
                        })
                    }else {
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            }
                    // }else {
                    //     var param=deepClone(this.ruleForm)
                    //     var obj=deepClone(this.tableData[0])
                    //     param.ht_branch=obj.ht_branch
                    //     param.address=obj.address
                    //     param.ht_content=obj.ht_content
                    //     param.measure=obj.measure
                    //     param.ht_typesub=obj.ht_typesub
                    //     param.DTRisk_bankId=obj.DTRisk_bankId
                    //     param.DTRisk_level=obj.mriskLevel
                    //     param.dangerousSource=obj.mriskPoint
                    //     param.ht_level=obj.ht_level
                    //     param.alter_time=obj.alter_time
                    //     param.duty_officer=obj.duty_officer
                    //     param.alter_status=obj.alter_status
                    //     param.Review=obj.Review
                    //     param.repeatId=obj.repeatId
                    //     editDanger(param).then(res=>{
                    //         if (res.data.ok==1){
                    //             this.$message({type:'success', message:"编辑成功", duration:3000})
                    //             this.$router.push({
                    //                 path:"/hiddenDangerRegistration"
                    //             })
                    //         }else {
                    //             this.$message({type:'error', message:res.data.msg, duration:3000})
                    //         }
                    //     })
                    // }