hejianhao
2026-03-17 afa0f2155720daf3fabe7f1094c2d90b80e06f15
fix: 修复订单状态判断和页面跳转逻辑

- 在 site-search 和 select-map-site 页面中,仅当存在 orderId 时才添加 skipPageFlag 参数
- 在 begin-route 页面中移除多余的 orderId 检查,直接根据 skipPageFlag 显示提示
- 调整订单详情页面中旧价格的显示字段为 orderMoneyStr
- 移除 order.ts 中未使用的 OrderDetail 类型定义,简化接口返回类型为 any
5个文件已修改
94 ■■■■■ 已修改文件
src/robotaxi/api/order.ts 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/index.tsx 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/order/detail/index.tsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/select-map-site/index.tsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/site-search/index.tsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/api/order.ts
@@ -24,85 +24,7 @@
    });
}
export interface OrderDetail {
    acceptanceTime: string;
    appUserId: number;
    arrivalTime: string;
    boardingAddress: string;
    boardingLat: number;
    boardingLon: number;
    boardingTime: string;
    cityCode: string;
    cityId: number;
    cityName: string;
    couponId: number;
    couponMoney: number;
    createBy: string;
    createTime: string;
    deleted: boolean;
    duration: number;
    durationMoney: number;
    endAddress: string;
    endLat: number;
    endLon: number;
    endPointId: number;
    endPointName: string;
    estimatedTime: string;
    feedbackContent: string;
    feedbackPictures: string;
    feedbackTypeName: string;
    fleetId: number;
    getoffAddress: string;
    getoffLat: number;
    getoffLon: number;
    getoffTime: string;
    id: number;
    longDistance: number;
    longDistancemoney: number;
    mileageKilometers: number;
    mileageMoney: number;
    orderMoney: number;
    orderNumber: string;
    orderRating: number;
    orderSource: number;
    orderTime: number;
    payMoney: number;
    payType: number;
    placementAddress: string;
    placementLat: number;
    placementLon: number;
    placementValue: number;
    plateNumber: string;
    prepayMoney: number;
    redPacketId: number;
    redPacketMoney: number;
    rideTime: string;
    startAddress: string;
    startLat: number;
    startLon: number;
    startMileage: number;
    startMoney: number;
    startPointId: number;
    startPointName: string;
    status: number;
    timeSlot: string;
    totalMileage: number;
    trajectories: any[];
    transactionId: string;
    tripBegin: string;
    tripEnd: string;
    updateBy: string;
    updateTime: string;
    vehicleCode: string;
    vehicleColor: string;
    vehicleId: number;
    vehiclePictures: string;
    wait: number;
    waitMoney: number;
    xpElectronicFenceAreaId: number;
}
export const getOrderDetail = async (orderId: string | number): Promise<OrderDetail> => {
export const getOrderDetail = async (orderId: string | number): Promise<any> => {
    return request({
        url: _ROBOTAXI_HOST + `/order/api/v1/mini-program/order/orderDetail/${orderId}`,
        method: 'PUT'
src/robotaxi/pages/begin-route/index.tsx
@@ -1319,7 +1319,7 @@
  // 页面初始化
  useDidShow(() => {
    const { skipPageFlag } = router.params;
    if (skipPageFlag && Taro.getStorageSync('orderId')) {
    if (skipPageFlag) {
      Taro.showToast({
        title: '您已有进行中的订单',
        icon: 'none',
@@ -1884,7 +1884,7 @@
                }
                {
                  (item.name === '车辆位置' && [4, 6].includes(tripStatus) && !isAndroid) &&
                  <CoverView className="custom-callout-content" style={{ padding: '6px 10px', minWidth: '132px' }}>
                  <CoverView className="custom-callout-content" style={{ padding: '6px 10px', minWidth: '90px', justifyContent: 'center' }}>
                    <CoverView className="car-time">
                      <CoverView className="car-time-num">{routeDistance?.value ?? 0}</CoverView>
                      <CoverView>{routeDistance?.unit === 'm' ? '米' : '公里'}</CoverView>
src/robotaxi/pages/order/detail/index.tsx
@@ -10,7 +10,7 @@
import activeNormal from '../../../assets/active-normal.png'
import right from '../../../assets/right.png'
import lineRight from '../../../assets/line-right.png'
import { getOrderDetail, OrderDetail } from '../../../api/order';
import { getOrderDetail } from '../../../api/order';
import EvaluatePopup from '../../begin-route/components/evaluate-popup';
import { submitOrderComment } from '../../../api/begin-route';
import { formatTripDistance, formatTripDurationFromSeconds } from '../../../../utils/Robotaxi-public-method';
@@ -20,7 +20,7 @@
  const { orderId } = router.params;
  const [activeIndex, setActiveIndex] = useState<number | null>(null) // 默认选中"非常满意"
  const [orderData, setOrderData] = useState<OrderDetail | null>(null);
  const [orderData, setOrderData] = useState<any>(null);
  const [showEvaluatePopup, setShowEvaluatePopup] = useState(false);
  const showEvaluatePopupRef = useRef(false);
@@ -280,7 +280,7 @@
              <Text className='price'>{orderData.payMoney || '0.00'}</Text>
              <Text className='unit'>元</Text>
              {orderData.orderMoney > orderData.payMoney && (
                <Text className='old-price'>{orderData.orderMoney || '-'}元</Text>
                <Text className='old-price'>{orderData.orderMoneyStr || '-'}元</Text>
              )}
            </View>
            <View onClick={todescription} className='price-remark'>
src/robotaxi/pages/select-map-site/index.tsx
@@ -341,7 +341,7 @@
      Taro.setStorageSync('endSite', selectedSite)
      Taro.reLaunch({
        url: `/robotaxi/pages/begin-route/index?skipPageFlag=1`,
        url: Taro.getStorageSync('orderId') ? `/robotaxi/pages/begin-route/index?skipPageFlag=1` : `/robotaxi/pages/begin-route/index`,
      })
    }
  }
src/robotaxi/pages/site-search/index.tsx
@@ -280,7 +280,7 @@
      } catch { }
      Taro.setStorageSync('endSite', item)
      Taro.reLaunch({
        url: '/robotaxi/pages/begin-route/index?skipPageFlag=1',
        url: Taro.getStorageSync('orderId') ? '/robotaxi/pages/begin-route/index?skipPageFlag=1' : '/robotaxi/pages/begin-route/index',
      })
    }
  }