通知: 合同方案弹窗删除SYNC/现场/线下三个选项 [前端]
这个提交包含在:
父节点
ff9f271c80
当前提交
bf52afa11e
@ -0,0 +1,91 @@
|
||||
# change: 合同方案表单「签约模式/签署模式」精简选项 — 待前端处理
|
||||
|
||||
**日期**: 2026-04-28
|
||||
**类型**: 产品决策(精简选项)— **后端零改动**
|
||||
**影响端**: 管理后台 (admin) — 系统管理 → 合同方案 → 新增/编辑弹窗
|
||||
**反馈来源**: 用户当面指示,截图圈出要删除的 3 个 radio 选项
|
||||
|
||||
---
|
||||
|
||||
## 改动要求
|
||||
|
||||
合同方案弹窗(`编辑合同方案` / `新增合同方案`)里**删除以下 3 个 radio**:
|
||||
|
||||
### 「签约模式」 contractMode
|
||||
|
||||
| 当前 value | 当前 label | 处理 |
|
||||
|---|---|---|
|
||||
| STANDARD | 电子签约 | ✅ 保留(且作为唯一选项) |
|
||||
| SYNC | 线下报备 | ❌ **删除** |
|
||||
|
||||
### 「签署模式」 signatoryMode
|
||||
|
||||
| 当前 value | 当前 label | 处理 |
|
||||
|---|---|---|
|
||||
| 1 | 短信签署 | ✅ 保留(且作为唯一选项) |
|
||||
| 2 | 现场签署 | ❌ **删除** |
|
||||
| 3 | 线下签署 | ❌ **删除** |
|
||||
|
||||
删除后两个 radio group 都只剩单一选项,建议直接改成只读展示文字或保留单 radio(默认选中且 disabled)。
|
||||
|
||||
---
|
||||
|
||||
## 修改位置
|
||||
|
||||
**文件**: `hl-ui/src/views/contract/scheme/components/SchemeEditModal.vue`
|
||||
|
||||
```vue
|
||||
<!-- 当前 line 47-51 -->
|
||||
<n-form-item label="签约模式" path="contractMode">
|
||||
<n-radio-group v-model:value="formData.contractMode">
|
||||
<n-radio value="STANDARD">电子签约</n-radio>
|
||||
<n-radio value="SYNC">线下报备</n-radio> <!-- 删除这行 -->
|
||||
</n-radio-group>
|
||||
</n-form-item>
|
||||
|
||||
<!-- 当前 line 54-60 -->
|
||||
<n-form-item label="签署模式" path="signatoryMode">
|
||||
<n-radio-group v-model:value="formData.signatoryMode">
|
||||
<n-radio value="1">短信签署</n-radio>
|
||||
<n-radio value="2">现场签署</n-radio> <!-- 删除这行 -->
|
||||
<n-radio value="3">线下签署</n-radio> <!-- 删除这行 -->
|
||||
</n-radio-group>
|
||||
</n-form-item>
|
||||
```
|
||||
|
||||
默认值(`line 167-168`)已经是 `'STANDARD'` 和 `'1'`,无需调整。
|
||||
|
||||
---
|
||||
|
||||
## 兼容性提醒
|
||||
|
||||
后端 **不会** 删除 `ContractMode.SYNC` 枚举值和 `signatoryMode=2/3` 的支持,原因:
|
||||
|
||||
1. 12301 平台规范本身定义了 `signatory.mode` 取值 1=短信 / 2=现场 / 3=线下,是上游协议字段
|
||||
2. v1 历史数据 / contract_scheme 表 / contract 表里**可能存在** value=`SYNC` 或 signatoryMode=2/3 的旧记录
|
||||
3. 后端 `ContractMode.java` / `dict_business_enums.sql` 里的字典/枚举原样保留
|
||||
|
||||
⚠️ **前端处理回显的兼容**:编辑老方案时 `detail.contractMode === 'SYNC'` 或 `detail.signatoryMode === 2/3` 的情况下,radio group 会找不到匹配项导致显示空白。建议前端任选一种处理:
|
||||
|
||||
- 方案 A:渲染前若检测到旧值,自动回填到剩余的有效值(`STANDARD` / `'1'`),用户保存时自动迁移
|
||||
- 方案 B:旧值场景额外渲染一个 disabled radio 显示原值,但禁止重新选择
|
||||
|
||||
推荐方案 A(迁移更彻底)。
|
||||
|
||||
---
|
||||
|
||||
## 验证清单
|
||||
|
||||
- [ ] 「签约模式」radio 只剩 `电子签约`
|
||||
- [ ] 「签署模式」radio 只剩 `短信签署`
|
||||
- [ ] 编辑历史方案(`contractMode=SYNC` 或 `signatoryMode=2/3`)时回显不报错
|
||||
- [ ] 新增/编辑保存后,提交给后端的 contractMode 始终是 `STANDARD`,signatoryMode 始终是 `1`
|
||||
- [ ] 「合同方案列表」里历史 `SYNC`/`2`/`3` 数据展示是否仍正常(这个文件不动表格列,只动弹窗)
|
||||
|
||||
---
|
||||
|
||||
## 关联
|
||||
|
||||
- 后端 ContractMode 枚举: `hl-order-service-v2/src/main/java/com/hulalv/contract/enums/ContractMode.java`
|
||||
- 后端 ContractSchemeVO: `hl-order-service-v2/src/main/java/com/hulalv/contract/vo/ContractSchemeVO.java:43-47`
|
||||
- 12301 协议字段映射: `signatory.mode` (12301 申报合同 API)
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户