新增航线三字码列和冻结航班号

This commit is contained in:
zhouyuejun
2019-05-07 18:04:14 +08:00
parent 00aa4a8239
commit cdeffa3ff5
10 changed files with 135 additions and 36 deletions
@@ -113,7 +113,7 @@
<thead>
<tr>
<th style="min-width:55px">序号</th>
<th style="min-width:165px">航班ID</th>
<th style="min-width:140px">航班</th>
<th *ngFor="let airline_col of render_col_lists" [ngStyle]="{'min-width':airline_col.COL_WIDTH}">{{airline_col.COL_CN}}</th>
</tr>
</thead>
@@ -121,12 +121,12 @@
</div>
<div class="table-body" #tableBody (scroll)="handleScroll($event)">
<div class="list-view-phantom" [ngStyle]="{ 'height': wait_render_data.length * 42 + 'px' }"></div>
<table #tableContent id="table" class="table table-striped">
<table #tableContent id="table" class="table">
<tbody>
<ng-container *ngFor="let airline_row of render_data;last as isLast;index as i">
<tr *ngIf="setWidth(isLast)" (click)="selectRow(airline_row)" [ngClass]="{'selected':getSelectedRow(airline_row)}">
<td style="min-width:55px">{{start+i+1}}</td>
<td style="min-width:165px">{{airline_row['renderFlight']['FLID']}}</td>
<td style="min-width:140px">{{airline_row['renderFlight']['FLNO']}}</td>
<td *ngFor="let airline_col of render_col_lists" [ngClass]="getPosition(airline_col.COL_CODE,airline_row)"
[ngStyle]="{'min-width':airline_col.COL_WIDTH}">{{airline_row['renderFlight'][airline_col.COL_CODE]}}</td>
</tr>
@@ -67,6 +67,15 @@
color: rgb(0, 0, 255);
text-align: center;
}
& th:nth-child(1){
position: sticky;
left: 0px;
}
& th:nth-child(2){
position: sticky;
left: 55px;
box-shadow: 6px 0 6px 0 rgba(0,0,0,.05)
}
}
&::-webkit-scrollbar {
width: 15px;
@@ -103,6 +112,17 @@
white-space: nowrap;
border: 1px solid #dee2e6;
text-align: center;
background: #fff
}
& td:nth-child(1){
position: sticky;
left: 0;
border-left: none;
}
& td:nth-child(2){
position: sticky;
left: 55px;
box-shadow: 6px 0 6px 0 rgba(0,0,0,.05)
}
}
&::-webkit-scrollbar {
+5 -4
View File
@@ -177,12 +177,12 @@
</div>
<div class="table-body" #tableBody (scroll)="handleScroll($event)">
<div class="list-view-phantom" [ngStyle]="{ 'height': wait_render_data.length * 42 + 'px' }"></div>
<table #tableContent id="table" class="table table-striped">
<table #tableContent id="table" class="table">
<tbody>
<ng-container *ngFor="let airline_row of render_data;last as isLast;index as i">
<tr *ngIf="setWidth(isLast)" (click)="selectRow(airline_row)" [ngClass]="{'selected':getSelectedRow(airline_row)}">
<td style="min-width:55px">{{start+i+1}}</td>
<td style="min-width:120px">
<td class="order-number" style="min-width:55px">{{start+i+1}}</td>
<td class="important-msg" style="min-width:120px">
<img class="mr-2" *ngIf="getVipNotes(airline_row)" src="/adminweb/assets/images/important-notes/vip.png"
alt="">
<img class="mr-2" *ngIf="getOutplanNotes(airline_row)" src="/adminweb/assets/images/important-notes/out_plan.png"
@@ -200,7 +200,8 @@
<img class="mr-2" *ngIf="getStopoverNotes(airline_row)" src="/adminweb/assets/images/important-notes/stopover.png"
alt="">
</td>
<!-- <td style="min-width:165px">{{airline_row['renderFlight']['FLID']}}</td> -->
<td class="flight-number" style="min-width:140px">{{airline_row['renderFlight']['FLNO']}}</td>
<!-- <td style="min-width:165px">{{airline_row['renderFlight']['ERUTCODE']}}</td> -->
<td *ngFor="let airline_col of render_col_lists" [ngClass]="getPosition(airline_col.COL_CODE,airline_row)"
[ngStyle]="getColor(airline_col.COL_CODE,airline_row,airline_col.COL_WIDTH)">{{airline_row['renderFlight'][airline_col.COL_CODE]}}</td>
</tr>
+29 -1
View File
@@ -79,6 +79,19 @@
color: rgb(0, 0, 255);
text-align: center;
}
& th:nth-child(1){
position: sticky;
left: 0px;
}
& th:nth-child(2){
position: sticky;
left: 55px;
}
& th:nth-child(3){
position: sticky;
left: 175px;
box-shadow: 6px 0 6px 0 rgba(0,0,0,.05)
}
}
&::-webkit-scrollbar {
width: 15px;
@@ -107,7 +120,7 @@
tr {
cursor: pointer;
height: 42px;
&.selected {
&.selected td{
background: rgb(181, 215, 255);
}
}
@@ -115,6 +128,21 @@
white-space: nowrap;
border: 1px solid #dee2e6;
text-align: center;
background: #fff;
&.order-number{
position: sticky;
left: 0;
border-left: none;
}
&.important-msg{
position: sticky;
left: 55px;
}
&.flight-number{
position: sticky;
left: 175px;
box-shadow: 6px 0 6px 0 rgba(0,0,0,.05)
}
}
}
&::-webkit-scrollbar {
+2 -1
View File
@@ -156,7 +156,8 @@ export class MainComponent implements OnInit {
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" }
{ "COL_CODE": "FLNO", "COL_CN": "航班号", "COL_WIDTH": "140px" },
// { "COL_CODE": "ERUTCODE", "COL_CN": "航线(三字码)", "COL_WIDTH": "165px" }
]
data.body.forEach(element => {
if (element.groupCode === 'userSettingCol') {
@@ -82,6 +82,8 @@
<thead>
<tr>
<th style="min-width:55px">序号</th>
<!-- <th style="min-width:85px">航班号</th>
<th style="min-width:85px">航班季度</th> -->
<th *ngFor="let airline_col of render_col_lists" [ngStyle]="{'min-width':airline_col.COL_WIDTH}">{{airline_col.COL_CN}}</th>
</tr>
</thead>
@@ -89,7 +91,7 @@
</div>
<div class="table-body" #tableBody (scroll)="handleScroll($event)">
<div class="list-view-phantom" [ngStyle]="{ 'height': wait_render_data.length * 42 + 'px' }"></div>
<table #tableContent id="table" class="table table-striped">
<table #tableContent id="table" class="table">
<tbody>
<ng-container *ngFor="let seasonal of render_data;last as isLast;index as i">
<tr *ngIf="setWidth(isLast)" (click)="selectRow(seasonal)" [ngClass]="{'selected':getSelectedRow(seasonal)}">
@@ -64,6 +64,19 @@
text-align: center;
color: rgb(0, 0, 255);
}
& th:nth-child(1){
position: sticky;
left: 0px;
}
& th:nth-child(2){
position: sticky;
left: 55px;
}
& th:nth-child(3){
position: sticky;
left: 140px;
box-shadow: 6px 0 6px 0 rgba(0,0,0,.05)
}
}
&::-webkit-scrollbar {
width: 15px;
@@ -92,13 +105,28 @@
tr {
cursor: pointer;
height: 42px;
&.selected {
&.selected td{
background: rgb(181, 215, 255);
}
}
td {
border: 1px solid #dee2e6;
text-align: center
text-align: center;
background: #fff;
}
& td:nth-child(1){
position: sticky;
left: 0;
border-left: none;
}
& td:nth-child(2){
position: sticky;
left: 55px;
}
& td:nth-child(3){
position: sticky;
left: 140px;
box-shadow: 6px 0 6px 0 rgba(0,0,0,.05)
}
}
&::-webkit-scrollbar {
@@ -68,19 +68,18 @@ export class PersonalSettingsComponent implements OnInit {
{ "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": "ERUTCODE", "COL_CN": "航线(三字码)", "COL_ORDER": "22", "COL_WIDTH": "165px" },
{ "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" },
{ "COL_CODE": "FLDT", "COL_CN": "航班日期", "COL_ORDER": "32", "COL_WIDTH": "85px" },
{ "COL_CODE": "ARSF", "COL_CN": "港共享航班", "COL_ORDER": "33", "COL_WIDTH": "120px" },
{ "COL_CODE": "DESF", "COL_CN": "离港共享航班", "COL_ORDER": "34", "COL_WIDTH": "120px" },
{ "COL_CODE": "PADT", "COL_CN": "前站起飞时间", "COL_ORDER": "29", "COL_WIDTH": "120px" },
{ "COL_CODE": "STND", "COL_CN": "当前机位", "COL_ORDER": "30", "COL_WIDTH": "85px" },
{ "COL_CODE": "FLDT", "COL_CN": "航班日期", "COL_ORDER": "31", "COL_WIDTH": "85px" },
{ "COL_CODE": "ARSF", "COL_CN": "到港共享航班", "COL_ORDER": "32", "COL_WIDTH": "120px" },
{ "COL_CODE": "DESF", "COL_CN": "港共享航班", "COL_ORDER": "33", "COL_WIDTH": "120px" },
]
/*
便
+14 -11
View File
@@ -26,6 +26,7 @@ export class FlightsDataHandle {
'ESTT': this.transferHandle.esttFormatter.bind(this.transferHandle),
'MVIN': this.transferHandle.mvinFormatter.bind(this.transferHandle),
'ERUT': this.transferHandle.erutFormatter.bind(this.transferHandle),
'ERUTCODE': this.transferHandle.erutFormatter.bind(this.transferHandle),
'FLIN': this.transferHandle.flinFormatter.bind(this.transferHandle),
'SODT': this.transferHandle.sodtFormatter.bind(this.transferHandle),
'GTDT': this.transferHandle.gateFormatter.bind(this.transferHandle),
@@ -144,23 +145,25 @@ export class FlightsDataHandle {
try {
if (flights_item['preFlight'] && !flights_item['reaFlight']) {
// render_flight['FLID'] = flights_item['preFlight']['FLID']
render_flight['FLNO'] = flights_item['preFlight']['FLNO']
for (let i = 0; i < col_lists.length; i++) {
let key = col_lists[i]['COL_CODE'];
render_flight[key] = this.formatter.hasOwnProperty(key) ? this.formatter[key](flights_item['preFlight']) : flights_item['preFlight'][key];
}
// render_flight['ERUTCODE'] = render_flight['ERUT'];
flights_item['renderFlight'] = render_flight;
} else if (!flights_item['preFlight'] && flights_item['reaFlight']) {
// render_flight['FLID'] = flights_item['reaFlight']['FLID']
render_flight['FLNO'] = flights_item['reaFlight']['FLNO']
for (let i = 0; i < col_lists.length; i++) {
let key = col_lists[i]['COL_CODE']
render_flight[key] = this.formatter.hasOwnProperty(key) ? this.formatter[key](flights_item['reaFlight']) : flights_item['reaFlight'][key];
}
// render_flight['ERUTCODE'] = render_flight['ERUT'];
flights_item['renderFlight'] = render_flight;
} else {
// render_flight['FLID'] = flights_item['preFlight']['FLID'] + ' / ' + flights_item['reaFlight']['FLID'];
// render_pre_flight['FLID'] = flights_item['preFlight']['FLID'];
// render_rea_flight['FLID'] = flights_item['reaFlight']['FLID'];
render_flight['FLNO'] = flights_item['preFlight']['FLNO'] + ' / ' + flights_item['reaFlight']['FLNO'];
render_pre_flight['FLNO'] = flights_item['preFlight']['FLNO'];
render_rea_flight['FLNO'] = flights_item['reaFlight']['FLNO'];
for (let i = 0; i < col_lists.length; i++) {
let preHasValue, reaHasValue;
let key = col_lists[i]['COL_CODE'];
@@ -186,13 +189,9 @@ export class FlightsDataHandle {
}
} else if (preHasValue && reaHasValue) {
if (preHasValue === reaHasValue) {
if (key === 'FLNO') {
render_flight[key] = preHasValue + ' / ' + reaHasValue;
} else {
render_flight[key] = preHasValue;
}
render_flight[key] = preHasValue;
} else {
if (key === 'ERUT') {
if (key === 'ERUT' || key === 'ERUTCODE') {
render_flight[key] = preHasValue.split(' - ').slice(0, -1).join(' - ') + ' - ' + reaHasValue;
} else {
render_flight[key] = preHasValue + ' / ' + reaHasValue;
@@ -204,6 +203,10 @@ export class FlightsDataHandle {
render_pre_flight[key] = preHasValue;
render_rea_flight[key] = reaHasValue;
}
// render_pre_flight['ERUTCODE'] = render_pre_flight['ERUT'];
// render_rea_flight['ERUTCODE'] = render_rea_flight['ERUT'];
// render_flight['ERUTCODE'] = render_flight['ERUT'];
flights_item['renderPreFlight'] = render_pre_flight;
flights_item['renderReaFlight'] = render_rea_flight;
flights_item['renderFlight'] = Object.assign({}, render_flight);
+23 -6
View File
@@ -655,6 +655,23 @@ onmessage = function (dynamicData) {
} else {
return '';
}
},
'ERUTCODE': function erutFormatter(flight) {
if (flight['ERUT']) {
if (Array.isArray(flight['ERUT']) && flight['ERUT'].length > 0) {
let erut = [];
for (let i = 0; i < flight['ERUT'].length; i++) {
erut.push(flight['ERUT'][i]['APCD']);
}
return erut.join(' - ');
} else if (Object.prototype.toString.call(flight['ERUT']) === '[object Object]') {
return flight['ERUT']['APCD'];
} else {
return '';
}
} else {
return '';
}
}
}
@@ -1018,23 +1035,23 @@ onmessage = function (dynamicData) {
try {
if (flights_item['preFlight'] && !flights_item['reaFlight']) {
// render_flight['FLID'] = flights_item['preFlight']['FLID']
render_flight['FLNO'] = flights_item['preFlight']['FLNO']
for (let i = 0; i < col_lists.length; i++) {
let key = col_lists[i]['COL_CODE'];
render_flight[key] = formatter.hasOwnProperty(key) ? formatter[key](flights_item['preFlight']) : flights_item['preFlight'][key];
}
flights_item['renderFlight'] = render_flight;
} else if (!flights_item['preFlight'] && flights_item['reaFlight']) {
// render_flight['FLID'] = flights_item['reaFlight']['FLID']
render_flight['FLNO'] = flights_item['reaFlight']['FLNO']
for (let i = 0; i < col_lists.length; i++) {
let key = col_lists[i]['COL_CODE']
render_flight[key] = formatter.hasOwnProperty(key) ? formatter[key](flights_item['reaFlight']) : flights_item['reaFlight'][key];
}
flights_item['renderFlight'] = render_flight;
} else {
// render_flight['FLID'] = flights_item['preFlight']['FLID'] + ' / ' + flights_item['reaFlight']['FLID'];
// render_pre_flight['FLID'] = flights_item['preFlight']['FLID'];
// render_rea_flight['FLID'] = flights_item['reaFlight']['FLID'];
render_flight['FLNO'] = flights_item['preFlight']['FLNO'] + ' / ' + flights_item['reaFlight']['FLNO'];
render_pre_flight['FLNO'] = flights_item['preFlight']['FLNO'];
render_rea_flight['FLNO'] = flights_item['reaFlight']['FLNO'];
for (let i = 0; i < col_lists.length; i++) {
let preHasValue, reaHasValue;
let key = col_lists[i]['COL_CODE'];
@@ -1066,7 +1083,7 @@ onmessage = function (dynamicData) {
render_flight[key] = preHasValue;
}
} else {
if (key === 'ERUT') {
if (key === 'ERUT' || key === 'ERUTCODE') {
render_flight[key] = preHasValue.split(' - ').slice(0, -1).join(' - ') + ' - ' + reaHasValue;
} else {
render_flight[key] = preHasValue + ' / ' + reaHasValue;