引入插件
import axios from 'axios'
// 导出Excel公用方法
export function exportMethod (data) {
axios({
method: data.method,
url: `${data.url}${data.params ? '?' + data.params : ''}`,
responseType: 'blob'
}).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 = 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)
})
}
<el-dropdown @command="exportCounterLimit1">
<el-button type="primary" class="is-plain">
导出<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="1">按交易对手导出</el-dropdown-item>
<el-dropdown-item command="2">按金融机构类型</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
// 导出
exportCounterLimit1 (idx) {
let output=idx
let fileName='按交易对手'
let str = 'transType='+(this.queryForm.transType||'')+
'&transStartdate='+(this.queryForm.transStartdate||'')+'&transEnddate='+(this.queryForm.transEnddate||'')
if (output==='1') {
let myObj = {
method: 'get',
url: '/credit/frontend/api/creditrating/counter/outPutStatisticalReport',
params:str+'&output='+output+'&fileName='+fileName
// params:'output=' + output,
}
exportMethod(myObj)
}else if(output==='2'){
let myObj2 = {
method: 'get',
url: '/credit/frontend/api/creditrating/counter/outPutStatisticalReport',
params:str+'&output='+output
// params:'output=' + output,
}
exportMethod(myObj2)
} else {
this.$message.info("数据为空,不能导出")
}
},