فهرست منبع

5.23部分问题修改

zhongxiaoyu 2 سال پیش
والد
کامیت
09c91914a4

+ 12 - 4
src/layout/components/Navbar.vue

@@ -61,14 +61,17 @@
 import { mapGetters } from "vuex";
 import Breadcrumb from "@/components/Breadcrumb";
 import Hamburger from "@/components/Hamburger";
-import { Format } from "../../config/util";
+// import { Format } from "../../config/util";
+import { timeInZone } from "@/utils/table"
 import TagsView from "./TagsView";
+
 export default {
   props: ["logstart"],
   data() {
     return {
       newData: "",
       breadList: this.getBreadcrumb(),
+      getTimeInterval: null
     };
   },
   components: {
@@ -82,13 +85,18 @@ export default {
     },
   },
   computed: {
-    ...mapGetters(["sidebar", "avatar", "name"]),
+    ...mapGetters(["sidebar", "avatar", "name", "timeZone"]),
   },
   mounted() {
-    setInterval(() => {
-      this.newData = Format("yyyy/MM/dd hh:mm:ss", new Date());
+    this.getTimeInterval = setInterval(() => {
+      // this.newData = Format("yyyy/MM/dd hh:mm:ss", new Date());
+      this.newData = timeInZone(new Date(), this.timeZone).replaceAll("-", "/");
     });
   },
+  beforeDestroy() {
+    this.getTimeInterval && clearInterval(this.getTimeInterval);
+    this.getTimeInterval = null;
+  },
   methods: {
     toggleSideBar() {
       this.$store.dispatch("app/toggleSideBar");

+ 25 - 1
src/utils/table.js

@@ -1,7 +1,7 @@
 /*
  * @Author: Badguy
  * @Date: 2022-02-11 09:20:58
- * @LastEditTime: 2022-05-18 17:11:35
+ * @LastEditTime: 2022-05-24 15:32:16
  * @LastEditors: your name
  * @Description: 表格用
  * have a nice day!
@@ -96,6 +96,30 @@ export function timeInZone(date, timeZone = 0, local = 8) {
   return `${year}-${month}-${day} ${hour}:${minute}:${second}`
 }
 
+// // 表格添加过滤条件
+// export function setTableFilters(tableData, filterKeys) {
+//   const tempSets = {}
+//   const result = {}
+//   filterKeys.forEach(key => {
+//     tempSets[key] = new Set()
+//   })
+//   tableData.forEach(item => {
+//     Object.keys(tempSets).forEach(key => {
+//       (item[key] ?? '') !== '' && tempSets[key].add(item[key])
+//     })
+//   })
+//   Object.keys(tempSets).forEach(key => {
+//     result[key] = _.sortBy(
+//       [...tempSets[key]].map(value => ({
+//         text: value,
+//         value
+//       })),
+//       ['value']
+//     )
+//   })
+//   return result
+// }
+
 // 表格添加过滤条件
 export function setTableFilters(tableData, filters) {
   const tempSets = {}

+ 334 - 249
src/views/advancedQuery/views/advancedHome.vue

@@ -5,7 +5,7 @@
         <div class="manageTitle">高级查询</div>
         <div class="interfaceLog_head_time_start mr10">
           <el-date-picker
-            v-model="time[0]"
+            v-model="FlightDate[0]"
             size="small"
             type="date"
             value-format="yyyy-MM-dd"
@@ -14,7 +14,7 @@
         </div>
         <div class="interfaceLog_head_time_end">
           <el-date-picker
-            v-model="time[1]"
+            v-model="FlightDate[1]"
             size="small"
             type="date"
             value-format="yyyy-MM-dd"
@@ -33,7 +33,7 @@
         <div class="flex-wrap">
           <button
             class="btnAn"
-            @click="gjFlag = true"
+            @click="dialogShow"
           >高级查询</button>
           <!-- <div
             class="setting"
@@ -124,7 +124,13 @@
       width="852px"
       :flag="gjFlag"
     >
-      <div class="rowDialog">
+      <div
+        ref="dialog"
+        class="rowDialog"
+        :tabindex="0"
+        @keyup.enter="onCheckGj"
+        @keyup.self.esc="gjFlag=false"
+      >
         <div class="title">高级查询</div>
         <div class="content">
           <el-form
@@ -134,219 +140,164 @@
             label-width="100px"
           >
             <el-row :gutter="20">
-              <el-col :span="16">
-                <el-form-item
-                  label="航班日期"
-                  prop="time"
-                >
-                  <el-date-picker
-                    v-model="time"
-                    size="small"
-                    type="daterange"
-                    value-format="yyyy-MM-dd"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="当前状态">
-                  <el-input
-                    v-model="form.status"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
+              <el-col
+                v-for="item in formItems"
+                :key="item.prop"
+                :span="item.span || 8"
+              >
                 <el-form-item
-                  label="航班号"
-                  prop="FlightNO"
+                  :label="item.label"
+                  :prop="item.prop"
                 >
-                  <el-input
-                    v-model="form.FlightNO"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="起飞站">
-                  <el-input
-                    v-model="form.station"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="目的地">
-                  <el-input
-                    v-model="form.destination"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="行李牌号">
-                  <el-input
-                    v-model="form.grade"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="特殊行李类型">
-                  <el-select
-                    v-model="form.type"
-                    size="small"
-                    filterable
-                    allow-create
-                    default-first-option
-                    clearable
-                  >
-                    <el-option
-                      v-for="item in baggageTypeList"
-                      :key="item.ID"
-                      :label="item.TypeName"
-                      :value="item.TypeCode"
-                    />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="容器编号">
-                  <el-input
-                    v-model="form.U_Device_ID"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="旅客姓名">
-                  <el-input
-                    v-model="form.name"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="PNR">
-                  <el-input
-                    v-model="form.pnr"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="值机序号">
-                  <el-input
-                    v-model="form.checkInSequence"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="中转进航班">
-                  <el-input
-                    v-model="form.transferArrival"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="中转出航班">
-                  <el-input
-                    v-model="form.transferDeparture"
-                    size="small"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="翻减状态">
-                  <el-select
-                    v-model="form.unLoad"
-                    size="small"
-                    clearable
-                  >
-                    <el-option
-                      label="已翻减"
-                      :value="1"
-                    />
-                    <el-option
-                      label="待翻减"
-                      :value="0"
-                    />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="已值机">
-                  <el-select
-                    v-model="form.checkIn"
-                    size="small"
-                    clearable
-                  >
-                    <el-option
-                      label="是"
-                      :value="1"
-                    />
-                    <el-option
-                      label="否"
-                      :value="0"
-                    />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="已激活">
-                  <el-select
-                    v-model="form.active"
-                    size="small"
-                    clearable
-                  >
-                    <el-option
-                      label="是"
-                      :value="1"
-                    />
-                    <el-option
-                      label="否"
-                      :value="0"
+                  <template v-if="item.prop === 'FlightDate'">
+                    <el-date-picker
+                      v-model="FlightDate"
+                      size="small"
+                      type="daterange"
+                      value-format="yyyy-MM-dd"
+                      start-placeholder="开始日期"
+                      end-placeholder="结束日期"
+                      @keyup.esc.native="dialogFocus"
                     />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="中转行李">
-                  <el-select
-                    v-model="form.transferIn"
-                    size="small"
-                    clearable
-                  >
-                    <el-option
-                      label="是"
-                      :value="1"
-                    />
-                    <el-option
-                      label="否"
-                      :value="0"
-                    />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="已取消">
-                  <el-select
-                    v-model="form.canceled"
-                    size="small"
-                    clearable
-                  >
-                    <el-option
-                      label="是"
-                      :value="1"
-                    />
-                    <el-option
-                      label="否"
-                      :value="0"
-                    />
-                  </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'status'">
+                    <el-select
+                      v-model="form.status"
+                      size="small"
+                      filterable
+                      default-first-option
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        v-for="option in statusList"
+                        :key="option.ID"
+                        :label="option.StatusName"
+                        :value="option.StatusCode"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'specialType'">
+                    <el-select
+                      v-model="form.specialType"
+                      size="small"
+                      filterable
+                      allow-create
+                      default-first-option
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        v-for="option in baggageTypeList"
+                        :key="option.ID"
+                        :label="option.TypeName"
+                        :value="option.TypeCode"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'unLoad'">
+                    <el-select
+                      v-model="form.unLoad"
+                      size="small"
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        label="已翻减"
+                        :value="1"
+                      />
+                      <el-option
+                        label="待翻减"
+                        :value="0"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'checkIn'">
+                    <el-select
+                      v-model="form.checkIn"
+                      size="small"
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        label="是"
+                        :value="1"
+                      />
+                      <el-option
+                        label="否"
+                        :value="0"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'active'">
+                    <el-select
+                      v-model="form.active"
+                      size="small"
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        label="是"
+                        :value="1"
+                      />
+                      <el-option
+                        label="否"
+                        :value="0"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'transferIn'">
+                    <el-select
+                      v-model="form.transferIn"
+                      size="small"
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        label="是"
+                        :value="1"
+                      />
+                      <el-option
+                        label="否"
+                        :value="0"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else-if="item.prop === 'canceled'">
+                    <el-select
+                      v-model="form.canceled"
+                      size="small"
+                      clearable
+                      @keyup.esc.native="dialogFocus"
+                    >
+                      <el-option
+                        label="是"
+                        :value="1"
+                      />
+                      <el-option
+                        label="否"
+                        :value="0"
+                      />
+                    </el-select>
+                  </template>
+                  <template v-else>
+                    <el-popover
+                      v-model="item.hintVisible"
+                      placement="right"
+                      trigger="manual"
+                    >
+                      <span>{{ item.hintText }}</span>
+                      <el-input
+                        :ref="'input-' + item.prop"
+                        slot="reference"
+                        v-model="form[item.prop]"
+                        size="small"
+                        @focus="item.hintVisible = true"
+                        @blur="item.hintVisible = false"
+                        @keyup.esc.native="dialogFocus"
+                      />
+                    </el-popover>
+                  </template>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -472,17 +423,16 @@ export default {
           label: '中转出航班'
         }
       ],
-      time: [parseTime(new Date(), '{y}-{m}-{d}'), parseTime(new Date(), '{y}-{m}-{d}')],
+      FlightDate: [parseTime(new Date(), '{y}-{m}-{d}'), parseTime(new Date(), '{y}-{m}-{d}')],
       form: {
-        status: '',
         FlightNO: '',
         destination: '',
-        station: '',
-        grade: '',
-        type: '',
+        depatureStation: '',
+        baggageNO: '',
+        specialType: '',
         U_Device_ID: '',
-        name: '',
-        pnr: '',
+        passengerName: '',
+        PNR: '',
         checkInSequence: '',
         transferArrival: '',
         transferDeparture: '',
@@ -490,8 +440,131 @@ export default {
         checkIn: '',
         active: '',
         transferIn: '',
-        canceled: ''
+        canceled: '',
+        status: ''
       },
+      formItems: [
+        {
+          prop: 'FlightDate',
+          label: '航班日期',
+          span: 16
+        },
+        {
+          prop: 'status',
+          label: '当前状态'
+        },
+        {
+          prop: 'FlightNO',
+          label: '航班号',
+          hintText: '示例:CA1111',
+          hintVisible: false
+        },
+        {
+          prop: 'departureStation',
+          label: '起飞站',
+          hintText: '示例:PEK',
+          hintVisible: false
+        },
+        {
+          prop: 'destination',
+          label: '目的地',
+          hintText: '示例:CTU',
+          hintVisible: false
+        },
+        {
+          prop: 'baggageNO',
+          label: '行李牌号',
+          hintText: '示例:1234567890',
+          hintVisible: false
+        },
+        {
+          prop: 'specialType',
+          label: '特殊行李类型'
+        },
+        {
+          prop: 'U_Device_ID',
+          label: '容器编号',
+          hintText: '示例:AKE25810CA',
+          hintVisible: false
+        },
+        {
+          prop: 'passengerName',
+          label: '旅客姓名',
+          hintText: '示例:ZHAOWEI',
+          hintVisible: false
+        },
+        {
+          prop: 'PNR',
+          label: 'PNR',
+          hintText: '示例:PZR25X',
+          hintVisible: false
+        },
+        {
+          prop: 'checkInSequence',
+          label: '值机序号',
+          hintText: '示例:1',
+          hintVisible: false
+        },
+        {
+          prop: 'transferArrival',
+          label: '中转进航班',
+          hintText: '示例:CA1111',
+          hintVisible: false
+        },
+        {
+          prop: 'transferDeparture',
+          label: '中转出航班',
+          hintText: '示例:CA1111',
+          hintVisible: false
+        },
+        {
+          prop: 'unLoad',
+          label: '翻减状态'
+        },
+        {
+          prop: 'checkIn',
+          label: '已值机'
+        },
+        {
+          prop: 'active',
+          label: '已激活'
+        },
+        {
+          prop: 'transferIn',
+          label: '中转行李'
+        },
+        {
+          prop: 'canceled',
+          label: '已取消'
+        }
+      ],
+      statusList: [
+        {
+          ID: 0,
+          StatusName: '安检',
+          StatusCode: '安检'
+        },
+        {
+          ID: 1,
+          StatusName: '分拣',
+          StatusCode: '分拣'
+        },
+        {
+          ID: 2,
+          StatusName: '装车',
+          StatusCode: '装车'
+        },
+        {
+          ID: 3,
+          StatusName: '装机',
+          StatusCode: '装机'
+        },
+        {
+          ID: 4,
+          StatusName: '到达',
+          StatusCode: '到达'
+        }
+      ],
       baggageTypeList: [],
       dataContent: [],
       rules: {
@@ -524,7 +597,7 @@ export default {
   },
   created() {
     // console.log(this.$store.state.app.queryForm)
-    // 参数顺序   【航班开始日期,航班结束日期,航班号,航班号,行李牌号,行李牌号,起飞站,起飞站,目的站,目的站,特殊行李类型,特殊 行李类型,旅客姓名大写拼音,旅客姓名大写拼音,pnr,pnr,值机号,值机号】
+    // 参数顺序   【航班开始日期,航班结束日期,航班号,航班号,行李牌号,行李牌号,起飞站,起飞站,目的站,目的站,特殊行李类型,特殊 行李类型,旅客姓名大写拼音,旅客姓名大写拼音,PNR,PNR,值机号,值机号】
     // const dataContent = [this.time[0], this.time[1]]
     // for (let i = 0; i < 18; i++) {
     //   dataContent.push(null)
@@ -532,6 +605,9 @@ export default {
     // this.statItemsQueryByStatMain(dataContent);
   },
   mounted() {
+    window.addEventListener('keyup', () => {
+      console.dir(document.activeElement)
+    })
     this.baggageTypeQuery()
     document.querySelector('.interfaceLog_head_time_start .el-input__prefix i').remove()
     document.querySelector('.interfaceLog_head_time_start .el-input__prefix').innerHTML = '开始:'
@@ -550,8 +626,8 @@ export default {
             : value
         }
       })
-      startDate && (this.time[0] = startDate)
-      endDate && (this.time[1] = endDate)
+      startDate && (this.FlightDate[0] = startDate)
+      endDate && (this.FlightDate[1] = endDate)
     }
     if (flag) {
       this.onCheckGj()
@@ -559,7 +635,7 @@ export default {
       Object.keys(this.form).forEach(key => {
         this.form[key] = this.queryForm[key]
       })
-      this.time = this.queryForm.time
+      this.FlightDate = this.queryForm.FlightDate
       this.onCheckGj()
     }
   },
@@ -574,13 +650,22 @@ export default {
     if (this.$route.matched.filter(item => item.name && item.meta.title).length > 1) {
       this.$store.dispatch('app/setQueryForm', {
         ...this.form,
-        time: this.time
+        FlightDate: this.FlightDate
       })
     } else {
       this.$store.dispatch('app/setQueryForm', null)
     }
   },
   methods: {
+    dialogShow() {
+      this.gjFlag = true
+      this.$nextTick(() => {
+        this.dialogFocus()
+      })
+    },
+    dialogFocus() {
+      this.$refs['dialog'].focus()
+    },
     arraySpanMethod({ row, column, rowIndex, columnIndex }) {
       for (let i = 0; i < 5; i++) {
         if (columnIndex === i) {
@@ -658,7 +743,7 @@ export default {
         this.form[key] = ''
       })
 
-      if (this.time[0] === '' || this.time[1] === '' || val === '') {
+      if (this.FlightDate[0] === '' || this.FlightDate[1] === '' || val === '') {
         this.$message.error('请先输入完整查询信息')
       } else {
         // 点击搜索后清除跳转携带的查询信息
@@ -672,7 +757,7 @@ export default {
         const num = /^[0-9]+$/
         // 纯字母则为旅客姓名
         if (az.test(val)) {
-          this.form['name'] = val
+          this.form['passengerName'] = val
           this.onCheckGj()
         } else if (azNum.test(val) && top2.test(val)) {
           // 字母加数字且前两位为字母则为航班号
@@ -680,7 +765,7 @@ export default {
           this.onCheckGj()
         } else if (num.test(val) && val.length === 10) {
           // 纯数字且位数等于10则为行李牌号
-          this.form['grade'] = val
+          this.form['baggageNO'] = val
           this.onCheckGj()
         } else {
           this.$message.error('请先输入有效查询信息如航班号、旅客姓名首字母、行李牌号')
@@ -696,26 +781,25 @@ export default {
     onCheckGj() {
       /* 参数顺序
       【航班开始日期,航班结束日期,航班号,航班号,行李牌号,行李牌号,起飞站,起飞站,目的站,目的站,特殊行李类型,特殊行李类型,旅客姓名大写拼音,旅客姓名大写拼音,
-      pnr,pnr,值机号,值机号,中转进航班,中转进航班,中转出航班,中转出航班,容器编号,容器编号,
+      PNR,PNR,值机号,值机号,中转进航班,中转进航班,中转出航班,中转出航班,容器编号,容器编号,
       是否已翻减(null/OFF/其他),是否已翻减(null/OFF/其他),是否值机(null/0/1),是否值机(null/0/1),
       是否激活(null/0/1),是否激活(null/0/1),是否中转(null/0/1),是否中转(null/0/1),是否取消行李(null/0/1),是否取消行李(null/0/1)】 */
       this.dataContent = []
-      const time = this.time
-      if (time && time.length) {
-        this.dataContent.push(time[0])
-        this.dataContent.push(time[1])
+      const FlightDate = this.FlightDate
+      if (FlightDate && FlightDate.length) {
+        this.dataContent.push(FlightDate[0])
+        this.dataContent.push(FlightDate[1])
         if (Object.values(this.form).every(value => value === '')) {
           this.$message.error('请先输入查询信息')
         } else {
           const {
-            status,
             FlightNO,
-            grade,
-            station,
+            baggageNO,
+            depatureStation,
             destination,
-            type,
-            name,
-            pnr,
+            specialType,
+            passengerName,
+            PNR,
             checkInSequence,
             transferArrival,
             transferDeparture,
@@ -724,17 +808,17 @@ export default {
             checkIn,
             active,
             transferIn,
-            canceled
+            canceled,
+            status
           } = this.form
           this.setDataContent(
-            status,
             FlightNO,
-            grade,
-            station,
+            baggageNO,
+            depatureStation,
             destination,
-            type,
-            name,
-            pnr,
+            specialType,
+            passengerName,
+            PNR,
             checkInSequence,
             transferArrival,
             transferDeparture,
@@ -743,7 +827,8 @@ export default {
             checkIn,
             active,
             transferIn,
-            canceled
+            canceled,
+            status
           )
           this.statItemsQueryByStatMain(this.dataContent)
           this.gjFlag = false

+ 200 - 78
src/views/baggageManagement/components/arrival/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: zk
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-18 17:06:25
+ * @LastEditTime: 2022-05-24 18:05:27
  * @LastEditors: your name
  * @Description: 进港01
 -->
@@ -84,11 +84,11 @@
             </li>
           </div>
         </el-form-item>
-        <div style="float: right">
-          <el-form-item
-            prop="search"
-            @keyup.enter="onSubmit(1)"
-          >
+        <div
+          style="float: right"
+          @keyup.enter="onSubmit(1)"
+        >
+          <el-form-item prop="search">
             <el-input
               v-model="formData.search"
               style="width: 240px; margin-left: 105px"
@@ -147,7 +147,7 @@
         ref="table"
         class="table"
         height="calc(100vh - 177px)"
-        :data="tableData"
+        :data="filteredTableData"
         :header-cell-class-name="headerCellClassName"
         :row-class-name="tableRowClassName"
         :cell-class-name="cellClass"
@@ -161,23 +161,57 @@
         <el-table-column
           v-for="(item, index) in tableColsCopy"
           :key="index"
-          :prop="item.statCode"
-          :label="item.statName"
+          :prop="item.prop"
+          :label="item.label"
         >
           <el-table-column
-            v-for="(p, i) in item.children"
+            v-for="(col, i) in item.children"
             :key="i"
-            :prop="p.statCode"
-            :label="p.statName"
-            :width="p.width"
-            :filters="tableDataFilters[p.statCode]"
-            :filter-method="tableDataFilters[p.statCode] && filterHandler"
+            :prop="col.prop"
+            :label="col.label"
+            :width="col.width"
           >
-            <template slot="header">
+            <template #header>
               <el-tooltip
-                :content="p.statName"
+                :content="col.label"
                 placement="top"
-              ><span>{{ p.statName }}</span></el-tooltip>
+              >
+                <div class="table-header-cell">
+                  <span>{{ col.label }}</span>
+                  <template v-if="tableDataFilters[col.prop]">
+                    <el-popover
+                      placement="bottom"
+                      trigger="click"
+                      @show="popoverShowHandler(col.prop)"
+                      @hide="popoverHideHandler"
+                    >
+                      <i
+                        slot="reference"
+                        :class="['filter-arrow', 'el-icon-arrow-down', arrowClass(col.prop)]"
+                      />
+                      <el-form>
+                        <el-form-item :label="col.label">
+                          <el-select
+                            v-model="filterValues[col.prop]"
+                            size="small"
+                            placeholder="筛选"
+                            default-first-option
+                            filterable
+                            clearable
+                          >
+                            <el-option
+                              v-for="(option, optionIndex) in tableDataFilters[col.prop]"
+                              :key="option.value + optionIndex"
+                              :value="option.value"
+                              :label="option.text"
+                            />
+                          </el-select>
+                        </el-form-item>
+                      </el-form>
+                    </el-popover>
+                  </template>
+                </div>
+              </el-tooltip>
             </template>
           </el-table-column>
         </el-table-column>
@@ -198,7 +232,7 @@
             node-key="index"
             :default-expand-all="true"
             :props="{
-              label: 'statName',
+              label: 'label',
               children: 'children',
             }"
             :default-checked-keys="checkedKeysTemp"
@@ -241,140 +275,148 @@ export default {
       // 初始表头
       tableCols: [
         {
-          statCode: 'flightInfo',
-          statName: '航班信息',
+          prop: 'flightInfo',
+          label: '航班信息',
           children: [
             {
-              statCode: 'FlightNO',
-              statName: '航班号',
+              prop: 'FlightNO',
+              label: '航班号',
               width: 80
             },
             {
-              statCode: 'FlightDate',
-              statName: '执飞日期',
+              prop: 'FlightDate',
+              label: '执飞日期',
               width: 105
             },
             {
-              statCode: 'arrivalTime',
-              statName: '到港时间',
+              prop: 'arrivalTime',
+              label: '到港时间',
               width: 150
             },
             {
-              statCode: 'departureTerminal',
-              statName: '起飞航站'
+              prop: 'departureTerminal',
+              label: '起飞航站'
             },
             {
-              statCode: 'arrivalTerminal',
-              statName: '到达航站'
+              prop: 'arrivalTerminal',
+              label: '到达航站'
             },
             {
-              statCode: 'luggageCarousel',
-              statName: '行李转盘'
+              prop: 'luggageCarousel',
+              label: '行李转盘'
             },
             {
-              statCode: 'parkingSpace',
-              statName: '停机位'
+              prop: 'parkingSpace',
+              label: '停机位'
             }
           ]
         },
         {
-          statCode: 'originAirportBaggageInfo',
-          statName: '始飞站行李信息',
+          prop: 'originAirportBaggageInfo',
+          label: '始飞站行李信息',
           children: [
             {
-              statCode: 'checkIns',
-              statName: '值机'
+              prop: 'checkIns',
+              label: '值机'
             },
             {
-              statCode: 'projectedLoad',
-              statName: '预计装载'
+              prop: 'projectedLoad',
+              label: '预计装载'
             },
             {
-              statCode: 'loadedQuantity',
-              statName: '已装载'
+              prop: 'loadedQuantity',
+              label: '已装载'
             }
           ]
         },
         {
-          statCode: 'arrvivalBaggageInfo',
-          statName: '到达行李信息',
+          prop: 'arrvivalBaggageInfo',
+          label: '到达行李信息',
           children: [
             {
-              statCode: 'numberOfDestinationArrivals',
-              statName: '到达'
+              prop: 'numberOfDestinationArrivals',
+              label: '到达'
             },
             {
-              statCode: 'endPointNotReached',
-              statName: '未到达'
+              prop: 'endPointNotReached',
+              label: '未到达'
             },
             {
-              statCode: 'specialQuantity',
-              statName: '特殊'
+              prop: 'specialQuantity',
+              label: '特殊'
             },
             {
-              statCode: 'numberOfClaims',
-              statName: '理赔'
+              prop: 'numberOfClaims',
+              label: '理赔'
             }
           ]
         },
         {
-          statCode: 'uninstallInfo',
-          statName: '卸载状态',
+          prop: 'uninstallInfo',
+          label: '卸载状态',
           children: [
             {
-              statCode: 'uninstalled',
-              statName: '已卸载'
+              prop: 'uninstalled',
+              label: '已卸载'
             },
             {
-              statCode: 'numberToBeUninstalled',
-              statName: '待卸载'
+              prop: 'numberToBeUninstalled',
+              label: '待卸载'
             }
           ]
         },
         {
-          statCode: 'terminationdBaggageInfo',
-          statName: '终止行李',
+          prop: 'terminationdBaggageInfo',
+          label: '终止行李',
           children: [
             {
-              statCode: 'terminateArrivalQuantity',
-              statName: '到达'
+              prop: 'terminateArrivalQuantity',
+              label: '到达'
             },
             {
-              statCode: 'terminateUnreachedQuantity',
-              statName: '未到达'
+              prop: 'terminateUnreachedQuantity',
+              label: '未到达'
             }
           ]
         },
         {
-          statCode: 'transferBaggageInfo',
-          statName: '转运行李',
+          prop: 'transferBaggageInfo',
+          label: '转运行李',
           children: [
             {
-              statCode: 'quantityShipped',
-              statName: '已交运'
+              prop: 'quantityShipped',
+              label: '已交运'
             },
             {
-              statCode: 'undeliveredQuantity',
-              statName: '未交运'
+              prop: 'undeliveredQuantity',
+              label: '未交运'
             }
           ]
         },
         {
-          statCode: 'baggageDistributionInfo',
-          statName: '行李分布',
+          prop: 'baggageDistributionInfo',
+          label: '行李分布',
           children: [
             {
-              statCode: 'numberOfContainers',
-              statName: '容器'
+              prop: 'numberOfContainers',
+              label: '容器'
             },
             {
-              statCode: 'numberOfBulk',
-              statName: '散装'
+              prop: 'numberOfBulk',
+              label: '散装'
             }
           ]
         }
       ],
       AirportList: [],
+      FlightNOFilterOptions: [],
+      FlightDateFilterOptions: [],
+      asarrivalTimeFilterOptions: [],
+      departureTerminalFilterOptions: [],
+      arrivalTerminalFilterOptions: [],
+      luggageCarouselFilterOptions: [],
+      parkingSpaceFilterOptions: [],
+      numberOfContainersFilterOptions: [],
       tableDataFilters: {
         FlightNO: [],
         FlightDate: [],
@@ -385,9 +427,54 @@ export default {
         parkingSpace: [],
         numberOfContainers: []
       },
+      filterValues: {
+        FlightNO: '',
+        FlightDate: '',
+        asarrivalTime: '',
+        departureTerminal: '',
+        arrivalTerminal: '',
+        luggageCarousel: '',
+        parkingSpace: '',
+        numberOfContainers: ''
+      },
       loopEvent: null,
       leaveCount: 0,
-      baggageCount: 0
+      baggageCount: 0,
+      colShowFilter: ''
+    }
+  },
+  computed: {
+    arrowClass() {
+      return function (prop) {
+        let classString = ''
+        if (this.colShowFilter === prop) {
+          classString += ' arrow-active'
+        }
+        if (Object.entries(this.tableDataFilters).find(([key, arr]) => this.filterValues[prop])) {
+          classString += ' arrow-blue'
+        }
+        return classString
+      }
+    },
+    // filterOptions() {
+    //   return function (prop) {
+    //     if (Object.keys(this.filterValues).includes(prop)) {
+    //       return this[`${prop}FilterOptions`]
+    //     } else {
+    //       return false
+    //     }
+    //   }
+    // },
+    filteredTableData() {
+      return this.tableData.filter(item => {
+        let flag = true
+        Object.entries(this.filterValues).forEach(([key, value]) => {
+          if (value !== '' && item[key] !== value) {
+            flag = false
+          }
+        })
+        return flag
+      })
     }
   },
   created() {
@@ -424,6 +511,12 @@ export default {
         console.log('出错了', error)
       }
     },
+    popoverShowHandler(prop) {
+      this.colShowFilter = prop
+    },
+    popoverHideHandler() {
+      this.colShowFilter = ''
+    },
     tableRowClassName({ row, rowIndex }) {
       if (row.hasTakenOff === 0) {
         if (rowIndex === this.leaveCount - 1) {
@@ -486,6 +579,21 @@ export default {
       this.tableData = this._.sortBy(tableData, ['FlightDate', 'PlanDepartureTime'])
       setTableFilters(this.tableData, this.tableDataFilters)
       this.toOrderNum(this.baggageCount)
+      // const tableDataFilters = setTableFilters(this.tableData, [
+      //   'FlightNO',
+      //   'FlightDate',
+      //   'asarrivalTime',
+      //   'departureTerminal',
+      //   'arrivalTerminal',
+      //   'luggageCarousel',
+      //   'parkingSpace',
+      //   'numberOfContainers'
+      // ])
+      // Object.entries(tableDataFilters).forEach(([key, arr]) => {
+      //   arr.forEach((item, index) => {
+      //     this.$set(this[`${key}FilterOptions`], index, item)
+      //   })
+      // })
       // setInterval(() => {
       //   this.baggageCount = this.baggageCount+1;
       //    // 这里输入数字即可调用
@@ -697,4 +805,18 @@ export default {
     }
   }
 }
+.filter-arrow {
+  cursor: pointer;
+  transition: 0.3s transform;
+  &.arrow-active {
+    transform: rotate(-180deg);
+  }
+  &.arrow-blue {
+    color: #2d7cff;
+    font-weight: bold;
+  }
+}
+.el-select-dropdown__item.hover {
+  background: #d2d6df;
+}
 </style>

+ 38 - 32
src/views/baggageManagement/components/baggage/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-20 16:48:33
+ * @LastEditTime: 2022-05-24 15:44:20
  * @LastEditors: your name
  * @Description: 行李视图
 -->
@@ -59,7 +59,7 @@
                 class="stepLineBlue"
               />
             </div>
-            <el-popover
+            <!-- <el-popover
               v-for="(item, index) in stepData"
               :key="index"
               :ref="'popover' + index"
@@ -77,14 +77,26 @@
                 @mouseleave="itemMouseLeaveHandler(item)"
               >
                 <span class="head">
-                  <!-- {{ item.airPort }} -->
-                  <!-- <span v-if="item.airPort && item.nodeName !== ''">-</span> -->
                   <span>{{ item.NodeNameEN }}</span>
                 </span>
                 <span>{{ item.DealTime }}</span>
-                <!-- <span>{{ item.time }}</span> -->
               </div>
-            </el-popover>
+            </el-popover> -->
+            <div
+              v-for="(item, index) in stepData"
+              :key="index"
+              :class="{ 'stepItem': true, activeItem: item.DealTime }"
+              @mouseenter="itemMouseEnterHandler(item)"
+              @mouseleave="itemMouseLeaveHandler(item)"
+            >
+              <span class="head">
+                <!-- {{ item.airPort }} -->
+                <!-- <span v-if="item.airPort && item.nodeName !== ''">-</span> -->
+                <span>{{ item.NodeNameEN }}</span>
+              </span>
+              <span>{{ item.DealTime }}</span>
+              <!-- <span>{{ item.time }}</span> -->
+            </div>
           </div>
         </div>
       </div>
@@ -153,7 +165,7 @@
       <header class="head">
         <div class="title">行李跟踪信息</div>
         <div class="btns">
-          <img
+          <!-- <img
             class="btn-square"
             src="../../../../assets/baggage/ic_export.png"
           >
@@ -161,7 +173,7 @@
             class="btn-square"
             src="../../../../assets/baggage/ic_setting.png"
             @click="show"
-          >
+          > -->
         </div>
       </header>
       <main class="main">
@@ -376,7 +388,7 @@ export default {
         //   date: '2022-04-25 12:42:38:00'
         // }
       ],
-      messageTooltipList: [],
+      // messageTooltipList: [],
       checkList: [],
       stepData: new Array(9).fill({}),
       tableCols: [
@@ -431,20 +443,20 @@ export default {
       }
       return 0
     },
-    messageTooltip() {
-      return function (resourceFile) {
-        const message = this.messageTooltipList.find(message => message.resourceFile === resourceFile)
-        return message ? `${message.date}\n${message.dataContent.replaceAll(/[\r\n]{2,}/g, '\n')}` : ''
-      }
-    },
-    popoverVisible() {
-      return function (item) {
-        return (
-          (item.hover || item.tableHover) &&
-          this.messageTooltipList.some(message => message.resourceFile === item.resourceFile)
-        )
-      }
-    },
+    // messageTooltip() {
+    //   return function (resourceFile) {
+    //     const message = this.messageTooltipList.find(message => message.resourceFile === resourceFile)
+    //     return message ? `${message.date}\n${message.dataContent.replaceAll(/[\r\n]{2,}/g, '\n')}` : ''
+    //   }
+    // },
+    // popoverVisible() {
+    //   return function (item) {
+    //     return (
+    //       (item.hover || item.tableHover) &&
+    //       this.messageTooltipList.some(message => message.resourceFile === item.resourceFile)
+    //     )
+    //   }
+    // },
     formattedBaggageInfo() {
       return function (prop) {
         const value = this.baggageBasicInfo[prop]
@@ -571,7 +583,7 @@ export default {
     },
     itemMouseEnterHandler(item) {
       if (item.resourceFile) {
-        this.checkBaggageMessage(item.resourceFile)
+        // this.checkBaggageMessage(item.resourceFile)
         item.hover = true
       }
     },
@@ -580,12 +592,12 @@ export default {
     },
     cellMouseEnterHandler(row, column, cell, event) {
       if (row?.resourceFile) {
-        this.checkBaggageMessage(row.resourceFile)
+        // this.checkBaggageMessage(row.resourceFile)
       }
       this.hoveredRow = row
     },
     cellMouseLeaveHandler() {
-      this.hoveredRow = null
+      // this.hoveredRow = null
     },
     async checkBaggageMessage(resourceFile) {
       if (!this.messageTooltipList.some(message => message.resourceFile === resourceFile)) {
@@ -629,12 +641,6 @@ export default {
           baggageBasicInfo[0].FlightNO = FlightNO
           this.baggageBasicInfo = baggageBasicInfo[0]
         }
-        // this._.sortBy(baggageTrack, item => item.DealTime).forEach((item, index) => {
-        //   item['DealTime'] = item['DealTime'].replace('T', '\n')
-        //   item.NodeNameEN && this.stepData.splice(index, 1, item)
-        // })
-        // const baggageDetailsData = this._.sortBy(baggageDetails, ['flightDate', 'dealTime'])
-
         this.baggageTableData = baggageDetails.map((item, index) => {
           const { hover, tableHover } = this.stepData[index] ?? {}
           this.stepData.splice(index, 1, {

+ 50 - 50
src/views/baggageManagement/components/departure/index.vue

@@ -162,15 +162,15 @@
         <el-table-column
           v-for="(item,index) in tableColsCopy"
           :key="index"
-          :prop="item.statCode"
-          :label="item.statName"
+          :prop="item.prop"
+          :label="item.label"
           :width="item.width"
           :formatter="tableFormat"
-          :filters="tableDataFilters[item.statCode]"
-          :filter-method="tableDataFilters[item.statCode] && filterHandler"
+          :filters="tableDataFilters[item.prop]"
+          :filter-method="tableDataFilters[item.prop] && filterHandler"
         >
           <template slot="header">
-            <el-tooltip :content="item.statName" placement="top"><span>{{ item.statName }}</span></el-tooltip>
+            <el-tooltip :content="item.label" placement="top"><span>{{ item.label }}</span></el-tooltip>
           </template>
         </el-table-column>
       </el-table>
@@ -190,7 +190,7 @@
             node-key="index"
             :default-expand-all="true"
             :props="{
-              label: 'statName',
+              label: 'label',
               children: 'children'
             }"
             :default-checked-keys="checkedKeysTemp"
@@ -234,95 +234,95 @@ export default {
       // 初始表头
       tableCols: [
         {
-          statCode: 'FlightNO',
-          statName: '航班号',
+          prop: 'FlightNO',
+          label: '航班号',
           width: 80
         },
         {
-          statCode: 'FlightDate',
-          statName: '执飞日期',
+          prop: 'FlightDate',
+          label: '执飞日期',
           width: 105
         },
         {
-          statCode: 'PlanDepartureTime',
-          statName: '预计起飞时间',
+          prop: 'PlanDepartureTime',
+          label: '预计起飞时间',
           width: 150
         },
         {
-          statCode: 'TargetAirport',
-          statName: '目的站'
+          prop: 'TargetAirport',
+          label: '目的站'
         },
         {
-          statCode: 'DepartureBuild',
-          statName: '航站楼'
+          prop: 'DepartureBuild',
+          label: '航站楼'
         },
         {
-          statCode: 'BordingGate',
-          statName: '登机口'
+          prop: 'BordingGate',
+          label: '登机口'
         },
         {
-          statCode: 'StandForDepartrue',
-          statName: '停机位'
+          prop: 'StandForDepartrue',
+          label: '停机位'
         },
         {
-          statCode: 'checkInTravellerNumber',
-          statName: '托运旅客'
+          prop: 'checkInTravellerNumber',
+          label: '托运旅客'
         },
         {
-          statCode: 'checkInNumber',
-          statName: '值机数'
+          prop: 'checkInNumber',
+          label: '值机数'
         },
         {
-          statCode: 'unActive',
-          statName: '未激活'
+          prop: 'unActive',
+          label: '未激活'
         },
         {
-          statCode: 'preLoad',
-          statName: '预计装载'
+          prop: 'preLoad',
+          label: '预计装载'
         },
         {
-          statCode: 'checkNumber',
-          statName: '安检'
+          prop: 'checkNumber',
+          label: '安检'
         },
         {
-          statCode: 'sortNumber',
-          statName: '分拣'
+          prop: 'sortNumber',
+          label: '分拣'
         },
         {
-          statCode: 'loadNumber',
-          statName: '装车'
+          prop: 'loadNumber',
+          label: '装车'
         },
         {
-          statCode: 'loadNumber',
-          statName: '装机'
+          prop: 'loadNumber',
+          label: '装机'
         },
         {
-          statCode: 'tounLoad',
-          statName: '待翻减'
+          prop: 'tounLoad',
+          label: '待翻减'
         },
         {
-          statCode: 'unLoad',
-          statName: '已翻减'
+          prop: 'unLoad',
+          label: '已翻减'
         },
         {
-          statCode: 'noCheckInNumber',
-          statName: '取消托运'
+          prop: 'noCheckInNumber',
+          label: '取消托运'
         },
         {
-          statCode: 'noBSM',
-          statName: '无BSM'
+          prop: 'noBSM',
+          label: '无BSM'
         },
         {
-          statCode: 'riskWarning',
-          statName: '风险预警'
+          prop: 'riskWarning',
+          label: '风险预警'
         },
         {
-          statCode: 'departureAnomaly',
-          statName: '离港异常'
+          prop: 'departureAnomaly',
+          label: '离港异常'
         },
         {
-          statCode: 'midIn',
-          statName: '中转进行李'
+          prop: 'midIn',
+          label: '中转进行李'
         }
       ],
       AirportList: [],

+ 49 - 49
src/views/baggageManagement/components/transferArrival/index.vue

@@ -192,22 +192,22 @@
         <el-table-column
           v-for="(item, index) in tableColsCopy"
           :key="index"
-          :prop="item.statCode"
-          :label="item.statName"
+          :prop="item.prop"
+          :label="item.label"
         >
           <el-table-column
             v-for="(p, i) in item.children"
             :key="i"
-            :prop="p.statCode"
-            :label="p.statName"
+            :prop="p.prop"
+            :label="p.label"
             :width="p.width"
             :formatter="tableFormat"
           >
             <template slot="header">
               <el-tooltip
-                :content="p.statName"
+                :content="p.label"
                 placement="top"
-              ><span>{{ p.statName }}</span></el-tooltip>
+              ><span>{{ p.label }}</span></el-tooltip>
             </template>
           </el-table-column>
         </el-table-column>
@@ -228,7 +228,7 @@
             node-key="index"
             :default-expand-all="true"
             :props="{
-              label: 'statName',
+              label: 'label',
               children: 'children',
             }"
             :default-checked-keys="checkedKeysTemp"
@@ -280,99 +280,99 @@ export default {
       // 初始表头
       tableCols: [
         {
-          statCode: 'arrivalInfo',
-          statName: '进港航班',
+          prop: 'arrivalInfo',
+          label: '进港航班',
           children: [
             {
-              statCode: 'PreFlightNO',
-              statName: '航班号',
+              prop: 'PreFlightNO',
+              label: '航班号',
               width: 80
             },
             {
-              statCode: 'PreFlightDate',
-              statName: '航班日期',
+              prop: 'PreFlightDate',
+              label: '航班日期',
               width: 100
             },
             {
-              statCode: 'PreAirport',
-              statName: '起飞机场'
+              prop: 'PreAirport',
+              label: '起飞机场'
             },
             {
-              statCode: 'ActualLandingTime',
-              statName: '降落时间',
+              prop: 'ActualLandingTime',
+              label: '降落时间',
               width: 100
             },
             {
-              statCode: 'LandingBuild',
-              statName: '降落航站楼'
+              prop: 'LandingBuild',
+              label: '降落航站楼'
             },
             {
-              statCode: 'Carousel',
-              statName: '行李转盘'
+              prop: 'Carousel',
+              label: '行李转盘'
             },
             {
-              statCode: 'StandForLanding',
-              statName: '降落停机位'
+              prop: 'StandForLanding',
+              label: '降落停机位'
             },
             {
-              statCode: 'inTransferBaggageCount',
-              statName: '中转行李数'
+              prop: 'inTransferBaggageCount',
+              label: '中转行李数'
             },
             {
-              statCode: 'inTransferredBaggageCount',
-              statName: '已中转行李数',
+              prop: 'inTransferredBaggageCount',
+              label: '已中转行李数',
               width: 100
             }
           ]
         },
         {
-          statCode: 'departureInfo',
-          statName: '离港航班',
+          prop: 'departureInfo',
+          label: '离港航班',
           children: [
             {
-              statCode: 'FlightNO',
-              statName: '航班号',
+              prop: 'FlightNO',
+              label: '航班号',
               width: 80
             },
             {
-              statCode: 'FlightDate',
-              statName: '航班日期',
+              prop: 'FlightDate',
+              label: '航班日期',
               width: 100
             },
             {
-              statCode: 'ActualDepartureTime',
-              statName: '起飞时间',
+              prop: 'ActualDepartureTime',
+              label: '起飞时间',
               width: 100
             },
             {
-              statCode: 'TargetAirport',
-              statName: '目的站'
+              prop: 'TargetAirport',
+              label: '目的站'
             },
             {
-              statCode: 'DepartureBuild',
-              statName: '起飞航站楼'
+              prop: 'DepartureBuild',
+              label: '起飞航站楼'
             },
             {
-              statCode: 'BordingGate',
-              statName: '起飞登机口'
+              prop: 'BordingGate',
+              label: '起飞登机口'
             },
             {
-              statCode: 'StandForDepartrue',
-              statName: '起飞停机位'
+              prop: 'StandForDepartrue',
+              label: '起飞停机位'
             },
             {
-              statCode: 'outTransferBaggageCount',
-              statName: '中转进行李数',
+              prop: 'outTransferBaggageCount',
+              label: '中转进行李数',
               width: 100
             },
             {
-              statCode: 'outTransferredBaggageCount',
-              statName: '已中转进行李数',
+              prop: 'outTransferredBaggageCount',
+              label: '已中转进行李数',
               width: 120
             },
             {
-              statCode: 'timeDifference',
-              statName: '转运时间'
+              prop: 'timeDifference',
+              label: '转运时间'
             }
           ]
         }

+ 49 - 49
src/views/baggageManagement/components/transferDeparture/index.vue

@@ -192,22 +192,22 @@
         <el-table-column
           v-for="(item, index) in tableColsCopy"
           :key="index"
-          :prop="item.statCode"
-          :label="item.statName"
+          :prop="item.prop"
+          :label="item.label"
         >
           <el-table-column
             v-for="(p, i) in item.children"
             :key="i"
-            :prop="p.statCode"
-            :label="p.statName"
+            :prop="p.prop"
+            :label="p.label"
             :width="p.width"
             :formatter="tableFormat"
           >
             <template slot="header">
               <el-tooltip
-                :content="p.statName"
+                :content="p.label"
                 placement="top"
-              ><span>{{ p.statName }}</span></el-tooltip>
+              ><span>{{ p.label }}</span></el-tooltip>
             </template>
           </el-table-column>
         </el-table-column>
@@ -228,7 +228,7 @@
             node-key="index"
             :default-expand-all="true"
             :props="{
-              label: 'statName',
+              label: 'label',
               children: 'children',
             }"
             :default-checked-keys="checkedKeysTemp"
@@ -279,98 +279,98 @@ export default {
       // 初始表头
       tableCols: [
         {
-          statCode: 'departureInfo',
-          statName: '离港航班',
+          prop: 'departureInfo',
+          label: '离港航班',
           children: [
             {
-              statCode: 'FlightNO',
-              statName: '航班号',
+              prop: 'FlightNO',
+              label: '航班号',
               width: 80
             },
             {
-              statCode: 'FlightDate',
-              statName: '航班日期',
+              prop: 'FlightDate',
+              label: '航班日期',
               width: 100
             },
             {
-              statCode: 'ActualDepartureTime',
-              statName: '起飞时间',
+              prop: 'ActualDepartureTime',
+              label: '起飞时间',
               width: 100
             },
             {
-              statCode: 'TargetAirport',
-              statName: '目的站'
+              prop: 'TargetAirport',
+              label: '目的站'
             },
             {
-              statCode: 'DepartureBuild',
-              statName: '起飞航站楼'
+              prop: 'DepartureBuild',
+              label: '起飞航站楼'
             },
             {
-              statCode: 'BordingGate',
-              statName: '起飞登机口'
+              prop: 'BordingGate',
+              label: '起飞登机口'
             },
             {
-              statCode: 'StandForDepartrue',
-              statName: '起飞停机位'
+              prop: 'StandForDepartrue',
+              label: '起飞停机位'
             },
             {
-              statCode: 'outTransferBaggageCount',
-              statName: '中转进行李数',
+              prop: 'outTransferBaggageCount',
+              label: '中转进行李数',
               width: 100
             },
             {
-              statCode: 'outTransferredBaggageCount',
-              statName: '已中转进行李数',
+              prop: 'outTransferredBaggageCount',
+              label: '已中转进行李数',
               width: 120
             },
             {
-              statCode: 'timeDifference',
-              statName: '转运时间'
+              prop: 'timeDifference',
+              label: '转运时间'
             }
           ]
         },
         {
-          statCode: 'arrivalInfo',
-          statName: '进港航班',
+          prop: 'arrivalInfo',
+          label: '进港航班',
           children: [
             {
-              statCode: 'PreFlightNO',
-              statName: '航班号',
+              prop: 'PreFlightNO',
+              label: '航班号',
               width: 80
             },
             {
-              statCode: 'PreFlightDate',
-              statName: '航班日期',
+              prop: 'PreFlightDate',
+              label: '航班日期',
               width: 100
             },
             {
-              statCode: 'PreAirport',
-              statName: '起飞机场'
+              prop: 'PreAirport',
+              label: '起飞机场'
             },
             {
-              statCode: 'ActualLandingTime',
-              statName: '降落时间',
+              prop: 'ActualLandingTime',
+              label: '降落时间',
               width: 100
             },
             {
-              statCode: 'LandingBuild',
-              statName: '降落航站楼'
+              prop: 'LandingBuild',
+              label: '降落航站楼'
             },
             {
-              statCode: 'Carousel',
-              statName: '行李转盘'
+              prop: 'Carousel',
+              label: '行李转盘'
             },
             {
-              statCode: 'StandForLanding',
-              statName: '降落停机位'
+              prop: 'StandForLanding',
+              label: '降落停机位'
             },
             {
-              statCode: 'inTransferBaggageCount',
-              statName: '中转行李数'
+              prop: 'inTransferBaggageCount',
+              label: '中转行李数'
             },
             {
-              statCode: 'inTransferredBaggageCount',
-              statName: '已中转行李数',
+              prop: 'inTransferredBaggageCount',
+              label: '已中转行李数',
               width: 100
             }
           ]