From b69959f530c5c51daa19333879ddbf91675e830f Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: Thu, 12 Mar 2026 15:45:07 +0800
Subject: [PATCH] 修改
---
src/views/specialCheck/components/feedbackDetails.vue | 904 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 675 insertions(+), 229 deletions(-)
diff --git a/src/views/specialCheck/components/feedbackDetails.vue b/src/views/specialCheck/components/feedbackDetails.vue
index 46bfba4..8a38697 100644
--- a/src/views/specialCheck/components/feedbackDetails.vue
+++ b/src/views/specialCheck/components/feedbackDetails.vue
@@ -5,123 +5,132 @@
:close-on-click-modal="false"
width="75%"
center
+ @close="resetForm()"
>
<div slot="title" class="dialog-title">
<span></span>
- <div class="">烟花爆竹批发企业检查情况反馈表</div>
+ <div class="">烟花爆竹{{enterpriseType==1?'批发':'零售'}}企业检查情况反馈表</div>
<span>
- <el-button type="primary">查看企业自查表</el-button>
+ <el-button type="primary" @click="openSelfCheck()">查看企业自查表</el-button>
</span>
</div>
<div class="feed-report">
<div class="feed-tit">
- <div>企业名称: <span class="m-color">沙湾市国华商贸有限公司</span></div>
- <div>所属省市县: <span class="m-color">新疆维吾尔自治区塔城地区沙湾县</span></div>
- <div>检查层级: <span class="m-color">省级</span></div>
- <div>检查单位: <span class="m-color">新疆维吾尔自治区应急管理厅</span></div>
+ <div>企业名称: <span class="m-color">{{ corpInfo.enterpriseName }}</span></div>
+ <div>所属省市县: <span class="m-color">{{ corpInfo.enterpriseProvince + corpInfo.enterpriseCity + corpInfo.enterpriseArea }}</span></div>
+ <div>检查层级: <span class="m-color">{{ corpInfo.checkUnitType == 1 ? '省级':(corpInfo.checkUnitType == 2 ? '地(州、市)级' : '区县级') }}</span></div>
+ <div>检查单位: <span class="m-color">{{ corpInfo.checkUnit }}</span></div>
</div>
- <el-row :gutter="40" type="flex" align="middle" style="margin: 20px 0">
- <el-col :span="8" style="display: flex;align-items: center">
- <span style="white-space: nowrap">检查时间:</span>
- <el-date-picker
- v-model="feedbackForm.checkTime"
- type="datetime"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-col>
- <el-col :span="12" style="display: flex;align-items: center">
- <span style="white-space: nowrap">是否检查出隐患:</span>
- <el-radio-group v-model="feedbackForm.isRisky">
- <el-radio :label="1">是</el-radio>
- <el-radio :label="0">否</el-radio>
- </el-radio-group>
- </el-col>
- </el-row>
- <div class="report-list" v-show="feedbackForm.isRisky == 1">
- <table class="report-table">
- <th class="m-color b-font" style="background: #337ecc;color: #fff">检查情况</th>
- <tr><td class="m-color">序号</td><td class="m-color">检查出的隐患问题</td><td class="m-color">隐患等级</td><td class="m-color">操作</td></tr>
- <tr v-for="(item,index) in feedbackForm.riskList">
- <td>{{index + 1}}</td>
- <td><el-input type="textarea" :rows="1" placeholder="请输入内容" v-model="item.info"></el-input></td>
- <td>
- <el-radio-group v-model="item.level">
- <el-radio :label="1">一般隐患</el-radio>
- <el-radio :label="2">重大隐患</el-radio>
- </el-radio-group>
- </td>
- <td>
- <el-button type="text" @click="deleteItem(index)">删除</el-button>
- </td>
- </tr>
- <tr style="text-align: center"><el-button icon="el-icon-plus" type="primary" plain round @click="addItem()">添加行</el-button></tr>
- <tr class="m-color b-font" style="text-align: center">合计</tr>
- <tr>
- <td class="m-color w-50">隐患总数</td>
- <td class="m-color w-50">重大隐患数量</td>
- </tr>
- <tr>
- <td class="w-50 mid"><el-input v-model="feedbackForm.totalRisk"></el-input></td>
- <td class="w-50 mid"><el-input v-model="feedbackForm.majorNum"></el-input></td>
- </tr>
- <tr class="m-color b-font" style="text-align: center">执法处罚情况</tr>
- <tr>
- <td class="m-color w-25 mid">罚款金额(万元)</td>
- <td class="w-25 mid"><el-input v-model="feedbackForm.fine"></el-input></td>
- <td class="m-color w-25 mid">是否责令停产整顿</td>
- <td class="w-25 mid">
- <el-radio-group v-model="feedbackForm.isRectify">
- <el-radio :label="1">是</el-radio>
- <el-radio :label="0">否</el-radio>
- </el-radio-group>
- </td>
- </tr>
- <tr>
- <td class="m-color w-25 mid">是否吊销许可证</td>
- <td class="w-25 mid">
- <el-radio-group v-model="feedbackForm.isRevoke">
- <el-radio :label="1">是</el-radio>
- <el-radio :label="0">否</el-radio>
- </el-radio-group>
- </td>
- <td class="m-color w-25 mid">是否暂扣许可证</td>
- <td class="w-25 mid">
- <el-radio-group v-model="feedbackForm.isSuspended">
- <el-radio :label="1">是</el-radio>
- <el-radio :label="0">否</el-radio>
- </el-radio-group>
- </td>
- </tr>
- </table>
- </div>
- <div>
- 注:重大隐患判定标准:<el-link href="https://www.mem.gov.cn/gk/zcjd/201802/t20180202233295.shtml" target="_blank" type="primary">https://www.mem.gov.cn/gk/zcjd/201802/t20180202 233295.shtml</el-link>
- </div>
- <div style="display: flex;justify-content: center;margin: 20px 0">
- <el-button @click="confirmBack()">返回列表</el-button>
- <el-button type="primary">提交</el-button>
+ <div style="width: 100%" v-if="(unitType==1 && !provinceCheckStatus)||(unitType==2 && !cityCheckStatus)||(unitType==3 && !areaCheckStatus)">
+ <el-form :model="feedbackForm" :rules="rules" ref="feedbackForm" class="demo-ruleForm">
+ <el-row :gutter="40" type="flex" align="middle" style="margin: 20px 0">
+ <el-col :span="8">
+ <el-form-item label="检查时间:" prop="checkTime" style="display: flex;align-items: center">
+ <!-- <span style="white-space: nowrap">检查时间:</span>-->
+ <el-date-picker
+ v-model="feedbackForm.checkTime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="选择日期时间">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" style="display: flex;align-items: center">
+ <el-form-item label="是否检查出隐患:" prop="hiddendangerStatus" style="display: flex;align-items: center">
+ <!-- <span style="white-space: nowrap">是否检查出隐患:</span>-->
+ <el-radio-group v-model="feedbackForm.hiddendangerStatus">
+ <el-radio :label="1">是</el-radio>
+ <el-radio :label="0">否</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <div class="report-list" v-if="feedbackForm.hiddendangerStatus == 1">
+ <table class="report-table">
+ <th class="m-color b-font" style="background: #337ecc;color: #fff">检查情况</th>
+ <tr><td class="m-color">序号</td><td class="m-color">检查出的隐患问题</td><td class="m-color">隐患等级</td><td class="m-color">操作</td></tr>
+ <tr v-for="(item,index) in feedbackForm.hiddendangerInfos">
+ <td>{{index + 1}}</td>
+ <td>
+ <el-input type="textarea" :rows="1" placeholder="请输入内容" v-model="item.spotCheckHiddendanger"></el-input>
+ </td>
+ <td>
+ <el-radio-group v-model="item.hiddendangerLevel">
+ <el-radio :label="1">一般隐患</el-radio>
+ <el-radio :label="2">重大隐患</el-radio>
+ </el-radio-group>
+ </td>
+ <td>
+ <el-button type="text" @click="deleteItem(index)">删除</el-button>
+ </td>
+ </tr>
+ <tr style="text-align: center"><el-button icon="el-icon-plus" style="height: 32px;padding: 0 30px;margin: 12px" type="primary" plain round @click="addItem()">添加行</el-button></tr>
+ <tr class="m-color b-font" style="text-align: center">执法处罚情况</tr>
+ <tr>
+ <td class="m-color w-25 mid">罚款金额(万元)</td>
+ <td class="w-25 mid">
+ <el-form-item prop="amerceMoney">
+ <el-input v-model="feedbackForm.amerceMoney" type="number" placeholder="请输入罚款金额,未罚款则填“0”"></el-input>
+ </el-form-item>
+ </td>
+ <td class="m-color w-25 mid">是否责令停产整顿</td>
+ <td class="w-25 mid">
+ <el-form-item prop="stopProductionStatus">
+ <el-radio-group v-model="feedbackForm.stopProductionStatus">
+ <el-radio :label="1">是</el-radio>
+ <el-radio :label="0">否</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </td>
+ </tr>
+ <tr>
+ <td class="m-color w-25 mid">是否吊销许可证</td>
+ <td class="w-25 mid">
+ <el-form-item prop="revokeLicenseStatus">
+ <el-radio-group v-model="feedbackForm.revokeLicenseStatus">
+ <el-radio :label="1">是</el-radio>
+ <el-radio :label="0">否</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </td>
+ <td class="m-color w-25 mid">是否暂扣许可证</td>
+ <td class="w-25 mid">
+ <el-form-item prop="detainLicenseStatus">
+ <el-radio-group v-model="feedbackForm.detainLicenseStatus">
+ <el-radio :label="1">是</el-radio>
+ <el-radio :label="0">否</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </el-form>
+ <div style="display: flex;justify-content: center;margin: 20px 0">
+ <el-button @click="confirmBack()">返回列表</el-button>
+ <el-button type="primary" v-stop-re-click @click="confirmSubmit('feedbackForm')">提交</el-button>
+ </div>
</div>
</div>
+<!-- <div style="margin-top: 20px;text-align: center">-->
+<!-- 重大隐患判定标准:<el-link href="https://www.mem.gov.cn/gk/zcjd/201802/t20180202233295.shtml" target="_blank" type="primary">https://www.mem.gov.cn/gk/zcjd/201802/t20180202 233295.shtml</el-link>-->
+<!-- </div>-->
+ <el-divider/>
<div class="feed-data">
- <div class="m-color data-time">2022年04月07日</div>
+ <div class="m-color data-time">{{tabCheckTime}}</div>
<el-tabs v-model="activeTab" type="border-card" @tab-click="handleSwitch">
- <el-tab-pane label="本级" name="1">
- <div class="record-list">
- <div class="record-item" v-for="(item,index) in recordList" :key="index">
+ <el-tab-pane :label="unitType==1 ? '本级': '省级'" name="1">
+ <div v-if="provinceCheckStatus == 1" class="record-list">
+ <div class="record-item">
<table class="record-table">
- <tr>
- <td class="w-75 m-color b-font dark-bg">烟花爆竹批发企业检查情况反馈表</td>
- <td class="w-25">
- <el-button type="primary" icon="el-icon-edit" plain @click="editRecord(index)">编辑</el-button>
- </td>
- </tr>
+ <tr class="m-color b-font" style="background: #034ea2;color: #fff;text-align: center">烟花爆竹{{enterpriseType==1?'批发':'零售'}}企业检查情况反馈表</tr>
<tr>
<td class="m-color w-50">被检查企业名称</td>
<td class="m-color w-50">所属省市县</td>
</tr>
<tr>
- <td class="w-50">沙湾市国华商贸有限公司</td>
- <td class="w-50">新疆维吾尔自治区乌鲁木齐市米东区</td>
+ <td class="w-50">{{ checkData.enterpriseName }}</td>
+ <td class="w-50">{{ checkData.enterpriseProvince + checkData.enterpriseCity + checkData.enterpriseArea }}</td>
</tr>
<tr>
<td class="m-color w-25">检查层级</td>
@@ -131,15 +140,28 @@
</tr>
<tr>
<td class="w-25">省级</td>
- <td class="w-25">新疆维吾尔自治区应急管理厅</td>
- <td class="w-25">{{ item.checkTime }}</td>
- <td class="w-25">{{ item.isRisky }}</td>
+ <td class="w-25">{{ checkData.provinceCheckName }}</td>
+ <td class="w-25">{{ checkData.provinceCheckTime }}</td>
+ <td class="w-25">{{ checkData.provinceHiddendangerStatus == 1 ? '是' : '否' }}</td>
</tr>
- <tr v-if="item.isRisky=='1'"><td class="m-color">序号</td><td class="m-color">检查出的隐患问题</td><td class="m-color">隐患等级</td></tr>
- <tr v-if="item.isRisky=='1'" v-for="(x,i) in item.riskList">
- <td>{{ i + 1 }}</td>
- <td class="overText">{{ x.info }}</td>
- <td>{{ x.level }}</td>
+ <tr class="m-color b-font" style="text-align: center" v-if="checkData.areaHiddendangerStatus == 1">检查情况</tr>
+ <tr v-if="checkData.provinceHiddendangerStatus == 1">
+ <td class="m-color w-5">序号</td>
+ <td class="m-color w-25">检查出的隐患问题</td>
+ <td class="m-color w-10">隐患等级</td>
+ <td class="m-color w-25">整改措施</td>
+ <td class="m-color w-10">整改资金(元)</td>
+ <td class="m-color w-10">责任人</td>
+ <td class="m-color w-15">隐患状态</td>
+ </tr>
+ <tr v-if="checkData.provinceHiddendangerStatus == 1" v-for="(x,i) in checkData.provinceHiddendangerInfos">
+ <td class="w-5">{{ i + 1 }}</td>
+ <td class="overText w-25">{{ x.spotCheckHiddendanger }}</td>
+ <td class="w-10">{{ x.hiddendangerLevel==1?'一般隐患':'重大隐患' }}</td>
+ <td class="overText w-25">{{ x.rectifyMeasure }}</td>
+ <td class="w-10">{{ x.rectifyPrice }}</td>
+ <td class="overText w-10">{{ x.chargePerson }}</td>
+ <td class="w-15">{{ x.rectifyStatus==1?'已整改完成':'未整改完成' }}</td>
</tr>
<tr class="m-color b-font" style="text-align: center">合计</tr>
<tr>
@@ -147,35 +169,202 @@
<td class="m-color w-50">重大隐患数量</td>
</tr>
<tr>
- <td class="w-50">{{ item.totalRisk }}</td>
- <td class="w-50">{{ item.majorNum }}</td>
+ <td class="w-50">{{ checkData.provinceHiddendangerSum ? checkData.provinceHiddendangerSum : 0}}</td>
+ <td class="w-50">{{ checkData.provinceMajorHiddendangerNum ? checkData.provinceMajorHiddendangerNum : 0}}</td>
</tr>
- <tr v-if="item.isRisky=='1'" class="m-color b-font" style="text-align: center">执法处罚情况</tr>
- <tr v-if="item.isRisky=='1'">
+ <tr v-if="checkData.provinceHiddendangerStatus== 1" class="m-color b-font" style="text-align: center">执法处罚情况</tr>
+ <tr v-if="checkData.provinceHiddendangerStatus== 1">
<td class="m-color w-25">罚款金额(万元)</td>
- <td class="w-25">{{ item.fine }}</td>
+ <td class="w-25">{{ checkData.provinceAmerceMoney }}</td>
<td class="m-color w-25">是否责令停产整顿</td>
<td class="w-25">
- {{ item.isRectify }}
+ {{ checkData.provinceStopProductionStatus == 1 ? '是': '否' }}
</td>
</tr>
- <tr v-if="item.isRisky=='1'">
+ <tr v-if="checkData.provinceHiddendangerStatus== 1">
<td class="m-color w-25">是否吊销许可证</td>
<td class="w-25">
- {{ item.isRevoke }}
+ {{ checkData.provinceRevokeLicenseStatus == 1 ? '是': '否' }}
</td>
<td class="m-color w-25">是否暂扣许可证</td>
<td class="w-25">
- {{ item.isSuspended }}
+ {{ checkData.provinceDetainLicenseStatus == 1 ? '是': '否' }}
</td>
</tr>
+ <tr style="text-align: center" v-if="unitType == 1">
+ <el-button style="height: 32px;padding: 0 30px;margin: 12px" type="primary" icon="el-icon-edit" plain @click="editRecord(1)">修改</el-button>
+ </tr>
</table>
- <el-divider/>
</div>
</div>
+ <div v-else style="font-size: 20px;font-weight: bolder;text-align: center">
+ 暂无本级检查反馈
+ </div>
</el-tab-pane>
- <el-tab-pane label="市级" name="2">市级</el-tab-pane>
- <el-tab-pane label="县级" name="3">县级</el-tab-pane>
+ <el-tab-pane :label="unitType==2 ? '本级': '地(州、市)级'" name="2">
+ <div v-if="cityCheckStatus == 1" class="record-list">
+ <div class="record-item">
+ <table class="record-table">
+ <tr class="m-color b-font" style="background: #034ea2;color: #fff;text-align: center">烟花爆竹{{enterpriseType==1?'批发':'零售'}}企业检查情况反馈表</tr>
+ <tr>
+ <td class="m-color w-50">被检查企业名称</td>
+ <td class="m-color w-50">所属省市县</td>
+ </tr>
+ <tr>
+ <td class="w-50">{{ checkData.enterpriseName }}</td>
+ <td class="w-50">{{ checkData.enterpriseProvince + checkData.enterpriseCity + checkData.enterpriseArea }}</td>
+ </tr>
+ <tr>
+ <td class="m-color w-25">检查层级</td>
+ <td class="m-color w-25">检查单位</td>
+ <td class="m-color w-25">检查时间</td>
+ <td class="m-color w-25">是否检查出隐患问题</td>
+ </tr>
+ <tr>
+ <td class="w-25">地(州、市)级</td>
+ <td class="w-25">{{ checkData.cityCheckName }}</td>
+ <td class="w-25">{{ checkData.cityCheckTime }}</td>
+ <td class="w-25">{{ checkData.cityHiddendangerStatus == 1 ? '是' : '否' }}</td>
+ </tr>
+ <tr class="m-color b-font" style="text-align: center" v-if="checkData.areaHiddendangerStatus == 1">检查情况</tr>
+ <tr v-if="checkData.cityHiddendangerStatus == 1">
+ <td class="m-color w-5">序号</td>
+ <td class="m-color w-25">检查出的隐患问题</td>
+ <td class="m-color w-10">隐患等级</td>
+ <td class="m-color w-25">整改措施</td>
+ <td class="m-color w-10">整改资金(元)</td>
+ <td class="m-color w-10">责任人</td>
+ <td class="m-color w-15">隐患状态</td>
+ </tr>
+ <tr v-if="checkData.cityHiddendangerStatus == 1" v-for="(x,i) in checkData.cityHiddendangerInfos">
+ <td class="w-5">{{ i + 1 }}</td>
+ <td class="overText w-25">{{ x.spotCheckHiddendanger }}</td>
+ <td class="w-10">{{ x.hiddendangerLevel==1?'一般隐患':'重大隐患' }}</td>
+ <td class="overText w-25">{{ x.rectifyMeasure }}</td>
+ <td class="w-10">{{ x.rectifyPrice }}</td>
+ <td class="overText w-10">{{ x.chargePerson }}</td>
+ <td class="w-15">{{ x.rectifyStatus==1?'已整改完成':'未整改完成' }}</td>
+ </tr>
+ <tr class="m-color b-font" style="text-align: center">合计</tr>
+ <tr>
+ <td class="m-color w-50">隐患总数</td>
+ <td class="m-color w-50">重大隐患数量</td>
+ </tr>
+ <tr>
+ <td class="w-50">{{ checkData.cityHiddendangerSum ? checkData.cityHiddendangerSum : 0}}</td>
+ <td class="w-50">{{ checkData.cityMajorHiddendangerNum ? checkData.cityMajorHiddendangerNum : 0}}</td>
+ </tr>
+ <tr v-if="checkData.cityHiddendangerStatus== 1" class="m-color b-font" style="text-align: center">执法处罚情况</tr>
+ <tr v-if="checkData.cityHiddendangerStatus== 1">
+ <td class="m-color w-25">罚款金额(万元)</td>
+ <td class="w-25">{{ checkData.cityAmerceMoney }}</td>
+ <td class="m-color w-25">是否责令停产整顿</td>
+ <td class="w-25">
+ {{ checkData.cityStopProductionStatus == 1 ? '是': '否' }}
+ </td>
+ </tr>
+ <tr v-if="checkData.cityHiddendangerStatus== 1">
+ <td class="m-color w-25">是否吊销许可证</td>
+ <td class="w-25">
+ {{ checkData.cityRevokeLicenseStatus == 1 ? '是': '否' }}
+ </td>
+ <td class="m-color w-25">是否暂扣许可证</td>
+ <td class="w-25">
+ {{ checkData.cityDetainLicenseStatus == 1 ? '是': '否' }}
+ </td>
+ </tr>
+ <tr style="text-align: center" v-if="unitType == 2">
+ <el-button style="height: 32px;padding: 0 30px;margin: 12px" type="primary" icon="el-icon-edit" plain @click="editRecord(2)">修改</el-button>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div v-else style="font-size: 20px;font-weight: bolder;text-align: center">
+ 暂无本级检查反馈
+ </div>
+ </el-tab-pane>
+ <el-tab-pane :label="unitType==3 ? '本级': '区县级'" name="3">
+ <div v-if="areaCheckStatus == 1" class="record-list">
+ <div class="record-item">
+ <table class="record-table">
+ <tr class="m-color b-font" style="background: #034ea2;color: #fff;text-align: center">烟花爆竹{{enterpriseType==1?'批发':'零售'}}企业检查情况反馈表</tr>
+ <tr>
+ <td class="m-color w-50">被检查企业名称</td>
+ <td class="m-color w-50">所属省市县</td>
+ </tr>
+ <tr>
+ <td class="w-50">{{ checkData.enterpriseName }}</td>
+ <td class="w-50">{{ checkData.enterpriseProvince + checkData.enterpriseCity + checkData.enterpriseArea }}</td>
+ </tr>
+ <tr>
+ <td class="m-color w-25">检查层级</td>
+ <td class="m-color w-25">检查单位</td>
+ <td class="m-color w-25">检查时间</td>
+ <td class="m-color w-25">是否检查出隐患问题</td>
+ </tr>
+ <tr>
+ <td class="w-25">区县级</td>
+ <td class="w-25">{{ checkData.areaCheckName }}</td>
+ <td class="w-25">{{ checkData.areaCheckTime }}</td>
+ <td class="w-25">{{ checkData.areaHiddendangerStatus == 1 ? '是' : '否' }}</td>
+ </tr>
+ <tr class="m-color b-font" style="text-align: center" v-if="checkData.areaHiddendangerStatus == 1">检查情况</tr>
+ <tr v-if="checkData.areaHiddendangerStatus == 1">
+ <td class="m-color w-5">序号</td>
+ <td class="m-color w-25">检查出的隐患问题</td>
+ <td class="m-color w-10">隐患等级</td>
+ <td class="m-color w-25">整改措施</td>
+ <td class="m-color w-10">整改资金(元)</td>
+ <td class="m-color w-10">责任人</td>
+ <td class="m-color w-15">隐患状态</td>
+ </tr>
+ <tr v-if="checkData.areaHiddendangerStatus == 1" v-for="(x,i) in checkData.areaHiddendangerInfos">
+ <td class="w-5">{{ i + 1 }}</td>
+ <td class="overText w-25">{{ x.spotCheckHiddendanger }}</td>
+ <td class="w-10">{{ x.hiddendangerLevel==1?'一般隐患':'重大隐患' }}</td>
+ <td class="overText w-25">{{ x.rectifyMeasure }}</td>
+ <td class="w-10">{{ x.rectifyPrice }}</td>
+ <td class="overText w-10">{{ x.chargePerson }}</td>
+ <td class="w-15">{{ x.rectifyStatus==1?'已整改完成':'未整改完成' }}</td>
+ </tr>
+ <tr class="m-color b-font" style="text-align: center">合计</tr>
+ <tr>
+ <td class="m-color w-50">隐患总数</td>
+ <td class="m-color w-50">重大隐患数量</td>
+ </tr>
+ <tr>
+ <td class="w-50">{{ checkData.areaHiddendangerSum ? checkData.areaHiddendangerSum : 0}}</td>
+ <td class="w-50">{{ checkData.areaMajorHiddendangerNum ? checkData.areaMajorHiddendangerNum : 0 }}</td>
+ </tr>
+ <tr v-if="checkData.areaHiddendangerStatus== 1" class="m-color b-font" style="text-align: center">执法处罚情况</tr>
+ <tr v-if="checkData.areaHiddendangerStatus== 1">
+ <td class="m-color w-25">罚款金额(万元)</td>
+ <td class="w-25">{{ checkData.areaAmerceMoney }}</td>
+ <td class="m-color w-25">是否责令停产整顿</td>
+ <td class="w-25">
+ {{ checkData.areaStopProductionStatus == 1 ? '是': '否' }}
+ </td>
+ </tr>
+ <tr v-if="checkData.areaHiddendangerStatus== 1">
+ <td class="m-color w-25">是否吊销许可证</td>
+ <td class="w-25">
+ {{ checkData.areaRevokeLicenseStatus == 1 ? '是': '否' }}
+ </td>
+ <td class="m-color w-25">是否暂扣许可证</td>
+ <td class="w-25">
+ {{ checkData.areaDetainLicenseStatus == 1 ? '是': '否' }}
+ </td>
+ </tr>
+ <tr style="text-align: center" v-if="unitType == 3">
+ <el-button style="height: 32px;padding: 0 30px;margin: 12px" type="primary" icon="el-icon-edit" plain @click="editRecord(3)">修改</el-button>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div v-else style="font-size: 20px;font-weight: bolder;text-align: center">
+ 暂无本级检查反馈
+ </div>
+ </el-tab-pane>
</el-tabs>
</div>
@@ -186,21 +375,23 @@
:close-on-click-modal="false"
width="50%"
center
+ @close="resetEdit()"
>
- <el-form ref="editFormRef" :model="editForm" label-width="160px" class="edit-form">
- <el-row gutter="80">
+ <el-form ref="editForm" :rule="rules" :model="editForm" label-width="160px" class="edit-form">
+ <el-row :gutter="80">
<el-col :span="12">
- <el-form-item label="检查时间:">
+ <el-form-item label="检查时间:" prop="checkTime">
<el-date-picker
v-model="editForm.checkTime"
type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="是否检查出隐患问题:">
- <el-radio-group v-model="editForm.isRisky">
+ <el-form-item label="是否检查出隐患问题:" prop="hiddendangerStatus">
+ <el-radio-group v-model="editForm.hiddendangerStatus">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
@@ -208,14 +399,16 @@
</el-col>
</el-row>
- <div class="form-list" v-if="editForm.isRisky==1">
+ <div class="form-list" v-if="editForm.hiddendangerStatus==1">
<table class="form-table">
<th><span>序号</span><span>检查出的隐患问题</span><span>隐患等级</span><span>操作</span></th>
- <tr v-for="(item,index) in editForm.riskList">
+ <tr v-for="(item,index) in editForm.hiddendangerInfos">
<td class="num">{{index + 1}}</td>
- <td class="info"><el-input type="textarea" :rows="1" placeholder="请输入内容" v-model="item.info"></el-input></td>
+ <td class="info">
+ <el-input type="textarea" :rows="1" placeholder="请输入内容" v-model="item.spotCheckHiddendanger"></el-input>
+ </td>
<td class="level">
- <el-radio-group v-model="item.level">
+ <el-radio-group v-model="item.hiddendangerLevel">
<el-radio :label="1">一般隐患</el-radio>
<el-radio :label="2">重大隐患</el-radio>
</el-radio-group>
@@ -224,48 +417,36 @@
<el-button type="text" @click="deleteEditItem(index)">删除</el-button>
</td>
</tr>
- <tr style="text-align: center"><el-button type="primary" plain icon="el-icon-plus" @click="addEditItem()">添加行</el-button></tr>
+ <tr style="text-align: center"><el-button style="height: 32px;padding: 0 30px;margin-top: 6px" type="primary" plain icon="el-icon-plus" @click="addEditItem()">添加行</el-button></tr>
</table>
</div>
- <el-row gutter="80" v-if="editForm.isRisky==1">
+ <el-row :gutter="80" v-if="editForm.hiddendangerStatus==1">
<el-col :span="12">
- <el-form-item label="隐患总数:">
- <el-input v-model="editForm.totalRisk"></el-input>
+ <el-form-item label="罚款金额(万元):" prop="amerceMoney">
+ <el-input v-model="editForm.amerceMoney" type="number" placeholder="请输入罚款金额,未罚款则填“0”"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="是否责令停产整顿:">
- <el-radio-group v-model="editForm.isRectify">
+ <el-form-item label="是否责令停产整顿:" prop="stopProductionStatus">
+ <el-radio-group v-model="editForm.stopProductionStatus">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
- <el-row gutter="80" v-if="editForm.isRisky==1">
+ <el-row :gutter="80" v-if="editForm.hiddendangerStatus==1">
<el-col :span="12">
- <el-form-item label="重大隐患数量:">
- <el-input v-model="editForm.majorNum"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="是否吊销许可证:">
- <el-radio-group v-model="editForm.isRevoke">
+ <el-form-item label="是否吊销许可证:" prop="revokeLicenseStatus">
+ <el-radio-group v-model="editForm.revokeLicenseStatus">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
- </el-row>
- <el-row gutter="80" v-if="editForm.isRisky==1">
<el-col :span="12">
- <el-form-item label="罚款金额(万元):">
- <el-input v-model="editForm.fine"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="是否暂扣许可证:">
- <el-radio-group v-model="editForm.isSuspended">
+ <el-form-item label="是否暂扣许可证:" prop="detainLicenseStatus">
+ <el-radio-group v-model="editForm.detainLicenseStatus">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
@@ -274,84 +455,80 @@
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button>取消</el-button>
- <el-button type="primary">提交</el-button>
+ <el-button @click="editDialog = false">取消</el-button>
+ <el-button type="primary" v-stop-re-click @click="postEdit('editForm')">提交</el-button>
</span>
</el-dialog>
+ <check-details ref="report"></check-details>
</el-dialog>
</template>
<script>
import {computePageCount} from "@/utils";
-
+ import { saveSpotCheckReport, getSpotCheckReportInfo, updateSpotCheckReport } from "@/api/specialCheck"
+ import checkDetails from "../../selfCheck/components/checkDetails"
export default {
- name: "reportDetails",
+ name: "feedbackDetails",
+ components: {checkDetails},
data(){
return{
+ id: null,
+ unitType: null,
+ provinceCheckStatus: null,
+ cityCheckStatus: null,
+ areaCheckStatus: null,
+ enterpriseType: null,
dialogVisible:false,
editDialog: false,
activeTab: '1',
+ corpInfo: {},
feedbackForm:{
+ id: null,
checkTime: '',
- isRisky: '',
- riskList: [
+ hiddendangerStatus: null,
+ hiddendangerInfos: [
{
- info: '',
- level: ''
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
}
],
- totalRisk: '',
- majorNum: '',
- fine: '',
- isRectify: '',
- isRevoke: '',
- isSuspended: ''
+ amerceStatus: null,
+ amerceMoney: null,
+ stopProductionStatus: null,
+ revokeLicenseStatus: null,
+ detainLicenseStatus: null
},
- recordList:[
- {
- checkTime: '2022-11-02',
- isRisky: 1,
- riskList: [
- {
- info: '测试数据一',
- level: 1
- },
- {
- info: '测试数据二',
- level: 0
- }
- ],
- totalRisk: 1,
- majorNum: 0,
- fine: '2500',
- isRectify: 0,
- isRevoke: 0,
- isSuspended: 1
- },
- {
- checkTime: '2022-11-02',
- isRisky: 0,
- riskList: [],
- totalRisk: 0,
- majorNum: 0,
- fine: '',
- isRectify: 0,
- isRevoke: 0,
- isSuspended: 0
- }
- ],
+ rules: {
+ checkTime: [{ required: true, message: '请选择检查时间', trigger: 'blur' }],
+ hiddendangerStatus: [{ required: true, message: '请选择是否查出隐患', trigger: 'blur' }],
+ amerceMoney: [{ required: true, message: '请输入罚款金额(未罚款则填0)', trigger: 'blur' }],
+ stopProductionStatus: [{ required: true, message: '请选择是否责令停产整顿', trigger: 'blur' }],
+ revokeLicenseStatus: [{ required: true, message: '请选择是否吊销许可证', trigger: 'blur' }],
+ detainLicenseStatus: [{ required: true, message: '请选择是否查出暂扣许可证', trigger: 'blur' }]
+ },
+ checkData:{},
+ tabCheckTime: '',
editForm:{
+ id: null,
checkTime: '',
- isRisky: '',
- riskList: [],
- totalRisk: '',
- majorNum: '',
- fine: '',
- isRectify: '',
- isRevoke: '',
- isSuspended: ''
+ hiddendangerStatus: null,
+ hiddendangerInfos: [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ],
+ amerceStatus: null,
+ amerceMoney: null,
+ stopProductionStatus: null,
+ revokeLicenseStatus: null,
+ detainLicenseStatus: null
}
}
+ },
+ created() {
+ const t = this
+ console.log(t.unitType,t.checkData,'data')
},
watch: {
},
@@ -359,35 +536,300 @@
confirmBack(){
this.dialogVisible = false
},
+ openSelfCheck(){
+ const t = this
+ t.$refs.report.id = t.id
+ t.$refs.report.enterpriseType = t.enterpriseType
+ t.$refs.report.getEnterpriseInfo()
+ t.$refs.report.dialogVisible = true
+ },
handleSwitch(tab, event) {
- console.log(tab, event);
+ const t = this
+ if(tab.index == 0){
+ t.tabCheckTime = t.checkData.provinceCheckTime
+ }else if(tab.index == 1){
+ t.tabCheckTime = t.checkData.cityCheckTime
+ }else{
+ t.tabCheckTime = t.checkData.areaCheckTime
+ }
+ },
+
+ async getSpotCheckReportInfo(){
+ const t = this
+ let res = await getSpotCheckReportInfo({id: t.id})
+ if(res.data.code === "200"){
+ if(res.data.result == null){
+ t.provinceCheckStatus = null
+ t.cityCheckStatus = null
+ t.areaCheckStatus = null
+ t.checkData.provinceCheckTime = ''
+ t.checkData.cityCheckTime = ''
+ t.checkData.areaCheckTime = ''
+ }else{
+ t.checkData = res.data.result
+ t.provinceCheckStatus = res.data.result.provinceCheckStatus
+ t.cityCheckStatus = res.data.result.cityCheckStatus
+ t.areaCheckStatus = res.data.result.areaCheckStatus
+ t.tabCheckTime = res.data.result.provinceCheckTime
+ }
+
+ }else{
+ t.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
},
addItem(){
const newItem = {
- info: '',
- level: ''
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
}
- this.feedbackForm.riskList.push(newItem)
+ this.feedbackForm.hiddendangerInfos.push(newItem)
},
deleteItem(i){
- console.log(i)
- this.feedbackForm.riskList.splice(i,1)
- },
- editRecord(index){
const t = this
+ if(t.feedbackForm.hiddendangerInfos.length == 1){
+ t.$message({
+ type:'warning',
+ message: '检查的隐患信息不可为空'
+ })
+ }else{
+ t.feedbackForm.hiddendangerInfos.splice(i,1)
+ }
+ },
+
+ confirmSubmit(formName){
+ const t = this
+ t.$refs[formName].validate(async (valid) => {
+ if(t.feedbackForm.hiddendangerStatus == 0){
+ t.feedbackForm.hiddendangerInfos = []
+ t.feedbackForm.amerceStatus = null
+ t.feedbackForm.amerceMoney = null
+ t.feedbackForm.stopProductionStatus = null
+ t.feedbackForm.revokeLicenseStatus = null
+ t.feedbackForm.detainLicenseStatus = null
+ }
+ if(t.feedbackForm.hiddendangerStatus == 1){
+ if(t.feedbackForm.hiddendangerInfos.find((e) => e.spotCheckHiddendanger == '') || t.feedbackForm.hiddendangerInfos.find((e) => e.hiddendangerLevel == null)){
+ t.$message({
+ type:'warning',
+ message: '请完善检查的隐患信息'
+ })
+ return
+ }
+ }
+ if (valid) {
+ if(t.feedbackForm.amerceMoney>0){t.feedbackForm.amerceStatus = 1}
+ else{t.feedbackForm.amerceStatus = 0}
+ let res = await saveSpotCheckReport(t.feedbackForm)
+ if(res.data.code === "200"){
+ t.$message({
+ type:'success',
+ message:'提交成功'
+ })
+ }else{
+ t.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ t.feedbackForm = {
+ id: null,
+ checkTime: '',
+ hiddendangerStatus: null,
+ hiddendangerInfos: [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ],
+ amerceStatus: null,
+ amerceMoney: null,
+ stopProductionStatus: null,
+ revokeLicenseStatus: null,
+ detainLicenseStatus: null
+ },
+ t.dialogVisible = false
+ t.getSpotCheckReportInfo()
+ } else {
+ console.log('error submit!!');
+ return false;
+ }
+ });
+ },
+
+ editRecord(type){
+ const t = this
+ t.editForm.id = t.checkData.id
+ if(type == 1){
+ t.editForm.checkTime = t.checkData.provinceCheckTime
+ t.editForm.hiddendangerStatus = t.checkData.provinceHiddendangerStatus
+ if(t.checkData.provinceHiddendangerInfos == null || t.checkData.provinceHiddendangerInfos.length==0){
+ t.editForm.hiddendangerInfos = [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ]
+ }else{t.editForm.hiddendangerInfos = t.checkData.provinceHiddendangerInfos}
+ t.editForm.amerceMoney = t.checkData.provinceAmerceMoney
+ t.editForm.stopProductionStatus = t.checkData.provinceStopProductionStatus
+ t.editForm.revokeLicenseStatus = t.checkData.provinceRevokeLicenseStatus
+ t.editForm.detainLicenseStatus = t.checkData.provinceDetainLicenseStatus
+ } else if(type == 2){
+ t.editForm.checkTime = t.checkData.cityCheckTime
+ t.editForm.hiddendangerStatus = t.checkData.cityHiddendangerStatus
+ if(t.checkData.cityHiddendangerInfos == null || t.checkData.cityHiddendangerInfos.length==0){
+ t.editForm.hiddendangerInfos = [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ]
+ }else{t.editForm.hiddendangerInfos = t.checkData.cityHiddendangerInfos}
+ t.editForm.amerceMoney = t.checkData.cityAmerceMoney
+ t.editForm.stopProductionStatus = t.checkData.cityStopProductionStatus
+ t.editForm.revokeLicenseStatus = t.checkData.cityRevokeLicenseStatus
+ t.editForm.detainLicenseStatus = t.checkData.cityDetainLicenseStatus
+ } else{
+ t.editForm.checkTime = t.checkData.areaCheckTime
+ t.editForm.hiddendangerStatus = t.checkData.areaHiddendangerStatus
+ if(t.checkData.areaHiddendangerInfos == null || t.checkData.areaHiddendangerInfos.length==0){
+ t.editForm.hiddendangerInfos = [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ]
+ }else{t.editForm.hiddendangerInfos = t.checkData.areaHiddendangerInfos}
+ t.editForm.amerceMoney = t.checkData.areaAmerceMoney
+ t.editForm.stopProductionStatus = t.checkData.areaStopProductionStatus
+ t.editForm.revokeLicenseStatus = t.checkData.areaRevokeLicenseStatus
+ t.editForm.detainLicenseStatus = t.checkData.areaDetainLicenseStatus
+ }
t.editDialog = true
},
- addEditItem(){
- const newItem = {
- info: '',
- level: ''
+
+ postEdit(formName){
+ const t = this
+ t.$refs[formName].validate(async (valid) => {
+ if(t.editForm.hiddendangerStatus == 0){
+ t.editForm.hiddendangerInfos = []
+ t.editForm.amerceStatus = null
+ t.editForm.amerceMoney = null
+ t.editForm.stopProductionStatus = null
+ t.editForm.revokeLicenseStatus = null
+ t.editForm.detainLicenseStatus = null
+ }
+ if(t.editForm.hiddendangerStatus == 1){
+ if(t.editForm.hiddendangerInfos.find((e) => e.spotCheckHiddendanger == '') || t.editForm.hiddendangerInfos.find((e) => e.hiddendangerLevel == null)){
+ t.$message({
+ type:'warning',
+ message: '请完善检查的隐患信息'
+ })
+ return
+ }
+ }
+ t.editForm.hiddendangerInfos = Array.from(t.editForm.hiddendangerInfos,item=>{
+ return {spotCheckHiddendanger: item.spotCheckHiddendanger, hiddendangerLevel: item.hiddendangerLevel, spotCheckUnitType: t.unitType, spotCheckId: t.checkData.id}
+ })
+ if (valid) {
+ if(t.editForm.amerceMoney>0){t.editForm.amerceStatus = 1}
+ else{t.editForm.amerceStatus = 0}
+ t.editForm.amerceMoney = Number(t.editForm.amerceMoney)
+ let res = await updateSpotCheckReport(t.editForm)
+ if(res.data.code === "200"){
+ t.$message({
+ type:'success',
+ message:'提交成功'
+ })
+ t.getSpotCheckReportInfo()
+ }else{
+ t.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ t.editForm = {
+ id: null,
+ checkTime: '',
+ hiddendangerStatus: null,
+ hiddendangerInfos: [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ],
+ amerceStatus: null,
+ amerceMoney: null,
+ stopProductionStatus: null,
+ revokeLicenseStatus: null,
+ detainLicenseStatus: null
+ },
+ t.editDialog = false
+ } else {
+ console.log('error submit!!');
+ return false;
+ }
+ })
+ },
+ resetForm(){
+ this.activeTab = '1'
+ this.feedbackForm = {
+ id: null,
+ checkTime: '',
+ hiddendangerStatus: null,
+ hiddendangerInfos: [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ],
+ amerceStatus: null,
+ amerceMoney: null,
+ stopProductionStatus: null,
+ revokeLicenseStatus: null,
+ detainLicenseStatus: null
}
- this.editForm.riskList.push(newItem)
+ },
+ resetEdit(){
+ this.editForm = {
+ id: null,
+ checkTime: '',
+ hiddendangerStatus: null,
+ hiddendangerInfos: [
+ {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ ],
+ amerceStatus: null,
+ amerceMoney: null,
+ stopProductionStatus: null,
+ revokeLicenseStatus: null,
+ detainLicenseStatus: null
+ }
+ },
+ addEditItem(){
+ const t = this
+ const newItem = {
+ spotCheckHiddendanger: '',
+ hiddendangerLevel: null
+ }
+ t.editForm.hiddendangerInfos.push(newItem)
},
deleteEditItem(i){
- console.log(i)
- this.editForm.riskList.splice(i,1)
+ const t = this
+ if(t.editForm.hiddendangerInfos.length == 1){
+ t.$message({
+ type:'warning',
+ message: '检查的隐患信息不可为空'
+ })
+ }else{
+ t.editForm.hiddendangerInfos.splice(i,1)
+ }
},
},
}
@@ -440,8 +882,9 @@
position: absolute;
height: 40px;
line-height: 40px;
- right: 10px;
+ right: 20px;
top: 0;
+ z-index: 99999;
}
}
@@ -569,26 +1012,29 @@
}
}
- &:nth-of-type(1){
+ &.w-5{
width: 5%;
}
- &:nth-of-type(2){
- width: 60%
+ &.w-10{
+ width: 10%;
}
- &:nth-of-type(3){
- width: 35%;
+ &.w-15{
+ width: 15%;
}
- &.w-50{
- width: 50%;
+ &.w-20{
+ width: 20%;
}
&.w-25{
width: 25%;
+ }
+ &.w-50{
+ width: 50%;
}
&.w-75{
width: 75%;
}
&.dark-bg{
- background: #409EFF;
+ background: #034ea2;
color: #fff;
}
&.overText{
--
Gitblit v1.9.2