feat(order): 在待发货订单列表增加关闭订单功能

- 在 OrderCard 组件中新增 onCloseOrder 可选回调属性
- 待发货且未取消的订单显示“关闭订单”按钮
- 点击按钮阻止事件冒泡,避免触发卡片跳转
- 列表页实现 handleCloseOrder,弹窗确认后调用 updateShopOrder
- 关闭订单后显示成功提示并刷新当前列表数据
- 复用订单详情页取消订单的状态更新逻辑,保持一致性
This commit is contained in:
2026-07-14 22:25:33 +08:00
parent dfbcbcf615
commit f878ea146e
3 changed files with 69 additions and 5 deletions

View File

@@ -303,3 +303,21 @@ adapter `/list` 接口忽略分页,一次返回全部收藏;前端 `listShop
### 修改
- **`src/pages/user/address-edit.tsx`**:识别区布局从 `relative` + `absolute` 叠加改为 flex 纵向布局——Textarea 在上,识别按钮 `flex justify-end mt-2` 在下方右对齐。去掉 `relative` class按钮不再叠加在 Textarea 上。
## 订单列表页待发货增加关闭订单功能2026-07-14
### 需求
`pages/order/list` 待发货状态的订单卡片需要支持客户关闭订单。
### 实现
1. **`src/components/common/OrderCard/index.tsx`**
- 新增可选 prop `onCloseOrder?: (order: ShopOrder) => void`
-`deliveryStatus === 10`(未发货)且订单未取消/未取消中时,在卡片底部显示「关闭订单」按钮
- 点击按钮阻止事件冒泡,避免触发卡片跳转详情
2. **`src/pages/order/list.tsx`**
- 导入 `updateShopOrder``OrderStatus`
- 实现 `handleCloseOrder`:弹窗确认后调用 `updateShopOrder({ ...order, orderStatus: OrderStatus.Cancelled })`,成功后 toast 并刷新当前 tab
-`OrderCard` 传入 `onCloseOrder` 回调
### 说明
复用订单详情页已有的取消订单逻辑(通过 `updateShopOrder``orderStatus` 改为 2