这个提交包含在:
父节点
1a2a1bdb65
当前提交
737e3fcb4c
@ -0,0 +1,77 @@
|
||||
---
|
||||
schema: "hl-changelog/v2"
|
||||
ticket: "N/A"
|
||||
title: "核单「完成核单」按钮校验逻辑简化"
|
||||
consumer: "admin"
|
||||
change_type: "修改接口"
|
||||
author: "yaosutu(GIT)"
|
||||
backend_status: "deployed"
|
||||
gateway_status: "verified"
|
||||
frontend_status: "pending"
|
||||
frontend_owner: ""
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: ""
|
||||
status_note: "前端校验简化:删除 vehicleSettlementBlocked 和 reportsReady 两条业务约束校验,只保留 UI 态防误触校验(hasLoadingStep/hasSavingStep/dirty)。后端 finalize 已有统一硬校验,校验失败返回错误码+提示信息,前端展示即可。后端零改动。"
|
||||
updated_at: "2026-08-09"
|
||||
base: "dev-v3"
|
||||
---
|
||||
|
||||
# 核单「完成核单」按钮校验逻辑简化
|
||||
|
||||
## 变更类型
|
||||
修改接口(前端逻辑调整,后端零改动)
|
||||
|
||||
## 端类型
|
||||
管理后台
|
||||
|
||||
## 变更说明
|
||||
|
||||
「完成核单」按钮的前端校验逻辑简化,去掉业务约束类校验,只保留 UI 态防误触校验。
|
||||
|
||||
### 改动前(5 条校验)
|
||||
|
||||
```javascript
|
||||
const canSubmit = computed(() =>
|
||||
!hasLoadingStep && // 1. 没有任何分类在加载中
|
||||
!hasSavingStep && // 2. 没有任何分类在保存中
|
||||
!dirty && // 3. 没有任何未保存的修改
|
||||
!vehicleSettlementBlocked && // 4. 车辆核单状态不被拦(删)
|
||||
reportsReady // 5. 司机报账表 + 单团核算表都已生成(删)
|
||||
)
|
||||
```
|
||||
|
||||
### 改动后(3 条校验)
|
||||
|
||||
```javascript
|
||||
const canSubmit = computed(() =>
|
||||
!hasLoadingStep && // 1. 没有任何分类在加载中
|
||||
!hasSavingStep && // 2. 没有任何分类在保存中
|
||||
!dirty // 3. 没有任何未保存的修改
|
||||
)
|
||||
```
|
||||
|
||||
### 删除的 2 条校验及原因
|
||||
|
||||
| 删除项 | 原因 |
|
||||
|---|---|
|
||||
| `vehicleSettlementBlocked` | 后端 `finalize` 已有统一硬校验(`performSubmitBlockingChecks`),前端无需重复拦截 |
|
||||
| `reportsReady` | 报表是 finalize 的**产出**而非**前置条件**,逻辑反了,直接删除 |
|
||||
|
||||
### 后端统一拦截行为
|
||||
|
||||
用户点击「完成核单」后,后端 `finalize` 接口统一校验:
|
||||
- 对账一致性(支付流水 = 手工收款)
|
||||
- 车辆费用 freeze 校验
|
||||
- 导游/摄影费用确认状态
|
||||
- 司机结算完成 + 转账凭证
|
||||
- 其他收入确认状态
|
||||
|
||||
校验失败返回对应错误码 + 提示信息,前端直接展示即可。
|
||||
|
||||
## 影响范围
|
||||
- 管理后台核单页面「完成核单」按钮
|
||||
- 后端零改动
|
||||
|
||||
## 关联
|
||||
- 无 Issue(口头需求)
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户