feat(system): 实现用户审核功能

- 新增用户模型字段:auditStatus、auditRemark、auditTime
- 添加用户审核接口 auditUser,支持单条审核
- 用户列表页增加审核状态筛选项和对应列展示
- 列表行内仅待审核用户显示“审核”操作链接
- 工具栏添加批量审核按钮,实现批量审核功能
- 审核弹窗支持选择通过或拒绝及填写备注
- 审核提交支持单条和批量调用接口
- 保持代码类型检查无新增错误,符合项目字段命名规范
This commit is contained in:
2026-07-11 19:43:24 +08:00
parent dceb030712
commit bf259ea8ff
4 changed files with 172 additions and 7 deletions

View File

@@ -35,6 +35,15 @@
- 不改:`admin` 第294行 `isAdmin: 1` 是查询条件(`UserParam.isAdmin?: number`),语义正确。
- 验证:`vue-tsc --noEmit` 确认改动无新增错误;旧写法已无残留。
### 审核功能19:27system/user 用户审核
- 需求audit_status=0待审核时实现审核功能。已与用户确认后端接口已有`POST /system/user/audit/{id}`,入参 `{status, remark}`,与 shop 模块一致);状态 `0待审核 / 1通过 / 2拒绝`;支持行内单条 + 勾选批量审核。
- 改动文件:
- `src/api/system/user/model/index.ts`User 加 `auditStatus / auditRemark / auditTime`UserParam 加 `auditStatus`;新增 `UserAuditRequest { status: number; remark?: string }`
- `src/api/system/user/index.ts`:新增 `auditUser(id, data)``POST /system/user/audit/{id}`
- `src/views/system/user/index.vue`高级筛选加「审核状态」下拉列配置加「审核状态」列a-tag 展示);行内仅 `auditStatus===0` 显示「审核」链接(`@click.stop` 防冒泡触发行详情);工具栏加「批量审核」按钮;新增 `a-modal` 审核弹窗radio 通过/拒绝 + 备注 textarea脚本 `openAudit / openBatchAudit / submitAudit`(批量用 `Promise.all` 循环调单条接口)。
- 验证vue-tsc 仅剩项目既有错误(`updateUserRecommend` 的 form any、`$router``loginUser/updateIsAdmin` 未使用等),本功能无新增类型错误。
- 注意点:字段用 camelCase `auditStatus`(与项目约定一致);若后端实际返回下划线 `audit_status` 需同步改模型字段名。批量审核为循环调单条接口(不依赖后端批量接口)。
### 备注
- 方案中的「Batch 3 长期维护项」admin/user 组件合并、导入模板配置化、search.vue 重命名)本次未执行,属可选重构,风险较高,留待后续。
- Grep 工具在当前环境因 pcre2 动态库缺失报错,改用 bash grep 替代。