| | |
| | | <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> |
| | | |
| | |
| | | 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, |
| | |
| | | }, |
| | | created() { |
| | | const t = this |
| | | if(t.taskId){t.getDataStatistics()} |
| | | else{t.getCheckTask()} |
| | | t.getCheckUnitType() |
| | | if(t.taskId){t.getDataStatistics()} |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | |
| | | 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', |
| | |
| | | } |
| | | 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 |
| | |
| | | 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', |
| | |
| | | }) |
| | | } |
| | | }, |
| | | 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; |
| | |
| | | border-right: none; |
| | | } |
| | | } |
| | | .point-item{ |
| | | cursor: pointer; |
| | | |
| | | &:hover{ |
| | | text-decoration: underline; |
| | | color: #409EFF; |
| | | } |
| | | } |
| | | .warning{ |
| | | color: red; |
| | | } |