# 订单详情用车安排缺少“用车需求”按钮(前端待处理) > 模块:管理后台 · 订单详情 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` | 复用现有后端接口,无新增字段 |