hl-api-changelog/changelogs-v2/2026-08/12_frontend_确认执行页逐日车费修复未发布仍只显示1天-前端缺陷-管理后台.md
2026-08-12 18:57:46 +08:00

67 行
5.5 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

---
schema: "hl-changelog/v2"
ticket: "frontend"
title: "确认执行页「逐日车费」仍只显示 1 天:修复 0538f4b4 未合入主分支/未发布,线上跑的仍是按 serviceDate 去重的旧逻辑"
consumer: "admin"
change_type: "前端缺陷"
author: "wx(GIT)"
backend_status: "not_required"
gateway_status: "not_required"
frontend_status: "implemented"
frontend_owner: "mmg"
frontend_ref: "0538f4b4"
target_release: ""
verified_at: "2026-08-12"
status_note: "后端零改动,已复核后端逻辑确认数据完整BoardOrderService#expandFullTripDailyRows 把全程行按服务期逐日展开3133-3141 行 BeanUtil 逐日复制 vehicleId/driverId/价格到每个切片),且 2218+2225-2228 行对「已派(车+司机非空)或 finalized==1」的逐日切片全部纳入——单车 3 天订单会返回全 3 天 dailyVehicleFees,非只回 1 天。症状与 08-12 那条 changelogfrontend_ref=0538f4b4,确认执行页逐日车费按 serviceDate 去重折叠同型。但关键发现0538f4b4 这个修复 commit 不在 hl-ui 的 origin/dev / origin/master / origin/main 任何主分支祖先里,线上构建跑的仍是旧的 mergeContinuityDailyVehicleFees按 serviceDate 全局去重)——它本为「同车跨段同日不重叠」设计,会把『逐日 × 逐车』折叠成『逐日单行』,单车 3 天被去重塌成 1 天、最终总车费也只算 1 天截图3 天订单 08/23-08/25 只显示 8月23日 ¥800,总车费 ¥800。0538f4b4 新增的 groupDailyVehicleFeesByVehiclevehicleFeeAmount.js:135-160 按车分组、组内按日去重)对单车多天也正确(同组保留全部不同 serviceDate,即修复内容本身覆盖单车场景,问题只是『没合并没发布』。请 mmg 把 0538f4b4 合入当前发布分支并发布后再验。"
updated_at: "2026-08-12"
base: "dev-v3"
---
# 确认执行页「逐日车费」仍只显示 1 天(前端·修复未发布)
> **页面**:车务管理 → 派单看板 → 订单派车弹窗 → Step4「确认执行」→「逐日车费」卡片 +「最终总车费(只读合计)」
> **后端**:本条**零改动**。下面后端结论来自当前源码复核(`BoardOrderService`)。
> **诉求**:把修复 commit `0538f4b4` 合入发布分支并发布。
---
## 一、现象2026-08-12 复现)
单车 3 天订单客户周明月,1 成人,日期 08/23–08/25 共 3 天,车辆蒙A-H7777 丰田汉兰达 7 座,师傅阿拉坦)走到确认执行页:
- 「逐日车费」只显示 **1 行**`8月23日 收费 日历价 ¥800`
- 「最终总车费(只读合计)」也只有 **¥800**(应为 3 天合计)。
## 二、后端已排除(数据完整)
确认执行页数据源 `GET /admin/fleet/board/orders/{orderId}` 的组装逻辑(`BoardOrderService`
1. **全程行按服务期逐日展开**`expandFullTripDailyRows`3120-3145`service_date` 为 NULL 的全程行,从 `startDate``endDate` 逐日 `BeanUtil.copyProperties` 复制成切片——`vehicleId`/`driverId`/`dispatchPlanFinalized`/价格全部逐日带齐。
2. **已派行不额外过滤**2218 行展开后,2225-2228 行只要求「`dispatch_plan_finalized==1` **或**`vehicleId``driverId` 均非空)」即纳入服务日——单车已派全程行展开成的 3 个切片每天都满足,**会进 `currentServiceDatesByGroup``activeAssignments`**。
即:**后端对该单车 3 天订单会返回全部 3 天的 `dailyVehicleFees` 与逐日价**,不是只回 1 天。与 08-12 那条 changelog 测试服实测结论(`activeAssignments[].dailyVehicleFees` 逐日齐全 + 根级 `vehicleFeeTotal`)一致。
## 三、根因(前端):修复存在但未发布
症状与 08-12 changelog`frontend_ref=0538f4b4`)描述的「确认执行页逐日车费按 serviceDate 去重折叠」完全同型:
- 旧逻辑 `mergeContinuityDailyVehicleFees``vehicleFeeAmount.js:106`)按 `serviceDate` 全局去重——它本为「同车跨段接续、同日不重叠」设计,被错用到「逐日 × 逐车」,把多行折叠成单行,总价也只算去重后的一行。
- mmg 的修复 `0538f4b4` 已新增 `groupDailyVehicleFeesByVehicle``vehicleFeeAmount.js:135-160`按车分组vehicleId 优先/车牌兜底)、组内按日去重——**单车 3 天进同一组、保留全部 3 个不同 serviceDate,修复后单车场景应显示全 3 天**。即修复内容本身覆盖单车场景。
**但 `0538f4b4` 不在 hl-ui 的 `origin/dev` / `origin/master` / `origin/main` 任何主分支祖先里,本地工作树也未合入。** 也就是说该修复**没有合并、没有发布**,当前线上构建跑的仍是旧的 `mergeContinuityDailyVehicleFees`,所以 3 天被去重塌成 1 天。
## 四、要做的(前端)
1. 把修复 commit `0538f4b4` 合入当前对外发布的分支并发布;
2. 发布后用**单车多天**订单(如本例 08/23–08/25回归确认执行页
- 「逐日车费」显示 **3 行**(每天一行,带日期+价);
- 「最终总车费」= 3 天合计(直接取根级 `vehicleFeeTotal`,不要前端再按日期去重聚合)。
## 五、验收
- [ ] `0538f4b4` 已合入发布分支并上线
- [ ] 单车多天订单确认执行页逐日车费显示「服务日数」行(本例 3 行)
- [ ] 「最终总车费」= 后端 `vehicleFeeTotal`(本例 3 天合计)
- [ ] 多车并行订单仍按车铺开多行08-12 changelog 场景回归)
- [ ] 同车跨段接续(同日不重叠)场景仍正确合并