文件
hl-api-changelog/changelogs-v2/2026-08/08_frontend_改派选完车司机槽位列不回显-前端缺陷-管理后台.md
T
Mimingguang 87ed9d0a3f
changelog-filename-gate / validate (push) Failing after 2s
chore(changelog): 全量清理 implemented 存量——81 条复核翻 verified + 1 条改判 not_required + #5827 补登 frontend_ref
处置明细(mmg 2026-09-18):
- 68 条机械核验通过批量翻 verified:frontend_ref 均可达且为 v2.1 祖先、
  交付文件 HEAD 均在、关联 spec 批量 58 文件 891 例全绿。
- 11 条带演进史的例外逐条核后翻 verified:3 条交付自删文件(06_5610/
  07_5655/11_5810,删除即交付内容且终态保持);8 条被后续 changelog 预期
  演进(10_5784→#5810、07_5664/08_5592→#5827、07_5665→去槽位化 U1、
  01_5380/05_5356/06_5567/06_5581→settlement 族A扁平化与 mock 清理),
  status_note 均如实记录演进链。
- 05_5552 改判 not_required:frontend_ref 自述前端无需改动,grep 实证
  vehicleFeeAmount.js 直接读后端 calendarPrice/calendarPriceMissing。
- 11_5827 frontend_ref 原空,经核交付即 753503c8(向导 4 步改 3 步提交
  即派定),补登全哈希 753503c87cc635e5646b4368a8ed506746c79cf1。
另:保险域 2 条相邻条目(05_5530/06_5593)同标准复核翻 verified。
2026-07 历史月 45 条按规则不回扫,保持原状。
2026-09-18 15:56:52 +08:00

7.4 KiB
原始文件 Blame 文件历史

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 frontend-fleet-reassign-display 改派选完车辆/司机后,槽位「当前车辆/当前司机」列与按天改派表格不回显新选择 admin wx(GIT) 前端缺陷 not_required not_required verified mmg 82f5b771 2026-09-18 前端缺陷:改派选完车辆/司机(完成选择)后,槽位顶部列与按天改派表格均不回显新选择。选择已在前端草稿(底部可见)且可正常提交生效,纯前端回显未刷新。前端已修复(cb763a74):选完后两处列立即回显新选择。[mmg 2026-09-18 批量复核翻 verified] ref 82f5b771 可达且为 v2.1 祖先;交付文件 HEAD 均在;关联 spec 批量 891 例全绿。 2026-09-18 dev-v3 2026-08-08T22:50:00+08:00

改派选完车辆/司机后,槽位列与按天改派表格不回显新选择

前端缺陷,待前端修复。后端无问题(改派可正常提交生效)。

现象(TEST 实测,订单 26-6436 周梦洁)

改派流程操作:改派 → 下一步 → 选择改派 → 清除车辆/司机 → 选择车辆/司机 → 弹窗选蒙A-T7777 + 宝音德力格尔 → 点「完成选择」。

回到排车页后(用户实测标注):

  • 槽位表格顶部:「当前车辆」「当前司机」列——有时回显新选(蒙A-E2E99 王信),有时仍显示「待重新选择」,不稳定。
  • 按天改派表格(3 个服务日 8/23~8/25):「当前车辆」「当前司机」列始终仍显示旧派单「蒙A-E2E01 道尔吉」(未回显新选)——这是主要问题。
  • 底部改派草稿正确显示「蒙A-T7777(丰田普拉多)· 宝音德力格尔 135****5009」——选择已被前端记录,只是上面两处列没刷新。

用户以为没选上,易困惑/重复操作。

涉及接口

1. 派单详情(回显数据源)

GET https://api.test.1814.love:9443/admin/fleet/board/orders/{orderId}

路径参数:orderId(如 2086270156475936769,团号 26-6436)

响应(节选,data 节点)——这是改派前的当前派单事实:

{
  "currentAssignment": {
    "id": "2086276434870853634",
    "vehiclePlate": "蒙A-E2E01",
    "driverName": "道尔吉",
    "assignmentStatus": "assigned"
  },
  "vehicleSlots": [{
    "fleetItemIndex": 0,
    "vehiclePlate": "蒙A-E2E01",
    "driverName": "道尔吉",
    "slotStatus": "assigned",
    "vehicleId": "2085284111341023234",
    "driverId": "2065272150012444674"
  }]
}

说明:改派「完成选择」后,新选择只在前端草稿态(尚未提交 change),此时槽位列/按天表格若仍读 currentAssignment/vehicleSlots(即旧 assigned 派单),就永远显示旧值。前端应在选完后用**草稿的新 vehicleId/driverId(车辆车牌/司机姓名)**覆盖回显这两处列,而不是继续展示 assigned 事实。

1b. 按天改派表格数据源(重点问题的具体接口)

按天改派表格(3 个服务日的「当前车辆/当前司机」列)读的是同一个详情接口的 dailyVehiclePlan 字段:

GET https://api.test.1814.love:9443/admin/fleet/board/orders/{orderId}

响应 data.dailyVehiclePlan(数组,每个服务日一项)实际值(改派前的旧派单):

[
  {"serviceDate":"2026-08-23","vehiclePlate":"蒙A-E2E01","vehicleModel":"丰田普拉多","driverName":"道尔吉","driverPhone":"135****5014","assignmentStatus":"assigned","planState":"USED","vehicleId":"2085284111341023234","driverId":"2065272150012444674"},
  {"serviceDate":"2026-08-24", "...": "同上(蒙A-E2E01 道尔吉)"},
  {"serviceDate":"2026-08-25", "...": "同上"}
]

问题点:改派「完成选择」后,新选择在前端草稿态(newVehicleId/newDriverId),但按天表格继续读 dailyVehiclePlan[].vehiclePlate/driverName(旧 assigned 派单)渲染——所以始终显示旧车旧司机。前端应在选完后用草稿的新车/新司机覆盖 dailyVehiclePlan 各天的回显(或重新拉取草稿态的逐日方案接口,而非 assigned 事实)。

2. 改派提交(选择真正生效)

POST https://api.test.1814.love:9443/admin/fleet/assignments/{assignmentId}/change

路径参数:assignmentId(当前派单 id,如 2086276434870853634)

请求体(示例):

{
  "newVehicleId": "蒙A-T7777对应vehicleId",
  "newDriverId": "宝音德力格尔对应driverId",
  "effectiveDate": "2026-08-23",
  "holdMode": 1,
  "reason": "改派",
  "requestId": "front-change-<ts>"
}

响应:code=200 成功,旧行取消、新行生效。此接口实测正常(改派提交后车辆/司机正确变更)——所以是纯前端回显问题。

期望

改派「完成选择」后(草稿态、未提交前),以下两处立即回显新选的车辆+司机(与底部草稿一致):

  1. 槽位表格顶部「当前车辆」「当前司机」列;
  2. 按天改派表格每个服务日的「当前车辆」「当前司机」列。

即:选完后前端用草稿的 newVehicleId/newDriverId(解析出车牌/司机名)覆盖这两处的展示,让用户明确看到改派结果。

复现路径

派单看板 → 已派车订单(如 26-6436)→ 改派 → 下一步 → 选择改派 → 清除车辆/司机 → 选择车辆/司机 → 弹窗选车+选司机 → 完成选择 → 观察槽位顶部列与按天改派表格的「当前车辆/当前司机」列。

备注

  • 初次派单(AssignModal)选完应用后槽位列正常回显 ✅;问题仅在改派(重新派单)流程的「完成选择」回显环节。
  • 后端改派提交(POST /{id}/change)正常,选择已正确传入并生效——纯前端回显问题。

前端实证确认(2026-08-09 mmg,hl-admin@cb763a74 → 82f5b771)

已修复,整段与按天改派两处列选完后立即回显新选择:

  • 根因:改派清除车/司机后点「完成选择」,selVehicle/selDriver 草稿已写入但 changeDraftCleared 不复位(applyResourceSelectionAndClose 走 day scope 仅关抽屉即返回);槽位列空态判定 isChangeRowClearedPending = isChangeRowSelected && changeDraftCleared(AssignModal.vue)仍命中 → 停在「待重新选择」,与底部改派草稿不一致。
  • 修复(cb763a74):新增 resolveChangeRowDraftDisplay,改派选中行已选出新选择(selVehicleObj/selDriverObj,与底部草稿同源)时解析出行内展示对象;整段与按天改派的「当前车辆/当前司机」列在已选新选择时立即回显新选择,未选时仍显示「待重新选择」空态,未清除时读原快照。
  • 残留补修(82f5b771,对应本单 §1b 按天表格主问题):cb763a74 的按天分支只在「按天模式命中被点选那一天」时回显,整段改派(selectedChangeDayDate 为空)下按天表格所有服务日行仍走 else 读旧 assigned 快照 → 始终显示旧派单(即后端实测「按天表格始终显示蒙A-E2E01」)。放宽 isChangeDayRowClearedPending:按天改派仍只命中该天,整段改派选中槽位即命中其全部服务日行,由 resolveChangeRowDraftDisplay 回显新选择。
  • 验证:assign-modal 相关 3 spec 10/10 通过;checkpoint(含生产构建)全绿。