Procházet zdrojové kódy

```
feat(film-order): 订单详情页面优化

- 引入订单状态处理工具函数,实现动态状态显示
- 修复票码分割时可能出现的空值错误
- 优化时间显示格式,支持今天/具体日期显示
- 更新订单完成状态文案从"订单已送达"为"订单完成"
- 修复支付时间和影厅名称显示问题,增加默认值处理
- 调整订单状态盒子条件渲染逻辑
- 修改电影演出业务标识符从MOVIE为DYY
```

wenjie před 1 týdnem
rodič
revize
bb055e19f8

+ 8 - 6
src/subPack-film/order-detail/index.vue

@@ -1,5 +1,6 @@
 <script setup lang="ts">
 import { filterDay, timeFormat } from '../utils'
+import { OrderStatus, handleCommonOrderStatusText } from '../utils/order-data'
 import { StaticUrl } from '@/config'
 
 definePage({
@@ -45,7 +46,7 @@ async function getData(orderNo: string) {
   // const res = await Apis.film.filmOrderDetail({ data: { id } })
 
   orderInfo.value = res.data
-  orderInfo.value.codeList = orderInfo.value.orderMovieItems[0].ticketCode.split(',')
+  orderInfo.value.codeList = orderInfo.value.orderMovieItems[0].ticketCode?.split(',')
 }
 function call() {
   uni.makePhoneCall({
@@ -61,13 +62,14 @@ onLoad((options) => {
 <template>
   <view class="film-order-detail">
     <view class="status">
-      支付成功,待出票
+      <!-- 支付成功,待出票  -->
+      {{ handleCommonOrderStatusText(orderInfo) }}
     </view>
     <view class="status-desc">
       如需改签、退款,请直接联系商家
     </view>
     <!-- 出票状态 -->
-    <view class="status-box block">
+    <view v-if="orderInfo.hbOrderStatus === OrderStatus.OrderAccepted" class="status-box block">
       <view class="icon-box">
         <image class="icon" :src="`${StaticUrl}/film-ing-icon.png`" />
         <view class="state">
@@ -187,7 +189,7 @@ onLoad((options) => {
         </view>
 
         <view class="time-box">
-          {{ filterDay(orderInfo.session) == '今天' ? '今天' : timeFormat(orderInfo.session) }} 英语3D
+          {{ filterDay(timeFormat(orderInfo.session, 'yyyy-MM-dd')) == '今天' ? (`今天${timeFormat(orderInfo.session, 'HH:mm')}`) : timeFormat(orderInfo.session) }} 英语3D
         </view>
       </view>
     </view>
@@ -216,7 +218,7 @@ onLoad((options) => {
     <!-- 座位信息 -->
     <view class="seat-info block">
       <view class="room-num">
-        5号厅
+        {{ orderInfo.hallName }}
       </view>
       <!-- <view class="area-price">
         普通区¥29.9
@@ -302,7 +304,7 @@ onLoad((options) => {
           支付时间
         </view>
         <view class="value">
-          {{ orderInfo.payTime }}
+          {{ orderInfo.payTime || '-' }}
         </view>
       </view>
       <view class="item">

+ 1 - 1
src/subPack-film/utils/order-data.ts

@@ -76,7 +76,7 @@ export function handleCommonOrderStatusText(order: Api.xsbOrderList): any {
     return '订单取消'
   }
   if (order.hbOrderStatus === OrderStatus.OrderArrived) {
-    return '订单已送达'
+    return '订单完成'
   }
   if (order.hbOrderStatus === OrderStatus.OrderCompleted) {
     return '订单完成'

+ 1 - 1
src/subPack-smqjh/order/order-data.ts

@@ -2,7 +2,7 @@ export const navTabTypeList = [
   { name: '全部', value: 'all' },
   { name: '星闪豹', value: 'XSB' },
   { name: '充电', value: 'CHARGE' },
-  { name: '电影演出', value: 'MOVIE' },
+  { name: '电影演出', value: 'DYY' },
   { name: '视频权益', value: 'VIDEO' },
   { name: '大牌点餐', value: 'SHOP' },
 ]