From c4670f25774c35c9ae6dcd250a09f4c8b2983830 Mon Sep 17 00:00:00 2001 From: jianweie Date: Tue, 9 May 2023 11:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=96=B0=E7=89=88treeTable=E4=B8=8B=E3=80=90=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86=E3=80=91=E4=BD=BF=E7=94=A8=E7=AE=80?= =?UTF-8?q?=E5=8D=95=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=BC=8F=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=95=B0=E6=8D=AE=E6=B7=B7=E4=B9=B1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E6=94=B9=E4=B8=BA=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E9=80=92=E5=BD=92=E5=90=8E=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=B0=E5=89=8D=E7=AB=AF=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E6=A0=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CoreCms.Net.Utility/Helper/SysMenuHelper.cs | 75 +++++++++++++++++++ .../Controllers/System/SysMenuController.cs | 30 +------- .../wwwroot/views/system/sysmenu/create.html | 4 +- .../wwwroot/views/system/sysmenu/edit.html | 4 +- .../wwwroot/views/system/sysmenu/index.html | 30 ++++---- 5 files changed, 95 insertions(+), 48 deletions(-) create mode 100644 CoreCms.Net.Utility/Helper/SysMenuHelper.cs diff --git a/CoreCms.Net.Utility/Helper/SysMenuHelper.cs b/CoreCms.Net.Utility/Helper/SysMenuHelper.cs new file mode 100644 index 00000000..4ea38d14 --- /dev/null +++ b/CoreCms.Net.Utility/Helper/SysMenuHelper.cs @@ -0,0 +1,75 @@ +using CoreCms.Net.Model.Entities; +using CoreCms.Net.Model.ViewModels.UI; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CoreCms.Net.Utility.Helper +{ + public static class SysMenuHelper + { + + #region 获取商品分类下来Dtree============================================================ + + /// + /// 获取导航下拉上级树 + /// + /// + [Description("获取导航下拉上级树")] + public static DTree GetTree(List categories, bool isHaveTop = true) + { + + var model = new DTree(); + model.status = new dtreeStatus() { code = 200, message = "操作成功" }; + + var list = GetMenus(categories, 0); + + if (isHaveTop) + { + list.Insert(0, new dtreeChild() + { + id = "0", + last = true, + parentId = "0", + title = "无父级", + children = new List() + }); + } + model.data = list; + return model; + } + + + /// + /// 迭代方法 + /// + /// + /// + /// + private static List GetMenus(List oldNavs, int parentId) + { + List childTree = new List(); + var model = oldNavs.Where(p => p.parentId == parentId).ToList(); + foreach (var item in model) + { + var parentTree = new dtreeChild(); + parentTree.id = item.id.ToString(); + parentTree.title = item.menuName; + parentTree.parentId = item.parentId.ToString(); + parentTree.last = !oldNavs.Exists(p => p.parentId == item.id); + parentTree.isParent = !parentTree.last; + parentTree.otherData = item; + + childTree.Add(parentTree); + parentTree.children = GetMenus(oldNavs, item.id); + } + return childTree; + } + + #endregion + + } +} diff --git a/CoreCms.Net.Web.Admin/Controllers/System/SysMenuController.cs b/CoreCms.Net.Web.Admin/Controllers/System/SysMenuController.cs index efe4a262..18b50ceb 100644 --- a/CoreCms.Net.Web.Admin/Controllers/System/SysMenuController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/System/SysMenuController.cs @@ -67,35 +67,11 @@ namespace CoreCms.Net.Web.Admin.Controllers public async Task GetPageList() { var jm = new AdminUiCallBack(); - var where = PredicateBuilder.True(); - where = where.And(p => p.deleted == false); - //查询筛选 - - ////菜单名称 nvarchar - //var menuName = Request.Form["menuName"].FirstOrDefault(); - //if (!string.IsNullOrEmpty(menuName)) - //{ - // where = where.And(p => p.menuName.Contains(menuName)); - //} - - ////菜单组件地址 nvarchar - //var component = Request.Form["component"].FirstOrDefault(); - //if (!string.IsNullOrEmpty(component)) - //{ - // where = where.And(p => p.component.Contains(component)); - //} - - ////权限标识 nvarchar - //var authority = Request.Form["authority"].FirstOrDefault(); - //if (!string.IsNullOrEmpty(authority)) - //{ - // where = where.And(p => p.authority.Contains(authority)); - //} //获取数据 - var list = await _sysMenuServices.QueryListByClauseAsync(where, p => p.sortNumber, OrderByType.Asc); + var list = await _sysMenuServices.QueryListByClauseAsync(p => p.deleted == false, p => p.sortNumber, OrderByType.Asc); //返回数据 - jm.data = list; + jm.data = SysMenuHelper.GetTree(list, false).data; jm.code = 0; jm.count = list.Count; jm.msg = "数据调用成功!"; @@ -260,7 +236,7 @@ namespace CoreCms.Net.Web.Admin.Controllers var bl = await _sysMenuServices.InsertAsync(list, true) > 0; jm.code = bl ? 0 : 1; - jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; + jm.msg = bl ? "数据导入成功" : "数据导入失败"; return jm; diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/create.html index 1b33fa49..1d678576 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/create.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/create.html @@ -132,7 +132,7 @@ var list = []; let item = { - menuName: "无上级", + title: "无上级", id: 0 } list.push(item); @@ -153,7 +153,7 @@ model: { label: { type: 'text' } }, name: 'parentId', prop: { - name: 'menuName', + name: 'title', value: 'id' }, radio: true, diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/edit.html index d17b5c53..5641466c 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/edit.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/edit.html @@ -134,7 +134,7 @@ var list = []; let item = { - menuName: "无上级", + title: "无上级", id: 0 } list.push(item); @@ -154,7 +154,7 @@ model: { label: { type: 'text' } }, name: 'parentId', prop: { - name: 'menuName', + name: 'title', value: 'id' }, radio: true, diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/index.html index a58cf149..4eb6295b 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/system/sysmenu/index.html @@ -30,7 +30,7 @@