# 【BUG】合同方案选择弹窗 + 小程序补全信息

## 1. 合同方案选择弹窗 — 值绑定问题

**现象**：订单详情 → 手动签署 → 选择合同方案弹窗，下拉框显示了"全国旅游监管平台"，但仍然报红"请选择合同方案"，无法提交。

**原因**：下拉框 `v-model` 绑定的 value 可能是空值或类型不匹配。

**排查重点**：
- `GET /admin/contract/scheme/list` 返回的 schemeId 是 **字符串**（如 `"3"`），不是数字
- 下拉选项的 value 必须用 `item.schemeId`（字符串），不要用 `Number(item.schemeId)`
- 表单校验 rules 如果用了 `type: 'number'`，改为 `type: 'string'`

**接口返回示例**：
```json
{
  "code": 200,
  "data": [
    {
      "schemeId": "1",
      "name": "标准电子签约方案（博华测试）冬季小团",
      "contractPlatform": "12301",
      "contractMode": "STANDARD",
      "status": "ACTIVE"
    },
    {
      "schemeId": "3",
      "name": "全国旅游监管平台",
      "contractPlatform": "12301",
      "contractMode": "STANDARD",
      "agencyCode": "hulai",
      "status": "ACTIVE"
    }
  ]
}
```

**注意**：`schemeId` 是字符串类型（Long序列化为String），El-Select 的 value 绑定要对应字符串。

---

## 2. 小程序补全信息 — 不应阻塞

**现象**：小程序用户补全出行人信息时偶现"服务不可用"。

**说明**：
- 补全出行人调用 `PUT /mp/order/{orderId}/edit`，这个接口只做数据保存
- 保险投保和合同签约是**后端异步执行**的（`@Async`），不会阻塞补全请求
- 如果前端在补全后**同步**调用了保险或合同相关接口，可能导致超时
- **正确做法**：补全信息后只等 editOrder 返回，保险/合同状态通过订单详情的 `processStatus` 轮询即可

**processStatus 流转**：
```
PENDING_INFO（待补全）→ PENDING_INSURANCE（投保中）→ PENDING_CONTRACT（签约中）→ PENDING_VEHICLE（待派车）
```

补全成功后 processStatus 会从 `PENDING_INFO` 变为 `PENDING_INSURANCE`，之后自动推进。前端只需轮询订单详情看 processStatus 变化。
