From 90de81ed138823dc498b201bc7873f74016d2f65 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期三, 23 十一月 2022 15:20:23 +0800 Subject: [PATCH] 新增安全专项检查与用户层级 --- src/views/selfCheck/components/selfReport.vue | 213 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 131 insertions(+), 82 deletions(-) diff --git a/src/views/selfCheck/components/selfReport.vue b/src/views/selfCheck/components/selfReport.vue index 19a4b0a..f9f7010 100644 --- a/src/views/selfCheck/components/selfReport.vue +++ b/src/views/selfCheck/components/selfReport.vue @@ -5,6 +5,7 @@ :close-on-click-modal="false" width="60%" center + @close="reset()" > <div class="company-info"> <div>企业基本信息</div> @@ -17,58 +18,61 @@ <div><span>库存:</span><span>{{stockNum}}</span></div> <div><span>库容:</span> <span> - <el-input placeholder="请输入库容量" v-model="checkForm.storageCapacity"></el-input> + <el-input placeholder="请输入库容量" type="number" v-model="checkForm.storageCapacity"></el-input> </span> </div> </div> <el-divider/> <div class="form-info"> <div>自查自改填报</div> - <div> - <span>自查是否有隐患:</span> + </div> + + <el-form :model="checkForm" :rules="rules" ref="checkForm" label-width="150px" class="demo-ruleForm"> + + + <el-form-item label="自查是否有隐患:" prop="hiddendangerStatus"> <el-radio-group v-model="checkForm.hiddendangerStatus"> <el-radio :label="1">是</el-radio> <el-radio :label="0">否</el-radio> </el-radio-group> - </div> - </div> - <div class="risk-list" v-if="checkForm.hiddendangerStatus==1"> - <table class="risk-table"> - <th><span>序号</span><span>检查出的隐患问题</span><span>检查时间</span><span>最后整改期限</span><span>隐患等级</span><span>操作</span></th> - <tr v-for="(item,index) in checkForm.submitHiddendangers"> - <td class="num">{{index + 1}}</td> - <td class="info"><el-input type="textarea" :rows="1" placeholder="请输入内容" v-model="item.hiddendangerRemark"></el-input></td> - <td class="date"><el-date-picker v-model="item.checkTime" type="datetime" placeholder="选择检查时间"></el-date-picker></td> - <td class="deadline"><el-date-picker v-model="item.rectifyDeadlineTime" type="datetime" placeholder="选择整改期限"></el-date-picker></td> - <td class="level"> - <el-radio-group v-model="item.hiddendangerLevel"> - <el-radio :label="1">一般隐患</el-radio> - <el-radio :label="2">重大隐患</el-radio> - </el-radio-group> - </td> - <td class="edit"> - <el-button type="text" @click="deleteItem(index)">删除</el-button> - </td> - </tr> - </table> - <div class="addBtn"> - <el-button type="primary" plain icon="el-icon-plus" @click="addItem()">新增隐患问题</el-button> - </div> + </el-form-item> - </div> - <div style="display: flex;align-items: center;margin-top: 20px"> - <span>填报人:</span> - <span style="margin-right: 40px"> + <div class="risk-list" v-if="checkForm.hiddendangerStatus==1"> + <table class="risk-table"> + <th><span>序号</span><span>检查出的隐患问题</span><span>检查时间</span><span>最后整改期限</span><span>隐患等级</span><span>操作</span></th> + <tr v-for="(item,index) in checkForm.submitHiddendangers"> + <td class="num">{{index + 1}}</td> + <td class="info"><el-input type="textarea" :rows="1" placeholder="请简述隐患问题" v-model="item.hiddendangerRemark"></el-input></td> + <td class="date"><el-date-picker v-model="item.checkTime" type="datetime" placeholder="选择检查时间" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker></td> + <td class="deadline"><el-date-picker v-model="item.rectifyDeadlineTime" type="datetime" placeholder="选择整改期限" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker></td> + <td class="level"> + <el-radio-group v-model="item.hiddendangerLevel"> + <el-radio :label="1">一般隐患</el-radio> + <el-radio :label="2">重大隐患</el-radio> + </el-radio-group> + </td> + <td class="edit"> + <el-button type="text" @click="deleteItem(index)">删除</el-button> + </td> + </tr> + </table> + <div class="addBtn"> + <el-button type="primary" plain icon="el-icon-plus" @click="addItem()">新增隐患问题</el-button> + </div> + </div> + <el-form-item label="填报人:" prop="selfcheckReportUserName"> <el-input v-model="checkForm.selfcheckReportUserName"></el-input> - </span> - <span>电话号码:</span> - <span> + </el-form-item> + + <el-form-item label="电话号码:" prop="selfcheckReportUserMobile"> <el-input v-model="checkForm.selfcheckReportUserMobile"></el-input> - </span> - </div> + </el-form-item> + + </el-form> + <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取消</el-button> - <el-button type="primary" @click="confirmSend()">提交</el-button> + <el-button type="primary" @click="submitForm('checkForm')">提交</el-button> </span> </el-dialog> </template> @@ -87,23 +91,33 @@ licenceValidDeadline: '', stockNum: 0, checkForm:{ - storageCapacity: 0, - hiddendangerStatus: 0, + storageCapacity: null, + hiddendangerStatus: null, submitHiddendangers: [ { id: null, hiddendangerRemark: '', checkTime: '', rectifyDeadlineTime: '', - hiddendangerLevel: 1 + hiddendangerLevel: null } ], selfcheckReportUserName: '', selfcheckReportUserMobile: '' }, + rules: { + hiddendangerStatus: [ + { required: true, message: '请选择是否查出隐患', trigger: 'blur' } + ], + selfcheckReportUserName: [{ required: true, message: '请输入填报人', trigger: 'blur' }], + selfcheckReportUserMobile: [{ required: true, message: '请输入电话号码', trigger: 'blur' }] + } } }, watch: { + }, + created() { + console.log(this.id) }, methods:{ addItem(){ @@ -111,20 +125,27 @@ hiddendangerRemark: '', checkTime: '', rectifyDeadlineTime: '', - hiddendangerLevel: 1 + hiddendangerLevel: null } this.checkForm.submitHiddendangers.push(newItem) }, deleteItem(i){ - console.log(i) - this.checkForm.submitHiddendangers.splice(i,1) + const t = this + if(t.checkForm.submitHiddendangers.length == 1){ + t.$message({ + type:'warning', + message: '检查的隐患信息不可为空' + }) + }else{ + t.checkForm.submitHiddendangers.splice(i,1) + } }, - async getUncheckList(){ + async getReportInfo(){ const t = this - let res = await getSelfBaseInfo(t.id) + let res = await getSelfBaseInfo({id:t.id}) if(res.data.code === "200"){ - t.recordTotal = res.data.result.enterpriseName + t.enterpriseName = res.data.result.enterpriseName t.licenceValidStatus = res.data.result.licenceValidStatus t.licenceValidDeadline = res.data.result.licenceValidDeadline t.stockNum = res.data.result.stockNum @@ -136,32 +157,69 @@ } }, - async confirmSend(){ + submitForm(formName){ const t = this - let data = t.checkForm - data.id = t.id - if(data.storageCapacity.toString()=='' || data.submitHiddendangers.hiddendangerRemark == '' || data.submitHiddendangers.checkTime == '' || data.submitHiddendangers.rectifyDeadlineTime==''||data.submitHiddendangers.hiddendangerLevel.toString()==''){ - t.$message({ - type:'warning', - message:'请完善表单信息' - }) - return + t.$refs[formName].validate(async (valid) => { + if(t.checkForm.hiddendangerStatus == 0){ + t.checkForm.submitHiddendangers = [] + } + + if(valid){ + if(t.checkForm.hiddendangerStatus == 1){ + if(t.checkForm.submitHiddendangers.find((e) => e.hiddendangerRemark == '') || t.checkForm.submitHiddendangers.find((e) => e.checkTime == '') || t.checkForm.submitHiddendangers.find((e) => e.rectifyDeadlineTime == '') || t.checkForm.submitHiddendangers.find((e) => e.hiddendangerLevel == null)){ + t.$message({ + type:'warning', + message: '请完善检查的隐患信息' + }) + return + } + } + if(t.checkForm.storageCapacity == null){ + t.$message({ + type:'warning', + message: '请输入库容信息' + }) + return + } + t.checkForm.id = t.id + let res = await saveSelfCheckReport(t.checkForm) + if(res.data.code === "200"){ + t.$message({ + type:'success', + message: '提交成功!' + }) + }else{ + t.$message({ + type:'warning', + message:res.data.message + }) + } + t.dialogVisible = false + t.$parent.getUncheckList(); + } else { + console.log('error submit!!'); + return false; + } + }) + }, + reset(){ + this.checkForm = { + storageCapacity: null, + hiddendangerStatus: null, + submitHiddendangers: [ + { + id: null, + hiddendangerRemark: '', + checkTime: '', + rectifyDeadlineTime: '', + hiddendangerLevel: null + } + ], + selfcheckReportUserName: '', + selfcheckReportUserMobile: '' } - let res = await saveSelfCheckReport(data) - if(res.data.code === "200"){ - t.$message({ - type:'success', - message:res.data.message - }) - }else{ - t.$message({ - type:'warning', - message:res.data.message - }) - } - t.dialogVisible = false } - }, + } } </script> @@ -199,21 +257,12 @@ } } .form-info{ - display: flex; - align-items: center; - &>div{ - margin-bottom: 10px; - margin-right: 40px; - display: flex; - align-items: center; - } - &>div:first-of-type{ - font-size: 18px; - font-weight: bolder; - padding-left: 0; - } + font-size: 18px; + font-weight: bolder; + padding-left: 0; } .risk-list{ + margin-bottom: 20px; .risk-table{ width: 100%; border-collapse: collapse; -- Gitblit v1.9.2