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/specialCheck/components/sumSheet.vue | 490 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 292 insertions(+), 198 deletions(-) diff --git a/src/views/specialCheck/components/sumSheet.vue b/src/views/specialCheck/components/sumSheet.vue index 76bdd82..a7e81d0 100644 --- a/src/views/specialCheck/components/sumSheet.vue +++ b/src/views/specialCheck/components/sumSheet.vue @@ -1,168 +1,194 @@ <template> <div class="table"> <div class="table_content"> - <el-tabs type="border-card" v-model="activeTab" @tab-click="switchSheet"> - <el-tab-pane label="批发" name="1" style="display: flex;flex-direction: column;align-items: flex-start"> - <h2 style="text-align: center">2023年上半年烟花爆竹生产经营安全检查批发环节信息报送汇总表(省级层面)</h2> - <table class="data-table"> - <tr> - <th rowspan="3">序号</th> - <th rowspan="3">地市</th> - <th colspan="2">企业基本情况</th> - <th colspan="11">企业自查及整改</th> - <th colspan="9">检查及整改情况</th> - <th colspan="4">执法处罚情况</th> - </tr> - <tr> - <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 rowspan="2">企业库容量/万箱</th> - <th colspan="2">隐患问题情况</th> - <th colspan="3">整改情况</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> - <th rowspan="2">暂扣许可证数量</th> - <th rowspan="2">罚款企业数量</th> - <th rowspan="2">罚款金额</th> - </tr> - <tr> - <th>隐患总数</th> - <th>重大隐患数量</th> - <th>整改总数</th> - <th>重大隐患整改数量</th> - <th>隐患整改率</th> - <th>隐患总数</th> - <th>重大隐患数量</th> - <th>整改隐患总数</th> - <th>整改重大隐患数量</th> - <th>隐患整改率</th> - </tr> - <tr> - <td colspan="2">合计</td> - <td>{{sum.enterpriseSum}}</td> - <td>{{sum.validEnterpriseNum}}</td> - <td>{{sum.selfCheckEnterpriseNum}}</td> - <td>{{sum.selfCheckRateRequire + '%'}}</td> - <td :class="(sum.selfCheckEnterpriseNum / sum.validEnterpriseNum) * 100<sum.selfCheckRateRequire?'warning':''"> - {{(sum.selfCheckEnterpriseNum / sum.validEnterpriseNum) * 100 + '%'}} - </td> - <td>{{sum.validSelfCheckEnterpriseNum}}</td> - <td>{{sum.stockNum}}</td> - <td>{{sum.storageCapacity}}</td> - <td>{{sum.selfhiddendangerSum}}</td> - <td>{{sum.selfmajorHiddendangerNum}}</td> - <td>{{sum.selfcompletedRectifyHiddendangerSum}}</td> - <td>{{sum.selfcompletedRectifyMajorHiddendangerNum}}</td> - <td>{{(sum.selfcompletedRectifyHiddendangerSum / sum.selfhiddendangerSum) * 100 + '%'}}</td> - <td>--</td> - <td>{{sum.spotCheckEnterpriseNum}}</td> - <td>{{sum.spotCheckRateRequire + '%'}}</td> - <td :class="(sum.spotCheckEnterpriseNum / sum.validEnterpriseNum) * 100<sum.spotCheckRateRequire?'warning':''"> - {{(sum.spotCheckEnterpriseNum / sum.validEnterpriseNum) * 100 + '%'}} - </td> - <td>{{sum.spotCheckHiddendangerSum}}</td> - <td>{{sum.spotCheckMajorHiddendangerNum}}</td> - <td>{{sum.spotCheckCompletedRectifyHiddendangerSum}}</td> - <td>{{sum.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> - <td>{{(sum.spotCheckCompletedRectifyHiddendangerSum / sum.spotCheckHiddendangerSum) * 100 + '%'}}</td> - <td>{{sum.revokeLicenseEnterpriseSum}}</td> - <td>{{sum.detainLicenseSum}}</td> - <td>{{sum.amerceEnterpriseNum}}</td> - <td>{{sum.amerceMoneySum}}</td> - </tr> - <tr> - <td colspan="2">{{ unitType==1?'省本级':(unitType==2?'市本级':'县本级') }}</td> - <td>{{thisLevelStatistic.enterpriseSum?thisLevelStatistic.enterpriseSum: '--'}}</td> - <td>{{thisLevelStatistic.validEnterpriseNum?thisLevelStatistic.validEnterpriseNum: '--'}}</td> - <td>{{thisLevelStatistic.selfCheckEnterpriseNum?thisLevelStatistic.selfCheckEnterpriseNum: '--'}}</td> - <td>{{thisLevelStatistic.selfCheckRateRequire?thisLevelStatistic.selfCheckRateRequire: '--'}}</td> - <td>{{thisLevelStatistic.selfCheckCompleteRate?thisLevelStatistic.selfCheckCompleteRate: '--'}}</td> - <td>{{thisLevelStatistic.validSelfCheckEnterpriseNum?thisLevelStatistic.validSelfCheckEnterpriseNum: '--'}}</td> - <td>{{thisLevelStatistic.stockNum?thisLevelStatistic.stockNum:'--'}}</td> - <td>{{thisLevelStatistic.storageCapacity?thisLevelStatistic.storageCapacity: '--'}}</td> - <td>{{thisLevelStatistic.hiddendangerSum?thisLevelStatistic.hiddendangerSum:'--'}}</td> - <td>{{thisLevelStatistic.majorHiddendangerNum?thisLevelStatistic.majorHiddendangerNum:'--'}}</td> - <td>{{thisLevelStatistic.completedRectifyHiddendangerSum?thisLevelStatistic.completedRectifyHiddendangerSum:'--'}}</td> - <td>{{thisLevelStatistic.completedRectifyMajorHiddendangerNum?thisLevelStatistic.completedRectifyMajorHiddendangerNum:'--'}}</td> - <td>{{thisLevelStatistic.hiddendangerRectifyRate?thisLevelStatistic.hiddendangerRectifyRate:'--'}}</td> - <td>省级</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckEnterpriseNum}}</td> - <td>{{typeof thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire=="string"?thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire:thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire + '%'}}</td> - <td>{{typeof thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckCompleteRate=="string"?thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckCompleteRate:thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckCompleteRate + '%'}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%'}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.revokeLicenseEnterpriseSum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.detainLicenseSum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.amerceEnterpriseNum}}</td> - <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.amerceMoneySum}}</td> - </tr> - <template v-for="(item,index) in institutionalData"> - <tr> - <td rowspan="2">{{ index + 1}}</td> - <td rowspan="2" @click="toDownSide()">{{item.enterpriseProvince?item.enterpriseProvince:'' + item.enterpriseCity?item.enterpriseCity:'' + item.enterpriseArea?item.enterpriseArea:''}}</td> - <td rowspan="2">{{item.enterpriseSum}}</td> - <td rowspan="2">{{item.validEnterpriseNum}}</td> - <td rowspan="2">{{item.selfCheckEnterpriseNum}}</td> - <td rowspan="2">{{item.selfCheckRateRequire + '%'}}</td> - <td rowspan="2" :class="item.selfCheckCompleteRate<item.selfCheckRateRequire?'warning':''">{{item.selfCheckCompleteRate + '%'}}</td> - <td rowspan="2">{{ item.validSelfCheckEnterpriseNum }}</td> - <td rowspan="2">{{ item.stockNum }}</td> - <td rowspan="2">{{ item.storageCapacity }}</td> - <td rowspan="2">{{ item.hiddendangerSum }}</td> - <td rowspan="2">{{ item.majorHiddendangerNum }}</td> - <td rowspan="2">{{ item.completedRectifyHiddendangerSum }}</td> - <td rowspan="2">{{ item.completedRectifyMajorHiddendangerNum }}</td> - <td rowspan="2">{{ item.hiddendangerRectifyRate }}</td> - <td>设区市级</td> - <td>{{item.citySpotCheckinfo.spotCheckEnterpriseNum}}</td> - <td>{{item.citySpotCheckinfo.spotCheckRateRequire + '%'}}</td> - <td :class="item.citySpotCheckinfo.spotCheckCompleteRate<item.citySpotCheckinfo.spotCheckRateRequire?'warning':''">{{item.citySpotCheckinfo.spotCheckCompleteRate + '%'}}</td> - <td>{{item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td> - <td>{{item.citySpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td> - <td>{{item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td> - <td>{{item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> - <td>{{item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%'}}</td> - <td>{{item.citySpotCheckinfo.revokeLicenseEnterpriseSum}}</td> - <td>{{item.citySpotCheckinfo.detainLicenseSum}}</td> - <td>{{item.citySpotCheckinfo.amerceEnterpriseNum}}</td> - <td>{{item.citySpotCheckinfo.amerceMoneySum}}</td> - </tr> - <tr> - <td>县级</td> - <td>{{item.areaSpotCheckinfo.spotCheckEnterpriseNum}}</td> - <td>{{item.areaSpotCheckinfo.spotCheckRateRequire + '%'}}</td> - <td :class="item.areaSpotCheckinfo.spotCheckCompleteRate<item.areaSpotCheckinfo.spotCheckRateRequire?'warning':''">{{item.areaSpotCheckinfo.spotCheckCompleteRate + '%'}}</td> - <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td> - <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td> - <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td> - <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> - <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%'}}</td> - <td>{{item.areaSpotCheckinfo.revokeLicenseEnterpriseSum}}</td> - <td>{{item.areaSpotCheckinfo.detainLicenseSum}}</td> - <td>{{item.areaSpotCheckinfo.amerceEnterpriseNum}}</td> - <td>{{item.areaSpotCheckinfo.amerceMoneySum}}</td> - </tr> - </template> - </table> - </el-tab-pane> - <el-tab-pane label="零售" name="2"> - <h2 style="text-align: center">2023年上半年烟花爆竹生产经营安全检查零售环节信息报送汇总表(省级层面)</h2> - </el-tab-pane> - </el-tabs> + <div style="display: flex;justify-content: center"> + <el-radio-group v-model="activeTab" @input="switchSheet()"> + <el-radio-button :label="1">批发</el-radio-button> + <el-radio-button :label="2">零售</el-radio-button> + </el-radio-group> + </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> + <el-button icon="el-icon-download" v-if="sheetStatus==1||sheetStatus==2" style="width: 140px" size="medium" type="primary" @click="exportSheet()" id="export">导出汇总表</el-button> + <div v-else style="width: 140px"></div> + </div> + <div class="tabpanel"> + <table v-show="sheetStatus==1||sheetStatus==2" class="data-table" id="tableExcel"> + <tr> + <th rowspan="3">序号</th> + <th rowspan="3">{{sheetStatus==1?'地市':'区县'}}</th> + <th colspan="2">企业基本情况</th> + <th colspan="11">企业自查及整改</th> + <th colspan="9">检查及整改情况</th> + <th colspan="4">执法处罚情况</th> + </tr> + <tr> + <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 rowspan="2">企业库容量/万箱</th> + <th colspan="2">隐患问题情况</th> + <th colspan="3">整改情况</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> + <th rowspan="2">暂扣许可证数量</th> + <th rowspan="2">罚款企业数量</th> + <th rowspan="2">罚款金额</th> + </tr> + <tr> + <th>隐患总数</th> + <th>重大隐患数量</th> + <th>整改总数</th> + <th>重大隐患整改数量</th> + <th>隐患整改率</th> + <th>隐患总数</th> + <th>重大隐患数量</th> + <th>整改隐患总数</th> + <th>整改重大隐患数量</th> + <th>隐患整改率</th> + </tr> + <tr> + <td colspan="2">合计</td> + <td>{{sum.enterpriseSum}}</td> + <td>{{sum.validEnterpriseNum}}</td> + <td>{{sum.selfCheckEnterpriseNum}}</td> + <td>{{sum.selfCheckRateRequire + '%'}}</td> + <td :class="(sum.selfCheckEnterpriseNum / sum.validEnterpriseNum) * 100<sum.selfCheckRateRequire?'warning':''"> + {{sum.validEnterpriseNum==0?'--':(sum.selfCheckEnterpriseNum / sum.validEnterpriseNum).toFixed(2) * 100 + '%'}} + </td> + <td>{{sum.validSelfCheckEnterpriseNum}}</td> + <td>{{sum.stockNum}}</td> + <td>{{sum.storageCapacity}}</td> + <td>{{sum.selfhiddendangerSum}}</td> + <td>{{sum.selfmajorHiddendangerNum}}</td> + <td>{{sum.selfcompletedRectifyHiddendangerSum}}</td> + <td>{{sum.selfcompletedRectifyMajorHiddendangerNum}}</td> + <td>{{sum.selfhiddendangerSum==0?'--':(sum.selfcompletedRectifyHiddendangerSum / sum.selfhiddendangerSum).toFixed(2) * 100 + '%'}}</td> + <td>--</td> + <td>{{sum.spotCheckEnterpriseNum}}</td> + <td>{{sum.spotCheckRateRequire + '%'}}</td> + <td :class="(sum.spotCheckEnterpriseNum / sum.validEnterpriseNum) * 100<sum.spotCheckRateRequire?'warning':''"> + {{(sum.spotCheckEnterpriseNum / sum.validEnterpriseNum).toFixed(2) * 100 + '%'}} + </td> + <td>{{sum.spotCheckHiddendangerSum}}</td> + <td>{{sum.spotCheckMajorHiddendangerNum}}</td> + <td>{{sum.spotCheckCompletedRectifyHiddendangerSum}}</td> + <td>{{sum.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> + <td> + {{sum.spotCheckHiddendangerSum == 0?'--':(sum.spotCheckCompletedRectifyHiddendangerSum / sum.spotCheckHiddendangerSum).toFixed(2) * 100 + '%'}} + </td> + <td>{{sum.revokeLicenseEnterpriseSum}}</td> + <td>{{sum.detainLicenseSum}}</td> + <td>{{sum.amerceEnterpriseNum}}</td> + <td>{{sum.amerceMoneySum}}</td> + </tr> + <tr> + <td colspan="2">{{ sheetStatus==1?'省本级':'市本级' }}</td> + <td>{{thisLevelStatistic.enterpriseSum?thisLevelStatistic.enterpriseSum: '--'}}</td> + <td>{{thisLevelStatistic.validEnterpriseNum?thisLevelStatistic.validEnterpriseNum: '--'}}</td> + <td>{{thisLevelStatistic.selfCheckEnterpriseNum?thisLevelStatistic.selfCheckEnterpriseNum: '--'}}</td> + <td>{{thisLevelStatistic.selfCheckRateRequire?thisLevelStatistic.selfCheckRateRequire: '--'}}</td> + <td>{{thisLevelStatistic.selfCheckCompleteRate?thisLevelStatistic.selfCheckCompleteRate: '--'}}</td> + <td>{{thisLevelStatistic.validSelfCheckEnterpriseNum?thisLevelStatistic.validSelfCheckEnterpriseNum: '--'}}</td> + <td>{{thisLevelStatistic.stockNum?thisLevelStatistic.stockNum:'--'}}</td> + <td>{{thisLevelStatistic.storageCapacity?thisLevelStatistic.storageCapacity: '--'}}</td> + <td>{{thisLevelStatistic.hiddendangerSum?thisLevelStatistic.hiddendangerSum:'--'}}</td> + <td>{{thisLevelStatistic.majorHiddendangerNum?thisLevelStatistic.majorHiddendangerNum:'--'}}</td> + <td>{{thisLevelStatistic.completedRectifyHiddendangerSum?thisLevelStatistic.completedRectifyHiddendangerSum:'--'}}</td> + <td>{{thisLevelStatistic.completedRectifyMajorHiddendangerNum?thisLevelStatistic.completedRectifyMajorHiddendangerNum:'--'}}</td> + <td>{{thisLevelStatistic.hiddendangerRectifyRate?thisLevelStatistic.hiddendangerRectifyRate:'--'}}</td> + <td>{{sheetStatus==1?'省级':'市级'}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckEnterpriseNum}}</td> + <td> + {{typeof thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire=="string"?thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire:thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckRateRequire + '%'}} + </td> + <td> + {{typeof thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckCompleteRate=="string"?thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckCompleteRate:thisLevelStatistic.thisLevelSpotCheckinfo.spotCheckCompleteRate + '%'}} + </td> + <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> + <td> + {{thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate==null?'--':thisLevelStatistic.thisLevelSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%'}} + </td> + <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.revokeLicenseEnterpriseSum}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.detainLicenseSum}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.amerceEnterpriseNum}}</td> + <td>{{thisLevelStatistic.thisLevelSpotCheckinfo.amerceMoneySum}}</td> + </tr> + <template v-for="(item,index) in institutionalData"> + <tr> + <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 }} + </td> + <td :rowspan="sheetStatus==1?2:1">{{item.enterpriseSum}}</td> + <td :rowspan="sheetStatus==1?2:1">{{item.validEnterpriseNum}}</td> + <td :rowspan="sheetStatus==1?2:1">{{item.selfCheckEnterpriseNum}}</td> + <td :rowspan="sheetStatus==1?2:1">{{item.selfCheckRateRequire + '%'}}</td> + <td :rowspan="sheetStatus==1?2:1" :class="item.selfCheckCompleteRate<item.selfCheckRateRequire?'warning':''"> + {{item.selfCheckCompleteRate + '%'}} + </td> + <td :rowspan="sheetStatus==1?2:1">{{ item.validSelfCheckEnterpriseNum }}</td> + <td :rowspan="sheetStatus==1?2:1">{{ item.stockNum }}</td> + <td :rowspan="sheetStatus==1?2:1">{{ item.storageCapacity }}</td> + <td :rowspan="sheetStatus==1?2:1">{{ item.hiddendangerSum }}</td> + <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> + <td v-else :class="item.areaSpotCheckinfo.spotCheckCompleteRate<item.areaSpotCheckinfo.spotCheckRateRequire?'warning':''"> + {{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> + </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.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum}}</td> + <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum}}</td> + <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum}}</td> + <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum}}</td> + <td>{{item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate==null?'--':item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerRectifyRate + '%'}}</td> + <td>{{item.areaSpotCheckinfo.revokeLicenseEnterpriseSum}}</td> + <td>{{item.areaSpotCheckinfo.detainLicenseSum}}</td> + <td>{{item.areaSpotCheckinfo.amerceEnterpriseNum}}</td> + <td>{{item.areaSpotCheckinfo.amerceMoneySum}}</td> + </tr> + </template> + </table> + <area-form v-show="sheetStatus==3" ref="areaSheet"></area-form> + </div> </div> + <check-enterprises ref="enterprises"></check-enterprises> </div> </template> @@ -173,21 +199,28 @@ import {computePageCount} from "../../../utils"; import {parseError} from "../../../utils/messageDialog"; import { getCheckUnitType,getDataStatistics, getSpecialCheckTask } from "@/api/specialCheck" +import areaForm from "./areaForm" +import checkEnterprises from "./checkEnterprises" export default { name: "sumSheet", - components: {}, + components: { + areaForm, + checkEnterprises + }, data(){ return{ taskId: null, + taskName: '', unitType: null, + sheetStatus: 1, recordTotal: 0, pageSize: 10, currentPage: 1, listLoading: false, - activeTab: '1', - enterpriseCity: null, - enterpriseArea: null, + activeTab: 1, + enterpriseCity: '', + enterpriseArea: '', sum:{ enterpriseSum: null, validEnterpriseNum: null, @@ -220,9 +253,8 @@ }, created() { const t = this - if(t.taskId){t.getDataStatistics()} - else{t.getCheckTask()} t.getCheckUnitType() + if(t.taskId){t.getDataStatistics()} }, computed: { ...mapGetters([ @@ -237,6 +269,7 @@ let res = await getCheckUnitType() if(res.data.code === "200"){ t.unitType = res.data.result.checkUnitType + t.sheetStatus = res.data.result.checkUnitType }else{ t.$message({ type:'warning', @@ -245,25 +278,12 @@ } t.listLoading = false }, - async getCheckTask(){ - const t = this - const res = await getSpecialCheckTask() - if(res.data.code === "200"){ - t.taskId = res.data.result.specialCheckTaskSimplifyInfos[0].id - t.getDataStatistics() - }else{ - t.$message({ - type:'warning', - message:res.data.message - }) - } - }, getSum(arr){ return arr.reduce((prev,curr)=>prev+curr) }, async getDataStatistics(){ const t = this - const data = {id: t.taskId,enterpriseType: Number(t.activeTab),enterpriseCity: t.enterpriseCity,enterpriseArea: t.enterpriseArea,pageIndex: t.currentPage,pageSize: t.pageSize} + const data = {id: t.taskId,enterpriseType: t.activeTab,enterpriseCity: t.enterpriseCity,enterpriseArea: t.enterpriseArea,pageIndex: t.currentPage,pageSize: t.pageSize} const res = await getDataStatistics(data) if(res.data.code === "200"){ t.thisLevelStatistic = res.data.result.thisLevelInstitutionalDataInfo @@ -272,22 +292,33 @@ t.sum.validEnterpriseNum = t.getSum(Array.from(t.institutionalData, ({ validEnterpriseNum }) => validEnterpriseNum)) t.sum.selfCheckEnterpriseNum = t.getSum(Array.from(t.institutionalData, ({ selfCheckEnterpriseNum }) => selfCheckEnterpriseNum)) t.sum.validSelfCheckEnterpriseNum = t.getSum(Array.from(t.institutionalData, ({ validSelfCheckEnterpriseNum }) => validSelfCheckEnterpriseNum)) - t.sum.stockNum = t.getSum(Array.from(t.institutionalData, ({ stockNum }) => stockNum)) - console.log(Array.from(t.institutionalData, ({ stockNum }) => stockNum),'666666666666') - t.sum.storageCapacity = t.getSum(Array.from(t.institutionalData, ({ storageCapacity }) => storageCapacity)) + t.sum.stockNum = t.getSum(Array.from(t.institutionalData, ({ stockNum }) => stockNum)).toFixed(2) + t.sum.storageCapacity = t.getSum(Array.from(t.institutionalData, ({ storageCapacity }) => storageCapacity)).toFixed(2) t.sum.selfhiddendangerSum = t.getSum(Array.from(t.institutionalData, ({ hiddendangerSum }) => hiddendangerSum)) t.sum.selfmajorHiddendangerNum = t.getSum(Array.from(t.institutionalData, ({ majorHiddendangerNum }) => majorHiddendangerNum)) t.sum.selfcompletedRectifyHiddendangerSum = t.getSum(Array.from(t.institutionalData, ({ completedRectifyHiddendangerSum }) => completedRectifyHiddendangerSum)) t.sum.selfcompletedRectifyMajorHiddendangerNum = t.getSum(Array.from(t.institutionalData, ({ completedRectifyMajorHiddendangerNum }) => completedRectifyMajorHiddendangerNum)) - t.sum.spotCheckEnterpriseNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.spotCheckEnterpriseNum})) - t.sum.spotCheckHiddendangerSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerSum})) - t.sum.spotCheckMajorHiddendangerNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum})) - t.sum.spotCheckCompletedRectifyHiddendangerSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum})) - t.sum.spotCheckCompletedRectifyMajorHiddendangerNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum})) - t.sum.revokeLicenseEnterpriseSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.revokeLicenseEnterpriseSum})) - t.sum.detainLicenseSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.detainLicenseSum})) - t.sum.amerceEnterpriseNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.amerceEnterpriseNum})) - t.sum.amerceMoneySum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.amerceMoneySum})) + if(t.sheetStatus == 1){ + t.sum.spotCheckEnterpriseNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.spotCheckEnterpriseNum})) + t.sum.spotCheckHiddendangerSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckHiddendangerSum})) + t.sum.spotCheckMajorHiddendangerNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum})) + t.sum.spotCheckCompletedRectifyHiddendangerSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum})) + t.sum.spotCheckCompletedRectifyMajorHiddendangerNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum})) + t.sum.revokeLicenseEnterpriseSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.revokeLicenseEnterpriseSum})) + t.sum.detainLicenseSum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.detainLicenseSum})) + t.sum.amerceEnterpriseNum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.amerceEnterpriseNum})) + t.sum.amerceMoneySum = t.getSum(t.institutionalData.map(item=>{return item.citySpotCheckinfo.amerceMoneySum})) + }else{ + t.sum.spotCheckEnterpriseNum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckinfo.spotCheckEnterpriseNum})) + t.sum.spotCheckHiddendangerSum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckHiddendangerinfo.spotCheckHiddendangerSum})) + t.sum.spotCheckMajorHiddendangerNum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckHiddendangerinfo.spotCheckMajorHiddendangerNum})) + t.sum.spotCheckCompletedRectifyHiddendangerSum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyHiddendangerSum})) + t.sum.spotCheckCompletedRectifyMajorHiddendangerNum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckHiddendangerinfo.spotCheckCompletedRectifyMajorHiddendangerNum})) + t.sum.revokeLicenseEnterpriseSum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckinfo.revokeLicenseEnterpriseSum})) + t.sum.detainLicenseSum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckinfo.detainLicenseSum})) + t.sum.amerceEnterpriseNum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckinfo.amerceEnterpriseNum})) + t.sum.amerceMoneySum = t.getSum(t.institutionalData.map(item=>{return item.areaSpotCheckinfo.amerceMoneySum})) + } }else{ t.$message({ type:'warning', @@ -295,18 +326,73 @@ }) } }, - switchSheet(tab, event) { + switchSheet() { const t = this - t.getDataStatistics() + console.log(t.sheetStatus,'status') + if(t.sheetStatus == 1 || t.sheetStatus == 2){ + t.getDataStatistics() + }else{ + t.$refs.areaSheet.enterpriseType = t.activeTab + t.$refs.areaSheet.getAreaStatistics() + } }, + + checkEnterprise(city,area){ + const t = this + t.$refs.enterprises.taskId = t.taskId + t.$refs.enterprises.enterpriseType = t.activeTab + t.$refs.enterprises.enterpriseArea = area + if(t.sheetStatus == 1){ + t.$refs.enterprises.enterpriseCity = city + }else{ + t.$refs.enterprises.enterpriseCity = null + } + t.$refs.enterprises.dialogVisible = true + t.$refs.enterprises.getEnterprises() + }, + + toDig(city,area){ + const t = this + if(t.sheetStatus==1){ + t.enterpriseCity = city + t.getDataStatistics() + t.sheetStatus = 2 + }else{ + t.sheetStatus = 3 + t.$refs.areaSheet.taskId = t.taskId + t.$refs.areaSheet.enterpriseType = t.activeTab + t.enterpriseArea = area + t.$refs.areaSheet.enterpriseArea = area + t.$refs.areaSheet.getAreaStatistics() + } + }, + tableToExcel(tableid,btnname,sheetname) { + var uri = 'data:application/vnd.ms-excel;base64,' + , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>' + , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) } + , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) } + //根据ID获取table表格HTML + var table = document.getElementById(tableid); + var ctx = { worksheet: 'Worksheet', table: table.innerHTML }; + var alink = document.createElement("a"); + alink.href = uri + base64(format(template, ctx)); + alink.download = sheetname + ').xls'; + alink.click(); + }, + exportSheet(){ + const t = this + const sheetName = t.taskName + (t.activeTab==1 ?'批发':'零售') + '环节信息报送汇总表(' + (t.sheetStatus==1?'省级层面':(t.sheetStatus==2?'市级层面':'区县级')) + t.tableToExcel("tableExcel", "export",sheetName); + } } } </script> <style lang="scss" scoped> -::v-deep.el-tabs--border-card .el-tabs__content{ - height: calc(100vh - 200px); - overflow: scroll !important; +.tabpanel{ + width: 100%; + height: calc(100vh - 240px); + overflow: auto; } .data-table{ border-collapse: collapse; @@ -349,6 +435,14 @@ border-right: none; } } + .point-item{ + cursor: pointer; + + &:hover{ + text-decoration: underline; + color: #409EFF; + } + } .warning{ color: red; } -- Gitblit v1.9.2