From ce47e1a46da2b1191faace70d8d8a64d6f400bf9 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 26 八月 2024 15:07:14 +0800 Subject: [PATCH] PDA菜单更新 --- Tiger.Business/SYS/Biz.SYS_MENU.cs | 71 ++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 30 deletions(-) diff --git a/Tiger.Business/SYS/Biz.SYS_MENU.cs b/Tiger.Business/SYS/Biz.SYS_MENU.cs index b6a5b83..8c5a5a1 100644 --- a/Tiger.Business/SYS/Biz.SYS_MENU.cs +++ b/Tiger.Business/SYS/Biz.SYS_MENU.cs @@ -29,7 +29,7 @@ JoinType.Inner, p.USERGROUP_CODE == r.USERGROUP_CODE, JoinType.Inner, r.ROLE_CODE == m.ROLE_CODE, JoinType.Inner, m.FUNC_CODE == f.ID)) - .WhereIF(!string.IsNullOrEmpty(userid), (t, p, g, r, m, f) => t.USER_ID == userid && f.IS_USE =="1" && f.FUNC_TYPE != "2") + .WhereIF(!string.IsNullOrEmpty(userid), (t, p, g, r, m, f) => t.USER_ID == userid && f.IS_USE == "1" && f.FUNC_TYPE != "2") .Select((t, p, g, r, m, f) => new SYS_MENU { ID = f.ID, @@ -51,10 +51,10 @@ UPDATE_USER = f.UPDATE_USER, UPDATE_TIME = f.UPDATE_TIME, SYMBOLIC_NAME = f.SYMBOLIC_NAME, - COMPONENT=f.COMPONENT, - CURRENTACTIVEMENU=f.CURRENTACTIVEMENU, - SHOW=f.SHOW, - IGNOREKEEPALIVE=f.IGNOREKEEPALIVE, + COMPONENT = f.COMPONENT, + CURRENTACTIVEMENU = f.CURRENTACTIVEMENU, + SHOW = f.SHOW, + IGNOREKEEPALIVE = f.IGNOREKEEPALIVE, IGNOREAUTH = f.IGNOREAUTH, BUTTON_TYPE = f.BUTTON_TYPE, DO_METHOD = f.DO_METHOD, @@ -69,6 +69,11 @@ menuItem.path = (item.PATH ?? "").StartsWith("/dashboard") ? "/dashboard" : $"{item.PATH}"; menuItem.name = item.FUNC_NAME; menuItem.component = (item.PATH == null || item.PATH == "#") ? "LAYOUT" : item.COMPONENT; + if (item.FUNC_CLASS == "PDA") + { + menuItem.pages = menuItem.component; + menuItem.url = item.ICON_URL; + } menuItem.meta = new(); menuItem.meta.icon = item.ICON_URL; // item.ICON_URL; menuItem.meta.orderNo = item.SEQ_NO; @@ -100,7 +105,7 @@ menuItem.menuName = item.FUNC_NAME; menuItem.status = item.IS_USE; menuItem.btnType = item.BUTTON_TYPE; - menuItem.doMethod = item.DO_METHOD; + menuItem.func_group = item.FUNC_GROUP; menuItem.children = new(); GetMenuItem(items.ToList(), item.FUNC_CODE, ref menuItem); data.Add(menuItem); @@ -121,16 +126,15 @@ SYS_MENU func = null; if (!string.IsNullOrEmpty(menuName)) { - func = Biz.Db.Queryable<SYS_MENU>().Where(x=>x.FUNC_NAME == menuName).First(); + func = Biz.Db.Queryable<SYS_MENU>().Where(x => x.FUNC_NAME == menuName).First(); } - var items = await Biz.Db.Queryable<SYS_MENU>() - .WhereIF(!string.IsNullOrEmpty(status),q=>q.IS_USE == status) - .OrderBy(x => x.SEQ_NO) - .Distinct().ToListAsync(); - //娌℃湁鏌ヨ鐨勬椂鍊� - if (func == null) + if (func != null) { - List<SYS_MENU> entities = items.OrderBy(x => x.SEQ_NO).ToList().FindAll(t => t.PFUNC_CODE == "0"); + var items = await Biz.Db.Queryable<SYS_MENU>() + .WhereIF(!string.IsNullOrEmpty(status), q => q.IS_USE == status) + .OrderBy(x => x.SEQ_NO) + .Distinct().ToListAsync(); + List<SYS_MENU> entities = items.OrderBy(x => x.SEQ_NO).ToList().FindAll(t => t.PFUNC_CODE == func.FUNC_CODE); foreach (var item in entities) { MenuItem menuItem = new(); @@ -139,6 +143,11 @@ menuItem.path = (item.PATH ?? "").StartsWith("/dashboard") ? "/dashboard" : $"{item.PATH}"; menuItem.name = item.FUNC_NAME; menuItem.component = (item.PATH == null || item.PATH == "#") ? "LAYOUT" : item.COMPONENT; + if (item.FUNC_CLASS == "PDA") + { + menuItem.pages = menuItem.component; + menuItem.url = item.ICON_URL; + } menuItem.meta = new(); menuItem.meta.icon = item.ICON_URL; // item.ICON_URL; menuItem.meta.orderNo = item.SEQ_NO; @@ -171,22 +180,18 @@ menuItem.status = item.IS_USE; menuItem.icon = menuItem.meta.icon; menuItem.func_type = item.FUNC_TYPE; + menuItem.func_group = item.FUNC_GROUP; menuItem.btnType = item.BUTTON_TYPE; - menuItem.doMethod = item.DO_METHOD; menuItem.parentMenu = item.PFUNC_CODE; - menuItem.orderNo= item.SEQ_NO; - menuItem.children = new(); + menuItem.orderNo = item.SEQ_NO; + menuItem.children = null; GetMenuItem(items, item.FUNC_CODE, ref menuItem); data.Add(menuItem); } - } - //鏈夋煡璇㈡潯浠剁殑鏃跺�� - else { - - } + }; //杞崲Json鏃讹紝鍘婚櫎鍊间负null鐨勫睘鎬� - var jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; + var jsonSetting = new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore, NullValueHandling = NullValueHandling.Ignore }; var json = JsonConvert.SerializeObject(data, Formatting.Indented, jsonSetting); return json; } @@ -237,7 +242,7 @@ BUTTON_TYPE = data.btnType, DO_METHOD = data.doMethod, PFUNC_CODE = data.parentMenu, - FUNC_CLASS = "BS", + FUNC_CLASS = data.func_class?? "BS", PATH = data.path, ICON_URL = data.icon, SEQ_NO = (int)data.orderNo, @@ -253,7 +258,7 @@ db.Updateable(func, "system").ExecuteCommand(); } //鏂板 - else + else { db.Insertable(func, "system").ExecuteCommand(); //濡傛灉鏄柊澧炵殑鑿滃崟锛屾煡鍑烘墍鏈夌埗绾ф洿鏂颁负鍗婇�� @@ -273,7 +278,7 @@ } catch (System.Exception ex) { - + } return apiAction; } @@ -297,6 +302,11 @@ menuItem.path = (item.PATH ?? "").StartsWith("/dashboard") ? "/dashboard" : $"{item.PATH}"; menuItem.name = item.FUNC_NAME; menuItem.component = (item.PATH == null || item.PATH == "#") ? "LAYOUT" : item.COMPONENT; + if (item.FUNC_CLASS == "PDA") + { + menuItem.pages = menuItem.component; + menuItem.url = item.ICON_URL; + } menuItem.meta = new(); menuItem.meta.icon = item.ICON_URL; //item.ICON_URL; menuItem.meta.orderNo = item.SEQ_NO; @@ -325,7 +335,7 @@ menuItem.keepalive = item.IGNOREKEEPALIVE; menuItem.show = item.SHOW; menuItem.menuName = item.FUNC_NAME; - menuItem.createTime = item.CREATE_TIME; + menuItem.createTime = item.CREATE_TIME; menuItem.icon = menuItem.meta.icon; menuItem.func_type = item.FUNC_TYPE; menuItem.btnType = item.BUTTON_TYPE; @@ -333,14 +343,15 @@ menuItem.parentMenu = item.PFUNC_CODE; menuItem.orderNo = item.SEQ_NO; menuItem.status = item.IS_USE; - menuItem.children = new(); + menuItem.children = null; GetMenuItem(data, item.FUNC_CODE, ref menuItem); + if (pMenuItem.children == null) { pMenuItem.children = new(); } pMenuItem.children.Add(menuItem); } } } - private static void GetRootMenu(SYS_MENU menu,ref List<SYS_MENU> items) + private static void GetRootMenu(SYS_MENU menu, ref List<SYS_MENU> items) { SYS_MENU menuRet = null; try @@ -348,7 +359,7 @@ menuRet = Biz.Db.Queryable<SYS_MENU>().Where(q => q.FUNC_CODE == menu.PFUNC_CODE && q.FUNC_CODE != "system01").Single(); //23858079-7241-4e64-b0cf-eb5dbe84a9d6 if (menuRet != null) { - if (!items.Where(x=>x.FUNC_CODE == menuRet.FUNC_CODE).Any()) + if (!items.Where(x => x.FUNC_CODE == menuRet.FUNC_CODE).Any()) { items.Add(menuRet); } -- Gitblit v1.9.3