mirror of https://gitee.com/stylefeng/roses
【7.1.1】【menu】设置菜单的半开统计
parent
379fa63118
commit
ecb05b30e5
|
@ -72,6 +72,12 @@ public class ResourceTreeNode implements AbstractTreeNode<ResourceTreeNode> {
|
||||||
@ChineseDescription("能否选择")
|
@ChineseDescription("能否选择")
|
||||||
private Boolean checked;
|
private Boolean checked;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是半开状态(一部分选中)
|
||||||
|
*/
|
||||||
|
@ChineseDescription("是否是半开状态(一部分选中)")
|
||||||
|
private Boolean indeterminate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 子节点集合
|
* 子节点集合
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -170,7 +170,10 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
|
||||||
item.setCode(id);
|
item.setCode(id);
|
||||||
item.setParentCode(RuleConstants.TREE_ROOT_ID.toString());
|
item.setParentCode(RuleConstants.TREE_ROOT_ID.toString());
|
||||||
item.setNodeName(entry.getKey());
|
item.setNodeName(entry.getKey());
|
||||||
item.setChecked(false);
|
|
||||||
|
// 设置临时变量,统计半开状态
|
||||||
|
int checkedNumber = 0;
|
||||||
|
|
||||||
//创建二级节点
|
//创建二级节点
|
||||||
for (SysResource resource : entry.getValue()) {
|
for (SysResource resource : entry.getValue()) {
|
||||||
ResourceTreeNode subItem = new ResourceTreeNode();
|
ResourceTreeNode subItem = new ResourceTreeNode();
|
||||||
|
@ -178,6 +181,8 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
|
||||||
if (!resourceCodes.contains(resource.getResourceCode())) {
|
if (!resourceCodes.contains(resource.getResourceCode())) {
|
||||||
subItem.setChecked(false);
|
subItem.setChecked(false);
|
||||||
} else {
|
} else {
|
||||||
|
checkedNumber++;
|
||||||
|
|
||||||
// 让父类也选择
|
// 让父类也选择
|
||||||
item.setChecked(true);
|
item.setChecked(true);
|
||||||
subItem.setChecked(true);
|
subItem.setChecked(true);
|
||||||
|
@ -188,6 +193,19 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
|
||||||
subItem.setParentCode(id);
|
subItem.setParentCode(id);
|
||||||
res.add(subItem);
|
res.add(subItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 统计选中的数量
|
||||||
|
if (checkedNumber == entry.getValue().size()) {
|
||||||
|
item.setChecked(true);
|
||||||
|
item.setIndeterminate(false);
|
||||||
|
} else if (checkedNumber == 0) {
|
||||||
|
item.setChecked(false);
|
||||||
|
item.setIndeterminate(false);
|
||||||
|
} else {
|
||||||
|
item.setChecked(false);
|
||||||
|
item.setIndeterminate(true);
|
||||||
|
}
|
||||||
|
|
||||||
res.add(item);
|
res.add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue