Эх сурвалжийг харах

运单视图-运单跟踪节点显示问题修改

zhongxiaoyu 1 жил өмнө
parent
commit
c3f49872e1

+ 5 - 7
src/components/steps/index.vue

@@ -119,10 +119,12 @@ const props = defineProps({
     type: Array as PropType<(StepData | CombinedStepData)[]>,
     default: () => [],
   },
+  hasMultiple: {
+    type: Boolean,
+    default: false,
+  },
 })
 
-const hasMultiple = ref(false)
-
 watchEffect(() => {
   const steps = props.steps
   const { length } = steps
@@ -131,10 +133,6 @@ watchEffect(() => {
     const nextStep = steps[i + 1]
     const allActive = currentStep.active && nextStep.active
     currentStep.nextActive = nextStep.preActive = allActive
-
-    if ('children' in currentStep || 'children' in nextStep) {
-      hasMultiple.value = true
-    }
   }
 })
 
@@ -158,7 +156,7 @@ const stepStyle = (index: number) => {
     }
   }
   style.width = width
-  if (!hasMultiple.value) {
+  if (!props.hasMultiple) {
     style.transform = 'translate(0, -30%)'
   }
   return style

+ 6 - 4
src/views/realTime/components/WaybillView/index.vue

@@ -73,7 +73,10 @@
                   >日期:{{ trackAirline.flightDate }}</span
                 >
               </div>
-              <Steps :steps="trackAirport.trackSteps" />
+              <Steps
+                :steps="trackAirport.trackSteps"
+                :hasMultiple="hasMultiple"
+              />
             </div>
           </div>
         </div>
@@ -121,15 +124,14 @@ import { CommonData, CommonTableFormatter, CommonValue } from '~/common'
 import { useLoop } from '@/hooks/useLoop'
 import { datetimeToTime } from '@/utils/validate'
 
-const trackRowHeight = computed(() =>
+const hasMultiple = computed(() =>
   trackAirlines.value.some(airline =>
     airline.airports.some(airport =>
       airport.trackSteps.some(step => 'children' in step)
     )
   )
-    ? 280
-    : 208
 )
+const trackRowHeight = computed(() => (unref(hasMultiple) ? 280 : 208))
 
 const props = defineProps({
   name: {

+ 6 - 7
src/views/realTime/hooks/useTrackData.ts

@@ -73,10 +73,9 @@ export function useTrackData(name: string, trackData: MaybeRef<CommonData[]>) {
             ...NODE_CODE.internationalDepartureTransfer,
           ].some(node => node.nodeCode === nodeCode) ||
           (name.includes('Departure') &&
-            ![
-              ...NODE_CODE.arrival,
-              ...NODE_CODE.internationalArrival,
-            ].some(node => node.nodeCode === nodeCode))
+            ![...NODE_CODE.arrival, ...NODE_CODE.internationalArrival].some(
+              node => node.nodeCode === nodeCode
+            ))
         const airport = isDeparture
           ? String(departureAirport ?? '')
           : String(arriveAirport ?? '')
@@ -119,12 +118,12 @@ export function useTrackData(name: string, trackData: MaybeRef<CommonData[]>) {
         })
         const airline = airlines.find(
           airline =>
-            airline.flightNO === flightNO &&
-            airline.flightDate === airline.flightDate
+            airline.flightNO === String(flightNO ?? '') &&
+            airline.flightDate === String(flightDate ?? '')
         )
         if (airline) {
           const trackAirport = airline.airports.find(
-            trackAirport => trackAirport.airport === airport
+            trackAirport => trackAirport.isDeparture === isDeparture
           )
           if (trackAirport) {
             trackAirport.trackSteps = trackAirport.trackSteps.map(node => {