# 同步 tab 团队填报 prefill 修 3 处字段 + 新增按钮组 label 下发 **日期**: 2026-04-24 **PR**: #1380 (dev) **Issue**: #1377 **类型**: fix + feat (API 扩字段, 前端零改动即可接入 label) **服务**: hl-order-service-v2 --- ## 摘要 订单详情 → 同步 tab (team-report) → 基础信息卡片, 修 3 个 prefill 问题: 1. **旅行社编码按钮组显英文 code** → 后端 prefill 返回值新增 `agencyOptions: [{code, name}]`, 前端按钮组 label 走 `name` 显示中文, value 继续走 `code` 2. **「团号」填整串订单号** → 修为短号 (`order_info.group_code`, 订单头显示的 `5448`), 不再是 `HL20260423175303-5448` 3. **「出发市」固定呼和浩特市** → 从 `product_snapshot.itinerary[0].gatherPlace.fullPath` + 最后一天 `dismissalPlace.fullPath` 拆出省/市 ## 受影响接口 | 接口 | 方法 | 变化 | |---|---|---| | `GET /admin/team-report/prefill/{orderId}` | GET | `teamId` 改用 `order_info.group_code`; `sourceProvince/sourceCity/destinationProvince/destinationCity` 改从 `itinerary[i].gatherPlace.fullPath` 解析; **新增 `agencyOptions: List<{code, name}>` + `businessTypeOptions: List<{code, name}>` 两个只读字段** | ## TeamReportFormDTO 新增字段 ```json { "agencyCode": "hulai", "teamId": "5448", "sourceProvince": "内蒙古自治区", "sourceCity": "呼伦贝尔市", "destinationProvince": "内蒙古自治区", "destinationCity": "兴安盟", "agencyOptions": [ {"code": "hulai", "name": "内蒙古呼籁国际旅行社有限公司"}, {"code": "qianshou", "name": "内蒙古呼籁山河国际旅行社有限公司"}, {"code": "hulai-wenlu", "name": "内蒙古呼籁文旅投资开发集团有限公司"} ], "businessTypeOptions": [ {"code": 2, "name": "国内游组团"}, {"code": 6, "name": "入境接待"}, {"code": 7, "name": "国内接待"} ] } ``` ## 前端改动建议 - 旅行社编码按钮组: 原硬编码 `['hulai','qianshou','hulai-wenlu']` → 改用 `agencyOptions`, `label=name` `value=code` - 业务类型按钮组: 原硬编码 `[2,6,7]` → 改用 `businessTypeOptions` - 其他字段 (`teamId` / `sourceCity` / `destinationCity` 等) 接口签名不变, 前端只需要展示后端返回值即可, 无需任何改动 ## 行为不变的地方 - `agencyCode` / `businessType` 字段类型与原先一致 (前者 String code, 后者 Integer) - 保存/提交接口 (`/save`、`/submit`、`/cancel`、`/status`) 无改动 ## 🚨 紧急:用户 2026-04-24 截图反馈「旅行社编码按钮组仍显英文 code」,必须接 options 后端已返 (curl `https://api.test.1814.love:9443/admin/team-report/prefill/2047252402389598209` 实测): ```json "agencyOptions": [ {"code": "bohua-test", "name": "内蒙古博华牛牛测试旅行社有限公司123"}, {"code": "hulai", "name": "内蒙古呼籁国际旅行社有限公司"}, {"code": "qianshou", "name": "内蒙古呼籁山河国际旅行社有限公司"}, {"code": "hulai-wenlu", "name": "内蒙古呼籁文旅投资开发集团有限公司"} ] ``` 前端同步 tab「基础信息」→「旅行社编码」按钮组**当前大概率硬编码了** ```js const AGENCY_CODES = ['hulai', 'qianshou', 'hulai-wenlu'] // 或 {{ c }} ``` 请改为 (Vue3 + naive-ui 示例): ```vue {{ opt.name }} ``` 「业务类型」按钮组同样改走 `form.businessTypeOptions`: ```vue {{ opt.name }} ``` **注意**: `value` 绑 `code` (提交给后端还是 `qianshou` / `2`), `label` 文本用 `name` 显示中文。这样既保持 12301 上报 contract, 又解决用户反馈的「英文 code 不好看」问题。