//导处报表
exportReport(){
if (this.aaa === ‘0’) {
this.url = base.baseUrl + “/finance/order/export”+ ‘?’ + ‘pageNum=’ + this.pageNum + ‘&pageSize=’ + this.pageSize;
if (this.startTime) {
var a = this.url.concat('&beginDate=' + this.startTime);
this.url = a;
}
if (this.selectState) {
var a = this.url.concat('&examineStatus=' + this.selectState);
this.url = a;
}
if (this.endTime) {
var a = this.url.concat('&endDate=' + this.endTime);
this.url = a;
}
if(this.serialNo){
var a = this.url.concat('&serialNo=' + this.serialNo);
this.url = a;
}
this.excelBlob(this.url); //调用原生下载
}else if (this.aaa === '1') {
this.url = base.baseUrl + "/finance/order/export"+ '?' + 'pageNum=' + this.pageNum + '&pageSize=' + this.pageSize;
if (this.selectState) {
var a = this.url.concat('&refundType=' + this.selectState);
this.url = a;
}else{
this.$message({
showClose: true,
message: '请选择导出的售后类型',
type: 'error'
});
}
}
},
以上是 点击按钮方法
excelBlob(url) {
// excelBlob原生导出方法
// let pasname = {
// pageNum:this.pageNum,
// pageSize:this.pageSize,
// }
let tokens = sessionStorage.getItem(“token”);
var xhr = new XMLHttpRequest();
xhr.open(“GET”, url, true);
xhr.responseType = “blob”;
xhr.setRequestHeader(“token”, tokens);
xhr.send();
xhr.onload = function() {
if (this.status === 200) {
var blob = this.response;
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function(e) {
// if (blob.type == “application/json”) {
// //返回json说明后台异常,包含未登录或者其他报错信息
// var str = e.target.result;
// console.log(e.target.result)
// var result = BASE64.decode(
// str.split(“data:application/json;base64,”)[1]
// ); //解码base64信息,得出的json字符串可以自己处理
// alert(result);
// return;
// }
var a = document.createElement(“a”);
a.download = “订单支付.xls”;
a.href = e.target.result;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
};
}
};
},
以上是请求以及解码,解码看需求