|
@@ -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;
|
|
|
}
|
|
|
}
|