diff --git a/internal/configloaders/admin_ui_config.go b/internal/configloaders/admin_ui_config.go index dac98c0a..8e8e68be 100644 --- a/internal/configloaders/admin_ui_config.go +++ b/internal/configloaders/admin_ui_config.go @@ -94,5 +94,6 @@ func defaultAdminUIConfig() *systemconfigs.AdminUIConfig { ShowOpenSourceInfo: true, ShowVersion: true, ShowFinance: true, + DefaultPageSize: 10, } } diff --git a/internal/web/actions/actionutils/parent_action.go b/internal/web/actions/actionutils/parent_action.go index 871e45b1..9a2b9edb 100644 --- a/internal/web/actions/actionutils/parent_action.go +++ b/internal/web/actions/actionutils/parent_action.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/TeaOSLab/EdgeAdmin/internal/configloaders" "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/rpc" "github.com/TeaOSLab/EdgeAdmin/internal/utils" @@ -55,7 +56,14 @@ func (this *ParentAction) NewPage(total int64, size ...int64) *Page { if len(size) > 0 { return NewActionPage(this, total, size[0]) } - return NewActionPage(this, total, 10) + + var pageSize int64 = 10 + adminConfig, err := configloaders.LoadAdminUIConfig() + if err == nil && adminConfig.DefaultPageSize > 0 { + pageSize = int64(adminConfig.DefaultPageSize) + } + + return NewActionPage(this, total, pageSize) } func (this *ParentAction) Nav(mainMenu string, tab string, firstMenu string) { diff --git a/internal/web/actions/default/settings/ui/index.go b/internal/web/actions/default/settings/ui/index.go index 73b77812..d858967f 100644 --- a/internal/web/actions/default/settings/ui/index.go +++ b/internal/web/actions/default/settings/ui/index.go @@ -22,6 +22,9 @@ func (this *IndexAction) RunGet(params struct{}) { this.ErrorPage(err) return } + if config.DefaultPageSize == 0 { + config.DefaultPageSize = 10 + } this.Data["config"] = config this.Show() @@ -36,6 +39,7 @@ func (this *IndexAction) RunPost(params struct { Version string FaviconFile *actions.File LogoFile *actions.File + DefaultPageSize int Must *actions.Must CSRF *actionutils.CSRF @@ -46,7 +50,10 @@ func (this *IndexAction) RunPost(params struct { Field("productName", params.ProductName). Require("请输入产品名称"). Field("adminSystemName", params.AdminSystemName). - Require("请输入管理员系统名称") + Require("请输入管理员系统名称"). + Field("defaultPageSize", params.DefaultPageSize). + Gte(0, "默认每页显示数不能小于0"). + Lte(100, "默认每页显示数不能大于100") config, err := configloaders.LoadAdminUIConfig() if err != nil { @@ -60,6 +67,12 @@ func (this *IndexAction) RunPost(params struct { config.ShowVersion = params.ShowVersion config.Version = params.Version + if params.DefaultPageSize > 0 { + config.DefaultPageSize = params.DefaultPageSize + } else { + config.DefaultPageSize = 10 + } + // 上传Favicon文件 if params.FaviconFile != nil { createResp, err := this.RPC().FileRPC().CreateFile(this.AdminContext(), &pb.CreateFileRequest{ diff --git a/web/views/@default/settings/ui/index.html b/web/views/@default/settings/ui/index.html index 35d634fd..9d29fca5 100644 --- a/web/views/@default/settings/ui/index.html +++ b/web/views/@default/settings/ui/index.html @@ -76,5 +76,16 @@ +

其他

+ + + + + +
每页显示数 + +

在有分页的地方每页显示数量;不能超过100。

+
+ \ No newline at end of file