- 新增接口 confirmOfflinePayment 支持门店确认线下付款收款 - 修改订单操作类型,增加“确认收款”按钮供线下付款未付款订单使用 - 确认收款弹窗新增备注输入框和支付凭证上传(必填,单张) - 调整提交逻辑,确认收款操作调用新接口,并校验凭证上传 - 订单列表页“删除订单”改为“关闭订单”,调用更新接口逻辑关闭订单 - 修改订单详情页金额明细渲染逻辑,修复0时错误显示问题
2.1 KiB
2.1 KiB
2026-07-17 工作日志
门店订单管理页改造(src/pages/store/orders/index.tsx)
1. 删除订单改为关闭订单
- 原"删除订单"按钮调用
removeShopOrder(物理删除),改为"关闭订单"调用updateShopOrder({ orderId, orderStatus: 2 })(逻辑关闭) - 确认弹窗文案从"删除后无法恢复"改为"关闭后无法恢复"
- 移除
removeShopOrder导入,新增confirmOfflinePayment导入
2. 待付款订单加确认收款按钮
- 背景:线下付款(payType=9)且未付款的订单,门店需要"确认收款"功能,与后台管理(guilixu-admin)对齐
- 后端接口:
PUT /shop/shop-order/confirm-offline-payment/{id}?remarks=xxx&paymentVoucher=xxx- 后端
ShopOrderController.confirmOfflinePayment()→ShopOrderServiceImpl.confirmOfflinePayment() - 校验:payType必须为9(线下付款)、orderStatus不能为2(已关闭)、不能重复确认
- 确认后设置 payStatus=true、payTime=now(),可选保存 remarks(merchantRemarks) 和 paymentVoucher
- 后端
- 前端API:在
src/api/shop/shopOrder/index.ts新增confirmOfflinePayment(id, remarks?, paymentVoucher?)函数- 注意:Taro 的
request.put不支持params参数,需手动拼接 query string
- 注意:Taro 的
- ShopOrder Model:新增
paymentVoucher?: string字段 - 页面改动:
- OpType 从
'pay'|'complete'|'editPrice'改为'confirmPay'|'complete'|'editPrice' getOrderActions新增条件:!payStatus && payType===9 && orderStatus===0→ 显示"确认收款"按钮- 弹窗新增备注 Textarea(仅 confirmPay 显示),凭证图片限制1张(confirmPay),必填校验
submitOperation新增 confirmPay 分支,调用confirmOfflinePaymentAPI- 新增
payRemarksstate
- OpType 从
3. 订单详情页金额明细0隐藏(src/pages/order/detail.tsx)
- Bug:React 经典陷阱
{order.reducePrice && Number(order.reducePrice) > 0 && (...)},当 reducePrice 为数字 0 时,0 && ...短路求值为 0,React 渲染文本"0" - 修复:改为
{Number(order.reducePrice || 0) > 0 && (...)},始终返回 boolean
验证
npx taro build --type weapp构建成功