|
@@ -10,24 +10,39 @@
|
|
<div class="flight-wrapper">
|
|
<div class="flight-wrapper">
|
|
<div class="part1">
|
|
<div class="part1">
|
|
<div class="title">
|
|
<div class="title">
|
|
- <span class="manageTitle">
|
|
|
|
- <span>航班基本信息</span>
|
|
|
|
- <span class="btn-back"><i class="el-icon-arrow-left" />返回上一步</span>
|
|
|
|
- </span>
|
|
|
|
|
|
+ <span class="manageTitle">航班基本信息</span>
|
|
|
|
+ <!-- <BackButton /> -->
|
|
</div>
|
|
</div>
|
|
<div class="part1-wrapper">
|
|
<div class="part1-wrapper">
|
|
<div class="airline">{{ queryData.flightNO }}
|
|
<div class="airline">{{ queryData.flightNO }}
|
|
- <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
|
|
|
|
+ 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>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div class="part1_info">
|
|
<div class="part1_info">
|
|
<div class="part1_info_box">
|
|
<div class="part1_info_box">
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>起飞机场简称:</span>
|
|
<span>起飞机场简称:</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>{{ flightInfo.departureName }}</span>
|
|
<span>{{ flightInfo.departureName }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -48,22 +63,38 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>
|
|
<span>
|
|
日期:{{ flightInfo.planDepartureTime && flightInfo.planDepartureTime.split("T")[0] }}
|
|
日期:{{ flightInfo.planDepartureTime && flightInfo.planDepartureTime.split("T")[0] }}
|
|
</span>
|
|
</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>
|
|
<span>
|
|
时间:{{ flightInfo.planDepartureTime && flightInfo.planDepartureTime.split("T")[1] }}
|
|
时间:{{ flightInfo.planDepartureTime && flightInfo.planDepartureTime.split("T")[1] }}
|
|
</span>
|
|
</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>登机口:{{ flightInfo.bordingGate }}</span>
|
|
<span>登机口:{{ flightInfo.bordingGate }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>停机位:{{ flightInfo.standForDepartrue }}</span>
|
|
<span>停机位:{{ flightInfo.standForDepartrue }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -79,26 +110,67 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row> -->
|
|
</el-row> -->
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="16" :sm="16" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="16"
|
|
|
|
+ :sm="16"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>航班状态:</span>
|
|
<span>航班状态:</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="8" :sm="8" :xl="12">
|
|
|
|
- <span>{{ flightInfo.flightStatus === null ? "正常" : flightInfo.flightStatus }}</span>
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="8"
|
|
|
|
+ :sm="8"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <!-- <span>{{ flightInfo.flightStatus === null ? "正常" : flightInfo.flightStatus }}</span> -->
|
|
|
|
+ <span>{{ flightInfo.flightStateCN }}</span>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="16"
|
|
|
|
+ :sm="16"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <span>机号:</span>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="8"
|
|
|
|
+ :sm="8"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ flightInfo.craftNo }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="16" :sm="16" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="16"
|
|
|
|
+ :sm="16"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>托运旅客数:</span>
|
|
<span>托运旅客数:</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="8" :sm="8" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="8"
|
|
|
|
+ :sm="8"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>{{ flightInfo.count1 }}</span>
|
|
<span>{{ flightInfo.count1 }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="16" :sm="16" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="16"
|
|
|
|
+ :sm="16"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>终点行李数:</span>
|
|
<span>终点行李数:</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="8" :sm="8" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="8"
|
|
|
|
+ :sm="8"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>{{ flightInfo.count2 }}</span>
|
|
<span>{{ flightInfo.count2 }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -122,10 +194,18 @@
|
|
<i class="part1_info_arrow_right el-icon-caret-right" />
|
|
<i class="part1_info_arrow_right el-icon-caret-right" />
|
|
<div class="part1_info_box">
|
|
<div class="part1_info_box">
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>降落机场简称:</span>
|
|
<span>降落机场简称:</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>{{ flightInfo.landingName }}</span>
|
|
<span>{{ flightInfo.landingName }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -146,23 +226,55 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row> -->
|
|
</el-row> -->
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>
|
|
<span>
|
|
日期:{{ flightInfo.expectLandingTime && flightInfo.expectLandingTime.split("T")[0] }}
|
|
日期:{{ flightInfo.expectLandingTime && flightInfo.expectLandingTime.split("T")[0] }}
|
|
</span>
|
|
</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="24"
|
|
|
|
+ :sm="24"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
<span>
|
|
<span>
|
|
时间:{{ flightInfo.expectLandingTime && flightInfo.expectLandingTime.split("T")[1] }}
|
|
时间:{{ flightInfo.expectLandingTime && flightInfo.expectLandingTime.split("T")[1] }}
|
|
</span>
|
|
</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
- <span>提取转盘:{{ flightInfo.carousel }}</span>
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="16"
|
|
|
|
+ :sm="16"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <span>提取转盘:</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :xs="24" :sm="24" :xl="12">
|
|
|
|
- <span>停机位:{{ flightInfo.standForLanding }}</span>
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="8"
|
|
|
|
+ :sm="8"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ flightInfo.carousel }}</span>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="16"
|
|
|
|
+ :sm="16"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <span>停机位:</span>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col
|
|
|
|
+ :xs="8"
|
|
|
|
+ :sm="8"
|
|
|
|
+ :xl="12"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ flightInfo.standForLanding }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
@@ -172,10 +284,37 @@
|
|
<div class="part2">
|
|
<div class="part2">
|
|
<div class="title">
|
|
<div class="title">
|
|
<span class="manageTitle">航班容器列表</span>
|
|
<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>
|
|
</div>
|
|
- <el-table ref="containerTable" :data="containerTableData" border style="width: 100%" height="290px" 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="290px"
|
|
|
|
+ stripe
|
|
|
|
+ size="mini"
|
|
|
|
+ show-summary
|
|
|
|
+ :summary-method="summaryMethod"
|
|
|
|
+ :header-cell-style="{ color: '#101116' }"
|
|
|
|
+ :row-class-name="rowClass"
|
|
|
|
+ :cell-class-name="cellClass"
|
|
|
|
+ @cell-click="cellClickHandler"
|
|
|
|
+ >
|
|
|
|
+ <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>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
<!-- <div
|
|
<!-- <div
|
|
@@ -236,46 +375,120 @@
|
|
/>
|
|
/>
|
|
</el-table>
|
|
</el-table>
|
|
</div> -->
|
|
</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" />
|
|
<i class="drag-icon el-icon-d-caret" />
|
|
- <div class="drag-line" :style="dragLineStyle" />
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="drag-line"
|
|
|
|
+ :style="dragLineStyle"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
<div class="title">
|
|
<div class="title">
|
|
<span class="manageTitle">航班行李列表</span>
|
|
<span class="manageTitle">航班行李列表</span>
|
|
<TimeZoneSelector />
|
|
<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>
|
|
</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>
|
|
<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>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--列设置-->
|
|
<!--列设置-->
|
|
- <Dialog :flag="dialogFlag" class="dialog-check-group">
|
|
|
|
|
|
+ <Dialog
|
|
|
|
+ :flag="dialogFlag"
|
|
|
|
+ class="dialog-check-group"
|
|
|
|
+ >
|
|
<div class="dialog-wrapper">
|
|
<div class="dialog-wrapper">
|
|
<div class="title">列设置</div>
|
|
<div class="title">列设置</div>
|
|
<div class="content">
|
|
<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',
|
|
label: 'label',
|
|
children: 'children',
|
|
children: 'children',
|
|
- }" :default-checked-keys="checkedKeysTemp" @check="handleCheck" />
|
|
|
|
|
|
+ }"
|
|
|
|
+ :default-checked-keys="checkedKeysTemp"
|
|
|
|
+ @check="handleCheck"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
<div class="foot right t30">
|
|
<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>
|
|
</div>
|
|
</div>
|
|
</Dialog>
|
|
</Dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
|
|
+// import BackButton from '@/components/BackButton'
|
|
import Dialog from '@/layout/components/Dialog/index.vue'
|
|
import Dialog from '@/layout/components/Dialog/index.vue'
|
|
import TimeZoneSelector from '@/components/TimeZoneSelector'
|
|
import TimeZoneSelector from '@/components/TimeZoneSelector'
|
|
import { myQuery } from '@/api/dataIntegration'
|
|
import { myQuery } from '@/api/dataIntegration'
|
|
@@ -290,20 +503,20 @@ export default {
|
|
name: 'FlightView',
|
|
name: 'FlightView',
|
|
directives: {
|
|
directives: {
|
|
dragHeight: {
|
|
dragHeight: {
|
|
- inserted (el, binding, vnode) {
|
|
|
|
|
|
+ inserted(el, binding, vnode) {
|
|
const that = vnode.context
|
|
const that = vnode.context
|
|
let mousedownY
|
|
let mousedownY
|
|
let dragY
|
|
let dragY
|
|
let dragHeight
|
|
let dragHeight
|
|
const offsetTop = el.offsetParent.offsetTop
|
|
const offsetTop = el.offsetParent.offsetTop
|
|
- function mousemoveHandler (e) {
|
|
|
|
|
|
+ function mousemoveHandler(e) {
|
|
e.stopPropagation()
|
|
e.stopPropagation()
|
|
e.preventDefault()
|
|
e.preventDefault()
|
|
dragY = dragHeight + mousedownY - e.screenY
|
|
dragY = dragHeight + mousedownY - e.screenY
|
|
dragY = dragY < 0 ? 0 : dragY > offsetTop ? offsetTop : dragY
|
|
dragY = dragY < 0 ? 0 : dragY > offsetTop ? offsetTop : dragY
|
|
that.dragY = dragY
|
|
that.dragY = dragY
|
|
}
|
|
}
|
|
- function mouseupHandler (e) {
|
|
|
|
|
|
+ function mouseupHandler(e) {
|
|
e.stopPropagation()
|
|
e.stopPropagation()
|
|
e.preventDefault()
|
|
e.preventDefault()
|
|
that.dragHeight = that.dragY
|
|
that.dragHeight = that.dragY
|
|
@@ -324,12 +537,13 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
|
|
+ // BackButton,
|
|
Dialog,
|
|
Dialog,
|
|
TimeZoneSelector,
|
|
TimeZoneSelector,
|
|
TableHeaderCell
|
|
TableHeaderCell
|
|
},
|
|
},
|
|
mixins: [tableColsMixin, timeZoneMixin],
|
|
mixins: [tableColsMixin, timeZoneMixin],
|
|
- data () {
|
|
|
|
|
|
+ data() {
|
|
return {
|
|
return {
|
|
fullscreenLoading: false,
|
|
fullscreenLoading: false,
|
|
airlineList: [],
|
|
airlineList: [],
|
|
@@ -417,7 +631,7 @@ export default {
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapGetters(['clickedCells']),
|
|
...mapGetters(['clickedCells']),
|
|
- dealedTableData () {
|
|
|
|
|
|
+ dealedTableData() {
|
|
const filtered = this.flightBaggageTableData.filter(item => {
|
|
const filtered = this.flightBaggageTableData.filter(item => {
|
|
let flag = true
|
|
let flag = true
|
|
Object.entries(this.filterValues).forEach(([key, arr]) => {
|
|
Object.entries(this.filterValues).forEach(([key, arr]) => {
|
|
@@ -440,12 +654,12 @@ export default {
|
|
)
|
|
)
|
|
return this._.orderBy(filtered, sortRules[0], sortRules[1])
|
|
return this._.orderBy(filtered, sortRules[0], sortRules[1])
|
|
},
|
|
},
|
|
- draggableStyle () {
|
|
|
|
|
|
+ draggableStyle() {
|
|
return {
|
|
return {
|
|
height: `calc(100vh - 80px - 64px - 16px - 290px + ${this.dragHeight}px)`
|
|
height: `calc(100vh - 80px - 64px - 16px - 290px + ${this.dragHeight}px)`
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- dragLineStyle () {
|
|
|
|
|
|
+ dragLineStyle() {
|
|
return {
|
|
return {
|
|
transform: `translateY(${this.dragHeight - this.dragY}px)`
|
|
transform: `translateY(${this.dragHeight - this.dragY}px)`
|
|
}
|
|
}
|
|
@@ -453,7 +667,7 @@ export default {
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
$route: {
|
|
$route: {
|
|
- handler ({ path, query }) {
|
|
|
|
|
|
+ handler({ path, query }) {
|
|
if (path.includes('flightView')) {
|
|
if (path.includes('flightView')) {
|
|
const { flightNO, flightDate } = query
|
|
const { flightNO, flightDate } = query
|
|
if (flightNO && flightDate) {
|
|
if (flightNO && flightDate) {
|
|
@@ -470,7 +684,7 @@ export default {
|
|
deep: true,
|
|
deep: true,
|
|
immediate: true
|
|
immediate: true
|
|
},
|
|
},
|
|
- fullscreenLoading (val) {
|
|
|
|
|
|
+ fullscreenLoading(val) {
|
|
if (val) {
|
|
if (val) {
|
|
this.loading = this.$loading({
|
|
this.loading = this.$loading({
|
|
lock: true,
|
|
lock: true,
|
|
@@ -482,13 +696,13 @@ export default {
|
|
this.loading?.close()
|
|
this.loading?.close()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- selectedAirline (val) {
|
|
|
|
|
|
+ selectedAirline(val) {
|
|
const { flightNO, flightDate } = this.queryData
|
|
const { flightNO, flightDate } = this.queryData
|
|
const [departureAirport, landingAirport] = val.split('-')
|
|
const [departureAirport, landingAirport] = val.split('-')
|
|
this.queryAll([flightNO, flightDate, departureAirport, landingAirport])
|
|
this.queryAll([flightNO, flightDate, departureAirport, landingAirport])
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- created () {
|
|
|
|
|
|
+ created() {
|
|
Object.values(this.tableCols).forEach(({ prop, filterable, sortable }) => {
|
|
Object.values(this.tableCols).forEach(({ prop, filterable, sortable }) => {
|
|
if (filterable) {
|
|
if (filterable) {
|
|
this.$set(this.flightBaggageTableFilters, prop, [])
|
|
this.$set(this.flightBaggageTableFilters, prop, [])
|
|
@@ -499,7 +713,7 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- activated () {
|
|
|
|
|
|
+ activated() {
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
this.$refs['containerTable']?.doLayout()
|
|
this.$refs['containerTable']?.doLayout()
|
|
// this.$refs['transferInBaggageTable']?.doLayout()
|
|
// this.$refs['transferInBaggageTable']?.doLayout()
|
|
@@ -507,7 +721,7 @@ export default {
|
|
this.$refs['flightBaggageTable']?.doLayout()
|
|
this.$refs['flightBaggageTable']?.doLayout()
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- updated () {
|
|
|
|
|
|
+ updated() {
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
this.$refs['containerTable']?.doLayout()
|
|
this.$refs['containerTable']?.doLayout()
|
|
// this.$refs['transferInBaggageTable']?.doLayout()
|
|
// this.$refs['transferInBaggageTable']?.doLayout()
|
|
@@ -515,14 +729,14 @@ export default {
|
|
this.$refs['flightBaggageTable']?.doLayout()
|
|
this.$refs['flightBaggageTable']?.doLayout()
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- deactivated () {
|
|
|
|
|
|
+ deactivated() {
|
|
this.loading?.close()
|
|
this.loading?.close()
|
|
},
|
|
},
|
|
- beforeDestroy () {
|
|
|
|
|
|
+ beforeDestroy() {
|
|
this.loading?.close()
|
|
this.loading?.close()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- rowClass ({ row, rowIndex }) {
|
|
|
|
|
|
+ rowClass({ row, rowIndex }) {
|
|
const classes = []
|
|
const classes = []
|
|
if (this.warningContainers.includes(row['containerNumber']) || row['latestStatus'] === '待翻减') {
|
|
if (this.warningContainers.includes(row['containerNumber']) || row['latestStatus'] === '待翻减') {
|
|
classes.push('row-warning')
|
|
classes.push('row-warning')
|
|
@@ -533,7 +747,7 @@ export default {
|
|
return classes.join(' ')
|
|
return classes.join(' ')
|
|
},
|
|
},
|
|
// 给表头单元格加上 ascending 或 descending 使用 element 自带的排序箭头变色
|
|
// 给表头单元格加上 ascending 或 descending 使用 element 自带的排序箭头变色
|
|
- headerCellClass ({ row, column, rowIndex, columnIndex }) {
|
|
|
|
|
|
+ headerCellClass({ row, column, rowIndex, columnIndex }) {
|
|
const classes = []
|
|
const classes = []
|
|
const rule = this.tableDataSortRules[column.property]
|
|
const rule = this.tableDataSortRules[column.property]
|
|
if (rule) {
|
|
if (rule) {
|
|
@@ -541,7 +755,7 @@ export default {
|
|
}
|
|
}
|
|
return classes.join(' ')
|
|
return classes.join(' ')
|
|
},
|
|
},
|
|
- cellClass ({ row, column, rowIndex, columnIndex }) {
|
|
|
|
|
|
+ cellClass({ row, column, rowIndex, columnIndex }) {
|
|
const classes = []
|
|
const classes = []
|
|
if (
|
|
if (
|
|
['checkInTime', 'DealInfo', 'sortLocationMark', 'loadLocationMark', 'inflLocationMark'].includes(
|
|
['checkInTime', 'DealInfo', 'sortLocationMark', 'loadLocationMark', 'inflLocationMark'].includes(
|
|
@@ -552,6 +766,7 @@ export default {
|
|
}
|
|
}
|
|
if (
|
|
if (
|
|
[
|
|
[
|
|
|
|
+ 'containerNumber',
|
|
'preFlightNO',
|
|
'preFlightNO',
|
|
'totalNumber',
|
|
'totalNumber',
|
|
'inFlightNO',
|
|
'inFlightNO',
|
|
@@ -578,11 +793,13 @@ export default {
|
|
}
|
|
}
|
|
return classes.join(' ')
|
|
return classes.join(' ')
|
|
},
|
|
},
|
|
- cellClickHandler (row, column, cell, event) {
|
|
|
|
|
|
+ cellClickHandler(row, column, cell, event) {
|
|
if (
|
|
if (
|
|
[
|
|
[
|
|
|
|
+ 'containerNumber',
|
|
'preFlightNO',
|
|
'preFlightNO',
|
|
'totalNumber',
|
|
'totalNumber',
|
|
|
|
+ 'inFlightNO',
|
|
'transferFlightNO',
|
|
'transferFlightNO',
|
|
'transferNumber',
|
|
'transferNumber',
|
|
'PassengerNameUpcase',
|
|
'PassengerNameUpcase',
|
|
@@ -598,9 +815,25 @@ export default {
|
|
pageName: this.$route.name
|
|
pageName: this.$route.name
|
|
})
|
|
})
|
|
switch (column.property) {
|
|
switch (column.property) {
|
|
|
|
+ case 'containerNumber': {
|
|
|
|
+ const [departureAirport, landingAirport] = this.selectedAirline.split('-')
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path: `${this.$route.path.split('/').slice(0, -1).join('/')}/containerView`,
|
|
|
|
+ query: {
|
|
|
|
+ flightNO: this.queryData.flightNO,
|
|
|
|
+ flightDate: this.queryData.flightDate,
|
|
|
|
+ departureAirport,
|
|
|
|
+ landingAirport,
|
|
|
|
+ containerID: row.containerNumber,
|
|
|
|
+ containerType: row.style,
|
|
|
|
+ containerSpace: row.containerSpace
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ break
|
|
|
|
+ }
|
|
case 'preFlightNO':
|
|
case 'preFlightNO':
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: '/advance/flightView',
|
|
|
|
|
|
+ path: `${this.$route.path.split('/').slice(0, -1).join('/')}/flightView`,
|
|
query: {
|
|
query: {
|
|
flightNO: row.preFlightNO,
|
|
flightNO: row.preFlightNO,
|
|
flightDate: row.preFlightDate
|
|
flightDate: row.preFlightDate
|
|
@@ -620,7 +853,7 @@ export default {
|
|
break
|
|
break
|
|
case 'inFlightNO':
|
|
case 'inFlightNO':
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: '/advance/flightView',
|
|
|
|
|
|
+ path: `${this.$route.path.split('/').slice(0, -1).join('/')}/flightView`,
|
|
query: {
|
|
query: {
|
|
flightNO: row.inFlightNO,
|
|
flightNO: row.inFlightNO,
|
|
flightDate: row.inFlightDate
|
|
flightDate: row.inFlightDate
|
|
@@ -629,7 +862,7 @@ export default {
|
|
break
|
|
break
|
|
case 'transferFlightNO':
|
|
case 'transferFlightNO':
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: '/advance/flightView',
|
|
|
|
|
|
+ path: `${this.$route.path.split('/').slice(0, -1).join('/')}/flightView`,
|
|
query: {
|
|
query: {
|
|
flightNO: row.transferFlightNO,
|
|
flightNO: row.transferFlightNO,
|
|
flightDate: row.transferFlightDate
|
|
flightDate: row.transferFlightDate
|
|
@@ -652,7 +885,7 @@ export default {
|
|
break
|
|
break
|
|
case 'BagSN':
|
|
case 'BagSN':
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/baggageView`,
|
|
|
|
|
|
+ path: `${this.$route.path.split('/').slice(0, -1).join('/')}/baggageView`,
|
|
query: {
|
|
query: {
|
|
bagSN: row.BagSN,
|
|
bagSN: row.BagSN,
|
|
flightNO: this.queryData.flightNO,
|
|
flightNO: this.queryData.flightNO,
|
|
@@ -660,13 +893,19 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
break
|
|
break
|
|
- case 'U_Device_ID':
|
|
|
|
|
|
+ case 'U_Device_ID': {
|
|
|
|
+ const [departureAirport, landingAirport] = this.selectedAirline.split('-')
|
|
|
|
+ const container = this.containerTableData.find(({ containerNumber }) => containerNumber === row.U_Device_ID)
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/newContainerView`,
|
|
|
|
|
|
+ path: `${this.$route.path.split('/').slice(0, -1).join('/')}/containerView`,
|
|
query: {
|
|
query: {
|
|
flightNO: this.queryData.flightNO,
|
|
flightNO: this.queryData.flightNO,
|
|
flightDate: this.queryData.flightDate,
|
|
flightDate: this.queryData.flightDate,
|
|
- containerID: row.U_Device_ID
|
|
|
|
|
|
+ departureAirport,
|
|
|
|
+ landingAirport,
|
|
|
|
+ containerID: row.U_Device_ID,
|
|
|
|
+ containerType: container.style,
|
|
|
|
+ containerSpace: container.containerSpace
|
|
}
|
|
}
|
|
})
|
|
})
|
|
// this.$router.push({
|
|
// this.$router.push({
|
|
@@ -676,13 +915,14 @@ export default {
|
|
// }
|
|
// }
|
|
// })
|
|
// })
|
|
break
|
|
break
|
|
|
|
+ }
|
|
default:
|
|
default:
|
|
break
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 合计行
|
|
// 合计行
|
|
- summaryMethod ({ columns, data }) {
|
|
|
|
|
|
+ summaryMethod({ columns, data }) {
|
|
const sums = []
|
|
const sums = []
|
|
if (columns.length > 0) {
|
|
if (columns.length > 0) {
|
|
columns.forEach((column, index) => {
|
|
columns.forEach((column, index) => {
|
|
@@ -714,53 +954,32 @@ export default {
|
|
return sums
|
|
return sums
|
|
},
|
|
},
|
|
// 统计行数
|
|
// 统计行数
|
|
- summaryRow (num) {
|
|
|
|
|
|
+ summaryRow(num) {
|
|
return function () {
|
|
return function () {
|
|
return ['合计', `共${num}件`]
|
|
return ['合计', `共${num}件`]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- containerClick (row) {
|
|
|
|
- if (row.containerNumber === 'FBULK') {
|
|
|
|
- this.$router.push({
|
|
|
|
- path: '/advance',
|
|
|
|
- query: {
|
|
|
|
- flightNO: this.queryData.flightNO,
|
|
|
|
- startDate: this.queryData.flightDate,
|
|
|
|
- endDate: this.queryData.flightDate,
|
|
|
|
- loadType: 1
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- } else {
|
|
|
|
- this.$router.push({
|
|
|
|
- path: '/advance',
|
|
|
|
- query: {
|
|
|
|
- flightNO: this.queryData.flightNO,
|
|
|
|
- startDate: this.queryData.flightDate,
|
|
|
|
- endDate: this.queryData.flightDate,
|
|
|
|
- U_Device_ID: row.containerNumber
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- exportHandler (refName, tableName) {
|
|
|
|
|
|
+ exportHandler(refName, tableName) {
|
|
const table = this.$refs[refName].$el.cloneNode(true)
|
|
const table = this.$refs[refName].$el.cloneNode(true)
|
|
const fileName = `${tableName}-${this.queryData.flightNO}-${this.queryData.flightDate}.xlsx`
|
|
const fileName = `${tableName}-${this.queryData.flightNO}-${this.queryData.flightDate}.xlsx`
|
|
throttledExportToExcel(table, tableName, fileName)
|
|
throttledExportToExcel(table, tableName, fileName)
|
|
},
|
|
},
|
|
- queryflightInfo (dataContent) {
|
|
|
|
|
|
+ queryflightInfo(dataContent) {
|
|
return myQuery(DATACONTENT_ID.flightInfo, ...dataContent)
|
|
return myQuery(DATACONTENT_ID.flightInfo, ...dataContent)
|
|
},
|
|
},
|
|
- queryContainer (dataContent) {
|
|
|
|
|
|
+ queryContainer(dataContent) {
|
|
return myQuery(DATACONTENT_ID.flightContainer, ...dataContent)
|
|
return myQuery(DATACONTENT_ID.flightContainer, ...dataContent)
|
|
},
|
|
},
|
|
- queryBaggageByFlightNO (dataContent) {
|
|
|
|
|
|
+ queryBaggageByFlightNO(dataContent) {
|
|
return myQuery(DATACONTENT_ID.flightBaggage, ...dataContent)
|
|
return myQuery(DATACONTENT_ID.flightBaggage, ...dataContent)
|
|
},
|
|
},
|
|
- async queryAirline (dataContent) {
|
|
|
|
|
|
+ async queryAirline(dataContent) {
|
|
try {
|
|
try {
|
|
const listValues = await myQuery(DATACONTENT_ID.flightAirline, ...dataContent)
|
|
const listValues = await myQuery(DATACONTENT_ID.flightAirline, ...dataContent)
|
|
this.airlineList = listValues.map(({ departureAirport, landingAirport, departureBuild, landingBuild }) => ({
|
|
this.airlineList = listValues.map(({ departureAirport, landingAirport, departureBuild, landingBuild }) => ({
|
|
- label: `${departureAirport}${departureBuild ? `(${departureBuild})` : ''}-${landingAirport}${landingBuild ? `(${landingBuild})` : ''}`,
|
|
|
|
|
|
+ label: `${departureAirport}${departureBuild ? `(${departureBuild})` : ''}-${landingAirport}${
|
|
|
|
+ landingBuild ? `(${landingBuild})` : ''
|
|
|
|
+ }`,
|
|
value: `${departureAirport}-${landingAirport}`
|
|
value: `${departureAirport}-${landingAirport}`
|
|
}))
|
|
}))
|
|
if (this.airlineList.length) {
|
|
if (this.airlineList.length) {
|
|
@@ -770,7 +989,7 @@ export default {
|
|
this.$message.error('失败')
|
|
this.$message.error('失败')
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- async queryAll (dataContent) {
|
|
|
|
|
|
+ async queryAll(dataContent) {
|
|
this.fullscreenLoading = true
|
|
this.fullscreenLoading = true
|
|
this.flightInfo = {}
|
|
this.flightInfo = {}
|
|
try {
|
|
try {
|
|
@@ -846,6 +1065,12 @@ export default {
|
|
}
|
|
}
|
|
.part1 {
|
|
.part1 {
|
|
width: 71.15%;
|
|
width: 71.15%;
|
|
|
|
+ .title {
|
|
|
|
+ justify-content: flex-start;
|
|
|
|
+ .manageTitle {
|
|
|
|
+ flex: 0 1 auto;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
.part1-wrapper {
|
|
.part1-wrapper {
|
|
height: 290px;
|
|
height: 290px;
|
|
background: #041741;
|
|
background: #041741;
|