From b4d4fc0cf70997dffec3358fdfc2e8cb97c21d06 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 23 Mar 2026 10:04:40 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=B0=BE=E6=AC=BE=E5=87=AD=E8=AF=81?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=A1=E4=BB=B6=E7=AE=80=E5=8C=96=20-=20?= =?UTF-8?q?=E4=BD=BF=E7=94=A8PENDING=5FBALANCE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- ...26-03-23_balance_proof_button_condition.md | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/changelogs/2026-03/2026-03-23_balance_proof_button_condition.md b/changelogs/2026-03/2026-03-23_balance_proof_button_condition.md index 0385989..f8ebf4d 100644 --- a/changelogs/2026-03/2026-03-23_balance_proof_button_condition.md +++ b/changelogs/2026-03/2026-03-23_balance_proof_button_condition.md @@ -1,40 +1,38 @@ -# 尾款凭证上传按钮显示条件修正 +# 尾款凭证上传按钮显示条件修正(后端已改) **日期**: 2026-03-23 **页面**: 订单详情 → 尾款凭证上传按钮 -**类型**: 前端修正 +**类型**: 前端修正 + 后端状态流转优化 --- -## 问题 +## 后端改了什么 -当前前端尾款凭证上传按钮的显示条件不准确,需要与后端逻辑对齐。 +定金模式订单,清单确认完成后,订单状态不再直接跳到 `PENDING_DEPARTURE`(待出行),而是先进入 **`PENDING_BALANCE`(待付尾款)**,上传凭证/记录尾款后才转为 `PENDING_DEPARTURE`。 -## 正确的显示条件 - -```js -// 尾款凭证上传按钮显示条件 -const showBalanceProofBtn = - order.paymentType === 'DEPOSIT' - && ( - (order.status === 'CONFIRMED' && order.processStatus === 'READY') - || order.status === '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); +``` | 条件 | 说明 | |------|------| -| `paymentType === 'DEPOSIT'` | 必须是定金模式(定金+尾款) | -| `status === 'CONFIRMED' && processStatus === 'READY'` | 已确认 + 内部流程全部完成(清单确认后进入就绪) | -| `status === 'PENDING_DEPARTURE'` | 待出行状态(允许补传凭证) | +| `status === 'PENDING_BALANCE'` | **主条件**:定金模式清单确认后自动进入此状态,等待上传凭证 | +| `status === 'PENDING_DEPARTURE' && paymentType === 'DEPOSIT' && !balanceProofUrl` | **补传**:已到待出行但凭证为空,允许补传 | -### 注意 +### 不再需要判断 `processStatus === 'READY'` -- **不需要判断 `PENDING_BALANCE` 状态** — 后端不校验此状态 -- `CONFIRMED` 状态必须同时判断 `processStatus === 'READY'`,确保清单确认已完成后才能上传 -- 上传成功后,如果原状态是 `CONFIRMED`,后端会自动将订单状态转为 `PENDING_DEPARTURE`(待出行) +之前需要组合判断 `status + processStatus`,现在 `PENDING_BALANCE` 状态本身就表示"清单已确认、等待付尾款",条件更简单。 ## 涉及接口 @@ -45,3 +43,10 @@ const showBalanceProofBtn = |------|------|------|------| | proofUrl | String | 否 | 尾款凭证图片URL(OSS地址) | | remark | String | 否 | 备注 | + +## 状态中文标签 + +| status | 中文标签 | +|--------|---------| +| `PENDING_BALANCE` | 待付尾款 | +| `PENDING_DEPARTURE` | 待出行 |