From c819024e241b9f7c54cc3786373ad0d2998f2190 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 05 五月 2023 08:55:46 +0800 Subject: [PATCH] 修改 --- src/views/hiddenDangerManagement/fillRectificationAdd.vue | 791 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 589 insertions(+), 202 deletions(-) diff --git a/src/views/hiddenDangerManagement/fillRectificationAdd.vue b/src/views/hiddenDangerManagement/fillRectificationAdd.vue index ae5d8bc..a248d31 100644 --- a/src/views/hiddenDangerManagement/fillRectificationAdd.vue +++ b/src/views/hiddenDangerManagement/fillRectificationAdd.vue @@ -1,226 +1,613 @@ <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="name"> - <el-date-picker - v-model="value1" - type="date" - placeholder="选择日期" - style="width: 100%" + <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-date-picker> - </el-form-item> - </el-col> - <el-col :span="9" :offset="4"> - <el-form-item label="班次:" prop="elementAName"> - <el-select v-model="ruleForm.elementAName" style="width: 100%"> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="9"> - <el-form-item label="检查人:" prop="region"> - <el-input v-model="ruleForm.name"></el-input> - </el-form-item> - </el-col> - <el-col :span="9" :offset="4"> - <el-form-item label="隐患单位:" prop="name"> - <el-input v-model="ruleForm.name"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="9"> - <el-form-item label="隐患级别:" prop="name"> - <!-- <el-input v-model="ruleForm.name"></el-input> --> - <el-select - v-model="ruleForm.elementAName" + <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-col :span="9" :offset="4"> - <el-form-item label="隐患类别:" prop="name"> - <el-select v-model="ruleForm.elementAName" style="width: 100%"> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="9"> - <el-form-item label="限改时间:" prop="name"> - <!--<el-input v-model="ruleForm.name"></el-input>--> - <el-date-picker - v-model="value1" - type="date" - placeholder="选择日期" - style="width: 100%" - > - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="9" :offset="4"> - <el-form-item label="责任人:" prop="name"> - <el-input v-model="ruleForm.name"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="9"> - <el-form-item label="整改情况:" prop="name"> - <!-- <el-input v-model="ruleForm.name"></el-input> --> - <el-select v-model="ruleForm.elementAName" style="width: 100%"> - </el-select> - </el-form-item> - </el-col> - <!-- <el-col :span="9" :offset="4"> - <el-form-item label="业务科室:" prop="name"> - <el-select v-model="ruleForm.elementAName" style="width: 100%"> - </el-select> - </el-form-item> - </el-col> --> - </el-row> - <!-- <el-row> - <el-col :span="22"> - <el-form-item label="行走路线:" prop="name"> - <el-input v-model="ruleForm.name" class="multiline"></el-input> - </el-form-item> - </el-col> - </el-row> --> - <el-row> - <el-col :span="22"> - <el-form-item label="隐患地点:" prop="name"> - <el-input v-model="ruleForm.name" class="multiline"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="22"> - <el-form-item label="隐患内容:" prop="name"> - <el-input v-model="ruleForm.name" class="multiline"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="22"> - <el-form-item label="整改措施:" prop="name"> - <el-input v-model="ruleForm.name" class="multiline"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="22"> - <el-form-item label="关联危险源" prop="name"> - <el-input v-model="ruleForm.name" class="multiline"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="22"> - <el-form-item style="text-align: center"> - <el-button type="primary" class="btns" @click="submitForm('ruleForm')" - >保存</el-button - > - <el-button @click="close()">关闭</el-button> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="9"> + <el-form-item label="检查人员" prop="check_man"> + <el-input v-model="ruleForm.check_man"></el-input> + </el-form-item> + </el-col> + </el-row> + + + <el-row style="margin-bottom: 20px"> + <el-col :span="9"> + <el-button type="primary" class="btns" v-show="!update" @click="addDanger">新增隐患</el-button> + </el-col> + </el-row> + + <el-row> + <el-table :data="tableData" style="width: 100%"> + <el-table-column type="index" width="55" align="center" label="序号"></el-table-column> + <el-table-column prop="ht_branch" align="center" label="隐患部门"></el-table-column> + <el-table-column prop="address" align="center" label="地点"></el-table-column> + <el-table-column prop="ht_content" align="center" label="隐患内容"></el-table-column> + <el-table-column prop="measure" align="center" label="整改措施"></el-table-column> + <el-table-column prop="ht_typesub" align="center" label="隐患类别"></el-table-column> + <el-table-column prop="dangerousSource" align="center" label="关联危险源"></el-table-column> + <el-table-column prop="DTRisk_level" align="center" label="风险等级"></el-table-column> + <el-table-column prop="ht_level" align="center" label="隐患级别"></el-table-column> + <el-table-column prop="alter_time" align="center" label="限改时间"></el-table-column> + <el-table-column prop="duty_officer" align="center" label="责任人"></el-table-column> + <el-table-column prop="alter_status" align="center" label="整改情况"></el-table-column> + <el-table-column prop="Review" align="center" label="业务科室"></el-table-column> + <el-table-column prop="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 + v-if="!update" + size="mini" + @click="deleteDanger(scope.row, scope.$index)" + >删除 + </el-button> + </div> + </template> + </el-table-column> + </el-table> + </el-row> + + + <el-row> + <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="close()">关闭</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + </div> + + <el-dialog + :title="title" + :visible.sync="dialogVisible" + :close-on-click-modal="false" + width="40%"> + <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px"> + <el-row> + <el-col :span="9"> + <el-form-item label="隐患部门" prop="ht_branch"> + <el-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 style="margin-top: 20px"> + <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> - </div> </template> <script> import Titlename from "../../components/Titlename/index.vue"; +import { + initJCBM, + initYHLX, + initBC, + initJCLB, + initYHBM, + initYHJB, + initLlr, + initReformStatus, + initYwks, + initWxy +} from "@/api/sgyhpczl/initSelect"; +import {initDangerRebound} from '@/api/sgyhpczl/hiddenDangerRegistration' +import {getDangerDetails,self_info} from "@/api/sgyhpczl/recheckCancellationNumber"; + +import {saveSelfDanger,self_edit_do} from '@/api/sgyhpczl/hiddenDangerManagement' +import {deepClone} from '@/utils' + export default { - components: { Titlename }, - name: "hiddenDangerList", - data() { - return { - ruleForm: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - value1: "", - desc: "", - }, - rules: {}, - tableData: [ - { - date: " 1", - name: "超级管理员", - province: "2022-04-07 16:10:27", - city: "", - address: "已发送众泰煤焦化安全环保部", - }, - { - date: " 1", - name: "超级管理员", - province: "2022-04-07 16:10:27", - city: "", - address: "已发送众泰煤焦化安全环保部", - }, - { - date: " 1", - name: "超级管理员", - province: "2022-04-07 16:10:27", - city: "", - address: "已发送众泰煤焦化安全环保部", - }, - ], - }; - }, - methods: { - submitForm(formName) { - this.$refs[formName].validate((valid) => { - if (valid) { - alert("submit!"); - } else { - console.log("error submit!!"); - return false; - } - }); + components: {Titlename}, + name: "hiddenDangerList", + data() { + return { + rowIndex: -1, + dangerList: [], + dangerForm: {}, + dangerRules: { + measure:[{required: true, message: '不能为空', trigger: 'blur'},], + ht_branch: [{required: true, message: '不能为空', trigger: 'blur'},], + address: [{required: true, message: '不能为空', trigger: 'blur'},], + ht_content: [{required: true, message: '不能为空', trigger: 'blur'},], + ht_typesub: [{required: true, message: '不能为空', trigger: 'blur'},], + DTRisk_bankId: [{required: true, message: '不能为空', trigger: 'blur'},], + ht_level: [{required: true, message: '不能为空', trigger: 'blur'},], + alter_time: [{required: true, message: '不能为空', trigger: 'blur'},], + alter_status: [{required: true, message: '不能为空', trigger: 'blur'},], + Review: [{required: true, message: '不能为空', trigger: 'blur'},], + duty_officer: [{required: true, message: '不能为空', trigger: 'blur'},] + }, + title: '新增', + dialogVisible: false, + BCList: [], + JCLBList: [], + JCDWList: [{label: "众泰煤焦化", value: 0}, {label: "上级单位", value: 1}], + YHBMList: [], + YHLXList: [], + YHJBList: [], + JCBMList: [], + llrList: [], + statusList: [], + YWKSList: [], + update: false, + reboundList: [], + ruleForm: { + check_date:"", + check_class:"", + check_man:"" + }, + rules: { + check_date: [{required: true, message: '不能为空', trigger: 'blur'},], + check_class: [{required: true, message: '不能为空', trigger: 'blur'},], + check_man: [{required: true, message: '不能为空', trigger: 'blur'},], + }, + tableData: [], + }; }, - }, + mounted() { + if (this.$route.query != null) { + self_info(this.$route.query.id).then(res => { + console.log(res) + if (res.data.ok) { + this.tableData.push(res.data.data); + this.ruleForm.check_date = res.data.data.check_date + this.ruleForm.check_class = res.data.data.check_class + this.ruleForm.check_man = res.data.data.check_man + this.update = true; + } + }) + + } + this.initBC() + //this.initJCLB() + this.initYHJB() + this.initYHLX() + //this.initLlr() + this.initReformStatus() + this.initYHBM() + this.initYWKS() + this.initWXY() + //this.initDangerRebound() + }, + methods: { + initDangerRebound() { + initDangerRebound().then(res => { + if (res.data.ok == 1) { + this.reboundList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + submitDanger(formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + if (this.title == '新增') { + this.tableData.push(this.dangerForm) + } else { + var arr = this.tableData; + arr.splice(this.rowIndex, 1, this.dangerForm); + this.tableData = arr; + } + this.dialogVisible = false + + } else { + console.log("error submit!!"); + return false; + } + }); + }, + deleteDanger(row, index) { + + + this.$confirm('确认删除吗', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }) + .then(() => { + var arr = deepClone(this.tableData); + var brr = []; + for (var i = 0; i < arr.length; i++) { + if (i == index) { + } else { + brr.push(arr[i]); + } + } + this.tableData = deepClone(brr); + //this.tableData.splice(index) + + }) + .catch(error => { + }); + + + }, + editDanger(row, index) { + this.dangerForm = deepClone(row); + this.rowIndex = index; + this.dialogVisible = true; + this.title = '编辑'; + }, + + addDanger() { + this.dangerForm = {} + this.title = "新增" + this.dialogVisible = true + }, + changeWxy(e) { + for (var i = 0; i < this.dangerList.length; i++) { + if (e == this.dangerList[i].id) { + this.dangerForm.DTRisk_level = this.dangerList[i].mriskLevel + this.dangerForm.dangerousSource = this.dangerList[i].mriskPoint + } + } + }, + initWXY() { + var param = { + page: 1, + limit: 1000 + } + initWxy(param).then(res => { + if (res.data.ok == 1) { + this.dangerList = res.data.data.items + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYWKS() { + initYwks().then(res => { + if (res.data.ok == 1) { + this.YWKSList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYHBM() { + initYHBM().then(res => { + if (res.data.ok == 1) { + this.YHBMList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initLlr() { + initLlr().then(res => { + if (res.data.ok == 1) { + this.llrList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initReformStatus() { + initReformStatus().then(res => { + if (res.data.ok == 1) { + this.statusList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + changeJCDW(val) { + initJCBM(val).then(res => { + if (res.data.ok == 1) { + this.JCBMList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYHLX() { + initYHLX().then(res => { + if (res.data.ok == 1) { + this.YHLXList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYHJB() { + initYHJB().then(res => { + if (res.data.ok == 1) { + this.YHJBList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initBC() { + initBC().then(res => { + if (res.data.ok == 1) { + this.BCList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initJCLB() { + initJCLB().then(res => { + if (res.data.ok == 1) { + this.JCLBList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + + + submitForm(formName) { + if (!this.update) { + 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 + saveSelfDanger(this.ruleForm).then(res => { + if (res.data.ok == 1) { + this.$message({type: 'success', message: "新增成功", duration: 3000}) + this.$router.push({ + path: "/hiddenDangerManagement" + }) + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + + } else { + console.log("error submit!!"); + return false; + } + }); + } else { + console.log(this.tableData) + this.$refs[formName].validate((valid) => { + if (valid) { + var requestData = this.tableData[0]; + requestData.check_class= this.ruleForm.check_class + requestData.check_man= this.ruleForm.check_man + requestData.check_date= this.ruleForm.check_date + console.log(requestData) + self_edit_do(requestData).then(res => { + if (res.data.ok == 1) { + this.$message({type: 'success', message: "编辑成功", duration: 3000}) + this.$router.push({ + path: "/hiddenDangerManagement" + }) + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + + } else { + console.log("error submit!!"); + return false; + } + }); + } + }, + close() { + this.$router.push({ + path: "/hiddenDangerManagement" + }) + }, + }, }; </script> <style scoped> .app-container { - padding: 20px; - height: 850px; - overflow-y: auto; + padding: 20px; + height: 850px; + overflow-y: auto; } -/deep/ .box { - padding-top: 0; +.app-container /deep/ .box { + padding-top: 0; } -/deep/ .multiline .el-input__inner { +/* /deep/ .multiline .el-input__inner { height: 62px; +} */ +.btns { + background-color: #034ea2; + border: 1px solid #034ea2; } - .btns{ - background-color: #034ea2; - border: 1px solid #034ea2; - } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.2