Files
guilixu-admin/.workbuddy/memory/2026-07-11.md
赵忠林 dceb030712 fix(system-admin): 统一 isAdmin 类型为布尔值
- 修复 admin/index.vue 中 isAdmin 的类型不一致问题
- 修改模板中判断逻辑,将 record.isAdmin == 1 改为 record.isAdmin
- 调整 updateIsAdmin 函数,改为取反布尔值方式赋值
- 使用 vue-tsc --noEmit 验证确认无新增类型错误
- 清理了自引入未使用变量的 TS6133 警告
2026-07-11 19:17:27 +08:00

3.1 KiB
Raw Blame History

2026-07-11 工作日志

用户管理模块 UX 优化guilixu-admin 前端)

按用户确认的方案,对 src/views/system/ 下用户管理模块做了一轮优化:

1. 隐藏右上角三个导航按钮

  • src/views/system/user/components/Extra.vue 定义了「人员管理 / 实名认证 / 管理员列表」三个按钮,被 4 个页面复用:user/index.vueadmin/index.vueuserVerify2/index.vueorganization/index.vue
  • 已移除这 4 个页面里对 <Extra/> 的引用与 import并删除孤儿组件 Extra.vue

2. 修复搜索条件被覆盖的 bug

  • user/index.vueadmin/index.vuedatasourcewhere = {} 会清空传入条件(导致 defaultWhere 失效)。改为 const params = { ...where, ... } 合并后传给 pageUsers

3. 清理死代码

  • 删除 userTypehandleTabsuser/index.vue、admin/index.vue 均未使用)。

4. 修复重置密码明文安全问题

  • resetPsw 原先把明文新密码直接显示在 message.success 中;改为 Modal.success 弹窗展示,避免明文暴露。

5. 增加用户状态列 + 行点击查看详情

  • user/admin 列表新增「状态」列(正常/冻结,读取 record.status)。
  • 表格行 onClick 改为打开用户详情抽屉(openInfo),移除原无提示的双击编辑。

6. 新增高级筛选(仅 user/index.vue

  • 在页头加入角色 / 注册来源(platform) / 类型(isAdmin) 三个筛选条件 + 搜索/重置按钮,绑定 searchWhere reactivedatasource 读取后传给 pageUsers

验证

  • vue-tsc --noEmit 类型检查:我改动的 4 个文件无新增错误(仅剩项目既有错误,如 getPageTitle 返回 unknown、$router 类型、CMS/Shop 模块缺失等,与本次无关)。
  • 修复了自引入的 2 个 TS6133resetPsw 中改 message.successModal.successmsg 未使用的报错)。
  • 注意:本环境文件编辑会被自动提交/同步,工作区与 git HEAD 哈希一致属正常现象。

补充修复19:08isAdmin 类型不一致

  • 问题:User 实体模型定义 isAdmin?: booleansrc/api/system/user/model/index.ts:113),但 admin/index.vue 把实体当数字用(updateIsAdminrow.isAdmin ? 0 : 1、模板 record.isAdmin == 1),与模型冲突;user/index.vue 已正确用布尔(!row.isAdminv-if="record.isAdmin")。
  • 修复 admin/index.vue 两处:模板 :checked="record.isAdmin == 1":checked="record.isAdmin"updateIsAdmin 改为 row.isAdmin = !row.isAdmin;。与 User 模型严格一致。
  • 不改:admin 第294行 isAdmin: 1 是查询条件(UserParam.isAdmin?: number),语义正确。
  • 验证:vue-tsc --noEmit 确认改动无新增错误;旧写法已无残留。

备注

  • 方案中的「Batch 3 长期维护项」admin/user 组件合并、导入模板配置化、search.vue 重命名)本次未执行,属可选重构,风险较高,留待后续。
  • Grep 工具在当前环境因 pcre2 动态库缺失报错,改用 bash grep 替代。