diff --git a/changelogs-v2/2026-07/27_5292_车务逐日逐车派车与价格-修改接口-管理后台.md b/changelogs-v2/2026-07/27_5292_车务逐日逐车派车与价格-修改接口-管理后台.md index 72e4e9f..aef756b 100644 --- a/changelogs-v2/2026-07/27_5292_车务逐日逐车派车与价格-修改接口-管理后台.md +++ b/changelogs-v2/2026-07/27_5292_车务逐日逐车派车与价格-修改接口-管理后台.md @@ -6,12 +6,12 @@ consumer: "admin" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" -frontend_status: "implemented" -frontend_owner: "hl-admin" -frontend_ref: "7b99fe7d35530073176af1a0376cba7b33503319" +frontend_status: "pending" +frontend_owner: "" +frontend_ref: "" target_release: "" -verified_at: "2026-07-27T19:10:14+08:00" -status_note: "后端 PR #5296 已合并并部署测试环境;Fleet 详情与新旧字段互斥校验经真实网关验证,等待前端认领" +verified_at: "" +status_note: "2026-07-28 产品口径补充:新建逐日派车草稿默认全部行程服务日用车;现有 7b99fe7d 实现把后端 UNPLANNED 直接渲染为未勾选,故回退 pending 等待修正" updated_at: "2026-07-28" base: "dev-v3" --- @@ -32,6 +32,34 @@ base: "dev-v3" 旧 `items` 输入暂时保留用于滚动发布兼容;旧收费日期字段只能随旧 `items` 使用,`dailyPlan` 模式提交这些字段会被拒绝。 +## 2026-07-28 产品口径补充:默认全部行程用车 + +新建派车草稿进入“排车”步骤时,当前需求的**全部可编辑服务日、全部新建稳定车辆槽位均默认勾选“当天用车”**。车务只需要选择车辆、司机和逐日价格;只有主动取消某日勾选或点击“明确不用车”,才表示该日明确不用车。 + +### 初始化规则 + +1. 后端 `planState=UNPLANNED` 表示尚未形成最终方案,不等于 `NOT_USED`。前端首次把可编辑 `UNPLANNED` 日格转换为草稿时应初始化 `used=true`,复选框默认选中,并显示“待选车辆/司机”或等价规划中状态。 +2. 新增车辆槽位时,该槽位覆盖的全部可编辑服务日同样默认 `used=true`,不得全部初始化为未勾选。 +3. 已有 `planFinalized=true` 的 `USED/NOT_USED`、只读日格、已关账日格和已有有效派车必须按服务端事实保留;已经明确保存为 `NOT_USED` 的日期重新打开时仍保持未选中,不得重新默认用车。 +4. 默认选中只是前端草稿口径,不代表已经完成派车。未选择车辆、司机或逐日价格时仍不得提交,也不得伪造 `planFinalized=true`。 +5. 用户主动取消“当天用车”时才写入草稿 `used=false/planState=NOT_USED`;某日所有槽位均不用车时继续执行 `confirmNoVehicleServiceDates=true` 二次确认。 + +### 当前前端偏差 + +前端提交 `7b99fe7d35530073176af1a0376cba7b33503319` 中,`createDailyVehiclePlan()` 在详情提供 `dailyVehiclePlan` 时把所有未最终确认日格按 `UNPLANNED + used=false` 直接用于草稿;`appendDailyVehiclePlanSlot()` 也把新槽位日格初始化为 `used=false`。因此页面出现整段行程“尚未规划”、所有“当天用车”均未选中的状态,与本次明确口径不符。 + +前端应区分“服务端基线状态”和“当前编辑草稿默认值”,不能通过把 `UNPLANNED` 改成服务端 `USED` 来伪造最终事实;仅在可编辑的新草稿层默认选中。 + +### 前端验收清单 + +- [ ] 4 天行程首次进入排车步骤时,4 个可编辑日格的“当天用车”全部默认选中。 +- [ ] 候选尚未选定时显示待选车辆/司机而非“明确不用车”,且下一步仍因车辆、司机或价格缺失而受阻。 +- [ ] 新增车辆槽位后,该槽位全部可编辑服务日也默认选中。 +- [ ] 车务取消其中一天后,仅该日变为明确不用车,其余日期保持选中和已编辑草稿。 +- [ ] 已保存的 `NOT_USED`、已有有效派车及只读日期重新打开后保持服务端事实,不被默认逻辑覆盖。 +- [ ] 补充 `createDailyVehiclePlan()`、`appendDailyVehiclePlanSlot()` 和真实挂载 `FleetAssignModal` 的回归测试,覆盖首次进入、增加槽位、重新打开以及主动取消用车。 +- [ ] 提交请求仍满足:每个 `used=true` 日格具备车辆、司机和价格;全天不用车时带明确二次确认。 + ## 变更接口 | # | 接口 | 方法 | 路径 | 变更类型 | 说明 |