Эх сурвалжийг харах

航班视图中转进、中转出筛选修改

zhongxiaoyu 2 жил өмнө
parent
commit
31684c7f53

+ 56 - 19
src/views/baggageManagement/components/flight/index.vue

@@ -398,7 +398,7 @@
           <span class="manageTitle">航班行李列表</span>
           <div class="filter-select">
             <span class="label">快捷筛选</span>
-            <el-select
+            <!-- <el-select
               v-model="selectedFilter"
               size="mini"
               placeholder="无"
@@ -410,7 +410,15 @@
                 :value="option.value"
                 :label="option.label"
               />
-            </el-select>
+            </el-select> -->
+            <el-cascader
+              v-model="selectedFilter"
+              :options="filterSelectOptions"
+              :props="{ expandTrigger:'hover', checkStrictly: true }"
+              size="mini"
+              placeholder="无"
+              clearable
+            />
           </div>
           <TimeZoneSelector />
           <img
@@ -688,10 +696,6 @@ export default {
           label: '终点到达',
           value: 'destination' // 'arrivedID'为1,transferFlightNO为null
         },
-        {
-          label: '中转进',
-          value: 'inFlightNO'
-        },
         {
           label: '容器',
           value: 'inContainer' // 有容器ID
@@ -715,15 +719,25 @@ export default {
         {
           label: '无BSM',
           value: 'NOBSM' // 1/0
+        },
+        {
+          label: '中转进航班',
+          value: 'inFlightNO',
+          children: []
+        },
+        {
+          label: '中转出航班',
+          value: 'transferFlightNO',
+          children: []
         }
       ],
-      selectedFilter: ''
+      selectedFilter: []
     }
   },
   computed: {
     ...mapGetters(['clickedCells']),
     fasterFilteredTableData() {
-      const key = this.selectedFilter
+      const [key, value] = this.selectedFilter
       if (!key) {
         return this.flightBaggageTableData
       }
@@ -751,6 +765,9 @@ export default {
             return (item['loadTime'] || item['inflTime']) && item['isDEL'] === 'DEL' && item['waitOFF'] !== 1
           case 'canceled':
             return item['isDEL'] === 'DEL'
+          case 'inFlightNO':
+          case 'transferFlightNO':
+            return value ? item[key] === value : (item[key] ?? '') !== ''
           default:
             return (item[key] ?? '') !== ''
         }
@@ -801,7 +818,7 @@ export default {
               this.queryData = { flightNO, flightDate }
               this.queryAirline([flightNO, flightDate])
             }
-            this.selectedFilter = fastFilter ?? ''
+            this.selectedFilter = fastFilter ? fastFilter.split(',') : []
           } else {
             this.$router.push('/')
           }
@@ -867,14 +884,34 @@ export default {
     this.loading?.close()
   },
   methods: {
-    // setTableFilterValues() {
-    //   Object.keys(this.filterValues).forEach(key => {
-    //     this.filterValues[key] = []
-    //     if (this.queryData[key]) {
-    //       this.filterValues[key] = [this.queryData[key]]
-    //     }
-    //   })
-    // },
+    setfastFilterValues() {
+      const inFlightNOList = new Set()
+      const transferFlightNOList = new Set()
+      this.flightBaggageTableData.forEach(item => {
+        item['inFlightNO'] && inFlightNOList.add(item['inFlightNO'])
+        item['transferFlightNO'] && transferFlightNOList.add(item['transferFlightNO'])
+      })
+      this.filterSelectOptions.splice(
+        this.filterSelectOptions.length - 2,
+        2,
+        {
+          label: '中转进航班',
+          value: 'inFlightNO',
+          children: [...inFlightNOList].map(value => ({
+            label: value,
+            value
+          }))
+        },
+        {
+          label: '中转出航班',
+          value: 'transferFlightNO',
+          children: [...transferFlightNOList].map(value => ({
+            label: value,
+            value
+          }))
+        }
+      )
+    },
     rowClass({ row, rowIndex }) {
       const classes = []
       if (
@@ -1163,7 +1200,7 @@ export default {
           return item
         })
         setTableFilters(this.flightBaggageTableData, this.flightBaggageTableFilters)
-        // this.setTableFilterValues()
+        this.setfastFilterValues()
       } catch (error) {
         this.$message.error('失败')
       }
@@ -1357,7 +1394,7 @@ export default {
           .label {
             padding-right: 14px;
           }
-          .el-select {
+          .el-cascader {
             z-index: 102;
           }
         }

+ 10 - 10
src/views/baggageManagement/mixins/terminal.js

@@ -202,10 +202,10 @@ export default {
         [
           'flightNO',
           'preFlightNO',
-          // 'inTransferBaggageCount',
-          // 'inTransferredBaggageCount',
-          // 'outTransferBaggageCount',
-          // 'outTransferredBaggageCount',
+          'inTransferBaggageCount',
+          'inTransferredBaggageCount',
+          'outTransferBaggageCount',
+          'outTransferredBaggageCount',
           'toUnload',
           'OFFCount',
           'checkInNumber',
@@ -275,10 +275,10 @@ export default {
         [
           'flightNO',
           'preFlightNO',
-          // 'inTransferBaggageCount',
-          // 'inTransferredBaggageCount',
-          // 'outTransferBaggageCount',
-          // 'outTransferredBaggageCount',
+          'inTransferBaggageCount',
+          'inTransferredBaggageCount',
+          'outTransferBaggageCount',
+          'outTransferredBaggageCount',
           'toUnload',
           'OFFCount',
           'checkInNumber',
@@ -333,7 +333,7 @@ export default {
               query: {
                 flightNO: row.preFlightNO,
                 flightDate: row.preFlightDate,
-                transferFlightNO: row.flightNO
+                fastFilter: `transferFlightNO,${row.flightNO}`
               }
             })
             break
@@ -344,7 +344,7 @@ export default {
               query: {
                 flightNO: row.flightNO,
                 flightDate: row.flightDate,
-                inFlightNO: row.preFlightNO
+                fastFilter: `inFlightNO,${row.preFlightNO}`
               }
             })
             break