# 同步 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 不好看」问题。