hl-api-changelog/changelogs-v2/2026-08/09_核单完成按钮校验逻辑简化-修改接口-管理后台.md
Mimingguang 7939795d8f
一些检查失败了
changelog-filename-gate / validate (push) Failing after 1s
chore(changelog): 核单完成按钮校验逻辑简化 前端已实现(implemented) ref=ce4d98b3
2026-08-09 17:37:06 +08:00

2.5 KiB

schema, ticket, title, consumer, change_type, author, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
schema ticket title consumer change_type author backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base
hl-changelog/v2 N/A 核单「完成核单」按钮校验逻辑简化 admin 修改接口 yaosutu(GIT) deployed verified implemented mmg ce4d98b3 已实现。canComplete 由 5 条减为 3 条 UI 态防误触hasLoadingStep/hasSavingStep/dirty,askComplete 同步删 vehicleSettlementBlocked 兜底拦截,并删除车辆分类顶部常驻提示条;LEGACY 金额未知空态的车辆编辑锁保留(防空草稿存成 0 元。frontend_ref=ce4d98b3。 2026-08-09 dev-v3

核单「完成核单」按钮校验逻辑简化

变更类型

修改接口(前端逻辑调整,后端零改动)

端类型

管理后台

变更说明

「完成核单」按钮的前端校验逻辑简化,去掉业务约束类校验,只保留 UI 态防误触校验。

改动前5 条校验)

const canSubmit = computed(() =>
  !hasLoadingStep &&      // 1. 没有任何分类在加载中
  !hasSavingStep &&       // 2. 没有任何分类在保存中
  !dirty &&               // 3. 没有任何未保存的修改
  !vehicleSettlementBlocked &&  // 4. 车辆核单状态不被拦(删)
  reportsReady            // 5. 司机报账表 + 单团核算表都已生成(删)
)

改动后3 条校验)

const canSubmit = computed(() =>
  !hasLoadingStep &&      // 1. 没有任何分类在加载中
  !hasSavingStep &&       // 2. 没有任何分类在保存中
  !dirty                  // 3. 没有任何未保存的修改
)

删除的 2 条校验及原因

删除项 原因
vehicleSettlementBlocked 后端 finalize 已有统一硬校验(performSubmitBlockingChecks),前端无需重复拦截
reportsReady 报表是 finalize 的产出而非前置条件,逻辑反了,直接删除

后端统一拦截行为

用户点击「完成核单」后,后端 finalize 接口统一校验:

  • 对账一致性(支付流水 = 手工收款)
  • 车辆费用 freeze 校验
  • 导游/摄影费用确认状态
  • 司机结算完成 + 转账凭证
  • 其他收入确认状态

校验失败返回对应错误码 + 提示信息,前端直接展示即可。

影响范围

  • 管理后台核单页面「完成核单」按钮
  • 后端零改动

关联

  • 无 Issue口头需求