#5662 改派页清除草稿后补选择车辆/司机入口(hl-admin@c63ce28f)。 #5666 实查 HEAD 两症状已无活代码路径(c6b107b8/d97cc730 早已消除), 矩阵活路径已消费 suggestedDriverId、batch 不传部分收费日,判 not_required。
4.1 KiB
schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
| schema | ticket | title | consumer | author | change_type | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base | generated |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 5666 | 矩阵派车:司机未回填 + 部分日期派车价¥0(前端两问题) | admin | wx | 前端修复 | deployed | verified | not_required | 2026-08-08 | origin/dev-v3 | 2026-08-07 |
矩阵派车:司机未回填 + 部分日期派车价¥0(前端修复)
后端契约已实测全部正常(#5666 后端侧分流确认),两个症状均为前端问题。
问题1:矩阵派车选车辆后常驻司机没回填
- 现象:矩阵派单从车辆日格(如蒙A-T7777)发起,车辆回填了,但司机栏"待选择"(常驻司机没带出)。
- 后端正常:
candidates对该车正确返回suggestedDriverId(常驻司机)+RESIDENT_AVAILABLE,一二轮一致。 - 前端根因:前端自动代入常驻司机仅在
vehicleSuggestionIntent武装时消费;矩阵openAssign(order,{vehicle})非 batchMode + activeDailyPlanCell 分支时不武装该 intent(AssignModal.vue else 分支直接selVehicle=preselectVehicle),导致suggestedDriverId无人消费 → 司机栏空。 - 前端修:矩阵派车场景也要消费
suggestedDriverId回填常驻司机(常驻司机 RESIDENT_AVAILABLE 时自动带出;被拉黑/不可用时提示并留空)。
问题2:部分日期派车价 ¥0
- 现象:矩阵派车 8/21=¥1000 但 8/22-23=¥0。
- 后端正常:该车型日历价 8/15-31 全量 ¥1000(已配)。
- 前端根因:前端矩阵场景
chargeableServiceDates只传了 [8/21](部分收费日)→ 8/21 收费 1000、8/22-23 按 FREE(0)。 - 前端修:矩阵派车收费日应传全服务日(或按需求),不要只传部分导致其余日期 FREE=¥0。
验收
- 矩阵派车选车辆后常驻司机自动回填(suggestedDriverId 被消费)
- 派车价各服务日正确(不部分¥0)
- 后端契约不变(仅前端修)
关联
- 后端工单 #5666(后端契约正常,另做 candidates 空数组口径小加固)
- 接口
POST /admin/fleet/assignments/candidates(返回 suggestedDriverId/RESIDENT_AVAILABLE)
前端核查(2026-08-08 mmg 实查,HEAD 已无活代码路径,前端零改动)
逐行核实当前 HEAD(v2.1),两个症状的根因对应的是旧版单派流程,现已由更早提交消除,前端无需改动:
问题1(矩阵司机未回填):矩阵 openAssign(order,{vehicle}) 活路径走 AssignModal.vue batchMode && activeDailyPlanCell 分支(3109-3125),isInitialVehiclePreselection 命中时经 restoreSelection({autoSelectResidentDriver:true}) 武装 intent;useVehicleDriverPicker.js:726 if (autoSelectResidentDriver===true && selVehicle && !selDriver) 消费 suggestedDriverId(RESIDENT_AVAILABLE 自动带出、不可用/黑名单留空并显 suggestedDriverMessage)。changelog 所述「else 分支直接 selVehicle=preselectVehicle」对矩阵场景不可达。既有修复提交 c6b107b8(8/5)/d97cc730(8/6) 早于本 changelog。已有测试锁定(useVehicleDriverPicker.spec 消费/NONE/占用/拉黑用例)。另:#5662 修复后矩阵发起的改派在抽屉内选车同样经 onPickVehicle 武装 intent 回填常驻司机。
问题2(部分日期派车价¥0):batch 矩阵流程不向 candidates 传 chargeableServiceDates(useVehicleDriverPicker.js:432-438 batchMode 守卫 + init watcher 在 batch 置空该 ref),后端按全部服务日收费预览,不会产生「子集收费、其余 FREE=¥0」。唯一仍携带部分收费日的是旧改派流程 restoreLegacyVehicleFeeState(从原派车快照恢复,保留原派车收费决策的既有语义),不在本单「矩阵派车」口径内,擅自改会改变账单。
结论:前端在 HEAD 已无这两个症状的活代码路径,判 not_required。若仍复现,请提供 HEAD 上的操作序列再排查。
联系人
- 后端/协调台:wx