From 24d28d0aaa664fc51c8a36d3e317efda6c4127bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Wed, 6 May 2026 17:46:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(order):=20=E4=BC=98=E5=8C=96=E6=94=B6?= =?UTF-8?q?=E8=B4=A7=E5=9C=B0=E5=9D=80=E5=8F=8A=E6=94=B6=E8=B4=A7=E4=BA=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 切换开发环境,方便本地调试 - 在订单模型中新增收货人姓名和手机号码字段 - 订单列表中优先显示收货人信息,fallback为客户昵称和电话 - 订单编辑与新建时优化收货地址选择逻辑 - 编辑模式优先使用默认地址,新建模式使用订单关联地址 - 异步获取地址失败时添加错误日志方便排查 --- config/env.js | 2 +- src/api/glt/gltTicketOrder/model/index.ts | 4 +++ src/rider/orders/index.tsx | 2 +- src/user/ticket/use.tsx | 33 ++++++++++++++--------- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/config/env.js b/config/env.js index 2010f0f..32e742a 100644 --- a/config/env.js +++ b/config/env.js @@ -2,7 +2,7 @@ // ============ 环境切换开关(修改这里即可切换环境)============ // 可选值: 'development' | 'test' | 'production' -const CURRENT_ENV = 'production' +const CURRENT_ENV = 'development' // =========================================================== export const ENV_CONFIG = { diff --git a/src/api/glt/gltTicketOrder/model/index.ts b/src/api/glt/gltTicketOrder/model/index.ts index e474dfa..36f1722 100644 --- a/src/api/glt/gltTicketOrder/model/index.ts +++ b/src/api/glt/gltTicketOrder/model/index.ts @@ -62,6 +62,10 @@ export interface GltTicketOrder { avatar?: string; // 手机号码 phone?: string; + // 收货人姓名 + receiverName?: string; + // 收货人手机号码 + receiverPhone?: string; // 排序(数字越小越靠前) sortNumber?: number; // 备注 diff --git a/src/rider/orders/index.tsx b/src/rider/orders/index.tsx index 39f565a..1e95a6b 100644 --- a/src/rider/orders/index.tsx +++ b/src/rider/orders/index.tsx @@ -410,7 +410,7 @@ export default function RiderOrders() { 客户: - {o.nickname || '-'} {o.phone ? `(${o.phone})` : ''} + {o.receiverName || o.nickname} {o.receiverPhone ? `(${o.receiverPhone})` : o.phone} 收货地址: diff --git a/src/user/ticket/use.tsx b/src/user/ticket/use.tsx index 1e741ed..8cd75ec 100644 --- a/src/user/ticket/use.tsx +++ b/src/user/ticket/use.tsx @@ -834,21 +834,30 @@ const OrderConfirm = () => { } } - const addrId = Number(editingOrderRes.addressId) - const addrIdSafe = Number.isFinite(addrId) && addrId > 0 ? addrId : undefined - if (addrIdSafe) { - const hit = addressRes?.find(a => Number(a?.id) === addrIdSafe) - if (hit?.id) { - setAddress(hit) - } else { - try { - const addr = await getShopUserAddress(addrIdSafe) - if (addr?.id) setAddress(addr) - } catch (e) { - console.error('加载订单收货地址失败:', e) + // 编辑模式下优先使用默认地址(用户刚从地址列表选择的) + // 新下单模式使用订单关联的地址 + let targetAddr: ShopUserAddress | undefined = undefined + if (isEditMode) { + // 编辑模式:优先使用默认地址 + targetAddr = addressRes?.find(a => a.isDefault) || addressRes?.[0] + } else { + // 新下单模式:使用订单关联的地址 + const addrId = Number(editingOrderRes?.addressId) + const addrIdSafe = Number.isFinite(addrId) && addrId > 0 ? addrId : undefined + if (addrIdSafe) { + targetAddr = addressRes?.find(a => Number(a?.id) === addrIdSafe) + if (!targetAddr?.id) { + try { + targetAddr = await getShopUserAddress(addrIdSafe) + } catch (e) { + console.error('加载订单收货地址失败:', e) + } } } } + if (targetAddr?.id) { + setAddress(targetAddr) + } } // Tickets are non-blocking for first paint; load in background. loadUserTickets()