diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java index 0ae52c52..b2e3e076 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java @@ -21,8 +21,7 @@ public class NgAlainServiceImpl implements NgAlainService { private ISysPermissionService sysPermissionService; @Autowired private SysDictMapper mapper; - - private static String CHILDREN = "children"; + private static String CHILDREN ="children"; @Override public JSONArray getMenu(String id) throws Exception { return getJeroMenu(id); @@ -78,7 +77,6 @@ public class NgAlainServiceImpl implements NgAlainService { * @param parentJson */ private void getPermissionJsonArray(JSONArray jsonArray,List metaList,JSONObject parentJson) { - String PERMISSIONLIST = "permissionList"; for (SysPermission permission : metaList) { if(permission.getMenuType()==null) { continue; @@ -91,38 +89,35 @@ public class NgAlainServiceImpl implements NgAlainService { getPermissionJsonArray(jsonArray, metaList, json); } }else if(parentJson!=null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))){ - permissionType(jsonArray, metaList, parentJson, PERMISSIONLIST, permission, json); + String PERMISSIONLIST = "permissionList"; + if(permission.getMenuType()==0) { + JSONObject metaJson = parentJson.getJSONObject("meta"); + if(metaJson.containsKey(PERMISSIONLIST)) { + metaJson.getJSONArray(PERMISSIONLIST).add(json); + }else { + JSONArray permissionList = new JSONArray(); + permissionList.add(json); + metaJson.put(PERMISSIONLIST, permissionList); + } + + }else if(permission.getMenuType()==1) { + if(parentJson.containsKey(CHILDREN)) { + parentJson.getJSONArray(CHILDREN).add(json); + }else { + JSONArray children = new JSONArray(); + children.add(json); + parentJson.put(CHILDREN, children); + } + + if(!permission.isLeaf()) { + getPermissionJsonArray(jsonArray, metaList, json); + } + } } + } } - - private void permissionType(JSONArray jsonArray, List metaList, JSONObject parentJson, String PERMISSIONLIST, SysPermission permission, JSONObject json) { - if(permission.getMenuType()==0) { - JSONObject metaJson = parentJson.getJSONObject("meta"); - if(metaJson.containsKey(PERMISSIONLIST)) { - metaJson.getJSONArray(PERMISSIONLIST).add(json); - }else { - JSONArray permissionList = new JSONArray(); - permissionList.add(json); - metaJson.put(PERMISSIONLIST, permissionList); - } - - }else if(permission.getMenuType()==1) { - if(parentJson.containsKey(CHILDREN)) { - parentJson.getJSONArray(CHILDREN).add(json); - }else { - JSONArray children = new JSONArray(); - children.add(json); - parentJson.put(CHILDREN, children); - } - - if(!permission.isLeaf()) { - getPermissionJsonArray(jsonArray, metaList, json); - } - } - } - private JSONObject getPermissionJsonObject(SysPermission permission) { JSONObject json = new JSONObject(); //类型(0:一级菜单 1:子菜单 2:按钮) @@ -142,36 +137,31 @@ public class NgAlainServiceImpl implements NgAlainService { json.put("name", urlToRouteName(permission.getUrl())); //是否隐藏路由,默认都是显示的 - setRouter(permission, json); + if(permission.isHidden()) { + json.put("hidden",true); + } + //聚合路由 + if(permission.isAlwaysShow()) { + json.put("alwaysShow",true); + } + json.put("component", permission.getComponent()); + JSONObject meta = new JSONObject(); + meta.put("title", permission.getName()); + if(oConvertUtils.isEmpty(permission.getParentId())) { + //一级菜单跳转地址 + json.put("redirect",permission.getRedirect()); + meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); + }else { + meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); + } + if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")||permission.getUrl().startsWith("https://"))) { + meta.put("url", permission.getUrl()); + } + json.put("meta", meta); } return json; } - - private void setRouter(SysPermission permission, JSONObject json) { - if(permission.isHidden()) { - json.put("hidden",true); - } - //聚合路由 - if(permission.isAlwaysShow()) { - json.put("alwaysShow",true); - } - json.put("component", permission.getComponent()); - JSONObject meta = new JSONObject(); - meta.put("title", permission.getName()); - if(oConvertUtils.isEmpty(permission.getParentId())) { - //一级菜单跳转地址 - json.put("redirect", permission.getRedirect()); - meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); - }else { - meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); - } - if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")|| permission.getUrl().startsWith("https://"))) { - meta.put("url", permission.getUrl()); - } - json.put("meta", meta); - } - /** * 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) * 举例: URL = /isystem/role diff --git a/jero-web/src/components/setting/SettingDrawer.vue b/jero-web/src/components/setting/SettingDrawer.vue index fe0c6ecf..2bdf5d45 100644 --- a/jero-web/src/components/setting/SettingDrawer.vue +++ b/jero-web/src/components/setting/SettingDrawer.vue @@ -163,8 +163,8 @@