# 订单详情页 5 个待办按钮点击跳转交互指引(前端实现,后端零改动) **日期**: 2026-04-24 **类型**: 前端交互增强 **受众**: hl-ui 管理后台 **对应界面**: 订单详情 → 顶部「待办」按钮组 --- ## 现状 订单详情页顶部「待办」区已有 5 个按钮(分配房间 / 分配车辆 / 确认清单 / 购买保险 / 签署合同),按 `order_todo.status` 和业务前置校验决定可点性(见 PR #1327 后端校验)。但**点击按钮目前只触发「完成待办」接口**,没有引导用户到对应操作入口。 用户场景:点「分配房间」时系统提示 `请先在行程安排中完成房间分配`,用户不知道房间分配在哪个 tab 做,来回找。 ## 目标 5 个待办按钮点击后**先跳转到对应操作 tab**,让用户可以直接进入配置动作,操作完成后按钮会自动变绿(无需手动点"完成")。 ## 跳转规则 | 待办按钮 | 对应页内位置 | 跳转动作 | |---------|------------|--------| | **分配房间** | 「行程安排」tab (已有) | 切到 `行程安排` tab,聚焦酒店/房间配置区块 | | **分配车辆** | 「行程安排」tab (已有) | 切到 `行程安排` tab,聚焦车辆配置区块 | | **确认清单** | 当前「概览」tab 保留锁单弹窗 | 沿用现有「弹二次确认对话框 → 调 `PUT /admin/order/todo/{todoId}/complete`」逻辑,**无需跳转** | | **购买保险** | 「合同保险」tab | 切到 `合同保险` tab,聚焦保险子块(若无投保单,点「添加保险」) | | **签署合同** | 「合同保险」tab | 切到 `合同保险` tab,聚焦合同子块(若无合同,点「新建合同」) | ## 按钮状态 - `completed` (绿色对勾): 不再触发跳转,点击无效 / 或提示「已完成」 - `pending` 且前置未满足: 跳转到对应 tab,**不调**「完成待办」接口(让用户先去配) - `pending` 且前置已满足 (例如确认清单): 走原有流程 ## 为什么不在后端做跳转 跳转是 admin UI 的交互,不是业务数据变更。后端已经在 PR #1327 补齐了业务前置校验(未就绪点「完成」会返 BusinessException),这个校验保持不变 — 前端跳转只是避免用户触发这个错误。 ## 涉及接口(均已存在,前端无需后端配合改动) - `GET /admin/order/{orderId}` — 订单详情,返回 `todos` 数组(含 `todoType` 和 `status`) - 行程安排 tab: `GET /admin/order/{orderId}/hotel-assignment`, `GET /admin/order/{orderId}/vehicle-assignment` 等(已有) - 合同保险 tab: 保险 / 合同相关接口(已有) - 「确认清单」完成: `PUT /admin/order/todo/{todoId}/complete`(PR #1327 已上线前置校验) ## 本 changelog 仅为前端交互指引,不绑工单、不改后端代码,请前端同事按此方案实现。