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