3.6 KiB
3.6 KiB
schema, ticket, title, consumer, change_type, author, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
| schema | ticket | title | consumer | change_type | author | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | frontend | 确认执行页「车·师傅」多段/已派槽位显示空白:单段分支读 UI 选中态 props 而非执行段数据 | admin | 前端缺陷 | wx(GIT) | not_required | not_required | pending | mmg | 后端零改动。已用测试服真实 API 核实(订单 26-3698,看板 GET /admin/fleet/board/orders/2086270138171994114):activeAssignments 返回 1 条完整执行段(vehiclePlate=蒙A-H7777 / vehicleModel=丰田汉兰达 / vehicleSeats=7 / driverName=阿拉坦 / driverPhone=135****5019 / startDate=08-17 / endDate=08-19),父层 confirmationAssignments 即取自该数据。根因在前端 Step4Confirm.vue:confirmationSegments.length<=1 时走单段分支,读的是父层 vehicle/driver props(= AssignModal 的 selVehicleObj/selDriverObj,useVehicleDriverPicker 的 UI 当前选中态),用户未做改派选择时为空 → 显示空白。应对单段分支也 fallback 到 confirmationSegments[0](或直接统一走 segments 分支)。 | 2026-08-12 | dev-v3 |
确认执行页「车·师傅」多段/已派槽位显示空白(前端)
页面:车务管理 → 派单看板 → 订单派车弹窗 → Step4「确认执行」→「车 · 师傅」区 后端:本条零改动。下面结论来自测试服真实 API(订单 26-3698)。
一、现象
确认执行页(Step4)「车 · 师傅」区显示空白/不全:车辆「· · 座」、师傅「·」,明明该槽位已派 1 车 3 天。
二、后端已排除(数据完整)
GET /admin/fleet/board/orders/2086270138171994114 → activeAssignments 返回 1 条聚合执行段:
{
"vehiclePlate": "蒙A-H7777",
"vehicleModel": "丰田汉兰达",
"vehicleSeats": 7,
"driverName": "阿拉坦",
"driverPhone": "135****5019",
"serviceDate": null,
"startDate": "2026-08-17",
"endDate": "2026-08-19"
}
(单槽位聚合整段,startDate~endDate=3 天。字段完整,非空。)
三、根因(前端)
AssignModal.vue 把 confirmationAssignments(= activeAssignments)作为 :assignments 传给 Step4Confirm.vue,同时传 :vehicle="selVehicleObj" :driver="selDriverObj"。
Step4Confirm.vue 渲染逻辑(confirmationSegments computed):
- 多段分支(
confirmationSegments.length > 1):遍历confirmationSegments正确展示。 - 单段分支(
length <= 1,当前场景命中):读父层 propsvehicle?.plate / driver?.name—— 即selVehicleObj/selDriverObj(useVehicleDriverPicker的 UI 当前选中态)。用户直接从已派状态进入 Step4 未做改派选择时,这两个对象为 null → 显示空白。
即:单段执行时错误依赖了「本次 UI 是否选中过车辆/司机」,而不是回退到服务端已有的执行段数据。
四、修复建议
- 单段分支也改为读
confirmationSegments[0](vehiclePlate/vehicleModel/vehicleSeats + driverName/driverPhone),与多段分支同一数据源; - 或直接去掉单段分支,统一走
confirmationSegments遍历(数据已由父层聚合好)。
五、验收
- 已派 1 车 3 天的槽位进 Step4,「车·师傅」显示 蒙A-H7777 · 丰田汉兰达 · 7座 / 阿拉坦 · 135****5019
- 未做任何改派选择时也能正确回显(不再依赖 UI 选中态)
- 多段接续(同一槽位不同天不同车/司机)仍按段展示不受影响