From f37de42b8507368b6dba8a15f387a1fa614d5cb3 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 22 Apr 2026 14:14:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=89=8D=E7=AB=AF:=20?= =?UTF-8?q?=E5=90=88=E5=90=8C=E6=96=B9=E6=A1=88=E4=B8=8B=E6=8B=89=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E6=B3=95=E5=A4=A7=E5=A4=A7+=E5=8A=A0=E8=85=BE?= =?UTF-8?q?=E8=AE=AF=E7=94=B5=E5=AD=90=E7=AD=BE=20(=E5=90=8E=E7=AB=AF=20PR?= =?UTF-8?q?=20#1138/#1141/#1147=20=E9=85=8D=E5=A5=97)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-scheme-platform-dropdown-tencent-esign.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 changelogs/2026-04/2026-04-22_contract-scheme-platform-dropdown-tencent-esign.md diff --git a/changelogs/2026-04/2026-04-22_contract-scheme-platform-dropdown-tencent-esign.md b/changelogs/2026-04/2026-04-22_contract-scheme-platform-dropdown-tencent-esign.md new file mode 100644 index 0000000..67d16cb --- /dev/null +++ b/changelogs/2026-04/2026-04-22_contract-scheme-platform-dropdown-tencent-esign.md @@ -0,0 +1,97 @@ +# 合同方案 "合同平台" 下拉:移除法大大,接入腾讯电子签 + +- **日期**: 2026-04-22 +- **涉及页面**: 管理端 → 合同管理 → 合同方案 → 新增/编辑弹窗 +- **文件**: `src/views/contract/scheme/components/SchemeEditModal.vue` +- **原因**: 后端第二期对接腾讯电子签(PR #1138/#1141/#1147),字典 `contract_platform` 新增 `TENCENT_ESIGN`;同时业务不再使用法大大,字典 `FADADA` 已置 `INACTIVE`。 +- **影响**: 管理端创建/编辑合同方案时,当前只有 "12301 / 法大大" 两个硬编码选项,**看不到腾讯电子签**。 + +## 后端已完成 + +| 项 | 值 | +|----|----| +| 字典 | `contract_platform` → `12301`(ACTIVE) / `FADADA`(**INACTIVE**) / `TENCENT_ESIGN`(ACTIVE) | +| 后端枚举 | `ContractPlatform.TOURAGE` / `LOCAL` / **`TENCENT_ESIGN`** | +| Scheme 新字段 | `vendorCode` / `channel`(PR #1138)| +| 策略实现 | `TencentEsignContractPlatform`(PR #1141)| +| 回调 Controller | `POST /contract/callback/tencent-esign[/{vendorCode}]`(PR #1147)| + +## 前端改动(必做) + +### 当前硬编码代码 + +```vue + + + + 全国旅游监管平台 + 法大大 + + +``` + +### 方案 A(推荐,长期治本):从字典动态拉取 + +```vue + + + + {{ opt.label }} + + + +``` + +```ts +// 用你们现有的字典 hook +import { useDictData } from '@/hooks/useDictData' +const { options: platformOptions } = useDictData('contract_platform') // 只返 status=ACTIVE 项 +``` + +后端字典 `status=INACTIVE` 的条目**不会出现在下拉**。未来加 `ESIGN_XX` 只改字典无需改前端。 + +### 方案 B(立即修复,临时):只改硬编码 + +```vue + + 全国旅游监管平台 + 腾讯电子签 + +``` + +删除 `FADADA` 那行,新增 `TENCENT_ESIGN`。 + +### default 值 + +line 165 `contractPlatform: '12301'` 和 line 263 `contractPlatform: detail.contractPlatform || '12301'` 保持不变(12301 仍是默认兜底)。 + +## 同时需要改的下拉(同页面) + +如果有 **vendorCode** 字段显示(腾讯多企业号场景),也需要加。但本期只接 `TENCENT_HULAI` 一个 vendor,字段可延后: + +- 后端 `ContractSchemeRequest.vendorCode` 已支持(PR #1138) +- `@ApiModelProperty` 描述:`平台厂商编码:TENCENT_HULAI=呼籁自有腾讯账号;12301 平台此字段可为空` +- 前端可加个条件显示:platform=TENCENT_ESIGN 时才显示一个 vendorCode 单选(当前只有 `TENCENT_HULAI`) + +## 同时需要改的下拉(列表页) + +`src/views/contract/scheme/index.vue` 和 `src/views/contract/list/index.vue` 如果有按"合同平台"筛选或渲染标签,同样需要: +- FADADA → 移除 +- TENCENT_ESIGN → 新增(label "腾讯电子签") + +## 相关后端接口(已就绪) + +- `GET /admin/contract/scheme/list-all` - 返回 `contractPlatform` / `vendorCode` / `channel` 字段 +- `POST /admin/contract/scheme` - 接 `contractPlatform=TENCENT_ESIGN` + `vendorCode=TENCENT_HULAI` + 可选 `channel` +- `GET /admin/dict/data/list?dictType=contract_platform` - 拉字典(方案 A 用) + +## 验收 + +1. 打开 "新增合同方案" 弹窗 +2. "合同平台" 区域只显示 2 个选项:`全国旅游监管平台` / `腾讯电子签`(无法大大) +3. 选"腾讯电子签" → 保存成功 +4. 方案列表/详情页的合同平台标签能正确显示"腾讯电子签"中文名 + +## 紧急度 + +**高**。2026-04-25 腾讯测试专业版到期前要跑完端到端联调,前端不改这个下拉,运营无法创建 TENCENT_ESIGN 的 Scheme,整个第二期合同接入**卡在这一步**。