1. 封裝導出方法
function exportMethod(data) {
axios({
method: data.method,
url: data.url,
data: data.data,
responseType: 'blob',
headers: {
'Content-Type': 'application/json'
}
}).then((res) => {
const link = document.createElement('a')
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = data.fileName + '.xls' //下載的文件名 注意:加.xls是兼容火狐瀏覽器
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}).catch(error => {
console.log(error)
})
}
2. 調用處:
this.$confirm('確認導出嗎?', '提示', {}).then(() => {
let params={ list: this.overlays };
let myObj = {
method: 'post',
url: ‘http://172.16.82.63:8082/
stationManage/exportScen’, //接口地址
fileName: '下載文件名字',
data:params,
}
exportMethod(myObj);
}).catch(() => {
console.log("cancel");
});
注意:項目main.js 需要去掉mock.js 的引用