From 86722aca20973a1e73d0a446c124eb6a5790496b Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 17 十二月 2024 09:34:17 +0800 Subject: [PATCH] 任务优化,工单状态修改优化 --- Tiger.Business/SYS/Biz.SYS_MENU.cs | 99 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 69 insertions(+), 30 deletions(-) diff --git a/Tiger.Business/SYS/Biz.SYS_MENU.cs b/Tiger.Business/SYS/Biz.SYS_MENU.cs index db7a385..85b388d 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,11 +51,13 @@ 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, - IGNOREAUTH = f.IGNOREAUTH + 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, }); var items = await query.Distinct().ToListAsync(); List<SYS_MENU> entities = items.OrderBy(x => x.SEQ_NO).ToList().FindAll(t => t.PFUNC_CODE == rootCode); //"23858079-7241-4e64-b0cf-eb5dbe84a9d6" @@ -67,10 +69,20 @@ 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; menuItem.meta.title = item.FUNC_NAME; + menuItem.meta.menuId = item.ID; + menuItem.meta.menuCode = item.FUNC_CODE; + menuItem.btnType = item.BUTTON_TYPE; + menuItem.meta.btnType = item.BUTTON_TYPE; + menuItem.meta.doMethod = item.DO_METHOD; if (!string.IsNullOrEmpty(item.IGNOREKEEPALIVE)) { menuItem.meta.ignoreKeepAlive = item.IGNOREKEEPALIVE == "0" ? true : false; @@ -92,6 +104,8 @@ menuItem.show = item.SHOW; menuItem.menuName = item.FUNC_NAME; menuItem.status = item.IS_USE; + menuItem.btnType = item.BUTTON_TYPE; + menuItem.func_group = item.FUNC_GROUP; menuItem.children = new(); GetMenuItem(items.ToList(), item.FUNC_CODE, ref menuItem); data.Add(menuItem); @@ -112,16 +126,16 @@ SYS_MENU func = null; if (!string.IsNullOrEmpty(menuName)) { - func = Biz.Db.Queryable<SYS_MENU>().Where(x=>x.FUNC_NAME == menuName).First(); + string name = menuName.StartsWith("BS")?"BS": menuName; + func = Biz.Db.Queryable<SYS_MENU>().Where(x => x.FUNC_NAME == name).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(); @@ -130,10 +144,19 @@ 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; menuItem.meta.title = item.FUNC_NAME; + menuItem.meta.menuId = item.ID; + menuItem.meta.menuCode = item.FUNC_CODE; + menuItem.meta.btnType = item.BUTTON_TYPE; + menuItem.meta.doMethod = item.DO_METHOD; if (!string.IsNullOrEmpty(item.IGNOREKEEPALIVE)) { menuItem.meta.ignoreKeepAlive = item.IGNOREKEEPALIVE == "0" ? true : false; @@ -158,20 +181,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.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; } @@ -202,9 +223,12 @@ func.ICON_URL = data.icon; func.SEQ_NO = (int)data.orderNo; func.FUNC_TYPE = data.func_type; + func.BUTTON_TYPE = data.btnType; + func.DO_METHOD = data.doMethod; func.COMPONENT = string.IsNullOrEmpty(data.component) && data.func_type == "0" ? "LAYOUT" : data.component; func.IGNOREKEEPALIVE = data.keepalive; func.SHOW = data.show; + func.FUNC_GROUP = data.func_group; //func.CURRENTACTIVEMENU = data.keepalive } else @@ -215,10 +239,12 @@ FUNC_CODE = Guid.NewGuid().ToString("N"), FUNC_NAME = data.menuName, FUNC_DESC = data.menuName, - FUNC_GROUP = "", + FUNC_GROUP = data.func_group, FUNC_TYPE = data.func_type, + 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, @@ -234,7 +260,7 @@ db.Updateable(func, "system").ExecuteCommand(); } //鏂板 - else + else { db.Insertable(func, "system").ExecuteCommand(); //濡傛灉鏄柊澧炵殑鑿滃崟锛屾煡鍑烘墍鏈夌埗绾ф洿鏂颁负鍗婇�� @@ -254,7 +280,7 @@ } catch (System.Exception ex) { - + } return apiAction; } @@ -278,10 +304,19 @@ 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; menuItem.meta.title = item.FUNC_NAME; + menuItem.meta.menuId = item.ID; + menuItem.meta.menuCode = item.FUNC_CODE; + menuItem.meta.btnType = item.BUTTON_TYPE; + menuItem.meta.doMethod = item.DO_METHOD; if (!string.IsNullOrEmpty(item.IGNOREKEEPALIVE)) { menuItem.meta.ignoreKeepAlive = item.IGNOREKEEPALIVE == "0" ? true : false; @@ -302,20 +337,24 @@ 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; + menuItem.doMethod = item.DO_METHOD; menuItem.parentMenu = item.PFUNC_CODE; + menuItem.func_group = item.FUNC_GROUP; 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 @@ -323,7 +362,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