Commit 78a08a79d5404e8b99abc788f6d03e2a4f5b3e4c
1 parent
eee82b50e2
Exists in
master
用户管理(机构权限管理、角色管理使用selector选择)
Showing 4 changed files with 38 additions and 125 deletions
- parent/base.common/src/main/java/com/lyms/base/common/entity/user/Users.java
- parent/base.common/src/main/java/com/lyms/base/common/service/user/impl/UsersServiceImpl.java
- parent/center.manager/src/main/java/com/lyms/cm/controller/sys/SysUsersController.java
- parent/center.manager/src/main/webapp/WEB-INF/views/user/user_edit.html
parent/base.common/src/main/java/com/lyms/base/common/entity/user/Users.java
View file @
78a08a7
| ... | ... | @@ -147,6 +147,12 @@ |
| 147 | 147 | @TableField(exist=false) |
| 148 | 148 | private String dataOrgIds; |
| 149 | 149 | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * 角色列表数据权限,逗号分隔 | |
| 153 | + */ | |
| 154 | + @TableField(exist=false) | |
| 155 | + private String roles; | |
| 150 | 156 | |
| 151 | 157 | |
| 152 | 158 | public String getId() { |
| ... | ... | @@ -347,6 +353,14 @@ |
| 347 | 353 | |
| 348 | 354 | public void setDataOrgIds(String dataOrgIds) { |
| 349 | 355 | this.dataOrgIds = dataOrgIds; |
| 356 | + } | |
| 357 | + | |
| 358 | + public String getRoles() { | |
| 359 | + return roles; | |
| 360 | + } | |
| 361 | + | |
| 362 | + public void setRoles(String roles) { | |
| 363 | + this.roles = roles; | |
| 350 | 364 | } |
| 351 | 365 | |
| 352 | 366 |
parent/base.common/src/main/java/com/lyms/base/common/service/user/impl/UsersServiceImpl.java
View file @
78a08a7
| ... | ... | @@ -129,14 +129,16 @@ |
| 129 | 129 | |
| 130 | 130 | sysUserDataPermissionsMapper |
| 131 | 131 | .delete(new EntityWrapper<SysUserDataPermissions>().where("USER_ID={0}", user.getId())); |
| 132 | - String[] dataPermissionArray = user.getDataOrgIds().split(","); | |
| 133 | - if (dataPermissionArray != null && dataPermissionArray.length > 0) { | |
| 134 | - for (String orgid : dataPermissionArray) { | |
| 135 | - SysUserDataPermissions dataEntity = new SysUserDataPermissions(); | |
| 136 | - dataEntity.setId(StrUtils.uuid()); | |
| 137 | - dataEntity.setOrgId(orgid); | |
| 138 | - dataEntity.setUserId(user.getId()); | |
| 139 | - sysUserDataPermissionsMapper.insert(dataEntity); | |
| 132 | + if(StrUtils.isNotEmpty(user.getDataOrgIds())){ | |
| 133 | + String[] dataPermissionArray = user.getDataOrgIds().split(","); | |
| 134 | + if (dataPermissionArray != null && dataPermissionArray.length > 0) { | |
| 135 | + for (String orgid : dataPermissionArray) { | |
| 136 | + SysUserDataPermissions dataEntity = new SysUserDataPermissions(); | |
| 137 | + dataEntity.setId(StrUtils.uuid()); | |
| 138 | + dataEntity.setOrgId(orgid); | |
| 139 | + dataEntity.setUserId(user.getId()); | |
| 140 | + sysUserDataPermissionsMapper.insert(dataEntity); | |
| 141 | + } | |
| 140 | 142 | } |
| 141 | 143 | } |
| 142 | 144 |
parent/center.manager/src/main/java/com/lyms/cm/controller/sys/SysUsersController.java
View file @
78a08a7
| ... | ... | @@ -76,7 +76,7 @@ |
| 76 | 76 | } |
| 77 | 77 | String userid = StrUtils.uuid(); |
| 78 | 78 | user.setId(userid); |
| 79 | - boolean tag = userService.addUser(user, getUserRoleList(userid, getParameter("roles"))); | |
| 79 | + boolean tag = userService.addUser(user, getUserRoleList(userid, user.getRoles())); | |
| 80 | 80 | return handleAjaxResult(ajaxResult, tag, OperationName.CREATE); |
| 81 | 81 | } |
| 82 | 82 | |
| ... | ... | @@ -153,8 +153,7 @@ |
| 153 | 153 | // 所有角色数据 |
| 154 | 154 | List<Roles> roleList = sysRolesService.selectList(new EntityWrapper<Roles>().where("ifDel=0")); |
| 155 | 155 | List<Organizations> orgs = sysOrganizationsService.getAllEnableOrg(); |
| 156 | - | |
| 157 | - model.addAttribute("roleString", toJson(roleList)); | |
| 156 | + model.addAttribute("roleList", roleList); | |
| 158 | 157 | model.addAttribute("orgs", orgs); |
| 159 | 158 | |
| 160 | 159 | |
| ... | ... | @@ -179,7 +178,7 @@ |
| 179 | 178 | ajaxResult.setMessage("修改失败! " + user.getAccount() + " 已经存在,请修改登录账号!"); |
| 180 | 179 | return ajaxResult; |
| 181 | 180 | } |
| 182 | - boolean tag = userService.updateUser(user, getUserRoleList(user.getId(), getParameter("roles"))); | |
| 181 | + boolean tag = userService.updateUser(user, getUserRoleList(user.getId(), user.getRoles())); | |
| 183 | 182 | return handleAjaxResult(ajaxResult, tag, OperationName.UPDATE); |
| 184 | 183 | |
| 185 | 184 | } |
parent/center.manager/src/main/webapp/WEB-INF/views/user/user_edit.html
View file @
78a08a7
| 1 | 1 | #override("css") |
| 2 | 2 | <link rel="stylesheet" href="${ctx}/static/js/zTree_v3/css/zTreeStyle/zTreeStyle.css" type="text/css" /> |
| 3 | 3 | #end |
| 4 | -#override("js") | |
| 5 | -<script src="${ctx}/static/js/zTree_v3/js/jquery.ztree.all-3.5.min.js" type="text/javascript"></script> | |
| 6 | -<script type="text/javascript"> | |
| 7 | -var reNodes = ${roleString}; | |
| 8 | -</script> | |
| 9 | -<script> | |
| 10 | -var setting_resource = { | |
| 11 | - check: { | |
| 12 | - enable: true, | |
| 13 | - chkboxType: { | |
| 14 | - 'Y': 's', | |
| 15 | - 'N': 's' | |
| 16 | - } | |
| 17 | - }, | |
| 18 | - view: { | |
| 19 | - dblClickExpand: false | |
| 20 | - }, | |
| 21 | - data: { | |
| 22 | - simpleData: { | |
| 23 | - enable: true, | |
| 24 | - idKey: "role_id" | |
| 25 | - } | |
| 26 | - }, | |
| 27 | - callback: { | |
| 28 | - beforeClick: beforeClick_resource, | |
| 29 | - onCheck: onCheck_resource | |
| 30 | - } | |
| 31 | -}; | |
| 32 | -function beforeClick_resource(treeId, treeNode) { | |
| 33 | - var zTree = $.fn.zTree.getZTreeObj('tree_resource'); | |
| 34 | - zTree.expandNode(treeNode); | |
| 35 | - zTree.checkNode(treeNode, !treeNode.checked, null, true); | |
| 36 | - return false; | |
| 37 | -} | |
| 38 | -function selectTreeNode_resource(id) { | |
| 39 | - var zTree = $.fn.zTree.getZTreeObj('tree_resource'); | |
| 40 | - var node = zTree.getNodeByParam('id', id); | |
| 41 | - var pNode = node.getParentNode(); | |
| 42 | - while (pNode != null) { | |
| 43 | - pNode = analParentNode(pNode, zTree); | |
| 44 | - } | |
| 45 | - zTree.cancelSelectedNode(); | |
| 46 | - zTree.checkNode(node, true); | |
| 47 | - zTree.selectNode(node, true); | |
| 48 | -} | |
| 49 | -function analParentNode(node, zTree) { | |
| 50 | - zTree.expandNode(node, true); | |
| 51 | - var pNode = node.getParentNode(); | |
| 52 | - if (pNode) { | |
| 53 | - return pNode; | |
| 54 | - } | |
| 55 | - return null; | |
| 56 | -} | |
| 57 | -function onClick_resource(e, treeId, treeNode) { | |
| 58 | - var zTree = $.fn.zTree.getZTreeObj('tree_resource'); | |
| 59 | - zTree.expandNode(treeNode); | |
| 60 | - zTree.checkNode(treeNode, !treeNode.checked, null, true); | |
| 61 | - return false; | |
| 62 | -} | |
| 63 | -function onCheck_resource(e, treeId, treeNode) { | |
| 64 | - var zTree = $.fn.zTree.getZTreeObj('tree_resource'), | |
| 65 | - nodes = zTree.getCheckedNodes(true), | |
| 66 | - v_txt = ''; | |
| 67 | - v_value = ''; | |
| 68 | - v_type = ''; | |
| 69 | - for (var i = 0, | |
| 70 | - l = nodes.length; i < l; i++) { | |
| 71 | - v_txt += nodes[i].name + ','; | |
| 72 | - v_value += nodes[i].id + ','; | |
| 73 | - if (nodes[i].type) { | |
| 74 | - v_type += nodes[i].type + ','; | |
| 75 | - } | |
| 76 | - } | |
| 77 | - if (v_txt.length > 0) { | |
| 78 | - v_txt = v_txt.substring(0, v_txt.length - 1); | |
| 79 | - v_value = v_value.substring(0, v_value.length - 1); | |
| 80 | - v_type = v_type.substring(0, v_type.length - 1); | |
| 81 | - } | |
| 82 | - $('#resource').attr('value', v_value); | |
| 83 | - $('#resource_txt').attr('value', v_txt); | |
| 84 | - $('#resource_type').attr('value', v_type); | |
| 85 | -} | |
| 86 | -var zNodes_resource = null; | |
| 87 | -var zTree_selectMode_resource = 'all'; | |
| 88 | -$(function() { | |
| 89 | - zNodes_resource = reNodes; | |
| 90 | - var zTree = $.fn.zTree.init($('#tree_resource'), setting_resource, zNodes_resource); | |
| 91 | - | |
| 92 | - //初始化勾选 | |
| 93 | - var rpValues = $('#resource').val(); | |
| 94 | - if(rpValues.length > 0){ | |
| 95 | - var rpArray = rpValues.split(","); | |
| 96 | - for(var i = 0 ; i < rpArray.length ;i++){ | |
| 97 | - var node = zTree.getNodeByParam('id',rpArray[i]); | |
| 98 | - if(node != null){ | |
| 99 | - zTree.checkNode(node,true,true); | |
| 100 | - } | |
| 101 | - } | |
| 102 | - } | |
| 103 | -}); | |
| 104 | - | |
| 105 | -</script> | |
| 106 | -#end | |
| 107 | 4 | #override("body") |
| 108 | 5 | <div class="ibox float-e-margins"> |
| 6 | + <form id="validForm" class="form-horizontal m-t" novalidate="novalidate"> | |
| 109 | 7 | <div class="ibox-content"> |
| 110 | 8 | <div class="col-sm-4"> |
| 111 | - <form id="validForm" class="form-horizontal m-t" novalidate="novalidate"> | |
| 112 | - <input id="resource" name="roles" type="hidden" value="$!userRoles"/> | |
| 113 | 9 | <input type="hidden" id="user.id" name="id" value="$!user.id"/> |
| 114 | 10 | <div class="form-group"> |
| 115 | 11 | <label class="col-sm-3 control-label">账号:</label> |
| 116 | 12 | |
| ... | ... | @@ -180,11 +76,7 @@ |
| 180 | 76 | </div> |
| 181 | 77 | </div> |
| 182 | 78 | <div class="form-group"> |
| 183 | - <label class="col-sm-3 control-label">医院权限列表:</label> | |
| 184 | - #selector("dataOrgIds" "dataOrgIds" $orgs "${dataOrgids}" true) | |
| 185 | 79 | </div> |
| 186 | - <div class="form-group"> | |
| 187 | - </div> | |
| 188 | 80 | <div class="hr-line-dashed"></div> |
| 189 | 81 | <div class="form-group"> |
| 190 | 82 | <div class="col-sm-4 col-sm-offset-3 pull-right"> |
| 191 | 83 | |
| 192 | 84 | |
| 193 | 85 | |
| ... | ... | @@ -192,14 +84,20 @@ |
| 192 | 84 | <button type="button" class="btn btn-white" onclick="parent.closeAll();"><i class="fa fa-close"></i> 取消</button> |
| 193 | 85 | </div> |
| 194 | 86 | </div> |
| 195 | - </form> | |
| 196 | 87 | </div> |
| 197 | 88 | <div class="col-sm-6"> |
| 198 | - <div id="treeContent_resource" class="menuContent"> | |
| 199 | - <ul id="tree_resource" class="ztree" style="margin-top:0; width:180px; height: 250px;"></ul> | |
| 200 | - </div> | |
| 89 | + <label class="col-sm-3 control-label">医院权限列表:</label> | |
| 90 | + #selector("dataOrgIds" "dataOrgIds" $orgs "${dataOrgids}" true) | |
| 201 | 91 | </div> |
| 92 | + <div class="col-sm-6"> | |
| 93 | + <br/><br/><br/> | |
| 94 | + </div> | |
| 95 | + <div class="col-sm-6"> | |
| 96 | + <label class="col-sm-3 control-label">用户角色列表:</label> | |
| 97 | + #selector("roles" "roles" $roleList "$!userRoles" true) | |
| 98 | + </div> | |
| 202 | 99 | </div> |
| 100 | + </form> | |
| 203 | 101 | </div> |
| 204 | 102 | <script type="text/javascript"> |
| 205 | 103 | function search(){ |