This commit is contained in:
caoqianming 2024-01-02 15:22:33 +08:00
commit 8982397e37
1 changed files with 65 additions and 2 deletions

View File

@ -26,6 +26,13 @@
@click="exportExcel"
>导出</el-button
>
<el-button
type="primary"
@click="handleExportAll"
:disabled="isSaving"
:loading="isSaving"
size="small"
>统计导出</el-button>
</el-row>
</el-card>
<el-card style="margin-top:10px">
@ -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
},
}
};
</script>