Browse Source

国内运单-没有另一机场节点信息时隐藏对应列

zhongxiaoyu 2 years ago
parent
commit
cc2689ddae

+ 50 - 1
src/views/realTime/components/WaybillView/index.vue

@@ -63,7 +63,9 @@
                 <span v-if="index === 0" class="title-span"
                   >航班号:{{ trackAirline.flightNO }}</span
                 >
-                <span v-if="!name.includes('InterNationalDeparture')" class="title-span"
+                <span
+                  v-if="!name.includes('InterNationalDeparture')"
+                  class="title-span"
                   >{{ trackAirport.isDeparture ? '出港' : '进港' }}:{{
                     trackAirport.airport
                   }}</span
@@ -132,6 +134,53 @@ const { tableColumns, tableData: trackData, getTableData } = useTable(
   dataContent
 )
 
+// 判断是否有另外一个机场的节点信息,没有则隐藏那些列
+watch(trackData, data => {
+  let anotherAirportNodes: string[] = []
+  let currentAirportNodeFlag = ''
+  if (props.name === 'DepartureWaybill') {
+    anotherAirportNodes = [
+      'CARGOS_ARR_HANDOVER',
+      'CARGOS_HANDOVER_STATUS_01',
+      '货站交接',
+      'IMP_TALLY',
+      'FSUDLV',
+    ]
+    currentAirportNodeFlag = 'node-departure'
+  }
+  if (props.name === 'ArrivalWaybill') {
+    anotherAirportNodes = [
+      'DEH',
+      'ACC_CHECK',
+      '安检',
+      'ACC_BUP',
+      'LS_CARGO',
+      'CARGOS_HANDOVER_STATUS_02',
+      'CARGOS_HANDOVER_STATUS_03',
+      '出港货邮',
+      '装载完成',
+      '关闭舱门',
+      'CARGOS_OFFLOAD',
+      'OFFLOAD_CONFIRM',
+      'BILL_RETURN',
+    ]
+    currentAirportNodeFlag = 'node-arrival'
+  }
+  const hasAnotherAirportData = data.some(
+    ({ nodeCode }) =>
+      typeof nodeCode === 'string' && anotherAirportNodes.includes(nodeCode)
+  )
+  if (!hasAnotherAirportData) {
+    console.log(1)
+    tableColumns.value = tableColumns.value.filter(
+      ({ className }) =>
+        typeof className !== 'string' ||
+        !className.includes('node-') ||
+        className.includes(currentAirportNodeFlag)
+    )
+  }
+})
+
 useLoop([getWaybillInfo, getTableData], 'waybill')
 
 const { trackAirlines, trackBoxStyle } = useTrackData(props.name, trackData)

+ 61 - 61
src/views/realTime/hooks/useTable.ts

@@ -117,107 +117,107 @@ const tableColumnsMap: {
     {
       columnLabel: '收货核单',
       columnName: 'DEH',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '查验',
       columnName: 'ACC_CHECK',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '拒运',
     //   columnName: 'ACC_CHECK_2',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
     {
       columnLabel: '安检',
       columnName: '安检',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '加货',
       columnName: 'ACC_BUP',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '预配载',
       columnName: 'LS_CARGO',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '待运区',
     //   columnName: 'WAT_LOC',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
     {
       columnLabel: '货站交接',
       columnName: 'CARGOS_HANDOVER_STATUS_02',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '运输前复核',
       columnName: 'CARGOS_HANDOVER_STATUS_03',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '机下交接',
       columnName: '出港货邮',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '装机',
       columnName: '装载完成',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '关闭舱门',
       columnName: '关闭舱门',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '拉下登记',
       columnName: 'CARGOS_OFFLOAD',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '拉回确认',
       columnName: 'OFFLOAD_CONFIRM',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '起飞',
     //   columnName: 'C15',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
     {
       columnLabel: '退运',
       columnName: 'BILL_RETURN',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '卸机',
       columnName: 'CARGOS_ARR_HANDOVER',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '库区到达',
       columnName: 'CARGOS_HANDOVER_STATUS_01',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '货站交接',
       columnName: '货站交接',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '理货',
       columnName: 'IMP_TALLY',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '出库',
       columnName: 'FSUDLV',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
   ],
   DepartureGoodsFlight: [
@@ -297,107 +297,107 @@ const tableColumnsMap: {
     {
       columnLabel: '卸机',
       columnName: 'CARGOS_ARR_HANDOVER',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '库区到达',
       columnName: 'CARGOS_HANDOVER_STATUS_01',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '货站交接',
       columnName: 'CARGOS_HANDOVER_STATUS_99',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '理货',
       columnName: 'IMP_TALLY',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '出库',
       columnName: 'FSUDLV',
-      className: 'cell-filter cell-filter-cyan',
+      className: 'cell-filter cell-filter-cyan node-arrival',
     },
     {
       columnLabel: '收货核单',
       columnName: 'DEH',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '查验',
       columnName: 'ACC_CHECK',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '拒运',
     //   columnName: 'ACC_CHECK_2',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
     {
       columnLabel: '安检',
       columnName: '安检',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '加货',
       columnName: 'ACC_BUP',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '预配载',
       columnName: 'LS_CARGO',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '待运区',
     //   columnName: 'WAT_LOC',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
     {
       columnLabel: '货站交接',
       columnName: 'CARGOS_HANDOVER_STATUS_02',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '运输前复核',
       columnName: 'CARGOS_HANDOVER_STATUS_03',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '机下交接',
       columnName: '出港货邮',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '装机',
       columnName: '装载完成',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '关闭舱门',
       columnName: '关闭舱门',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '拉下登记',
       columnName: 'CARGOS_OFFLOAD',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '拉回确认',
       columnName: 'OFFLOAD_CONFIRM',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '起飞',
     //   columnName: 'C15',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
     {
       columnLabel: '退运',
       columnName: 'BILL_RETURN',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
   ],
   ArrivalGoodsFlight: [
@@ -517,62 +517,62 @@ const tableColumnsMap: {
     {
       columnLabel: '入园',
       columnName: 'EPORTREL',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '海关',
       columnName: 'MTREL_out',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '运抵',
       columnName: 'FOH',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '安检',
       columnName: 'REH',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '收运核单',
       columnName: 'RCS',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '理货',
       columnName: 'ACC_BUP',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '待运区',
       columnName: 'WAT_LOC',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '预配载',
       columnName: 'LS_CARGO',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '货站交接',
       columnName: 'CARGOS_HANDOVER_STATUS_02',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '机下交接',
       columnName: '出港货邮',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '装机',
       columnName: '装载完成',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '拉下',
       columnName: 'CARGOS_OFFLOAD',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
   ],
   InternationalDepartureGoodsFlight: [
@@ -657,37 +657,37 @@ const tableColumnsMap: {
     {
       columnLabel: '卸机',
       columnName: 'FFM',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '机下交接',
       columnName: 'CARGOS_HANDOVER_STATUS_01',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '货站交接',
       columnName: 'CARGOS_HANDOVER_STATUS_99',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '理货',
       columnName: 'RCF报',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '海关放行',
       columnName: 'MTREL_in',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     {
       columnLabel: '出库',
       columnName: 'DLV报',
-      className: 'cell-filter cell-filter-green',
+      className: 'cell-filter cell-filter-green node-departure',
     },
     // {
     //   columnLabel: '海关罚没',
     //   columnName: 'C11',
-    //   className: 'cell-filter cell-filter-green',
+    //   className: 'cell-filter cell-filter-green node-departure',
     // },
   ],
   InternationalArrivalGoodsFlight: [