shj
2022-05-17 33362a4f7e8338e4af7d6ec7be6063a967be648d
编辑
已修改3个文件
已添加1个文件
664 ■■■■■ 文件已修改
src/permission.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyHazardAccount/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyHazardAccount/safetyedit.vue 653 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/permission.js
@@ -16,7 +16,7 @@
  if (!permissionRoles) return true
  return roles.some(role => permissionRoles.indexOf(role) >= 0)
}
const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/oneFromanother','/hiddenDangerTroubleshootingList','/preview','/inspectionNotExist','/send','/Issuedbysuperiors','/oneFromanotherN','/summaryPotentialSafetyHzards','/safetyHazardAccount','/superiorsSend','/accountSend','/existN','/exist','/hazardSource']// no redirect whitelist
const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/oneFromanother','/hiddenDangerTroubleshootingList','/preview','/inspectionNotExist','/send','/Issuedbysuperiors','/oneFromanotherN','/summaryPotentialSafetyHzards','/safetyHazardAccount','/superiorsSend','/accountSend','/existN','/exist','/hazardSource','/safetyedit']// no redirect whitelist
router.beforeEach((to, from, next) => {
  NProgress.start() // start progress bar
src/router/index.js
@@ -429,6 +429,13 @@
                  // meta: { title: '安全隐患台账-关联危险源', icon: '' }
                  hidden: true
              },
              {
                path: '/safetyedit',
                // name: '安全隐患台账-编辑',
                component: () => import('@/views/safetyHazardAccount/safetyedit'),
                // meta: { title: '安全隐患台账-编辑', icon: '' }
                hidden: true
            },
          ]
      }
]
src/views/safetyHazardAccount/index.vue
@@ -466,7 +466,7 @@
        },
        updateClick(row){
            this.$router.push({
                path:"/hiddenDangerAdd?id="+row.id
                path:"/safetyedit"
            })
        },
        jump(){
src/views/safetyHazardAccount/safetyedit.vue
对比新文件
@@ -0,0 +1,653 @@
<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-input v-model="ruleForm.check_man"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <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-form-item label="深入现场人员" prop="check_man">
                <el-input v-model="ruleForm.check_man"></el-input>
              </el-form-item>
                </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" v-if="addShow">
                <el-col :span="9">
                    <el-button type="primary" class="btns" @click="addDanger">新增隐患</el-button>
                </el-col>
            </el-row>
            <el-row>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column type="index" width="55" align="center" label="序号"></el-table-column>
                    <!-- <el-table-column prop="ht_branch"  align="center" label="隐患部门"></el-table-column> -->
                    <el-table-column prop="address"  align="center" label="地点"></el-table-column>
                    <el-table-column prop="ht_content"  align="center" label="隐患内容"></el-table-column>
                    <el-table-column prop="measure"  align="center" label="整改措施"></el-table-column>
                    <el-table-column prop="ht_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="Review"  align="center" label="复查人"></el-table-column>
                     <el-table-column prop="Review"  align="center" label="复查结果"></el-table-column>
                    <!-- <el-table-column prop="time" label="操作" align="center" width="140">
                        <template slot-scope="scope">
                            <div style="display: flex;align-items: center;flex-direction: row;">
                                <el-button
                                    size="mini"
                                    @click="editDanger(scope.row, scope.$index)"
                                >编辑
                                </el-button>
                                <el-button
                                    size="mini"
                                    v-if="addShow"
                                    @click="deleteDanger(scope.row, scope.$index)"
                                >删除
                                </el-button>
                            </div>
                        </template>
                    </el-table-column> -->
                </el-table>
            </el-row>
          <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>
      <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-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="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_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="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-row>
              <el-row>
                  <el-col :span="9">
                      <el-form-item label="复查人" prop="repeatId">
                          <el-input v-model="dangerForm.duty_officer"></el-input>
                      </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, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr,initReformStatus,initYwks,initWxy} from "@/api/sgyhpczl/initSelect";
import {saveDanger,initDangerRebound,getDangerInfo,editDanger} from '@/api/sgyhpczl/hiddenDangerRegistration'
import {deepClone} from '@/utils'
export default {
  components: { Titlename },
  name: "hiddenDangerList",
  data() {
    return {
        addShow:true,
        id:'',
        rowIndex:-1,
        dangerList:[],
        dangerForm:{},
        dangerRules:{
            ht_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
            address: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_content: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_typesub: [{ required: true, message: '不能为空', trigger: 'blur' },],
            DTRisk_bankId: [{ required: true, message: '不能为空', trigger: 'blur' },],
            ht_level: [{ required: true, message: '不能为空', trigger: 'blur' },],
            alter_time: [{ required: true, message: '不能为空', trigger: 'blur' },],
            alter_status: [{ required: true, message: '不能为空', trigger: 'blur' },],
            Review: [{ required: true, message: '不能为空', trigger: 'blur' },],
            duty_officer:[{ required: true, message: '不能为空', trigger: 'blur' },]
        },
        title:'新增',
        dialogVisible:false,
        BCList:[],
        JCLBList:[],
        JCDWList:[{label:"众泰煤焦化",value:0},{label:"上级单位",value:1}],
        YHBMList:[],
        YHLXList:[],
        YHJBList:[],
        JCBMList:[],
        llrList:[],
        statusList:[],
        YWKSList:[],
        reboundList:[],
      ruleForm: {},
       rules: {
           check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
           check_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: [],
    };
  },
    mounted(){
        this.initBC()
        this.initJCLB()
        this.initYHJB()
        this.initYHLX()
        //this.initLlr()
        this.initReformStatus()
        this.initYHBM()
        this.initYWKS()
        this.initWXY()
        this.initDangerRebound()
        this.id = this.$route.query.id;
        if( this.id!=null &&  this.id!=''){
            this.initInfo();
            this.addShow=false
        }
    },
  methods: {
      async initInfo(){
          var res=await getDangerInfo(this.id)
          if (res.data.ok==1){
              this.ruleForm=res.data.data
              this.changeJCDW(res.data.data.check_main_branch)
              var obj=deepClone(res.data.data)
              this.tableData.push(obj)
          }
      },
      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.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
              }
          }
      },
      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:"/hiddenDangerRegistration"
          })
      },
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
            if(this.tableData==null || this.tableData.length==0){
                this.$message({type:'error', message:"请添加隐患", duration:2000})
            }
            this.ruleForm.items=this.tableData
            if(this.addShow){
                saveDanger(this.ruleForm).then(res=>{
                    if (res.data.ok==1){
                        this.$message({type:'success', message:"新增成功", duration:3000})
                        this.$router.push({
                            path:"/hiddenDangerRegistration"
                        })
                    }else {
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            }else {
                var param=deepClone(this.ruleForm)
                var obj=deepClone(this.tableData[0])
                param.ht_branch=obj.ht_branch
                param.address=obj.address
                param.ht_content=obj.ht_content
                param.measure=obj.measure
                param.ht_typesub=obj.ht_typesub
                param.DTRisk_bankId=obj.DTRisk_bankId
                param.DTRisk_level=obj.mriskLevel
                param.dangerousSource=obj.mriskPoint
                param.ht_level=obj.ht_level
                param.alter_time=obj.alter_time
                param.duty_officer=obj.duty_officer
                param.alter_status=obj.alter_status
                param.Review=obj.Review
                param.repeatId=obj.repeatId
                editDanger(param).then(res=>{
                    if (res.data.ok==1){
                        this.$message({type:'success', message:"编辑成功", duration:3000})
                        this.$router.push({
                            path:"/hiddenDangerRegistration"
                        })
                    }else {
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            }
        } 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>