fix: 修复订单状态判断和页面跳转逻辑
- 在 site-search 和 select-map-site 页面中,仅当存在 orderId 时才添加 skipPageFlag 参数
- 在 begin-route 页面中移除多余的 orderId 检查,直接根据 skipPageFlag 显示提示
- 调整订单详情页面中旧价格的显示字段为 orderMoneyStr
- 移除 order.ts 中未使用的 OrderDetail 类型定义,简化接口返回类型为 any
| | |
| | | }); |
| | | } |
| | | |
| | | 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' |
| | |
| | | // 页面初始化 |
| | | useDidShow(() => { |
| | | const { skipPageFlag } = router.params; |
| | | if (skipPageFlag && Taro.getStorageSync('orderId')) { |
| | | if (skipPageFlag) { |
| | | Taro.showToast({ |
| | | title: '您已有进行中的订单', |
| | | icon: 'none', |
| | |
| | | } |
| | | { |
| | | (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> |
| | |
| | | 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'; |
| | |
| | | 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); |
| | | |
| | |
| | | <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'> |
| | |
| | | |
| | | 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`, |
| | | }) |
| | | } |
| | | } |
| | |
| | | } 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', |
| | | }) |
| | | } |
| | | } |