hl-api-changelog/changelogs/2026-04/28_change_admin-contract-scheme-form_remove-sync-and-onsite-offline-options.md

3.6 KiB

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

<!-- 当前 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=SYNCsignatoryMode=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)