From c09372098568cfc89203c4384c70a12e1b675533 Mon Sep 17 00:00:00 2001 From: shijing Date: Tue, 2 Jan 2024 14:41:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/supervisionNew/statisticsGroup.vue | 67 ++++++++++++++++++- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/client/src/views/supervisionNew/statisticsGroup.vue b/client/src/views/supervisionNew/statisticsGroup.vue index adb90ed..1bc4ca5 100644 --- a/client/src/views/supervisionNew/statisticsGroup.vue +++ b/client/src/views/supervisionNew/statisticsGroup.vue @@ -26,6 +26,13 @@ @click="exportExcel" >导出 + 统计导出 @@ -56,10 +63,12 @@ import checkPermission from "@/utils/permission"; import * as echarts from 'echarts'; import ExcelJS from 'exceljs'; // 引入exceljs, 用于生成excel文件 - import { saveAs } from 'file-saver' + import { saveAs } from 'file-saver'; + import * as XLSX from "xlsx"; export default { data() { return { + allData:[], timeStamp:0, listQuery:{ year:'', @@ -73,6 +82,7 @@ option2:{}, option3:{}, option4:{}, + isSaving:false, }; }, mounted() { @@ -305,6 +315,7 @@ } } taskAnalyse(that.listQuery).then(res=>{ + that.allData = res.data; console.log(res) let data = res.data; let xaxis1 = [''],data1 = [],data12=[], @@ -533,7 +544,59 @@ type: 'application/octet-stream' // 指定文件的MIME类型 }), 'xchart.xlsx'); // 指定文件名 }); - } + }, + handleExportAll(){ + let that = this; + that.isSaving = true; + let filename = '任务统计.xlsx'; + let wb = XLSX.utils.book_new(); + let sheetObject = that.allData.map((item, index) => { + return { + '序号': index + 1, + '年份': item.年份, + '单位': item.单位, + '单位类型': item.单位类型, + '重大事故数': item.重大事故数, + '报告证书合格率': item.报告证书合格率, + '报告证书及时率': item.报告证书及时率, + '能力验证满意率': item.能力验证满意率, + '客户投诉处理满意率': item.客户投诉处理满意率, + '重大事故数基础值': item.重大事故数基础值, + '重大事故数设定值': item.重大事故数设定值, + '报告证书合格率基础值': item.报告证书合格率基础值, + '报告证书合格率设定值': item.报告证书合格率设定值, + '报告证书及时率基础值': item.报告证书及时率基础值, + '报告证书及时率设定值': item.报告证书及时率设定值, + '能力验证满意率基础值': item.能力验证满意率基础值, + '能力验证满意率设定值': item.能力验证满意率设定值, + '客户投诉处理满意率基础值': item.客户投诉处理满意率基础值, + '客户投诉处理满意率设定值': item.客户投诉处理满意率设定值, + '已发报告数': item.已发报告数, + '应发报告数': item.应发报告数, + '不准确报告数': item.不准确报告数, + '超期报告数': item.超期报告数, + '客户投诉数': item.客户投诉数, + '客户投诉满意数': item.客户投诉满意数, + '能力验证数': item.能力验证数, + '能力验证满意数': item.能力验证满意数, + '风险识别数': item.风险识别数, + '外部检查数': item.外部检查数, + }; + }); + let sheet = XLSX.utils.json_to_sheet(sheetObject); + XLSX.utils.book_append_sheet(wb, sheet, "不准确报告"); + let wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' }) + try { + saveAs.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), `${filename}`) + that.isSaving = false; + } catch (e) { + if (typeof console !== 'undefined') { + console.log(e, wbout) + + } + } + return wbout + }, } };