|
@@ -14,53 +14,102 @@
|
|
|
</div>
|
|
|
<div class="part1-wrapper">
|
|
|
<div class="airline">{{ queryData.flightNO }}
|
|
|
- <el-select v-model="selectedAirline" size="mini" class="airline-select">
|
|
|
- <el-option v-for="airline in airlineList" :key="airline.value" :value="airline.value" :label="airline.label" />
|
|
|
+ <el-select
|
|
|
+ v-model="selectedAirline"
|
|
|
+ size="mini"
|
|
|
+ class="airline-select"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(airline, index) in airlineList"
|
|
|
+ :key="index"
|
|
|
+ :value="airline.value"
|
|
|
+ :label="airline.label"
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="part1_info">
|
|
|
<div class="part1_info_box">
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>起飞机场简称:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.departureName }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>起飞机场三字码:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.planDepartureApt }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>航站楼:{{ flightInfo.departureBuild }}</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>分拣转盘:{{ flightInfo.sortCarousel }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>
|
|
|
日期:{{ flightInfo.planDepartureTime && flightInfo.planDepartureTime.split("T")[0] }}
|
|
|
</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>
|
|
|
时间:{{ flightInfo.planDepartureTime && flightInfo.planDepartureTime.split("T")[1] }}
|
|
|
</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>登机口:{{ flightInfo.bordingGate }}</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>停机位:{{ flightInfo.standForDepartrue }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -76,36 +125,68 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="16" :sm="16" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="16"
|
|
|
+ :sm="16"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>航班状态:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="8" :sm="8" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="8"
|
|
|
+ :sm="8"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.flightStatus === null ? "正常" : flightInfo.flightStatus }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>托运旅客数:</span>
|
|
|
<span>{{ flightInfo.count1 }}</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>终点行李数:</span>
|
|
|
<span>{{ flightInfo.count2 }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="18" :sm="18" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="18"
|
|
|
+ :sm="18"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>中转进行李数:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="6" :sm="6" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="6"
|
|
|
+ :sm="6"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.count4 }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="18" :sm="18" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="18"
|
|
|
+ :sm="18"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>中转出行李数:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="6" :sm="6" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="6"
|
|
|
+ :sm="6"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.count3 }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -113,18 +194,34 @@
|
|
|
<i class="part1_info_arrow_right el-icon-caret-right" />
|
|
|
<div class="part1_info_box">
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>降落机场简称:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.landingName }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>降落机场三字码:</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>{{ flightInfo.planLandingApt }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -137,22 +234,38 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>
|
|
|
日期:{{ flightInfo.expectLandingTime && flightInfo.expectLandingTime.split("T")[0] }}
|
|
|
</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>
|
|
|
时间:{{ flightInfo.expectLandingTime && flightInfo.expectLandingTime.split("T")[1] }}
|
|
|
</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>提取转盘:{{ flightInfo.carousel }}</span>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
+ <el-col
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :xl="12"
|
|
|
+ >
|
|
|
<span>停机位:{{ flightInfo.standForLanding }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -163,10 +276,36 @@
|
|
|
<div class="part2">
|
|
|
<div class="title">
|
|
|
<span class="manageTitle">航班容器列表</span>
|
|
|
- <img class="btn-square btn-shadow" src="@/assets/baggage/ic_export.png" title="导出" @click="exportHandler('containerTable', '航班容器列表')">
|
|
|
+ <img
|
|
|
+ class="btn-square btn-shadow"
|
|
|
+ src="@/assets/baggage/ic_export.png"
|
|
|
+ title="导出"
|
|
|
+ @click="exportHandler('containerTable', '航班容器列表')"
|
|
|
+ >
|
|
|
</div>
|
|
|
- <el-table ref="containerTable" :data="containerTableData" border style="width: 100%" height="344px" stripe size="mini" show-summary :summary-method="summaryMethod" :header-cell-style="{ color: '#101116' }" :row-class-name="rowClass" @row-click="containerClick">
|
|
|
- <el-table-column v-for="col in containerTableColumn" :key="col.id" :prop="col.prop" :label="col.label" :width="col.width" :align="col.align || 'center'" :show-overflow-tooltip="true" />
|
|
|
+ <el-table
|
|
|
+ ref="containerTable"
|
|
|
+ :data="containerTableData"
|
|
|
+ border
|
|
|
+ style="width: 100%"
|
|
|
+ height="344px"
|
|
|
+ stripe
|
|
|
+ size="mini"
|
|
|
+ show-summary
|
|
|
+ :summary-method="summaryMethod"
|
|
|
+ :header-cell-style="{ color: '#101116' }"
|
|
|
+ :row-class-name="rowClass"
|
|
|
+ @row-click="containerClick"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ v-for="col in containerTableColumn"
|
|
|
+ :key="col.id"
|
|
|
+ :prop="col.prop"
|
|
|
+ :label="col.label"
|
|
|
+ :width="col.width"
|
|
|
+ :align="col.align || 'center'"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ />
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<!-- <div
|
|
@@ -227,40 +366,113 @@
|
|
|
/>
|
|
|
</el-table>
|
|
|
</div> -->
|
|
|
- <div class="drag-mask" :class="{ active: dragActive }" />
|
|
|
- <div class="part4" :style="draggableStyle">
|
|
|
- <div v-drag-height class="drag-box" :class="{ active: dragActive }">
|
|
|
+ <div
|
|
|
+ class="drag-mask"
|
|
|
+ :class="{ active: dragActive }"
|
|
|
+ />
|
|
|
+ <div
|
|
|
+ class="part4"
|
|
|
+ :style="draggableStyle"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ v-drag-height
|
|
|
+ class="drag-box"
|
|
|
+ :class="{ active: dragActive }"
|
|
|
+ >
|
|
|
<i class="drag-icon el-icon-d-caret" />
|
|
|
- <div class="drag-line" :style="dragLineStyle" />
|
|
|
+ <div
|
|
|
+ class="drag-line"
|
|
|
+ :style="dragLineStyle"
|
|
|
+ />
|
|
|
</div>
|
|
|
<div class="title">
|
|
|
<span class="manageTitle">航班行李列表</span>
|
|
|
<TimeZoneSelector />
|
|
|
- <img class="btn-square btn-shadow" src="@/assets/baggage/ic_export.png" title="导出" @click="exportHandler('flightBaggageTable', '航班行李列表')">
|
|
|
- <img class="btn-square btn-shadow" src="@/assets/baggage/ic_setting.png" title="列设置" @click="show">
|
|
|
+ <img
|
|
|
+ class="btn-square btn-shadow"
|
|
|
+ src="@/assets/baggage/ic_export.png"
|
|
|
+ title="导出"
|
|
|
+ @click="exportHandler('flightBaggageTable', '航班行李列表')"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ class="btn-square btn-shadow"
|
|
|
+ src="@/assets/baggage/ic_setting.png"
|
|
|
+ title="列设置"
|
|
|
+ @click="show"
|
|
|
+ >
|
|
|
</div>
|
|
|
- <el-table ref="flightBaggageTable" :data="dealedTableData" border style="width: 100%" height="calc(100% - 64px)" stripe size="mini" show-summary :summary-method="summaryRow(dealedTableData.length)" :header-cell-class-name="headerCellClass" :header-cell-style="{ color: '#101116' }" :row-class-name="rowClass" :cell-class-name="cellClass" @cell-click="cellClickHandler">
|
|
|
- <el-table-column v-for="col in tableColsCopy" :key="col.index" :prop="col.prop" :label="col.label" :align="col.align || 'center'" :width="col.width" :fixed="col.fixed" :formatter="tableFormat">
|
|
|
+ <el-table
|
|
|
+ ref="flightBaggageTable"
|
|
|
+ :data="dealedTableData"
|
|
|
+ border
|
|
|
+ style="width: 100%"
|
|
|
+ height="calc(100% - 64px)"
|
|
|
+ stripe
|
|
|
+ size="mini"
|
|
|
+ show-summary
|
|
|
+ :summary-method="summaryRow(dealedTableData.length)"
|
|
|
+ :header-cell-class-name="headerCellClass"
|
|
|
+ :header-cell-style="{ color: '#101116' }"
|
|
|
+ :row-class-name="rowClass"
|
|
|
+ :cell-class-name="cellClass"
|
|
|
+ @cell-click="cellClickHandler"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ v-for="col in tableColsCopy"
|
|
|
+ :key="col.index"
|
|
|
+ :prop="col.prop"
|
|
|
+ :label="col.label"
|
|
|
+ :align="col.align || 'center'"
|
|
|
+ :width="col.width"
|
|
|
+ :fixed="col.fixed"
|
|
|
+ :formatter="tableFormat"
|
|
|
+ >
|
|
|
<template #header>
|
|
|
- <TableHeaderCell :label="col.label" :filter-options="flightBaggageTableFilters[col.prop]" :filter-values.sync="filterValues[col.prop]" :sortable="col.sortable" :sort-rule.sync="tableDataSortRules[col.prop]" />
|
|
|
+ <TableHeaderCell
|
|
|
+ :label="col.label"
|
|
|
+ :filter-options="flightBaggageTableFilters[col.prop]"
|
|
|
+ :filter-values.sync="filterValues[col.prop]"
|
|
|
+ :sortable="col.sortable"
|
|
|
+ :sort-rule.sync="tableDataSortRules[col.prop]"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!--列设置-->
|
|
|
- <Dialog :flag="dialogFlag" class="dialog-check-group">
|
|
|
+ <Dialog
|
|
|
+ :flag="dialogFlag"
|
|
|
+ class="dialog-check-group"
|
|
|
+ >
|
|
|
<div class="dialog-wrapper">
|
|
|
<div class="title">列设置</div>
|
|
|
<div class="content">
|
|
|
- <el-tree :data="tableCols" :class="colsCheckClass" show-checkbox node-key="index" :default-expand-all="true" :props="{
|
|
|
+ <el-tree
|
|
|
+ :data="tableCols"
|
|
|
+ :class="colsCheckClass"
|
|
|
+ show-checkbox
|
|
|
+ node-key="index"
|
|
|
+ :default-expand-all="true"
|
|
|
+ :props="{
|
|
|
label: 'label',
|
|
|
children: 'children',
|
|
|
- }" :default-checked-keys="checkedKeysTemp" @check="handleCheck" />
|
|
|
+ }"
|
|
|
+ :default-checked-keys="checkedKeysTemp"
|
|
|
+ @check="handleCheck"
|
|
|
+ />
|
|
|
</div>
|
|
|
<div class="foot right t30">
|
|
|
- <el-button size="medium" class="r24" type="primary" @click="onCheck('flightBaggageTableData')">确定</el-button>
|
|
|
- <el-button size="medium" @click="hide">取消</el-button>
|
|
|
+ <el-button
|
|
|
+ size="medium"
|
|
|
+ class="r24"
|
|
|
+ type="primary"
|
|
|
+ @click="onCheck('flightBaggageTableData')"
|
|
|
+ >确定</el-button>
|
|
|
+ <el-button
|
|
|
+ size="medium"
|
|
|
+ @click="hide"
|
|
|
+ >取消</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</Dialog>
|
|
@@ -281,20 +493,20 @@ export default {
|
|
|
name: 'FlightView',
|
|
|
directives: {
|
|
|
dragHeight: {
|
|
|
- inserted (el, binding, vnode) {
|
|
|
+ inserted(el, binding, vnode) {
|
|
|
const that = vnode.context
|
|
|
let mousedownY
|
|
|
let dragY
|
|
|
let dragHeight
|
|
|
const offsetTop = el.offsetParent.offsetTop
|
|
|
- function mousemoveHandler (e) {
|
|
|
+ function mousemoveHandler(e) {
|
|
|
e.stopPropagation()
|
|
|
e.preventDefault()
|
|
|
dragY = dragHeight + mousedownY - e.screenY
|
|
|
dragY = dragY < 0 ? 0 : dragY > offsetTop ? offsetTop : dragY
|
|
|
that.dragY = dragY
|
|
|
}
|
|
|
- function mouseupHandler (e) {
|
|
|
+ function mouseupHandler(e) {
|
|
|
e.stopPropagation()
|
|
|
e.preventDefault()
|
|
|
that.dragHeight = that.dragY
|
|
@@ -320,7 +532,7 @@ export default {
|
|
|
TableHeaderCell
|
|
|
},
|
|
|
mixins: [tableColsMixin, timeZoneMixin],
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
fullscreenLoading: false,
|
|
|
airlineList: [],
|
|
@@ -408,7 +620,7 @@ export default {
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters(['clickedCells']),
|
|
|
- dealedTableData () {
|
|
|
+ dealedTableData() {
|
|
|
const filtered = this.flightBaggageTableData.filter(item => {
|
|
|
let flag = true
|
|
|
Object.entries(this.filterValues).forEach(([key, arr]) => {
|
|
@@ -431,12 +643,12 @@ export default {
|
|
|
)
|
|
|
return this._.orderBy(filtered, sortRules[0], sortRules[1])
|
|
|
},
|
|
|
- draggableStyle () {
|
|
|
+ draggableStyle() {
|
|
|
return {
|
|
|
height: `calc(100vh - 80px - 64px - 16px - 344px + ${this.dragHeight}px)`
|
|
|
}
|
|
|
},
|
|
|
- dragLineStyle () {
|
|
|
+ dragLineStyle() {
|
|
|
return {
|
|
|
transform: `translateY(${this.dragHeight - this.dragY}px)`
|
|
|
}
|
|
@@ -444,7 +656,7 @@ export default {
|
|
|
},
|
|
|
watch: {
|
|
|
$route: {
|
|
|
- handler ({ path, query }) {
|
|
|
+ handler({ path, query }) {
|
|
|
if (path.includes('flightView')) {
|
|
|
const { flightNO, flightDate } = query
|
|
|
if (flightNO && flightDate) {
|
|
@@ -461,7 +673,7 @@ export default {
|
|
|
deep: true,
|
|
|
immediate: true
|
|
|
},
|
|
|
- fullscreenLoading (val) {
|
|
|
+ fullscreenLoading(val) {
|
|
|
if (val) {
|
|
|
this.loading = this.$loading({
|
|
|
lock: true,
|
|
@@ -473,13 +685,13 @@ export default {
|
|
|
this.loading?.close()
|
|
|
}
|
|
|
},
|
|
|
- selectedAirline (val) {
|
|
|
+ selectedAirline(val) {
|
|
|
const { flightNO, flightDate } = this.queryData
|
|
|
const [departureAirport, landingAirport] = val.split('-')
|
|
|
this.queryAll([flightNO, flightDate, departureAirport, landingAirport])
|
|
|
}
|
|
|
},
|
|
|
- created () {
|
|
|
+ created() {
|
|
|
Object.values(this.tableCols).forEach(({ prop, filterable, sortable }) => {
|
|
|
if (filterable) {
|
|
|
this.$set(this.flightBaggageTableFilters, prop, [])
|
|
@@ -490,7 +702,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- activated () {
|
|
|
+ activated() {
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs['containerTable']?.doLayout()
|
|
|
// this.$refs['transferInBaggageTable']?.doLayout()
|
|
@@ -498,7 +710,7 @@ export default {
|
|
|
this.$refs['flightBaggageTable']?.doLayout()
|
|
|
})
|
|
|
},
|
|
|
- updated () {
|
|
|
+ updated() {
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs['containerTable']?.doLayout()
|
|
|
// this.$refs['transferInBaggageTable']?.doLayout()
|
|
@@ -506,14 +718,14 @@ export default {
|
|
|
this.$refs['flightBaggageTable']?.doLayout()
|
|
|
})
|
|
|
},
|
|
|
- deactivated () {
|
|
|
+ deactivated() {
|
|
|
this.loading?.close()
|
|
|
},
|
|
|
- beforeDestroy () {
|
|
|
+ beforeDestroy() {
|
|
|
this.loading?.close()
|
|
|
},
|
|
|
methods: {
|
|
|
- rowClass ({ row, rowIndex }) {
|
|
|
+ rowClass({ row, rowIndex }) {
|
|
|
const classes = []
|
|
|
if (this.warningContainers.includes(row['containerNumber']) || row['latestStatus'] === '待翻减') {
|
|
|
classes.push('row-warning')
|
|
@@ -524,7 +736,7 @@ export default {
|
|
|
return classes.join(' ')
|
|
|
},
|
|
|
// 给表头单元格加上 ascending 或 descending 使用 element 自带的排序箭头变色
|
|
|
- headerCellClass ({ row, column, rowIndex, columnIndex }) {
|
|
|
+ headerCellClass({ row, column, rowIndex, columnIndex }) {
|
|
|
const classes = []
|
|
|
const rule = this.tableDataSortRules[column.property]
|
|
|
if (rule) {
|
|
@@ -532,7 +744,7 @@ export default {
|
|
|
}
|
|
|
return classes.join(' ')
|
|
|
},
|
|
|
- cellClass ({ row, column, rowIndex, columnIndex }) {
|
|
|
+ cellClass({ row, column, rowIndex, columnIndex }) {
|
|
|
const classes = []
|
|
|
if (
|
|
|
['checkInTime', 'DealInfo', 'sortLocationMark', 'loadLocationMark', 'inflLocationMark'].includes(
|
|
@@ -569,7 +781,7 @@ export default {
|
|
|
}
|
|
|
return classes.join(' ')
|
|
|
},
|
|
|
- cellClickHandler (row, column, cell, event) {
|
|
|
+ cellClickHandler(row, column, cell, event) {
|
|
|
if (
|
|
|
[
|
|
|
'preFlightNO',
|
|
@@ -665,7 +877,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
// 合计行
|
|
|
- summaryMethod ({ columns, data }) {
|
|
|
+ summaryMethod({ columns, data }) {
|
|
|
const sums = []
|
|
|
if (columns.length > 0) {
|
|
|
columns.forEach((column, index) => {
|
|
@@ -697,12 +909,12 @@ export default {
|
|
|
return sums
|
|
|
},
|
|
|
// 统计行数
|
|
|
- summaryRow (num) {
|
|
|
+ summaryRow(num) {
|
|
|
return function () {
|
|
|
return ['合计', `共${num}件`]
|
|
|
}
|
|
|
},
|
|
|
- containerClick (row) {
|
|
|
+ containerClick(row) {
|
|
|
if (row.containerNumber === 'FBULK') {
|
|
|
this.$router.push({
|
|
|
path: '/advance',
|
|
@@ -725,35 +937,35 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- exportHandler (refName, tableName) {
|
|
|
+ exportHandler(refName, tableName) {
|
|
|
const table = this.$refs[refName].$el.cloneNode(true)
|
|
|
const fileName = `${tableName}-${this.queryData.flightNO}-${this.queryData.flightDate}.xlsx`
|
|
|
throttledExportToExcel(table, tableName, fileName)
|
|
|
},
|
|
|
- queryflightInfo (dataContent) {
|
|
|
+ queryflightInfo(dataContent) {
|
|
|
return myQuery(DATACONTENT_ID.flightInfo, ...dataContent)
|
|
|
},
|
|
|
- queryContainer (dataContent) {
|
|
|
+ queryContainer(dataContent) {
|
|
|
return myQuery(DATACONTENT_ID.flightContainer, ...dataContent)
|
|
|
},
|
|
|
- queryBaggageByFlightNO (dataContent) {
|
|
|
+ queryBaggageByFlightNO(dataContent) {
|
|
|
return myQuery(DATACONTENT_ID.flightBaggage, ...dataContent)
|
|
|
},
|
|
|
- async queryAirline (dataContent) {
|
|
|
+ async queryAirline(dataContent) {
|
|
|
try {
|
|
|
const listValues = await myQuery(DATACONTENT_ID.flightAirline, ...dataContent)
|
|
|
- this.airlineList = listValues.map(airline => ({
|
|
|
- label: `${airline.departureAirport}-${airline.landingAirport}`,
|
|
|
- value: `${airline.departureAirport}-${airline.landingAirport}`
|
|
|
+ this.airlineList = listValues.map(({ departureAirport, landingAirport, departureBuild, landingBuild }) => ({
|
|
|
+ label: `${departureAirport}${departureBuild ? `(${departureBuild})` : ''}-${landingAirport}${landingBuild ? `(${landingBuild})` : ''}`,
|
|
|
+ value: `${departureAirport}-${landingAirport}`
|
|
|
}))
|
|
|
if (this.airlineList.length) {
|
|
|
this.selectedAirline = this.airlineList[0].value
|
|
|
}
|
|
|
} catch (error) {
|
|
|
-this.$message.error("失败");
|
|
|
+ this.$message.error('失败')
|
|
|
}
|
|
|
},
|
|
|
- async queryAll (dataContent) {
|
|
|
+ async queryAll(dataContent) {
|
|
|
this.fullscreenLoading = true
|
|
|
this.flightInfo = {}
|
|
|
try {
|
|
@@ -785,7 +997,7 @@ this.$message.error("失败");
|
|
|
})
|
|
|
setTableFilters(this.flightBaggageTableData, this.flightBaggageTableFilters)
|
|
|
} catch (error) {
|
|
|
- this.$message.error("失败");
|
|
|
+ this.$message.error('失败')
|
|
|
}
|
|
|
this.fullscreenLoading = false
|
|
|
}
|
|
@@ -839,7 +1051,7 @@ this.$message.error("失败");
|
|
|
color: #ffffff;
|
|
|
::v-deep .airline-select {
|
|
|
.el-input__inner {
|
|
|
- width: 150px;
|
|
|
+ width: 200px;
|
|
|
background-color: transparent;
|
|
|
font-size: 18px;
|
|
|
font-weight: bold;
|