更新用户分配菜单树的点击bug及医院管理员进归档系统慢

master
zengwh 5 years ago
parent 07951f9062
commit 598a367057

@ -80,9 +80,9 @@ public class PowerWebServiceImpl implements PowerWebService {
// 当前用户的所有菜单集合
List<Power_Menu> tempPowerMenus = new ArrayList<>(powerRoleMenus);
for (Power_Menu powerMenu:powerUserMenus) {
if(powerMenu.getFlag() == Constant.EFFECTIVE_YES){
if(powerMenu.getFlag().equals(Constant.EFFECTIVE_YES)){
tempPowerMenus.add(powerMenu);
}else if(powerMenu.getFlag() == Constant.EFFECTIVE_NO){
}else if(powerMenu.getFlag().equals(Constant.EFFECTIVE_NO)){
tempPowerMenus.remove(powerMenu);
}
}

@ -54,74 +54,74 @@ $().ready(function(data){
var streeId = 's';
//展开节点添加子节点
function addChildNodes(event, treeId, treeNode){
var children = treeNode.children;
var ztree = $.fn.zTree.getZTreeObj("ztree");
var level = treeNode.level;
treeId = treeNode.id;
var sysFlag = treeNode.sysFlag;
if(children == undefined) {
//1.权限系统,加载该医院所有用户
if (level == 1 && sysFlag == 'power') {
//获取父节点及医院的医院id
var hospitalId = treeNode.getParentNode().selfId;
$.ajax({
type: 'get',
url: path + '/menuPower/getUserTreeByHospitalId',
data: {hospitalId: hospitalId},
dataType: 'json',
async: false,
success: function (data) {
if (data != null) {
var sTreeId = 0;
var treeList = [];
for (var i = 0; i < data.length; i++) {
sTreeId++;
var newNode = {
id: streeId + sTreeId,
parentId: treeId,
name: data[i].name,
newName: data[i].newName,
sysFlag: sysFlag,
selfId: data[i].name.split('-')[0]
}
treeList.push(newNode);
}
ztree.addNodes(treeNode, treeList);
}
}
})
}
//1.其他系统,加载该科室下用户
if (level == 2) {
var deptId = treeNode.getParentNode().selfId;
$.ajax({
type: 'get',
url: path + '/menuPower/getUserTreeByDeptId',
data: {deptId: deptId},
dataType: 'json',
async: false,
success: function (data) {
if (data != null) {
var sTreeId = 0;
var treeList = [];
for (var i = 0; i < data.length; i++) {
sTreeId++;
var newNode = {
id: streeId + sTreeId,
parentId: treeId,
name: data[i].name,
newName: data[i].newName,
sysFlag: sysFlag,
selfId: data[i].name.split('-')[0]
}
treeList.push(newNode);
}
ztree.addNodes(treeNode, treeList);
}
}
})
}
}
var children = treeNode.children;
var ztree = $.fn.zTree.getZTreeObj("ztree");
var level = treeNode.level;
treeId = treeNode.id;
var sysFlag = treeNode.sysFlag;
if(children == undefined) {
//1.权限系统,加载该医院所有用户
if (level == 1 && sysFlag == 'power') {
//获取父节点及医院的医院id
var hospitalId = treeNode.getParentNode().selfId;
$.ajax({
type: 'get',
url: path + '/menuPower/getUserTreeByHospitalId',
data: {hospitalId: hospitalId},
dataType: 'json',
async: false,
success: function (data) {
if (data != null) {
var sTreeId = 0;
var treeList = [];
for (var i = 0; i < data.length; i++) {
sTreeId++;
var newNode = {
id: streeId + sTreeId,
parentId: treeId,
name: data[i].name,
newName: data[i].newName,
sysFlag: sysFlag,
selfId: data[i].selfId
}
treeList.push(newNode);
}
ztree.addNodes(treeNode, treeList);
}
}
})
}
//1.其他系统,加载该科室下用户
if (level == 2) {
var deptId = treeNode.getParentNode().selfId;
$.ajax({
type: 'get',
url: path + '/menuPower/getUserTreeByDeptId',
data: {deptId: deptId},
dataType: 'json',
async: false,
success: function (data) {
if (data != null) {
var sTreeId = 0;
var treeList = [];
for (var i = 0; i < data.length; i++) {
sTreeId++;
var newNode = {
id: streeId + sTreeId,
parentId: treeId,
name: data[i].name,
newName: data[i].newName,
sysFlag: sysFlag,
selfId: data[i].selfId
}
treeList.push(newNode);
}
ztree.addNodes(treeNode, treeList);
}
}
})
}
}
}
//关键字搜索树

@ -6,9 +6,11 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface User_Dept_MenuMapper {
List<User_Dept_Menu> selectAll(@Param("userName") String userName,@Param("sysFlag") String sysFlag,@Param("userId") Integer userId,@Param("roleId") Integer roleId,@Param("sysId") Integer sysId,@Param("hospitalId") Integer hospitalId);
List<User_Dept_Menu> selectAll(@Param("userName") String userName,@Param("sysFlag") String sysFlag,@Param("userId") Integer userId,@Param("roleId") Integer roleId,@Param("sysId") Integer sysId,@Param("hospitalId") Integer hospitalId);
List<User_Dept_Menu> selectAllMenusByUserIdAndSysFlag(@Param("userId")Integer userId,@Param("sysFlag")String sysFlag);
List<User_Dept_Menu> selectAllMenusByUserIdAndSysFlag(@Param("userId")Integer userId,@Param("sysFlag")String sysFlag);
List<User_Dept_Menu> validUserRoleMenu(@Param("userId")Integer userId, @Param("url")String url);
List<User_Dept_Menu> validUserRoleMenu(@Param("userId")Integer userId, @Param("url")String url);
List<User_Dept_Menu> selectMenuListByRoleId(@Param("userName") String userName,@Param("sysFlag") String sysFlag);
}

@ -1023,4 +1023,49 @@
AND sys_flag = #{sysFlag}
</if>
</select>
<!--针对roleId=-100的医院管理员用户名查询的菜单权限-->
<select id="selectMenuListByRoleId" resultMap="BaseResultMap">
SELECT
sys.dict_id sys_id,
hospital.hospital_name,
power_dept.dept_id,
power_dept.dept_name,
power_dept.dept_code,
sys.sys_flag,
sys.sys_name,
hospital.dict_id hospital_id,
sys.sys_type,
sys.sort,
power_user.user_id,
power_user.user_name,
power_user.user_tel,
power_user.user_email,
power_user.role_id,
power_role.role_name,
power_menu.menu_id,
power_menu.menu_name,
power_menu.menu_icon,
power_menu.menu_url,
power_menu.method,
power_menu.function_type method_type,
power_menu.parent_id method_parent,
power_menu.sort method_sort
FROM
power_user
LEFT JOIN power_user_dict ON power_user.user_id = power_user_dict.user_id
INNER JOIN power_role ON power_user.role_id = power_role.role_id
LEFT JOIN power_sys_dict sys ON power_user_dict.dict_id = sys.parent_id
AND sys.dict_status = 1
LEFT JOIN power_sys_dict hospital ON power_user_dict.dict_id = hospital.dict_id
INNER JOIN power_menu ON sys.sys_flag = power_menu.sys_flag
AND power_menu.effective = 1
LEFT JOIN power_dept ON FIND_IN_SET(
power_dept.dept_id,
power_user.dept_id
)
AND power_dept.effective = 1
WHERE
user_name = #{userName}
AND power_menu.sys_flag = #{sysFlag}
</select>
</mapper>

@ -29,7 +29,12 @@ public class User_Dept_MenuServiceImpl implements User_Dept_MenuService {
@Override
public List<User_Dept_Menu> selectAll(String userName,String sysFlag,Integer userId,Integer roleId,
Integer sysId,Integer hospitalId) {
return userDeptMenuMapper.selectAll(userName, sysFlag, userId, roleId, sysId, hospitalId);
if("-100".equals(roleId)){
//针对查询菜单权限
return userDeptMenuMapper.selectMenuListByRoleId(userName, sysFlag);
}else{
return userDeptMenuMapper.selectAll(userName, sysFlag, userId, roleId, sysId, hospitalId);
}
}
@Override

Loading…
Cancel
Save