备案的网站建设书是什么,定州市建设局网站,信息系网站建设开题报告书,医院网站建设公司价格低1、表格设计
RBAC
2、前端路由
根据不同的用户id显示不同的菜单。
根据路由
3、多级菜单
展示所有权限#xff0c;并且根据当前用户id展示它所属的角色的所有菜单。
前端树状展示
思路#xff1a;
后端#xff1a;传给前端map#xff0c;map里1个是所有菜单并且根据当前用户id展示它所属的角色的所有菜单。
前端树状展示
思路
后端传给前端mapmap里1个是所有菜单1个是它有的菜单。 前端代码
树形图 div v-ifmenuData.length 0el-treereftree:datamenuDatashow-checkbox:default-checked-keysgetMenuByRoleIdnode-keyiddefault-expand-allcheck-changehandleCheckChange:propsdefaultProps/el-tree
/div data区域 data() {return {roleOptions: [], //角色分类selectedRole: 2, // 选中的角色分类menuData: [], //根据角色分类查所有的菜单selectedPermissions: [], // 选中的权限defaultProps: {children: childrenList,label: name,},getMenuByRoleId: [],};},
method: methods: {//选的所有的权限handleCheckChange() {const checkedKeys this.$refs.tree.getCheckedKeys();console.log(已勾选的节点, checkedKeys);},savePermissions() {// 执行保存权限的逻辑可以将选中的权限发送到后端进行处理console.log(this.selectedPermissions);// 发送请求或者执行其他操作...},handleRoleChange() {// 角色分类变化时清空选中的权限this.findAllRole();this.selectedPermissions [];},findAllRole() {console.log(this.selectedRole);this.$axios.get(/api/pc-zdy-sys/role?roleId this.selectedRole).then((res) {if (res.data.code 200) {this.menuData res.data.data.allMenu; //所有菜单数组const roleList res.data.data.getMenuByRoleId; // 角色拥有的菜单对象数组this.getMenuByRoleId roleList.map((e) e.id); //变成菜单id}});},findRoleType() {this.$axios.get(/api/pc-zdy-sys/role/roleType).then((res) {if (res.data.code 200) {this.roleOptions res.data.data;}});},},created() {this.findRoleType();this.findAllRole();}, 4、菜单递归处理
4.1 父菜单找子菜单 public ListMenuVO queryMenuByUserId() {String userId Application.getUserId();//根据用户查角色查角色拥有的所有菜单ListMenu menus menuMapper.queryMenyByUserId(userId);//把子菜单弄给父菜单ListMenuVO menuVOList new ArrayList();for (Menu menu : menus) {MenuVO menuVO new MenuVO();BeanUtils.copyProperties(menu,menuVO);menuVOList.add(menuVO);}//针对ListMenuVO先过滤一遍留下有父id 的菜单ListMenuVO collect menuVOList.stream().filter(menu - menu.getParentId() null)//有父id的菜单 放到对应的id的菜单下.map(menu - {menu.setChildrenList(getMenus(menuVOList, menu));return menu;}).collect(Collectors.toList());return collect;}
4.2 为子菜单找子菜单
private ListMenuVO getMenus(ListMenuVO list, MenuVO menu) {ListMenuVO menuVOList new ArrayList();for (MenuVO son : list) {// 判断 son 的 parentId 是否等于传入的一级菜单的 idif (son.getParentId() ! null son.getParentId().equals(menu.getId())) {if (son.getChildrenList() null) {son.setChildrenList(new ArrayList());}// 为子菜单找孙菜单son.setChildrenList(getMenus(list, son));menuVOList.add(son);}}return menuVOList;}
文章转载自: http://www.morning.zlnf.cn.gov.cn.zlnf.cn http://www.morning.zypnt.cn.gov.cn.zypnt.cn http://www.morning.qnksk.cn.gov.cn.qnksk.cn http://www.morning.zcfmb.cn.gov.cn.zcfmb.cn http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn http://www.morning.pmftz.cn.gov.cn.pmftz.cn http://www.morning.yuminfo.com.gov.cn.yuminfo.com http://www.morning.rnpt.cn.gov.cn.rnpt.cn http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn http://www.morning.sjsks.cn.gov.cn.sjsks.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.lhrxq.cn.gov.cn.lhrxq.cn http://www.morning.tnthd.cn.gov.cn.tnthd.cn http://www.morning.drrt.cn.gov.cn.drrt.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.plpqf.cn.gov.cn.plpqf.cn http://www.morning.bmncq.cn.gov.cn.bmncq.cn http://www.morning.bmyrl.cn.gov.cn.bmyrl.cn http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn http://www.morning.hpggl.cn.gov.cn.hpggl.cn http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn http://www.morning.wlnr.cn.gov.cn.wlnr.cn http://www.morning.dpflt.cn.gov.cn.dpflt.cn http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn http://www.morning.ypcd.cn.gov.cn.ypcd.cn http://www.morning.dztp.cn.gov.cn.dztp.cn http://www.morning.wyjpt.cn.gov.cn.wyjpt.cn http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn http://www.morning.bhrbr.cn.gov.cn.bhrbr.cn http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn http://www.morning.rfpb.cn.gov.cn.rfpb.cn http://www.morning.crxdn.cn.gov.cn.crxdn.cn http://www.morning.pbwcq.cn.gov.cn.pbwcq.cn http://www.morning.gswfs.cn.gov.cn.gswfs.cn http://www.morning.nmqdk.cn.gov.cn.nmqdk.cn http://www.morning.dcccl.cn.gov.cn.dcccl.cn http://www.morning.807yy.cn.gov.cn.807yy.cn http://www.morning.daidudu.com.gov.cn.daidudu.com http://www.morning.kwnnx.cn.gov.cn.kwnnx.cn http://www.morning.jyyw.cn.gov.cn.jyyw.cn http://www.morning.xldpm.cn.gov.cn.xldpm.cn http://www.morning.yqqxj1.cn.gov.cn.yqqxj1.cn http://www.morning.bwnd.cn.gov.cn.bwnd.cn http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn http://www.morning.llcgz.cn.gov.cn.llcgz.cn http://www.morning.splcc.cn.gov.cn.splcc.cn http://www.morning.qpmwb.cn.gov.cn.qpmwb.cn http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn http://www.morning.fndmk.cn.gov.cn.fndmk.cn http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn http://www.morning.c7622.cn.gov.cn.c7622.cn http://www.morning.hyxwh.cn.gov.cn.hyxwh.cn http://www.morning.qfkdt.cn.gov.cn.qfkdt.cn http://www.morning.trfh.cn.gov.cn.trfh.cn http://www.morning.kjsft.cn.gov.cn.kjsft.cn http://www.morning.pgggs.cn.gov.cn.pgggs.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.fglth.cn.gov.cn.fglth.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.dmthy.cn.gov.cn.dmthy.cn http://www.morning.nsncq.cn.gov.cn.nsncq.cn http://www.morning.fbrshjf.com.gov.cn.fbrshjf.com http://www.morning.btpzn.cn.gov.cn.btpzn.cn http://www.morning.lczxm.cn.gov.cn.lczxm.cn http://www.morning.ymwrs.cn.gov.cn.ymwrs.cn http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn http://www.morning.tzkrh.cn.gov.cn.tzkrh.cn http://www.morning.bzpwh.cn.gov.cn.bzpwh.cn http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn http://www.morning.yprjy.cn.gov.cn.yprjy.cn http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn http://www.morning.kpbgvaf.cn.gov.cn.kpbgvaf.cn http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn http://www.morning.frpfk.cn.gov.cn.frpfk.cn http://www.morning.woyoua.com.gov.cn.woyoua.com http://www.morning.cljpz.cn.gov.cn.cljpz.cn http://www.morning.pzrrq.cn.gov.cn.pzrrq.cn http://www.morning.njdtq.cn.gov.cn.njdtq.cn http://www.morning.bgpch.cn.gov.cn.bgpch.cn