多次使用 创建公共方法
import axios from 'axios'
// 导出Excel公用方法
export function exportMethod(data) {
axios({
method: data.method,
url: `${data.url}${data.params ? '?' + data.params : ''}`,
responseType: 'blob'
}).then((res) => {
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'})
const link = document.createElement('a')
var explorer = window.navigator.userAgent ;//获取浏览器;
console.log(explorer,11111)
//ie
if (!!window.ActiveXObject || "ActiveXObject" in window || navigator.userAgent.indexOf("Edge") > -1) {
let fileName = "PR管理模板"+'.xls'
navigator.msSaveBlob(blob,fileName)
}else{
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
// link.download = res.headers['content-disposition'] //下载后文件名
link.download = data.fileName //下载的文件名
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}
}).catch(error => {
this.$Notice.error({
title: '错误',
desc: '网络连接错误'
})
console.log(error)
})
}
使用该方法的页面中引入
import { exportMethod } from '@/utils/untils'
prexportxls() {
let myObj = {
method: 'get',
url: 'api/woas/pr/prExport',
fileName: 'PR管理模板',
// params: `startDate=${changeDate(this.dateValue[0])}&endDate=${changeDate(this.dateValue[1])}`
}
exportMethod(myObj)
}