let parms = `?start=${this.searchForm.timeValue[0]}&end=${this.searchForm.timeValue[1]}¢erId=${this.searchForm.centerId}&customerId=${this.searchForm.customerId}&queryStr=${this.searchForm.queryStr}&status=${3}`
axios({ // 用axios发送请求
method: 'get',
url: baseURL + '/sales/order/realTimeOrderExport' + parms, // 请求地址
headers: {
token: store.state.UserToken
},
responseType: 'blob' // 表明返回服务器返回的数据类型
}).then((res) => { // 处理返回的文件流
const content = res.data // 返回的内容
const fileName = '明细下载.xlsx'// 下载文件名
download(content, fileName)
}).catch(e => {
this.$message.error('获取自雇者协议出错')
})
function download (content, fileName) {
const blob = new Blob([content]) // 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
const url = window.URL.createObjectURL(blob)// URL.createObjectURL(object)表示生成一个File对象或Blob对象
let dom = document.createElement('a')// 设置一个隐藏的a标签,href为输出流,设置download
dom.style.display = 'none'
dom.href = url
dom.setAttribute('download', fileName)// 指示浏览器下载url,而不是导航到它;因此将提示用户将其保存为本地文件
document.body.appendChild(dom)
dom.click()
}