feat: 支持主列表选择每页条数 (#242)
This commit is contained in:
@@ -36,11 +36,12 @@ func (h *Handler) UserList(c *gin.Context) {
|
||||
func (h *Handler) renderUserList(c *gin.Context, httpStatus int, message, errorMessage string, needCreate bool, createUsername string) {
|
||||
keyword := strings.TrimSpace(userListValue(c, "q"))
|
||||
listStatus := userListValue(c, "status")
|
||||
pageSize := service.ParsePageSize(userListValue(c, "page_size"))
|
||||
if c.Request.Method == http.MethodPost {
|
||||
listStatus = c.PostForm("list_status")
|
||||
}
|
||||
result, err := service.ListUsers(h.db, currentUser(c), keyword,
|
||||
model.UserStatus(listStatus), service.ParsePage(userListValue(c, "page")))
|
||||
result, err := service.ListUsersWithPageSize(h.db, currentUser(c), keyword,
|
||||
model.UserStatus(listStatus), service.ParsePage(userListValue(c, "page")), pageSize)
|
||||
if err != nil {
|
||||
fail(c, http.StatusInternalServerError, "读取用户列表失败,账号数据没有被改动。刷新后重试。")
|
||||
return
|
||||
@@ -55,10 +56,11 @@ func (h *Handler) renderUserList(c *gin.Context, httpStatus int, message, errorM
|
||||
status := fmt.Sprintf("共 %d 个用户 · 第 %d/%d 页", result.Total, result.Page, result.TotalPages)
|
||||
c.HTML(httpStatus, "user/list", page(c, "users", "用户管理", gin.H{
|
||||
"Rows": result.Rows, "Keyword": result.Keyword, "Status": status,
|
||||
"Pagination": service.NewPaginationView(result.Page, result.TotalPages, values.Encode()),
|
||||
"Pagination": service.NewPaginationView(result.Page, pageSize, result.TotalPages, values.Encode()),
|
||||
"StatusFilter": result.Status, "Message": message, "Error": errorMessage,
|
||||
"NeedCreate": needCreate, "CreateUsername": createUsername,
|
||||
"CurrentPage": result.Page,
|
||||
"CurrentPage": result.Page,
|
||||
"CurrentPageSize": pageSize,
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -135,6 +137,7 @@ func redirectUsers(c *gin.Context, message, errorMessage string) {
|
||||
if page := c.PostForm("page"); page != "" {
|
||||
query.Set("page", page)
|
||||
}
|
||||
query.Set("page_size", fmt.Sprintf("%d", service.ParsePageSize(c.PostForm("page_size"))))
|
||||
if message != "" {
|
||||
query.Set("msg", message)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user