Browse Source

添加权限

zhaoke 2 years ago
parent
commit
cb1110e659

+ 3 - 3
src/router/routes/routes-file-five.js

@@ -86,7 +86,7 @@ const arrivalRoutes = {
           path: '/arrival',
           name: 'ArrivalOne',
           component: () => import('@/views/baggageManagement'),
-          meta: { title: '进港视图', roles: ['departure_page'], keepAlive: true },
+          meta: { title: '进港视图', roles: ['inbound_search_page'], keepAlive: true },
           redirect: '/arrival',
           children: [
             {
@@ -125,7 +125,7 @@ const arrivalRoutes = {
 const transferRoutes = {
   path: '/transfer',
   component: Layout,
-  meta: { roles: ['is_showTransit'], keepAlive: true },
+  meta: { roles: ['ti_showTransit'], keepAlive: true },
   children: [
     {
       path: '/transfer',
@@ -232,7 +232,7 @@ const advanceRoutes = {
           path: '/',
           name: 'AdvancedHome',
           component: {
-            render(c) {
+            render (c) {
               return c('router-view')
             }
           },

+ 5 - 5
src/router/routes/routes-file-four.js

@@ -23,19 +23,19 @@ const authorityRoutes = {
         icon: 'authority',
         imgstyle: 'ic_list_nav_permissions_default.png',
         imgstyleup: 'ic_list_nav_permissions_check.png',
-        keepAlive: false
+        keepAlive: false,
       },
       children: [
         {
           path: '/',
           name: 'AuthorityHome',
           component: {
-            render(c) {
+            render (c) {
               return c('router-view')
             }
           },
           redirect: '/',
-          meta: { title: '权限项管理', isPage: 'authority_page', keepAlive: false },
+          meta: { title: '权限项管理', isPage: 'authority_page', keepAlive: false, roles: ['authority_page'] },
           children: [
             {
               path: '/',
@@ -94,7 +94,7 @@ const roleRoutes = {
           path: '/',
           name: 'AuthorityRoleHome',
           component: {
-            render(c) {
+            render (c) {
               return c('router-view')
             }
           },
@@ -147,7 +147,7 @@ const accountRoutes = {
           path: '/account',
           name: 'accountHome',
           component: {
-            render(c) {
+            render (c) {
               return c('router-view')
             }
           },

+ 1 - 1
src/router/routes/routes-file-one.js

@@ -2,7 +2,7 @@ import Layout from '@/layout'
 const BasicsDataRoutes = {
   path: '/BasicsData',
   component: Layout,
-  meta: { roles: ['system_menu'], keepAlive: false },
+  meta: { roles: ['basicData'], keepAlive: false },
   children: [
     {
       path: '/BasicsData',

+ 5 - 4
src/router/routes/routes-file-six.js

@@ -5,7 +5,8 @@ const statisticsChartsRoutes = {
   component: Layout,
   meta: {
     title: '统计图表',
-    keepAlive: false
+    keepAlive: false,
+    roles: ['statistical_chart']
   },
   children: [
     {
@@ -25,21 +26,21 @@ const statisticsChartsRoutes = {
           name: 'FlightStatisticsCharts',
           hidden: true,
           component: () => import('@/views/statisticsCharts/views/flightStatisticsCharts'),
-          meta: { title: '航班量统计', keepAlive: false }
+          meta: { title: '航班量统计', keepAlive: false, roles: ['flight_volume_statistics'] }
         },
         {
           path: '/statisticsCharts/node',
           name: 'NodeStatisticsCharts',
           hidden: true,
           component: () => import('@/views/statisticsCharts/views/nodeStatisticsCharts'),
-          meta: { title: '扫描节点与位置分析', keepAlive: false }
+          meta: { title: '扫描节点与位置分析', keepAlive: false, roles: ['scanning_node_and_location_analysis'] }
         },
         {
           path: '/statisticsCharts/baggage',
           name: 'BaggageStatisticsCharts',
           hidden: true,
           component: () => import('@/views/statisticsCharts/views/baggageStatisticsCharts'),
-          meta: { title: '行李量统计', keepAlive: false }
+          meta: { title: '行李量统计', keepAlive: false, roles: ['baggage_statistics'] }
         },
         {
           path: '/statisticsCharts/specialBaggage',

+ 2 - 2
src/router/routes/routes-file-three.js

@@ -2,7 +2,7 @@ import Layout from '@/layout'
 const integrationRoutes = {
   path: '/integration',
   component: Layout,
-  meta: { roles: ['system_menu'], keepAlive: false },
+  meta: { roles: ['dataCollect'], keepAlive: false },
   children: [
     {
       path: '/integration',
@@ -13,7 +13,7 @@ const integrationRoutes = {
           path: '/integration',
           name: 'integration',
           component: {
-            render(c) {
+            render (c) {
               return c('router-view')
             }
           },

+ 4 - 5
src/views/authorityManagement/components/authorityHome.vue

@@ -38,7 +38,7 @@
           <div class="grid-contentBottom">
             <div class="capTitle flex">
               <div class="manageTitle">下级权限</div>
-              <div class="btn-create">
+              <div v-is="['authtree_btn_add_auth']" class="btn-create">
                 <el-button size="small" type="primary" @click="addAuth" class="btn-white">新增</el-button>
               </div>
             </div>
@@ -55,7 +55,7 @@
                               {{ data.auth_name }}
                             </div>
                             <div v-if="data.auth_type > 0" class="icon">
-                              <el-tooltip effect="dark" :content="`修改${data.auth_name}`" placement="bottom">
+                              <el-tooltip v-is="['authtree_btn_edit_auth']" effect="dark" :content="`修改${data.auth_name}`" placement="bottom">
                                 <span @click="renderEdit(data)" class="cap cap-edit"></span>
                               </el-tooltip>
                             </div>
@@ -64,8 +64,7 @@
                             <div class="details-msg">
                               状态:<span :class="data.auth_status ? 'success' : 'error'">{{ data.auth_status ? "启用" : "禁用" }}</span>
                             </div>
-                            <!-- v-is="['authtree_btn_state_swatch']" -->
-                            <div class="details-info">
+                            <div v-is="['authtree_btn_state_swatch']" class="details-info">
                               <el-switch v-model="data.auth_status" @click.stop.native @change="renderChange(data)" active-color="#2D67E3">
                               </el-switch>
                             </div>
@@ -76,7 +75,7 @@
                         <i class="icon el-icon-close" :class="data.Type === 1 ? 'close1' : data.Type > 2 ? 'close2' : ''"></i>
                       </div> -->
                       <!-- v-is="['authtree_btn_del_auth']" -->
-                      <div>
+                      <div v-is="['authtree_btn_del_auth']">
                         <div v-if="data.auth_type !== 0" @click.stop="onNodeClick(data)" class="info-close">
                           <i class="icon el-icon-close" :class="
                               data.auth_type === 1

+ 47 - 179
src/views/baggageManagement/components/arrival/index.vue

@@ -8,17 +8,8 @@
 <template>
   <div class="arrival-one">
     <!--功能区-表单-->
-    <div
-      ref="formWrap"
-      class="terminal-form-wrap"
-    >
-      <el-form
-        ref="form"
-        :inline="true"
-        :model="formData"
-        :rules="rules"
-        class="form"
-      >
+    <div ref="formWrap" class="terminal-form-wrap">
+      <el-form ref="form" :inline="true" :model="formData" :rules="rules" class="form">
         <div class="form-left">
           <el-form-item prop="currentAirport">
             <!-- <el-cascader
@@ -33,21 +24,8 @@
             filterable
             @change="setCurrentAirport"
           /> -->
-            <el-select
-              v-model="formData.currentAirport"
-              class="input-shadow"
-              size="small"
-              style="width: 150px;"
-              filterable
-              placeholder="请选择机场"
-              @change="airPortChange"
-            >
-              <el-option
-                v-for="(item, index) in AirportList"
-                :key="index"
-                :label="item.planLandingApt"
-                :value="item.planLandingApt"
-              />
+            <el-select v-model="formData.currentAirport" class="input-shadow" size="small" style="width: 150px;" filterable placeholder="请选择机场" @change="airPortChange">
+              <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planLandingApt" :value="item.planLandingApt" />
             </el-select>
           </el-form-item>
           <!-- <el-form-item prop="startDate">
@@ -74,138 +52,48 @@
               @change="endDateChangeHandler"
             />
           </el-form-item> -->
-          <el-form-item
-            prop="flightDate"
-            label="航班日期"
-          >
-            <el-date-picker
-              v-model="formData.flightDate"
-              size="small"
-              style="width: 300px;"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="dateRangePickerOptions"
-              @change="dateChangeHandler"
-            />
+          <el-form-item prop="flightDate" label="航班日期">
+            <el-date-picker v-model="formData.flightDate" size="small" style="width: 300px;" type="daterange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="dateRangePickerOptions" @change="dateChangeHandler" />
           </el-form-item>
           <el-form-item>
             <div class="box-item">
               <p>预计装载总数:</p>
-              <li
-                v-for="(item, index) in orderNum"
-                :key="index"
-                :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
-              >
+              <li v-for="(item, index) in orderNum" :key="index" :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }">
                 <span v-if="!isNaN(item)">
                   <i ref="numberItem">0123456789</i>
                 </span>
-                <span
-                  v-else
-                  class="comma"
-                >{{ item }}</span>
+                <span v-else class="comma">{{ item }}</span>
               </li>
             </div>
           </el-form-item>
         </div>
-        <div
-          class="form-right"
-          @keyup.enter="onSubmit(1)"
-        >
+        <div class="form-right" @keyup.enter="onSubmit(1)">
           <el-form-item prop="search">
-            <el-popover
-              :value="popoverVisible"
-              placement="bottom"
-              trigger="manual"
-            >
+            <el-popover :value="popoverVisible" placement="bottom" trigger="manual">
               <span>请输入航班号(示例:CA1234)或行李牌号(示例:1234567890)</span>
-              <el-input
-                slot="reference"
-                v-model="formData.search"
-                class="input-shadow"
-                style="width: 240px; margin-left: 105px"
-                size="small"
-                placeholder="请输入内容"
-                prefix-icon="el-icon-search"
-                clearable
-                @focus="popoverVisible = true"
-                @blur="popoverVisible = false"
-              />
+              <el-input slot="reference" v-model="formData.search" class="input-shadow" style="width: 240px; margin-left: 105px" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="onSubmit(1)"
-            >搜索</el-button>
+            <el-button class="btn-shadow" size="mini" type="primary" @click="onSubmit(1)">搜索</el-button>
           </el-form-item>
-          <el-form-item v-is="['i_timeIcon']">
+          <el-form-item v-is="['is_timeIcon']">
             <TimeZoneSelector />
           </el-form-item>
-          <el-form-item>
-            <img
-              class="btn-img btn-shadow"
-              src="../../../../assets/baggage/ic_setting.png"
-              @click="show"
-            >
+          <el-form-item v-is="['is_columnSettings']">
+            <img class="btn-img btn-shadow" src="../../../../assets/baggage/ic_setting.png" @click="show">
           </el-form-item>
         </div>
       </el-form>
     </div>
     <!--表格-->
-    <div
-      v-loading="loading"
-      class="terminal-table"
-      element-loading-text="拼命加载中"
-      element-loading-spinner="el-icon-loading"
-      element-loading-background="rgba(0, 0, 0, 0.8)"
-    >
-      <el-table
-        ref="table"
-        class="table"
-        :height="computedTableHeight"
-        :data="dealedTableData"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        show-summary
-        :summary-method="summaryMethod"
-        border
-        stripe
-        fit
-        @cell-click="cellClickHandler"
-      >
-        <el-table-column
-          v-for="col in tableColsCopy"
-          :key="col.prop"
-          :prop="col.prop"
-          :label="col.label"
-          :width="col.width"
-          :fixed="col.fixed"
-        >
-          <el-table-column
-            v-for="childCol in col.children"
-            :key="childCol.prop"
-            :prop="childCol.prop"
-            :label="childCol.label"
-            :width="childCol.width"
-            :formatter="tableFormat"
-          >
+    <div v-loading="loading" class="terminal-table" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
+      <el-table ref="table" class="table" :height="computedTableHeight" :data="dealedTableData" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" show-summary :summary-method="summaryMethod" border stripe fit @cell-click="cellClickHandler">
+        <el-table-column v-for="col in tableColsCopy" :key="col.prop" :prop="col.prop" :label="col.label" :width="col.width" :fixed="col.fixed">
+          <el-table-column v-for="childCol in col.children" :key="childCol.prop" :prop="childCol.prop" :label="childCol.label" :width="childCol.width" :formatter="tableFormat">
             <template #header>
-              <el-tooltip
-                :content="childCol.desc || childCol.label"
-                placement="top"
-              >
-                <TableHeaderCell
-                  :label="childCol.label"
-                  :filter-options="tableDataFilters[childCol.prop]"
-                  :filter-values.sync="filterValues[childCol.prop]"
-                  :sortable="childCol.sortable"
-                  :sort-rule.sync="tableDataSortRules[childCol.prop]"
-                />
+              <el-tooltip :content="childCol.desc || childCol.label" placement="top">
+                <TableHeaderCell :label="childCol.label" :filter-options="tableDataFilters[childCol.prop]" :filter-values.sync="filterValues[childCol.prop]" :sortable="childCol.sortable" :sort-rule.sync="tableDataSortRules[childCol.prop]" />
               </el-tooltip>
             </template>
           </el-table-column>
@@ -213,38 +101,18 @@
       </el-table>
     </div>
     <!--列设置-->
-    <Dialog
-      :flag="dialogFlag"
-      class="dialog-check-cols"
-    >
+    <Dialog :flag="dialogFlag" class="dialog-check-cols">
       <div class="col-dialog">
         <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"
-          >确定</el-button>
-          <el-button
-            size="medium"
-            @click="hide"
-          >取消</el-button>
+          <el-button size="medium" class="r24" type="primary" @click="onCheck">确定</el-button>
+          <el-button size="medium" @click="hide">取消</el-button>
         </div>
       </div>
     </Dialog>
@@ -266,7 +134,7 @@ export default {
   name: 'DepartureTerminalView',
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
   mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  data () {
     return {
       orderNum: ['0', '0', '0', '0', '0', '0'], // 默认总数
       popoverVisible: false,
@@ -463,11 +331,11 @@ export default {
     }
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate
     }
   },
-  mounted() {
+  mounted () {
     this.getAirPortData()
     this.table = this.$refs.table.bodyWrapper
     const that = this
@@ -475,7 +343,7 @@ export default {
       that.scrollTop = this.table.scrollTop
     })
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop
     this.getTableData()
     const that = this
@@ -483,20 +351,20 @@ export default {
       that.getTableData()
     }, 3000)
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
   methods: {
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true
       this.hasSetTableScroll = false
       if (this.loopEvent) {
@@ -508,14 +376,14 @@ export default {
         that.getTableData()
       }, 3000)
     },
-    airPortChange() {
+    airPortChange () {
       this.resetLoopEvent()
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.resetLoopEvent()
     },
     // 选择机场
-    async getAirPortData() {
+    async getAirPortData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.arrivalAirId,
@@ -532,7 +400,7 @@ export default {
         console.log('出错了', error)
       }
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = []
       if (row.flightStatus === 'DLY') {
         classes.push('bgl-delayed')
@@ -548,7 +416,7 @@ export default {
       }
       return classes.join(' ')
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = []
       const rule = this.tableDataSortRules[column.property]
       if (rule) {
@@ -567,7 +435,7 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return
       }
@@ -592,7 +460,7 @@ export default {
         console.log('出错了', error)
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       this.arrivalCount = 0
       this.baggageCount = 0
       tableData.forEach(item => {
@@ -613,7 +481,7 @@ export default {
         this.setTableScroll()
       })
     },
-    hasArrived(flight) {
+    hasArrived (flight) {
       if (flight.arrivalTime) {
         const now = new Date()
         const arrivalTime = new Date(flight.arrivalTime)
@@ -623,7 +491,7 @@ export default {
       }
       return flight['hasArrived']
     },
-    setTableScroll() {
+    setTableScroll () {
       if (!this.singleDay || this.hasSetTableScroll || this.arrivalCount === 0) {
         return
       }
@@ -643,7 +511,7 @@ export default {
       }, 0)
       this.hasSetTableScroll = true
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter(item => !isNaN(item))
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -653,7 +521,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString()
       if (num.length < 6) {
         num = '0' + num // 如未满八位数,添加"0"补位
@@ -691,7 +559,7 @@ export default {
       optgroup,
       select,
       textarea {
-        font-family: Helvetica, 'Microsoft YaHei';
+        font-family: Helvetica, "Microsoft YaHei";
         font-size: 14px;
       }
       .el-switch__label {
@@ -797,7 +665,7 @@ export default {
       padding: 0;
       text-align: center;
       font-size: 14px;
-      font-family: Helvetica, 'Microsoft YaHei';
+      font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
     .cell-click {
@@ -831,7 +699,7 @@ export default {
         &.redBorder {
           position: relative;
           &::after {
-            content: '';
+            content: "";
             position: absolute;
             left: 0;
             bottom: 0;

+ 46 - 172
src/views/baggageManagement/components/departure/index.vue

@@ -8,17 +8,8 @@
 <template>
   <div class="departure-one">
     <!--功能区-表单-->
-    <div
-      ref="formWrap"
-      class="terminal-form-wrap"
-    >
-      <el-form
-        ref="form"
-        :inline="true"
-        :model="formData"
-        :rules="rules"
-        class="form"
-      >
+    <div ref="formWrap" class="terminal-form-wrap">
+      <el-form ref="form" :inline="true" :model="formData" :rules="rules" class="form">
         <div class="form-left">
           <el-form-item prop="currentAirport">
             <!-- <el-cascader
@@ -33,21 +24,8 @@
             filterable
             @change="setCurrentAirport"
           /> -->
-            <el-select
-              v-model="formData.currentAirport"
-              class="input-shadow"
-              size="small"
-              style="width: 150px;"
-              filterable
-              placeholder="请选择机场"
-              @change="airPortChange"
-            >
-              <el-option
-                v-for="(item, index) in AirportList"
-                :key="index"
-                :label="item.planDepartureApt"
-                :value="item.planDepartureApt"
-              />
+            <el-select v-model="formData.currentAirport" class="input-shadow" size="small" style="width: 150px;" filterable placeholder="请选择机场" @change="airPortChange">
+              <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planDepartureApt" :value="item.planDepartureApt" />
             </el-select>
           </el-form-item>
           <!-- <el-form-item prop="startDate">
@@ -74,169 +52,65 @@
               @change="endDateChangeHandler"
             />
           </el-form-item> -->
-          <el-form-item
-            prop="flightDate"
-            label="航班日期"
-          >
-            <el-date-picker
-              v-model="formData.flightDate"
-              size="small"
-              style="width: 300px;"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="dateRangePickerOptions"
-              @change="dateChangeHandler"
-            />
+          <el-form-item prop="flightDate" label="航班日期">
+            <el-date-picker v-model="formData.flightDate" size="small" style="width: 300px;" type="daterange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="dateRangePickerOptions" @change="dateChangeHandler" />
           </el-form-item>
           <el-form-item>
             <div class="box-item">
               <p>预计装载总数:</p>
-              <li
-                v-for="(item, index) in orderNum"
-                :key="index"
-                :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
-              >
+              <li v-for="(item, index) in orderNum" :key="index" :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }">
                 <span v-if="!isNaN(item)">
                   <i ref="numberItem">0123456789</i>
                 </span>
-                <span
-                  v-else
-                  class="comma"
-                >{{ item }}</span>
+                <span v-else class="comma">{{ item }}</span>
               </li>
             </div>
           </el-form-item>
         </div>
-        <div
-          class="form-right"
-          @keyup.enter="onSubmit(0)"
-        >
+        <div class="form-right" @keyup.enter="onSubmit(0)">
           <el-form-item prop="search">
-            <el-popover
-              :value="popoverVisible"
-              placement="bottom"
-              trigger="manual"
-            >
+            <el-popover :value="popoverVisible" placement="bottom" trigger="manual">
               <span>请输入航班号(示例:CA1234)或行李牌号(示例:1234567890)</span>
-              <el-input
-                slot="reference"
-                v-model="formData.search"
-                class="input-shadow"
-                style="width: 240px; margin-left: 105px"
-                size="small"
-                placeholder="请输入内容"
-                prefix-icon="el-icon-search"
-                clearable
-                @focus="popoverVisible = true"
-                @blur="popoverVisible = false"
-              />
+              <el-input slot="reference" v-model="formData.search" class="input-shadow" style="width: 240px; margin-left: 105px" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="onSubmit(0)"
-            >搜索</el-button>
+            <el-button class="btn-shadow" size="mini" type="primary" @click="onSubmit(0)">搜索</el-button>
           </el-form-item>
-          <el-form-item v-is="['i_timeIcon']">
+          <el-form-item v-is="['dm_dt_timeIcon']">
             <TimeZoneSelector />
           </el-form-item>
-          <el-form-item>
-            <img
-              class="btn-img btn-shadow"
-              src="../../../../assets/baggage/ic_setting.png"
-              @click="show"
-            >
+          <el-form-item v-is="['dm_dt_columnSettings']">
+            <img class="btn-img btn-shadow" src="../../../../assets/baggage/ic_setting.png" @click="show">
           </el-form-item>
         </div>
       </el-form>
     </div>
     <!--表格-->
-    <div
-      v-loading="loading"
-      class="terminal-table"
-      element-loading-text="拼命加载中"
-      element-loading-spinner="el-icon-loading"
-      element-loading-background="rgba(0, 0, 0, 0.8)"
-    >
-      <el-table
-        ref="table"
-        class="table"
-        :height="computedTableHeight"
-        :data="dealedTableData"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        show-summary
-        :summary-method="summaryMethod"
-        border
-        stripe
-        fit
-        @cell-click="cellClickHandler"
-      >
-        <el-table-column
-          v-for="col in tableColsCopy"
-          :key="col.prop"
-          :prop="col.prop"
-          :label="col.label"
-          :width="col.width"
-          :fixed="col.fixed"
-          :formatter="tableFormat"
-        >
+    <div v-loading="loading" class="terminal-table" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
+      <el-table ref="table" class="table" :height="computedTableHeight" :data="dealedTableData" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" show-summary :summary-method="summaryMethod" border stripe fit @cell-click="cellClickHandler">
+        <el-table-column v-for="col in tableColsCopy" :key="col.prop" :prop="col.prop" :label="col.label" :width="col.width" :fixed="col.fixed" :formatter="tableFormat">
           <template #header>
-            <el-tooltip
-              :content="col.desc || childCol.label"
-              placement="top"
-            >
-              <TableHeaderCell
-                :label="col.label"
-                :filter-options="tableDataFilters[col.prop]"
-                :filter-values.sync="filterValues[col.prop]"
-                :sortable="col.sortable"
-                :sort-rule.sync="tableDataSortRules[col.prop]"
-              />
+            <el-tooltip :content="col.desc || childCol.label" placement="top">
+              <TableHeaderCell :label="col.label" :filter-options="tableDataFilters[col.prop]" :filter-values.sync="filterValues[col.prop]" :sortable="col.sortable" :sort-rule.sync="tableDataSortRules[col.prop]" />
             </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
     </div>
     <!--列设置-->
-    <Dialog
-      :flag="dialogFlag"
-      class="dialog-check-cols"
-    >
+    <Dialog :flag="dialogFlag" class="dialog-check-cols">
       <div class="col-dialog">
         <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"
-          >确定</el-button>
-          <el-button
-            size="medium"
-            @click="hide"
-          >取消</el-button>
+          <el-button size="medium" class="r24" type="primary" @click="onCheck">确定</el-button>
+          <el-button size="medium" @click="hide">取消</el-button>
         </div>
       </div>
     </Dialog>
@@ -258,7 +132,7 @@ export default {
   name: 'DepartureTerminalView',
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
   mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  data () {
     return {
       orderNum: ['0', '0', '0', '0', '0', '0'], // 默认总数
       popoverVisible: false,
@@ -407,11 +281,11 @@ export default {
     }
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate
     }
   },
-  mounted() {
+  mounted () {
     this.getAirPortData()
     this.table = this.$refs.table.bodyWrapper
     const that = this
@@ -419,7 +293,7 @@ export default {
       that.scrollTop = this.table.scrollTop
     })
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop
     this.getTableData()
     const that = this
@@ -427,20 +301,20 @@ export default {
       that.getTableData()
     }, 3000)
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
   methods: {
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true
       this.hasSetTableScroll = false
       if (this.loopEvent) {
@@ -452,13 +326,13 @@ export default {
         that.getTableData()
       }, 3000)
     },
-    airPortChange() {
+    airPortChange () {
       this.resetLoopEvent()
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.resetLoopEvent()
     },
-    async getAirPortData() {
+    async getAirPortData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAirMainId,
@@ -475,7 +349,7 @@ export default {
         console.log('出错了', error)
       }
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = []
       if (row.flightStatus === 'DLY') {
         classes.push('bgl-delayed')
@@ -491,7 +365,7 @@ export default {
       }
       return classes.join(' ')
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = []
       if (['warning', 'exceptions', 'midIn'].includes(column.property)) {
         classes.push('bgl-huang')
@@ -513,7 +387,7 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return
       }
@@ -538,7 +412,7 @@ export default {
         console.log('出错了', error)
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       this.leaveCount = 0
       this.baggageCount = 0
       tableData.forEach(item => {
@@ -560,7 +434,7 @@ export default {
         this.setTableScroll()
       })
     },
-    setTableScroll() {
+    setTableScroll () {
       if (!this.singleDay || this.hasSetTableScroll || this.leaveCount === 0) {
         return
       }
@@ -580,7 +454,7 @@ export default {
       }, 0)
       this.hasSetTableScroll = true
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter(item => !isNaN(item))
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -590,7 +464,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString()
       if (num.length < 6) {
         num = '0' + num // 如未满八位数,添加"0"补位
@@ -628,7 +502,7 @@ export default {
       optgroup,
       select,
       textarea {
-        font-family: Helvetica, 'Microsoft YaHei';
+        font-family: Helvetica, "Microsoft YaHei";
         font-size: 14px;
       }
       .el-switch__label {
@@ -734,7 +608,7 @@ export default {
       padding: 0;
       text-align: center;
       font-size: 14px;
-      font-family: Helvetica, 'Microsoft YaHei';
+      font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
     .cell-click {
@@ -767,7 +641,7 @@ export default {
         &.redBorder {
           position: relative;
           &::after {
-            content: '';
+            content: "";
             position: absolute;
             left: 0;
             bottom: 0;
@@ -787,7 +661,7 @@ export default {
         background: lightcoral !important;
         position: relative;
         &::after {
-          content: '';
+          content: "";
           display: block;
           width: 100%;
           height: 100%;

+ 56 - 218
src/views/baggageManagement/components/transferArrival/index.vue

@@ -8,17 +8,8 @@
 <template>
   <div class="transfer-in">
     <!--功能区-表单-->
-    <div
-      ref="formWrap"
-      class="terminal-form-wrap"
-    >
-      <el-form
-        ref="form"
-        :inline="true"
-        :model="formData"
-        :rules="rules"
-        class="form"
-      >
+    <div ref="formWrap" class="terminal-form-wrap">
+      <el-form ref="form" :inline="true" :model="formData" :rules="rules" class="form">
         <div class="form-left">
           <el-form-item prop="currentAirport">
             <!-- <el-cascader
@@ -33,52 +24,15 @@
             filterable
             @change="setCurrentAirport"
           /> -->
-            <el-select
-              v-model="formData.currentAirport"
-              class="input-shadow"
-              size="small"
-              style="width: 100px;"
-              filterable
-              placeholder="请选择机场"
-              @change="airPortChange"
-            >
-              <el-option
-                v-for="(item, index) in AirportList"
-                :key="index"
-                :label="item.planDepartureApt"
-                :value="item.planDepartureApt"
-              />
+            <el-select v-model="formData.currentAirport" class="input-shadow" size="small" style="width: 100px;" filterable placeholder="请选择机场" @change="airPortChange">
+              <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planDepartureApt" :value="item.planDepartureApt" />
             </el-select>
           </el-form-item>
           <el-form-item prop="inboundCarrier">
-            <el-cascader
-              v-model="formData.inboundCarrier"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierProps"
-              :props="optionProps"
-              placeholder="进港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.inboundCarrier" class="input-shadow" style="width: 150px" size="small" :options="carrierProps" :props="optionProps" placeholder="进港承运航司" collapse-tags clearable filterable @change="resetLoopEvent" />
           </el-form-item>
           <el-form-item prop="outgoingAirline">
-            <el-cascader
-              v-model="formData.outgoingAirline"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierPropsop"
-              :props="optionPropser"
-              placeholder="离港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.outgoingAirline" class="input-shadow" style="width: 150px" size="small" :options="carrierPropsop" :props="optionPropser" placeholder="离港承运航司" collapse-tags clearable filterable @change="resetLoopEvent" />
           </el-form-item>
           <!-- <el-form-item prop="startDate">
             <el-date-picker
@@ -104,147 +58,51 @@
               @change="endDateChangeHandler"
             />
           </el-form-item> -->
-          <el-form-item
-            prop="flightDate"
-            label="航班日期"
-          >
-            <el-date-picker
-              v-model="formData.flightDate"
-              size="small"
-              style="width: 300px;"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="dateRangePickerOptions"
-              @change="dateChangeHandler"
-            />
+          <el-form-item prop="flightDate" label="航班日期">
+            <el-date-picker v-model="formData.flightDate" size="small" style="width: 300px;" type="daterange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="dateRangePickerOptions" @change="dateChangeHandler" />
           </el-form-item>
           <el-form-item>
             <div class="box-item">
               <p>预计中转数:</p>
-              <li
-                v-for="(item, index) in orderNum"
-                :key="index"
-                :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
-              >
+              <li v-for="(item, index) in orderNum" :key="index" :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }">
                 <span v-if="!isNaN(item)">
                   <i ref="numberItem">0123456789</i>
                 </span>
-                <span
-                  v-else
-                  class="comma"
-                >{{ item }}</span>
+                <span v-else class="comma">{{ item }}</span>
               </li>
             </div>
           </el-form-item>
         </div>
-        <div
-          class="form-right"
-          @keyup.enter="onSubmit(1)"
-        >
+        <div class="form-right" @keyup.enter="onSubmit(1)">
           <el-form-item prop="search">
-            <el-popover
-              :value="popoverVisible"
-              placement="bottom"
-              trigger="manual"
-            >
+            <el-popover :value="popoverVisible" placement="bottom" trigger="manual">
               <span>请输入航班号(示例:CA1234)或行李牌号(示例:1234567890)</span>
-              <el-input
-                slot="reference"
-                v-model="formData.search"
-                class="input-shadow"
-                style="width: 240px;"
-                size="small"
-                placeholder="请输入内容"
-                prefix-icon="el-icon-search"
-                clearable
-                @focus="popoverVisible = true"
-                @blur="popoverVisible = false"
-              />
+              <el-input slot="reference" v-model="formData.search" class="input-shadow" style="width: 240px;" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="onSubmit(1)"
-            >搜索</el-button>
+            <el-button class="btn-shadow" size="mini" type="primary" @click="onSubmit(1)">搜索</el-button>
           </el-form-item>
           <el-form-item v-is="['ti_showTransit']">
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="changeView"
-            >切换视角</el-button>
+            <el-button class="btn-shadow" size="mini" type="primary" @click="changeView">切换视角</el-button>
           </el-form-item>
-          <el-form-item v-is="['i_timeIcon']">
+          <el-form-item v-is="['ti_timeIcon']">
             <TimeZoneSelector />
           </el-form-item>
-          <el-form-item>
-            <img
-              class="btn-img btn-shadow"
-              src="../../../../assets/baggage/ic_setting.png"
-              @click="show"
-            >
+          <el-form-item v-is="['ti_columnSettings']">
+            <img class="btn-img btn-shadow" src="../../../../assets/baggage/ic_setting.png" @click="show">
           </el-form-item>
         </div>
       </el-form>
     </div>
     <!--表格-->
-    <div
-      v-loading="loading"
-      class="terminal-table"
-      element-loading-text="拼命加载中"
-      element-loading-spinner="el-icon-loading"
-      element-loading-background="rgba(0, 0, 0, 0.8)"
-    >
-      <el-table
-        ref="table"
-        class="table"
-        :data="dealedTableData"
-        :height="computedTableHeight"
-        show-summary
-        :summary-method="summaryMethod"
-        :span-method="arraySpanMethod"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        border
-        stripe
-        fit
-        @cell-click="cellClickHandler"
-      >
-        <el-table-column
-          v-for="col in tableColsCopy"
-          :key="col.prop"
-          :prop="col.prop"
-          :label="col.label"
-          :width="col.width"
-          :fixed="col.fixed"
-        >
-          <el-table-column
-            v-for="childCol in col.children"
-            :key="childCol.prop"
-            :prop="childCol.prop"
-            :label="childCol.label"
-            :width="childCol.width"
-            :formatter="tableFormat"
-          >
+    <div v-loading="loading" class="terminal-table" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
+      <el-table ref="table" class="table" :data="dealedTableData" :height="computedTableHeight" show-summary :summary-method="summaryMethod" :span-method="arraySpanMethod" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" border stripe fit @cell-click="cellClickHandler">
+        <el-table-column v-for="col in tableColsCopy" :key="col.prop" :prop="col.prop" :label="col.label" :width="col.width" :fixed="col.fixed">
+          <el-table-column v-for="childCol in col.children" :key="childCol.prop" :prop="childCol.prop" :label="childCol.label" :width="childCol.width" :formatter="tableFormat">
             <template #header>
-              <el-tooltip
-                :content="childCol.desc || childCol.label"
-                placement="top"
-              >
-                <TableHeaderCell
-                  :label="childCol.label"
-                  :filter-options="tableDataFilters[childCol.prop]"
-                  :filter-values.sync="filterValues[childCol.prop]"
-                  :sortable="childCol.sortable"
-                  :sort-rule.sync="tableDataSortRules[childCol.prop]"
-                />
+              <el-tooltip :content="childCol.desc || childCol.label" placement="top">
+                <TableHeaderCell :label="childCol.label" :filter-options="tableDataFilters[childCol.prop]" :filter-values.sync="filterValues[childCol.prop]" :sortable="childCol.sortable" :sort-rule.sync="tableDataSortRules[childCol.prop]" />
               </el-tooltip>
             </template>
           </el-table-column>
@@ -252,38 +110,18 @@
       </el-table>
     </div>
     <!--列设置-->
-    <Dialog
-      :flag="dialogFlag"
-      class="dialog-check-cols"
-    >
+    <Dialog :flag="dialogFlag" class="dialog-check-cols">
       <div class="col-dialog">
         <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"
-          >确定</el-button>
-          <el-button
-            size="medium"
-            @click="hide"
-          >取消</el-button>
+          <el-button size="medium" class="r24" type="primary" @click="onCheck">确定</el-button>
+          <el-button size="medium" @click="hide">取消</el-button>
         </div>
       </div>
     </Dialog>
@@ -305,7 +143,7 @@ export default {
   name: 'DepartureTerminalView',
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
   mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  data () {
     return {
       optionProps: {
         value: 'inAicompanyCode2',
@@ -480,13 +318,13 @@ export default {
     }
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate
     }
   },
   watch: {
     dealedTableData: {
-      handler(val) {
+      handler (val) {
         this.spanArr = []
         let contactDot = this.contactDot
         val.forEach((item, index, arr) => {
@@ -509,10 +347,10 @@ export default {
       deep: true
     }
   },
-  created() {
+  created () {
     // this.getAirPortData()
   },
-  mounted() {
+  mounted () {
     this.$refs['form'].validateField('flightDate')
     this.getAirPortData()
     this.table = this.$refs.table.bodyWrapper
@@ -521,7 +359,7 @@ export default {
       that.scrollTop = this.table.scrollTop
     })
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop
     this.getTableData()
     const that = this
@@ -541,20 +379,20 @@ export default {
     //   this.formData.flightDate[1] = endDate
     // }
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
   methods: {
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true
       this.hasSetTableScroll = false
       if (this.loopEvent) {
@@ -566,7 +404,7 @@ export default {
         that.getTableData()
       }, 3000)
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = []
       const rule = this.tableDataSortRules[column.property]
       if (rule) {
@@ -574,7 +412,7 @@ export default {
       }
       return classes.join(' ')
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = []
       if (row.hasArrived) {
         classes.push('bgl-hui')
@@ -584,7 +422,7 @@ export default {
       }
       return classes.join(' ')
     },
-    changeView() {
+    changeView () {
       // const query = {
       //   ...this.formData,
       //   startDate: this.startDate,
@@ -597,18 +435,18 @@ export default {
       // })
       this.$router.push('/transfer/departure')
     },
-    airPortChange() {
+    airPortChange () {
       this.getAviationData()
       this.upAviationData()
       this.resetLoopEvent()
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.getAviationData()
       this.upAviationData()
       this.resetLoopEvent()
     },
     // 选择机场
-    async getAirPortData() {
+    async getAirPortData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAirId,
@@ -628,7 +466,7 @@ export default {
       }
     },
     // 选择航司
-    async getAviationData() {
+    async getAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviJoinId,
@@ -644,7 +482,7 @@ export default {
       }
     },
     // 选择航司
-    async upAviationData() {
+    async upAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviLeaveId,
@@ -670,7 +508,7 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return
       }
@@ -711,7 +549,7 @@ export default {
         console.log('出错了', error)
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       this.arrivalCount = 0
       this.baggageCount = 0
       tableData.forEach(item => {
@@ -727,7 +565,7 @@ export default {
         this.setTableScroll()
       })
     },
-    hasArrived(flight) {
+    hasArrived (flight) {
       if (flight.actualLandingTime) {
         const now = new Date()
         const actualLandingTime = new Date(flight.actualLandingTime.replace('T', ' '))
@@ -737,7 +575,7 @@ export default {
       }
       return flight['hasArrived']
     },
-    setTableScroll() {
+    setTableScroll () {
       if (!this.singleDay || this.hasSetTableScroll || this.arrivalCount === 0) {
         return
       }
@@ -757,7 +595,7 @@ export default {
       }, 0)
       this.hasSetTableScroll = true
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter(item => !isNaN(item))
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -767,7 +605,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString()
       if (num.length < 6) {
         num = '0' + num // 如未满八位数,添加"0"补位
@@ -780,7 +618,7 @@ export default {
       }
       this.setNumberTransform()
     },
-    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+    arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
       for (let i = 0; i < 7; i++) {
         if (columnIndex === i) {
           const _row = this.spanArr[rowIndex]
@@ -817,7 +655,7 @@ export default {
       optgroup,
       select,
       textarea {
-        font-family: Helvetica, 'Microsoft YaHei';
+        font-family: Helvetica, "Microsoft YaHei";
         font-size: 14px;
       }
       .el-switch__label {
@@ -923,7 +761,7 @@ export default {
       padding: 0;
       text-align: center;
       font-size: 14px;
-      font-family: Helvetica, 'Microsoft YaHei';
+      font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
     .cell-click {
@@ -957,7 +795,7 @@ export default {
         &.redBorder {
           position: relative;
           &::after {
-            content: '';
+            content: "";
             position: absolute;
             left: 0;
             bottom: 0;

+ 56 - 218
src/views/baggageManagement/components/transferDeparture/index.vue

@@ -8,17 +8,8 @@
 <template>
   <div class="transfer-out">
     <!--功能区-表单-->
-    <div
-      ref="formWrap"
-      class="terminal-form-wrap"
-    >
-      <el-form
-        ref="form"
-        :inline="true"
-        :model="formData"
-        :rules="rules"
-        class="form"
-      >
+    <div ref="formWrap" class="terminal-form-wrap">
+      <el-form ref="form" :inline="true" :model="formData" :rules="rules" class="form">
         <div class="form-left">
           <el-form-item prop="currentAirport">
             <!-- <el-cascader
@@ -33,52 +24,15 @@
             filterable
             @change="setCurrentAirport"
           /> -->
-            <el-select
-              v-model="formData.currentAirport"
-              class="input-shadow"
-              size="small"
-              style="width: 100px;"
-              filterable
-              placeholder="请选择机场"
-              @change="airPortChange"
-            >
-              <el-option
-                v-for="(item, index) in AirportList"
-                :key="index"
-                :label="item.planDepartureApt"
-                :value="item.planDepartureApt"
-              />
+            <el-select v-model="formData.currentAirport" class="input-shadow" size="small" style="width: 100px;" filterable placeholder="请选择机场" @change="airPortChange">
+              <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planDepartureApt" :value="item.planDepartureApt" />
             </el-select>
           </el-form-item>
           <el-form-item prop="inboundCarrier">
-            <el-cascader
-              v-model="formData.inboundCarrier"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierProps"
-              :props="optionProps"
-              placeholder="进港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.inboundCarrier" class="input-shadow" style="width: 150px" size="small" :options="carrierProps" :props="optionProps" placeholder="进港承运航司" collapse-tags clearable filterable @change="resetLoopEvent" />
           </el-form-item>
           <el-form-item prop="outgoingAirline">
-            <el-cascader
-              v-model="formData.outgoingAirline"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierPropsop"
-              :props="optionPropser"
-              placeholder="离港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.outgoingAirline" class="input-shadow" style="width: 150px" size="small" :options="carrierPropsop" :props="optionPropser" placeholder="离港承运航司" collapse-tags clearable filterable @change="resetLoopEvent" />
           </el-form-item>
           <!-- <el-form-item prop="startDate">
             <el-date-picker
@@ -104,147 +58,51 @@
               @change="endDateChangeHandler"
             />
           </el-form-item> -->
-          <el-form-item
-            prop="flightDate"
-            label="航班日期"
-          >
-            <el-date-picker
-              v-model="formData.flightDate"
-              size="small"
-              style="width: 300px;"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="dateRangePickerOptions"
-              @change="dateChangeHandler"
-            />
+          <el-form-item prop="flightDate" label="航班日期">
+            <el-date-picker v-model="formData.flightDate" size="small" style="width: 300px;" type="daterange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="dateRangePickerOptions" @change="dateChangeHandler" />
           </el-form-item>
           <el-form-item>
             <div class="box-item">
               <p>预计中转数:</p>
-              <li
-                v-for="(item, index) in orderNum"
-                :key="index"
-                :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
-              >
+              <li v-for="(item, index) in orderNum" :key="index" :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }">
                 <span v-if="!isNaN(item)">
                   <i ref="numberItem">0123456789</i>
                 </span>
-                <span
-                  v-else
-                  class="comma"
-                >{{ item }}</span>
+                <span v-else class="comma">{{ item }}</span>
               </li>
             </div>
           </el-form-item>
         </div>
-        <div
-          class="form-right"
-          @keyup.enter="onSubmit(0)"
-        >
+        <div class="form-right" @keyup.enter="onSubmit(0)">
           <el-form-item prop="search">
-            <el-popover
-              :value="popoverVisible"
-              placement="bottom"
-              trigger="manual"
-            >
+            <el-popover :value="popoverVisible" placement="bottom" trigger="manual">
               <span>请输入航班号(示例:CA1234)或行李牌号(示例:1234567890)</span>
-              <el-input
-                slot="reference"
-                v-model="formData.search"
-                class="input-shadow"
-                style="width: 240px;"
-                size="small"
-                placeholder="请输入内容"
-                prefix-icon="el-icon-search"
-                clearable
-                @focus="popoverVisible = true"
-                @blur="popoverVisible = false"
-              />
+              <el-input slot="reference" v-model="formData.search" class="input-shadow" style="width: 240px;" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="onSubmit(0)"
-            >搜索</el-button>
+            <el-button class="btn-shadow" size="mini" type="primary" @click="onSubmit(0)">搜索</el-button>
           </el-form-item>
-          <el-form-item v-is="['ti_showTransit']">
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="changeView"
-            >切换视角</el-button>
+          <el-form-item v-is="['td_showTransit']">
+            <el-button class="btn-shadow" size="mini" type="primary" @click="changeView">切换视角</el-button>
           </el-form-item>
-          <el-form-item v-is="['i_timeIcon']">
+          <el-form-item v-is="['td_timeIcon']">
             <TimeZoneSelector />
           </el-form-item>
-          <el-form-item>
-            <img
-              class="btn-img btn-shadow"
-              src="../../../../assets/baggage/ic_setting.png"
-              @click="show"
-            >
+          <el-form-item v-is="['td_columnSettings']">
+            <img class="btn-img btn-shadow" src="../../../../assets/baggage/ic_setting.png" @click="show">
           </el-form-item>
         </div>
       </el-form>
     </div>
     <!--表格-->
-    <div
-      v-loading="loading"
-      class="terminal-table"
-      element-loading-text="拼命加载中"
-      element-loading-spinner="el-icon-loading"
-      element-loading-background="rgba(0, 0, 0, 0.8)"
-    >
-      <el-table
-        ref="table"
-        class="table"
-        :data="dealedTableData"
-        :height="computedTableHeight"
-        show-summary
-        :summary-method="summaryMethod"
-        :span-method="arraySpanMethod"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        border
-        stripe
-        fit
-        @cell-click="cellClickHandler"
-      >
-        <el-table-column
-          v-for="col in tableColsCopy"
-          :key="col.prop"
-          :prop="col.prop"
-          :label="col.label"
-          :width="col.width"
-          :fixed="col.fixed"
-        >
-          <el-table-column
-            v-for="childCol in col.children"
-            :key="childCol.prop"
-            :prop="childCol.prop"
-            :label="childCol.label"
-            :width="childCol.width"
-            :formatter="tableFormat"
-          >
+    <div v-loading="loading" class="terminal-table" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
+      <el-table ref="table" class="table" :data="dealedTableData" :height="computedTableHeight" show-summary :summary-method="summaryMethod" :span-method="arraySpanMethod" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" border stripe fit @cell-click="cellClickHandler">
+        <el-table-column v-for="col in tableColsCopy" :key="col.prop" :prop="col.prop" :label="col.label" :width="col.width" :fixed="col.fixed">
+          <el-table-column v-for="childCol in col.children" :key="childCol.prop" :prop="childCol.prop" :label="childCol.label" :width="childCol.width" :formatter="tableFormat">
             <template #header>
-              <el-tooltip
-                :content="childCol.desc || childCol.label"
-                placement="top"
-              >
-                <TableHeaderCell
-                  :label="childCol.label"
-                  :filter-options="tableDataFilters[childCol.prop]"
-                  :filter-values.sync="filterValues[childCol.prop]"
-                  :sortable="childCol.sortable"
-                  :sort-rule.sync="tableDataSortRules[childCol.prop]"
-                />
+              <el-tooltip :content="childCol.desc || childCol.label" placement="top">
+                <TableHeaderCell :label="childCol.label" :filter-options="tableDataFilters[childCol.prop]" :filter-values.sync="filterValues[childCol.prop]" :sortable="childCol.sortable" :sort-rule.sync="tableDataSortRules[childCol.prop]" />
               </el-tooltip>
             </template>
           </el-table-column>
@@ -252,38 +110,18 @@
       </el-table>
     </div>
     <!--列设置-->
-    <Dialog
-      :flag="dialogFlag"
-      class="dialog-check-cols"
-    >
+    <Dialog :flag="dialogFlag" class="dialog-check-cols">
       <div class="col-dialog">
         <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"
-          >确定</el-button>
-          <el-button
-            size="medium"
-            @click="hide"
-          >取消</el-button>
+          <el-button size="medium" class="r24" type="primary" @click="onCheck">确定</el-button>
+          <el-button size="medium" @click="hide">取消</el-button>
         </div>
       </div>
     </Dialog>
@@ -305,7 +143,7 @@ export default {
   name: 'DepartureTerminalView',
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
   mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  data () {
     return {
       optionProps: {
         value: 'inAicompanyCode2',
@@ -480,14 +318,14 @@ export default {
     }
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate
     }
   },
-  created() {
+  created () {
     // this.getAirPortData()
   },
-  mounted() {
+  mounted () {
     this.$refs['form'].validateField('flightDate')
     this.getAirPortData()
     this.table = this.$refs.table.bodyWrapper
@@ -496,7 +334,7 @@ export default {
       that.scrollTop = this.table.scrollTop
     })
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop
     this.getTableData()
     const that = this
@@ -516,20 +354,20 @@ export default {
     //   this.formData.flightDate[1] = endDate
     // }
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
   methods: {
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true
       this.hasSetTableScroll = false
       if (this.loopEvent) {
@@ -541,7 +379,7 @@ export default {
         that.getTableData()
       }, 3000)
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = []
       const rule = this.tableDataSortRules[column.property]
       if (rule) {
@@ -549,7 +387,7 @@ export default {
       }
       return classes.join(' ')
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = []
       if (row.hasTakeOff) {
         classes.push('bgl-hui')
@@ -559,7 +397,7 @@ export default {
       }
       return classes.join(' ')
     },
-    changeView() {
+    changeView () {
       // const query = {
       //   ...this.formData,
       //   startDate: this.startDate,
@@ -572,18 +410,18 @@ export default {
       // })
       this.$router.push('/transfer/arrival')
     },
-    airPortChange() {
+    airPortChange () {
       this.getAviationData()
       this.upAviationData()
       this.resetLoopEvent()
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.getAviationData()
       this.upAviationData()
       this.resetLoopEvent()
     },
     // 选择机场
-    async getAirPortData() {
+    async getAirPortData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAirLtId,
@@ -603,7 +441,7 @@ export default {
       }
     },
     // 选择航司
-    async getAviationData() {
+    async getAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviJoinLtId,
@@ -619,7 +457,7 @@ export default {
       }
     },
     // 选择航司
-    async upAviationData() {
+    async upAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviLeaveLtId,
@@ -645,7 +483,7 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return
       }
@@ -686,7 +524,7 @@ export default {
         console.log('出错了', error)
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       this.leaveCount = 0
       this.baggageCount = 0
       tableData.forEach(item => {
@@ -702,7 +540,7 @@ export default {
         this.setTableScroll()
       })
     },
-    hasTakeOff(flight) {
+    hasTakeOff (flight) {
       if (flight.actualDepartureTime) {
         const now = new Date()
         const actualDepartureTime = new Date(flight.actualDepartureTime.replace('T', ' '))
@@ -712,7 +550,7 @@ export default {
       }
       return flight['hasTakeOff']
     },
-    setTableScroll() {
+    setTableScroll () {
       if (!this.singleDay || this.hasSetTableScroll || this.leaveCount === 0) {
         return
       }
@@ -732,7 +570,7 @@ export default {
       }, 0)
       this.hasSetTableScroll = true
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter(item => !isNaN(item))
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -742,7 +580,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString()
       if (num.length < 6) {
         num = '0' + num // 如未满八位数,添加"0"补位
@@ -755,7 +593,7 @@ export default {
       }
       this.setNumberTransform()
     },
-    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+    arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
       for (let i = 0; i < 7; i++) {
         if (columnIndex === i) {
           const _row = this.spanArr[rowIndex]
@@ -792,7 +630,7 @@ export default {
       optgroup,
       select,
       textarea {
-        font-family: Helvetica, 'Microsoft YaHei';
+        font-family: Helvetica, "Microsoft YaHei";
         font-size: 14px;
       }
       .el-switch__label {
@@ -898,7 +736,7 @@ export default {
       padding: 0;
       text-align: center;
       font-size: 14px;
-      font-family: Helvetica, 'Microsoft YaHei';
+      font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
     .cell-click {
@@ -932,7 +770,7 @@ export default {
         &.redBorder {
           position: relative;
           &::after {
-            content: '';
+            content: "";
             position: absolute;
             left: 0;
             bottom: 0;