zhongxiaoyu 2 жил өмнө
parent
commit
a878eee0bc

+ 4 - 0
public/config.js

@@ -81,6 +81,10 @@ window.DATACONTENT_ID = {
   baggageDetails: 44, // 行李-详情列表
   baggageMessage: 3066, // 行李-原始报文
 
+  /***-----容器视图------***/
+  containerHistory: 18026,
+  containerBaggage: 18027,
+
   /***-----基础数据------***/
   deployNodeId: 54, //基础数据-节点信息维护-获取二级节点(表格)-id
   deployNodeteoId: 60, //基础数据-节点信息维护-二级页面-id

+ 0 - 5
public/configLoader.js

@@ -1,9 +1,4 @@
 if (!window.configLoadLoop) {
-  const config = document.createElement('script')
-  config.id = 'configJS'
-  config.type = 'text/javascript'
-  config.src = './config.js?t=' + new Date().getTime()
-  document.head.appendChild(config)
   window.configLoadLoop = setInterval(function () {
     document.head.removeChild(document.getElementById('configJS'))
     const config = document.createElement('script')

+ 1 - 0
public/index.html

@@ -8,6 +8,7 @@
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
     <script src="<%= BASE_URL %>configLoader.js" type="text/javascript"></script>
+    <script id="configJS" src="<%= BASE_URL %>config.js" type="text/javascript"></script>
   </head>
   <body>
     <div id="app"></div>

+ 31 - 1
src/router/routes/routes-file-five.js

@@ -56,6 +56,12 @@ const departureRoutes = {
                   name: 'DepartureBaggageView',
                   component: () => import('@/views/baggageManagement/components/departure/baggage'),
                   meta: { title: '行李视图', keepAlive: true }
+                },
+                {
+                  path: '/departure/containerView',
+                  name: 'DepartureContainerView',
+                  component: () => import('@/views/baggageManagement/components/departure/container'),
+                  meta: { title: '容器视图', keepAlive: true }
                 }
               ]
             }
@@ -110,6 +116,12 @@ const arrivalRoutes = {
                   name: 'ArrivalBaggageView',
                   component: () => import('@/views/baggageManagement/components/arrival/baggage'),
                   meta: { title: '行李视图', keepAlive: true }
+                },
+                {
+                  path: '/arrival/containerView',
+                  name: 'ArrivalContainerView',
+                  component: () => import('@/views/baggageManagement/components/arrival/container'),
+                  meta: { title: '容器视图', keepAlive: true }
                 }
               ]
             }
@@ -164,6 +176,12 @@ const transferRoutes = {
                   name: 'TransferArrivalBaggageView',
                   component: () => import('@/views/baggageManagement/components/transferArrival/baggage'),
                   meta: { title: '行李视图', keepAlive: true }
+                },
+                {
+                  path: '/transfer/arrival/containerView',
+                  name: 'TransferArrivalContainerView',
+                  component: () => import('@/views/baggageManagement/components/transferArrival/container'),
+                  meta: { title: '容器视图', keepAlive: true }
                 }
               ]
             }
@@ -198,6 +216,12 @@ const transferRoutes = {
                   name: 'TransferDepartureBaggageView',
                   component: () => import('@/views/baggageManagement/components/transferDeparture/baggage'),
                   meta: { title: '行李视图', keepAlive: true }
+                },
+                {
+                  path: '/transfer/departure/containerView',
+                  name: 'TransferDepartureContainerView',
+                  component: () => import('@/views/baggageManagement/components/transferDeparture/container'),
+                  meta: { title: '容器视图', keepAlive: true }
                 }
               ]
             }
@@ -246,7 +270,13 @@ const advanceRoutes = {
               name: 'AdvancedBag',
               component: () => import('@/views/advancedQuery/views/advancedBag.vue'),
               meta: { title: '行李视图', keepAlive: true }
-            }
+            },
+            {
+              path: 'containerView',
+              name: 'AdvancedContainer',
+              component: () => import('@/views/advancedQuery/views/advancedContainer.vue'),
+              meta: { title: '容器视图', keepAlive: true }
+            },
           ]
         }
       ]

+ 23 - 0
src/views/advancedQuery/views/advancedContainer.vue

@@ -0,0 +1,23 @@
+<!--
+ * @Author: Badguy
+ * @Date: 2022-03-09 11:51:26
+ * @LastEditTime: 2022-03-09 11:51:26
+ * @LastEditors: your name
+ * @Description: 容器视图
+ * have a nice day!
+-->
+
+<template>
+  <ContainerView />
+</template>
+
+<script>
+import ContainerView from '@/views/baggageManagement/components/container'
+
+export default {
+  name: 'AdvacedContainer',
+  components: {
+    ContainerView
+  }
+}
+</script>

+ 19 - 3
src/views/advancedQuery/views/advancedHome.vue

@@ -632,7 +632,7 @@ export default {
         {
           statusName: '卸机',
           statusCode: '卸机'
-        },
+        }
         // {
         //   statusName: '已中转',
         //   statusCode: '已中转'
@@ -890,7 +890,11 @@ export default {
     },
     cellClass({ row, column, rowIndex, columnIndex }) {
       const classes = []
-      if (['flightNO', 'bagSN', 'preFlightNO', 'transferFlightNO'].includes(column.property) && row[column.property]) {
+      if (
+        ['flightNO', 'bagSN', 'U_Device_ID', 'preFlightNO', 'transferFlightNO'].includes(column.property) &&
+        row[column.property] &&
+        row[column.property] !== 'FBULK'
+      ) {
         classes.push('cell-click')
         if (
           this.clickedCells.some(
@@ -906,7 +910,11 @@ export default {
       return classes.join(' ')
     },
     cellClickHandler(row, column, cell, event) {
-      if (['flightNO', 'bagSN', 'preFlightNO', 'transferFlightNO'].includes(column.property) && row[column.property]) {
+      if (
+        ['flightNO', 'bagSN', 'U_Device_ID', 'preFlightNO', 'transferFlightNO'].includes(column.property) &&
+        row[column.property] &&
+        row[column.property] !== 'FBULK'
+      ) {
         this.$store.dispatch('keepAlive/addClickedCell', {
           row,
           columnProp: column.property,
@@ -932,6 +940,14 @@ export default {
               }
             })
             break
+          case 'U_Device_ID':
+            this.$router.push({
+              path: '/advance/containerView',
+              query: {
+                containerID: row.U_Device_ID
+              }
+            })
+            break
           case 'transferFlightNO':
             this.$router.push({
               path: '/advance/flightView',

+ 23 - 0
src/views/baggageManagement/components/arrival/container.vue

@@ -0,0 +1,23 @@
+<!--
+ * @Author: Badguy
+ * @Date: 2022-03-09 11:51:26
+ * @LastEditTime: 2022-03-09 11:51:26
+ * @LastEditors: your name
+ * @Description: 进港容器视图
+ * have a nice day!
+-->
+
+<template>
+  <ContainerView />
+</template>
+
+<script>
+import ContainerView from '../container'
+
+export default {
+  name: 'ArrivalContainerView',
+  components: {
+    ContainerView
+  }
+}
+</script>

+ 27 - 13
src/views/baggageManagement/components/baggage/index.vue

@@ -589,7 +589,11 @@ export default {
     },
     cellClass({ row, column, rowIndex, columnIndex }) {
       const classes = []
-      if (column.property === 'flightNO') {
+      if (
+        ['flightNO', 'U_Device_ID'].includes(column.property) &&
+        row[column.property] &&
+        row[column.property] !== 'FBULK'
+      ) {
         classes.push('cell-click')
       }
       if (['departureAirport', 'landingAirport'].includes(column.property)) {
@@ -598,18 +602,28 @@ export default {
       return classes.join(' ')
     },
     cellClickHandler(row, column, cell, event) {
-      switch (column.property) {
-        case 'flightNO':
-          this.$router.push({
-            path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/flightView`,
-            query: {
-              flightNO: row.flightNO,
-              flightDate: row.flightDate
-            }
-          })
-          break
-        default:
-          break
+      if (row[column.property] && row[column.property] !== 'FBULK') {
+        switch (column.property) {
+          case 'flightNO':
+            this.$router.push({
+              path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/flightView`,
+              query: {
+                flightNO: row.flightNO,
+                flightDate: row.flightDate
+              }
+            })
+            break
+          case 'U_Device_ID':
+            this.$router.push({
+              path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/containerView`,
+              query: {
+                containerID: row.U_Device_ID
+              }
+            })
+            break
+          default:
+            break
+        }
       }
     },
     tableSpanMethod({ row, column, rowIndex, columnIndex }) {

+ 468 - 0
src/views/baggageManagement/components/container/index.vue

@@ -0,0 +1,468 @@
+<template>
+  <div class="container-view">
+    <div
+      v-loading="treeLoading"
+      element-loading-text="拼命加载中"
+      element-loading-spinner="el-icon-loading"
+      element-loading-background="rgba(0, 0, 0, 0.8)"
+      class="container-left"
+    >
+      <el-tree
+        :data="containerHistoryTree"
+        :props="defaultTreeProps"
+        node-key="index"
+        default-expand-all
+        :expand-on-click-node="false"
+        @current-change="currentChangeHandler"
+      />
+    </div>
+    <div
+      v-loading="tableLoading"
+      element-loading-text="拼命加载中"
+      element-loading-spinner="el-icon-loading"
+      element-loading-background="rgba(0, 0, 0, 0.8)"
+      class="container-right"
+    >
+
+      <el-table
+        ref="table"
+        :data="dealedTableData"
+        border
+        stripe
+        fit
+        height="calc(100vh - 80px - 17px - 20px)"
+        :header-cell-class-name="headerCellClass"
+        :row-class-name="tableRowClassName"
+        :cell-class-name="cellClass"
+        @cell-click="cellClickHandler"
+      >
+        <el-table-column
+          v-for="col in tableCols"
+          :key="col.prop"
+          :prop="col.prop"
+          :label="col.label"
+          :width="col.width"
+          :fixed="col.fixed"
+          :formatter="tableFormat"
+        >
+          <template #header>
+            <el-tooltip
+              :content="col.desc || col.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>
+  </div>
+</template>
+
+<script>
+import TableHeaderCell from '@/components/TableHeaderCell'
+import { mapGetters } from 'vuex'
+import { myQuery } from '@/api/dataIntegration'
+import { setTableFilters } from '@/utils/table'
+
+export default {
+  name: 'ContainerView',
+  components: {
+    TableHeaderCell
+  },
+  data() {
+    return {
+      queryData: {},
+      containerHistory: [],
+      selectedHistoryData: {},
+      defaultTreeProps: {
+        children: 'children',
+        label: 'label'
+      },
+      treeLoading: false,
+      tableLoading: false,
+      tableCols: [
+        {
+          prop: 'passengerName',
+          label: '旅客姓名',
+          desc: '指旅客姓名的拼音大写',
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'luggageSN',
+          label: '行李牌号',
+          desc: '指行李的10位数字行李牌号码',
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'specialType',
+          label: '特殊行李类型',
+          desc: '指有别于普通托运行李的特殊行李分类,包括(装笼动物、机组行李、易碎行李、VIP行李等),参考BSM报文.E项说明',
+          width: 115,
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'isDEL',
+          label: '删除',
+          desc: '指旅客是否取消值机托运,根据BSM报文状态是否有DEL判断,已删除的行李记录为斜体灰色字体',
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'activeState',
+          label: '激活',
+          desc: '指托运行李是否被激活,参照BSM报文.S项说明',
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'luggageWeight',
+          label: '重量',
+          desc: '指托运行李的重量,参照BSM报文.W项说明'
+        },
+        {
+          prop: 'lastStatus',
+          label: '最新状态',
+          desc: '指托运行李的当前查询时间所在的节点状态',
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'lastLocation',
+          label: '最新位置',
+          desc: '指托运行李的当前查询时间所在的节点状态的识读位置代号',
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'inFlightNO',
+          label: '中转进航班',
+          desc: '指有中转行李转出的进港航班号',
+          width: 110,
+          filterable: true,
+          sortable: true
+        },
+        {
+          prop: 'transferFlightNO',
+          label: '中转出航班',
+          desc: '指有中转行李转入的离港航班号',
+          width: 110,
+          filterable: true,
+          sortable: true
+        }
+      ],
+      tableData: [],
+      tableDataFilters: {},
+      filterValues: {},
+      tableDataSortRules: {}
+    }
+  },
+  computed: {
+    ...mapGetters(['clickedCells']),
+    containerHistoryTree() {
+      return [
+        {
+          index: -1,
+          label: '容器历史',
+          children: this.containerHistory.map(({ flightNO, flightDate, departureAirport, arriveAirport }, index) => ({
+            index,
+            label: [flightNO, flightDate.replaceAll('-', '/'), departureAirport, arriveAirport].join('-')
+          }))
+        }
+      ]
+    },
+    dealedTableData() {
+      const filtered = this.tableData.filter(item => {
+        let flag = true
+        Object.entries(this.filterValues).forEach(([key, arr]) => {
+          if (arr.length && !arr.includes(item[key])) {
+            flag = false
+          }
+        })
+        return flag
+      })
+      const sortRules = Object.entries(this.tableDataSortRules).reduce(
+        (pre, [key, value]) => {
+          if (value) {
+            pre[0].push(key)
+            value = value === 'ascending' ? 'asc' : 'desc'
+            pre[1].push(value)
+          }
+          return pre
+        },
+        [[], []]
+      )
+      return this._.orderBy(filtered, sortRules[0], sortRules[1])
+    }
+  },
+  watch: {
+    $route: {
+      handler({ path, query }) {
+        if (path.includes('containerView')) {
+          const { containerID } = query
+          if (containerID) {
+            const { containerID: oldContainerID } = this.queryData
+            if (containerID !== oldContainerID) {
+              this.queryData = { containerID }
+              this.queryContainerHistory([containerID])
+            }
+          } else {
+            this.$router.push('/')
+          }
+        }
+      },
+      deep: true,
+      immediate: true
+    }
+  },
+  created() {
+    Object.values(this.tableCols).forEach(({ prop, filterable, sortable }) => {
+      if (filterable) {
+        this.$set(this.tableDataFilters, prop, [])
+        this.$set(this.filterValues, prop, [])
+      }
+      if (sortable) {
+        this.$set(this.tableDataSortRules, prop, '')
+      }
+    })
+  },
+  updated() {
+    // table数据更新
+    this.$nextTick(() => {
+      this.$refs.table.doLayout()
+    })
+  },
+  deactivated() {
+    this.treeLoading = false
+    this.tableLoading = false
+  },
+  beforeDestroy() {
+    this.treeLoading = false
+    this.tableLoading = false
+  },
+  methods: {
+    currentChangeHandler({ index }) {
+      if (index > -1) {
+        this.selectedHistoryData = this.containerHistory[index]
+        const { flightNO, flightDate, departureAirport, arriveAirport, containerID } = this.selectedHistoryData
+        const dataContent = [flightNO, flightDate, departureAirport, arriveAirport, containerID]
+        this.queryBaggageList(dataContent)
+      }
+    },
+    // 给表头单元格加上 ascending 或 descending 使用 element 自带的排序箭头变色
+    headerCellClass({ row, column, rowIndex, columnIndex }) {
+      const classes = []
+      const rule = this.tableDataSortRules[column.property]
+      if (rule) {
+        classes.push(rule)
+      }
+      return classes.join(' ')
+    },
+    tableRowClassName({ row, rowIndex }) {
+      const classes = []
+      if (row.isDEL === 'DEL') {
+        classes.push('bgl-deleted')
+      }
+      return classes.join(' ')
+    },
+    cellClass({ row, column, rowIndex, columnIndex }) {
+      const classes = []
+      if (
+        [
+          'flightNO',
+          'luggageSN'
+          // 'inFlightNO',
+          // 'transferFlightNO'
+        ].includes(column.property) &&
+        row[column.property]
+      ) {
+        classes.push('cell-click')
+        if (
+          this.clickedCells.some(
+            cell =>
+              cell.pageName === 'advance' &&
+              Object.entries(cell.row).every(([key, value]) => row[key] === value) &&
+              cell.columnProp === column.property
+          )
+        ) {
+          classes.push('cell-clicked')
+        }
+      }
+      return classes.join(' ')
+    },
+    cellClickHandler(row, column, cell, event) {
+      if (
+        [
+          // 'flightNO',
+          'luggageSN'
+          // 'inFlightNO',
+          // 'transferFlightNO'
+        ].includes(column.property) &&
+        row[column.property]
+      ) {
+        this.$store.dispatch('keepAlive/addClickedCell', {
+          row,
+          columnProp: column.property,
+          pageName: this.$route.name
+        })
+        switch (column.property) {
+          // case 'flightNO':
+          //   this.$router.push({
+          //     path: '/advance/flightView',
+          //     query: {
+          //       flightNO: this.selectedHistoryData.flightNO,
+          //       flightDate: this.selectedHistoryData.flightDate
+          //     }
+          //   })
+          //   break
+          case 'luggageSN':
+            this.$router.push({
+              path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/baggageView`,
+              query: {
+                flightNO: this.selectedHistoryData.flightNO,
+                flightDate: this.selectedHistoryData.flightDate,
+                bagSN: row.luggageSN
+              }
+            })
+            break
+          // case 'inFlightNO':
+          //   this.$router.push({
+          //     path: '/advance/flightView',
+          //     query: {
+          //       flightNO: row.inFlightNO,
+          //       flightDate: row.preFlightDate
+          //     }
+          //   })
+          //   break
+          // case 'transferFlightNO':
+          //   this.$router.push({
+          //     path: '/advance/flightView',
+          //     query: {
+          //       flightNO: row.transferFlightNO,
+          //       flightDate: row.transferFlightDate
+          //     }
+          //   })
+          //   break
+          default:
+            break
+        }
+      }
+    },
+    tableFormat(row, column, cellValue) {
+      switch (column.property) {
+        case 'isDEL':
+          return cellValue === 'DEL' ? cellValue : ''
+        case 'activeState':
+          return cellValue === 1 ? '激活' : '未激活'
+        default:
+          return cellValue ?? ''
+      }
+    },
+    async queryContainerHistory(dataContent) {
+      this.treeLoading = true
+      this.tableData = []
+      try {
+        const result = await myQuery(DATACONTENT_ID.containerHistory, ...dataContent)
+        this.containerHistory = result
+      } catch (error) {
+        console.log('出错了', error.message || error)
+      }
+      this.treeLoading = false
+    },
+    async queryBaggageList(dataContent) {
+      this.tableLoading = true
+      this.tableData = []
+      try {
+        const result = await myQuery(DATACONTENT_ID.containerBaggage, ...dataContent)
+        this.tableData = result
+      } catch (error) {
+        console.log('出错了', error.message || error)
+      }
+      this.tableLoading = false
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.container-view {
+  padding: 17px 24px 20px;
+  display: flex;
+  .container-left {
+    flex: 0 1 352px;
+    margin-right: 16px;
+    background-color: #ffffff;
+    ::v-deep .el-tree > .el-tree-node {
+      > .el-tree-node__children {
+        display: block;
+      }
+      .el-tree-node__content {
+        height: 38px;
+        .el-tree-node__label {
+          letter-spacing: 1px;
+          line-height: 38px;
+          font-size: 14px;
+          font-family: Helvetica, 'Microsoft YaHei';
+          font-weight: bold;
+          color: #101116;
+        }
+      }
+      > .el-tree-node__content {
+        > .el-tree-node__expand-icon.el-icon-caret-right:not(.is-leaf):before {
+          font-size: 16px;
+          color: #101116;
+        }
+        > .el-tree-node__label {
+          font-size: 16px;
+        }
+      }
+    }
+  }
+  .container-right {
+    flex: 1;
+    ::v-deep .el-table {
+      width: 100%;
+      .cell {
+        padding: 0;
+        text-align: center;
+        font-size: 14px;
+        font-family: Helvetica, 'Microsoft YaHei';
+        letter-spacing: 0;
+      }
+      .cell-click {
+        cursor: pointer;
+        color: #2d7cff;
+        &.cell-clicked {
+          color: purple;
+        }
+      }
+      .el-table__header-wrapper,
+      .el-table__fixed-header-wrapper {
+        .cell {
+          font-weight: bold;
+          color: #101116;
+        }
+      }
+      .el-table__body-wrapper,
+      .el-table__fixed-body-wrapper {
+        tr.bgl-deleted {
+          background: #d2d6df;
+          td {
+            background: #d2d6df;
+            font-style: italic;
+          }
+        }
+      }
+    }
+  }
+}
+</style>

+ 23 - 0
src/views/baggageManagement/components/departure/container.vue

@@ -0,0 +1,23 @@
+<!--
+ * @Author: Badguy
+ * @Date: 2022-03-09 11:51:26
+ * @LastEditTime: 2022-03-09 11:51:26
+ * @LastEditors: your name
+ * @Description: 离港容器视图
+ * have a nice day!
+-->
+
+<template>
+  <ContainerView />
+</template>
+
+<script>
+import ContainerView from '../container'
+
+export default {
+  name: 'DepartureContainerView',
+  components: {
+    ContainerView
+  }
+}
+</script>

+ 23 - 0
src/views/baggageManagement/components/departureC/container.vue

@@ -0,0 +1,23 @@
+<!--
+ * @Author: Badguy
+ * @Date: 2022-03-09 11:51:26
+ * @LastEditTime: 2022-03-09 11:51:26
+ * @LastEditors: your name
+ * @Description: 离港容器视图
+ * have a nice day!
+-->
+
+<template>
+  <ContainerView />
+</template>
+
+<script>
+import ContainerView from '../container'
+
+export default {
+  name: 'DepartureContainerView',
+  components: {
+    ContainerView
+  }
+}
+</script>

+ 24 - 6
src/views/baggageManagement/components/flight/index.vue

@@ -761,8 +761,11 @@ export default {
           'transferFlightNO',
           'transferNumber',
           'PassengerNameUpcase',
-          'BagSN'
-        ].includes(column.property)
+          'BagSN',
+          'U_Device_ID'
+        ].includes(column.property) &&
+        row[column.property] &&
+        row[column.property] !== 'FBULK'
       ) {
         classes.push('cell-click')
         if (
@@ -780,10 +783,17 @@ export default {
     },
     cellClickHandler(row, column, cell, event) {
       if (
-        ['preFlightNO', 'totalNumber', 'transferFlightNO', 'transferNumber', 'PassengerNameUpcase', 'BagSN'].includes(
-          column.property
-        ) &&
-        row[column.property]
+        [
+          'preFlightNO',
+          'totalNumber',
+          'transferFlightNO',
+          'transferNumber',
+          'PassengerNameUpcase',
+          'BagSN',
+          'U_Device_ID'
+        ].includes(column.property) &&
+        row[column.property] &&
+        row[column.property] !== 'FBULK'
       ) {
         this.$store.dispatch('keepAlive/addClickedCell', {
           row,
@@ -853,6 +863,14 @@ export default {
               }
             })
             break
+          case 'U_Device_ID':
+            this.$router.push({
+              path: `/${this.$route.path.split('/').slice(1, -1).join('/')}/containerView`,
+              query: {
+                containerID: row.U_Device_ID
+              }
+            })
+            break
           default:
             break
         }

+ 23 - 0
src/views/baggageManagement/components/transferArrival/container.vue

@@ -0,0 +1,23 @@
+<!--
+ * @Author: Badguy
+ * @Date: 2022-03-09 11:51:26
+ * @LastEditTime: 2022-03-09 11:51:26
+ * @LastEditors: your name
+ * @Description: 中转进港容器视图
+ * have a nice day!
+-->
+
+<template>
+  <ContainerView />
+</template>
+
+<script>
+import ContainerView from '../container'
+
+export default {
+  name: 'TransferArrivalContainerView',
+  components: {
+    ContainerView
+  }
+}
+</script>

+ 23 - 0
src/views/baggageManagement/components/transferDeparture/container.vue

@@ -0,0 +1,23 @@
+<!--
+ * @Author: Badguy
+ * @Date: 2022-03-09 11:51:26
+ * @LastEditTime: 2022-03-09 11:51:26
+ * @LastEditors: your name
+ * @Description: 中转出港容器视图
+ * have a nice day!
+-->
+
+<template>
+  <ContainerView />
+</template>
+
+<script>
+import ContainerView from '../container'
+
+export default {
+  name: 'TransferDepartureContainerView',
+  components: {
+    ContainerView
+  }
+}
+</script>