导出功能实现及接口对接

This commit is contained in:
zhouyuejun
2019-03-01 14:12:10 +08:00
parent e1c7a28376
commit e6a9b2ea62
2 changed files with 50 additions and 9 deletions
+31 -1
View File
@@ -444,7 +444,37 @@ export class MainComponent implements OnInit {
return (a['orderBy'] - b['orderBy']);
})
console.log(exportArray);
let colArray = [];
this.render_col_lists.forEach(element => {
let column = { 'key': element['COL_CODE'], "name": element['COL_CN'] }
colArray.push(column);
})
var postData = new Object();
postData['columns'] = colArray;
postData['data'] = exportArray;
this.httpCilent.post('/adminapi/fltrs/toExcel', postData, { responseType: 'blob' }).subscribe(
data => {
let blob = new Blob();
blob = data;
let downloadFileName = '航班动态.xlsx';
if ('msSaveOrOpenBlob' in navigator) {
window.navigator.msSaveOrOpenBlob(blob, downloadFileName);
}
else {
var downloadElement = document.createElement('a');
var href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
downloadElement.download = downloadFileName; //下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
}
}
)
}
/**
+12 -1
View File
@@ -98,7 +98,18 @@ export class HttpClientService {
* @param options
*/
post(url: string, body?, options?): Observable<any> {
return this.commonProcess(this.httpClient.post(url, body, { headers: this.header }));
let optObj = {
headers: this.header
}
if (options) {
for (const key in options) {
if (options.hasOwnProperty(key)) {
// const element = options[key];
optObj[key] = options[key]
}
}
}
return this.commonProcess(this.httpClient.post(url, body, optObj));
}
/**