cqf
2022-05-25 366a180e9bdc23f087d3bd15d00f7d50193683d0
src/views/oneFromanotherN/existN.vue
@@ -1,7 +1,7 @@
<template>
  <div class="app-container">
    <div style="">
      <Titlename title="录入举一反三页面"></Titlename>
        <div v-if="type=='0'" style="">
            <Titlename title="录入隐患单页面"></Titlename>
      <div class="whole-form">
        <el-form
          :model="ruleForm"
@@ -9,7 +9,8 @@
          ref="ruleForm"
          label-width="150px"
          class="demo-ruleForm"
          style="margin: 0 14% 0 16%">
                    style="margin: 0 14% 0 16%"
                >
          <el-row>
            <el-col :span="9">
              <el-form-item label="检查时间" prop="check_date">
@@ -18,10 +19,25 @@
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  style="width: 100%">
                                    style="width: 100%"
                                >
                </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%">
@@ -34,64 +50,142 @@
                  </el-select>
              </el-form-item>
            </el-col>
                        <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
                                        v-for="item in JCDWList"
                                        :key="item.label"
                                        :label="item.label"
                                        :value="item.label"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
          </el-row>
          <el-row>
            <el-col :span="9" >
              <el-form-item label="检查单位" prop="check_main_branch">
                  <el-input v-model="ruleForm.check_main_branch" style="width:100%"></el-input>
<!--                  <el-select v-model="ruleForm.check_main_branch" placeholder="请选择"  @change="changeJCDW"  style="width: 100%">-->
<!--                      <el-option-->
<!--                          v-for="item in JCDWList"-->
<!--                          :key="item.label"-->
<!--                          :label="item.label"-->
<!--                          :value="item.label"-->
<!--                      >-->
<!--                      </el-option>-->
<!--                  </el-select>-->
                            <el-form-item label="检查人员" prop="check_man">
                                <el-input v-model="ruleForm.check_man"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="9" :offset="4">
                            <el-form-item label="陪检人员" prop="acc_man">
                                <el-input v-model="ruleForm.acc_man"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
            <el-row style="margin-bottom: 20px">
                <el-col :span="9">
                    <el-button type="primary" class="btns" @click="addDanger()">新增</el-button>
                    <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 style="margin-bottom: 20px" v-if="addShow">
                        <el-col :span="9">
                            <el-button type="primary" class="btns" @click="addDanger">新增隐患</el-button>
                        </el-col>
                    </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="address"  align="center" label="隐患地点"></el-table-column>
                    <el-table-column prop="ht_content"  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" show-overflow-tooltip align="center" label="隐患内容"></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="ht_level"  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="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
                                        size="mini"
                                        @click="editDanger(scope.row, scope.$index)"
                                    >编辑
                                </el-button>
                                <el-button size="mini" @click="deleteDanger(scope.row, scope.$index)">
                                    删除
                                    <el-button
                                        size="mini"
                                        @click="deleteDanger(scope.row, scope.$index)"
                                    >删除
                                </el-button>
                            </div>
                        </template>
                    </el-table-column>
                </el-table>
          <el-row style="margin-top: 20px">
            <el-col :span="22">
              <el-form-item style="text-align: center">
                <el-button type="primary" class="btns" @click="submitForm('ruleForm')">
                    保存
                </el-button>
                <el-button @click="closeShow">关闭</el-button>
                                <el-button type="primary" class="btns" @click="submitForm('ruleForm')"
                                >保存</el-button
                                >
                                <el-button @click="returnIndex">关闭</el-button>
              </el-form-item>
            </el-col>
          </el-row>
        </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"
@@ -100,18 +194,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="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="请选择">
@@ -122,6 +235,26 @@
                                  :value="item.value">
                              </el-option>
                          </el-select>
                        </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">
@@ -138,28 +271,97 @@
                  </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>
                    </el-col>
                </el-row>
                <el-row>
                  <el-col :span="22">
                      <el-form-item style="text-align: center">
                          <el-button type="primary" class="btns" @click="submitDanger('form')">
                              保存
                          </el-button>
                            <el-button type="primary" class="btns" @click="submitDanger('form')"
                            >保存</el-button
                            >
                          <el-button @click="dialogVisible=false">关闭</el-button>
                      </el-form-item>
                  </el-col>
              </el-row>
          </el-form>
      </el-dialog>
  </div>
</template>
<script>
import Titlename from "../../components/Titlename/index.vue";
import {initJCBM ,initYHLX,initJCLB,initYHJB,initReformStatus} from "@/api/sgyhpczl/initSelect";
import {saveDanger,initDangerRebound,getDangerInfo,editDanger} from '@/api/sgyhpczl/hiddenDangerRegistration'
import { save } from '@/api/sgyhpczl/oneFromanotherN'
import {
    initBC,
    initJCBM,
    initJCLB,
    initLlr,
    initReformStatus,
    initWxy,
    initYHBM,
    initYHJB,
    initYHLX,
    initYwks
} from "@/api/sgyhpczl/initSelect";
import {getPageList,initDangerRebound} from '@/api/sgyhpczl/hiddenDangerRegistration'
import {deepClone} from '@/utils'
export default {
@@ -167,36 +369,107 @@
  name: "hiddenDangerList",
  data() {
    return {
            type: '0',
        id:'',
        rowIndex:-1,
        dangerList:[],
        dangerForm:{},
        dangerRules:{
                ht_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
            address: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_content: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_typesub: [{ 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' },],
                alter_status: [{ required: true, message: '不能为空', trigger: 'blur' },],
                Review: [{ required: true, message: '不能为空', trigger: 'blur' },],
                duty_officer:[{ required: true, message: '不能为空', trigger: 'blur' },]
        },
        title:'新增',
        dialogVisible:false,
            BCList:[],
        JCLBList:[],
            JCDWList:[{label:"众泰煤焦化",value:0},{label:"上级单位",value:1}],
            YHBMList:[],
        YHLXList:[],
        YHJBList:[],
            JCBMList:[],
            llrList:[],
            statusList:[],
            YWKSList:[],
            reboundList:[],
        ruleForm: {},
        rules: {
           check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
           check_main_branch: [{ required: true, message: '不能为空', trigger: 'change' },],
                check_class: [{ required: true, message: '不能为空', trigger: 'blur' },],
                check_main_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
                check_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
                check_man: [{ required: true, message: '不能为空', trigger: 'blur' },],
           checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
        },
        tableData: [],
            paramsData: {},//上个页面参数
            listQuery:{
                page:1,
                limit:10,
                form:{},
            },
            currentPage: 1,
            pageSize: 10,
            recordTotal: 0,
            detailTableData:[],//隐患详情列表
    };
  },
    mounted(){
        this.initBC()
        this.initJCLB()
        this.initYHJB()
        this.initYHLX()
        //this.initLlr()
        this.initReformStatus()
        this.initYHBM()
        this.initYWKS()
        this.initWXY()
        this.initDangerRebound()
        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: {
        initInfo(data){
            this.paramsData = this.$route.query.data;
            this.ruleForm.jyfsId = data.id;
            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){
                    this.reboundList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
      submitDanger(formName){
          this.$refs[formName].validate((valid) => {
              if (valid) {
@@ -214,6 +487,17 @@
                  return false;
              }
          });
        },
        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('确认删除吗', '提示', {
@@ -259,6 +543,46 @@
              }
          }
      },
        initWXY(){
            var param={
                page: 1,
                limit: 1000
            }
            initWxy(param).then(res=>{
                if (res.data.ok==1){
                    this.dangerList=res.data.data.items
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYWKS(){
            initYwks().then(res=>{
                if (res.data.ok==1){
                    this.YWKSList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHBM(){
            initYHBM().then(res=>{
                if (res.data.ok==1){
                    this.YHBMList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initLlr(){
            initLlr().then(res=>{
                if (res.data.ok==1){
                    this.llrList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
      initReformStatus(){
          initReformStatus().then(res=>{
              if (res.data.ok==1){
@@ -295,6 +619,15 @@
              }
          })
      },
        initBC(){
            initBC().then(res=>{
                if (res.data.ok==1){
                    this.BCList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
      initJCLB(){
          initJCLB().then(res=>{
              if (res.data.ok==1){
@@ -305,28 +638,71 @@
          })
      },
      closeShow(){
        returnIndex(){
          this.$router.push({
              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
            save(this.ruleForm).then(res=>{
                    if(this.judge(this.tableData[0])){
                        this.$message({type:'error', message:"请完整录入隐患", duration:2000})
                    }
                    // 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:"/oneFromanotherN"
                                path:"/oneFromanother"
                    })
                }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 {
          console.log("error submit!!");