From 85b2f676c9e8a2becff23c7d1e78ca8353659a92 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Fri, 25 Jan 2019 14:36:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=88=AA=E7=8F=AD=E5=A4=87=E9=99=8D=E6=92=A4?= =?UTF-8?q?=E9=94=80=E5=A4=87=E9=99=8D=E6=B6=88=E6=81=AF=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/main/main.component.ts | 10 +- .../main/related-tab/related-tab.component.ts | 23 ++- src/app/utils/alert-message-handle.ts | 148 ++++++++++-------- 3 files changed, 101 insertions(+), 80 deletions(-) diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts index 760881d..04bfa34 100644 --- a/src/app/pages/main/main.component.ts +++ b/src/app/pages/main/main.component.ts @@ -970,19 +970,23 @@ export class MainComponent implements OnInit { getAlternateNotes(flight) { if (this.orderHandle.isArriFlight(flight)) { - if (flight['preFlight']['FDIV']) { + let preFdiv = flight['preFlight']['FDIV']; + if (preFdiv && preFdiv.DDES) { return true; } else { return false; } } else if (this.orderHandle.isDeptFlight(flight)) { - if (flight['reaFlight']['FDIV']) { + let reaFdiv = flight['reaFlight']['FDIV']; + if (reaFdiv && reaFdiv.DDES) { return true; } else { return false; } } else { - if ((flight['preFlight']['FDIV']) || (flight['reaFlight']['FDIV'])) { + let preFdiv = flight['preFlight']['FDIV']; + let reaFdiv = flight['reaFlight']['FDIV']; + if ((preFdiv && preFdiv.DDES) || (reaFdiv && reaFdiv.DDES)) { return true; } else { return false; diff --git a/src/app/pages/main/related-tab/related-tab.component.ts b/src/app/pages/main/related-tab/related-tab.component.ts index 1f6953d..2f4cb48 100644 --- a/src/app/pages/main/related-tab/related-tab.component.ts +++ b/src/app/pages/main/related-tab/related-tab.component.ts @@ -70,10 +70,13 @@ export class RelatedTabComponent implements OnInit { this.precancle = new Date(dateFormatter(this.precancle)).getTime(); } if (fdivIndex > -1) { - this.prefdiv = this.lines.preFlight['ABN'][fdivIndex].BODY; - let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.prefdiv.DDES); - if (airportIndex > -1) { - this.prefdiv.DDES = this.allAirports[airportIndex].briefNameChn + let fdiv = this.lines.preFlight['ABN'][fdivIndex].BODY; + if (fdiv.DDES) { + this.prefdiv = fdiv; + let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.prefdiv.DDES); + if (airportIndex > -1) { + this.prefdiv.DDES = this.allAirports[airportIndex].briefNameChn + } } } if (fretIndex > -1) { @@ -100,11 +103,15 @@ export class RelatedTabComponent implements OnInit { this.reacancle = new Date(dateFormatter(this.reacancle)).getTime(); } if (fdivIndex > -1) { - this.reafdiv = this.lines.reaFlight['ABN'][fdivIndex].BODY; - let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.reafdiv.DDES); - if (airportIndex > -1) { - this.reafdiv.DDES = this.allAirports[airportIndex].briefNameChn + let fdiv = this.lines.reaFlight['ABN'][fdivIndex].BODY; + if (fdiv.DDES) { + this.reafdiv = fdiv; + let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.reafdiv.DDES); + if (airportIndex > -1) { + this.reafdiv.DDES = this.allAirports[airportIndex].briefNameChn + } } + } if (fretIndex > -1) { let fret = this.lines.reaFlight['ABN'][fretIndex].BODY; diff --git a/src/app/utils/alert-message-handle.ts b/src/app/utils/alert-message-handle.ts index 80b4fdd..2aa4c21 100644 --- a/src/app/utils/alert-message-handle.ts +++ b/src/app/utils/alert-message-handle.ts @@ -1,117 +1,127 @@ -import dateFormatter from './date-formatter'; +import dateFormatter from "./date-formatter"; export class AlertMessageHandle { public flopCncl(message, airports) { if (message.FLOP.CNCL) { - return message.FLOP.FFID + '航班取消'; + return message.FLOP.FFID + " 航班取消"; } else { - return message.FLOP.FFID + '航班恢复'; + return message.FLOP.FFID + " 航班恢复"; } } public flopFret(message, airports) { let returnData = message.FLOP.FRET if (returnData && returnData.REID && returnData.VALUE) { - return message.FLOP.FFID + "航班从" + ((returnData.REID === "A") ? "空中返回" : "地面返回") + " \n\n返回原因:" + returnData.VALUE; + return message.FLOP.FFID + " 航班从" + ((returnData.REID === "A") ? "空中返回" : "地面返回") + ",\n\n返回原因:" + returnData.VALUE; } else { - return message.FLOP.FFID + "航班返航撤销"; + return message.FLOP.FFID + " 航班返航撤销"; } } public flopFdiv(message, airports) { - let airportName = ''; - let index = airports.findIndex(airport => airport.airportCodeIata === message.FLOP.FDIV.DDES); - if (index > -1) { - airportName = airports[index].airportNameChn; - } - if (message.FLOP.FDIV.DDIR === 'FROM') { - return message.FLOP.FFID + '航班备降自' + airportName + ',备降原因:' + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); - } else if (message.FLOP.FDIV.DDIR === 'TO') { - return message.FLOP.FFID + '航班备降到' + airportName + ',备降原因:' + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); - } else { - return message.FLOP.FFID + '航班备降,备降原因:' + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); + let optdiversiondata = message.FLOP.FDIV; + if (optdiversiondata && optdiversiondata.DDES) { + let reason = optdiversiondata.VALUE, + desc = optdiversiondata.DDES, + fdivType = optdiversiondata.DDIR, + airportName = ""; + let index = airports.findIndex(airport => airport.airportCodeIata === desc.toUpperCase()); + if (index > -1) { + airportName = airports[index].airportNameChn; + } + return message.FLOP.FFID + ((fdivType === "TO") ? " 备降到:" : " 备降自:") + airportName + ",\n\n备降原因:" + reason; + }else{ + return message.FLOP.FFID + " 航班备降撤销" } + + // if (message.FLOP.FDIV.DDIR === "FROM") { + // return message.FLOP.FFID + "航班备降自" + airportName + ",备降原因:" + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); + // } else if (message.FLOP.FDIV.DDIR === "TO") { + // return message.FLOP.FFID + "航班备降到" + airportName + ",备降原因:" + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); + // } else { + // return message.FLOP.FFID + "航班备降,备降原因:" + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); + // } } public flopFdel(message, airports) { - return message.FLOP.FFID + '航班被删除了' + return message.FLOP.FFID + "航班被删除了" } public flopDely(message, airports) { let delyArray = message.FLOP.DELY; let delyMessage = delyArray[delyArray.length - 1]; - return message.FLOP.FFID + '航班延误' + (parseInt(delyMessage.DURA.substr(0, 2)) * 60 + parseInt(delyMessage.DURA.substr(2, 3))) + '分钟;延误码:' + delyMessage.CODE + '; 延误信息:' + (delyMessage.content || delyMessage.VALUE) + return message.FLOP.FFID + "航班延误" + (parseInt(delyMessage.DURA.substr(0, 2)) * 60 + parseInt(delyMessage.DURA.substr(2, 3))) + "分钟;延误码:" + delyMessage.CODE + "; 延误信息:" + (delyMessage.content || delyMessage.VALUE) } public flopActt(message, airports) { - return message.FLOP.FFID + '航班实际时间:' + dateFormatter(message.FLOP.ACTT); + return message.FLOP.FFID + "航班实际时间:" + dateFormatter(message.FLOP.ACTT); } public flopGtdt(message, airports) { - if (Array.isArray(message.FLOP['GTDT']) && message.FLOP['GTDT'].length > 0) { + if (Array.isArray(message.FLOP["GTDT"]) && message.FLOP["GTDT"].length > 0) { let gate = []; - for (let i = 0; i < message.FLOP['GTDT'].length; i++) { - gate.push(message.FLOP['GTDT'][i]['GATE']); + for (let i = 0; i < message.FLOP["GTDT"].length; i++) { + gate.push(message.FLOP["GTDT"][i]["GATE"]); } let set = new Set(gate); - return message.FLOP.FFID + '登机门分配为:' + Array.from(set).join(','); - } else if (Object.prototype.toString.call(message.FLOP['GTDT']) === '[object Object]') { - return message.FLOP.FFID + '登机门分配为:' + message.FLOP['GTDT']['GATE']; + return message.FLOP.FFID + "登机门分配为:" + Array.from(set).join(","); + } else if (Object.prototype.toString.call(message.FLOP["GTDT"]) === "[object Object]") { + return message.FLOP.FFID + "登机门分配为:" + message.FLOP["GTDT"]["GATE"]; } else { - return message.FLOP.FFID + '登机门分配为:'; + return message.FLOP.FFID + "登机门分配为:"; } } public flopPsdt(message, airports) { - if (Array.isArray(message.FLOP['PSDT']) && message.FLOP['PSDT'].length > 0) { + if (Array.isArray(message.FLOP["PSDT"]) && message.FLOP["PSDT"].length > 0) { let psst = []; - for (let i = 0; i < message.FLOP['PSDT'].length; i++) { - psst.push(message.FLOP['PSDT'][i]['PSST']); + for (let i = 0; i < message.FLOP["PSDT"].length; i++) { + psst.push(message.FLOP["PSDT"][i]["PSST"]); } let set = new Set(psst); - return message.FLOP.FFID + '计划机位变更为:' + Array.from(set).join(','); - } else if (Object.prototype.toString.call(message.FLOP['PSDT']) === '[object Object]') { - return message.FLOP.FFID + '计划机位变更为:' + message.FLOP['PSDT']['PSST']; + return message.FLOP.FFID + "计划机位变更为:" + Array.from(set).join(","); + } else if (Object.prototype.toString.call(message.FLOP["PSDT"]) === "[object Object]") { + return message.FLOP.FFID + "计划机位变更为:" + message.FLOP["PSDT"]["PSST"]; } else { - return message.FLOP.FFID + '计划机位变更为:'; + return message.FLOP.FFID + "计划机位变更为:"; } } public flopEstt(message, airports) { - return message.FLOP.FFID + '预计时间变更为' + dateFormatter(message.FLOP.ESTT); + return message.FLOP.FFID + "预计时间变更为" + dateFormatter(message.FLOP.ESTT); } public flopPadt(message, airports) { - return message.FLOP.FFID + '航班前站实际起飞时间:' + dateFormatter(message.FLOP.PADT); + return message.FLOP.FFID + "航班前站实际起飞时间:" + dateFormatter(message.FLOP.PADT); } public flopCkdt(message, airports) { - if (Array.isArray(message.FLOP['CKDT']) && message.FLOP['CKDT'].length > 0) { + if (Array.isArray(message.FLOP["CKDT"]) && message.FLOP["CKDT"].length > 0) { let chkc = []; - for (let i = 0; i < message.FLOP['CKDT'].length; i++) { - chkc.push(message.FLOP['CKDT'][i]['CHKC']); + for (let i = 0; i < message.FLOP["CKDT"].length; i++) { + chkc.push(message.FLOP["CKDT"][i]["CHKC"]); } let set = new Set(chkc); - return message.FLOP.FFID + '航班值机柜台分配为:' + Array.from(set).join(','); - } else if (Object.prototype.toString.call(message.FLOP['CKDT']) === '[object Object]') { - return message.FLOP.FFID + '航班值机柜台分配为:' + message.FLOP['CKDT']['CHKC']; + return message.FLOP.FFID + "航班值机柜台分配为:" + Array.from(set).join(","); + } else if (Object.prototype.toString.call(message.FLOP["CKDT"]) === "[object Object]") { + return message.FLOP.FFID + "航班值机柜台分配为:" + message.FLOP["CKDT"]["CHKC"]; } else { - return message.FLOP.FFID + '航班值机柜台分配为:'; + return message.FLOP.FFID + "航班值机柜台分配为:"; } } public flopBotm(message, airports) { - return message.FLOP.FFID + '登机开始时间:' + dateFormatter(message.FLOP.BOTM); + return message.FLOP.FFID + "登机开始时间:" + dateFormatter(message.FLOP.BOTM); } public flopCldt(message, airports) { - if (Array.isArray(message.FLOP['CLDT']) && message.FLOP['CLDT'].length > 0) { + if (Array.isArray(message.FLOP["CLDT"]) && message.FLOP["CLDT"].length > 0) { let belt = []; - for (let i = 0; i < message.FLOP['CLDT'].length; i++) { - belt.push(message.FLOP['CLDT'][i]['BELT']); + for (let i = 0; i < message.FLOP["CLDT"].length; i++) { + belt.push(message.FLOP["CLDT"][i]["BELT"]); } let set = new Set(belt); - return message.FLOP.FFID + '行李转盘分配为:' + Array.from(set).join(','); - } else if (Object.prototype.toString.call(message.FLOP['CLDT']) === '[object Object]') { - return message.FLOP.FFID + '行李转盘分配为:' + message.FLOP['CLDT']['BELT']; + return message.FLOP.FFID + "行李转盘分配为:" + Array.from(set).join(","); + } else if (Object.prototype.toString.call(message.FLOP["CLDT"]) === "[object Object]") { + return message.FLOP.FFID + "行李转盘分配为:" + message.FLOP["CLDT"]["BELT"]; } else { - return message.FLOP.FFID + '行李转盘分配为:'; + return message.FLOP.FFID + "行李转盘分配为:"; } } public flopRout(message, airports, citys) { - let mvin = message.FLOP.FFID.split('-')[2]; + let mvin = message.FLOP.FFID.split("-")[2]; let rout = []; - if (Array.isArray(message.FLOP['ROUT']) && message.FLOP['ROUT'].length > 0) { - for (let i = 0; i < message.FLOP['ROUT'].length; i++) { - let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT'][i]['APCD']); + if (Array.isArray(message.FLOP["ROUT"]) && message.FLOP["ROUT"].length > 0) { + for (let i = 0; i < message.FLOP["ROUT"].length; i++) { + let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP["ROUT"][i]["APCD"]); if (airportIndex > -1) { if (airports[airportIndex].briefNameChn) { rout.push(airports[airportIndex].briefNameChn); @@ -120,8 +130,8 @@ export class AlertMessageHandle { } } } - } else if (Object.prototype.toString.call(message.FLOP['ROUT']) === '[object Object]') { - let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT']['APCD']); + } else if (Object.prototype.toString.call(message.FLOP["ROUT"]) === "[object Object]") { + let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP["ROUT"]["APCD"]); if (airportIndex > -1) { if (airports[airportIndex].briefNameChn) { rout.push(airports[airportIndex].briefNameChn); @@ -130,35 +140,35 @@ export class AlertMessageHandle { } } } - if (mvin === 'A') { - rout.push('蓉'); - } else if (mvin === 'D') { - rout.unshift('蓉'); + if (mvin === "A") { + rout.push("蓉"); + } else if (mvin === "D") { + rout.unshift("蓉"); } - return message.FLOP.FFID + '航线更改为:' + rout.join(' - '); + return message.FLOP.FFID + "航线更改为:" + rout.join(" - "); } public flopVipp(message, airports, citys) { - return message.FLOP.FFID + 'VIP旅客:' + (message.FLOP.VIPP || ''); + return message.FLOP.FFID + "VIP旅客:" + (message.FLOP.VIPP || ""); } public flopHnag() { - return '航班代理事件'; + return "航班代理事件"; } public flopFlbg(message, airports, citys) { - return message.FLOP.FFID + '首末件行李到达时间消息'; + return message.FLOP.FFID + "首末件行李到达时间消息"; } public flopReno(message, airports, citys) { - return message.FLOP.FFID + '更换飞机号:' + message.FLOP.RENO; + return message.FLOP.FFID + "更换飞机号:" + message.FLOP.RENO; } public flopAbtm(message, airports, citys) { - return message.FLOP.FFID + '靠桥撤桥消息'; + return message.FLOP.FFID + "靠桥撤桥消息"; } public flopChot(message, airports, citys) { - return message.FLOP.FFID + '上下轮档消息'; + return message.FLOP.FFID + "上下轮档消息"; } public flopTrml(message, airports, citys) { - return message.FLOP.FFID + '航站楼:' + message.FLOP.TRML; + return message.FLOP.FFID + "航站楼:" + message.FLOP.TRML; } public schdDnld(message, airports, citys) { - return '收到日航班计划'; + return "收到日航班计划"; } } \ No newline at end of file