Commit Graph

2 Commits

Author SHA1 Message Date
Chiguyong fede996dcb fix(bitable): 修复表格头部与数据行之间的幽灵空白
- BitableGrid.vue: 小数据量时移除 height 属性,让 vxe-grid 按内容高度渲染
- 为 .bitable-grid-scope__group-grid 添加 flex:1/min-height:0,避免 vxe-table 回退到 16777216px 的异常高度
- 小数据量时禁用固定列,避免固定列容器错位导致底部出现重复表头
- 隐藏 vxe-table 内置 empty-placeholder,防止有数据时仍显示“暂无数据”
- 隐藏小数据量下 vxe-table 错误的 .vxe-body--y-space 占位,消除表头与首行之间的 132px 间隙
- test_user_service.py: 中文化错误信息断言同步更新
2026-07-06 20:27:04 +08:00
chiguyong 6dca9ba4f2 feat(admin): U3 — user CRUD + password reset + multi-department
Add create_user method to LocalAuthProvider (bcrypt hash + INSERT,
raises ValueError on duplicate username/email).

Add UserService with 9 async methods: create/list/get/update/delete
(soft)/reset_password/assign_department/remove_department/list_user_departments. reset_password revokes all sessions via SessionService.
delete_user is soft (is_active=0, row preserved).

Add 9 user endpoints to routes/admin.py: POST/GET/PATCH/DELETE users,
reset-password, assign/remove department, list departments. All
guarded by _require_admin.

Tests: 40 unit + 37 integration = 77 new tests. Full admin suite
170 tests pass, no regressions.
2026-06-21 13:45:42 +08:00