--- schema: "hl-changelog/v2" ticket: "5666" title: "矩阵派车:司机未回填 + 部分日期派车价¥0(前端两问题)" consumer: "admin" author: "wx" change_type: "前端修复" backend_status: "deployed" gateway_status: "verified" frontend_status: "not_required" frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" status_note: "" updated_at: "2026-08-08" base: "origin/dev-v3" generated: "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