const obj = {
monthStart: "",
monthEnd: "",
organizationId: "",
type: "",
};
//这里是调用接口可能需要的参数,对应修改成自己需要的参数
obj.organizationId = this.searchForm.organizationId;
obj.monthStart = this.searchForm.monthStart;
obj.monthEnd = this.searchForm.monthEnd;
obj.type = this.searchForm.type;
axios
.get(SERVER_CONFIG.SERVER + "/eems/rest/meteringSettlement/export", {
params: obj,
//参数
responseType: "blob",
//类型
headers: {
jwt: `${store.getters.token}`,
//token
"Content-Type": "application/json",
},
})
.then((res) => {
if (res.status != 200) {
this.$message.warning("请重新操作导出");
return;
}
const blob = new Blob([res.data]);
let fileName
if(res.headers['content-disposition']){
fileName = window.decodeURI(res.headers['content-disposition'].split("''")[1])
}else{
fileName = '计量清单报表123.xls'
}
//导出的文件名
const elink = document.createElement("a");
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象 /eemsPlan/exportEemsPlanList
document.body.removeChild(elink);
});
get请求的导出方式,项目的封装request请求在导出功能做了特别处理,用不来就直接使用的axios