--- 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 麻烦尽快改一下,截图里的"管辖法院"直接删掉换成仲裁委员会即可。