feat: 完成WMS库房管理系统功能迭代与界面优化

1.  统一系统名称为WMS库房管理,替换所有页面标题、登录页、侧边栏文字
2.  新增公共物料下拉选择组件MaterialSelect,替换多处本地物料字典加载逻辑
3.  用户列表、AGV任务列表、入库/出库/盘点/库存列表新增ID与创建时间列
4.  用户列表、物料查询等接口改为后端真分页,按创建时间倒序排序
5.  库存查询新增全局模糊搜索,支持物料编码/批次号/SN匹配
6.  库存汇总新增区域汇总视图与导出功能,修复导出表头与数据字段
7.  优化侧边栏菜单样式与布局,修复菜单图标间距与文字对齐问题
8.  完善库存查询、区域汇总的文档注释与导出字段
This commit is contained in:
SunYF
2026-09-07 15:26:37 +08:00
parent 6ee131a4bd
commit 649d2cc358
17 changed files with 364 additions and 181 deletions
+18 -3
View File
@@ -147,10 +147,25 @@ func userDTO(u *ent.User) map[string]any {
}
}
// listUsersHandler GET /api/user/list 管理员查看全部用户
// listUsersHandler GET /api/user/list 管理员查看全部用户(后端真分页,created_at desc 最新置顶)
func listUsersHandler(ctx *svc.ServiceContext) http.HandlerFunc {
return requirePerm(ctx, "user:manage", func(w http.ResponseWriter, r *http.Request) {
list, err := ctx.EntClient.User.Query().Order(ent.Asc("id")).All(ctx0())
page := atoi(r.URL.Query().Get("page"), 1)
pageSize := atoi(r.URL.Query().Get("pageSize"), 20)
if page < 1 {
page = 1
}
if pageSize < 1 || pageSize > 200 {
pageSize = 20
}
q := ctx.EntClient.User.Query()
total, err := q.Count(ctx0())
if err != nil {
fail(w, http.StatusInternalServerError, err.Error())
return
}
list, err := q.Order(ent.Desc("created_at"), ent.Desc("id")).
Offset((page - 1) * pageSize).Limit(pageSize).All(ctx0())
if err != nil {
fail(w, http.StatusInternalServerError, err.Error())
return
@@ -159,7 +174,7 @@ func listUsersHandler(ctx *svc.ServiceContext) http.HandlerFunc {
for _, u := range list {
out = append(out, userDTO(u))
}
ok(w, map[string]any{"list": out})
ok(w, map[string]any{"list": out, "total": total, "page": page, "pageSize": pageSize})
})
}