diff --git a/changelogs/2026-05/04_frontend_bug_contract_list_mode_label.md b/changelogs/2026-05/04_frontend_bug_contract_list_mode_label.md new file mode 100644 index 0000000..961b5a5 --- /dev/null +++ b/changelogs/2026-05/04_frontend_bug_contract_list_mode_label.md @@ -0,0 +1,60 @@ +--- +date: 2026-05-04 +type: frontend-bug +module: contract-list +priority: medium +notify: ["@mmg"] +status: pending +--- + +# 合同列表"签约模式"列显示 ONLINE 应显示"线上签署" + +## 现象 + +`/admin/contract/list` 页面"签约模式"列显示原始 enum value: +``` +ONLINE / OFFLINE / SMS +``` +应显示中文 label: +``` +线上签署 / 线下签署 / 短信签署 +``` + +## 根因 + +后端 `/admin/contract/list` 已返回 `modeLabel` 字段(中文): + +```json +{ + "code": 200, + "data": { + "list": [{ + "contractId": "...", + "mode": "ONLINE", // ← enum value + "modeLabel": "线上签署", // ← 中文 label, 前端直接用这个 + "platform": "12301", + "...": "..." + }] + } +} +``` + +前端模板里写的应该是 `{{ row.mode }}`,改成 `{{ row.modeLabel }}` 即可。 + +## 同模式字段(一并检查) + +后端返回的 `*Label` 字段都该用: + +| 列 | enum 字段 | 中文 label 字段 | +|----|-----------|-----------------| +| 签约模式 | `mode` | `modeLabel` | +| 合同类型 | `contractType` | `contractTypeLabel` | +| 状态 | `status` | `statusLabel` | + +打开合同列表页若发现其他列也是英文 enum,按同样规则改。 + +## 后端零改动 + +后端 VO 早已含三个 `*Label` 字段,看 `ContractListRespVO` 即可。无需后端 PR。 + +@mmg 修一下渲染字段即可,应该是 1 行 template 改动。