docs: 尾款凭证按钮条件简化 - 使用PENDING_BALANCE状态
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
这个提交包含在:
父节点
f2e29e8c11
当前提交
b4d4fc0cf7
@ -1,40 +1,38 @@
|
|||||||
# 尾款凭证上传按钮显示条件修正
|
# 尾款凭证上传按钮显示条件修正(后端已改)
|
||||||
|
|
||||||
**日期**: 2026-03-23
|
**日期**: 2026-03-23
|
||||||
**页面**: 订单详情 → 尾款凭证上传按钮
|
**页面**: 订单详情 → 尾款凭证上传按钮
|
||||||
**类型**: 前端修正
|
**类型**: 前端修正 + 后端状态流转优化
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 问题
|
## 后端改了什么
|
||||||
|
|
||||||
当前前端尾款凭证上传按钮的显示条件不准确,需要与后端逻辑对齐。
|
定金模式订单,清单确认完成后,订单状态不再直接跳到 `PENDING_DEPARTURE`(待出行),而是先进入 **`PENDING_BALANCE`(待付尾款)**,上传凭证/记录尾款后才转为 `PENDING_DEPARTURE`。
|
||||||
|
|
||||||
## 正确的显示条件
|
状态流转变化:
|
||||||
|
```
|
||||||
```js
|
旧:CONFIRMED(READY) ──记录尾款──→ PENDING_DEPARTURE
|
||||||
// 尾款凭证上传按钮显示条件
|
新:CONFIRMED(READY) ──清单确认──→ PENDING_BALANCE ──记录尾款──→ PENDING_DEPARTURE
|
||||||
const showBalanceProofBtn =
|
|
||||||
order.paymentType === 'DEPOSIT'
|
|
||||||
&& (
|
|
||||||
(order.status === 'CONFIRMED' && order.processStatus === 'READY')
|
|
||||||
|| order.status === 'PENDING_DEPARTURE'
|
|
||||||
);
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 条件说明
|
## 前端尾款凭证上传按钮条件(简化了)
|
||||||
|
|
||||||
|
```js
|
||||||
|
// 尾款凭证上传按钮
|
||||||
|
const showBalanceProofBtn =
|
||||||
|
order.status === 'PENDING_BALANCE'
|
||||||
|
|| (order.status === 'PENDING_DEPARTURE' && order.paymentType === 'DEPOSIT' && !order.balanceProofUrl);
|
||||||
|
```
|
||||||
|
|
||||||
| 条件 | 说明 |
|
| 条件 | 说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| `paymentType === 'DEPOSIT'` | 必须是定金模式(定金+尾款) |
|
| `status === 'PENDING_BALANCE'` | **主条件**:定金模式清单确认后自动进入此状态,等待上传凭证 |
|
||||||
| `status === 'CONFIRMED' && processStatus === 'READY'` | 已确认 + 内部流程全部完成(清单确认后进入就绪) |
|
| `status === 'PENDING_DEPARTURE' && paymentType === 'DEPOSIT' && !balanceProofUrl` | **补传**:已到待出行但凭证为空,允许补传 |
|
||||||
| `status === 'PENDING_DEPARTURE'` | 待出行状态(允许补传凭证) |
|
|
||||||
|
|
||||||
### 注意
|
### 不再需要判断 `processStatus === 'READY'`
|
||||||
|
|
||||||
- **不需要判断 `PENDING_BALANCE` 状态** — 后端不校验此状态
|
之前需要组合判断 `status + processStatus`,现在 `PENDING_BALANCE` 状态本身就表示"清单已确认、等待付尾款",条件更简单。
|
||||||
- `CONFIRMED` 状态必须同时判断 `processStatus === 'READY'`,确保清单确认已完成后才能上传
|
|
||||||
- 上传成功后,如果原状态是 `CONFIRMED`,后端会自动将订单状态转为 `PENDING_DEPARTURE`(待出行)
|
|
||||||
|
|
||||||
## 涉及接口
|
## 涉及接口
|
||||||
|
|
||||||
@ -45,3 +43,10 @@ const showBalanceProofBtn =
|
|||||||
|------|------|------|------|
|
|------|------|------|------|
|
||||||
| proofUrl | String | 否 | 尾款凭证图片URL(OSS地址) |
|
| proofUrl | String | 否 | 尾款凭证图片URL(OSS地址) |
|
||||||
| remark | String | 否 | 备注 |
|
| remark | String | 否 | 备注 |
|
||||||
|
|
||||||
|
## 状态中文标签
|
||||||
|
|
||||||
|
| status | 中文标签 |
|
||||||
|
|--------|---------|
|
||||||
|
| `PENDING_BALANCE` | 待付尾款 |
|
||||||
|
| `PENDING_DEPARTURE` | 待出行 |
|
||||||
|
|||||||
正在加载...
x
在新工单中引用
屏蔽一个用户