Admin
2022-11-23 90de81ed138823dc498b201bc7873f74016d2f65
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,29 +18,33 @@
            <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>
            </el-form-item>
        <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="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>
@@ -54,21 +59,20 @@
            <div class="addBtn">
                <el-button type="primary" plain icon="el-icon-plus" @click="addItem()">新增隐患问题</el-button>
            </div>
        </div>
        <div style="display: flex;align-items: center;margin-top: 20px">
            <span>填报人:</span>
            <span style="margin-right: 40px">
            <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,22 +157,36 @@
                }
            },
            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.$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:'请完善表单信息'
                                    message: '请完善检查的隐患信息'
                    })
                    return
                }
                let res = await saveSelfCheckReport(data)
                        }
                        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:res.data.message
                                message: '提交成功!'
                    })
                }else{
                    t.$message({
@@ -160,8 +195,31 @@
                    })
                }
                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: ''
                }
            }
        }
    }
</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;
        }
    }
    .risk-list{
        margin-bottom: 20px;
        .risk-table{
            width: 100%;
            border-collapse: collapse;