后端接口已就绪(PUT /admin/order/{id}/record-balance),前端需添加上传凭证按钮和确认收款操作。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
67 行
2.2 KiB
Markdown
67 行
2.2 KiB
Markdown
# 尾款凭证上传功能 — 前端缺少入口
|
||
|
||
**日期**: 2026-03-22
|
||
**页面**: 订单详情
|
||
**类型**: 前端功能缺失
|
||
|
||
---
|
||
|
||
## 问题
|
||
|
||
订单详情页没有"上传尾款凭证"的按钮,管理员无法记录线下收取的尾款。
|
||
|
||
## 后端接口(已就绪)
|
||
|
||
### 记录尾款(线下收取)
|
||
```
|
||
PUT /admin/order/{orderId}/record-balance
|
||
```
|
||
|
||
**请求体**:
|
||
```json
|
||
{
|
||
"proofUrl": "https://xxx.oss.aliyuncs.com/proof/xxx.jpg", // 选填:支付凭证图片URL
|
||
"remark": "客户微信转账" // 选填:备注
|
||
}
|
||
```
|
||
|
||
**前置条件**:订单状态为 `CONFIRMED`(已确认)或 `PENDING_DEPARTURE`(待出发)
|
||
|
||
**调用后效果**:
|
||
- 订单状态变为 `PENDING_DEPARTURE`(待出发)
|
||
- `balance_proof_url` 保存凭证图片
|
||
- 时间线记录"管理员确认收到尾款"
|
||
|
||
### 设置尾款支付方式
|
||
```
|
||
PUT /admin/order/{orderId}/balance-pay-method?balancePayMethod=OFFLINE
|
||
```
|
||
可选值:`ONLINE`(线上支付)/ `OFFLINE`(线下收取)
|
||
|
||
## 前端实现建议
|
||
|
||
### 显示时机
|
||
订单状态为 `CONFIRMED`(已确认)且 `paymentMode = DEPOSIT`(定金模式)时,在订单详情页显示"尾款"区域。
|
||
|
||
### UI 布局
|
||
```
|
||
┌─ 尾款信息 ──────────────────────────────┐
|
||
│ 尾款金额:¥8,950.00(总价 - 已付定金) │
|
||
│ 支付方式:○ 线上支付 ● 线下收取 │
|
||
│ │
|
||
│ [上传凭证] ← 点击上传图片(调文件服务) │
|
||
│ 备注:[________________] │
|
||
│ │
|
||
│ [确认收到尾款] │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
### 操作流程
|
||
1. 管理员选择"线下收取"
|
||
2. 上传凭证图片(调 `POST /admin/file/upload-token` 获取上传凭证 → 上传到 OSS → 拿到 URL)
|
||
3. 点击"确认收到尾款" → 调 `PUT /admin/order/{orderId}/record-balance`
|
||
4. 刷新订单详情
|
||
|
||
### 已有凭证回显
|
||
订单详情返回的 `balanceProofUrl` 字段如果有值,显示已上传的凭证图片。
|