diff --git a/changelogs-v2/2026-08/07_5666b_排车页信息丰富-前端优化-管理后台.md b/changelogs-v2/2026-08/07_5666b_排车页信息丰富-前端优化-管理后台.md deleted file mode 100644 index a619e97..0000000 --- a/changelogs-v2/2026-08/07_5666b_排车页信息丰富-前端优化-管理后台.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -schema: "hl-changelog/v2" -ticket: "5666" -title: "派车排车页信息丰富(建议车型/日历价/司机等展示补全)" -consumer: "admin" -author: "wx" -change_type: "前端优化" -backend_status: "deployed" -gateway_status: "verified" -frontend_status: "pending" -frontend_owner: "" -frontend_ref: "" -target_release: "" -verified_at: "" -status_note: "" -updated_at: "2026-08-07" -base: "origin/dev-v3" -generated: "2026-08-07" ---- - -# 派车排车页信息丰富(前端优化) - -## 问题(wx 实测) -派车排车页信息太少——如"建议车型:未标注"、部分列空/不全,车务排车时参考信息不足。 - -## 期望(前端丰富展示) -排车页/选车相关展示补全: -- 建议车型正常显示(不"未标注"——需求有车型就显示,无则合理占位) -- 日历价/本次派车价/司机/常驻关系/接送机等关键列补全 -- 车务排车要的参考信息(车型建议/价格/司机常驻/保险/证件)一眼看全 - -## 验收 -- [ ] 排车页建议车型/价格/司机/常驻等信息展示完整(不"未标注"/空缺) -- [ ] 车务排车参考信息一眼看全 - -## 关联 -- #5666(矩阵派车司机回填+收费日) - -## 联系人 -- 后端/协调台:wx diff --git a/changelogs-v2/2026-08/08_5666b_矩阵派车可派订单列表信息补全-前端优化-管理后台.md b/changelogs-v2/2026-08/08_5666b_矩阵派车可派订单列表信息补全-前端优化-管理后台.md new file mode 100644 index 0000000..20215be --- /dev/null +++ b/changelogs-v2/2026-08/08_5666b_矩阵派车可派订单列表信息补全-前端优化-管理后台.md @@ -0,0 +1,49 @@ +--- +schema: "hl-changelog/v2" +ticket: "5666" +title: "矩阵派车可派订单列表信息补全(展示太简→补全)" +consumer: "admin" +author: "wx" +change_type: "前端优化" +backend_status: "deployed" +gateway_status: "verified" +frontend_status: "pending" +frontend_owner: "" +frontend_ref: "" +target_release: "" +verified_at: "" +status_note: "" +updated_at: "2026-08-08" +base: "origin/dev-v3" +generated: "2026-08-08" +--- + +# 矩阵派车可派订单列表信息补全(前端优化) + +## 问题(wx 实测) +矩阵派单「选择当前矩阵可派订单」的**可派订单 list 每条显示信息太少**——基本只有团号+日期+人数,车务在矩阵里挑单派车时参考信息不足,来回点详情才看清。 + +## 期望(前端补全展示) +矩阵派车的可派订单列表,每条订单卡片**补全显示**(一眼看全,不用点详情): +- 团号 + 客户名 +- 出行日期区间 + 天数 +- 人数(成人/儿童细分) +- **建议车型 + 座位数**(如 商务车×2·7座) +- **定制师** +- **接送机**(接机/送机机场,如 海拉尔东山机场) +- **特殊要求标签**(有 WiFi/儿童座椅等) +- 急/加急标记、待派/排车中状态 + +## 说明 +- 数据这些字段后端看板/详情接口已有,前端在矩阵可派订单列表透出即可 +- 目标是车务在矩阵里挑单派车时不点详情也能判断派哪辆 + +## 验收 +- [ ] 矩阵可派订单列表每条显示:团号/客户/日期/人数/建议车型座位/定制师/接送机/特殊要求/状态 +- [ ] 不点详情即可判断派车 + +## 关联 +- #5666(矩阵派车司机回填+收费日) + +## 联系人 +- 后端/协调台:wx diff --git a/changelogs-v2/2026-08/08_5676_改派支持按天改派+统一选择单次整体改派修复交接-修改接口-管理后台.md b/changelogs-v2/2026-08/08_5676_改派支持按天改派+统一选择单次整体改派修复交接-修改接口-管理后台.md new file mode 100644 index 0000000..6b2999c --- /dev/null +++ b/changelogs-v2/2026-08/08_5676_改派支持按天改派+统一选择单次整体改派修复交接-修改接口-管理后台.md @@ -0,0 +1,83 @@ +--- +schema: "hl-changelog/v2" +ticket: "5676" +title: "改派支持按天改派(排车表逐行改派按钮)+ 统一选择修复交接" +consumer: "admin" +author: "wx" +change_type: "修改接口" +backend_status: "deployed" +gateway_status: "verified" +frontend_status: "pending" +frontend_owner: "" +frontend_ref: "" +target_release: "" +verified_at: "" +status_note: "后端完成:PR #5686 合并 dev-v3(4e993920440cad0b6105a5f7682d6b33d1444bad)并部署 TEST,网关验证按天改派只改指定天+统一选择单次全改均通过。统一选择「只改第一天」bug 实证为前端逐日循环互覆盖(后端无 bug),修复=前端改单次调 change。待前端接入按天改派+统一选择单次调用。" +updated_at: "2026-08-08" +base: "dev-v3" +generated: "2026-08-08T11:10:00+08:00" +--- + +# 改派支持按天改派 + 统一选择修复交接(#5676) + +## 需求 + +1. 排车表**每行(每个服务日)**有【改派】按钮——单独改某天的车/司机(按天改派,每天可不同) +2. 统一选择按钮=整体改派(所有日期),保留 +3. wx 实测补充:统一选择**现在不好使,只能改第一天**(选的车/司机只应用到第一天) + +## 统一选择「只改第一天」bug 根因(后端无 bug,前端修复) + +**根因 = 前端「统一选择」逐日循环调 change 互相覆盖**,非后端问题: + +- 改派操作日志实证:order `2080600006514872322` 在 2026-08-06 17:25 对同一槽位**连续两次调 change**(`effectiveDate=2026-08-29` 和 `2026-08-28` 分开、每天一行)——前端对「统一选择」**逐日循环**(每天调一次)。 +- change 语义 = **「effectiveDate 起连续后缀」**:eff=8/29 改 8/29 起后缀,eff=8/28 又改 8/28 起后缀(覆盖 8/29)…… 逐日循环互相覆盖 → 只有部分天生效(表现为「只改第一天」)。 +- **后端单次 change 正确全改**:单测证明逐日槽位 3 天,单次 `change(effectiveDate=第一天, 不传 serviceDates)` → 取消整段后缀 + 重建 3 行全新车/司机。 + +## 修改接口:`POST /admin/fleet/assignments/{assignmentId}/change` + +新增**可选**字段 `serviceDates`(`List`,其余字段不变): + +| 字段 | 说明 | +|---|---| +| `serviceDates` | **按天改派限定的服务日期集**。非空=按天改派模式:只改这些日期的行(其余天保留);**空/不传=现状**(effectiveDate 起连续后缀整体改派)。 | + +### 前端交接(两种改派的正确调用方式) + +**1. 统一选择(整体改派)——修复点**: +```json +{ + "effectiveDate": "<第一天>", + "newVehicleId": ..., "newDriverId": ..., + "holdMode": 0, "reason": "...", "requestId": "<唯一>" +} +``` +- **单次调用**,`effectiveDate`=第一天,**不传 `serviceDates`** → 一次整体改派所有天。 +- **不要再逐日循环调 change**(会互相覆盖)。 +- 每次操作生成唯一 `requestId`(幂等)。 + +**2. 按天改派(新增,每行改派按钮)**: +```json +{ + "effectiveDate": "<该天>", + "serviceDates": ["<该天>"], + "newVehicleId": ..., "newDriverId": ..., + "holdMode": 0, "reason": "...", "requestId": "<唯一>" +} +``` +- 某天【改派】→ `effectiveDate`=该天 + `serviceDates=[该天]` → **只改该天,其他天不变**。 +- 每天可不同车/司机(逐行各调一次,每天独立 `requestId`)。 +- `assignmentId` 路径参数=该槽位任一派单行 ID。 + +### 行为说明 + +- **校验按天**:按天改派的档期/占用/常驻/保险校验只针对 `serviceDates` 指定的天(某天换车/司机只需该天资源空闲,不影响其他天)。 +- **逐日价格**:按天改派后逐日车费按各天价格日历/车型分别算(`resolveDaily` 按子集日期逐日取价)。 +- **兼容**:`serviceDates` 不传时行为与现状完全一致(统一选择整体改派)。 + +## 验证 + +- AssignmentServiceTest **397/397**(新增 3:按天单天只改该天/按天非连续子集其余保留/统一选择单次全改对照);dev-v3 全量 verify 3273/0F/0E。 +- 网关实证(TEST,槽位 `344052387587166208`,order `2085662570479304706`,8/21-8/23 三天): + - **按天改派**:`change(serviceDates=[8/22])` 换车 → 只 8/22 变,8/21/8/23 保留原车; + - **统一选择单次**:`change(effectiveDate=8/21, 不传 serviceDates)` 换车 → 3 天全改。