let fileName='事项数据表' //表名
let params={} //传给后台的数据
async exportData(params, fileName) {
params = params || {}
let token = params.token || eap.getToken()
delete params.token
const resp = await axios({
url: SafeprodApi.getExportDataUrl(),//请求链接
method: "POST",
responseType: "blob",
headers: {'x-token': token},
data: params //如果后台要求将参数传到query里,通过改变params
})
if (resp.status !== 200 || !resp.data.type.startsWith("application")) {
console.error("数据导出失败", resp)
Notification.error({title: "数据导出失败"})
return
}
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(resp.data, fileName)
} else {
const link = document.createElement('a')
const body = document.querySelector('body')
const blob = new Blob([resp.data])
link.href = window.URL.createObjectURL(blob)
link.download = (fileName || "数据导出") + ".xlsx"
// fix Firefox
link.style.display = 'none'
body.appendChild(link)
link.click()
body.removeChild(link)
// 释放URL 对象
window.URL.revokeObjectURL(link.href)
}
},