租户管理员支持绑定角色,让不同的租户可拥有不同的菜单。

This commit is contained in:
thinkgem
2018-12-15 23:33:11 +08:00
parent 2de5300ae5
commit c21949d733
4 changed files with 44 additions and 3 deletions

View File

@@ -30,7 +30,9 @@ import com.jeesite.common.lang.StringUtils;
import com.jeesite.common.mybatis.mapper.query.QueryType; import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.common.web.BaseController; import com.jeesite.common.web.BaseController;
import com.jeesite.modules.sys.entity.EmpUser; import com.jeesite.modules.sys.entity.EmpUser;
import com.jeesite.modules.sys.entity.Role;
import com.jeesite.modules.sys.entity.User; import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.service.RoleService;
import com.jeesite.modules.sys.service.UserService; import com.jeesite.modules.sys.service.UserService;
import com.jeesite.modules.sys.utils.UserUtils; import com.jeesite.modules.sys.utils.UserUtils;
@@ -46,6 +48,8 @@ public class CorpAdminController extends BaseController {
@Autowired @Autowired
private UserService userService; private UserService userService;
@Autowired
private RoleService roleService;
@ModelAttribute @ModelAttribute
public User get(String userCode, boolean isNewRecord) { public User get(String userCode, boolean isNewRecord) {
@@ -84,6 +88,10 @@ public class CorpAdminController extends BaseController {
user.setCorpName_(StringUtils.EMPTY); // 租户名称 user.setCorpName_(StringUtils.EMPTY); // 租户名称
} }
} }
// 获取当前用户所拥有的角色
Role role = new Role();
role.setUserCode(user.getUserCode());
model.addAttribute("roleList", roleService.findListByUserCode(role));
// 操作类型addCorp: 添加租户; addAdmin: 添加管理员; edit: 编辑 // 操作类型addCorp: 添加租户; addAdmin: 添加管理员; edit: 编辑
model.addAttribute("op", op); model.addAttribute("op", op);
model.addAttribute("user", user); model.addAttribute("user", user);
@@ -135,6 +143,7 @@ public class CorpAdminController extends BaseController {
} }
} }
userService.save(user); userService.save(user);
userService.saveAuth(user);
// 如果修改的是当前用户,则清除当前用户缓存 // 如果修改的是当前用户,则清除当前用户缓存
if (user.getUserCode().equals(UserUtils.getUser().getUserCode())) { if (user.getUserCode().equals(UserUtils.getUser().getUserCode())) {
UserUtils.clearCache(); UserUtils.clearCache();

View File

@@ -120,6 +120,11 @@
</div> </div>
</div> </div>
</div> </div>
<div class="form-unit">${text('分配角色')}</div>
<div class="pl10 pb20">
<table id="roleGrid"></table>
<#form:hidden name="userRoleString"/>
</div>
<#form:extend collapsed="true" /> <#form:extend collapsed="true" />
</div> </div>
<div class="box-footer"> <div class="box-footer">
@@ -146,6 +151,9 @@ $("#inputForm").validate({
} }
}, },
submitHandler: function(form){ submitHandler: function(form){
// 获取选中角色
$("#userRoleString").val(roleGrid.dataGrid('getSelectRows').join(','));
// 提交表单
js.ajaxSubmitForm($(form), function(data){ js.ajaxSubmitForm($(form), function(data){
js.showMessage(data.message); js.showMessage(data.message);
if(data.result == Global.TRUE){ if(data.result == Global.TRUE){
@@ -163,4 +171,29 @@ $('#corpCode_').change(function(){
$('#loginCode').val('admin'+$(this).val()).valid(); $('#loginCode').val('admin'+$(this).val()).valid();
} }
}); });
//加载角色列表
var roleGrid = $("#roleGrid").dataGrid({
url: '${ctx}/sys/role/treeData',
postData: [
<%// {name:'userType',value:'employee'}, // 指定用户类型的角色 %>
<%// {name:'ctrlPermi',value:'2'} // 过滤可管理的角色 %>
{name:'isAll',value:'true'} <% // 显示所有角色(与上方两个条件互斥) %>
],
columnModel: [
{header:'${text('角色名称')}', name:'name', sortable:false, width:100, align:"center"},
{header:'${text('角色编码')}', name:'id', sortable:false, width:100, align:"center"}
],
showCheckbox: true,
autoGridHeight: function(){
return 'auto';
},
autoGridWidth: function(){
return $('#inputForm .box-body').width()-20;
},
ajaxSuccess: function(){
<% for (role in roleList!){ %>
roleGrid.dataGrid('setSelectRow', '${role.roleCode}');
<% } %>
}
});
</script> </script>

View File

@@ -3,7 +3,7 @@
<div class="box box-main"> <div class="box box-main">
<div class="box-header"> <div class="box-header">
<div class="box-title"> <div class="box-title">
<i class="fa icon-user"></i> 系统管理员 <i class="fa icon-user"></i> ${@Global.getConfigToBoolean('user.useCorpModel', 'false') ? '租户' : '系统'}管理员
</div> </div>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a> <a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>

View File

@@ -198,8 +198,7 @@
<script> <script>
$("#inputForm").validate({ $("#inputForm").validate({
submitHandler: function(form){ submitHandler: function(form){
<% if(op == 'add' || op == 'auth') {%> <% if(op == 'add' || op == 'auth') { // 获取选中角色 %>
// 获取选中角色
$("#userRoleString").val(roleGrid.dataGrid('getSelectRows').join(',')); $("#userRoleString").val(roleGrid.dataGrid('getSelectRows').join(','));
<% } %> <% } %>
js.ajaxSubmitForm($(form), function(data){ js.ajaxSubmitForm($(form), function(data){