先写一个download公共的方法
download(file) {const blob = fileconst blobURL = window.URL ? window.URL.createObjectURL(blob) : window.webkitURL.createObjectURL(blob)const a = document.createElement('a')a.download = '故障的报表.xlsx'a.href = blobURLdocument.body.appendChild(a)a.click()document.body.removeChild(a)window.URL ? window.URL.revokeObjectURL(blobURL) : window.webkitURL.revokeObjectURL(blobURL) // 释放blob对象 避免内存泄漏},
在api里写上导出接口
// 列表导出接口
export function exportFaultReoirtList(data) {return request({url: `/name/name`,method: 'post',data,responseType: 'blob'})}
点击导出提示并调用download方法
// 导出async handleExport() {const response = await exportFaultReoirtList(this.listQuery);this.$confirm('是否导出文件?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => { this.download(response);this.$message({type: 'success',message: '导出成功!'});}).catch(() => {this.$message({type: 'info',message: '已取消导出'}); });},