Your Name
2022-06-23 b097841d8c343edd2b6cb650d0693c502754ce26
'导入导出'
已修改2个文件
已添加7个文件
4006 ■■■■■ 文件已修改
src/api/riskSource.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/example/riskSource.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentHidden/oneFromanotherN/addDanger.vue 359 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentHidden/oneFromanotherN/existN.vue 765 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentHidden/oneFromanotherN/index.vue 794 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentSearch/oneFromanotherN/addDanger.vue 359 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentSearch/oneFromanotherN/existN.vue 765 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentSearch/oneFromanotherN/index.vue 794 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/riskSource.js
@@ -44,3 +44,25 @@
        data:data
    })
}
export function exportRiskSource() {
    return request({
        headers: {
            'Authorization': getToken()
        },
        url: process.env.BASE_API + '/riskSource/export',
        method: 'get',
    })
}
export function importRiskSource(data) {
    return request({
        headers: {
            'Authorization': getToken()
        },
        url: process.env.BASE_API + '/riskSource/import',
        method: 'post',
        data
    })
}
src/assets/example/riskSource.xlsx
Binary files differ
src/views/accidentHidden/oneFromanotherN/addDanger.vue
对比新文件
@@ -0,0 +1,359 @@
<template>
  <div class="app-container">
    <div style="">
      <Titlename title="录入举一反三页面"></Titlename>
      <div class="whole-form">
        <el-form
          :model="ruleForm"
          :rules="rules"
          ref="ruleForm"
          label-width="150px"
          class="demo-ruleForm"
          style="margin: 0 14% 0 16%">
          <el-row>
            <el-col :span="9">
              <el-form-item label="检查时间" prop="check_date">
                <el-date-picker
                  v-model="ruleForm.check_date"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  style="width: 100%">
                </el-date-picker>
              </el-form-item>
            </el-col>
             <el-col :span="9">
              <el-form-item label="检查类别" prop="checktype">
                  <el-select v-model="ruleForm.checktype" placeholder="请选择"  style="width: 100%">
                      <el-option
                          v-for="item in JCLBList"
                          :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="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>
            </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-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_typesub"  align="center" label="隐患类别"></el-table-column>
                    <el-table-column prop="ht_level"  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" @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-form-item>
            </el-col>
          </el-row>
        </el-form>
      </div>
    </div>
      <el-dialog
          :title="title"
          :visible.sync="dialogVisible"
          :close-on-click-modal="false"
          width="40%">
          <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>
                  </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-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="请选择">
                              <el-option
                                  v-for="item in YHLXList"
                                  :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-form-item label="隐患级别" prop="ht_level">
                          <el-select v-model="dangerForm.ht_level" placeholder="请选择">
                              <el-option
                                  v-for="item in YHJBList"
                                  :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="22">
                      <el-form-item style="text-align: center">
                          <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 {deepClone} from '@/utils'
export default {
  components: { Titlename },
  name: "hiddenDangerList",
  data() {
    return {
        id:'',
        rowIndex:-1,
        dangerList:[],
        dangerForm:{},
        dangerRules:{
            address: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_content: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_typesub: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_level: [{ required: true, message: '不能为空', trigger: 'blur' },],
        },
        title:'新增',
        dialogVisible:false,
        JCLBList:[],
        YHLXList:[],
        YHJBList:[],
        ruleForm: {},
        rules: {
           check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
           check_main_branch: [{ required: true, message: '不能为空', trigger: 'change' },],
           checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
        },
        tableData: [],
    };
  },
    mounted(){
        this.initJCLB()
        this.initYHJB()
        this.initYHLX()
    },
  methods: {
      submitDanger(formName){
          this.$refs[formName].validate((valid) => {
              if (valid) {
                  if(this.title=='新增'){
                      this.tableData.push(this.dangerForm)
                  }else {
                      var arr = this.tableData;
                      arr.splice(this.rowIndex, 1, this.dangerForm);
                      this.tableData = arr;
                  }
                  this.dialogVisible=false
              } else {
                  console.log("error submit!!");
                  return false;
              }
          });
      },
      deleteDanger(row, index) {
          this.$confirm('确认删除吗', '提示', {
              confirmButtonText: '确认',
              cancelButtonText: '取消',
              type: 'warning'
          })
              .then(() => {
                  var arr = deepClone(this.tableData);
                  var brr = [];
                  for (var i = 0; i < arr.length; i++) {
                      if (i == index) {
                      } else {
                          brr.push(arr[i]);
                      }
                  }
                  this.tableData = deepClone(brr);
                  //this.tableData.splice(index)
              })
              .catch(error => {
              });
      },
      editDanger(row, index) {
          this.dangerForm = deepClone(row);
          this.rowIndex = index;
          this.dialogVisible = true;
          this.title = '编辑';
      },
      addDanger(){
          this.dangerForm={}
          this.title="新增"
          this.dialogVisible=true
      },
      changeWxy(e){
          for(var i=0;i<this.dangerList.length;i++){
              if(e==this.dangerList[i].id){
                  this.dangerForm.DTRisk_level=this.dangerList[i].mriskLevel
                  this.dangerForm.dangerousSource=this.dangerList[i].mriskPoint
              }
          }
      },
      initReformStatus(){
          initReformStatus().then(res=>{
              if (res.data.ok==1){
                  this.statusList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      changeJCDW(val){
          initJCBM(val).then(res=>{
              if (res.data.ok==1){
                  this.JCBMList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      initYHLX(){
          initYHLX().then(res=>{
              if (res.data.ok==1){
                  this.YHLXList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      initYHJB(){
          initYHJB().then(res=>{
              if (res.data.ok==1){
                  this.YHJBList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      initJCLB(){
          initJCLB().then(res=>{
              if (res.data.ok==1){
                  this.JCLBList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      closeShow(){
          this.$router.push({
              path:"/oneFromanotherN"
          })
      },
    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 (res.data.ok==1){
                    this.$message({type:'success', message:"新增成功", duration:3000})
                    this.$router.push({
                        path:"/oneFromanotherN"
                    })
                }else {
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
  },
};
</script>
<style scoped>
.app-container {
  padding: 20px;
  height: 850px;
  overflow-y: auto;
}
.app-container /deep/ .box {
  padding-top: 0;
}
/* /deep/ .multiline .el-input__inner {
  height: 62px;
} */
 .btns{
        background-color: #034ea2;
        border: 1px solid #034ea2;
    }
</style>
src/views/accidentHidden/oneFromanotherN/existN.vue
对比新文件
@@ -0,0 +1,765 @@
<template>
    <div class="app-container" >
        <div v-if="type=='0'" style="">
            <Titlename title="录入隐患单页面"></Titlename>
            <div class="whole-form">
                <el-form
                    :model="ruleForm"
                    :rules="rules"
                    ref="ruleForm"
                    label-width="150px"
                    class="demo-ruleForm"
                    style="margin: 0 14% 0 16%"
                >
                    <el-row>
                        <el-col :span="9">
                            <el-form-item label="检查时间" prop="check_date">
                                <el-date-picker
                                    v-model="ruleForm.check_date"
                                    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="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%">
                                    <el-option
                                        v-for="item in JCLBList"
                                        :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-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_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>
                            </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>
                        <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">
                        <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="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="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>
                                    <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="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"
            :close-on-click-modal="false"
            width="40%">
            <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px">
                <el-row>
                    <el-col :span="9">
                        <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="请选择">
                                <el-option
                                    v-for="item in YHLXList"
                                    :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-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
                                    v-for="item in YHJBList"
                                    :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>
                    </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 @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 {
    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 {
    components: { Titlename },
    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' },],
                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' },],
                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_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:[],//隐患详情列表
            beforeData:{}, //上个页面信息
            beforeFlag:true,//上个页面信息保存标志
        };
    },
    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.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){
                    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) {
                    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);
                        this.tableData = arr;
                    }
                    this.dialogVisible=false
                } else {
                    console.log("error submit!!");
                    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('确认删除吗', '提示', {
                confirmButtonText: '确认',
                cancelButtonText: '取消',
                type: 'warning'
            })
                .then(() => {
                    var arr = deepClone(this.tableData);
                    var brr = [];
                    for (var i = 0; i < arr.length; i++) {
                        if (i == index) {
                        } else {
                            brr.push(arr[i]);
                        }
                    }
                    this.tableData = deepClone(brr);
                    //this.tableData.splice(index)
                })
                .catch(error => {
                });
        },
        editDanger(row, index) {
            this.dangerForm = deepClone(row);
            this.rowIndex = index;
            this.dialogVisible = true;
            this.title = '编辑';
        },
        addDanger(){
            if (!this.beforeFlag){
                this.dangerForm={}
            }
            this.title="新增"
            this.dialogVisible=true
        },
        changeWxy(e){
            for(var i=0;i<this.dangerList.length;i++){
                if(e==this.dangerList[i].id){
                    this.dangerForm.DTRisk_level=this.dangerList[i].mriskLevel
                    this.dangerForm.dangerousSource=this.dangerList[i].mriskPoint
                }
            }
        },
        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){
                    this.statusList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        changeJCDW(val){
            initJCBM(val).then(res=>{
                if (res.data.ok==1){
                    this.JCBMList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHLX(){
            initYHLX().then(res=>{
                if (res.data.ok==1){
                    this.YHLXList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHJB(){
            initYHJB().then(res=>{
                if (res.data.ok==1){
                    this.YHJBList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        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){
                    this.JCLBList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        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) {
                    this.ruleForm.items=this.tableData
                    // 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.$router.push({
                                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 {
                    console.log("error submit!!");
                    return false;
                }
            });
        },
    },
};
</script>
<style scoped>
.app-container {
    padding: 20px;
    height: 850px;
    overflow-y: auto;
}
.app-container /deep/ .box {
    padding-top: 0;
}
/* /deep/ .multiline .el-input__inner {
  height: 62px;
} */
.btns{
    background-color: #034ea2;
    border: 1px solid #034ea2;
}
</style>
src/views/accidentHidden/oneFromanotherN/index.vue
对比新文件
@@ -0,0 +1,794 @@
<template>
    <div class="app-container">
            <el-form ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="80px">
            <el-form-item label="隐患单位">
                <el-input v-model="listQuery.form.check_main_branch" style="width:202px"></el-input>
<!--                <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择">-->
<!--                    <el-option-->
<!--                        v-for="item in XFDWList"-->
<!--                        :key="item.value"-->
<!--                        :label="item.value"-->
<!--                        :value="item.value">-->
<!--                    </el-option>-->
<!--                </el-select>-->
            </el-form-item>
            <el-form-item label="检查类别">
                <el-select v-model="listQuery.form.checktype" placeholder="请选择">
                    <el-option
                        v-for="item in JCLBList"
                        :key="item.value"
                        :label="item.value"
                        :value="item.value">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="被检单位">
                <el-input v-model="listQuery.form.ht_community" style="width:202px"></el-input>
            </el-form-item>
            <el-form-item label="隐患级别">
                <el-select v-model="listQuery.form.ht_level" placeholder="请选择">
                    <el-option
                        v-for="item in YHJBList"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="隐患类别">
                <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择">
                    <el-option
                        v-for="item in YHLBList"
                        :key="item.value"
                        :label="item.value"
                        :value="item.value">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="隐患地点">
                <el-input v-model="listQuery.form.address" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="隐患内容">
                <el-input v-model="listQuery.form.ht_content" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="发送单位" v-if="listQuery.type=='1'">
                <el-input  v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="检查时间">
                <el-col :span="11">
                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateStart"
                                    style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                </el-col>
                <el-col style="text-align:center" :span="2">-</el-col>
                <el-col :span="11">
                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateEnd"
                                    style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                </el-col>
            </el-form-item>
            <el-form-item style="text-align:center;padding:0 50px">
                <el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询
                </el-button>
                <el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
            </el-form-item>
        </el-form>
     <el-row class="title-center">
            <el-col :span="10">
                <el-radio-group v-if="table1" v-model="listQuery.type" @change="typeChange">
                    <el-radio-button label="0">待发送</el-radio-button>
                    <el-radio-button label="1">已发送</el-radio-button>
                </el-radio-group>
                <el-radio-group v-if="table2" v-model="listQuery.sendType" @change="sendTypeChange">
                    <el-radio-button label="0">待自查</el-radio-button>
                    <el-radio-button label="1">已自查</el-radio-button>
                </el-radio-group>
          <el-button class="btns" type="primary" size="small" v-if="table1" @click="handoff(1)">进入自查({{selfTotal}})</el-button>
          <el-button class="btns" type="primary" size="small" v-if="table2" @click="handoff(2)">返回填写</el-button>
            </el-col>
            <div v-if="table1">
            <el-col :span="14" style="text-align:right;" v-if="listQuery.type==0">
                <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" @click="openSend()">发送</el-button>
                <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="addDanger()">添加</el-button>
                <el-button size="small" @click="deleteBatch()" >批量删除</el-button>
            </el-col>
             <el-col :span="14" style="text-align:right;" v-if="listQuery.type==1">
                <el-button class="btns" type="primary" size="small" @click="tackBack()">收回</el-button>
            </el-col>
            </div>
        </el-row>
        <div v-if="table1">
         <el-table ref="dataTable"
                   v-if="listQuery.type==0"
                   v-loading="loading"
                   :data="tableData"
                   style="width: 100%"
                   @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate"  width="120" align="center">
<!--                    <template slot-scope="scope">-->
<!--                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>-->
<!--                        <label>{{ scope.row.check_class}}</label>-->
<!--                    </template>-->
                </el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <!-- <el-table-column prop="measure" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="隐患内容" width="200" align="center">
                <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="curWarningLevel" label="下发单位" align="center"></el-table-column> -->
            <el-table-column prop="date" label="基本操作" align="center">
                <template slot-scope="scope">
                    <el-button @click="editDanger(scope.row)" type="text" size="small">编辑</el-button>
                    <el-button @click="deleteDanger(scope.row)" type="text" size="small">删除</el-button>
                </template>
            </el-table-column>
        </el-table>
            <el-table ref="dataTable" v-if="listQuery.type==1" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center">
<!--                    <template slot-scope="scope">-->
<!--                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>-->
<!--                        <label>{{ scope.row.check_class}}</label>-->
<!--                    </template>-->
                </el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
            <el-table-column prop="ht_community" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="隐患内容" width="200" align="center">
                <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="workGroupName" label="发送单位" align="center"></el-table-column>
            <el-table-column prop="state" label="未自查单位" align="center"></el-table-column>
        </el-table>
        </div>
            <el-table
                ref="dataTable"
                v-if="table2"
                :data="tableData" style="width: 100%"
                @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center">
<!--                    <template slot-scope="scope">-->
<!--                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>-->
<!--                        <label>{{ scope.row.check_class}}</label>-->
<!--                    </template>-->
                </el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <el-table-column prop="ht_community" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="内容" width="200" align="center"></el-table-column>
            <el-table-column prop="workGroupName" label="发送单位" align="center"></el-table-column>
            <el-table-column prop="date" label="自查结果" align="center">
                <template slot-scope="scope">
                    <el-button @click="handleClick(scope.row,'不存在')" type="text" size="small">不存在</el-button>
                    <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.sendType=='0'" size="small">存在</el-button>
                    <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.sendType=='1'" size="small">追查结果</el-button>
                </template>
            </el-table-column>
        </el-table>
        <div style="text-align: right">
            <el-pagination
                v-show="recordTotal > 0"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="currentPage"
                :page-sizes="[10, 20, 30, 50]"
                :page-size="pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="recordTotal"
            >
            </el-pagination>
        </div>
        <!-- 编辑弹窗 -->
        <el-dialog
            title="编辑"
            :visible.sync="dialogVisible"
            :close-on-click-modal="false"
            width="40%">
            <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px">
                <el-row>
                    <el-col :span="9">
                        <el-form-item label="检查时间" prop="check_date">
                            <el-date-picker
                                v-model="dangerForm.check_date"
                                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="checktype">
                            <el-select v-model="dangerForm.checktype" placeholder="请选择">
                                <el-option
                                    v-for="item in JCLBList"
                                    :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="check_main_branch">
                            <el-input v-model="dangerForm.check_main_branch" class="multiline"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <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>
                    </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-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="请选择">
                                <el-option
                                    v-for="item in YHLBList"
                                    :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-form-item label="隐患级别" prop="ht_level">
                            <el-select v-model="dangerForm.ht_level" placeholder="请选择">
                                <el-option
                                    v-for="item in YHJBList"
                                    :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="22">
                        <el-form-item style="text-align: center">
                            <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>
        <!-- 部门弹窗 -->
        <el-dialog
            title="责任单位"
            :visible.sync="bmDialogVisible"
            :close-on-click-modal="false"
            width="40%">
            <el-form>
                <el-row>
                    <el-checkbox style="width: 80px;height: 30px"
                                 v-for="item in YHBMList"
                                 v-model="checked"
                                 :label="item.branch_id"
                                 :key="item.branch_name">
                        {{item.branch_name}}
                    </el-checkbox>
                </el-row>
                <el-row>
                    <el-col :span="22">
                        <el-form-item style="text-align: center;">
                            <el-button class="btn" size="small" type="primary" @click="submitForm()">
                                保存
                            </el-button>
                            <el-button size="small" @click="bmDialogVisible = false">关闭</el-button>
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
        </el-dialog>
        <!-- 不存在弹窗-->
        <el-dialog :title="selfTitle" :visible.sync="selfInspectVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
            <el-form ref="selfInspectForm" :rules="selfInspectFormRules" :model="selfInspectForm" label-position="right" label-width="80px">
                <el-form-item label="自查人" prop="markUserName">
                    <el-input v-model="selfInspectForm.markUserName" class="analyseUnit_input"></el-input>
                </el-form-item>
                <el-form-item label="自查时间" prop="markDate">
                    <el-col :span="11">
                        <el-date-picker type="date" placeholder="选择日期" v-model="selfInspectForm.markDate"
                                        style="width: 100%;" value-format="yyyy-MM-dd">
                        </el-date-picker>
                    </el-col>
                </el-form-item>
                <el-form-item label="备注" prop="remark">
                    <el-input v-model="selfInspectForm.remark" type="textarea" rows="5" class="analyseUnit_input"></el-input>
                </el-form-item>
            </el-form>
            <div  align="center">
                <el-button type="primary" v-if="listQuery.sendType == '0'" @click="submitSelfInspect()">确认</el-button>
                <el-button @click="selfInspectVisible = false">关闭</el-button>
            </div>
        </el-dialog>
    </div>
</template>
<script>
import { getPageList, edit, del, send, revoke} from "@/api/sgyhpczl/oneFromanotherN"
import {noExistSave,selfCheckNotInfo} from "@/api/sgyhpczl/oneFromanother"
import {initJCBM, initYHLX, initJCLB, initYHJB,initYHBM} from "@/api/sgyhpczl/initSelect";
import {deepClone} from '@/utils'
    export default{
        data(){
            return{
                listQuery:{
                    page:1,
                    limit:10,
                    type: 0,
                    sendType: 0,
                    form:{},
                },
                selfTotal: 0,
                radio1:'待发送',
                table1:true,
                table2:false,
                currentPage: 1,
                pageSize: 10,
                recordTotal: 0,
                YHBMList: [],
                bmDialogVisible: false,
                checked:[],
                requestData:{},//发送提交参数
                XFDWList:[],
                YHLBList:[],
                YHJBList:[],
                JCLBList:[],
                tableData:[],
                selectedList:[],
                loading:false,
                listLoading: false,
                selfInspectVisible: false,
                selfInspectForm:{
                    id: '',
                    markUserName:'',
                    markDate:'',
                    remark:'',
                },
                selfTitle: '',
                selfInspectFormRules:{
                    markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }],
                    markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }]
                },
                dialogVisible:false,
                dangerForm:{},
                dangerRules:{
                    check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
                    check_main_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
                    checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
                },
            }
        },
        mounted() {
            this.getPageList();
            this.getSelfTotal();
            this.initYHBM();
            this.initJCLB();
            this.initXFDW();
            this.initYHJB();
            this.initYHLB();
        },
        methods:{
            addDanger(){
                this.$router.push({
                    path:'/addDanger',
                })
            },
            handleClick(data,val){
                if(val=='不存在'){
                    this.$nextTick(() =>{
                        this.$refs["selfInspectForm"].clearValidate()
                    })
                    this.selfInspectForm={id:data.id}
                    this.selfInspectVisible = true
                    if (this.listQuery.sendType == '1'){
                        let params = {
                            id: data.id,
                            type: 1,
                        }
                        selfCheckNotInfo(params).then(res=>{
                            if (res.data.ok==1){
                                this.selfInspectForm=res.data.data[0]
                            } else{
                                this.$message({type:'error', message:res.data.msg, duration:3000})
                            }
                        })
                    }
                    return
                }
                let puType = '0';
                this.$router.push({
                    path:'/existN',
                    query: {
                        data: data,
                        type: puType
                    }
                })
            },
            //不存在提交
            submitSelfInspect(){
                this.$refs["selfInspectForm"].validate((valid) =>{
                    if (valid){
                        noExistSave(this.selfInspectForm).then((res)=>{
                            if (res.data.ok==1) {
                                this.$message({type:'success', message:"保存成功", duration:3000});
                                this.selfInspectVisible = false
                            }else{
                                this.$message({type:'error', message:res.data.msg, duration:3000})
                            }
                        })
                    }
                })
            },
            handoff(index){
                if(index==1){
                    this.table1=false
                    this.table2=true
                    this.listQuery.type = 2
                    this.listQuery.sendType = 0
                    this.getPageList()
                }else{
                    this.listQuery.type = 0
                    this.getPageList()
                    this.getSelfTotal();
                    this.table1=true
                    this.table2=false
                }
            },
            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})
                    }
                })
            },
            initXFDW(){
                initJCBM(1).then(res=>{
                    if (res.data.ok==1){
                        this.XFDWList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initYHLB(){
                initYHLX().then(res=>{
                    if (res.data.ok==1){
                        this.YHLBList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initYHJB(){
                initYHJB().then(res=>{
                    if (res.data.ok==1){
                        this.YHJBList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initJCLB(){
                initJCLB().then(res=>{
                    if (res.data.ok==1){
                        this.JCLBList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            checkTime(){
                if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
                    if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
                    }else {
                        this.$message({type:'error', message:"请选择检查结束时间", duration:3000})
                        return
                    }
                }
            },
            //搜索
            getPageList(){
                this.listQuery.page=1
                this.checkTime()
                this.loading=true
                getPageList(this.listQuery).then(res=>{
                    this.loading=false
                    if (res.data.ok==1) {
                        this.tableData = res.data.data.items
                        this.recordTotal=res.data.data.total
                    }else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            //获取待自查数量
            getSelfTotal(){
                if (this.listQuery.type != '2'){
                    let query = {
                        page: 1,
                        sendType: 0,
                        type: 2,
                        form:{},
                    };
                    getPageList(query).then(res=>{
                        if (res.data.ok==1) {
                            this.selfTotal=res.data.data.total
                        }else{
                            this.$message({type:'error', message:res.data.msg, duration:3000})
                        }
                    })
                }
            },
            //重置
            reset(){
                this.listQuery.form={};
                this.getPageList()
            },
            handleSizeChange(val){
                this.listQuery.limit = val
                this.getPageListForPagination();
            },
            handleCurrentChange(val){
                this.listQuery.page = val
                this.getPageListForPagination();
            },
            getPageListForPagination(){
                this.checkTime()
                getPageList(this.listQuery).then(res=>{
                    if (res.data.ok==1) {
                        this.tableData = res.data.data.items
                        this.recordTotal=res.data.data.total
                    }else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            typeChange(val){
                this.listQuery.type = val;
                this.getPageList()
            },
            sendTypeChange(val){
                this.listQuery.sendType = val;
                this.getPageList()
            },
            handleSelectionChange(val){
                this.selectedList = []
                val.forEach((item) => {
                    this.selectedList.push(item)
                })
            },
            //日期格式转换
            formatColumnDate(row, column) {
                // 获取单元格数据
                let data = row[column.property]
                if (data == null) {
                    return null
                }
                let dt = new Date(data)
                return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
            },
            editDanger(row, index) {
                this.dangerForm = deepClone(row);
                this.rowIndex = index;
                this.dialogVisible = true;
            },
            //编辑提交
            submitDanger(formName){
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        edit(this.dangerForm).then(res=>{
                            if (res.data.ok==1) {
                                this.dialogVisible=false
                                this.$message({type:'success', message:res.data.msg, duration:3000})
                                this.getPageList()
                            }else{
                                this.$message({type:'error', message:res.data.msg, duration:3000})
                            }
                        })
                    } else {
                        console.log("error submit!!");
                        return false;
                    }
                });
            },
            deleteBatch() {
                if (this.selectedList == null || this.selectedList.length == 0) {
                    this.$message({type: 'warning', message: '至少选中一条数据', duration: 3000})
                    return
                }
                var ids = this.selectedList.map((obj) => {
                    return obj.id
                }).join(",")
                this.$confirm('确认删除吗', '提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                        del(ids).then(() => {
                            this.getPageList()
                            this.$notify({
                                title: "成功",
                                message: "删除成功",
                                type: "success",
                                duration: 2000,
                            });
                        });
                    })
                    .catch(error => {
                    });
            },
            deleteDanger(row) {
                this.$confirm('确认删除吗', '提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    console.log(row.id)
                        del(row.id).then(() => {
                            this.getPageList()
                            this.$notify({
                                title: "成功",
                                message: "删除成功",
                                type: "success",
                                duration: 2000,
                            });
                        });
                    }).catch(error => {
                });
            },
            //发送提交
            submitForm() {
                if (this.checked.length == 0) {
                    this.$message({
                        type: 'warning',
                        message: '请勾选需要发送的部门!'
                    });
                    return;
                }
                this.requestData.branchIds = this.checked.join(";");
                send(this.requestData).then(res => {
                    if (res.data.ok) {
                        this.$message({
                            type: 'success',
                            message: res.data.msg
                        });
                        this.bmDialogVisible = false;
                        this.getPageList();
                    } else {
                        this.$message({
                            type: 'error',
                            message: res.data.msg
                        });
                    }
                })
            },
            openSend() {
                if (this.selectedList.length != 1) {
                    this.$message({
                        type: 'warning',
                        message: '请选择一条数据!'
                    });
                    return false;
                } else {
                    this.requestData.id = this.selectedList[0].id;
                    this.bmDialogVisible = true;
                }
            },
            tackBack(){
                if (this.selectedList.length != 1) {
                    this.$message({
                        type: 'warning',
                        message: '请选择一条数据!'
                    });
                    return false;
                }else {
                    this.$confirm('确认收回吗', '提示', {
                        confirmButtonText: '确认',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(() => {
                        let data = {
                            id: this.selectedList[0].id
                        }
                        revoke(data).then(() => {
                            this.getPageList()
                            this.$notify({
                                title: "成功",
                                message: "收回成功",
                                type: "success",
                                duration: 2000,
                            });
                        });
                    }).catch(error => {
                    });
                }
            }
        }
    }
</script>
<style scoped>
.inquire {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
}
.inquire .el-form-item {
    padding: 0 46px;
}
.title-center {
    padding: 20px 0;
}
.btns {
    background-color: #034ea2;
    border: 1px solid #034ea2;
}
.title-center /deep/ .el-radio-button:first-child .el-radio-button__inner {
    border: none;
}
.title-center /deep/ .el-radio-button__inner {
    border: none;
    border-radius: 0px;
}
.title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
    background-color: #034ea2;
    background-color: #034ea2;
}
</style>
src/views/accidentSearch/oneFromanotherN/addDanger.vue
对比新文件
@@ -0,0 +1,359 @@
<template>
  <div class="app-container">
    <div style="">
      <Titlename title="录入举一反三页面"></Titlename>
      <div class="whole-form">
        <el-form
          :model="ruleForm"
          :rules="rules"
          ref="ruleForm"
          label-width="150px"
          class="demo-ruleForm"
          style="margin: 0 14% 0 16%">
          <el-row>
            <el-col :span="9">
              <el-form-item label="检查时间" prop="check_date">
                <el-date-picker
                  v-model="ruleForm.check_date"
                  type="date"
                  value-format="yyyy-MM-dd"
                  placeholder="选择日期"
                  style="width: 100%">
                </el-date-picker>
              </el-form-item>
            </el-col>
             <el-col :span="9">
              <el-form-item label="检查类别" prop="checktype">
                  <el-select v-model="ruleForm.checktype" placeholder="请选择"  style="width: 100%">
                      <el-option
                          v-for="item in JCLBList"
                          :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="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>
            </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-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_typesub"  align="center" label="隐患类别"></el-table-column>
                    <el-table-column prop="ht_level"  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" @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-form-item>
            </el-col>
          </el-row>
        </el-form>
      </div>
    </div>
      <el-dialog
          :title="title"
          :visible.sync="dialogVisible"
          :close-on-click-modal="false"
          width="40%">
          <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>
                  </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-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="请选择">
                              <el-option
                                  v-for="item in YHLXList"
                                  :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-form-item label="隐患级别" prop="ht_level">
                          <el-select v-model="dangerForm.ht_level" placeholder="请选择">
                              <el-option
                                  v-for="item in YHJBList"
                                  :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="22">
                      <el-form-item style="text-align: center">
                          <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 {deepClone} from '@/utils'
export default {
  components: { Titlename },
  name: "hiddenDangerList",
  data() {
    return {
        id:'',
        rowIndex:-1,
        dangerList:[],
        dangerForm:{},
        dangerRules:{
            address: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_content: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_typesub: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_level: [{ required: true, message: '不能为空', trigger: 'blur' },],
        },
        title:'新增',
        dialogVisible:false,
        JCLBList:[],
        YHLXList:[],
        YHJBList:[],
        ruleForm: {},
        rules: {
           check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
           check_main_branch: [{ required: true, message: '不能为空', trigger: 'change' },],
           checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
        },
        tableData: [],
    };
  },
    mounted(){
        this.initJCLB()
        this.initYHJB()
        this.initYHLX()
    },
  methods: {
      submitDanger(formName){
          this.$refs[formName].validate((valid) => {
              if (valid) {
                  if(this.title=='新增'){
                      this.tableData.push(this.dangerForm)
                  }else {
                      var arr = this.tableData;
                      arr.splice(this.rowIndex, 1, this.dangerForm);
                      this.tableData = arr;
                  }
                  this.dialogVisible=false
              } else {
                  console.log("error submit!!");
                  return false;
              }
          });
      },
      deleteDanger(row, index) {
          this.$confirm('确认删除吗', '提示', {
              confirmButtonText: '确认',
              cancelButtonText: '取消',
              type: 'warning'
          })
              .then(() => {
                  var arr = deepClone(this.tableData);
                  var brr = [];
                  for (var i = 0; i < arr.length; i++) {
                      if (i == index) {
                      } else {
                          brr.push(arr[i]);
                      }
                  }
                  this.tableData = deepClone(brr);
                  //this.tableData.splice(index)
              })
              .catch(error => {
              });
      },
      editDanger(row, index) {
          this.dangerForm = deepClone(row);
          this.rowIndex = index;
          this.dialogVisible = true;
          this.title = '编辑';
      },
      addDanger(){
          this.dangerForm={}
          this.title="新增"
          this.dialogVisible=true
      },
      changeWxy(e){
          for(var i=0;i<this.dangerList.length;i++){
              if(e==this.dangerList[i].id){
                  this.dangerForm.DTRisk_level=this.dangerList[i].mriskLevel
                  this.dangerForm.dangerousSource=this.dangerList[i].mriskPoint
              }
          }
      },
      initReformStatus(){
          initReformStatus().then(res=>{
              if (res.data.ok==1){
                  this.statusList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      changeJCDW(val){
          initJCBM(val).then(res=>{
              if (res.data.ok==1){
                  this.JCBMList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      initYHLX(){
          initYHLX().then(res=>{
              if (res.data.ok==1){
                  this.YHLXList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      initYHJB(){
          initYHJB().then(res=>{
              if (res.data.ok==1){
                  this.YHJBList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      initJCLB(){
          initJCLB().then(res=>{
              if (res.data.ok==1){
                  this.JCLBList=res.data.data
              } else{
                  this.$message({type:'error', message:res.data.msg, duration:3000})
              }
          })
      },
      closeShow(){
          this.$router.push({
              path:"/oneFromanotherN"
          })
      },
    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 (res.data.ok==1){
                    this.$message({type:'success', message:"新增成功", duration:3000})
                    this.$router.push({
                        path:"/oneFromanotherN"
                    })
                }else {
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
  },
};
</script>
<style scoped>
.app-container {
  padding: 20px;
  height: 850px;
  overflow-y: auto;
}
.app-container /deep/ .box {
  padding-top: 0;
}
/* /deep/ .multiline .el-input__inner {
  height: 62px;
} */
 .btns{
        background-color: #034ea2;
        border: 1px solid #034ea2;
    }
</style>
src/views/accidentSearch/oneFromanotherN/existN.vue
对比新文件
@@ -0,0 +1,765 @@
<template>
    <div class="app-container" >
        <div v-if="type=='0'" style="">
            <Titlename title="录入隐患单页面"></Titlename>
            <div class="whole-form">
                <el-form
                    :model="ruleForm"
                    :rules="rules"
                    ref="ruleForm"
                    label-width="150px"
                    class="demo-ruleForm"
                    style="margin: 0 14% 0 16%"
                >
                    <el-row>
                        <el-col :span="9">
                            <el-form-item label="检查时间" prop="check_date">
                                <el-date-picker
                                    v-model="ruleForm.check_date"
                                    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="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%">
                                    <el-option
                                        v-for="item in JCLBList"
                                        :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-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_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>
                            </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>
                        <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">
                        <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="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="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>
                                    <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="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"
            :close-on-click-modal="false"
            width="40%">
            <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px">
                <el-row>
                    <el-col :span="9">
                        <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="请选择">
                                <el-option
                                    v-for="item in YHLXList"
                                    :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-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
                                    v-for="item in YHJBList"
                                    :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>
                    </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 @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 {
    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 {
    components: { Titlename },
    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' },],
                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' },],
                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_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:[],//隐患详情列表
            beforeData:{}, //上个页面信息
            beforeFlag:true,//上个页面信息保存标志
        };
    },
    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.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){
                    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) {
                    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);
                        this.tableData = arr;
                    }
                    this.dialogVisible=false
                } else {
                    console.log("error submit!!");
                    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('确认删除吗', '提示', {
                confirmButtonText: '确认',
                cancelButtonText: '取消',
                type: 'warning'
            })
                .then(() => {
                    var arr = deepClone(this.tableData);
                    var brr = [];
                    for (var i = 0; i < arr.length; i++) {
                        if (i == index) {
                        } else {
                            brr.push(arr[i]);
                        }
                    }
                    this.tableData = deepClone(brr);
                    //this.tableData.splice(index)
                })
                .catch(error => {
                });
        },
        editDanger(row, index) {
            this.dangerForm = deepClone(row);
            this.rowIndex = index;
            this.dialogVisible = true;
            this.title = '编辑';
        },
        addDanger(){
            if (!this.beforeFlag){
                this.dangerForm={}
            }
            this.title="新增"
            this.dialogVisible=true
        },
        changeWxy(e){
            for(var i=0;i<this.dangerList.length;i++){
                if(e==this.dangerList[i].id){
                    this.dangerForm.DTRisk_level=this.dangerList[i].mriskLevel
                    this.dangerForm.dangerousSource=this.dangerList[i].mriskPoint
                }
            }
        },
        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){
                    this.statusList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        changeJCDW(val){
            initJCBM(val).then(res=>{
                if (res.data.ok==1){
                    this.JCBMList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHLX(){
            initYHLX().then(res=>{
                if (res.data.ok==1){
                    this.YHLXList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHJB(){
            initYHJB().then(res=>{
                if (res.data.ok==1){
                    this.YHJBList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        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){
                    this.JCLBList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        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) {
                    this.ruleForm.items=this.tableData
                    // 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.$router.push({
                                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 {
                    console.log("error submit!!");
                    return false;
                }
            });
        },
    },
};
</script>
<style scoped>
.app-container {
    padding: 20px;
    height: 850px;
    overflow-y: auto;
}
.app-container /deep/ .box {
    padding-top: 0;
}
/* /deep/ .multiline .el-input__inner {
  height: 62px;
} */
.btns{
    background-color: #034ea2;
    border: 1px solid #034ea2;
}
</style>
src/views/accidentSearch/oneFromanotherN/index.vue
对比新文件
@@ -0,0 +1,794 @@
<template>
    <div class="app-container">
            <el-form ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="80px">
            <el-form-item label="隐患单位">
                <el-input v-model="listQuery.form.check_main_branch" style="width:202px"></el-input>
<!--                <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择">-->
<!--                    <el-option-->
<!--                        v-for="item in XFDWList"-->
<!--                        :key="item.value"-->
<!--                        :label="item.value"-->
<!--                        :value="item.value">-->
<!--                    </el-option>-->
<!--                </el-select>-->
            </el-form-item>
            <el-form-item label="检查类别">
                <el-select v-model="listQuery.form.checktype" placeholder="请选择">
                    <el-option
                        v-for="item in JCLBList"
                        :key="item.value"
                        :label="item.value"
                        :value="item.value">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="被检单位">
                <el-input v-model="listQuery.form.ht_community" style="width:202px"></el-input>
            </el-form-item>
            <el-form-item label="隐患级别">
                <el-select v-model="listQuery.form.ht_level" placeholder="请选择">
                    <el-option
                        v-for="item in YHJBList"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="隐患类别">
                <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择">
                    <el-option
                        v-for="item in YHLBList"
                        :key="item.value"
                        :label="item.value"
                        :value="item.value">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="隐患地点">
                <el-input v-model="listQuery.form.address" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="隐患内容">
                <el-input v-model="listQuery.form.ht_content" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="发送单位" v-if="listQuery.type=='1'">
                <el-input  v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="检查时间">
                <el-col :span="11">
                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateStart"
                                    style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                </el-col>
                <el-col style="text-align:center" :span="2">-</el-col>
                <el-col :span="11">
                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateEnd"
                                    style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                </el-col>
            </el-form-item>
            <el-form-item style="text-align:center;padding:0 50px">
                <el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询
                </el-button>
                <el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
            </el-form-item>
        </el-form>
     <el-row class="title-center">
            <el-col :span="10">
                <el-radio-group v-if="table1" v-model="listQuery.type" @change="typeChange">
                    <el-radio-button label="0">待发送</el-radio-button>
                    <el-radio-button label="1">已发送</el-radio-button>
                </el-radio-group>
                <el-radio-group v-if="table2" v-model="listQuery.sendType" @change="sendTypeChange">
                    <el-radio-button label="0">待自查</el-radio-button>
                    <el-radio-button label="1">已自查</el-radio-button>
                </el-radio-group>
          <el-button class="btns" type="primary" size="small" v-if="table1" @click="handoff(1)">进入自查({{selfTotal}})</el-button>
          <el-button class="btns" type="primary" size="small" v-if="table2" @click="handoff(2)">返回填写</el-button>
            </el-col>
            <div v-if="table1">
            <el-col :span="14" style="text-align:right;" v-if="listQuery.type==0">
                <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" @click="openSend()">发送</el-button>
                <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="addDanger()">添加</el-button>
                <el-button size="small" @click="deleteBatch()" >批量删除</el-button>
            </el-col>
             <el-col :span="14" style="text-align:right;" v-if="listQuery.type==1">
                <el-button class="btns" type="primary" size="small" @click="tackBack()">收回</el-button>
            </el-col>
            </div>
        </el-row>
        <div v-if="table1">
         <el-table ref="dataTable"
                   v-if="listQuery.type==0"
                   v-loading="loading"
                   :data="tableData"
                   style="width: 100%"
                   @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate"  width="120" align="center">
<!--                    <template slot-scope="scope">-->
<!--                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>-->
<!--                        <label>{{ scope.row.check_class}}</label>-->
<!--                    </template>-->
                </el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <!-- <el-table-column prop="measure" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="隐患内容" width="200" align="center">
                <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="curWarningLevel" label="下发单位" align="center"></el-table-column> -->
            <el-table-column prop="date" label="基本操作" align="center">
                <template slot-scope="scope">
                    <el-button @click="editDanger(scope.row)" type="text" size="small">编辑</el-button>
                    <el-button @click="deleteDanger(scope.row)" type="text" size="small">删除</el-button>
                </template>
            </el-table-column>
        </el-table>
            <el-table ref="dataTable" v-if="listQuery.type==1" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center">
<!--                    <template slot-scope="scope">-->
<!--                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>-->
<!--                        <label>{{ scope.row.check_class}}</label>-->
<!--                    </template>-->
                </el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
            <el-table-column prop="ht_community" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="隐患内容" width="200" align="center">
                <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="workGroupName" label="发送单位" align="center"></el-table-column>
            <el-table-column prop="state" label="未自查单位" align="center"></el-table-column>
        </el-table>
        </div>
            <el-table
                ref="dataTable"
                v-if="table2"
                :data="tableData" style="width: 100%"
                @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center">
<!--                    <template slot-scope="scope">-->
<!--                        <label>{{ formatDate(scope.row.check_date)}}</label><br/>-->
<!--                        <label>{{ scope.row.check_class}}</label>-->
<!--                    </template>-->
                </el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <el-table-column prop="ht_community" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="内容" width="200" align="center"></el-table-column>
            <el-table-column prop="workGroupName" label="发送单位" align="center"></el-table-column>
            <el-table-column prop="date" label="自查结果" align="center">
                <template slot-scope="scope">
                    <el-button @click="handleClick(scope.row,'不存在')" type="text" size="small">不存在</el-button>
                    <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.sendType=='0'" size="small">存在</el-button>
                    <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.sendType=='1'" size="small">追查结果</el-button>
                </template>
            </el-table-column>
        </el-table>
        <div style="text-align: right">
            <el-pagination
                v-show="recordTotal > 0"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="currentPage"
                :page-sizes="[10, 20, 30, 50]"
                :page-size="pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="recordTotal"
            >
            </el-pagination>
        </div>
        <!-- 编辑弹窗 -->
        <el-dialog
            title="编辑"
            :visible.sync="dialogVisible"
            :close-on-click-modal="false"
            width="40%">
            <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px">
                <el-row>
                    <el-col :span="9">
                        <el-form-item label="检查时间" prop="check_date">
                            <el-date-picker
                                v-model="dangerForm.check_date"
                                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="checktype">
                            <el-select v-model="dangerForm.checktype" placeholder="请选择">
                                <el-option
                                    v-for="item in JCLBList"
                                    :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="check_main_branch">
                            <el-input v-model="dangerForm.check_main_branch" class="multiline"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <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>
                    </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-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="请选择">
                                <el-option
                                    v-for="item in YHLBList"
                                    :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-form-item label="隐患级别" prop="ht_level">
                            <el-select v-model="dangerForm.ht_level" placeholder="请选择">
                                <el-option
                                    v-for="item in YHJBList"
                                    :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="22">
                        <el-form-item style="text-align: center">
                            <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>
        <!-- 部门弹窗 -->
        <el-dialog
            title="责任单位"
            :visible.sync="bmDialogVisible"
            :close-on-click-modal="false"
            width="40%">
            <el-form>
                <el-row>
                    <el-checkbox style="width: 80px;height: 30px"
                                 v-for="item in YHBMList"
                                 v-model="checked"
                                 :label="item.branch_id"
                                 :key="item.branch_name">
                        {{item.branch_name}}
                    </el-checkbox>
                </el-row>
                <el-row>
                    <el-col :span="22">
                        <el-form-item style="text-align: center;">
                            <el-button class="btn" size="small" type="primary" @click="submitForm()">
                                保存
                            </el-button>
                            <el-button size="small" @click="bmDialogVisible = false">关闭</el-button>
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
        </el-dialog>
        <!-- 不存在弹窗-->
        <el-dialog :title="selfTitle" :visible.sync="selfInspectVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
            <el-form ref="selfInspectForm" :rules="selfInspectFormRules" :model="selfInspectForm" label-position="right" label-width="80px">
                <el-form-item label="自查人" prop="markUserName">
                    <el-input v-model="selfInspectForm.markUserName" class="analyseUnit_input"></el-input>
                </el-form-item>
                <el-form-item label="自查时间" prop="markDate">
                    <el-col :span="11">
                        <el-date-picker type="date" placeholder="选择日期" v-model="selfInspectForm.markDate"
                                        style="width: 100%;" value-format="yyyy-MM-dd">
                        </el-date-picker>
                    </el-col>
                </el-form-item>
                <el-form-item label="备注" prop="remark">
                    <el-input v-model="selfInspectForm.remark" type="textarea" rows="5" class="analyseUnit_input"></el-input>
                </el-form-item>
            </el-form>
            <div  align="center">
                <el-button type="primary" v-if="listQuery.sendType == '0'" @click="submitSelfInspect()">确认</el-button>
                <el-button @click="selfInspectVisible = false">关闭</el-button>
            </div>
        </el-dialog>
    </div>
</template>
<script>
import { getPageList, edit, del, send, revoke} from "@/api/sgyhpczl/oneFromanotherN"
import {noExistSave,selfCheckNotInfo} from "@/api/sgyhpczl/oneFromanother"
import {initJCBM, initYHLX, initJCLB, initYHJB,initYHBM} from "@/api/sgyhpczl/initSelect";
import {deepClone} from '@/utils'
    export default{
        data(){
            return{
                listQuery:{
                    page:1,
                    limit:10,
                    type: 0,
                    sendType: 0,
                    form:{},
                },
                selfTotal: 0,
                radio1:'待发送',
                table1:true,
                table2:false,
                currentPage: 1,
                pageSize: 10,
                recordTotal: 0,
                YHBMList: [],
                bmDialogVisible: false,
                checked:[],
                requestData:{},//发送提交参数
                XFDWList:[],
                YHLBList:[],
                YHJBList:[],
                JCLBList:[],
                tableData:[],
                selectedList:[],
                loading:false,
                listLoading: false,
                selfInspectVisible: false,
                selfInspectForm:{
                    id: '',
                    markUserName:'',
                    markDate:'',
                    remark:'',
                },
                selfTitle: '',
                selfInspectFormRules:{
                    markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }],
                    markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }]
                },
                dialogVisible:false,
                dangerForm:{},
                dangerRules:{
                    check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
                    check_main_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
                    checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
                },
            }
        },
        mounted() {
            this.getPageList();
            this.getSelfTotal();
            this.initYHBM();
            this.initJCLB();
            this.initXFDW();
            this.initYHJB();
            this.initYHLB();
        },
        methods:{
            addDanger(){
                this.$router.push({
                    path:'/addDanger',
                })
            },
            handleClick(data,val){
                if(val=='不存在'){
                    this.$nextTick(() =>{
                        this.$refs["selfInspectForm"].clearValidate()
                    })
                    this.selfInspectForm={id:data.id}
                    this.selfInspectVisible = true
                    if (this.listQuery.sendType == '1'){
                        let params = {
                            id: data.id,
                            type: 1,
                        }
                        selfCheckNotInfo(params).then(res=>{
                            if (res.data.ok==1){
                                this.selfInspectForm=res.data.data[0]
                            } else{
                                this.$message({type:'error', message:res.data.msg, duration:3000})
                            }
                        })
                    }
                    return
                }
                let puType = '0';
                this.$router.push({
                    path:'/existN',
                    query: {
                        data: data,
                        type: puType
                    }
                })
            },
            //不存在提交
            submitSelfInspect(){
                this.$refs["selfInspectForm"].validate((valid) =>{
                    if (valid){
                        noExistSave(this.selfInspectForm).then((res)=>{
                            if (res.data.ok==1) {
                                this.$message({type:'success', message:"保存成功", duration:3000});
                                this.selfInspectVisible = false
                            }else{
                                this.$message({type:'error', message:res.data.msg, duration:3000})
                            }
                        })
                    }
                })
            },
            handoff(index){
                if(index==1){
                    this.table1=false
                    this.table2=true
                    this.listQuery.type = 2
                    this.listQuery.sendType = 0
                    this.getPageList()
                }else{
                    this.listQuery.type = 0
                    this.getPageList()
                    this.getSelfTotal();
                    this.table1=true
                    this.table2=false
                }
            },
            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})
                    }
                })
            },
            initXFDW(){
                initJCBM(1).then(res=>{
                    if (res.data.ok==1){
                        this.XFDWList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initYHLB(){
                initYHLX().then(res=>{
                    if (res.data.ok==1){
                        this.YHLBList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initYHJB(){
                initYHJB().then(res=>{
                    if (res.data.ok==1){
                        this.YHJBList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initJCLB(){
                initJCLB().then(res=>{
                    if (res.data.ok==1){
                        this.JCLBList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            checkTime(){
                if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
                    if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
                    }else {
                        this.$message({type:'error', message:"请选择检查结束时间", duration:3000})
                        return
                    }
                }
            },
            //搜索
            getPageList(){
                this.listQuery.page=1
                this.checkTime()
                this.loading=true
                getPageList(this.listQuery).then(res=>{
                    this.loading=false
                    if (res.data.ok==1) {
                        this.tableData = res.data.data.items
                        this.recordTotal=res.data.data.total
                    }else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            //获取待自查数量
            getSelfTotal(){
                if (this.listQuery.type != '2'){
                    let query = {
                        page: 1,
                        sendType: 0,
                        type: 2,
                        form:{},
                    };
                    getPageList(query).then(res=>{
                        if (res.data.ok==1) {
                            this.selfTotal=res.data.data.total
                        }else{
                            this.$message({type:'error', message:res.data.msg, duration:3000})
                        }
                    })
                }
            },
            //重置
            reset(){
                this.listQuery.form={};
                this.getPageList()
            },
            handleSizeChange(val){
                this.listQuery.limit = val
                this.getPageListForPagination();
            },
            handleCurrentChange(val){
                this.listQuery.page = val
                this.getPageListForPagination();
            },
            getPageListForPagination(){
                this.checkTime()
                getPageList(this.listQuery).then(res=>{
                    if (res.data.ok==1) {
                        this.tableData = res.data.data.items
                        this.recordTotal=res.data.data.total
                    }else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            typeChange(val){
                this.listQuery.type = val;
                this.getPageList()
            },
            sendTypeChange(val){
                this.listQuery.sendType = val;
                this.getPageList()
            },
            handleSelectionChange(val){
                this.selectedList = []
                val.forEach((item) => {
                    this.selectedList.push(item)
                })
            },
            //日期格式转换
            formatColumnDate(row, column) {
                // 获取单元格数据
                let data = row[column.property]
                if (data == null) {
                    return null
                }
                let dt = new Date(data)
                return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
            },
            editDanger(row, index) {
                this.dangerForm = deepClone(row);
                this.rowIndex = index;
                this.dialogVisible = true;
            },
            //编辑提交
            submitDanger(formName){
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        edit(this.dangerForm).then(res=>{
                            if (res.data.ok==1) {
                                this.dialogVisible=false
                                this.$message({type:'success', message:res.data.msg, duration:3000})
                                this.getPageList()
                            }else{
                                this.$message({type:'error', message:res.data.msg, duration:3000})
                            }
                        })
                    } else {
                        console.log("error submit!!");
                        return false;
                    }
                });
            },
            deleteBatch() {
                if (this.selectedList == null || this.selectedList.length == 0) {
                    this.$message({type: 'warning', message: '至少选中一条数据', duration: 3000})
                    return
                }
                var ids = this.selectedList.map((obj) => {
                    return obj.id
                }).join(",")
                this.$confirm('确认删除吗', '提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                        del(ids).then(() => {
                            this.getPageList()
                            this.$notify({
                                title: "成功",
                                message: "删除成功",
                                type: "success",
                                duration: 2000,
                            });
                        });
                    })
                    .catch(error => {
                    });
            },
            deleteDanger(row) {
                this.$confirm('确认删除吗', '提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    console.log(row.id)
                        del(row.id).then(() => {
                            this.getPageList()
                            this.$notify({
                                title: "成功",
                                message: "删除成功",
                                type: "success",
                                duration: 2000,
                            });
                        });
                    }).catch(error => {
                });
            },
            //发送提交
            submitForm() {
                if (this.checked.length == 0) {
                    this.$message({
                        type: 'warning',
                        message: '请勾选需要发送的部门!'
                    });
                    return;
                }
                this.requestData.branchIds = this.checked.join(";");
                send(this.requestData).then(res => {
                    if (res.data.ok) {
                        this.$message({
                            type: 'success',
                            message: res.data.msg
                        });
                        this.bmDialogVisible = false;
                        this.getPageList();
                    } else {
                        this.$message({
                            type: 'error',
                            message: res.data.msg
                        });
                    }
                })
            },
            openSend() {
                if (this.selectedList.length != 1) {
                    this.$message({
                        type: 'warning',
                        message: '请选择一条数据!'
                    });
                    return false;
                } else {
                    this.requestData.id = this.selectedList[0].id;
                    this.bmDialogVisible = true;
                }
            },
            tackBack(){
                if (this.selectedList.length != 1) {
                    this.$message({
                        type: 'warning',
                        message: '请选择一条数据!'
                    });
                    return false;
                }else {
                    this.$confirm('确认收回吗', '提示', {
                        confirmButtonText: '确认',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(() => {
                        let data = {
                            id: this.selectedList[0].id
                        }
                        revoke(data).then(() => {
                            this.getPageList()
                            this.$notify({
                                title: "成功",
                                message: "收回成功",
                                type: "success",
                                duration: 2000,
                            });
                        });
                    }).catch(error => {
                    });
                }
            }
        }
    }
</script>
<style scoped>
.inquire {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
}
.inquire .el-form-item {
    padding: 0 46px;
}
.title-center {
    padding: 20px 0;
}
.btns {
    background-color: #034ea2;
    border: 1px solid #034ea2;
}
.title-center /deep/ .el-radio-button:first-child .el-radio-button__inner {
    border: none;
}
.title-center /deep/ .el-radio-button__inner {
    border: none;
    border-radius: 0px;
}
.title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
    background-color: #034ea2;
    background-color: #034ea2;
}
</style>
src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
@@ -10,20 +10,9 @@
<!--                <el-date-picker v-model="listQuery.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="结束时间"></el-date-picker>-->
<!--            </div>-->
            <div class="basic_search">
                <span>风险源名称:</span>
                <span>生产装置名称:</span>
                     <el-input v-model="listQuery.name" class="analyseUnit_input">
                </el-input>
            </div>
            <div class="basic_search">
                <span>风险类型:</span>
                <el-select v-model="listQuery.type">
                    <el-option
                        v-for="item in typeList"
                        :key="item.id"
                        :value="item.id"
                        :label="item.name"
                    ></el-option>
                </el-select>
            </div>
            <div class="basic_search">
                <span>风险等级:</span>
@@ -66,6 +55,8 @@
            <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
            <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showRiskSourceForm('','新增')">新增</el-button>
               <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary"  @click="showImportDialog()">导入</el-button>
               <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary"  @click="exportToExcel()">导出</el-button>
        </div>
        <div class="table_content">
            <el-table
@@ -77,12 +68,7 @@
                highlight-current-row
                style="width: 100%;"
            >
                <el-table-column label="风险源名称" prop="name" align="center">
                </el-table-column>
                <el-table-column label="点位类型" prop="type" align="center">
                    <template slot-scope="scope">
                        {{ scope.row.type | parseType}}
                    </template>
                <el-table-column label="生产装置名称" prop="name" align="center">
                </el-table-column>
                <el-table-column label="风险等级" prop="level" align="center">
                     <template slot-scope="scope">
@@ -136,19 +122,9 @@
        </div>
        <el-dialog :title="title" :visible.sync="riskSourceVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
            <el-form ref="riskSourceForm" :rules="riskSourceFormRules" :model="riskSourceForm" label-position="right" label-width="165px">
                <el-form-item label="风险源名称" prop="name">
                <el-form-item label="生产装置名称" prop="name">
                    <el-input v-model="riskSourceForm.name" class="analyseUnit_input">
                    </el-input>
                </el-form-item>
                <el-form-item label="风险源类型" prop="type">
                    <el-select v-model="riskSourceForm.type" class="analyseUnit_input">
                        <el-option
                            v-for="item in typeList"
                            :key="item.id"
                            :value="item.id"
                            :label="item.name"
                        ></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="风险等级" prop="level">
                    <el-select v-model="riskSourceForm.level" class="analyseUnit_input">
@@ -182,6 +158,32 @@
                <el-button type="primary" @click="submitRiskSourceForm()">确认</el-button>
            </div>
        </el-dialog>
        <el-dialog
            :visible.sync="importDialogFormVisible"
            :modal-append-to-body="false"
            :close-on-click-modal="false"
            title="用户导入"
            width="700px"
        >
            <el-form
                ref="importForm"
                label-position="right"
                label-width="120px"
                style="margin-left:50px;width:500px;"
                element-loading-text="导入中..."
            >
                <el-form-item label="导入文件:">
                    <input ref="importLabInput" type="file" accept=".xls, .xlsx" >
                </el-form-item>
                <el-form-item label="excel参考模板:">
                    <el-button type="text" @click="viewHandle">下载模板</el-button>
                </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footer">
                <el-button @click="importDialogFormVisible = false">取消</el-button>
                <el-button type="primary" @click="importToTable()">导入</el-button>
            </div>
        </el-dialog>
    </div>
</template>
@@ -190,7 +192,9 @@
import { computePageCount } from '@/utils'
import { getRiskSourceList , addRiskSource , updateRiskSource , deleteById } from '@/api/riskSource'
import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
import {deleteRiskSource} from "../../../../api/riskSource";
import {deleteRiskSource, exportRiskSource, importRiskSource} from "../../../../api/riskSource";
import {parseError} from "../../../../utils/messageDialog";
const exampleFile = require('@/assets/example/riskSource.xlsx')
export default {
    name: 'index',
    filters: {
@@ -242,10 +246,10 @@
            title:'',
            company:'',
            code:'',
            importDialogFormVisible:false,
            riskSourceVisible:false,
            riskSourceFormRules:{
                name: [{ required: true, message: '风险源名称不能为空', trigger: 'blur' }],
                type: [{ required: true, message: '风险源类型不能为空', trigger: 'change' }],
                level: [{ required: true, message: '风险等级不能为空', trigger: 'change' }],
                accidentDesc: [{ required: true, message: '可能导致事故的主要原因不能为空', trigger: 'blur' }],
                location: [{ required: true, message: '区域位置不能为空', trigger: 'blur' }],
@@ -259,12 +263,10 @@
                level: null,
                location: "",
                name: "",
                type: null
            },
            listQuery:{
                startTime:'',
                endTime:'',
                type:'',
                status:'',
                level:'',
                depId:'',
@@ -304,6 +306,9 @@
                    message:res.data.message,
                    type:'warning'
                })
                if(res.data.code === '50001'){
                    this.riskSourceData = []
                }
            }
        },
        showRiskSourceForm(value,type){
@@ -321,7 +326,6 @@
                    level: null,
                    location: "",
                    name: "",
                    type: null
                }
            }else{
                this.title = '编辑'
@@ -397,6 +401,82 @@
            })
        },
        viewHandle() {
            window.open(exampleFile, '_blank')
        },
        showImportDialog(){
            this.importDialogFormVisible = true
        },
        importToTable(){
            const formData = new FormData()
            const files = this.$refs['importLabInput'].files
            if (files && files.length > 0) {
                formData.append('file', files[0])
            }
            importRiskSource(formData).then((response) => {
                const res = response.data
                if (res.code == 200) {
                    this.importDialogFormVisible = false
                    this.$message({
                        message: '导入成功',
                        type: 'success'
                    })
                    this.getRiskSourceData()
                } else {
                    parseError({ error: res.message, vm: this })
                }
            }).catch((error) => {
                parseError({ error: error, vm: this })
            })
        },
        exportToExcel() {
            exportRiskSource(this.listQuery.filter).then(res=>{
                if (res.data.code === '200') {
                    if(res.data.result === null ||res.data.result === [] || res.data.result.length === 0){
                        this.$message({
                            type:'warning',
                            message:'无数据可导出'
                        })
                    }
                    else{
                        let allData = res.data.result
                        import('@/vendor/Export2Excel').then((excel) => {
                            const tHeader = [
                                '生产装置名称',
                                '风险等级',
                                '可能导致的事故描述',
                                '区域位置',
                                '所属部门名称',
                            ]
                            const filterVal = [
                                'name',
                                'level',
                                'accidentDesc',
                                'location',
                                'depName',
                            ]
                            const data = this.formatJson(filterVal, allData)
                            excel.export_json_to_excel({
                                header: tHeader,
                                data,
                                filename: '生产装置数据'
                            })
                        })
                    }
                }
            })
        },
        formatJson(filterVal, jsonData) {
            return jsonData.map(v => filterVal.map(j => v[j]))
        },
        refreshHandle(){
            this.listQuery.pageIndex = 1
            this.getRiskSourceData()