---
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 那条 changelog（frontend_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 新增的 groupDailyVehicleFeesByVehicle（vehicleFeeAmount.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 场景回归）
- [ ] 同车跨段接续（同日不重叠）场景仍正确合并
