<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>
|
</div>
|
</template>
|
|
<script>
|
import {mapGetters} from "vuex";
|
import Cookies from "_js-cookie@2.2.0@js-cookie";
|
import {paramList} from "../../../api/contract";
|
import {computePageCount} from "../../../utils";
|
import {parseError} from "../../../utils/messageDialog";
|
import { getCheckUnitType,getDataStatistics, getSpecialCheckTask } from "@/api/specialCheck"
|
|
export default {
|
name: "sumSheet",
|
components: {},
|
data(){
|
return{
|
taskId: null,
|
unitType: null,
|
recordTotal: 0,
|
pageSize: 10,
|
currentPage: 1,
|
listLoading: false,
|
activeTab: '1',
|
enterpriseCity: null,
|
enterpriseArea: null,
|
sum:{
|
enterpriseSum: null,
|
validEnterpriseNum: null,
|
selfCheckEnterpriseNum: null,
|
selfCheckRateRequire: 100,
|
validSelfCheckEnterpriseNum: null,
|
stockNum: null,
|
storageCapacity: null,
|
selfhiddendangerSum: null,
|
selfmajorHiddendangerNum: null,
|
selfcompletedRectifyHiddendangerSum: null,
|
selfcompletedRectifyMajorHiddendangerNum: null,
|
spotCheckEnterpriseNum: null,
|
spotCheckRateRequire: 100,
|
spotCheckHiddendangerSum: null,
|
spotCheckMajorHiddendangerNum: null,
|
spotCheckCompletedRectifyHiddendangerSum:null,
|
spotCheckCompletedRectifyMajorHiddendangerNum:null,
|
revokeLicenseEnterpriseSum:null,
|
detainLicenseSum:null,
|
amerceEnterpriseNum:null,
|
amerceMoneySum:null
|
},
|
thisLevelStatistic: {
|
thisLevelSpotCheckinfo:{},
|
thisLevelSpotCheckHiddendangerinfo:{}
|
},
|
institutionalData: []
|
}
|
},
|
created() {
|
const t = this
|
if(t.taskId){t.getDataStatistics()}
|
else{t.getCheckTask()}
|
t.getCheckUnitType()
|
},
|
computed: {
|
...mapGetters([
|
'userType',
|
'name'
|
])
|
},
|
methods:{
|
async getCheckUnitType(){
|
const t = this
|
t.listLoading = true
|
let res = await getCheckUnitType()
|
if(res.data.code === "200"){
|
t.unitType = res.data.result.checkUnitType
|
}else{
|
t.$message({
|
type:'warning',
|
message:res.data.message
|
})
|
}
|
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 res = await getDataStatistics(data)
|
if(res.data.code === "200"){
|
t.thisLevelStatistic = res.data.result.thisLevelInstitutionalDataInfo
|
t.institutionalData = res.data.result.institutionalDataInfo
|
t.sum.enterpriseSum = t.getSum(Array.from(t.institutionalData, ({ enterpriseSum }) => enterpriseSum))
|
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.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}))
|
}else{
|
t.$message({
|
type:'warning',
|
message:res.data.message
|
})
|
}
|
},
|
switchSheet(tab, event) {
|
const t = this
|
t.getDataStatistics()
|
},
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
::v-deep.el-tabs--border-card .el-tabs__content{
|
height: calc(100vh - 200px);
|
overflow: scroll !important;
|
}
|
.data-table{
|
border-collapse: collapse;
|
border: 1px solid #ccc;
|
margin: 0 0 20px;
|
background: #fff;
|
box-shadow: 0 3px 12px rgba(0,0,0,.2);
|
tr{
|
border-bottom: 1px solid #ccc;
|
white-space: nowrap;
|
font-size: 12px;
|
&:last-of-type{
|
border-bottom: none;
|
}
|
|
th{
|
padding: 6px 4px;
|
border: 1px solid #ccc;
|
border-left: none;
|
font-weight: bolder;
|
text-align: center;
|
color: #409EFF;
|
|
&:first-of-type{
|
border-top: 1px solid #ccc;
|
border-left: 1px solid #ccc;
|
}
|
&.dark-bg{
|
background: #409EFF;
|
color: #fff;
|
}
|
}
|
|
td{
|
padding: 6px 4px;
|
border-right: 1px solid #ccc;
|
text-align: center;
|
|
&:last-of-type{
|
border-right: none;
|
}
|
}
|
.warning{
|
color: red;
|
}
|
}
|
.b-font{
|
font-size: 16px;
|
font-weight: bolder;
|
}
|
}
|
</style>
|