docs(vehicle): notify frontend add requirement button

这个提交包含在:
API Changelog Bot 2026-07-05 14:56:46 +08:00
父节点 53b8c8b115
当前提交 9e5b45e7a5

查看文件

@ -0,0 +1,132 @@
# 订单详情用车安排缺少“用车需求”按钮(前端待处理)
> 模块:管理后台 · 订单详情 v2 `/order-v2/detail/{orderId}` · 行程安排
> 类型:**前端待处理(后端无接口变更)**
> 日期2026-07-05
> 说明:后端已有提交/修改/调整用车需求接口,前端需要在“用车安排”卡片补充入口。
## 问题现象
测试页面:
- 页面:订单详情 v2 → 行程安排
- 订单:`HL20260703140009401`
- 订单 ID`2072923329412427777`
- 当前用车卡片文案:`尚未提交用车需求`
- 当前页面只显示“联系车务”按钮,缺少“用车需求 / 提交用车需求”按钮。
业务期望:
- 当订单尚未提交用车需求时,定制师应能直接从“用车安排”卡片发起用车需求。
- 用车需求提交后进入车务后续处理链路。
## 后端当前口径
后端已有接口,不需要新增接口。
```http
PUT /v3/admin/order/{id}/vehicle-requirement
```
源码契约:
```text
提交/修改/调整用车需求(三分支自动判断:无 active=INIT_SUBMIT,PENDING=PENDING_EDIT,DONE=DONE_ADJUST
```
测试服复验当前订单:
```http
GET /v3/admin/order/2072923329412427777/itinerary
```
返回中住宿已完成,且当前没有 `vehicleGroup` 数据;页面展示“尚未提交用车需求”与接口状态一致。这种状态下前端应提供“用车需求”入口,而不是只提供“联系车务”。
## 接口说明
### 提交/修改/调整用车需求
```http
PUT /v3/admin/order/{id}/vehicle-requirement
Content-Type: application/json
```
请求体:
```json
{
"fleet": [
{
"vehicleType": "BUSINESS",
"seats": 7,
"count": 1
}
],
"specialTags": ["需要大后备箱"],
"remark": "客户有 2 个大件行李"
}
```
字段约束:
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `fleet` | array | 是 | 车型组合,至少 1 项 |
| `fleet[].vehicleType` | string | 是 | 车型分类,字典 `vehicle_type` 的 value,如 `SUV/BUSINESS/CORE_PRODUCT` |
| `fleet[].seats` | number | 是 | 座位数,行李车可为 0 |
| `fleet[].count` | number | 是 | 辆数,需大于 0 |
| `specialTags` | array | 否 | 特殊诉求标签,允许自定义 |
| `remark` | string | 否 | 备注,最长 500 字 |
响应中 `branchTaken` 表示后端实际分支:
| branchTaken | 场景 |
|-------------|------|
| `INIT_SUBMIT` | 首次提交用车需求 |
| `PENDING_EDIT` | 已有待处理用车需求,编辑当前需求 |
| `DONE_ADJUST` | 已配车/已完成后再次调整用车需求 |
## 【前端 · 管理后台】处理要求
### 1. 用车安排卡片补充“用车需求”按钮
在订单详情 `行程安排` 的“用车安排”卡片中:
- 当当前无用车需求,页面显示“尚未提交用车需求”时,展示主操作按钮:`用车需求``提交用车需求`
- 按钮位置建议与“联系车务”同一操作区,避免用户只能联系车务而无法录入需求。
- 点击后打开现有用车需求表单/弹窗,提交到 `PUT /v3/admin/order/{id}/vehicle-requirement`
### 2. 已有用车需求时也应允许修改
用车需求与住宿需求一致,不应只在空状态可提交:
- 待处理/PENDING按钮文案可为 `修改用车需求`,提交后走 `PENDING_EDIT`
- 配车中/PROCESSING仍允许修改,提交后由后端走调整链路。
- 已完成/DONE仍允许调整,提交后走 `DONE_ADJUST`
前端不要因为用车卡片状态变成“配车中 / 已配车 / 已完成”就永久隐藏该入口。
### 3. 入口显示口径
建议前端按“订单存在行程安排页 + 用车安排模块可见”显示该入口,不要依赖是否已有 `vehicleGroup`
- 无 `vehicleGroup`:显示 `用车需求 / 提交用车需求`
- 有 `vehicleGroup`:显示 `修改用车需求`
## 验收标准
| 场景 | 期望 |
|------|------|
| `HL20260703140009401` 用车卡片显示“尚未提交用车需求” | 卡片上显示“用车需求/提交用车需求”按钮 |
| 点击按钮 | 打开用车需求表单,至少可填写车型、座位数、辆数、特殊诉求、备注 |
| 首次提交 | 调用 `PUT /v3/admin/order/{id}/vehicle-requirement`,返回 `branchTaken=INIT_SUBMIT` |
| 已有待处理用车需求 | 仍可打开表单修改,后端返回 `PENDING_EDIT` |
| 已配车/已完成后调整 | 仍可打开表单修改,后端返回 `DONE_ADJUST` |
| “联系车务”按钮 | 保留,不替代“用车需求”入口 |
## 影响范围
| 页面/能力 | 说明 |
|-----------|------|
| `/order-v2/detail/{orderId}` | 行程安排页签 · 用车安排卡片 |
| `PUT /v3/admin/order/{id}/vehicle-requirement` | 复用现有后端接口,无新增字段 |