import axios from 'axios';
import qs from 'qs';
import { message } from 'element-ui';
export const exportTable = (url, data, fileName = '报表') => { // url是后端接口,data是需要传输的参数
return axios.post(url, qs.stringify(data), {
responseType: 'blob',
headers: {
token: getCookie('token')
}
})
.then((res) => {
if (res.status === 200) {
let disposition = res.headers['content-disposition'];
let tmpFileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length));
let suffix = tmpFileName.substring(tmpFileName.indexOf('.'), tmpFileName.length);
let url = URL.createObjectURL(res.data);
let a = document.createElement('a');
a.href = url;
a.setAttribute('download', fileName ? fileName + suffix : tmpFileName);
document.body.appendChild(a).click();
a.parentNode.removeChild(a);
URL.revokeObjectURL(url);
}
})
.catch((res) => {
message.error('导出失败');
})
}