From a7eb2364d31e999bc94aa4a38e71271ba288e2ab Mon Sep 17 00:00:00 2001 From: Rogee Date: Wed, 17 Dec 2025 15:54:46 +0800 Subject: [PATCH] feat: add status filter --- backend/app/http/super/dto/user.go | 6 +- backend/app/services/user.go | 4 ++ frontend/superadmin/dist/index.html | 4 +- .../superadmin/src/components/SearchField.vue | 6 +- .../superadmin/src/service/UserService.js | 4 +- .../superadmin/src/views/superadmin/Users.vue | 66 ++++++++++++------- 6 files changed, 56 insertions(+), 34 deletions(-) diff --git a/backend/app/http/super/dto/user.go b/backend/app/http/super/dto/user.go index 1e92929..1b87139 100644 --- a/backend/app/http/super/dto/user.go +++ b/backend/app/http/super/dto/user.go @@ -10,9 +10,9 @@ type UserPageFilter struct { requests.Pagination requests.SortQueryFilter - Username *string `query:"username"` - Status *string `query:"status"` - TenantID *int64 `query:"tenant_id"` + Username *string `query:"username"` + Status *consts.UserStatus `query:"status"` + TenantID *int64 `query:"tenant_id"` } type UserItem struct { diff --git a/backend/app/services/user.go b/backend/app/services/user.go index 9145a8d..751838a 100644 --- a/backend/app/services/user.go +++ b/backend/app/services/user.go @@ -70,6 +70,10 @@ func (t *user) Page(ctx context.Context, filter *dto.UserPageFilter) (*requests. conds = append(conds, tuTbl.TenantID.Eq(*filter.TenantID)) } + if filter.Status != nil { + conds = append(conds, tbl.Status.Eq(*filter.Status)) + } + filter.Pagination.Format() users, total, err := query.Where(conds...).Order(tbl.ID.Desc()).FindByPage(int(filter.Offset()), int(filter.Limit)) if err != nil { diff --git a/frontend/superadmin/dist/index.html b/frontend/superadmin/dist/index.html index 983b7be..d4242fd 100644 --- a/frontend/superadmin/dist/index.html +++ b/frontend/superadmin/dist/index.html @@ -7,8 +7,8 @@ Sakai Vue - - + + diff --git a/frontend/superadmin/src/components/SearchField.vue b/frontend/superadmin/src/components/SearchField.vue index a14ebe9..c040e36 100644 --- a/frontend/superadmin/src/components/SearchField.vue +++ b/frontend/superadmin/src/components/SearchField.vue @@ -10,12 +10,10 @@ const props = defineProps({