<template>
|
<div class="table">
|
<div class="table_content">
|
<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" 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 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-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 }}
|
</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 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==null?'--':(item.areaSpotCheckinfo.spotCheckCompleteRate + '%')}}
|
</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==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>
|
<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>
|
<div v-else style="text-align: center;font-size: 16px">暂无汇总数据</div>
|
<area-form v-show="sheetStatus==3" ref="areaSheet"></area-form>
|
</div>
|
</div>
|
<check-enterprises ref="enterprises"></check-enterprises>
|
</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"
|
import areaForm from "./areaForm"
|
import checkEnterprises from "./checkEnterprises"
|
import FileSaver from 'file-saver'
|
import XLSX from 'xlsx'
|
|
export default {
|
name: "sumSheet",
|
components: {
|
areaForm,
|
checkEnterprises
|
},
|
data(){
|
return{
|
taskId: null,
|
taskName: '',
|
unitType: null,
|
sheetStatus: 1,
|
recordTotal: 0,
|
pageSize: 10,
|
currentPage: 1,
|
listLoading: false,
|
activeTab: 1,
|
enterpriseCity: '',
|
enterpriseArea: '',
|
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
|
t.getCheckUnitType()
|
// if(t.taskId){t.getDataStatistics()}
|
},
|
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
|
t.sheetStatus = res.data.result.checkUnitType
|
}else{
|
t.$message({
|
type:'warning',
|
message:res.data.message
|
})
|
}
|
t.listLoading = false
|
},
|
getSum(arr){
|
return arr.reduce((prev,curr)=>prev+curr)
|
},
|
async getDataStatistics(){
|
const t = this
|
const loading = this.$loading({
|
lock: true,
|
target: document.querySelector('.tabpanel'),
|
text: '正在获取汇总数据',
|
spinner: 'el-icon-loading',
|
fullscreen: false
|
});
|
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.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)).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))
|
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',
|
message:res.data.message
|
})
|
}
|
loading.close();
|
},
|
switchSheet() {
|
const t = this
|
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.sheetStatus = 2
|
t.getDataStatistics()
|
console.log(t.sheetStatus,t.institutionalData[0].citySpotCheckinfo.spotCheckEnterpriseNum,'666666666666666666')
|
}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) {
|
let 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
|
let table = document.getElementById(tableid);
|
let ctx = { worksheet: 'Worksheet', table: table.innerHTML };
|
let 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?'市级层面':'区县级'))
|
if(t.sheetStatus==1||t.sheetStatus==2){
|
t.tableToExcel("tableExcel", "export",sheetName);
|
}else{
|
let wb = XLSX.utils.table_to_book(document.querySelector('#' + 'areaSheet'))
|
let wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
|
try {
|
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), sheetName + ').xlsx')
|
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
|
// return wbout
|
}
|
},
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.tabpanel{
|
width: 100%;
|
height: calc(100vh - 240px);
|
overflow: auto;
|
}
|
.data-table{
|
border-collapse: collapse;
|
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 #eee;
|
white-space: nowrap;
|
font-size: 12px;
|
&:last-of-type{
|
border-bottom: none;
|
}
|
|
th{
|
padding: 6px 4px;
|
border: 1px solid #eee;
|
border-left: none;
|
font-weight: bolder;
|
text-align: center;
|
color: #333;
|
background: #F1F4F7;
|
|
&:first-of-type{
|
border-top: 1px solid #eee;
|
border-left: 1px solid #eee;
|
}
|
&.dark-bg{
|
background: #034ea2;
|
color: #fff;
|
}
|
}
|
|
td{
|
padding: 6px 4px;
|
border-right: 1px solid #eee;
|
text-align: center;
|
|
&:last-of-type{
|
border-right: none;
|
}
|
}
|
.point-item{
|
cursor: pointer;
|
text-decoration: underline;
|
color: #034ea2;
|
}
|
.warning{
|
color: red;
|
}
|
}
|
.b-font{
|
font-size: 16px;
|
font-weight: bolder;
|
}
|
}
|
</style>
|