From f4c6c3fa64a754040e6f2eee0235612205f89747 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: Fri, 13 Feb 2026 13:15:25 +0800
Subject: [PATCH] 添加状态
---
src/views/selfCheck/components/selfReport.vue | 220 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 135 insertions(+), 85 deletions(-)
diff --git a/src/views/selfCheck/components/selfReport.vue b/src/views/selfCheck/components/selfReport.vue
index 19a4b0a..ccdb390 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>
@@ -14,61 +15,64 @@
<span v-if="licenceValidStatus == 0">在有效期(有效期至:{{licenceValidDeadline}})</span>
<span v-else>已过期</span>
</div>
- <div><span>库存:</span><span>{{stockNum}}</span></div>
+ <div><span>库存:</span><span>{{checkForm.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" v-stop-re-click @click="submitForm('checkForm')">提交</el-button>
</span>
</el-dialog>
</template>
@@ -85,25 +89,35 @@
enterpriseName: '',
licenceValidStatus: 0,
licenceValidDeadline: '',
- stockNum: 0,
checkForm:{
- storageCapacity: 0,
- hiddendangerStatus: 0,
+ stockNum: null,
+ 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,23 +125,30 @@
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
+ t.checkForm.stockNum = res.data.result.stockNum
}else{
t.$message({
type:'warning',
@@ -136,32 +157,70 @@
}
},
- 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 = {
+ stockNum: null,
+ 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 +258,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