hejianhao
2026-03-24 ba1490d3bfcf872a107769543503151468e3665e
fix: 修复取消弹窗显示时的订单状态处理逻辑

在订单状态回调中,当需要显示取消弹窗时,使用变化前的tripStatus值进行条件判断,避免使用可能已更新的状态值。同时调整setTripStatus(10)的调用位置,确保状态更新在条件判断之后执行。
1个文件已修改
6 ■■■■■ 已修改文件
src/robotaxi/pages/begin-route/index.tsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/index.tsx
@@ -819,6 +819,7 @@
    };
    // 优化订单状态回调中的车辆信息拉取逻辑
    orderStatusHandlerRef.current = (payload) => {
      const changeStatusOld = tripStatus
      const mappedTripStatus = payload?.tripStatus;
      if (typeof mappedTripStatus === 'number') {
        const currentLocalStatus = Number(Taro.getStorageSync('tripStatus'));
@@ -877,18 +878,17 @@
        lastErasedIndexRef.current = 0;
      }
      if (payload?.showCancelPopup) {
        setTripStatus(10);
        if (tripStatus == 4 || tripStatus == 5) {
        if (changeStatusOld == 4 || changeStatusOld == 5) {
          setOrderId('');
          clearOrderTripStorage();
          Taro.removeStorageSync('pickupEndTime');
          Taro.removeStorageSync('waitingTimerStartAt');
          Taro.removeStorageSync('waitingTimerElapsed');
          setTripStatus(10);
          setCancelType(4);
        } else {
          setCancelType(5);
        }
        setTripStatus(10);
        setShowCancelPopup(true);
      }
      if (payload?.showPassengerNotice) {