Bläddra i källkod

行李报文查询接口对接

zhongxiaoyu 2 år sedan
förälder
incheckning
f0669392c9
2 ändrade filer med 52 tillägg och 39 borttagningar
  1. 3 2
      src/api/dataIntegration.js
  2. 49 37
      src/views/baggageManagement/components/baggage/index.vue

+ 3 - 2
src/api/dataIntegration.js

@@ -1,7 +1,7 @@
 /*
  * @Author: Badguy
  * @Date: 2022-04-13 14:35:17
- * @LastEditTime: 2022-05-06 12:32:57
+ * @LastEditTime: 2022-05-10 09:09:56
  * @LastEditors: your name
  * @Description: 数据整合接口
  * have a nice day!
@@ -70,7 +70,8 @@ export const queryMap = {
   transferInBaggage: 47,
   transferOutBaggage: 48,
   flightInfo: 49,
-  baggageTrackByID: 61
+  baggageTrackByID: 61,
+  message: 75
 }
 
 export async function myQuery(id, ...dataContent) {

+ 49 - 37
src/views/baggageManagement/components/baggage/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-07 15:56:23
+ * @LastEditTime: 2022-05-10 09:33:09
  * @LastEditors: your name
  * @Description: 行李视图
 -->
@@ -155,9 +155,9 @@
               :span="6"
             >
               <div class="card">
-                <div class="message-date">{{ message.date }}</div>
+                <!-- <div class="message-date">{{ message.date }}</div> -->
                 <div class="message-content">
-                  {{ message.content.replace(/\s+/g, "").split(".").join("\n.") }}
+                  {{ message }}
                   <!-- BSM <br>
               .V/1LHRB <br>
               .F/XX1640/08APR/PEK/Y <br>
@@ -221,7 +221,6 @@
 <script>
 import Dialog from '@/layout/components/Dialog/index.vue'
 import { queryMap, myQuery } from '@/api/dataIntegration'
-import { BaggageMessageQuery } from '@/api/flight'
 import tableColsMixin from '../../mixins/tableCols'
 
 export default {
@@ -399,7 +398,7 @@ export default {
       baggageTableData: [],
       spanArr: [],
       pos: 0,
-      loopEvent:null
+      loopEvent: null
     }
   },
   computed: {
@@ -412,23 +411,34 @@ export default {
       return 0
     }
   },
-  // watch: {
-  //   infoBtn(val) {
-  //     if (val === '跟踪报文') {
-  //       const { BagSN: bagNo, FlightNO: flightNo, FlightDate: flightDate } = this.queryData
-  //       const params = { flightNo, flightDate, bagNo }
-  //       this.baggageMessageQuery(params)
-  //     }
-  //   }
-  // },
+  watch: {
+    infoBtn(val) {
+      if (val === '跟踪报文') {
+        const that = this
+        this.getMessage()
+        this.queryMessageLoop = setInterval(function () {
+          that.getMessage()
+        }, 3000)
+      } else {
+        clearInterval(this.queryMessageLoop)
+        this.queryMessageLoop = null
+      }
+    }
+  },
   mounted() {
     this.queryData = this._.cloneDeep(this.$route.query)
     // console.log(this.queryData)
-    let that = this
-    this.loopEvent = setInterval(function(){
-    that.queryBaggageAll()
-
-    },3000)
+    const that = this
+    this.queryBaggageAll()
+    this.loopEvent = setInterval(function () {
+      that.queryBaggageAll()
+    }, 3000)
+  },
+  beforeDestroy() {
+    clearInterval(this.loopEvent)
+    this.loopEvent = null
+    clearInterval(this.queryMessageLoop)
+    this.queryMessageLoop = null
   },
   methods: {
     // objectSpanMethod({ row, column, rowIndex, columnIndex }) {
@@ -450,8 +460,8 @@ export default {
         } else {
           if (
             tableData[i]['flightNo'] === tableData[i - 1]['flightNo'] &&
-            tableData[i]['flightDate'] === tableData[i - 1]['flightDate']&&
-            tableData[i]['departureAirport'] === tableData[i - 1]['departureAirport']&&
+            tableData[i]['flightDate'] === tableData[i - 1]['flightDate'] &&
+            tableData[i]['departureAirport'] === tableData[i - 1]['departureAirport'] &&
             tableData[i]['landingAirport'] === tableData[i - 1]['landingAirport']
           ) {
             spanArr[pos] += 1
@@ -466,7 +476,7 @@ export default {
       this.pos = pos
     },
     tableSpanMethod({ row, column, rowIndex, columnIndex }) {
-      if (['flightNo', 'flightDate','departureAirport','landingAirport'].includes(column['property'])) {
+      if (['flightNo', 'flightDate', 'departureAirport', 'landingAirport'].includes(column['property'])) {
         const _row = this.spanArr[rowIndex]
         const _col = _row > 0 ? 1 : 0
         return {
@@ -487,6 +497,10 @@ export default {
     queryBaggageDetails(dataContent) {
       return myQuery(queryMap.baggageDetailsByID, ...dataContent)
     },
+    // 原始报文
+    queryMessage(dataContent) {
+      return myQuery(queryMap.message, ...dataContent)
+    },
     async queryBaggageAll(queryData = this.queryData) {
       const { FlightNO, FlightDate, BagSN } = queryData
       const dataContent = [FlightNO, FlightDate, BagSN]
@@ -500,21 +514,21 @@ export default {
           // this.queryBaggageTrack(new Array(2).fill(dataContent).flat()),
           this.queryBaggageDetails(new Array(6).fill(dataContent).flat())
         ])
-        baggageBasicInfo[0].FlightNO = FlightNO;
+        baggageBasicInfo[0].FlightNO = FlightNO
         baggageBasicInfo.length && (this.baggageBasicInfo = baggageBasicInfo[0])
         // this._.sortBy(baggageTrack, item => item.DealTime).forEach((item, index) => {
         //   item['DealTime'] = item['DealTime'].replace('T', '\n')
         //   item.NodeNameEN && this.stepData.splice(index, 1, item)
         // })
-        let baggageDetailsData = this._.sortBy(baggageDetails, ['flightDate','dealTime'])
+        const baggageDetailsData = this._.sortBy(baggageDetails, ['flightDate', 'dealTime'])
 
         this.baggageTableData = baggageDetailsData.map((item, index) => {
           this.stepData.splice(index, 1, {
             NodeNameEN: item.nodeCode,
             DealTime: item.dealTime.replace('T', '\n')
           })
-          if(item['dealTime'].split('T').length>1){
-          item['dealTime'] = item['dealTime'].split('T')[1]
+          if (item['dealTime'].split('T').length > 1) {
+            item['dealTime'] = item['dealTime'].split('T')[1]
           }
           item['departureAirport'] = `${item['departureAirport']}\n${item['departureTime'].split('T')[1]}`
           item['landingAirport'] = `${item['landingAirport']}\n${item['landingTime'].split('T')[1]}`
@@ -525,19 +539,17 @@ export default {
         console.log('错误', error)
       }
     },
-    async baggageMessageQuery(params) {
+    async getMessage(queryData = this.queryData) {
+      const { FlightNO, FlightDate, BagSN } = queryData
+      const dataContent = [FlightNO, FlightDate, BagSN]
       try {
-        const result = await BaggageMessageQuery(params)
-        // console.log(result.returnData)
-        this.messageList = result.returnData
+        const messageList = await this.queryMessage(dataContent)
+        this.messageList = messageList
       } catch (error) {
-        console.log(error)
+        console.log('错误', error)
       }
     }
-  },
-  beforeDestroy() {
-    clearInterval(this.loopEvent);
-  },
+  }
 }
 </script>
 <style lang="scss">
@@ -735,8 +747,8 @@ export default {
         flex-wrap: wrap;
         .card {
           width: 100%;
-          min-height: 330px;
-          padding: 24px 0 0 32px;
+          min-height: 440px;
+          padding: 24px 0 24px 32px;
           background: #ffffff;
           box-shadow: 0px 3px 2px 0px rgba(0, 0, 0, 0.29);
           margin-bottom: 24px;