【7.0.4】【menu】更新layui版本控制菜单动态展示

pull/19/MERGE
fengshuonan 2021-05-31 23:14:41 +08:00
parent ead4ad12e9
commit f95e60c256
4 changed files with 21 additions and 37 deletions

View File

@ -90,13 +90,6 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode<SysMenu> {
@ChineseDescription("应用编码")
private String appCode;
/**
* Y-N-
*/
@TableField("visible")
@ChineseDescription("是否可见Y-是N-否")
private String visible;
/**
*
*/
@ -132,6 +125,13 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode<SysMenu> {
@ChineseDescription("菜单的图标适用于layui-beetl版本")
private String layuiIcon;
/**
* (layui)Y-N-
*/
@TableField("layui_visible")
@ChineseDescription("是否显示")
private String layuiVisible;
/**
* URL/menuantd vue
*/
@ -174,6 +174,13 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode<SysMenu> {
@ChineseDescription("用于非菜单显示页面的重定向url设置")
private String antdvUidUrl;
/**
* ()Y-N-
*/
@TableField("antdv_visible")
@ChineseDescription("是否可见")
private String antdvVisible;
/**
* Y-N-
*/

View File

@ -109,7 +109,7 @@ public class AntdMenusFactory {
antdvMenuItem.setIcon(sysMenu.getAntdvIcon());
antdvMenuItem.setPath(sysMenu.getAntdvRouter());
antdvMenuItem.setComponent(sysMenu.getAntdvComponent());
antdvMenuItem.setHide(YesOrNotEnum.N.getCode().equals(sysMenu.getVisible()));
antdvMenuItem.setHide(YesOrNotEnum.N.getCode().equals(sysMenu.getAntdvVisible()));
antdvMenuItem.setUid(sysMenu.getAntdvUidUrl());
if (ObjectUtil.isNotEmpty(sysMenu.getChildren())) {
antdvMenuItem.setChildren(doModelTransfer(sysMenu.getChildren()));

View File

@ -39,6 +39,7 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory;
import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.rule.util.ProjectUtil;
import cn.stylefeng.roses.kernel.system.api.AppServiceApi;
import cn.stylefeng.roses.kernel.system.api.MenuServiceApi;
import cn.stylefeng.roses.kernel.system.api.RoleServiceApi;
@ -421,6 +422,11 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
queryWrapper.eq(SysMenu::getAppCode, appCode);
}
// 如果是不分离版本,则筛选一下不需要显示的菜单
if (!ProjectUtil.getSeparationFlag()) {
queryWrapper.eq(SysMenu::getLayuiVisible, YesOrNotEnum.Y.getCode());
}
// 如果是超级管理员,则获取所有的菜单
if (LoginContext.me().getSuperAdminFlag()) {
return this.list(queryWrapper);

View File

@ -10,7 +10,6 @@ import cn.stylefeng.roses.kernel.message.api.MessageApi;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiAppIndexMenusVO;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiIndexMenuTreeNode;
import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuService;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization;
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService;
@ -18,7 +17,6 @@ import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -59,10 +57,6 @@ public class IndexService {
// 渲染首页的菜单
List<LayuiAppIndexMenusVO> layuiAppIndexMenus = sysMenuService.getLayuiIndexMenus();
// 将个人信息菜单单独去除掉
this.removePersonalMenu(layuiAppIndexMenus);
renderMap.put("layuiAppIndexMenus", layuiAppIndexMenus);
// 获取首页的头像
@ -119,27 +113,4 @@ public class IndexService {
return renderMap;
}
/**
*
*
* @author fengshuonan
* @date 2021/5/14 16:30
*/
private void removePersonalMenu(List<LayuiAppIndexMenusVO> layuiAppIndexMenusVOS) {
ArrayList<LayuiIndexMenuTreeNode> menus = new ArrayList<>();
for (LayuiAppIndexMenusVO layuiAppIndexMenusVO : layuiAppIndexMenusVOS) {
if (layuiAppIndexMenusVO.getAppCode().equals("system")) {
List<LayuiIndexMenuTreeNode> layuiIndexMenuTreeNodes = layuiAppIndexMenusVO.getLayuiIndexMenuTreeNodes();
for (LayuiIndexMenuTreeNode layuiIndexMenuTreeNode : layuiIndexMenuTreeNodes) {
if (!layuiIndexMenuTreeNode.getMenuName().equals("个人信息")) {
menus.add(layuiIndexMenuTreeNode);
}
}
layuiAppIndexMenusVO.setLayuiIndexMenuTreeNodes(menus);
}
}
}
}