53 行
1.8 KiB
Markdown
53 行
1.8 KiB
Markdown
# 尾款凭证上传按钮显示条件修正(后端已改)
|
||
|
||
**日期**: 2026-03-23
|
||
**页面**: 订单详情 → 尾款凭证上传按钮
|
||
**类型**: 前端修正 + 后端状态流转优化
|
||
|
||
---
|
||
|
||
## 后端改了什么
|
||
|
||
定金模式订单,清单确认完成后,订单状态不再直接跳到 `PENDING_DEPARTURE`(待出行),而是先进入 **`PENDING_BALANCE`(待付尾款)**,上传凭证/记录尾款后才转为 `PENDING_DEPARTURE`。
|
||
|
||
状态流转变化:
|
||
```
|
||
旧:CONFIRMED(READY) ──记录尾款──→ PENDING_DEPARTURE
|
||
新:CONFIRMED(READY) ──清单确认──→ PENDING_BALANCE ──记录尾款──→ PENDING_DEPARTURE
|
||
```
|
||
|
||
## 前端尾款凭证上传按钮条件(简化了)
|
||
|
||
```js
|
||
// 尾款凭证上传按钮
|
||
const showBalanceProofBtn =
|
||
order.status === 'PENDING_BALANCE'
|
||
|| (order.status === 'PENDING_DEPARTURE' && order.paymentType === 'DEPOSIT' && !order.balanceProofUrl);
|
||
```
|
||
|
||
| 条件 | 说明 |
|
||
|------|------|
|
||
| `status === 'PENDING_BALANCE'` | **主条件**:定金模式清单确认后自动进入此状态,等待上传凭证 |
|
||
| `status === 'PENDING_DEPARTURE' && paymentType === 'DEPOSIT' && !balanceProofUrl` | **补传**:已到待出行但凭证为空,允许补传 |
|
||
|
||
### 不再需要判断 `processStatus === 'READY'`
|
||
|
||
之前需要组合判断 `status + processStatus`,现在 `PENDING_BALANCE` 状态本身就表示"清单已确认、等待付尾款",条件更简单。
|
||
|
||
## 涉及接口
|
||
|
||
**上传尾款凭证**: `POST /admin/order/{orderId}/balance`
|
||
|
||
请求体 (`RecordBalanceRequest`):
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| proofUrl | String | 否 | 尾款凭证图片URL(OSS地址) |
|
||
| remark | String | 否 | 备注 |
|
||
|
||
## 状态中文标签
|
||
|
||
| status | 中文标签 |
|
||
|--------|---------|
|
||
| `PENDING_BALANCE` | 待付尾款 |
|
||
| `PENDING_DEPARTURE` | 待出行 |
|