From 34ec919649adfefeecd0418284dd7b02e9ed49b8 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 23 四月 2025 15:42:17 +0800
Subject: [PATCH] 添加批发仓库监测预警

---
 src/views/specialCheck/components/sumSheet.vue |  117 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 72 insertions(+), 45 deletions(-)

diff --git a/src/views/specialCheck/components/sumSheet.vue b/src/views/specialCheck/components/sumSheet.vue
index c8bb865..e40fb51 100644
--- a/src/views/specialCheck/components/sumSheet.vue
+++ b/src/views/specialCheck/components/sumSheet.vue
@@ -9,14 +9,14 @@
             </div>
             <div style="display: flex;justify-content: space-between;align-items: center;margin: 10px 0 20px;height: 40px">
                 <div style="width: 140px"></div>
-                <h2 style="text-align: center;margin: 0">{{taskName}}{{ activeTab==1?'批发':'零售' }}环节信息报送汇总表({{sheetStatus==1?'省级层面':(sheetStatus==2?'市级层面':'区县级')}})</h2>
+                <h2 style="text-align: center;margin: 0">{{taskName}}{{ activeTab==1?'批发':'零售' }}环节信息报送汇总表({{sheetStatus==1?'省级层面':(sheetStatus==2?'地(州、市)级层面':'区县级')}})</h2>
                 <el-button icon="el-icon-download" style="width: 140px" size="medium" type="primary" @click="exportSheet()" id="export">导出汇总表</el-button>
             </div>
             <div class="tabpanel">
                 <table v-show="sheetStatus==1||sheetStatus==2" class="data-table" id="tableExcel" v-if="thisLevelStatistic && institutionalData && institutionalData.length>0">
                     <tr>
                         <th rowspan="3">序号</th>
-                        <th rowspan="3">{{sheetStatus==1?'地市':'区县'}}</th>
+                        <th rowspan="3">{{sheetStatus==1?'地(州、市)':'区县'}}</th>
                         <th colspan="2">企业基本情况</th>
                         <th colspan="11">企业自查及整改</th>
                         <th colspan="9">检查及整改情况</th>
@@ -29,8 +29,8 @@
                         <th rowspan="2">自查覆盖率要求</th>
                         <th rowspan="2">已完成覆盖率</th>
                         <th rowspan="2">当前有效期内企业数量</th>
-                        <th rowspan="2">企业库存数量/万箱</th>
-                        <th rowspan="2">企业库容量/万箱</th>
+                        <th rowspan="2">企业库存数量/箱</th>
+                        <th rowspan="2">企业库容量/箱</th>
                         <th colspan="2">隐患问题情况</th>
                         <th colspan="3">整改情况</th>
                         <th rowspan="2">检查层级</th>
@@ -42,7 +42,7 @@
                         <th rowspan="2">吊销许可证数量</th>
                         <th rowspan="2">暂扣许可证数量</th>
                         <th rowspan="2">罚款企业数量</th>
-                        <th rowspan="2">罚款金额</th>
+                        <th rowspan="2">罚款金额(万元)</th>
                     </tr>
                     <tr>
                         <th>隐患总数</th>
@@ -92,7 +92,7 @@
                         <td>{{sum.amerceMoneySum}}</td>
                     </tr>
                     <tr>
-                        <td colspan="2">{{ sheetStatus==1?'省本级':'市本级' }}</td>
+                        <td colspan="2">{{ sheetStatus==1?'省本级':'地(州、市)本级' }}</td>
                         <td>{{thisLevelStatistic.enterpriseSum?thisLevelStatistic.enterpriseSum: '--'}}</td>
                         <td>{{thisLevelStatistic.validEnterpriseNum?thisLevelStatistic.validEnterpriseNum: '--'}}</td>
                         <td>{{thisLevelStatistic.selfCheckEnterpriseNum?thisLevelStatistic.selfCheckEnterpriseNum: '--'}}</td>
@@ -106,7 +106,7 @@
                         <td>{{thisLevelStatistic.completedRectifyHiddendangerSum?thisLevelStatistic.completedRectifyHiddendangerSum:'--'}}</td>
                         <td>{{thisLevelStatistic.completedRectifyMajorHiddendangerNum?thisLevelStatistic.completedRectifyMajorHiddendangerNum:'--'}}</td>
                         <td>{{thisLevelStatistic.hiddendangerRectifyRate?thisLevelStatistic.hiddendangerRectifyRate:'--'}}</td>
-                        <td>{{sheetStatus==1?'省级':'市级'}}</td>
+                        <td>{{sheetStatus==1?'省级':'地(州、市)级'}}</td>
                         <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckEnterpriseNum}}</td>
                         <td>
                             {{typeof thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire=="string"?thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire:thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire + '%'}}
@@ -126,8 +126,8 @@
                         <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.amerceEnterpriseNum}}</td>
                         <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.amerceMoneySum}}</td>
                     </tr>
-                    <template v-for="(item,index) in institutionalData">
-                    <tr>
+                    <template v-if="institutionalData && institutionalData.length>0" v-for="(item,index) in institutionalData">
+                    <tr v-if="item.citySpotCheckinfo || item.areaSpotCheckinfo">
                         <td :rowspan="sheetStatus==1?2:1">{{ index + 1}}</td>
                         <td :rowspan="sheetStatus==1?2:1" class="point-item" @click="toDig(item.enterpriseCity,item.enterpriseArea)">
                             {{sheetStatus==1?item.enterpriseCity:item.enterpriseArea }}
@@ -146,32 +146,56 @@
                         <td :rowspan="sheetStatus==1?2:1">{{ item.majorHiddendangerNum }}</td>
                         <td :rowspan="sheetStatus==1?2:1">{{ item.completedRectifyHiddendangerSum }}</td>
                         <td :rowspan="sheetStatus==1?2:1">{{ item.completedRectifyMajorHiddendangerNum }}</td>
-                        <td :rowspan="sheetStatus==1?2:1">{{ item.hiddendangerRectifyRate==null?'--':item.hiddendangerRectifyRate + '%' }}</td>
-                        <td>{{ sheetStatus==1?'设立区级':'县级' }}</td>
-                        <td class="point-item" @click="checkEnterprise(item.enterpriseCity,item.enterpriseArea)">{{sheetStatus==1?item.citySpotCheckinfo.spotCheckEnterpriseNum:item.areaSpotCheckinfo.spotCheckEnterpriseNum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckinfo.spotCheckRateRequire + '%':item.areaSpotCheckinfo.spotCheckRateRequire + '%'}}</td>
-                        <td v-if="sheetStatus==1" :class="item.citySpotCheckinfo.spotCheckCompleteRate<item.citySpotCheckinfo.spotCheckRateRequire?'warning':''">
-                            {{item.citySpotCheckinfo.spotCheckCompleteRate + '%'}}
+                        <td :rowspan="sheetStatus==1?2:1">{{ item.hiddendangerRectifyRate==null?'--':(item.hiddendangerRectifyRate + '%') }}</td>
+                        <td>{{ sheetStatus==1?'设区地(州、市)级':'县级' }}</td>
+                        <td v-if="(item.citySpotCheckinfo && item.citySpotCheckinfo.spotCheckEnterpriseNum !== undefined)|| (item.areaSpotCheckinfo && item.areaSpotCheckinfo.spotCheckEnterpriseNum !== undefined)" class="point-item" @click="checkEnterprise(item.enterpriseCity,item.enterpriseArea)">
+                            {{sheetStatus==1?item.citySpotCheckinfo.spotCheckEnterpriseNum:item.areaSpotCheckinfo.spotCheckEnterpriseNum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckinfo && item.citySpotCheckinfo.spotCheckRateRequire !== undefined)|| (item.areaSpotCheckinfo && item.areaSpotCheckinfo.spotCheckRateRequire !== undefined)">
+                            {{sheetStatus==1?(item.citySpotCheckinfo.spotCheckRateRequire + '%'):(item.areaSpotCheckinfo.spotCheckRateRequire + '%')}}
+                        </td>
+                        <td v-if="sheetStatus==1 && item.citySpotCheckinfo && item.citySpotCheckinfo.spotCheckCompleteRate!== undefined" :class="item.citySpotCheckinfo.spotCheckCompleteRate<item.citySpotCheckinfo.spotCheckRateRequire?'warning':''">
+                            {{item.citySpotCheckinfo.spotCheckCompleteRate==null?'--':(item.citySpotCheckinfo.spotCheckCompleteRate + '%')}}
                         </td>
                         <td v-else :class="item.areaSpotCheckinfo.spotCheckCompleteRate<item.areaSpotCheckinfo.spotCheckRateRequire?'warning':''">
-                            {{item.areaSpotCheckinfo.spotCheckCompleteRate + '%'}}
+                            {{item.areaSpotCheckinfo.spotCheckCompleteRate==null?'--':(item.areaSpotCheckinfo.spotCheckCompleteRate + '%')}}
                         </td>
-                        <td>{{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerSum:item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum:item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum:item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum:item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}</td>
-                        <td>
-                            {{sheetStatus==1?(item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate==null?'--':item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%'):(item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate==null?'--':item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%')}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckinfo.revokeLicenseEnterpriseSum:item.areaSpotCheckinfo.revokeLicenseEnterpriseSum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckinfo.detainLicenseSum:item.areaSpotCheckinfo.detainLicenseSum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckinfo.amerceEnterpriseNum:item.areaSpotCheckinfo.amerceEnterpriseNum}}</td>
-                        <td>{{sheetStatus==1?item.citySpotCheckinfo.amerceMoneySum:item.areaSpotCheckinfo.amerceMoneySum}}</td>
+                        <td v-if="(item.citySpotCheckHiddendangerinfo && item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerSum!== undefined)|| (item.areaSpotCheckHiddendangerinfo && item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum!== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerSum:item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckHiddendangerinfo && item.citySpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum !== undefined)|| (item.areaSpotCheckHiddendangerinfo && item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum !== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum:item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckHiddendangerinfo && item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum !== undefined)|| (item.areaSpotCheckHiddendangerinfo && item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum !== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum:item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckHiddendangerinfo && item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum !== undefined)|| (item.areaSpotCheckHiddendangerinfo && item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum !== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum:item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}
+                        </td>
+                        <td v-if="sheetStatus==1 && item.citySpotCheckHiddendangerinfo && item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate !== undefined">
+                            {{item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate == null ? '--' : (item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%') }}
+                        </td>
+                        <td v-else>
+                            {{item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate==null?'--': (item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%')}}
+                        </td>
+                        <td v-if="(item.citySpotCheckinfo && item.citySpotCheckinfo.revokeLicenseEnterpriseSum !== undefined)|| (item.areaSpotCheckinfo && item.areaSpotCheckinfo.revokeLicenseEnterpriseSum !== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckinfo.revokeLicenseEnterpriseSum:item.areaSpotCheckinfo.revokeLicenseEnterpriseSum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckinfo && item.citySpotCheckinfo.detainLicenseSum !== undefined)|| (item.areaSpotCheckinfo && item.areaSpotCheckinfo.detainLicenseSum !== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckinfo.detainLicenseSum:item.areaSpotCheckinfo.detainLicenseSum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckinfo && item.citySpotCheckinfo.amerceEnterpriseNum !== undefined)|| (item.areaSpotCheckinfo && item.areaSpotCheckinfo.amerceEnterpriseNum !== undefined)">
+                            {{sheetStatus==1?item.citySpotCheckinfo.amerceEnterpriseNum:item.areaSpotCheckinfo.amerceEnterpriseNum}}
+                        </td>
+                        <td v-if="(item.citySpotCheckinfo && item.citySpotCheckinfo.amerceMoneySum !==undefined) || (item.areaSpotCheckinfo && item.areaSpotCheckinfo.amerceMoneySum!==undefined)">
+                            {{sheetStatus==1?item.citySpotCheckinfo.amerceMoneySum:item.areaSpotCheckinfo.amerceMoneySum}}
+                        </td>
                     </tr>
                     <tr v-if="sheetStatus==1">
                         <td>县级</td>
                         <td class="point-item" @click="checkEnterprise(item.enterpriseCity,'all')">{{item.areaSpotCheckinfo.spotCheckEnterpriseNum}}</td>
-                        <td>{{item.areaSpotCheckinfo.spotCheckRateRequire + '%'}}</td>
-                        <td :class="item.areaSpotCheckinfo.spotCheckCompleteRate<item.areaSpotCheckinfo.spotCheckRateRequire?'warning':''">{{item.areaSpotCheckinfo.spotCheckCompleteRate + '%'}}</td>
+                        <td>{{item.areaSpotCheckinfo.spotCheckRateRequire==null?'--':item.areaSpotCheckinfo.spotCheckRateRequire + '%'}}</td>
+                        <td :class="item.areaSpotCheckinfo.spotCheckCompleteRate<item.areaSpotCheckinfo.spotCheckRateRequire?'warning':''">{{item.areaSpotCheckinfo.spotCheckCompleteRate==null?'--':item.areaSpotCheckinfo.spotCheckCompleteRate + '%'}}</td>
                         <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td>
                         <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td>
                         <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td>
@@ -194,7 +218,7 @@
 
 <script>
 import {mapGetters} from "vuex";
-import Cookies from "_js-cookie@2.2.0@js-cookie";
+import Cookies from "js-cookie";
 import {paramList} from "../../../api/contract";
 import {computePageCount} from "../../../utils";
 import {parseError} from "../../../utils/messageDialog";
@@ -256,7 +280,7 @@
     created() {
         const t = this
         t.getCheckUnitType()
-        if(t.taskId){t.getDataStatistics()}
+        // if(t.taskId){t.getDataStatistics()}
     },
     computed: {
         ...mapGetters([
@@ -338,7 +362,6 @@
         },
         switchSheet() {
             const t = this
-            console.log(t.sheetStatus,'status')
             if(t.sheetStatus == 1 || t.sheetStatus == 2){
                 t.getDataStatistics()
             }else{
@@ -354,8 +377,14 @@
             t.$refs.enterprises.enterpriseArea = area
             if(t.sheetStatus == 1){
                 t.$refs.enterprises.enterpriseCity = city
+                if(area == 'all'){
+                    t.$refs.enterprises.checkUnitType = 3
+                }else{
+                    t.$refs.enterprises.checkUnitType = 2
+                }
             }else{
                 t.$refs.enterprises.enterpriseCity = null
+                t.$refs.enterprises.checkUnitType = 3
             }
             t.$refs.enterprises.dialogVisible = true
             t.$refs.enterprises.getEnterprises()
@@ -391,7 +420,7 @@
         },
         exportSheet(){
             const t = this
-            const sheetName = t.taskName + (t.activeTab==1 ?'批发':'零售') + '环节信息报送汇总表(' + (t.sheetStatus==1?'省级层面':(t.sheetStatus==2?'市级层面':'区县级'))
+            const sheetName = t.taskName + (t.activeTab==1 ?'批发':'零售') + '环节信息报送汇总表(' + (t.sheetStatus==1?'省级层面':(t.sheetStatus==2?'地(州、市)级层面':'区县级'))
             if(t.sheetStatus==1||t.sheetStatus==2){
                 t.tableToExcel("tableExcel", "export",sheetName);
             }else{
@@ -415,12 +444,12 @@
 }
 .data-table{
     border-collapse: collapse;
-    border: 1px solid #ccc;
+    border: 1px solid #eee;
     margin: 0 0 20px;
     background: #fff;
     box-shadow: 0 3px 12px rgba(0,0,0,.2);
     tr{
-        border-bottom: 1px solid #ccc;
+        border-bottom: 1px solid #eee;
         white-space: nowrap;
         font-size: 12px;
         &:last-of-type{
@@ -429,25 +458,26 @@
 
         th{
             padding: 6px 4px;
-            border: 1px solid #ccc;
+            border: 1px solid #eee;
             border-left: none;
             font-weight: bolder;
             text-align: center;
-            color: #409EFF;
+            color: #333;
+            background: #F1F4F7;
 
             &:first-of-type{
-                border-top: 1px solid #ccc;
-                border-left: 1px solid #ccc;
+                border-top: 1px solid #eee;
+                border-left: 1px solid #eee;
             }
             &.dark-bg{
-                background: #409EFF;
+                background: #034ea2;
                 color: #fff;
             }
         }
 
         td{
             padding: 6px 4px;
-            border-right: 1px solid #ccc;
+            border-right: 1px solid #eee;
             text-align: center;
 
             &:last-of-type{
@@ -456,11 +486,8 @@
         }
         .point-item{
             cursor: pointer;
-
-            &:hover{
-                text-decoration: underline;
-                color: #409EFF;
-            }
+            text-decoration: underline;
+            color: #034ea2;
         }
         .warning{
             color: red;

--
Gitblit v1.9.2