mirror of https://gitee.com/stylefeng/roses
【7.0.4】【menu】更新layui版本控制菜单动态展示
parent
ead4ad12e9
commit
f95e60c256
|
@ -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,例如/menu,适用于antd 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-未删除
|
||||
*/
|
||||
|
|
|
@ -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()));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue