| | |
| | | payload?.content?.orderId || payload?.orderId || fallbackOrderId || Taro.getStorageSync('orderId'); |
| | | |
| | | const isSameOrder = (incomingOrderId: string, currentOrderId: string) => { |
| | | if (!incomingOrderId || !currentOrderId) return true; |
| | | if (!incomingOrderId && !currentOrderId) return true; |
| | | if (!incomingOrderId || !currentOrderId) return false; |
| | | return String(incomingOrderId) === String(currentOrderId); |
| | | }; |
| | | |
| | |
| | | lastFetchedVehicleOrderIdRef: any |
| | | ) => { |
| | | if (!effectiveOrderId) return; |
| | | const vehicleInfoEmpty = |
| | | !deps.vehicleInfo || |
| | | (!deps.vehicleInfo.plateNumber && !deps.vehicleInfo.vehicleCode && !deps.vehicleInfo.vehicleColor && !deps.vehicleInfo.vehiclePictures); |
| | | const shouldFetchVehicle = |
| | | lastFetchedVehicleOrderIdRef.current !== effectiveOrderId && |
| | | (vehicleInfoEmpty || deps.orderId !== effectiveOrderId); |
| | | const shouldFetchVehicle = lastFetchedVehicleOrderIdRef.current !== effectiveOrderId; |
| | | |
| | | if (deps.orderId !== effectiveOrderId) { |
| | | deps.setOrderId(effectiveOrderId); |
| | | Taro.setStorageSync('orderId', effectiveOrderId); |
| | | } |
| | | if (!shouldFetchVehicle) return; |
| | | lastFetchedVehicleOrderIdRef.current = effectiveOrderId; |
| | | const requestedOrderId = String(effectiveOrderId); |
| | | queryVehicleByOrderId({ orderId: effectiveOrderId }) |
| | | .then((res: any) => { |
| | | const latestOrderId = String(Taro.getStorageSync('orderId') || ''); |
| | | if (latestOrderId !== requestedOrderId) { |
| | | return; |
| | | } |
| | | deps.setVehicleInfo(res); |
| | | }) |
| | | .catch(() => { }); |
| | |
| | | if (!payload?.showCancelPopup) return; |
| | | if (changeStatusOld === 4 || changeStatusOld === 5) { |
| | | deps.setOrderId(''); |
| | | deps.setVehicleInfo({}); |
| | | clearOrderTripStorage(); |
| | | Taro.removeStorageSync('pickupEndTime'); |
| | | Taro.removeStorageSync('waitingTimerStartAt'); |
| | |
| | | return; |
| | | } |
| | | lastFetchedVehicleOrderIdRef.current = null; |
| | | const requestedOrderId = String(currentOrderId || ''); |
| | | queryVehicleByOrderId({ orderId: currentOrderId }) |
| | | .then((res: any) => { |
| | | const latestOrderId = String((depsRef.current.orderId || Taro.getStorageSync('orderId') || '')); |
| | | if (!requestedOrderId || latestOrderId !== requestedOrderId) { |
| | | return; |
| | | } |
| | | currentDeps.setVehicleInfo(res); |
| | | }) |
| | | .catch(() => { }); |