From 32a981f64d3c3980de33339018978410ceef5e4c Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期日, 15 三月 2026 10:28:02 +0800
Subject: [PATCH] fix: 修复优惠券描述显示和车辆温度查询逻辑

---
 src/robotaxi/pages/begin-route/components/calling-car.tsx |   33 ++++++++++++++++-----------------
 src/robotaxi/pages/coupon/index.tsx                       |    2 +-
 src/robotaxi/api/coupon.ts                                |    1 +
 src/robotaxi/pages/expense-description/index.tsx          |    4 ++--
 src/robotaxi/pages/begin-route/index.tsx                  |   20 +++++++++++++-------
 5 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/src/robotaxi/api/coupon.ts b/src/robotaxi/api/coupon.ts
index 860d7fe..bca5f60 100644
--- a/src/robotaxi/api/coupon.ts
+++ b/src/robotaxi/api/coupon.ts
@@ -17,6 +17,7 @@
     applicableCities: string[];
     usageInstructions: string;
     couponDesc: string;
+    decodeURIComponent: any;
 }
 
 export interface GetCouponListPayload {
diff --git a/src/robotaxi/pages/begin-route/components/calling-car.tsx b/src/robotaxi/pages/begin-route/components/calling-car.tsx
index f8ccee6..2f46328 100644
--- a/src/robotaxi/pages/begin-route/components/calling-car.tsx
+++ b/src/robotaxi/pages/begin-route/components/calling-car.tsx
@@ -151,15 +151,15 @@
             const targetOrderId = orderId || Taro.getStorageSync('orderId');
             if (targetOrderId) {
                 // 暂时不调用车辆温度
-                setTempStatus(26);
-                lastConfirmedTempRef.current = 26;
-                // queryTemperatureByOrderId({ orderId: targetOrderId }).then((res: any) => {
-                //     const currentTemperature = Number(res?.currentTemperature ?? res?.temperature);
-                //     if (!Number.isNaN(currentTemperature)) {
-                //         setTempStatus(currentTemperature);
-                //         lastConfirmedTempRef.current = currentTemperature;
-                //     }
-                // }).catch(() => { });
+                // setTempStatus(26);
+                // lastConfirmedTempRef.current = 26;
+                queryTemperatureByOrderId({ orderId: targetOrderId }).then((res: any) => {
+                    const currentTemperature = Number(res?.currentTemperature ?? res?.temperature);
+                    if (!Number.isNaN(currentTemperature)) {
+                        setTempStatus(currentTemperature);
+                        lastConfirmedTempRef.current = currentTemperature;
+                    }
+                }).catch(() => { });
             }
         } else if (tripStatus === 5) {
             // 已到达上车点:根据限停时间启动倒计时并处理超时
@@ -329,20 +329,19 @@
                 orderId: targetOrderId,
                 targetTemperature
             }).then((res: any) => {
-                const isFailure = res?.success === false || (typeof res?.code === 'number' && res.code !== 0);
-                if (isFailure) {
+                if (res) {
+                    lastConfirmedTempRef.current = targetTemperature;
+                    Taro.showToast({
+                        title: '设置成功',
+                        icon: 'none'
+                    });
+                } else {
                     setTempStatus(lastConfirmedTempRef.current);
                     Taro.showToast({
                         title: res?.msg || '网络连接不稳定,设置失败,请重试',
                         icon: 'none'
                     });
-                    return;
                 }
-                lastConfirmedTempRef.current = targetTemperature;
-                Taro.showToast({
-                    title: '设置成功',
-                    icon: 'none'
-                });
             }).catch(() => {
                 setTempStatus(lastConfirmedTempRef.current);
                 Taro.showToast({
diff --git a/src/robotaxi/pages/begin-route/index.tsx b/src/robotaxi/pages/begin-route/index.tsx
index e1708f6..f283329 100644
--- a/src/robotaxi/pages/begin-route/index.tsx
+++ b/src/robotaxi/pages/begin-route/index.tsx
@@ -1747,9 +1747,12 @@
         <View className="container">
           <View className="container-inner">
             {/* 复位按钮 */}
-            <View className="origin-box" style={{ opacity: originBoxHidden ? 0 : originOpacity, transition: 'opacity 0.2s ease-out', pointerEvents: originBoxHidden ? 'none' : 'auto' }}>
-              <Image onClick={toOrigin} className="origin-icon" src={originIcon} />
-            </View>
+            {
+              [7, 8, 9].includes(tripStatus) &&
+              <View className="origin-box" style={{ opacity: originBoxHidden ? 0 : originOpacity, transition: 'opacity 0.2s ease-out', pointerEvents: originBoxHidden ? 'none' : 'auto' }}>
+                <Image onClick={toOrigin} className="origin-icon" src={originIcon} />
+              </View>
+            }
             <View catchMove onClick={(e) => e.stopPropagation()}>
               {/* 发布路线 */}
               {
@@ -1834,10 +1837,13 @@
         tipType={tipType}
       />
       {/* 乘车需知弹窗 */}
-      <PassengerNotice
-        show={showPassengerNotice}
-        onClose={handleClosePassengerNotice}
-      />
+      {
+        !showCancelPopup &&
+        <PassengerNotice
+          show={showPassengerNotice}
+          onClose={handleClosePassengerNotice}
+        />
+      }
       {/* 评价弹窗 */}
       <EvaluatePopup
         show={showEvaluatePopup}
diff --git a/src/robotaxi/pages/coupon/index.tsx b/src/robotaxi/pages/coupon/index.tsx
index f30aa92..3f879bf 100644
--- a/src/robotaxi/pages/coupon/index.tsx
+++ b/src/robotaxi/pages/coupon/index.tsx
@@ -190,7 +190,7 @@
           </View>
           <View className='remark-card'>
             <Text className='remark-label'>使用说明</Text>
-            <Text className='remark-value'><RichText nodes={currentCoupon.couponDesc} /></Text>
+            <Text className='remark-value'><RichText nodes={currentCoupon.decodeURIComponent} /></Text>
           </View>
 
         </View>
diff --git a/src/robotaxi/pages/expense-description/index.tsx b/src/robotaxi/pages/expense-description/index.tsx
index 69888ac..c43b3dd 100644
--- a/src/robotaxi/pages/expense-description/index.tsx
+++ b/src/robotaxi/pages/expense-description/index.tsx
@@ -116,7 +116,7 @@
           {fareData.start?.map((item, index) => (
             <View className='flex-between-card mb-16' key={index}>
               <View className='price-notice-label'>
-                {item.startTime}-{item.endTime}({item.distance}公里,{item.duration}分钟)
+                {item.startTime}-{item.endTime}({item.mileage}公里,{item.duration}分钟)
               </View>
               <View className='price-notice-value'>{formatMoney(item.money)}元</View>
             </View>
@@ -129,7 +129,7 @@
           </View>
           {fareData.mileage?.map((item, index) => (
             <View className='flex-between-card mb-16' key={index}>
-              <View className='price-notice-label'>{getTimeLabel(item.type)}({item.distance}公里)</View>
+              <View className='price-notice-label'>{getTimeLabel(item.type)}({item.mileage}公里)</View>
               <View className='price-notice-value'>{formatMoney(item.money)}元</View>
             </View>
           ))}

--
Gitblit v1.7.1