代码优化 ctrlPermi

This commit is contained in:
thinkgem
2021-11-09 11:26:36 +08:00
parent 817f8e032d
commit 08cd366d1f
18 changed files with 65 additions and 27 deletions

View File

@@ -62,6 +62,7 @@ public class CompanyController extends BaseController {
@RequestMapping(value = "index")
public String index(Company company, Model model) {
model.addAttribute("company", company);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/companyIndex";
}
@@ -73,6 +74,7 @@ public class CompanyController extends BaseController {
@RequestMapping(value = "list")
public String list(Company company, Model model) {
model.addAttribute("company", company);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/companyList";
}
@@ -114,6 +116,7 @@ public class CompanyController extends BaseController {
model.addAttribute("officeList", officeList);
}
model.addAttribute("company", company);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/companyForm";
}

View File

@@ -4,6 +4,7 @@
package com.jeesite.modules.sys.web;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -288,7 +289,7 @@ public class LoginController extends BaseController{
}
/**
* 当前用户权限字符串数据(移动端用)
* 当前用户权限字符串数据
*/
@RequiresPermissions("user")
@RequestMapping(value = "authInfo")
@@ -298,7 +299,7 @@ public class LoginController extends BaseController{
}
/**
* 当前用户菜单数据(移动端用)
* 当前用户菜单列表数据
*/
@RequiresPermissions("user")
@RequestMapping(value = "menuTree")
@@ -308,6 +309,16 @@ public class LoginController extends BaseController{
return UserUtils.getMenuTreeByParentCode(parentCode);
}
/**
* 当前用户菜单路由数据
*/
@RequiresPermissions("user")
@RequestMapping(value = "menuRoute")
@ResponseBody
public List<Map<String, Object>> menuRoute(String parentCode) {
return UserUtils.getMenuRouteByParentCode(parentCode);
}
/**
* 切换系统菜单(仅超级管理员有权限)
*/

View File

@@ -65,6 +65,7 @@ public class OfficeController extends BaseController {
@RequestMapping(value = "index")
public String index(Office office, Model model) {
model.addAttribute("office", office);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/officeIndex";
}
@@ -76,6 +77,7 @@ public class OfficeController extends BaseController {
@RequestMapping(value = "list")
public String list(Office office, Model model) {
model.addAttribute("office", office);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/officeList";
}
@@ -125,6 +127,7 @@ public class OfficeController extends BaseController {
}
}
model.addAttribute("office", office);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/officeForm";
}

View File

@@ -33,6 +33,7 @@ import com.jeesite.common.config.Global;
import com.jeesite.common.entity.Page;
import com.jeesite.common.lang.DateUtils;
import com.jeesite.common.lang.StringUtils;
import com.jeesite.common.mapper.JsonMapper;
import com.jeesite.common.shiro.realm.AuthorizingRealm;
import com.jeesite.common.utils.excel.ExcelExport;
import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
@@ -49,6 +50,7 @@ import com.jeesite.modules.sys.service.PostService;
import com.jeesite.modules.sys.service.RoleService;
import com.jeesite.modules.sys.service.UserService;
import com.jeesite.modules.sys.utils.EmpUtils;
import com.jeesite.modules.sys.utils.ModuleUtils;
import com.jeesite.modules.sys.utils.UserUtils;
/**
@@ -81,6 +83,7 @@ public class EmpUserController extends BaseController {
@RequestMapping(value = "index")
public String index(EmpUser empUser, Model model) {
model.addAttribute("empUser", empUser);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/user/empUserIndex";
}
@@ -95,6 +98,8 @@ public class EmpUserController extends BaseController {
Post post = new Post();
model.addAttribute("postList", postService.findList(post));
model.addAttribute("empUser", empUser);
// 获取控制权限类型
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/user/empUserList";
}
@@ -148,9 +153,13 @@ public class EmpUserController extends BaseController {
model.addAttribute("roleList", roleService.findListByUserCode(role));
}
// 操作类型add: 全部; edit: 编辑; auth: 授权
model.addAttribute("op", op);
model.addAttribute("empUser", empUser);
// 获取控制权限类型
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/user/empUserForm";
}
@@ -356,6 +365,9 @@ public class EmpUserController extends BaseController {
List<UserDataScope> userDataScopeList = userService.findDataScopeList(userDataScope);
model.addAttribute("userDataScopeList", userDataScopeList);
model.addAttribute("empUser", empUser);
model.addAttribute("moduleCodes", ModuleUtils.getEnableModuleCodes());
model.addAttribute("dataScopes", JsonMapper.fromJson(Global.getConfig("user.dataScopes", "[]"), List.class));
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/user/empUserFormAuthDataScope";
}

View File

@@ -21,10 +21,12 @@ import org.springframework.web.bind.annotation.ResponseBody;
import com.jeesite.common.config.Global;
import com.jeesite.common.entity.Page;
import com.jeesite.common.mapper.JsonMapper;
import com.jeesite.common.web.BaseController;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.entity.UserDataScope;
import com.jeesite.modules.sys.service.UserService;
import com.jeesite.modules.sys.utils.ModuleUtils;
/**
* 二级管理员Controller
@@ -48,6 +50,7 @@ public class SecAdminController extends BaseController {
@RequestMapping(value = "list")
public String list(User user, Model model) {
model.addAttribute("user", user);
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/user/secAdminList";
}
@@ -70,6 +73,9 @@ public class SecAdminController extends BaseController {
List<UserDataScope> userDataScopeList = userService.findDataScopeList(userDataScope);
model.addAttribute("userDataScopeList", userDataScopeList);
model.addAttribute("user", user);
model.addAttribute("moduleCodes", ModuleUtils.getEnableModuleCodes());
model.addAttribute("dataScopes", JsonMapper.fromJson(Global.getConfig("user.dataScopes", "[]"), List.class));
model.addAttribute("ctrlPermi", Global.getConfig("user.adminCtrlPermi", "2"));
return "modules/sys/user/secAdminForm";
}

View File

@@ -19,7 +19,7 @@
<div class="col-sm-8">
<#form:treeselect id="parent" title="${text('上级公司')}"
path="parent.id" labelPath="parent.companyName"
url="${ctx}/sys/company/treeData?excludeCode=${company.id}&ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}"
url="${ctx}/sys/company/treeData?excludeCode=${company.id}&ctrlPermi=${ctrlPermi}"
class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
</div>
</div>

View File

@@ -4,7 +4,7 @@
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-grid"></i> ${text('公司')}
<i class="fa icon-grid"></i> ${text('公司管理')}
</div>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" id="btnExpand" title="${text('展开')}" style="display:none;"><i class="fa fa-chevron-up"></i></button>
@@ -36,11 +36,12 @@ var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{
callback:{onClick:function(event, treeId, treeNode){
tree.expandNode(treeNode);
//win.$('button[type=reset]').click();
win.$('#menuCode').val(treeNode.id);
win.$('#companyCode').val(treeNode.id);
win.page();
}}
}, tree, loadTree = function(){
js.ajaxSubmit("${ctx}/sys/company/treeData?___t=" + new Date().getTime(), function(data){
js.ajaxSubmit("${ctx}/sys/company/treeData?___t=" + new Date().getTime(),
{ctrlPermi:'${ctrlPermi}'/*1拥有的权限 2管理的权限*/}, function(data){
tree = $.fn.zTree.init($("#tree"), setting, data);//.expandAll(true);
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);

View File

@@ -19,7 +19,8 @@
<div class="box-body">
<#form:form id="searchForm" model="${company}" action="${ctx}/sys/company/listData" method="post" class="form-inline hide"
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<#form:hidden name="ctrlPermi" value="${@Global.getConfig('user.adminCtrlPermi', '2')}"/>
<#form:hidden name="ctrlPermi" value="${ctrlPermi}"/>
<#form:hidden path="companyCode" class="isReset"/>
<div class="form-group">
<label class="control-label">${text('公司代码')}</label>
<div class="control-inline">
@@ -89,7 +90,10 @@ $('#dataGrid').dataGrid({
defaultExpandLevel: 0, // 默认展开的层次
expandNodeClearPostData: 'viewCode,companyName,fullName,', // 展开节点清理请求参数数据(一般设置查询条件的字段属性,否则在查询后,不能展开子节点数据) // 加载成功后执行事件
ajaxSuccess: function(data){
if ($('#companyCode').val() != ''){
$('#companyCode').val('');
$('#btnExpandTreeNode').click();
}
}
});
</script>

View File

@@ -19,7 +19,7 @@
<div class="col-sm-8">
<#form:treeselect id="parent" title="${text('上级机构')}"
path="parent.id" labelPath="parent.officeName"
url="${ctx}/sys/office/treeData?excludeCode=${office.id}&ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}"
url="${ctx}/sys/office/treeData?excludeCode=${office.id}&ctrlPermi=${ctrlPermi}"
class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
</div>
</div>

View File

@@ -41,7 +41,7 @@ var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{
}}
}, tree, loadTree = function(){
js.ajaxSubmit("${ctx}/sys/office/treeData?___t=" + new Date().getTime(),
{ctrlPermi:'${@Global.getConfig("user.adminCtrlPermi", "2")}'/*1拥有的权限 2管理的权限*/}, function(data){
{ctrlPermi:'${ctrlPermi}'/*1拥有的权限 2管理的权限*/}, function(data){
tree = $.fn.zTree.init($("#tree"), setting, data);//.expandAll(true);
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);

View File

@@ -21,7 +21,7 @@
<div class="box-body">
<#form:form id="searchForm" model="${office}" action="${ctx}/sys/office/listData" method="post" class="form-inline hide"
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<#form:hidden name="ctrlPermi" value="${@Global.getConfig('user.adminCtrlPermi', '2')}"/>
<#form:hidden name="ctrlPermi" value="${ctrlPermi}"/>
<#form:hidden path="officeCode" class="isReset"/>
<div class="form-group">
<label class="control-label">${text('机构代码')}</label>

View File

@@ -175,8 +175,6 @@ $('#corpCode_').change(function(){
var roleGrid = $("#roleGrid").dataGrid({
url: '${ctx}/sys/role/treeData',
postData: [
<%// {name:'userType',value:'employee'}, // 指定用户类型的角色 %>
<%// {name:'ctrlPermi',value:'${@Global.getConfig("user.adminCtrlPermi", "2")}'} // 过滤可管理的角色 %>
{name:'isAll',value:'true'} <% // 显示所有角色(与上方两个条件互斥) %>
],
columnModel: [

View File

@@ -25,7 +25,7 @@
<div class="col-sm-8">
<#form:treeselect id="office" title="${text('机构选择')}"
path="employee.office.officeCode" labelPath="employee.office.officeName"
url="${ctx}/sys/office/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}"
url="${ctx}/sys/office/treeData?ctrlPermi=${ctrlPermi}"
class="required" allowClear="false" canSelectRoot="true" canSelectParent="true"/>
</div>
</div>
@@ -37,7 +37,7 @@
<div class="col-sm-8">
<#form:treeselect id="company" title="${text('公司选择')}"
path="employee.company.companyCode" labelPath="employee.company.companyName"
url="${ctx}/sys/company/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}"
url="${ctx}/sys/company/treeData?ctrlPermi=${ctrlPermi}"
btnClass="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
</div>
</div>
@@ -273,7 +273,7 @@ var roleGrid = $("#roleGrid").dataGrid({
url: '${ctx}/sys/role/treeData',
postData: [
{name:'userType',value:'employee'},
{name:'ctrlPermi',value:'${@Global.getConfig("user.adminCtrlPermi", "2")}'}
{name:'ctrlPermi',value:'${ctrlPermi}'}
],
columnModel: [
{header:'${text("角色名称")}', name:'name', sortable:false, width:100, align:"center"},

View File

@@ -110,8 +110,8 @@ var setting = {
onCheck: function (event, treeId, treeNode){ }
}
},
moduleCodes = '${toJson(@ModuleUtils.getEnableModuleCodes())}';
dataScopes = ${@Global.getConfig('user.dataScopes','[]')},
moduleCodes = '${toJson(moduleCodes)}';
dataScopes = ${toJson(dataScopes)},
dataScopeTrees = {}; // 用sysCode分类存储所有菜单树
for (var i=0; i<dataScopes.length; i++){
var dataScope = dataScopes[i];
@@ -129,7 +129,7 @@ for (var i=0; i<dataScopes.length; i++){
$.ajax({
type: 'POST',
url: "${ctx}" + ctrlDataUrl + (ctrlDataUrl.indexOf("?")!=-1?'&':'?') + "___t=" + new Date().getTime(),
data: {ctrlPermi: '${@Global.getConfig("user.adminCtrlPermi", "2")}'},
data: {ctrlPermi: '${ctrlPermi}'},
dataType: 'json',
async: false,
error: function(data){

View File

@@ -45,7 +45,7 @@ var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{
}}
}, tree, loadTree = function(){
js.ajaxSubmit("${ctx}/sys/office/treeData?___t=" + new Date().getTime(),
{ctrlPermi:'${@Global.getConfig("user.adminCtrlPermi", "2")}'/*1拥有的权限 2管理的权限*/}, function(data){
{ctrlPermi:'${ctrlPermi}'/*1拥有的权限 2管理的权限*/}, function(data){
tree = $.fn.zTree.init($("#tree"), setting, data);//.expandAll(true);
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);

View File

@@ -28,7 +28,7 @@
<div class="box-body">
<#form:form id="searchForm" model="${empUser}" action="${ctx}/sys/empUser/listData" method="post" class="form-inline "
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<#form:hidden name="ctrlPermi" value="${@Global.getConfig('user.adminCtrlPermi', '2')}"/>
<#form:hidden name="ctrlPermi" value="${ctrlPermi}"/>
<div class="form-group">
<label class="control-label">${text('账号')}</label>
<div class="control-inline">
@@ -71,7 +71,7 @@
<div class="control-inline width-90">
<#form:treeselect id="office" title="${text('机构选择')}"
path="employee.office.officeCode" labelPath="employee.office.officeName"
url="${ctx}/sys/office/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}"
url="${ctx}/sys/office/treeData?ctrlPermi=${ctrlPermi}"
btnClass="btn-sm" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
</div>
</div>
@@ -80,7 +80,7 @@
<div class="control-inline width-90">
<#form:treeselect id="company" title="${text('公司选择')}"
path="employee.company.companyCode" labelPath="employee.company.companyName"
url="${ctx}/sys/company/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}"
url="${ctx}/sys/company/treeData?ctrlPermi=${ctrlPermi}"
btnClass="btn-sm" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
</div>
</div>

View File

@@ -110,8 +110,8 @@ var setting = {
onCheck: function (event, treeId, treeNode){ }
}
},
moduleCodes = '${toJson(@ModuleUtils.getEnableModuleCodes())}';
dataScopes = ${@Global.getConfig('user.dataScopes','[]')},
moduleCodes = '${toJson(moduleCodes)}';
dataScopes = ${toJson(dataScopes)},
dataScopeTrees = {}; // 用sysCode分类存储所有菜单树
for (var i=0; i<dataScopes.length; i++){
var dataScope = dataScopes[i];
@@ -129,7 +129,7 @@ for (var i=0; i<dataScopes.length; i++){
$.ajax({
type: 'POST',
url: "${ctx}" + ctrlDataUrl + (ctrlDataUrl.indexOf("?")!=-1?'&':'?') + "___t=" + new Date().getTime(),
data: {ctrlPermi: '${@Global.getConfig("user.adminCtrlPermi", "2")}'},
data: {ctrlPermi: '${ctrlPermi}'},
dataType: 'json',
async: false,
error: function(data){

View File

@@ -13,7 +13,7 @@
</div>
</div>
<div class="box-body">
<% if(@Global.getConfig('user.adminCtrlPermi', '2') == '1'){ %>
<% if(ctrlPermi == '1'){ %>
<div class="alert alert-dismissible callout callout-info ml10 mr10 mt10">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<p><i class="icon fa fa-info"></i> 当前二级管理员的控制权限类型为拥有的权限。你可以在用户管理里设置数据权限和角色管理设置数据权限。