# 调整订单快照：车需求回显 fleet / specialTags（前端对接）

> 模块：订单 · 调整订单弹窗 · 车辆安排（管理后台）
> 类型：**接口补字段（snapshot 车需求段新增 fleet/specialTags 回显）**
> 关联：工单 #4545 · PR #4547（已合 dev-v3 + 测试服实测通过）
> 日期：2026-06-28

---

## 一、背景（修车辆 tab 幻影「已修改」）

调整订单弹窗「车辆安排」tab 恒显示「已修改」橙点 + 提交调整(1)，即使没改过车辆。根因：调整订单是无草稿统一提交模式，「已修改」由前端拿表单当前态 diff snapshot 算的；但 snapshot 的车需求段 `vehicleRequirement` **漏返了 fleet 和 specialTags**（VO 里压根没这俩字段，只有恒为 null 的 vehicleType/requiredSeats），前端拿不到车需求当前值基线 → 无法正确 diff → 幻影「已修改」。

本次后端把 snapshot 车需求段补齐为「无损回显」（与房需求段口径一致），前端据此建立正确 diff 基线即可消除幻影已修改。

## 二、接口变化

`GET /v3/admin/order/{id}/adjustment/snapshot`（scope 含 `VEHICLE_REQ` 或不限定时返回）

`response.data.vehicleRequirement` **新增两个字段**：

| 字段 | 类型 | 说明 |
|------|------|------|
| `fleet` | `Array<{vehicleType, seats, count}>` | 车型组合（多车型混合用车的每一组：车型/座位数/数量），结构与 submit 入参的 fleet 完全一致 |
| `specialTags` | `Array<String>` | 通用特殊诉求标签码（儿童安全座椅/大行李空间/中文司机… 的 code） |

测试服实测返回示例：
```json
"vehicleRequirement": {
  "id": ..., "version": 2, "status": "DONE",
  "vehicleType": null, "requiredSeats": null,   // 旧兼容字段，恒 null，勿用
  "remark": "...",
  "fleet": [{"vehicleType": "SUV", "seats": 5, "count": 2}],
  "specialTags": []
}
```

> `vehicleType`/`requiredSeats` 是历史兼容字段、恒为 null，**车型/座位/数量请一律读 `fleet`**；特殊诉求读 `specialTags`。

## 三、前端要做

1. 车辆表单回显改为读 snapshot 的 `vehicleRequirement.fleet`（多车型组）+ `specialTags`（诉求 chips），而非默认值/别处。
2. 车辆 tab 的「已修改」脏检测，baseline 用 snapshot 的 fleet/specialTags/remark；用户未改时三者与 snapshot 一致 → 不再误判已修改。
3. 提交时车辆改动仍按原 submit 结构（fleet + specialTags + remark）提交，结构与回显对称。

## 四、后端

snapshot 车需求装配镜像房需求（fleet/specialTags JSON 反序列化回填），纯增量字段、无 DB 列/schema 变更。
