新增菜单tab页
This commit is contained in:
@@ -23,7 +23,7 @@ public interface FunctionState {
|
|||||||
String DRIVER_NAME = "/home";
|
String DRIVER_NAME = "/home";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限资源类型 0-菜单、1-按钮、2-公共资源、3-服务间调用资源
|
* 权限资源类型 0-菜单、1-按钮、2-公共资源、3-服务间调用资源、4-tab页面
|
||||||
*/
|
*/
|
||||||
int MENU = 0;
|
int MENU = 0;
|
||||||
|
|
||||||
@@ -33,4 +33,6 @@ public interface FunctionState {
|
|||||||
|
|
||||||
int IN_SERVICE = 3;
|
int IN_SERVICE = 3;
|
||||||
|
|
||||||
|
int TAB = 4;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class FunctionParam {
|
|||||||
|
|
||||||
@ApiModelProperty("资源类型")
|
@ApiModelProperty("资源类型")
|
||||||
@NotNull(message = UserValidMessage.TYPE_NOT_BLANK)
|
@NotNull(message = UserValidMessage.TYPE_NOT_BLANK)
|
||||||
@Range(min = 0, max = 3, message = UserValidMessage.PARAM_FORMAT_ERROR)
|
@Range(min = 0, max = 4, message = UserValidMessage.PARAM_FORMAT_ERROR)
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
@ApiModelProperty("描述")
|
@ApiModelProperty("描述")
|
||||||
|
|||||||
@@ -49,4 +49,7 @@ public class FunctionVO implements Serializable {
|
|||||||
@ApiModelProperty("子级")
|
@ApiModelProperty("子级")
|
||||||
List<FunctionVO> children;
|
List<FunctionVO> children;
|
||||||
|
|
||||||
|
@ApiModelProperty("tab数据")
|
||||||
|
List<FunctionVO> userTab;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
FROM
|
FROM
|
||||||
sys_function
|
sys_function
|
||||||
WHERE
|
WHERE
|
||||||
STATE = 1 AND Type IN(0,1)
|
STATE = 1 AND Type IN(0,1,4)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getFunctionsByList" resultType="FunctionVO">
|
<select id="getFunctionsByList" resultType="FunctionVO">
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
FROM
|
FROM
|
||||||
sys_function
|
sys_function
|
||||||
WHERE
|
WHERE
|
||||||
STATE = 1 AND Type = 0
|
STATE = 1 AND Type IN (0,4)
|
||||||
AND
|
AND
|
||||||
Id in
|
Id in
|
||||||
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
|
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
|
||||||
|
|||||||
@@ -165,7 +165,8 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Function> getButtonsById(String id) {
|
public List<Function> getButtonsById(String id) {
|
||||||
return this.lambdaQuery().eq(Function::getPid,id).eq(Function::getType,FunctionState.BUTTON).eq(Function::getState,FunctionState.ENABLE).list();
|
List<Integer> typeList = Arrays.asList(FunctionState.BUTTON,FunctionState.PUBLIC,FunctionState.TAB);
|
||||||
|
return this.lambdaQuery().eq(Function::getPid,id).in(Function::getType,typeList).eq(Function::getState,FunctionState.ENABLE).orderByAsc(Function::getType).list();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -190,6 +191,8 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
//组装驾驶舱
|
//组装驾驶舱
|
||||||
setDriverChildren(result);
|
setDriverChildren(result);
|
||||||
|
//处理tab页
|
||||||
|
setTab(result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,6 +281,29 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理tab页
|
||||||
|
*/
|
||||||
|
private void setTab(List<FunctionVO> list) {
|
||||||
|
if (!CollectionUtils.isEmpty(list)){
|
||||||
|
list.forEach(item->{
|
||||||
|
List<FunctionVO> children = item.getChildren();
|
||||||
|
if (!CollectionUtils.isEmpty(children)){
|
||||||
|
for (FunctionVO child : children) {
|
||||||
|
List<FunctionVO> children2 = child.getChildren();
|
||||||
|
if (!CollectionUtils.isEmpty(children2)){
|
||||||
|
setTab(children2);
|
||||||
|
} else if (Objects.equals(child.getType(),4)){
|
||||||
|
item.setUserTab(item.getChildren());
|
||||||
|
item.setChildren(new ArrayList<>());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验参数,
|
* 校验参数,
|
||||||
* 1.检查是否存在相同名称的菜单
|
* 1.检查是否存在相同名称的菜单
|
||||||
|
|||||||
Reference in New Issue
Block a user