航班列表可视区域渲染

This commit is contained in:
zhouyuejun
2019-01-04 18:28:50 +08:00
parent 914dc30d89
commit e56305d05d
7 changed files with 1248 additions and 1137 deletions
+373 -373
View File
@@ -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
// }
// }
// }
}