日期: 2026-05-21
版本: 1.0
文件: src/views/modules/supplier/channel.vue
后端新增渠道二维码生成功能(POST /core/channel/generateQr/{id}),渠道分页接口响应新增 code、qrUrl、qrCreateTime 字段。管理端需配合展示新字段并提供生成二维码操作。
仅修改 src/views/modules/supplier/channel.vue,不新增文件。
| 列 | 改动 | 说明 |
|---|---|---|
| 渠道方名称 | 不变 | — |
| 渠道码 | 新增 | 展示 code 字段,纯文本 |
| 二维码 | 新增 | 见下方逻辑 |
| 联系人 | 不变 | — |
| 联系方式 | 不变 | — |
| 操作 | 新增按钮 | 新增「生成二维码」按钮 |
二维码列逻辑:
qrUrl 有值:使用 el-image 展示 60×60 缩略图,preview-src-list 支持点击放大qrUrl 为 null:展示灰色文字「未生成」点击「生成二维码」
→ 该行按钮进入 loading(loadingIds 数组记录行 id)
→ POST /core/channel/generateQr/{id}
→ 成功:就地更新 dataList 中该行的 qrUrl,按钮恢复正常
→ 失败:$message.error(res.data.msg),按钮恢复正常
per-row loading 用 loadingIds: [] 数组实现,避免多行同时操作互相干扰。
getDataList() 调用 GET /core/channel/page,后端响应已包含新字段,前端无需修改接口调用,直接使用 code、qrUrl 字段即可。
| 场景 | 处理 |
|---|---|
| 生成二维码失败 | $message.error(res.data.msg) |
| 网络异常 | catch 中 $message.error('操作失败,请重试') |