From 48f8c4a343d94ff27f3b582d84350b26bb7e6499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 17 Jul 2026 01:26:31 +0800 Subject: [PATCH] =?UTF-8?q?fix(store):=20=E4=BF=AE=E5=A4=8D=E9=97=A8?= =?UTF-8?q?=E5=BA=97=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86=E9=A1=B5=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=8C=89=E9=92=AE=E4=B8=8E=E6=A0=87=E7=AD=BE=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整已关闭标签参数,移除待发货状态,避免混入错误订单 - 修改金额按钮仅在未付款状态下显示,确认收款后隐藏 - 确认完成按钮改为仅在已付款状态下显示,避免过早显示 - 优化订单操作按钮显示逻辑,确保按钮状态与订单支付状态一致 --- .workbuddy/memory/2025-07-17.md | 17 +++++++++++++++++ src/pages/store/orders/index.tsx | 14 ++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 .workbuddy/memory/2025-07-17.md diff --git a/.workbuddy/memory/2025-07-17.md b/.workbuddy/memory/2025-07-17.md new file mode 100644 index 0000000..1e22861 --- /dev/null +++ b/.workbuddy/memory/2025-07-17.md @@ -0,0 +1,17 @@ +# 2025-07-17 工作日志 + +## 门店订单管理页修复(pages/store/orders/index.tsx) + +三个问题修复: + +1. **确认完成按钮过早显示**:`getOrderActions` 中"确认完成"原来对所有可操作订单都显示,改为仅在 `order.payStatus === true`(已确认收款)后才显示,避免占用位置。 + +2. **确认收款后仍可修改金额**:`getOrderActions` 中"修改金额"原来对所有可操作订单都显示,改为仅在 `!order.payStatus`(未付款)时显示。确认收款后修改金额按钮自动隐藏。 + +3. **已关闭 Tab 混入待发货订单**:`TABS` 配置中 `pending`(已关闭)的 params 原来同时包含 `statusFilter: 1`(待发货)和 `statusFilter: 8`(已关闭),导致待发货订单也出现。已改为只查 `statusFilter: 8`。 + +### 操作按钮逻辑总结(修复后) +- **修改金额**:仅未付款(`!payStatus`)时显示 +- **确认收款**:仅线下付款(payType=9)且未付款时显示 +- **确认完成**:仅已付款(`payStatus === true`)时显示 +- **关闭订单**:所有可操作订单(非已完成、非已关闭)均显示 diff --git a/src/pages/store/orders/index.tsx b/src/pages/store/orders/index.tsx index 0ace14d..992868c 100644 --- a/src/pages/store/orders/index.tsx +++ b/src/pages/store/orders/index.tsx @@ -21,8 +21,8 @@ const TABS: { key: TabKey; label: string; params: Partial[] }[] {key: 'all', label: '全部', params: [{}]}, // 已完成:statusFilter=5(与后台管理一致) {key: 'completed', label: '已完成', params: [{statusFilter: 5}]}, - // 待处理:合并 statusFilter=1(待发货)和 statusFilter=8(已关闭) - {key: 'pending', label: '已关闭', params: [{statusFilter: 1}, {statusFilter: 8}]}, + // 待处理:已关闭订单 statusFilter=8 + {key: 'pending', label: '已关闭', params: [{statusFilter: 8}]}, ] // ─── 操作类型 ───────────────────────────────────────────────────── @@ -123,14 +123,16 @@ function isOrderActionable(order: ShopOrder): boolean { function getOrderActions(order: ShopOrder): { label: string; type: OpType }[] { if (!isOrderActionable(order)) return [] const actions: { label: string; type: OpType }[] = [] - // 修改金额(门店权限) - actions.push({label: '修改金额', type: 'editPrice'}) + // 修改金额:仅在确认收款前显示(未付款时才可改价) + if (!order.payStatus) { + actions.push({label: '修改金额', type: 'editPrice'}) + } // 线下付款·待确认收款:显示"确认收款"按钮 if (!order.payStatus && order.payType === 9 && order.orderStatus === 0) { actions.push({label: '确认收款', type: 'confirmPay'}) } - // 确认完成 - if (order.orderStatus !== 1 && order.orderStatus !== 2) { + // 确认完成:仅在确认收款后显示(已付款才能确认完成) + if (order.payStatus) { actions.push({label: '确认完成', type: 'complete'}) } return actions