diff --git a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs index bff062cd..985f4237 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs @@ -8,13 +8,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 字典表维护组件 /// - public class DictsBase : PageBase + public class DictsBase : QueryPageBase { - /// - /// 获得/设置 BootstrapDict 实例 - /// - protected BootstrapDict QueryModel { get; set; } = new BootstrapDict() { Define = -1 }; - /// /// 获得/设置 字典类别集合 /// @@ -25,12 +20,20 @@ namespace Bootstrap.Pages.Admin.Components /// protected List QueryDefine { get; set; } = new List(new SelectedItem[] { new SelectedItem() { Text = "全部", Value = "-1", Active = true }, new SelectedItem() { Text = "系统使用", Value = "0" }, new SelectedItem() { Text = "自定义", Value = "1" } }); + /// + /// 获得/设置 查询条件集合 + /// + protected override void OnInitialized() + { + QueryModel.Define = -1; + } + /// /// 查询方法 /// /// 页码 /// 每页显示数据条目数量 - protected QueryData Query(int pageIndex, int pageItems) + protected override QueryData Query(int pageIndex, int pageItems) { var data = DataAccess.DictHelper.RetrieveDicts(); if (QueryModel.Define != -1) data = data.Where(d => d.Define == QueryModel.Define); @@ -41,23 +44,14 @@ namespace Bootstrap.Pages.Admin.Components return new QueryData() { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageItems = pageItems }; } - /// - /// 新建方法 - /// - /// - protected BootstrapDict Add() - { - return new BootstrapDict(); - } - /// /// 保存方法 /// - protected bool Save(BootstrapDict dict) => DataAccess.DictHelper.Save(dict); + protected override bool Save(BootstrapDict dict) => DataAccess.DictHelper.Save(dict); /// /// 删除方法 /// - protected bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? "")); + protected override bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? "")); } } diff --git a/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs new file mode 100644 index 00000000..19870852 --- /dev/null +++ b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; +using Bootstrap.Admin.Components; + +namespace Bootstrap.Pages.Admin.Components +{ + /// + /// 页面组件基类 + /// + public abstract class QueryPageBase : PageBase where TItem : class, new() + { + /// + /// 获得/设置 TItem 实例 + /// + protected TItem QueryModel { get; set; } = new TItem(); + + /// + /// 查询方法 + /// + /// 页码 + /// 每页显示数据条目数量 + protected abstract QueryData Query(int pageIndex, int pageItems); + + /// + /// 新建方法 + /// + /// + protected TItem Add() => new TItem(); + + /// + /// 保存方法 + /// + protected abstract bool Save(TItem dict); + + /// + /// 删除方法 + /// + protected abstract bool Delete(IEnumerable items); + } +}