角色数据权限范围,支持扩展自定义的数据权限,并相关权限功能优化改进;新增本部门数据、本公司数据、本部门和本公司数据的权限范围

This commit is contained in:
thinkgem
2018-10-09 22:57:05 +08:00
parent 021672b180
commit ebf7b52656
15 changed files with 82 additions and 41 deletions

View File

@@ -61,7 +61,9 @@ import com.jeesite.common.utils.excel.fieldtype.OfficeType;
@Column(name="area_name", label="区域名称", isQuery=false), @Column(name="area_name", label="区域名称", isQuery=false),
@Column(name="area_type", label="区域类型"), @Column(name="area_type", label="区域类型"),
}), }),
}, extWhereKeys="dsfOffice, dsfCompany", orderBy="a.user_weight DESC, a.update_date DESC" },
extWhereKeys="dsfOffice, dsfCompany",
orderBy="a.user_weight DESC, a.update_date DESC"
) )
public class EmpUser extends User { public class EmpUser extends User {

View File

@@ -47,7 +47,7 @@ public class Office extends TreeEntity<Office> {
private String viewCode; // 机构代码(作为显示用,多租户内唯一) private String viewCode; // 机构代码(作为显示用,多租户内唯一)
private String officeName; // 机构名称 private String officeName; // 机构名称
private String fullName; // 机构全称 private String fullName; // 机构全称
private String officeType; // 机构类型1公司2部门3小组 private String officeType; // 机构类型1省级公司2市级公司3部门
private String leader; // 负责人 private String leader; // 负责人
private String phone; // 电话 private String phone; // 电话
private String address; // 联系地址 private String address; // 联系地址

View File

@@ -28,7 +28,6 @@ import com.jeesite.common.lang.StringUtils;
import com.jeesite.common.web.BaseController; import com.jeesite.common.web.BaseController;
import com.jeesite.modules.sys.entity.Company; import com.jeesite.modules.sys.entity.Company;
import com.jeesite.modules.sys.entity.Office; import com.jeesite.modules.sys.entity.Office;
import com.jeesite.modules.sys.entity.UserDataScope;
import com.jeesite.modules.sys.service.CompanyService; import com.jeesite.modules.sys.service.CompanyService;
import com.jeesite.modules.sys.service.OfficeService; import com.jeesite.modules.sys.service.OfficeService;
import com.jeesite.modules.sys.utils.UserUtils; import com.jeesite.modules.sys.utils.UserUtils;
@@ -74,7 +73,7 @@ public class CompanyController extends BaseController {
@RequiresPermissions("user") @RequiresPermissions("user")
@RequestMapping(value = "listData") @RequestMapping(value = "listData")
@ResponseBody @ResponseBody
public List<Company> listData(Company company) { public List<Company> listData(Company company, String ctrlPermi) {
if (StringUtils.isBlank(company.getParentCode())) { if (StringUtils.isBlank(company.getParentCode())) {
company.setParentCode(Company.ROOT_CODE); company.setParentCode(Company.ROOT_CODE);
} }
@@ -83,7 +82,7 @@ public class CompanyController extends BaseController {
|| StringUtils.isNotBlank(company.getFullName())){ || StringUtils.isNotBlank(company.getFullName())){
company.setParentCode(null); company.setParentCode(null);
} }
companyService.addDataScopeFilter(company, UserDataScope.CTRL_PERMI_MANAGE); companyService.addDataScopeFilter(company, ctrlPermi);
List<Company> list = companyService.findList(company); List<Company> list = companyService.findList(company);
return list; return list;
} }
@@ -211,8 +210,7 @@ public class CompanyController extends BaseController {
Company where = new Company(); Company where = new Company();
where.setStatus(Company.STATUS_NORMAL); where.setStatus(Company.STATUS_NORMAL);
if (!(isAll != null && isAll)){ if (!(isAll != null && isAll)){
companyService.addDataScopeFilter(where, StringUtils.defaultIfBlank( companyService.addDataScopeFilter(where, ctrlPermi);
ctrlPermi, UserDataScope.CTRL_PERMI_HAVE));
} }
List<Company> list = companyService.findList(where); List<Company> list = companyService.findList(where);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {

View File

@@ -24,7 +24,6 @@ import com.jeesite.common.idgen.IdGen;
import com.jeesite.common.lang.StringUtils; import com.jeesite.common.lang.StringUtils;
import com.jeesite.common.web.BaseController; import com.jeesite.common.web.BaseController;
import com.jeesite.modules.sys.entity.Office; import com.jeesite.modules.sys.entity.Office;
import com.jeesite.modules.sys.entity.UserDataScope;
import com.jeesite.modules.sys.service.OfficeService; import com.jeesite.modules.sys.service.OfficeService;
import com.jeesite.modules.sys.utils.UserUtils; import com.jeesite.modules.sys.utils.UserUtils;
import com.jeesite.modules.sys.web.user.EmpUserController; import com.jeesite.modules.sys.web.user.EmpUserController;
@@ -71,7 +70,7 @@ public class OfficeController extends BaseController {
@RequiresPermissions("user") @RequiresPermissions("user")
@RequestMapping(value = "listData") @RequestMapping(value = "listData")
@ResponseBody @ResponseBody
public List<Office> listData(Office office) { public List<Office> listData(Office office, String ctrlPermi) {
if (StringUtils.isBlank(office.getParentCode())){ if (StringUtils.isBlank(office.getParentCode())){
office.setParentCode(Office.ROOT_CODE); office.setParentCode(Office.ROOT_CODE);
} }
@@ -80,7 +79,7 @@ public class OfficeController extends BaseController {
|| StringUtils.isNotBlank(office.getFullName())){ || StringUtils.isNotBlank(office.getFullName())){
office.setParentCode(null); office.setParentCode(null);
} }
officeService.addDataScopeFilter(office, UserDataScope.CTRL_PERMI_MANAGE); officeService.addDataScopeFilter(office, ctrlPermi);
List<Office> list = officeService.findList(office); List<Office> list = officeService.findList(office);
return list; return list;
} }
@@ -204,7 +203,7 @@ public class OfficeController extends BaseController {
* @param excludeCode 排除的ID * @param excludeCode 排除的ID
* @param parentCode 上级Code * @param parentCode 上级Code
* @param isAll 是否显示所有机构true不进行权限过滤 * @param isAll 是否显示所有机构true不进行权限过滤
* @param officeTypes 机构类型1公司, 2部门, 3小组, 4其它 * @param officeTypes 机构类型1省级公司2市级公司3部门
* @param companyCode 仅查询公司下的机构 * @param companyCode 仅查询公司下的机构
* @param isShowCode 是否显示编码true or 1显示在左侧2显示在右侧false or null不显示 * @param isShowCode 是否显示编码true or 1显示在左侧2显示在右侧false or null不显示
* @param isShowFullName 是否显示全机构名称 * @param isShowFullName 是否显示全机构名称
@@ -224,8 +223,7 @@ public class OfficeController extends BaseController {
where.setStatus(Office.STATUS_NORMAL); where.setStatus(Office.STATUS_NORMAL);
where.setCompanyCode(companyCode); where.setCompanyCode(companyCode);
if (!(isAll != null && isAll)){ if (!(isAll != null && isAll)){
officeService.addDataScopeFilter(where, StringUtils.defaultIfBlank( officeService.addDataScopeFilter(where, ctrlPermi);
ctrlPermi, UserDataScope.CTRL_PERMI_HAVE));
} }
List<Office> list = officeService.findList(where); List<Office> list = officeService.findList(where);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
@@ -272,7 +270,7 @@ public class OfficeController extends BaseController {
map.put("isParent", true); map.put("isParent", true);
List<Map<String, Object>> userList; List<Map<String, Object>> userList;
userList = empUserController.treeData("u_", e.getOfficeCode(), e.getOfficeCode(), userList = empUserController.treeData("u_", e.getOfficeCode(), e.getOfficeCode(),
companyCode, postCode, roleCode, isAll, isShowCode); companyCode, postCode, roleCode, isAll, isShowCode, ctrlPermi);
mapList.addAll(userList); mapList.addAll(userList);
} }
mapList.add(map); mapList.add(map);

View File

@@ -92,11 +92,11 @@ public class EmpUserController extends BaseController {
@RequiresPermissions("user") @RequiresPermissions("user")
@RequestMapping(value = "listData") @RequestMapping(value = "listData")
@ResponseBody @ResponseBody
public Page<EmpUser> listData(EmpUser empUser, Boolean isAll, HttpServletRequest request, HttpServletResponse response) { public Page<EmpUser> listData(EmpUser empUser, Boolean isAll, String ctrlPermi, HttpServletRequest request, HttpServletResponse response) {
empUser.getEmployee().getOffice().setIsQueryChildren(true); empUser.getEmployee().getOffice().setIsQueryChildren(true);
empUser.getEmployee().getCompany().setIsQueryChildren(true); empUser.getEmployee().getCompany().setIsQueryChildren(true);
if (!(isAll != null && isAll)){ if (!(isAll != null && isAll)){
empUserService.addDataScopeFilter(empUser, UserDataScope.CTRL_PERMI_MANAGE); empUserService.addDataScopeFilter(empUser, ctrlPermi);
} }
empUser.setPage(new Page<>(request, response)); empUser.setPage(new Page<>(request, response));
Page<EmpUser> page = empUserService.findPage(empUser); Page<EmpUser> page = empUserService.findPage(empUser);
@@ -172,11 +172,11 @@ public class EmpUserController extends BaseController {
*/ */
@RequiresPermissions("sys:empUser:view") @RequiresPermissions("sys:empUser:view")
@RequestMapping(value = "exportData") @RequestMapping(value = "exportData")
public void exportData(EmpUser empUser, Boolean isAll, HttpServletResponse response) { public void exportData(EmpUser empUser, Boolean isAll, String ctrlPermi, HttpServletResponse response) {
empUser.getEmployee().getOffice().setIsQueryChildren(true); empUser.getEmployee().getOffice().setIsQueryChildren(true);
empUser.getEmployee().getCompany().setIsQueryChildren(true); empUser.getEmployee().getCompany().setIsQueryChildren(true);
if (!(isAll != null && isAll)){ if (!(isAll != null && isAll)){
empUserService.addDataScopeFilter(empUser, UserDataScope.CTRL_PERMI_MANAGE); empUserService.addDataScopeFilter(empUser, ctrlPermi);
} }
List<EmpUser> list = empUserService.findList(empUser); List<EmpUser> list = empUserService.findList(empUser);
String fileName = "用户数据" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; String fileName = "用户数据" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
@@ -354,8 +354,8 @@ public class EmpUserController extends BaseController {
@RequestMapping(value = "treeData") @RequestMapping(value = "treeData")
@ResponseBody @ResponseBody
public List<Map<String, Object>> treeData(String idPrefix, String pId, public List<Map<String, Object>> treeData(String idPrefix, String pId,
String officeCode, String companyCode, String postCode, String officeCode, String companyCode, String postCode, String roleCode,
String roleCode, Boolean isAll, String isShowCode) { Boolean isAll, String isShowCode, String ctrlPermi) {
List<Map<String, Object>> mapList = ListUtils.newArrayList(); List<Map<String, Object>> mapList = ListUtils.newArrayList();
EmpUser empUser = new EmpUser(); EmpUser empUser = new EmpUser();
Employee employee = empUser.getEmployee(); Employee employee = empUser.getEmployee();
@@ -369,7 +369,7 @@ public class EmpUserController extends BaseController {
empUser.setUserType(User.USER_TYPE_EMPLOYEE); empUser.setUserType(User.USER_TYPE_EMPLOYEE);
empUser.setMgrType(User.MGR_TYPE_NOT_ADMIN); empUser.setMgrType(User.MGR_TYPE_NOT_ADMIN);
if (!(isAll != null && isAll)) { if (!(isAll != null && isAll)) {
empUserService.addDataScopeFilter(empUser); empUserService.addDataScopeFilter(empUser, ctrlPermi);
} }
List<EmpUser> list = empUserService.findList(empUser); List<EmpUser> list = empUserService.findList(empUser);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
@@ -388,13 +388,12 @@ public class EmpUserController extends BaseController {
*/ */
@RequiresPermissions("user") @RequiresPermissions("user")
@RequestMapping(value = "empUserSelect") @RequestMapping(value = "empUserSelect")
public String empUserSelect(EmpUser empUser, String selectData, String checkbox, Model model) { public String empUserSelect(EmpUser empUser, String selectData, Model model) {
String selectDataJson = EncodeUtils.decodeUrl(selectData); String selectDataJson = EncodeUtils.decodeUrl(selectData);
if (JsonMapper.fromJson(selectDataJson, Map.class) != null){ if (JsonMapper.fromJson(selectDataJson, Map.class) != null){
model.addAttribute("selectData", selectDataJson); model.addAttribute("selectData", selectDataJson);
} }
model.addAttribute("checkbox", checkbox); // 是否显示复选框,支持多选 model.addAttribute("empUser", empUser);
model.addAttribute("empUser", empUser); // ModelAttribute
return "modules/sys/user/empUserSelect"; return "modules/sys/user/empUserSelect";
} }

View File

@@ -24,7 +24,7 @@ jdbc:
minIdle: 3 minIdle: 3
# 最大连接数 # 最大连接数
maxActive: 20 maxActive: 20
# 获取连接等待超时时间单位毫秒4.0.6+ # 获取连接等待超时时间单位毫秒4.0.6+
maxWait: 60000 maxWait: 60000
@@ -81,13 +81,13 @@ adminPath: /a
# 前端基础路径 # 前端基础路径
frontPath: /f frontPath: /f
# 分页配置 # 分页相关
page: page:
# 分页默认大小 # 分页默认大小
pageSize: 20 pageSize: 20
# 用户相关参数 # 用户相关
user: user:
# 指定超级管理员编号(研发团队使用的账号) # 指定超级管理员编号(研发团队使用的账号)
@@ -143,7 +143,7 @@ user:
expandLevel: -1, expandLevel: -1,
remarks: "" remarks: ""
}] }]
# 多租户模式SAAS模式专业版 # 多租户模式SAAS模式专业版
useCorpModel: false useCorpModel: false
@@ -153,7 +153,47 @@ user:
registerUser: registerUser:
enabled: false enabled: false
userTypes: 0, 1 userTypes: 0, 1
# 角色管理
role:
# 扩展数据权限定义3本部门4本公司5本部门和本公司
# 如果 ctrlTypeClass 为 NONE则代表是不控制该类型权限
extendDataScopes: >
{
3: {
Office: {
ctrlTypeClass: "com.jeesite.modules.sys.entity.Office",
ctrlDataAttrName: "currentUser.refObj.office.officeCode",
ctrlDataParentCodesAttrName: "currentUser.refObj.office.parentCodes"
},
Company: {
ctrlTypeClass: "NONE"
}
},
4: {
Office: {
ctrlTypeClass: "NONE"
},
Company: {
ctrlTypeClass: "com.jeesite.modules.sys.entity.Company",
ctrlDataAttrName: "currentUser.refObj.company.companyCode",
ctrlDataParentCodesAttrName: "currentUser.refObj.company.parentCodes"
}
},
5: {
Office: {
ctrlTypeClass: "com.jeesite.modules.sys.entity.Office",
ctrlDataAttrName: "currentUser.refObj.office.officeCode",
ctrlDataParentCodesAttrName: "currentUser.refObj.office.parentCodes"
},
Company: {
ctrlTypeClass: "com.jeesite.modules.sys.entity.Company",
ctrlDataAttrName: "currentUser.refObj.company.companyCode",
ctrlDataParentCodesAttrName: "currentUser.refObj.company.parentCodes"
}
}
}
# 菜单管理 # 菜单管理
menu: menu:
# 根据模块状态去更新相连的菜单状态仅作为微服务时设为false # 根据模块状态去更新相连的菜单状态仅作为微服务时设为false

View File

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

View File

@@ -18,6 +18,7 @@
<div class="box-body"> <div class="box-body">
<#form:form id="searchForm" model="${company}" action="${ctx}/sys/company/listData" method="post" class="form-inline hide" <#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}"> data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<#form:hidden name="ctrlPermi" value="2"/>
<div class="form-group"> <div class="form-group">
<label class="control-label">${text('公司代码')}</label> <label class="control-label">${text('公司代码')}</label>
<div class="control-inline"> <div class="control-inline">

View File

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

View File

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

View File

@@ -25,7 +25,7 @@
<div class="col-sm-8"> <div class="col-sm-8">
<#form:treeselect id="office" title="${text('机构选择')}" <#form:treeselect id="office" title="${text('机构选择')}"
path="employee.office.officeCode" labelPath="employee.office.officeName" path="employee.office.officeCode" labelPath="employee.office.officeName"
url="${ctx}/sys/office/treeData" class="required" allowClear="false"/> url="${ctx}/sys/office/treeData?ctrlPermi=2" class="required" allowClear="false"/>
</div> </div>
</div> </div>
</div> </div>
@@ -36,7 +36,7 @@
<div class="col-sm-8"> <div class="col-sm-8">
<#form:treeselect id="company" title="${text('公司选择')}" <#form:treeselect id="company" title="${text('公司选择')}"
path="employee.company.companyCode" labelPath="employee.company.companyName" path="employee.company.companyCode" labelPath="employee.company.companyName"
url="${ctx}/sys/company/treeData" btnClass="" allowClear="true"/> url="${ctx}/sys/company/treeData?ctrlPermi=2" btnClass="" allowClear="true"/>
</div> </div>
</div> </div>
</div> </div>

View File

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

View File

@@ -5,6 +5,7 @@
<#form:form id="searchForm" action="${ctx}/sys/empUser/listData" method="post" class="form-inline " <#form:form id="searchForm" 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}"> data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<#form:hidden name="status" value="${isNotBlank(empUser.status) ? empUser.status : '0'}"/> <#form:hidden name="status" value="${isNotBlank(empUser.status) ? empUser.status : '0'}"/>
<#form:hidden name="isAll" value="${parameter.isAll}"/>
<div class="form-group"> <div class="form-group">
<label class="control-label">${text('账号')}</label> <label class="control-label">${text('账号')}</label>
<div class="control-inline"> <div class="control-inline">
@@ -102,7 +103,7 @@ selectNum = 0, dataGrid = $('#dataGrid').dataGrid({
$('.tags-input').height($('.ui-jqgrid').height() - 10); $('.tags-input').height($('.ui-jqgrid').height() - 10);
return height; return height;
}, },
showCheckbox: ${checkbox! == 'true'}, showCheckbox: '${parameter.checkbox}' == 'true',
multiboxonly: false, // 单击复选框时再多选 multiboxonly: false, // 单击复选框时再多选
ajaxSuccess: function(data){ ajaxSuccess: function(data){
$.each(selectData, function(key, value){ $.each(selectData, function(key, value){
@@ -111,7 +112,7 @@ selectNum = 0, dataGrid = $('#dataGrid').dataGrid({
initSelectTag(); initSelectTag();
}, },
onSelectRow: function(id, isSelect, event){ onSelectRow: function(id, isSelect, event){
if (${checkbox! == 'true'}){ if ('${parameter.checkbox}' == 'true'){
if(isSelect){ if(isSelect){
selectData[id] = JSON.parse(dataGrid.dataGrid('getRowData', id).rowData); selectData[id] = JSON.parse(dataGrid.dataGrid('getRowData', id).rowData);
}else{ }else{
@@ -124,7 +125,7 @@ selectNum = 0, dataGrid = $('#dataGrid').dataGrid({
initSelectTag(); initSelectTag();
}, },
onSelectAll: function(ids, isSelect){ onSelectAll: function(ids, isSelect){
if (${checkbox! == 'true'}){ if ('${parameter.checkbox}' == 'true'){
for (var i=0; i<ids.length; i++){ for (var i=0; i<ids.length; i++){
if(isSelect){ if(isSelect){
selectData[ids[i]] = JSON.parse(dataGrid.dataGrid('getRowData', ids[i]).rowData); selectData[ids[i]] = JSON.parse(dataGrid.dataGrid('getRowData', ids[i]).rowData);
@@ -136,7 +137,7 @@ selectNum = 0, dataGrid = $('#dataGrid').dataGrid({
initSelectTag(); initSelectTag();
}, },
ondblClickRow: function(id, rownum, colnum, event){ ondblClickRow: function(id, rownum, colnum, event){
if (${checkbox! != 'true'}){ if ('${parameter.checkbox}' != 'true'){
js.layer.$('#' + window.name).closest('.layui-layer') js.layer.$('#' + window.name).closest('.layui-layer')
.find(".layui-layer-btn0").trigger("click"); .find(".layui-layer-btn0").trigger("click");
} }

View File

@@ -177,13 +177,13 @@ spring:
# 前端基础路径 # 前端基础路径
#frontPath: /f #frontPath: /f
# 分页配置 # 分页相关
#page: #page:
# #
# # 分页默认大小 # # 分页默认大小
# pageSize: 20 # pageSize: 20
# 用户相关参数 # 用户相关
#user: #user:
# #
# # 指定超级管理员编号(研发团队使用的账号) # # 指定超级管理员编号(研发团队使用的账号)