---
date: 2026-05-04
type: frontend
module: contract-scheme
priority: high
backend_pr: "#1638"
notify: ["@mmg"]
status: pending
---
# 合同方案表单: 管辖法院 → 仲裁委员会(请前端改)
## 背景
12301 合同 `dispute` 段:
- `disputeResolution=1` 诉讼 → 用 **管辖法院** (litigationCourt)
- `disputeResolution=2` 仲裁 → 用 **仲裁委员会** (tribunalName)
后端 PR #1638 已让两个字段都从 nacos `contract.platform.agencies[].litigationCourt / tribunalName` 兜底(默认"海拉尔区人民法院" / "呼伦贝尔仲裁委员会"),**前端不填也能正常生成合同**。
## 问题(前端目前的状态)
`/contract/scheme` 编辑弹窗里只有一个**管辖法院**输入框(截图中红框):
```
管辖法院 [海拉尔区人民法院] 8 / 100
```
用户要求:
1. **去掉"管辖法院"输入框**(走 nacos 兜底,不让运营每次填)
2. **新增"仲裁委员会"输入框**(仅 `disputeResolution=2 仲裁` 时显示,可选;不填走 nacos 兜底)
## 改动清单
### 1. 编辑/新建合同方案弹窗
| 字段 | 当前 | 目标 |
|------|------|------|
| 管辖法院输入框 (绑 `litigationCourt`) | 始终显示 | **删除** |
| 仲裁委员会输入框 (绑 `tribunalName`) | 不存在 | **新增**,仅当 `disputeResolution === 2` 显示 |
```vue
```
### 2. 提交逻辑
- 提交时仍带 `tribunalName` 和 `litigationCourt` 两个字段(后端 VO 都接收)
- `litigationCourt` 前端无输入入口 → 提交时**始终传 null**(让后端走 nacos 兜底)
- `tribunalName` 用户没填 → 传 null(后端走 nacos 兜底)
### 3. 列表展示(如有显示这两列)
- "管辖法院" 列 → 删掉或改成只展示,从 `agencyInfo` 里读
- "仲裁委员会" 列 → 直接读 `tribunalName`,空值显示 "-"(后端运行时合同会用 nacos 默认)
## 后端不需要改
后端字段名、API 行为、合同 PDF 渲染**全部不变**。前端只动表单 UI + 提交时填啥。
## 接口示例
**POST /admin/contract-scheme** 和 **PUT /admin/contract-scheme/{id}**
```json
{
"schemeName": "全国旅游监管平台",
"platform": "12301",
"disputeResolution": 2,
"tribunalName": "呼伦贝尔仲裁委员会", // ← 仅仲裁时填,可空
"litigationCourt": null, // ← 永远 null,让 nacos 兜底
"...其他字段不变"
}
```
## 测试
- [ ] 选"诉讼" → 不显示"仲裁委员会"输入框
- [ ] 选"仲裁" → 显示"仲裁委员会"输入框(可空)
- [ ] 仲裁时不填 tribunalName 提交 → 保存成功,生成合同 PDF 显示"呼伦贝尔仲裁委员会"
- [ ] 仲裁时填"内蒙古仲裁委员会"提交 → 保存成功,生成合同 PDF 显示自定义值
@mmg 麻烦尽快改一下,截图里的"管辖法院"直接删掉换成仲裁委员会即可。