通知前端: 合同方案下拉移除法大大+加腾讯电子签 (后端 PR #1138/#1141/#1147 配套)
这个提交包含在:
父节点
1330c54c2a
当前提交
f37de42b85
@ -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
|
||||||
|
<!-- src/views/contract/scheme/components/SchemeEditModal.vue line 30-34 -->
|
||||||
|
<n-form-item label="合同平台" path="contractPlatform">
|
||||||
|
<n-radio-group v-model:value="formData.contractPlatform">
|
||||||
|
<n-radio value="12301">全国旅游监管平台</n-radio>
|
||||||
|
<n-radio value="FADADA">法大大</n-radio>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方案 A(推荐,长期治本):从字典动态拉取
|
||||||
|
|
||||||
|
```vue
|
||||||
|
<n-form-item label="合同平台" path="contractPlatform">
|
||||||
|
<n-radio-group v-model:value="formData.contractPlatform">
|
||||||
|
<n-radio v-for="opt in platformOptions" :key="opt.value" :value="opt.value">
|
||||||
|
{{ opt.label }}
|
||||||
|
</n-radio>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
```
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 用你们现有的字典 hook
|
||||||
|
import { useDictData } from '@/hooks/useDictData'
|
||||||
|
const { options: platformOptions } = useDictData('contract_platform') // 只返 status=ACTIVE 项
|
||||||
|
```
|
||||||
|
|
||||||
|
后端字典 `status=INACTIVE` 的条目**不会出现在下拉**。未来加 `ESIGN_XX` 只改字典无需改前端。
|
||||||
|
|
||||||
|
### 方案 B(立即修复,临时):只改硬编码
|
||||||
|
|
||||||
|
```vue
|
||||||
|
<n-radio-group v-model:value="formData.contractPlatform">
|
||||||
|
<n-radio value="12301">全国旅游监管平台</n-radio>
|
||||||
|
<n-radio value="TENCENT_ESIGN">腾讯电子签</n-radio>
|
||||||
|
</n-radio-group>
|
||||||
|
```
|
||||||
|
|
||||||
|
删除 `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,整个第二期合同接入**卡在这一步**。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户