---
schema: "hl-changelog/v2"
ticket: "frontend-fleet-reassign-display"
title: "改派选完车辆/司机后，槽位「当前车辆/当前司机」列与按天改派表格不回显新选择"
consumer: "admin"
author: "wx(GIT)"
change_type: "前端缺陷"
backend_status: "not_required"
gateway_status: "not_required"
frontend_status: "implemented"
frontend_owner: "mmg"
frontend_ref: "82f5b771"
target_release: ""
verified_at: ""
status_note: "前端缺陷：改派选完车辆/司机（完成选择）后，槽位顶部列与按天改派表格均不回显新选择。选择已在前端草稿（底部可见）且可正常提交生效，纯前端回显未刷新。前端已修复（cb763a74）：选完后两处列立即回显新选择。"
updated_at: "2026-08-09"
base: "dev-v3"
generated: "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 节点）——**这是改派前的当前派单事实**：
```json
{
  "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`（数组，每个服务日一项）实际值（改派前的旧派单）：
```json
[
  {"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）

请求体（示例）：
```json
{
  "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（含生产构建）全绿。
