From e56305d05d4a5277e8cc66e12f05d6c94304efd3 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Fri, 4 Jan 2019 18:28:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=88=AA=E7=8F=AD=E5=88=97=E8=A1=A8=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=BA=E5=9F=9F=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.component.ts | 6 +- .../components/toast/toast-box.component.scss | 4 +- src/app/pages/main/main.component.html | 115 ++- src/app/pages/main/main.component.scss | 99 +- src/app/pages/main/main.component.ts | 902 ++++++++++-------- .../personal-settings.component.ts | 513 +++++----- src/app/utils/flights-data-handle.ts | 746 +++++++-------- 7 files changed, 1248 insertions(+), 1137 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 8f4f494..09d2485 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,12 +1,12 @@ import { Component } from '@angular/core'; @Component({ - selector: 'app-root', - template: ` + selector: 'app-root', + template: ` `, }) export class AppComponent { - title = 'app'; + title = 'app'; } diff --git a/src/app/components/toast/toast-box.component.scss b/src/app/components/toast/toast-box.component.scss index 35f1c68..7b70b83 100644 --- a/src/app/components/toast/toast-box.component.scss +++ b/src/app/components/toast/toast-box.component.scss @@ -3,6 +3,8 @@ z-index: 22222; margin-top:10px; width:450px; + height: 174px; + overflow: hidden } .toast-top-left{ @@ -18,7 +20,7 @@ } .toast-top-right{ - top:75px; + top:45%; right: 10px } diff --git a/src/app/pages/main/main.component.html b/src/app/pages/main/main.component.html index 6440ee8..f48111b 100644 --- a/src/app/pages/main/main.component.html +++ b/src/app/pages/main/main.component.html @@ -1,5 +1,5 @@ -
-
+
+
@@ -26,14 +26,14 @@
-
- @@ -43,14 +43,14 @@
-
- @@ -58,21 +58,21 @@
-
-
- @@ -82,28 +82,28 @@
-
-
-
- @@ -121,7 +121,7 @@
- @@ -164,43 +164,56 @@
- - - - - - - - - - - - - - - - - -
序号重要提示航班ID{{airline_col.COL_CN}}
{{i+1}} - - - - - - - - - {{airline_row['renderFlight']['FLID']}}{{airline_row['renderFlight'][airline_col.COL_CODE]}}
+
+ + + + + + + + + + + +
{{common_col.COL_CN}}{{airline_col.COL_CN}}
+
+
+
+ + + + + + + + + + + + + +
{{start+i+1}} + + + + + + + + + {{airline_row['renderFlight']['FLID']}}{{airline_row['renderFlight'][airline_col.COL_CODE]}}
+
diff --git a/src/app/pages/main/main.component.scss b/src/app/pages/main/main.component.scss index 7b3944a..4d1581f 100644 --- a/src/app/pages/main/main.component.scss +++ b/src/app/pages/main/main.component.scss @@ -7,6 +7,7 @@ background-color: #fff; .page-content { border: 1px solid #ccc; + height: 100%; padding: 10px 20px; .search-filter { position: relative; @@ -24,7 +25,8 @@ } } } - .second-condition,.third-condition{ + .second-condition, + .third-condition { display: none; } .input-container { @@ -34,50 +36,85 @@ display: inline-block; } } - .filterClose-c{ + .filterClose-c { display: none; } - .filterClose-o{ + .filterClose-o { display: flex; } } .airline-table { .table-container { display: inline-block; - // border: 1px solid #ccc; + // position: relative; width: 100%; - height: 700px; - overflow: auto; + // overflow-x: auto; + overflow-y: hidden; box-shadow: 0 0 1px 0.5px #ddd; - table { - width: max-content; - tr { - cursor: pointer; - &.selected { - background: rgb(181, 215, 255); + .table-head { + overflow: hidden; + overflow-y: scroll; + height: 42px; + table { + margin: 0; + width: max-content; + th { + background-color: #ddd; + color: rgb(0, 0, 255); } } - th { - background-color: #ddd; - color: rgb(0, 0, 255); + &::-webkit-scrollbar { + width: 15px; + height: 15px; } - // th,td{ - // // border: none; - // // text-align: center; - // } } - &::-webkit-scrollbar { - width: 15px; - height: 15px; - } - &::-webkit-scrollbar-thumb { - /*滚动条里面小方块*/ - background: rgba(165, 207, 222, 1); - border-radius: 10px; - } - &::-webkit-scrollbar-track { - background: rgba(0, 0, 0, 0.06); - border-radius: 10px; + + .table-body { + position: relative; + // height: 600px; + overflow: auto; + width: 100%; + .list-view-phantom { + position: absolute; + left: 0; + top: 0; + right: 0; + z-index: -1; + } + table { + left: 0; + right: 0; + top: 0; + position: absolute; + width: max-content; + tr { + cursor: pointer; + height: 42px; + &.selected { + background: rgb(181, 215, 255); + } + } + td { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + border: none; + // text-align: center; + } + } + &::-webkit-scrollbar { + width: 15px; + height: 15px; + } + &::-webkit-scrollbar-thumb { + /*滚动条里面小方块*/ + background: rgba(165, 207, 222, 1); + border-radius: 10px; + } + &::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.06); + border-radius: 10px; + } } } .airline-message { diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts index abfd089..0a8f941 100644 --- a/src/app/pages/main/main.component.ts +++ b/src/app/pages/main/main.component.ts @@ -1,5 +1,4 @@ import { Component, OnInit, ViewChild, Renderer2 } from '@angular/core'; -import { ChangeDetectorRef } from '@angular/core'; import { NavigationEnd, Router } from '@angular/router'; import { ToastService } from '../../components/toast/toast.service'; @@ -32,12 +31,10 @@ export class MainComponent implements OnInit { private basicDataService: BasicDataService, private operateSpinServiceService: OperateSpinServiceService, private httpCilent: HttpClientService, - private changeDetectorRef: ChangeDetectorRef, private toastService: ToastService, private websocketService: WebsocketService ) { this.operateSpinServiceService.showSpin(); - this.changeDetectorRef.detach(); // this.router.events.pipe( // filter((event => event instanceof NavigationEnd)) // ).subscribe( @@ -56,7 +53,6 @@ export class MainComponent implements OnInit { // this.airline_message_alert = JSON.parse(element.settingContent).targetList; // } // }); - // this.changeDetectorRef.detectChanges(); // // this.operateSpinServiceService.hideSpin(); // } // ) @@ -91,8 +87,10 @@ export class MainComponent implements OnInit { public raw_data: Array = []; //原始数据,未经过任何转换和组合 public combined_data: Array = []; //组合数据,即链接航班,显示信息等组合好之后的数据 + public wait_render_data: Array = []; public render_data: Array = []; //显示数据,即需要显示的数据 + public commonCol:Array; public col_lists: Array; //列数据 public render_col_lists: Array; @@ -108,9 +106,12 @@ export class MainComponent implements OnInit { 'guarantee': false } - @ViewChild('mainPage') mainPage; + @ViewChild('pageContent') pageContent; @ViewChild('searchFilter') searchFilter; @ViewChild('tableContainer') tableContainer; + @ViewChild('tableHead') tableHead; + @ViewChild('tableBody') tableBody; + @ViewChild('tableContent') tableContent; trItemHeight: number = 42; start: number = 0; @@ -120,9 +121,10 @@ export class MainComponent implements OnInit { ngOnInit() { - this.renderer2.setStyle(this.tableContainer.nativeElement, 'height', this.mainPage.nativeElement.offsetHeight - this.searchFilter.nativeElement.offsetHeight - 55 + 'px'); + this.renderer2.setStyle(this.tableContainer.nativeElement, 'height', this.pageContent.nativeElement.offsetHeight - this.searchFilter.nativeElement.offsetHeight - 35 + 'px'); + this.renderer2.setStyle(this.tableBody.nativeElement, 'height', this.tableContainer.nativeElement.offsetHeight - this.tableHead.nativeElement.offsetHeight + 'px'); window.onresize = function () { - this.renderer2.setStyle(this.tableContainer.nativeElement, 'height', this.mainPage.nativeElement.offsetHeight - this.searchFilter.nativeElement.offsetHeight - 55 + 'px'); + this.calcVisibleCount(); }.bind(this) //订阅航班更新 @@ -150,6 +152,220 @@ export class MainComponent implements OnInit { } ) + this.httpCilent.get('/adminapi/settings/uisettings').subscribe( + data => { + this.commonCol = [ + { "COL_CODE": "NO", "COL_CN": "序号", "COL_WIDTH": "55px" }, + { "COL_CODE": "IMPT", "COL_CN": "重要提示", "COL_WIDTH": "120px" }, + { "COL_CODE": "FLID", "COL_CN": "航班ID", "COL_WIDTH": "165px" } + ] + data.body.forEach(element => { + if (element.groupCode === 'userSettingCol') { + this.col_lists = JSON.parse(element.settingContent).defaultData; + this.render_col_lists = JSON.parse(element.settingContent).targetList; + } else if (element.groupCode === 'userSettingColor') { + this.airline_color = JSON.parse(element.settingContent); + } else if (element.groupCode === 'userSettingMsgAlert') { + this.airline_message_alert = JSON.parse(element.settingContent).targetList; + } + }); + + //获取航班动态信息 + this.httpCilent.get('/msgexchangeapi/all/flights').subscribe( + data => { + this.raw_data = data.body; + + //查找链接航班并将其组合成一条数据 + let combined_linked_data = this.dataHandle.findLinkFlights(this.raw_data); + combined_linked_data.forEach(element => { + let flights_item = this.dataHandle.flightsRenderTransfer(element, this.col_lists); + this.combined_data.push(flights_item); + }); + + //从基础数据服务中拿出部分基础数据 + this.flightAgents = this.basicDataService.flightAgents; + this.flightTypes = this.basicDataService.flightTypes; + this.terminals = this.basicDataService.terminal; + this.flightStatus = this.basicDataService.flightStatus; + this.airlines = this.basicDataService.airline; + this.citys = this.basicDataService.city; + this.airports = this.basicDataService.airport; + + if (this.airports && this.airports.length > 0) { + let combined_data = [] + this.combined_data.forEach(item => { + combined_data.push(this.dataHandle.basicDataTransHandle(item, this.airports, this.citys, this.airlines, this.flightStatus, this.flightTypes)); + }) + this.combined_data = combined_data; + this.doSequence(this.combined_data); + } else { + this.basicDataService.flightAgents_subject.subscribe( + val => this.flightAgents = val + ) + this.basicDataService.flightTypes_subject.subscribe( + val => this.flightTypes = val + ) + this.basicDataService.terminal_subject.subscribe( + val => this.terminals = val + ) + this.basicDataService.flightStatus_subject.subscribe( + val => this.flightStatus = val + ); + this.basicDataService.airline_subject.subscribe( + val => this.airlines = val + ); + this.basicDataService.city_subject.subscribe( + val => this.citys = val + ); + this.basicDataService.airport_subject.subscribe( + val => { + this.airports = val; + let combined_data = [] + this.combined_data.forEach(item => { + combined_data.push(this.dataHandle.basicDataTransHandle(item, this.airports, this.citys, this.airlines, this.flightStatus, this.flightTypes)); + }) + this.combined_data = combined_data; + this.doSequence(this.combined_data); + } + ); + } + } + ) + } + ) + } + + + /** + * 数据组合完毕,执行排序、渲染以及动态信息处理 + * @param combined_data + */ + doSequence(combined_data) { + this.raw_data.forEach(element => { + if (this.airlinesSelections.findIndex(airline => airline.airlineCodeIata === element['ALCD']) === -1) { + let index = this.airlines.findIndex(val => val.airlineCodeIata === element['ALCD']); + this.airlinesSelections.push(this.airlines[index]); + } + if (this.flightTypeSelections.findIndex(flightType => flightType.flightTypeCode === element['FLTY']) === -1) { + let index = this.flightTypes.findIndex(val => val.flightTypeCode === element['FLTY']); + this.flightTypeSelections.push(this.flightTypes[index]); + } + }) + + combined_data.forEach(element => { + element['ORDER'] = this.orderHandle.sequence(element); + }) + combined_data.sort(function (a, b) { + return (a['ORDER'] - b['ORDER']); + }) + + this.wait_render_data = combined_data; + + this.visibleCount = Math.ceil(this.tableBody.nativeElement.clientHeight / this.trItemHeight); + const scrollTop = this.tableBody.nativeElement.scrollTop; + const fixedScrollTop = scrollTop - scrollTop % this.trItemHeight; + this.tableContent.nativeElement.style.webkitTransform = `translateY(${fixedScrollTop}px)`; + this.start = Math.floor(scrollTop / this.trItemHeight); + this.end = this.start + this.visibleCount; + this.render_data = this.wait_render_data.slice(this.start, this.end); + setTimeout(()=>{ + $(".table-body tbody>tr").eq(0).find('td').each((index,element)=>{ + $(".table-head table colgroup").eq(0).find('col').eq(index).attr('width',$(element).innerWidth()+'px') + }) + },500) + + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; + this.operateSpinServiceService.hideSpin(); + + //开始处理动态消息 + this.canHandleDynamicMessage = true; + this.dynamicMessageArray.forEach(message => { + this.dynamicMessageHandle(message); + }) + this.canHandleDynamicAlert = true; + this.dynamicAlertArray.forEach(message => { + this.dynamicAlertHandle(message); + }) + } + + /** + * 纵向滚动条滚动渲染数据 + */ + handleScroll() { + const scrollTop = this.tableBody.nativeElement.scrollTop; + $(".table-head").scrollLeft($('.table-body').scrollLeft()); + const fixedScrollTop = scrollTop - scrollTop % this.trItemHeight; + this.tableContent.nativeElement.style.webkitTransform = `translateY(${fixedScrollTop - 42}px)`; + this.start = Math.floor(scrollTop / this.trItemHeight); + this.end = this.start + this.visibleCount; + this.render_data = this.wait_render_data.slice(this.start, this.end); + setTimeout(()=>{ + $(".table-body tbody>tr").eq(0).find('td').each((index,element)=>{ + $(".table-head table colgroup").eq(0).find('col').eq(index).attr('width',$(element).innerWidth()+'px') + }) + },500) + } + + /** + * 计算可视区域数据的渲染 + */ + calcVisibleCount() { + this.renderer2.setStyle(this.tableContainer.nativeElement, 'height', this.pageContent.nativeElement.offsetHeight - this.searchFilter.nativeElement.offsetHeight - 35 + 'px'); + this.renderer2.setStyle(this.tableBody.nativeElement, 'height', this.tableContainer.nativeElement.offsetHeight - this.tableHead.nativeElement.offsetHeight + 'px'); + this.visibleCount = Math.ceil(this.tableBody.nativeElement.clientHeight / this.trItemHeight); + const scrollTop = this.tableBody.nativeElement.scrollTop; + const fixedScrollTop = scrollTop - scrollTop % this.trItemHeight; + this.tableContent.nativeElement.style.webkitTransform = `translateY(${fixedScrollTop}px)`; + this.start = Math.floor(scrollTop / this.trItemHeight); + this.end = this.start + this.visibleCount; + this.render_data = this.wait_render_data.slice(this.start, this.end); + setTimeout(()=>{ + $(".table-body tbody>tr").eq(0).find('td').each((index,element)=>{ + $(".table-head table colgroup").eq(0).find('col').eq(index).attr('width',$(element).innerWidth()+'px') + }) + },500) + } + + /** + * 展开/关闭过滤条件 + */ + public filterClose: boolean = true; + toggleFilter() { + this.filterClose = !this.filterClose; + setTimeout(() => { + this.calcVisibleCount(); + }, 10) + } + + + /** + * 刷新 + */ + refresh() { + this.operateSpinServiceService.showSpin(); + this.canHandleDynamicMessage = false; + this.canHandleDynamicAlert = false; + this.SEARCH = ''; //手动输入条件 + this.LASTSEARCH = ''; + this.FLT_POS = 1; //过滤还是定位 + this.SEL_COL = ''; //选择列名 + this.LAST_SEL_COL = ''; + this.filterItems = { + ALCD: '', //航空公司 + FLIN: '', //航线类别 + FLTY: '', //航班类别 + MVIN: '', //到达/出发 + FTSS: '', //运营状态 + TRML: '', //航站楼 + Abnormal_state: '', //异常状态 + // Start_time: '9', + // End_time: '9', + FHAG: '', //机坪代理 + MHAG: '', //维护代理 + PHAG: '', //旅客代理 + } + + /** 用户设置 */ this.httpCilent.get('/adminapi/settings/uisettings').subscribe( data => { data.body.forEach(element => { @@ -164,83 +380,29 @@ export class MainComponent implements OnInit { }); } ) - //获取航班动态信息 this.httpCilent.get('/msgexchangeapi/all/flights').subscribe( data => { this.raw_data = data.body; //查找链接航班并将其组合成一条数据 + this.combined_data = []; let combined_linked_data = this.dataHandle.findLinkFlights(this.raw_data); combined_linked_data.forEach(element => { let flights_item = this.dataHandle.flightsRenderTransfer(element, this.col_lists); this.combined_data.push(flights_item); }); - //从基础数据服务中拿出部分基础数据 - this.flightAgents = this.basicDataService.flightAgents; - this.flightTypes = this.basicDataService.flightTypes; - this.terminals = this.basicDataService.terminal; - this.flightStatus = this.basicDataService.flightStatus; - this.airlines = this.basicDataService.airline; - this.citys = this.basicDataService.city; - this.airports = this.basicDataService.airport; - - if (this.airports && this.airports.length > 0) { - let combined_data = [] - this.combined_data.forEach(item => { - combined_data.push(this.dataHandle.basicDataTransHandle(item, this.airports, this.citys, this.airlines, this.flightStatus, this.flightTypes)); - }) - this.combined_data = combined_data; - this.doSequence(this.combined_data); - } else { - this.basicDataService.flightAgents_subject.subscribe( - val => this.flightAgents = val - ) - this.basicDataService.flightTypes_subject.subscribe( - val => this.flightTypes = val - ) - this.basicDataService.terminal_subject.subscribe( - val => this.terminals = val - ) - this.basicDataService.flightStatus_subject.subscribe( - val => this.flightStatus = val - ); - this.basicDataService.airline_subject.subscribe( - val => this.airlines = val - ); - this.basicDataService.city_subject.subscribe( - val => this.citys = val - ); - this.basicDataService.airport_subject.subscribe( - val => { - this.airports = val; - let combined_data = [] - this.combined_data.forEach(item => { - combined_data.push(this.dataHandle.basicDataTransHandle(item, this.airports, this.citys, this.airlines, this.flightStatus, this.flightTypes)); - }) - this.combined_data = combined_data; - this.doSequence(this.combined_data); - } - ); - } + let combined_data = [] + this.combined_data.forEach(item => { + combined_data.push(this.dataHandle.basicDataTransHandle(item, this.airports, this.citys, this.airlines, this.flightStatus, this.flightTypes)); + }) + this.combined_data = combined_data; + this.doSequence(this.combined_data); + // const toastCfg = new ToastConfig(ToastType.SUCCESS, '', '刷新成功!', 3000); + // this.toastService.toast(toastCfg); } ) - - //固定表头 - var tableCont = document.querySelector('#table-container') - function scrollHandle() { - var scrollTop = this.scrollTop; - this.querySelector('thead').style.transform = 'translateY(' + scrollTop + 'px)'; - } - tableCont.addEventListener('scroll', scrollHandle) - } - - public filterClose: boolean = true; - toggleFilter() { - this.filterClose = !this.filterClose; - this.changeDetectorRef.detectChanges(); - this.renderer2.setStyle(this.tableContainer.nativeElement, 'height', this.mainPage.nativeElement.offsetHeight - this.searchFilter.nativeElement.offsetHeight - 55 + 'px'); } @@ -285,28 +447,29 @@ export class MainComponent implements OnInit { this.flightTypeSelections.push(this.flightTypes[index]); } - let dynamicHandleData = this.dataHandle.dynamicMessageHandle( - message, - this.render_data, - this.col_lists, - this.filterItems, - this.LASTSEARCH, - this.LAST_SEL_COL, - this.airports, - this.citys, - this.airlines, - this.flightStatus, - this.flightTypes - ) - this.render_data = dynamicHandleData.render_data; + this.selectChange('dynamic'); - this.render_data.forEach(element => { - element['ORDER'] = this.orderHandle.sequence(element); - }) - this.render_data = this.render_data.sort(function (a, b) { - return (a['ORDER'] - b['ORDER']); - }) - this.changeDetectorRef.detectChanges(); + // let dynamicHandleData = this.dataHandle.dynamicMessageHandle( + // message, + // this.render_data, + // this.col_lists, + // this.filterItems, + // this.LASTSEARCH, + // this.LAST_SEL_COL, + // this.airports, + // this.citys, + // this.airlines, + // this.flightStatus, + // this.flightTypes + // ) + // this.render_data = dynamicHandleData.render_data; + + // this.render_data.forEach(element => { + // element['ORDER'] = this.orderHandle.sequence(element); + // }) + // this.render_data = this.render_data.sort(function (a, b) { + // return (a['ORDER'] - b['ORDER']); + // }) } /** @@ -346,118 +509,6 @@ export class MainComponent implements OnInit { } } - /** - * 数据组合完毕,执行排序、渲染以及动态信息处理 - * @param combined_data - */ - doSequence(combined_data) { - this.raw_data.forEach(element => { - if (this.airlinesSelections.findIndex(airline => airline.airlineCodeIata === element['ALCD']) === -1) { - let index = this.airlines.findIndex(val => val.airlineCodeIata === element['ALCD']); - this.airlinesSelections.push(this.airlines[index]); - } - if (this.flightTypeSelections.findIndex(flightType => flightType.flightTypeCode === element['FLTY']) === -1) { - let index = this.flightTypes.findIndex(val => val.flightTypeCode === element['FLTY']); - this.flightTypeSelections.push(this.flightTypes[index]); - } - }) - - combined_data.forEach(element => { - element['ORDER'] = this.orderHandle.sequence(element); - }) - combined_data.sort(function (a, b) { - return (a['ORDER'] - b['ORDER']); - }) - - // this.visibleCount = Math.ceil(this.tableContainer.nativeElement.clientHeight / this.trItemHeight); - // this.start = 0; - // this.end = this.start + this.visibleCount; - // this.render_data = this.combined_data.slice(this.start,this.end); - - - this.render_data = combined_data; - this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; - this.selectChange(); - // this.changeDetectorRef.detectChanges(); - // this.operateSpinServiceService.hideSpin(); - - //开始处理动态消息 - this.canHandleDynamicMessage = true; - this.dynamicMessageArray.forEach(message => { - this.dynamicMessageHandle(message); - }) - this.canHandleDynamicAlert = true; - this.dynamicAlertArray.forEach(message => { - this.dynamicAlertHandle(message); - }) - } - - /** - * 刷新 - */ - refresh() { - this.operateSpinServiceService.showSpin(); - this.canHandleDynamicMessage = false; - this.canHandleDynamicAlert = false; - this.SEARCH = ''; //手动输入条件 - this.LASTSEARCH = ''; - this.FLT_POS = 1; //过滤还是定位 - this.SEL_COL = ''; //选择列名 - this.LAST_SEL_COL = ''; - this.filterItems = { - ALCD: '', //航空公司 - FLIN: '', //航线类别 - FLTY: '', //航班类别 - MVIN: '', //到达/出发 - FTSS: '', //运营状态 - TRML: '', //航站楼 - Abnormal_state: '', //异常状态 - Start_time: '9', - End_time: '9', - FHAG: '', //机坪代理 - MHAG: '', //维护代理 - PHAG: '', //旅客代理 - } - - /** 用户设置 */ - this.httpCilent.get('/adminapi/settings/uisettings').subscribe( - data => { - data.body.forEach(element => { - if (element.groupCode === 'userSettingCol') { - this.col_lists = JSON.parse(element.settingContent).defaultData; - this.render_col_lists = JSON.parse(element.settingContent).targetList; - } else if (element.groupCode === 'userSettingColor') { - this.airline_color = JSON.parse(element.settingContent); - } else if (element.groupCode === 'userSettingMsgAlert') { - this.airline_message_alert = JSON.parse(element.settingContent).targetList; - } - }); - } - ) - //获取航班动态信息 - this.httpCilent.get('/msgexchangeapi/all/flights').subscribe( - data => { - this.raw_data = data.body; - - //查找链接航班并将其组合成一条数据 - this.combined_data = []; - let combined_linked_data = this.dataHandle.findLinkFlights(this.raw_data); - combined_linked_data.forEach(element => { - let flights_item = this.dataHandle.flightsRenderTransfer(element, this.col_lists); - this.combined_data.push(flights_item); - }); - - let combined_data = [] - this.combined_data.forEach(item => { - combined_data.push(this.dataHandle.basicDataTransHandle(item, this.airports, this.citys, this.airlines, this.flightStatus, this.flightTypes)); - }) - this.combined_data = combined_data; - this.doSequence(this.combined_data); - const toastCfg = new ToastConfig(ToastType.SUCCESS, '', '刷新成功!', 3000); - this.toastService.toast(toastCfg); - } - ) - } /** @@ -478,8 +529,8 @@ export class MainComponent implements OnInit { FTSS: '', //运营状态 TRML: '', //航站楼 Abnormal_state: '', //异常状态 - Start_time: '9', - End_time: '9', + // Start_time: '', + // End_time: '', FHAG: '', //机坪代理 MHAG: '', //维护代理 PHAG: '', //旅客代理 @@ -490,7 +541,9 @@ export class MainComponent implements OnInit { */ inputEnter() { if (this.FLT_POS === 1) { - this.selectChange() + this.LAST_SEL_COL = this.SEL_COL; + this.LASTSEARCH = this.SEARCH; + this.selectChange('filter') } else { this.inputPosition(this.render_data) } @@ -499,216 +552,224 @@ export class MainComponent implements OnInit { /** * 下拉框选择筛选 */ - selectChange() { - this.operateSpinServiceService.showSpin(); - setTimeout(() => { - let filter_data = []; - let filterItems = this.filterItems; - this.combined_data.forEach(item => { - filter_data.push(Object.assign({}, item)); - }) - //下拉框筛选 - filter_data = filter_data.filter(item => { - if (this.orderHandle.isArriFlight(item)) { - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (item['preFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else if (key === 'Start_time') { - let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (nowTime - planTime >= +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { - is_satis = false; - break; - } else { - is_satis = true; - continue; - } - } else if (key === 'End_time') { - let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { - is_satis = false; - break; - } else { - is_satis = true; - continue; - } + selectChange(type) { + if (type === 'filter') { + this.operateSpinServiceService.showSpin(); + } + // setTimeout(() => { + let filter_data = []; + let filterItems = this.filterItems; + this.combined_data.forEach(item => { + filter_data.push(Object.assign({}, item)); + }) + //下拉框筛选 + filter_data = filter_data.filter(item => { + if (this.orderHandle.isArriFlight(item)) { + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (item['preFlight'][filterItems[key]]) { + is_satis = true; + continue; } else { - if (item['preFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } + is_satis = false; + break; + } + } else if (key === 'Start_time') { + let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (nowTime - planTime >= +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { + is_satis = false; + break; + } else { + is_satis = true; + continue; + } + } else if (key === 'End_time') { + let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { + is_satis = false; + break; + } else { + is_satis = true; + continue; + } + } else { + if (item['preFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; } } } - return is_satis; - } else if (this.orderHandle.isDeptFlight(item)) { - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (item['reaFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else if (key === 'Start_time') { - let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (nowTime - planTime > +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { - is_satis = false; - break; - } else { - is_satis = true; - continue; - } - } else if (key === 'End_time') { - let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { - is_satis = false; - break; - } else { - is_satis = true; - continue; - } - } else { - if (item['reaFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } - return is_satis; - } else { - let pre_satis = true; - let rea_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (item['preFlight'][filterItems[key]]) { - pre_satis = true; - continue; - } else { - pre_satis = false; - break; - } - } else if (key === 'Start_time') { - let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (nowTime - planTime > +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { - pre_satis = false; - break; - } else { - pre_satis = true; - continue; - } - } else if (key === 'End_time') { - let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { - pre_satis = false; - break; - } else { - pre_satis = true; - continue; - } - } else { - if (item['preFlight'][key] === filterItems[key]) { - pre_satis = true; - continue; - } else { - pre_satis = false; - break; - } - } - } - } - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (item['reaFlight'][filterItems[key]]) { - rea_satis = true; - continue; - } else { - rea_satis = false; - break; - } - } else if (key === 'Start_time') { - let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (nowTime - planTime > +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { - rea_satis = false; - break; - } else { - rea_satis = true; - continue; - } - } else if (key === 'End_time') { - let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); - let nowTime = new Date().getTime(); - if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { - rea_satis = false; - break; - } else { - rea_satis = true; - continue; - } - } else { - if (item['reaFlight'][key] === filterItems[key]) { - rea_satis = true; - continue; - } else { - rea_satis = false; - break; - } - } - } - } - - if (pre_satis && !rea_satis) { - item['renderFlight'] = item['renderPreFlight']; - delete item['reaFlight']; - delete item['renderReaFlight']; - return pre_satis; - } else if (!pre_satis && rea_satis) { - item['renderFlight'] = item['renderReaFlight']; - delete item['preFlight']; - delete item['renderPreFlight']; - return rea_satis; - } else if (pre_satis && rea_satis) { - return pre_satis && rea_satis; - } else { - return false; - } } - }) - if (this.FLT_POS === 1) { - this.inputFilter(filter_data); + return is_satis; + } else if (this.orderHandle.isDeptFlight(item)) { + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (item['reaFlight'][filterItems[key]]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } else if (key === 'Start_time') { + let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (nowTime - planTime > +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { + is_satis = false; + break; + } else { + is_satis = true; + continue; + } + } else if (key === 'End_time') { + let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { + is_satis = false; + break; + } else { + is_satis = true; + continue; + } + } else { + if (item['reaFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } + } + } + return is_satis; } else { - this.render_data = filter_data; - this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; - this.changeDetectorRef.detectChanges(); - this.operateSpinServiceService.hideSpin(); + let pre_satis = true; + let rea_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (item['preFlight'][filterItems[key]]) { + pre_satis = true; + continue; + } else { + pre_satis = false; + break; + } + } else if (key === 'Start_time') { + let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (nowTime - planTime > +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { + pre_satis = false; + break; + } else { + pre_satis = true; + continue; + } + } else if (key === 'End_time') { + let planTime = new Date(dateFormatter(item['preFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { + pre_satis = false; + break; + } else { + pre_satis = true; + continue; + } + } else { + if (item['preFlight'][key] === filterItems[key]) { + pre_satis = true; + continue; + } else { + pre_satis = false; + break; + } + } + } + } + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (item['reaFlight'][filterItems[key]]) { + rea_satis = true; + continue; + } else { + rea_satis = false; + break; + } + } else if (key === 'Start_time') { + let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (nowTime - planTime > +filterItems[key] * 60 * 60 * 1000 || nowTime - planTime < 0) { + rea_satis = false; + break; + } else { + rea_satis = true; + continue; + } + } else if (key === 'End_time') { + let planTime = new Date(dateFormatter(item['reaFlight']['SODT'])).getTime(); + let nowTime = new Date().getTime(); + if (planTime - nowTime > +filterItems[key] * 60 * 60 * 1000 || planTime - nowTime < 0) { + rea_satis = false; + break; + } else { + rea_satis = true; + continue; + } + } else { + if (item['reaFlight'][key] === filterItems[key]) { + rea_satis = true; + continue; + } else { + rea_satis = false; + break; + } + } + } + } + + if (pre_satis && !rea_satis) { + item['renderFlight'] = item['renderPreFlight']; + delete item['reaFlight']; + delete item['renderReaFlight']; + return pre_satis; + } else if (!pre_satis && rea_satis) { + item['renderFlight'] = item['renderReaFlight']; + delete item['preFlight']; + delete item['renderPreFlight']; + return rea_satis; + } else if (pre_satis && rea_satis) { + return pre_satis && rea_satis; + } else { + return false; + } } - }, 10) + }) + if (this.FLT_POS === 1) { + this.inputFilter(filter_data); + } else { + this.wait_render_data = filter_data; + this.render_data = this.wait_render_data.slice(this.start, this.end); + setTimeout(()=>{ + $(".table-body tbody>tr").eq(0).find('td').each((index,element)=>{ + $(".table-head table colgroup").eq(0).find('col').eq(index).attr('width',$(element).innerWidth()+'px') + }) + },500) + // this.render_data = filter_data; + this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; + this.operateSpinServiceService.hideSpin(); + } + // }, 10) } /** @@ -716,11 +777,9 @@ export class MainComponent implements OnInit { * @param filterData */ inputFilter(filterData) { - this.LAST_SEL_COL = this.SEL_COL; - this.LASTSEARCH = this.SEARCH; - if (this.SEARCH) { - if (this.SEL_COL) { - let sel_col = this.SEL_COL; + if (this.LASTSEARCH) { + if (this.LAST_SEL_COL) { + let sel_col = this.LAST_SEL_COL; filterData = filterData.filter(item => { if (item['renderFlight'][sel_col]) { if (item['renderFlight'][sel_col].toString().match(new RegExp(this.SEARCH, 'i'))) { @@ -753,9 +812,15 @@ export class MainComponent implements OnInit { }) } } - this.render_data = filterData; + this.wait_render_data = filterData; + this.render_data = this.wait_render_data.slice(this.start, this.end); + setTimeout(()=>{ + $(".table-body tbody>tr").eq(0).find('td').each((index,element)=>{ + $(".table-head table colgroup").eq(0).find('col').eq(index).attr('width',$(element).innerWidth()+'px') + }) + },500) + // this.render_data = filterData; this.row_state = this.render_data.length > 0 ? this.render_data[0] : { renderFlight: {} }; - this.changeDetectorRef.detectChanges(); this.operateSpinServiceService.hideSpin(); } @@ -819,8 +884,6 @@ export class MainComponent implements OnInit { alert('没有搜索到相关数据'); } - this.changeDetectorRef.detectChanges(); - let tr = $(".selected"); let objTr = tr[0]; if (objTr) { @@ -835,7 +898,6 @@ export class MainComponent implements OnInit { */ selectRow(i) { this.row_state = i; - this.changeDetectorRef.detectChanges(); } /** @@ -1099,14 +1161,12 @@ export class MainComponent implements OnInit { } } } - this.changeDetectorRef.detectChanges() } /** * tab项切换事件 */ nzClick() { - this.changeDetectorRef.detectChanges(); } } \ No newline at end of file diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.ts b/src/app/pages/system-management/personal-settings/personal-settings.component.ts index 68a48e1..5e61071 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.ts +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.ts @@ -6,203 +6,203 @@ declare var $: any; declare var jQuery: any; @Component({ - selector: 'app-personal-settings', - templateUrl: './personal-settings.component.html', - styleUrls: ['./personal-settings.component.scss','../../main.scss'], - providers:[HttpClientService] + selector: 'app-personal-settings', + templateUrl: './personal-settings.component.html', + styleUrls: ['./personal-settings.component.scss', '../../main.scss'], + providers: [HttpClientService] }) export class PersonalSettingsComponent implements OnInit { - public list: any[] = []; //原始数据项 - public sourceList: any[] = []; //临时数据项-可选项 - public targetList:any=[]; //临时数据项-已选项 - public disableRight:any=true; //单个右移控制按钮可选状态 true 禁止选择 false可选择 - public disabledLeft:any=true; //单个左移控制按钮可选状态 true 禁止选择 false可选择 - public disableUp:any=true; //上移控制按钮可选状态 true 禁止选择 false可选择 - public disableDown:any=true; //下移控制按钮可选状态 true 禁止选择 false可选择 - public disabledUpTop:any=true; //置顶控制按钮可选状态 true 禁止选择 false可选择 - public disabledDownBtm:any=true; //最低控制按钮可选状态 true 禁止选择 false可选择 - public selectedType:any=''; //当前选中项所在项目 1在可选项 2在已选项框 - public moveIndex:any='false'; - public search:any={ - page_index:'1', - page_size:'10', - role_name:'', - } - public defaultCols:any=[]; //默认的全部列 - public colsData:any=''; - isLoadingSave:any=false; - statusParamsData:any={ //获取接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 - status:1, - } - constructor( - private http:HttpClientService, - private message: NzMessageService, - ) { } + public list: any[] = []; //原始数据项 + public sourceList: any[] = []; //临时数据项-可选项 + public targetList: any = []; //临时数据项-已选项 + public disableRight: any = true; //单个右移控制按钮可选状态 true 禁止选择 false可选择 + public disabledLeft: any = true; //单个左移控制按钮可选状态 true 禁止选择 false可选择 + public disableUp: any = true; //上移控制按钮可选状态 true 禁止选择 false可选择 + public disableDown: any = true; //下移控制按钮可选状态 true 禁止选择 false可选择 + public disabledUpTop: any = true; //置顶控制按钮可选状态 true 禁止选择 false可选择 + public disabledDownBtm: any = true; //最低控制按钮可选状态 true 禁止选择 false可选择 + public selectedType: any = ''; //当前选中项所在项目 1在可选项 2在已选项框 + public moveIndex: any = 'false'; + public search: any = { + page_index: '1', + page_size: '10', + role_name: '', + } + public defaultCols: any = []; //默认的全部列 + public colsData: any = ''; + isLoadingSave: any = false; + statusParamsData: any = { //获取接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status: 1, + } + constructor( + private http: HttpClientService, + private message: NzMessageService, + ) { } - ngOnInit() { - // 页面监听 动态改变表单高度 - $('#main-box').css('height',(document.documentElement.clientHeight-106+'px')); - $(window).resize(function(){ - $('#main-box').css('height',(document.documentElement.clientHeight-106+'px')); - }) - //this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] - this.defaultCols=[ - {"COL_CODE":"ACFT", "COL_CN":"机型", "COL_ORDER":"1"}, - {"COL_CODE":"GCTM", "COL_CN":"登机结束", "COL_ORDER":"2"}, - {"COL_CODE":"BOTM", "COL_CN":"登机开始", "COL_ORDER":"3"}, - {"COL_CODE":"ABDG", "COL_CN":"登机桥", "COL_ORDER":"4"}, - {"COL_CODE":"AOTM_D", "COL_CN":"撤桥时间", "COL_ORDER":"5"}, - {"COL_CODE":"AOTM_A", "COL_CN":"靠桥时间", "COL_ORDER":"6"}, - {"COL_CODE":"BELT", "COL_CN":"转盘号", "COL_ORDER":"7"}, - {"COL_CODE":"CHKC", "COL_CN":"值机柜台", "COL_ORDER":"8"}, - {"COL_CODE":"CCTM", "COL_CN":"值机结束", "COL_ORDER":"9"}, - {"COL_CODE":"COTM", "COL_CN":"值机开始", "COL_ORDER":"10"}, - {"COL_CODE":"CHTM_OFF", "COL_CN":"下轮挡", "COL_ORDER":"11"}, - {"COL_CODE":"CHTM_ON", "COL_CN":"上轮挡", "COL_ORDER":"12"}, - {"COL_CODE":"LACL", "COL_CN":"最后通知时间", "COL_ORDER":"13"}, - {"COL_CODE":"CHUT", "COL_CN":"行李传送带", "COL_ORDER":"14"}, - {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"15"}, - {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"16"}, - {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"17"}, - {"COL_CODE":"PSST", "COL_CN":"计划机位", "COL_ORDER":"18"}, - {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发 ", "COL_ORDER":"19"}, - {"COL_CODE":"MVIN", "COL_CN":"到达/出发", "COL_ORDER":"20"}, - {"COL_CODE":"ERUT", "COL_CN":"航线", "COL_ORDER":"21"}, - {"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"22"}, - {"COL_CODE":"FTSS", "COL_CN":"运营状态", "COL_ORDER":"23"}, - {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"24"}, - {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"25"}, - {"COL_CODE":"TRML", "COL_CN":"航站楼", "COL_ORDER":"26"}, - {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"27"}, - {"COL_CODE":"GTDT", "COL_CN":"登机门号 ", "COL_ORDER":"28"}, - {"COL_CODE":"PADT", "COL_CN":"前站起飞时间", "COL_ORDER":"29"}, - {"COL_CODE":"CSFT", "COL_CN":"共享航班号", "COL_ORDER":"30"}, - {"COL_CODE":"STND", "COL_CN":"当前机位", "COL_ORDER":"31"}, - ] + ngOnInit() { + // 页面监听 动态改变表单高度 + $('#main-box').css('height', (document.documentElement.clientHeight - 106 + 'px')); + $(window).resize(function () { + $('#main-box').css('height', (document.documentElement.clientHeight - 106 + 'px')); + }) + //this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ] + this.defaultCols = [ + { "COL_CODE": "ACFT", "COL_CN": "机型", "COL_ORDER": "1", "COL_WIDTH": "85px" }, + { "COL_CODE": "GCTM", "COL_CN": "登机结束", "COL_ORDER": "2", "COL_WIDTH": "85px" }, + { "COL_CODE": "BOTM", "COL_CN": "登机开始", "COL_ORDER": "3", "COL_WIDTH": "85px" }, + { "COL_CODE": "ABDG", "COL_CN": "登机桥", "COL_ORDER": "4", "COL_WIDTH": "120px" }, + { "COL_CODE": "AOTM_D", "COL_CN": "撤桥时间", "COL_ORDER": "5", "COL_WIDTH": "85px" }, + { "COL_CODE": "AOTM_A", "COL_CN": "靠桥时间", "COL_ORDER": "6", "COL_WIDTH": "85px" }, + { "COL_CODE": "BELT", "COL_CN": "转盘号", "COL_ORDER": "7", "COL_WIDTH": "120px" }, + { "COL_CODE": "CHKC", "COL_CN": "值机柜台", "COL_ORDER": "8", "COL_WIDTH": "120px" }, + { "COL_CODE": "CCTM", "COL_CN": "值机结束", "COL_ORDER": "9", "COL_WIDTH": "85px" }, + { "COL_CODE": "COTM", "COL_CN": "值机开始", "COL_ORDER": "10", "COL_WIDTH": "85px" }, + { "COL_CODE": "CHTM_OFF", "COL_CN": "下轮挡", "COL_ORDER": "11", "COL_WIDTH": "85px" }, + { "COL_CODE": "CHTM_ON", "COL_CN": "上轮挡", "COL_ORDER": "12", "COL_WIDTH": "85px" }, + { "COL_CODE": "LACL", "COL_CN": "最后通知时间", "COL_ORDER": "13", "COL_WIDTH": "120px" }, + { "COL_CODE": "CHUT", "COL_CN": "行李传送带", "COL_ORDER": "14", "COL_WIDTH": "120px" }, + { "COL_CODE": "RENO", "COL_CN": "飞机号", "COL_ORDER": "15", "COL_WIDTH": "120px" }, + { "COL_CODE": "ALCD", "COL_CN": "航空公司", "COL_ORDER": "16", "COL_WIDTH": "185px" }, + { "COL_CODE": "ACTT", "COL_CN": "实际到达/出发", "COL_ORDER": "17", "COL_WIDTH": "120px" }, + { "COL_CODE": "PSST", "COL_CN": "计划机位", "COL_ORDER": "18", "COL_WIDTH": "120px" }, + { "COL_CODE": "ESTT", "COL_CN": "预计到达/出发 ", "COL_ORDER": "19", "COL_WIDTH": "120px" }, + { "COL_CODE": "MVIN", "COL_CN": "到达/出发", "COL_ORDER": "20", "COL_WIDTH": "85px" }, + { "COL_CODE": "ERUT", "COL_CN": "航线", "COL_ORDER": "21", "COL_WIDTH": "245px" }, + { "COL_CODE": "FLNO", "COL_CN": "航班号", "COL_ORDER": "22", "COL_WIDTH": "140px" }, + { "COL_CODE": "FTSS", "COL_CN": "运营状态", "COL_ORDER": "23", "COL_WIDTH": "120px" }, + { "COL_CODE": "FLIN", "COL_CN": "航线类别", "COL_ORDER": "24", "COL_WIDTH": "120px" }, + { "COL_CODE": "SODT", "COL_CN": "计划到达/出发", "COL_ORDER": "25", "COL_WIDTH": "120px" }, + { "COL_CODE": "TRML", "COL_CN": "航站楼", "COL_ORDER": "26", "COL_WIDTH": "120px" }, + { "COL_CODE": "FLTY", "COL_CN": "航班类别", "COL_ORDER": "27", "COL_WIDTH": "120px" }, + { "COL_CODE": "GTDT", "COL_CN": "登机门号 ", "COL_ORDER": "28", "COL_WIDTH": "120px" }, + { "COL_CODE": "PADT", "COL_CN": "前站起飞时间", "COL_ORDER": "29", "COL_WIDTH": "85px" }, + { "COL_CODE": "CSFT", "COL_CN": "共享航班号", "COL_ORDER": "30", "COL_WIDTH": "85px" }, + { "COL_CODE": "STND", "COL_CN": "当前机位", "COL_ORDER": "31", "COL_WIDTH": "85px" }, + ] /* 备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据 这里数组复制不能用浅复制sourceList=list;而是要用深度复制,this.sourceList=[...this.list] */ - - this.queryTable(); - } - //对象数组深度复制 - deepCopy(data){ - let itemObj={}; - for(let key in data){ - itemObj[key]=data[key]; - } - return itemObj; - } - //数组深度复制构造 - listsCope(sourceList,targetList){ - sourceList.forEach(item=>{ - let option=this.deepCopy(item); - targetList.push(option); - }) - } - //上下调整项目顺序 type 1上移 2下移 3置顶 4置底 要做头尾判断 - moveUpDown(type){ - let index=this.moveIndex; - if(type==1){ - this.targetList[index] = this.targetList.splice(index-1, 1, this.targetList[index])[0]; - this.moveIndex--; - }else if(type==2){ - this.targetList[index] = this.targetList.splice(index+1, 1, this.targetList[index])[0]; - this.moveIndex++; - }else if(type==3){ - let item=this.targetList[index]; - this.targetList.splice(index,1) - this.targetList.unshift(item); - this.moveIndex=0; - }else if(type==4){ - this.targetList.push(this.targetList[index]); - this.targetList.splice(index,1); - this.moveIndex=this.targetList.length-1; - } - this.btnStatusContrl(); - - } - //左右选择项目 type 1右移 2左移 3全部右移 4全部左移 - moveCross(type){ - let index=this.moveIndex; - if(type==1){ - let item=this.sourceList[index]; - this.sourceList.splice(index,1) - this.targetList.push(item); - if(this.sourceList.length==0){ - this.disableRight=true; - } - }else if(type==2){ - let item=this.targetList[index]; - this.targetList.splice(index,1) - this.sourceList.push(item); - if(this.targetList.length==0){ - this.disabledLeft=true; - } - }else if(type==3){ - this.sourceList.forEach(item=>{ - this.targetList.push(item) - }) - this.sourceList=[]; - }else if(type==4){ - this.targetList.forEach(item=>{ - this.sourceList.push(item) - }) - this.targetList=[]; - } - this.moveIndex='false'; - this.selectedType=''; - this.disabledLeft=true; - this.disableRight=true; - this.sortBtnDisabled(); - } - //选中选框中的项 type 1可选框的项 2已选框的项 - selectNode(item,index,type){ - this.selectedType=type; - this.moveIndex=index; - if(type==1){ - this.disabledLeft=true; - this.disableRight=false; - this.sortBtnDisabled(); - }else if(type==2){ - this.disableRight=true; - this.disabledLeft=false; - this.btnStatusContrl(); - } - - } - //右侧上下移懂按钮禁用状态控制 - btnStatusContrl(){ - let len=this.targetList.length; - if(len<2){ - this.disabledUpTop=true; - this.disableDown=true; - } - if(this.moveIndex==0){ - this.disabledUpTop=true; - this.disableUp=true; - }else{ - this.disabledUpTop=false - this.disableUp=false; - } - if(this.moveIndex==len-1){ - this.disabledDownBtm=true; - this.disableDown=true; - }else{ - this.disabledDownBtm=false; - this.disableDown=false; - } - } - //排序按钮状态统一控制 - sortBtnDisabled(){ - this.disableDown=true; - this.disableUp=true; - this.disabledDownBtm=true; - this.disabledUpTop=true; - } - //保存-自定义列显示保存 + this.queryTable(); + } + //对象数组深度复制 + deepCopy(data) { + let itemObj = {}; + for (let key in data) { + itemObj[key] = data[key]; + } + return itemObj; + } + //数组深度复制构造 + listsCope(sourceList, targetList) { + sourceList.forEach(item => { + let option = this.deepCopy(item); + targetList.push(option); + }) + } + //上下调整项目顺序 type 1上移 2下移 3置顶 4置底 要做头尾判断 + moveUpDown(type) { + let index = this.moveIndex; + if (type == 1) { + this.targetList[index] = this.targetList.splice(index - 1, 1, this.targetList[index])[0]; + this.moveIndex--; + } else if (type == 2) { + this.targetList[index] = this.targetList.splice(index + 1, 1, this.targetList[index])[0]; + this.moveIndex++; + } else if (type == 3) { + let item = this.targetList[index]; + this.targetList.splice(index, 1) + this.targetList.unshift(item); + this.moveIndex = 0; + } else if (type == 4) { + this.targetList.push(this.targetList[index]); + this.targetList.splice(index, 1); + this.moveIndex = this.targetList.length - 1; + } + this.btnStatusContrl(); + + } + //左右选择项目 type 1右移 2左移 3全部右移 4全部左移 + moveCross(type) { + let index = this.moveIndex; + if (type == 1) { + let item = this.sourceList[index]; + this.sourceList.splice(index, 1) + this.targetList.push(item); + if (this.sourceList.length == 0) { + this.disableRight = true; + } + } else if (type == 2) { + let item = this.targetList[index]; + this.targetList.splice(index, 1) + this.sourceList.push(item); + if (this.targetList.length == 0) { + this.disabledLeft = true; + } + } else if (type == 3) { + this.sourceList.forEach(item => { + this.targetList.push(item) + }) + this.sourceList = []; + } else if (type == 4) { + this.targetList.forEach(item => { + this.sourceList.push(item) + }) + this.targetList = []; + } + this.moveIndex = 'false'; + this.selectedType = ''; + this.disabledLeft = true; + this.disableRight = true; + this.sortBtnDisabled(); + } + //选中选框中的项 type 1可选框的项 2已选框的项 + selectNode(item, index, type) { + this.selectedType = type; + this.moveIndex = index; + if (type == 1) { + this.disabledLeft = true; + this.disableRight = false; + this.sortBtnDisabled(); + } else if (type == 2) { + this.disableRight = true; + this.disabledLeft = false; + this.btnStatusContrl(); + } + + } + //右侧上下移懂按钮禁用状态控制 + btnStatusContrl() { + let len = this.targetList.length; + if (len < 2) { + this.disabledUpTop = true; + this.disableDown = true; + } + if (this.moveIndex == 0) { + this.disabledUpTop = true; + this.disableUp = true; + } else { + this.disabledUpTop = false + this.disableUp = false; + } + if (this.moveIndex == len - 1) { + this.disabledDownBtm = true; + this.disableDown = true; + } else { + this.disabledDownBtm = false; + this.disableDown = false; + } + } + //排序按钮状态统一控制 + sortBtnDisabled() { + this.disableDown = true; + this.disableUp = true; + this.disabledDownBtm = true; + this.disabledUpTop = true; + + } + //保存-自定义列显示保存 /* 各模块groupCode命名定义 groupCode:'userSettingColor', @@ -211,72 +211,71 @@ export class PersonalSettingsComponent implements OnInit { groupCode:'userSettingMsgVoice', groupCode:'userSettingFlyAgency', */ - saveSelf(){ - this.sourceList.forEach((item,index)=>{ - item.COL_ORDER=index+1 - }) - this.targetList.forEach((item,index)=>{ - item.COL_ORDER=index+1 - }) - let content={ - defaultData:this.defaultCols, - sourceList:this.sourceList, - targetList:this.targetList, - } - let settingContent=JSON.stringify(content); - let params:any={ - envCode:'web', - groupCode:'userSettingCol', - settingContent:settingContent, - } - this.isLoadingSave=true; - this.http.post('/adminapi/settings/uisettings',params).subscribe((json)=>{ - this.isLoadingSave=false; - if(json.is_success){ - this.message.success(`保存成功!`); - this.queryTable(); - }else{ - this.message.error(`保存失败!`); - } - }) - } - //重置数据 - cancelSelf(){ - this.queryTable(); - } - //获取列表 - queryTable():void{ - this.statusParamsData.status=1; - this.list=[]; - this.sourceList=[]; - this.targetList=[]; - this.colsData=''; - this.http.get('/adminapi/settings/uisettings',{groupCode:'userSettingCol'}).subscribe((json)=>{ - if(json.is_success){ - this.statusParamsData.status=3; - let data=json.body; - this.colsData=json.body; - //当data为空是,初始化 - this.listsCope(this.defaultCols,this.list); - //判断data是否为空,空的时候则为最初的初始化;如果不为空,则有设置过个人设置的某个模块 - if(data&&data.length>0){ - data.forEach(item=>{ - if(item.settingContent){ - let content=JSON.parse(item.settingContent); - this.listsCope(content.sourceList,this.sourceList); - this.listsCope(content.targetList,this.targetList); - }else{ - this.listsCope(this.list,this.sourceList); - } - }) - }else{ - //接口数据为空,说明各个模块设置都为未初始化,可选项则为默认全部列 - this.listsCope(this.list,this.sourceList); - } - }else{ - this.statusParamsData.status=0; - } - }) - } + saveSelf() { + this.sourceList.forEach((item, index) => { + item.COL_ORDER = index + 1 + }) + this.targetList.forEach((item, index) => { + item.COL_ORDER = index + 1 + }) + let content = { + defaultData: this.defaultCols, + sourceList: this.sourceList, + targetList: this.targetList, + } + let settingContent = JSON.stringify(content); + let params: any = { + envCode: 'web', + groupCode: 'userSettingCol', + settingContent: settingContent, + } + this.isLoadingSave = true; + this.http.post('/adminapi/settings/uisettings', params).subscribe((json) => { + this.isLoadingSave = false; + if (json.is_success) { + this.message.success(`保存成功!`); + this.queryTable(); + } else { + this.message.error(`保存失败!`); + } + }) + } + //重置数据 + cancelSelf() { + this.queryTable(); + } + //获取列表 + queryTable(): void { + this.statusParamsData.status = 1; + this.list = []; + this.sourceList = []; + this.targetList = []; + this.colsData = ''; + this.http.get('/adminapi/settings/uisettings', { groupCode: 'userSettingCol' }).subscribe((json) => { + if (json.is_success) { + this.statusParamsData.status = 3; + let data = json.body; + this.colsData = json.body; + //当data为空是,初始化 + this.listsCope(this.defaultCols, this.list); + //判断data是否为空,空的时候则为最初的初始化;如果不为空,则有设置过个人设置的某个模块 + if (data && data.length > 0) { + data.forEach(item => { + if (item.settingContent) { + let content = JSON.parse(item.settingContent); + this.listsCope(content.sourceList, this.sourceList); + this.listsCope(content.targetList, this.targetList); + } else { + this.listsCope(this.list, this.sourceList); + } + }) + } else { + //接口数据为空,说明各个模块设置都为未初始化,可选项则为默认全部列 + this.listsCope(this.list, this.sourceList); + } + } else { + this.statusParamsData.status = 0; + } + }) + } } - \ No newline at end of file diff --git a/src/app/utils/flights-data-handle.ts b/src/app/utils/flights-data-handle.ts index 538f096..fb9842e 100644 --- a/src/app/utils/flights-data-handle.ts +++ b/src/app/utils/flights-data-handle.ts @@ -257,388 +257,388 @@ export class FlightsDataHandle { } } - public dynamicMessageHandle(message, render_data, col_lists, filterItems, LASTSEARCH, LAST_SEL_COL, airports, citys, airlines, flightStatus, flightTypes) { + // public dynamicMessageHandle(message, render_data, col_lists, filterItems, LASTSEARCH, LAST_SEL_COL, airports, citys, airlines, flightStatus, flightTypes) { - try { - if (message.MVIN === 'A') { - //针对render_data的处理 - let index1 = render_data.findIndex(element => { - if (this.orderHandle.isArriFlight(element) || this.orderHandle.isLinked(element)) { - if (element['preFlight']['FLID'] === message.FLID) { - return true; - } else { - return false; - } - } else { - return false; - } - }) - if (index1 > -1) { - render_data[index1]['preFlight'] = message; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + // try { + // if (message.MVIN === 'A') { + // //针对render_data的处理 + // let index1 = render_data.findIndex(element => { + // if (this.orderHandle.isArriFlight(element) || this.orderHandle.isLinked(element)) { + // if (element['preFlight']['FLID'] === message.FLID) { + // return true; + // } else { + // return false; + // } + // } else { + // return false; + // } + // }) + // if (index1 > -1) { + // render_data[index1]['preFlight'] = message; + // render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + // render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (render_data[index1]['preFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else { - if (render_data[index1]['preFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (render_data[index1]['preFlight'][LAST_SEL_COL]) { - if (render_data[index1]['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - } else { - search_satis = false; - } - } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; - } else { - search_satis = false; - continue; - } - } else { - search_satis = false; - continue; - } - } - } - } + // let is_satis = true; + // for (const key in filterItems) { + // if (filterItems.hasOwnProperty(key) && filterItems[key]) { + // if (key === 'Abnormal_state') { + // if (render_data[index1]['preFlight'][filterItems[key]]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } else { + // if (render_data[index1]['preFlight'][key] === filterItems[key]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } + // } + // } + // let search_satis = true; + // if (LASTSEARCH) { + // if (LAST_SEL_COL) { + // if (render_data[index1]['preFlight'][LAST_SEL_COL]) { + // if (render_data[index1]['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // } else { + // search_satis = false; + // } + // } else { + // search_satis = false; + // } + // } else { + // let cols = col_lists; + // for (let i = 0; i < cols.length; i++) { + // if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { + // if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // break; + // } else { + // search_satis = false; + // continue; + // } + // } else { + // search_satis = false; + // continue; + // } + // } + // } + // } - if (is_satis && search_satis) { - // if (message.UPTP === 'FLOP-TAOP') { - if (message.TAID) { - if (this.orderHandle.isArriFlight(render_data[index1])) { - let i = render_data.findIndex(element => { - if (this.orderHandle.isDeptFlight(element)) { - if (message.TAID === element['reaFlight']['FLID']) { - return true; - } else { - return false; - } - } else { - return false; - } - }) + // if (is_satis && search_satis) { + // // if (message.UPTP === 'FLOP-TAOP') { + // if (message.TAID) { + // if (this.orderHandle.isArriFlight(render_data[index1])) { + // let i = render_data.findIndex(element => { + // if (this.orderHandle.isDeptFlight(element)) { + // if (message.TAID === element['reaFlight']['FLID']) { + // return true; + // } else { + // return false; + // } + // } else { + // return false; + // } + // }) - if (i > -1) { - // render_data.splice(index1, 1); - render_data[i]['reaFlight']['TAID'] = message.FLID; - render_data[i]['preFlight'] = message; - render_data.splice(index1, 1); - // let newFlight = {}; - // newFlight['preFlight'] = message; - // newFlight['reaFlight'] = render_data[i]['reaFlight']; - // render_data.splice(i, 1); - render_data[i] = this.flightsRenderTransfer(render_data[i], col_lists); - render_data[i] = this.basicDataTransHandle(render_data[i], airports, citys, airlines, flightStatus, flightTypes); - // render_data.push(newFlight) - } - } - } else { - if (this.orderHandle.isLinked(render_data[index1])) { - let newPreFlight = {}, - newReaFlight = {}; + // if (i > -1) { + // // render_data.splice(index1, 1); + // render_data[i]['reaFlight']['TAID'] = message.FLID; + // render_data[i]['preFlight'] = message; + // render_data.splice(index1, 1); + // // let newFlight = {}; + // // newFlight['preFlight'] = message; + // // newFlight['reaFlight'] = render_data[i]['reaFlight']; + // // render_data.splice(i, 1); + // render_data[i] = this.flightsRenderTransfer(render_data[i], col_lists); + // render_data[i] = this.basicDataTransHandle(render_data[i], airports, citys, airlines, flightStatus, flightTypes); + // // render_data.push(newFlight) + // } + // } + // } else { + // if (this.orderHandle.isLinked(render_data[index1])) { + // let newPreFlight = {}, + // newReaFlight = {}; - delete render_data[index1]['preFlight']['TAID']; - newPreFlight['preFlight'] = render_data[index1]['preFlight']; - newPreFlight['renderFlight'] = render_data[index1]['renderPreFlight']; - delete render_data[index1]['reaFlight']['TAID']; - newPreFlight['reaFlight'] = render_data[index1]['reaFlight']; - newPreFlight['renderFlight'] = render_data[index1]['renderReaFlight']; - render_data.splice(index1, 1); - render_data.push(newPreFlight); - render_data.push(newReaFlight); - } - } - // } - } else { - if (this.orderHandle.isArriFlight(render_data[index1])) { - render_data.splice(index1, 1); - } else if (this.orderHandle.isLinked(render_data[index1])) { - delete render_data[index1]['preFlight']; - delete render_data[index1]['renderPreFlight']; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - } - } - } else { - let newFlight = {}; - newFlight['preFlight'] = message; - newFlight = this.flightsRenderTransfer(newFlight, col_lists); - newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); + // delete render_data[index1]['preFlight']['TAID']; + // newPreFlight['preFlight'] = render_data[index1]['preFlight']; + // newPreFlight['renderFlight'] = render_data[index1]['renderPreFlight']; + // delete render_data[index1]['reaFlight']['TAID']; + // newPreFlight['reaFlight'] = render_data[index1]['reaFlight']; + // newPreFlight['renderFlight'] = render_data[index1]['renderReaFlight']; + // render_data.splice(index1, 1); + // render_data.push(newPreFlight); + // render_data.push(newReaFlight); + // } + // } + // // } + // } else { + // if (this.orderHandle.isArriFlight(render_data[index1])) { + // render_data.splice(index1, 1); + // } else if (this.orderHandle.isLinked(render_data[index1])) { + // delete render_data[index1]['preFlight']; + // delete render_data[index1]['renderPreFlight']; + // render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + // render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + // } + // } + // } else { + // let newFlight = {}; + // newFlight['preFlight'] = message; + // newFlight = this.flightsRenderTransfer(newFlight, col_lists); + // newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (newFlight['preFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else { - if (newFlight['preFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } + // let is_satis = true; + // for (const key in filterItems) { + // if (filterItems.hasOwnProperty(key) && filterItems[key]) { + // if (key === 'Abnormal_state') { + // if (newFlight['preFlight'][filterItems[key]]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } else { + // if (newFlight['preFlight'][key] === filterItems[key]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } + // } + // } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (newFlight['preFlight'][LAST_SEL_COL]) { - if (newFlight['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - } else { - search_satis = false; - } - } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; - } else { - search_satis = false; - continue; - } - } else { - search_satis = false; - continue; - } - } - } - } - if (is_satis && search_satis) { - if (message.TAID) { - let i = render_data.findIndex(element => { - if (this.orderHandle.isDeptFlight(element)) { - if (message.TAID === element['reaFlight']['FLID']) { - return true; - } else { - return false; - } - } else { - return false; - } - }) + // let search_satis = true; + // if (LASTSEARCH) { + // if (LAST_SEL_COL) { + // if (newFlight['preFlight'][LAST_SEL_COL]) { + // if (newFlight['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // } else { + // search_satis = false; + // } + // } else { + // search_satis = false; + // } + // } else { + // let cols = col_lists; + // for (let i = 0; i < cols.length; i++) { + // if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { + // if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // break; + // } else { + // search_satis = false; + // continue; + // } + // } else { + // search_satis = false; + // continue; + // } + // } + // } + // } + // if (is_satis && search_satis) { + // if (message.TAID) { + // let i = render_data.findIndex(element => { + // if (this.orderHandle.isDeptFlight(element)) { + // if (message.TAID === element['reaFlight']['FLID']) { + // return true; + // } else { + // return false; + // } + // } else { + // return false; + // } + // }) - if (i > -1) { - render_data[i]['preFlight'] = newFlight['preFlight']; - render_data[i]['renderPreFlight'] = newFlight['renderPreFlight']; - } else { - render_data.push(newFlight); - } - } else { - render_data.push(newFlight); - } - } - } - } else { - //针对render_data的处理 - let index1 = render_data.findIndex(element => { - if (this.orderHandle.isDeptFlight(element) || this.orderHandle.isLinked(element)) { - if (element['reaFlight']['FLID'] === message.FLID) { - return true; - } else { - return false; - } - } else { - return false; - } - }); - if (index1 > -1) { - render_data[index1]['reaFlight'] = message; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + // if (i > -1) { + // render_data[i]['preFlight'] = newFlight['preFlight']; + // render_data[i]['renderPreFlight'] = newFlight['renderPreFlight']; + // } else { + // render_data.push(newFlight); + // } + // } else { + // render_data.push(newFlight); + // } + // } + // } + // } else { + // //针对render_data的处理 + // let index1 = render_data.findIndex(element => { + // if (this.orderHandle.isDeptFlight(element) || this.orderHandle.isLinked(element)) { + // if (element['reaFlight']['FLID'] === message.FLID) { + // return true; + // } else { + // return false; + // } + // } else { + // return false; + // } + // }); + // if (index1 > -1) { + // render_data[index1]['reaFlight'] = message; + // render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + // render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (render_data[index1]['reaFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else { - if (render_data[index1]['reaFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (render_data[index1]['reaFlight'][LAST_SEL_COL]) { - if (render_data[index1]['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - } else { - search_satis = false; - } - } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; - } else { - search_satis = false; - continue; - } - } else { - search_satis = false; - continue; - } - } - } - } - if (!is_satis || !search_satis) { - if (this.orderHandle.isDeptFlight(render_data[index1])) { - render_data.splice(index1, 1); - } else if (this.orderHandle.isLinked(render_data[index1])) { - delete render_data[index1]['reaFlight']; - delete render_data[index1]['renderReaFlight']; + // let is_satis = true; + // for (const key in filterItems) { + // if (filterItems.hasOwnProperty(key) && filterItems[key]) { + // if (key === 'Abnormal_state') { + // if (render_data[index1]['reaFlight'][filterItems[key]]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } else { + // if (render_data[index1]['reaFlight'][key] === filterItems[key]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } + // } + // } + // let search_satis = true; + // if (LASTSEARCH) { + // if (LAST_SEL_COL) { + // if (render_data[index1]['reaFlight'][LAST_SEL_COL]) { + // if (render_data[index1]['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // } else { + // search_satis = false; + // } + // } else { + // search_satis = false; + // } + // } else { + // let cols = col_lists; + // for (let i = 0; i < cols.length; i++) { + // if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { + // if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // break; + // } else { + // search_satis = false; + // continue; + // } + // } else { + // search_satis = false; + // continue; + // } + // } + // } + // } + // if (!is_satis || !search_satis) { + // if (this.orderHandle.isDeptFlight(render_data[index1])) { + // render_data.splice(index1, 1); + // } else if (this.orderHandle.isLinked(render_data[index1])) { + // delete render_data[index1]['reaFlight']; + // delete render_data[index1]['renderReaFlight']; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - } - } - } else { - let newFlight = {}; - newFlight['reaFlight'] = message; - newFlight = this.flightsRenderTransfer(newFlight, col_lists); - newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); + // render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + // render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + // } + // } + // } else { + // let newFlight = {}; + // newFlight['reaFlight'] = message; + // newFlight = this.flightsRenderTransfer(newFlight, col_lists); + // newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (newFlight['reaFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else { - if (newFlight['reaFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (newFlight['reaFlight'][LAST_SEL_COL]) { - if (newFlight['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - } else { - search_satis = false; - } - } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; - } else { - search_satis = false; - continue; - } - } else { - search_satis = false; - continue; - } - } - } - } - if (is_satis && search_satis) { - let i = render_data.findIndex(element => { - if (this.orderHandle.isArriFlight(element)) { - if (message.TAID === element['preFlight']['FLID']) { - return true; - } else { - return false; - } - } else { - return false; - } - }) - if (i > -1) { - render_data[i]['reaFlight'] = newFlight['reaFlight']; - render_data[i]['renderReaFlight'] = newFlight['renderReaFlight']; - } else { - render_data.push(newFlight); - } - } - } - } - } catch (error) { - console.log('航班号为:' + message.FLNO + ' - 消息有误,处理失败,请检查消息数据'); - throw error; - } finally { - return { - 'render_data': render_data - } - } - } + // let is_satis = true; + // for (const key in filterItems) { + // if (filterItems.hasOwnProperty(key) && filterItems[key]) { + // if (key === 'Abnormal_state') { + // if (newFlight['reaFlight'][filterItems[key]]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } else { + // if (newFlight['reaFlight'][key] === filterItems[key]) { + // is_satis = true; + // continue; + // } else { + // is_satis = false; + // break; + // } + // } + // } + // } + // let search_satis = true; + // if (LASTSEARCH) { + // if (LAST_SEL_COL) { + // if (newFlight['reaFlight'][LAST_SEL_COL]) { + // if (newFlight['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // } else { + // search_satis = false; + // } + // } else { + // search_satis = false; + // } + // } else { + // let cols = col_lists; + // for (let i = 0; i < cols.length; i++) { + // if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { + // if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + // search_satis = true; + // break; + // } else { + // search_satis = false; + // continue; + // } + // } else { + // search_satis = false; + // continue; + // } + // } + // } + // } + // if (is_satis && search_satis) { + // let i = render_data.findIndex(element => { + // if (this.orderHandle.isArriFlight(element)) { + // if (message.TAID === element['preFlight']['FLID']) { + // return true; + // } else { + // return false; + // } + // } else { + // return false; + // } + // }) + // if (i > -1) { + // render_data[i]['reaFlight'] = newFlight['reaFlight']; + // render_data[i]['renderReaFlight'] = newFlight['renderReaFlight']; + // } else { + // render_data.push(newFlight); + // } + // } + // } + // } + // } catch (error) { + // console.log('航班号为:' + message.FLNO + ' - 消息有误,处理失败,请检查消息数据'); + // throw error; + // } finally { + // return { + // 'render_data': render_data + // } + // } + // } } \ No newline at end of file