From b097841d8c343edd2b6cb650d0693c502754ce26 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期四, 23 六月 2022 12:33:45 +0800 Subject: [PATCH] '导入导出' --- src/views/accidentHidden/oneFromanotherN/addDanger.vue | 359 +++++ src/views/accidentSearch/oneFromanotherN/existN.vue | 765 +++++++++++ src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue | 154 + src/views/accidentSearch/oneFromanotherN/addDanger.vue | 359 +++++ src/views/accidentHidden/oneFromanotherN/existN.vue | 765 +++++++++++ src/views/accidentHidden/oneFromanotherN/index.vue | 794 +++++++++++ src/assets/example/riskSource.xlsx | 0 src/views/accidentSearch/oneFromanotherN/index.vue | 794 +++++++++++ src/api/riskSource.js | 22 9 files changed, 3,975 insertions(+), 37 deletions(-) diff --git a/src/api/riskSource.js b/src/api/riskSource.js index 6421c15..addb8ad 100644 --- a/src/api/riskSource.js +++ b/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 + }) +} diff --git a/src/assets/example/riskSource.xlsx b/src/assets/example/riskSource.xlsx new file mode 100644 index 0000000..b9ff2ff --- /dev/null +++ b/src/assets/example/riskSource.xlsx Binary files differ diff --git a/src/views/accidentHidden/oneFromanotherN/addDanger.vue b/src/views/accidentHidden/oneFromanotherN/addDanger.vue new file mode 100644 index 0000000..8337e8c --- /dev/null +++ b/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> diff --git a/src/views/accidentHidden/oneFromanotherN/existN.vue b/src/views/accidentHidden/oneFromanotherN/existN.vue new file mode 100644 index 0000000..028d77e --- /dev/null +++ b/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> diff --git a/src/views/accidentHidden/oneFromanotherN/index.vue b/src/views/accidentHidden/oneFromanotherN/index.vue new file mode 100644 index 0000000..1e454d1 --- /dev/null +++ b/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> diff --git a/src/views/accidentSearch/oneFromanotherN/addDanger.vue b/src/views/accidentSearch/oneFromanotherN/addDanger.vue new file mode 100644 index 0000000..8337e8c --- /dev/null +++ b/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> diff --git a/src/views/accidentSearch/oneFromanotherN/existN.vue b/src/views/accidentSearch/oneFromanotherN/existN.vue new file mode 100644 index 0000000..028d77e --- /dev/null +++ b/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> diff --git a/src/views/accidentSearch/oneFromanotherN/index.vue b/src/views/accidentSearch/oneFromanotherN/index.vue new file mode 100644 index 0000000..1e454d1 --- /dev/null +++ b/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> diff --git a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue index 433594a..dc01e3b 100644 --- a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue +++ b/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> @@ -64,9 +53,11 @@ </el-input> </div> - <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> - </div> + <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 v-loading="listLoading" @@ -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() -- Gitblit v1.9.2