From e6a9b2ea624333159630e6d8de0c118bca8d8bf0 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Fri, 1 Mar 2019 14:12:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=8F=8A=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/main/main.component.ts | 46 ++++++++++++++++++++----- src/app/services/http-client.service.ts | 13 ++++++- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts index 4af1e19..1cccfb9 100644 --- a/src/app/pages/main/main.component.ts +++ b/src/app/pages/main/main.component.ts @@ -37,8 +37,8 @@ export class MainComponent implements OnInit { this.toastService.getToasts().forEach((config: ToastConfig) => { console.log(config); this.toastConfigs.unshift(config); - }); - this.toastService.removeToastMainSubject.subscribe((config?: ToastConfig) => { + }); + this.toastService.removeToastMainSubject.subscribe((config?: ToastConfig) => { if (config) { this.remove(config); } else { @@ -51,7 +51,7 @@ export class MainComponent implements OnInit { ).subscribe( (event: NavigationEnd) => { if (event.urlAfterRedirects != '/app/main') { - if(this.websocketService.websocket.readyState === 1){ + if (this.websocketService.websocket.readyState === 1) { this.websocketService.websocket.close(); } } @@ -127,7 +127,7 @@ export class MainComponent implements OnInit { 'Australian walks 100km after outback crash.', 'Man charged over missing wedding girl.', 'Los Angeles battles huge wildfires.' - ]; + ]; ngOnInit() { window.onresize = function () { @@ -431,8 +431,8 @@ export class MainComponent implements OnInit { export() { let exportArray = []; this.wait_render_data.forEach(item => { - let exportItem = Object.assign({},item) - if (this.orderHandle.isLinked(exportItem)||this.orderHandle.isArriFlight(exportItem)) { + let exportItem = Object.assign({}, item) + if (this.orderHandle.isLinked(exportItem) || this.orderHandle.isArriFlight(exportItem)) { exportItem['renderFlight']['orderBy'] = new Date(this.utils.dateFormatter(exportItem['preFlight']['SODT'])).getTime(); } else { exportItem['renderFlight']['orderBy'] = new Date(this.utils.dateFormatter(exportItem['reaFlight']['SODT'])).getTime() @@ -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对象 + } + } + ) } /** @@ -1519,7 +1549,7 @@ export class MainComponent implements OnInit { /** * 清除所有消息弹出框 */ - clearAllNotify(){ + clearAllNotify() { this.toastConfigs = []; this.toastService.removeToastBox(); } diff --git a/src/app/services/http-client.service.ts b/src/app/services/http-client.service.ts index ed5fd35..75403c3 100644 --- a/src/app/services/http-client.service.ts +++ b/src/app/services/http-client.service.ts @@ -98,7 +98,18 @@ export class HttpClientService { * @param options */ post(url: string, body?, options?): Observable { - 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)); } /**