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

nanfang_branch
zengwh 5 years ago
parent 07951f9062
commit 598a367057

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

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

@ -6,9 +6,11 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
public interface User_Dept_MenuMapper { 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} AND sys_flag = #{sysFlag}
</if> </if>
</select> </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> </mapper>

@ -29,7 +29,12 @@ public class User_Dept_MenuServiceImpl implements User_Dept_MenuService {
@Override @Override
public List<User_Dept_Menu> selectAll(String userName,String sysFlag,Integer userId,Integer roleId, public List<User_Dept_Menu> selectAll(String userName,String sysFlag,Integer userId,Integer roleId,
Integer sysId,Integer hospitalId) { 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 @Override

Loading…
Cancel
Save