feat(user): 优化用户审核功能及新增店名显示

- 在用户模型中新增 storeName 字段以支持店名信息
- 用户列表页增加“店名”列,支持表格内显示及提示完整信息
- 审核弹窗新增单条审核时的关键信息展示,包括店名、姓名及所在地区
- 优化审核弹窗逻辑,批量审核时不展示单条用户信息
- 精简待审核用户专用页,固定只显示审核状态为“待审核”的用户
- 待审核页删除高级筛选功能,仅保留关键字搜索
- 保留待审核页的角色、注册来源、审核状态列展示,满足显示需求
- 调整用户列表页操作项样式,统一使用 a-space 包装,提升界面一致性
This commit is contained in:
2026-07-12 00:44:58 +08:00
parent 423d82d9c6
commit 12375b2fc1
4 changed files with 780 additions and 57 deletions

View File

@@ -0,0 +1,46 @@
# 2026-07-12 工作日志
## 用户审核弹窗与列表增加店名/姓名/地区信息
针对用户管理 `system/user` 的审核功能做信息补全:
### 1. 新增字段
- `src/api/system/user/model/index.ts`:在 `User` 接口增加 `storeName?: string`(店名)。
### 2. 用户列表增加「店名」列
- `src/views/system/user/index.vue`
- 列配置在「昵称」后新增 `storeName` 列(`title: '店名'``align: 'center'``ellipsis: true`)。
- `bodyCell` 渲染分支:空值显示 `-`,保留 `title` 提示完整店名。
### 3. 审核弹窗展示用户关键信息
- 新增响应式变量 `currentAuditUser`
- `openAudit(row)` 时把当前行记录赋给 `currentAuditUser``openBatchAudit` 时清空(批量审核不展示单条信息)。
- 审核弹窗顶部增加信息区(仅单条审核时展示):
- **店名**`currentAuditUser.storeName || '-'`
- **姓名**`currentAuditUser.realName || currentAuditUser.nickname || '-'`(真实姓名优先,无则取昵称)
- **所在地区**`province + city + region` 拼接,空则显示 `-`
### 验证
- `vue-tsc --noEmit` 类型检查:本次改动文件无新增错误(列出的报错均为项目既有错误:`$router``getPageTitle``loginUser`/`updateIsAdmin` 未使用、导出数组隐式 any 等,与本次无关)。
- 落地核对:模型 `storeName` 1 处、页面列配置 1 处、`bodyCell` 渲染 1 处、`currentAuditUser` 变量 7 处、弹窗信息区字段各 1 处。
## 待审核用户专用页 `/system/user/pending` 精简
`src/views/system/user/pending/index.vue` 已存在(基于 user 列表的副本)。按用户要求改造:
### 1. 只显示待审核用户
- `datasource` 改为固定 `auditStatus: 0`,不再读取筛选条件。
### 2. 删除高级筛选区(角色/注册来源/类型/审核状态 4个下拉 + 搜索/重置按钮)
- 模板删除整个 `<a-form>` 高级筛选区。
- 脚本删除 `searchWhere` reactive、`resetSearch``roles` 变量、`filters()` 调用。
- 删除已无用的 `listRoles` import。
- 顶部关键词搜索框(`a-input-search`)保留。
### 注意点(待用户确认)
- 列表的「角色」列、「注册来源」列、「审核状态」列均**保留**(用户要求删除的是筛选"功能",非列表展示列)。其中「审核状态」列在待审核页全会显示"待审核",若用户也想删列表列需再告知。
- 工具栏「新建/修改/重置密码/批量审核/批量删除/导入/导出」按钮保留未动。
### 验证
- `vue-tsc --noEmit`:本页面无新增类型错误(残留报错均为项目既有问题)。
- 落地核对:高级筛选残留 0、searchWhere/resetSearch/roles/filters/listRoles 残留 0、datasource 固定 auditStatus:0 = 1。