增加筛选条件
This commit is contained in:
parent
9e571ca41d
commit
89b0f56ce7
@ -23,7 +23,9 @@ import ink.wgink.service.group.service.IGroupUserService;
|
|||||||
import ink.wgink.service.position.service.IPositionUserService;
|
import ink.wgink.service.position.service.IPositionUserService;
|
||||||
import ink.wgink.service.role.service.IRoleUserService;
|
import ink.wgink.service.role.service.IRoleUserService;
|
||||||
import ink.wgink.service.user.service.IUserService;
|
import ink.wgink.service.user.service.IUserService;
|
||||||
|
import ink.wgink.util.ArrayListUtil;
|
||||||
import ink.wgink.util.thread.CachedThreadPoolUtil;
|
import ink.wgink.util.thread.CachedThreadPoolUtil;
|
||||||
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -113,9 +115,58 @@ public class CoreManageServiceImpl extends DefaultBaseService implements ICoreMa
|
|||||||
PageHelper.startPage(page.getPage(), page.getRows());
|
PageHelper.startPage(page.getPage(), page.getRows());
|
||||||
List<UserDTO> userDTOs = listUser(page.getParams());
|
List<UserDTO> userDTOs = listUser(page.getParams());
|
||||||
PageInfo<UserDTO> pageInfo = new PageInfo<>(userDTOs);
|
PageInfo<UserDTO> pageInfo = new PageInfo<>(userDTOs);
|
||||||
|
setUserDetail(userDTOs);
|
||||||
return new SuccessResultList<>(userDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
|
return new SuccessResultList<>(userDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setUserDetail(List<UserDTO> userDTOS) {
|
||||||
|
List<String> userIds = ArrayListUtil.listBeanStringIdValue(userDTOS, "userId", UserDTO.class);
|
||||||
|
if (userIds.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<DepartmentPO> departmentPOS = departmentUserService.listDepartmentPOByUserIds(userIds);
|
||||||
|
List<RolePO> rolePOS = roleUserService.listRolePOByUserIds(userIds);
|
||||||
|
List<PositionPO> positionPOS = positionUserService.listPositionPOByUserIds(userIds);
|
||||||
|
List<GroupPO> groupPOS = groupUserService.listGroupPOByUserIds(userIds);
|
||||||
|
userDTOS.forEach(userDTO -> {
|
||||||
|
List<String> departmentIds = new ArrayList<>();
|
||||||
|
List<String> departmentNames = new ArrayList<>();
|
||||||
|
departmentPOS.forEach(departmentPO -> {
|
||||||
|
departmentIds.add(departmentPO.getDepartmentId());
|
||||||
|
departmentNames.add(departmentPO.getDepartmentName());
|
||||||
|
});
|
||||||
|
userDTO.setDepartmentIds(StringUtils.join(departmentIds, ","));
|
||||||
|
userDTO.setDepartmentNames(StringUtils.join(departmentNames, ","));
|
||||||
|
|
||||||
|
List<String> roleIds = new ArrayList<>();
|
||||||
|
List<String> roleNames = new ArrayList<>();
|
||||||
|
rolePOS.forEach(rolePO -> {
|
||||||
|
roleIds.add(rolePO.getRoleId());
|
||||||
|
roleNames.add(rolePO.getRoleName());
|
||||||
|
});
|
||||||
|
userDTO.setRoleIds(StringUtils.join(roleIds, ","));
|
||||||
|
userDTO.setRoleNames(StringUtils.join(roleNames, ","));
|
||||||
|
|
||||||
|
List<String> positionIds = new ArrayList<>();
|
||||||
|
List<String> positionNames = new ArrayList<>();
|
||||||
|
positionPOS.forEach(positionPO -> {
|
||||||
|
positionIds.add(positionPO.getPositionId());
|
||||||
|
positionNames.add(positionPO.getPositionName());
|
||||||
|
});
|
||||||
|
userDTO.setPositionIds(StringUtils.join(positionIds, ","));
|
||||||
|
userDTO.setPositionNames(StringUtils.join(positionNames, ","));
|
||||||
|
|
||||||
|
List<String> groupIds = new ArrayList<>();
|
||||||
|
List<String> groupNames = new ArrayList<>();
|
||||||
|
groupPOS.forEach(groupPO -> {
|
||||||
|
groupIds.add(groupPO.getGroupId());
|
||||||
|
groupNames.add(groupPO.getGroupName());
|
||||||
|
});
|
||||||
|
userDTO.setGroupIds(StringUtils.join(groupIds, ","));
|
||||||
|
userDTO.setGroupNames(StringUtils.join(groupNames, ","));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置部门导航
|
* 设置部门导航
|
||||||
*
|
*
|
||||||
|
@ -54,6 +54,10 @@
|
|||||||
AND
|
AND
|
||||||
t1.user_type != #{excludeUserType}
|
t1.user_type != #{excludeUserType}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="noDepartment != null and (noDepartment == true or noDepartment == 'true')">
|
||||||
|
AND
|
||||||
|
t1.user_id NOT IN (SELECT st1.user_id FROM sys_department_user st1)
|
||||||
|
</if>
|
||||||
<!-- 组织部门用户 -->
|
<!-- 组织部门用户 -->
|
||||||
<if test="departmentId != null and departmentId != ''">
|
<if test="departmentId != null and departmentId != ''">
|
||||||
AND
|
AND
|
||||||
@ -106,6 +110,10 @@
|
|||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<!-- 角色 -->
|
<!-- 角色 -->
|
||||||
|
<if test="noRole != null and (noRole == true or noRole == 'true')">
|
||||||
|
AND
|
||||||
|
t1.user_id NOT IN (SELECT st2.user_id FROM sys_role_user st2)
|
||||||
|
</if>
|
||||||
<if test="roleId != null and roleId != ''">
|
<if test="roleId != null and roleId != ''">
|
||||||
AND
|
AND
|
||||||
t1.user_id IN (
|
t1.user_id IN (
|
||||||
@ -132,6 +140,10 @@
|
|||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<!-- 用户职位 -->
|
<!-- 用户职位 -->
|
||||||
|
<if test="noPosition != null and (noPosition == true or noPosition == 'true')">
|
||||||
|
AND
|
||||||
|
t1.user_id NOT IN (SELECT st3.user_id FROM sys_position_user st3)
|
||||||
|
</if>
|
||||||
<if test="positionId != null and positionId != ''">
|
<if test="positionId != null and positionId != ''">
|
||||||
AND
|
AND
|
||||||
t1.user_id IN (
|
t1.user_id IN (
|
||||||
@ -158,6 +170,10 @@
|
|||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<!-- 用户组 -->
|
<!-- 用户组 -->
|
||||||
|
<if test="noGroup != null and (noGroup == true or noGroup == 'true')">
|
||||||
|
AND
|
||||||
|
t1.user_id NOT IN (SELECT st4.user_id FROM sys_group_user st4)
|
||||||
|
</if>
|
||||||
<if test="groupId != null and groupId != ''">
|
<if test="groupId != null and groupId != ''">
|
||||||
AND
|
AND
|
||||||
t1.user_id IN (
|
t1.user_id IN (
|
||||||
|
@ -10,7 +10,7 @@ function closeBox() {
|
|||||||
* @param $
|
* @param $
|
||||||
* @param layuiInputTree
|
* @param layuiInputTree
|
||||||
*/
|
*/
|
||||||
function initMultiSelectInputTree($, layuiInputTree) {
|
function initMultiSelectInputTree($, treeselect) {
|
||||||
/**
|
/**
|
||||||
* 设置选择数据
|
* 设置选择数据
|
||||||
* @param ids
|
* @param ids
|
||||||
@ -32,112 +32,129 @@ function initMultiSelectInputTree($, layuiInputTree) {
|
|||||||
|
|
||||||
// 组织部门选择
|
// 组织部门选择
|
||||||
function initDepartmentSelect() {
|
function initDepartmentSelect() {
|
||||||
layuiInputTree.initMultiSelect({
|
treeselect.init({
|
||||||
id: 'departmentNames',
|
isSingle: false,
|
||||||
|
name: 'departmentIds',
|
||||||
|
explain: '组织部门',
|
||||||
url: 'api/department/listztree',
|
url: 'api/department/listztree',
|
||||||
checkboxType: {Y: '', N: ''},
|
idsUrl: 'api/department/list/ids',
|
||||||
getSelectedDatas: function () {
|
key: {
|
||||||
var selectedDepartments = []
|
id: 'id',
|
||||||
setSelectedData(selectedDepartments, $('#departmentIds').val(), $('#departmentNames').val());
|
name: 'name',
|
||||||
return selectedDepartments;
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function (zTree, selectedNodes) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if (selectedNodes.length == 0) {
|
console.log(selectedData);
|
||||||
$('#departmentIds').val('');
|
$.each(selectedData, function(i, item) {
|
||||||
return;
|
item.id = item.departmentId;
|
||||||
}
|
item.name = item.departmentName;
|
||||||
var departmentIds = '';
|
});
|
||||||
$.each(selectedNodes, function (index, item) {
|
},
|
||||||
if (departmentIds != '') {
|
onSelect: function(selectedNodeArray) {
|
||||||
departmentIds += ',';
|
},
|
||||||
}
|
onDelete: function(selectedNodeArray) {
|
||||||
departmentIds += item.id;
|
|
||||||
})
|
|
||||||
$('#departmentIds').val(departmentIds);
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色选择
|
// 角色选择
|
||||||
function initRoleSelect() {
|
function initRoleSelect() {
|
||||||
layuiInputTree.initMultiSelect({
|
treeselect.init({
|
||||||
id: 'roleNames',
|
isSingle: false,
|
||||||
|
name: 'roleIds',
|
||||||
|
explain: '角色',
|
||||||
url: 'api/role/listztree',
|
url: 'api/role/listztree',
|
||||||
checkboxType: {Y: '', N: ''},
|
idsUrl: 'api/role/list/role-ids',
|
||||||
getSelectedDatas: function () {
|
key: {
|
||||||
var selectedRoles = [];
|
id: 'id',
|
||||||
setSelectedData(selectedRoles, $('#roleIds').val(), $('#roleNames').val());
|
name: 'name',
|
||||||
return selectedRoles;
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function (zTree, selectedNodes) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if (selectedNodes.length == 0) {
|
$.each(selectedData, function(i, item) {
|
||||||
$('#roleIds').val('');
|
item.id = item.roleId;
|
||||||
return;
|
item.name = item.roleName;
|
||||||
}
|
});
|
||||||
var roleIds = '';
|
},
|
||||||
$.each(selectedNodes, function (index, item) {
|
onSelect: function(selectedNodeArray) {
|
||||||
if (roleIds != '') {
|
},
|
||||||
roleIds += ',';
|
onDelete: function(selectedNodeArray) {
|
||||||
}
|
|
||||||
roleIds += item.id;
|
|
||||||
})
|
|
||||||
$('#roleIds').val(roleIds);
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 职位选择
|
// 职位选择
|
||||||
function initPositionSelect() {
|
function initPositionSelect() {
|
||||||
layuiInputTree.initMultiSelect({
|
treeselect.init({
|
||||||
id: 'positionNames',
|
isSingle: false,
|
||||||
|
name: 'positionIds',
|
||||||
|
explain: '职位',
|
||||||
url: 'api/position/listztree',
|
url: 'api/position/listztree',
|
||||||
checkboxType: {Y: '', N: ''},
|
idsUrl: 'api/position/list/position-ids',
|
||||||
getSelectedDatas: function () {
|
key: {
|
||||||
var selectedPositions = [];
|
id: 'id',
|
||||||
setSelectedData(selectedPositions, $('#positionIds').val(), $('#positionNames').val());
|
name: 'name',
|
||||||
return selectedPositions;
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function (zTree, selectedNodes) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if (selectedNodes.length == 0) {
|
$.each(selectedData, function(i, item) {
|
||||||
$('#positionIds').val('');
|
item.id = item.positionId;
|
||||||
return;
|
item.name = item.positionName;
|
||||||
}
|
});
|
||||||
var positionIds = '';
|
},
|
||||||
$.each(selectedNodes, function (index, item) {
|
onSelect: function(selectedNodeArray) {
|
||||||
if (positionIds != '') {
|
},
|
||||||
positionIds += ',';
|
onDelete: function(selectedNodeArray) {
|
||||||
}
|
|
||||||
positionIds += item.id;
|
|
||||||
})
|
|
||||||
$('#positionIds').val(positionIds);
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 组选择
|
// 组选择
|
||||||
function initGroupSelect() {
|
function initGroupSelect() {
|
||||||
layuiInputTree.initMultiSelect({
|
treeselect.init({
|
||||||
id: 'groupNames',
|
isSingle: false,
|
||||||
|
name: 'groupIds',
|
||||||
|
explain: '组',
|
||||||
url: 'api/group/listztree',
|
url: 'api/group/listztree',
|
||||||
checkboxType: {Y: '', N: ''},
|
idsUrl: 'api/group/list/group-ids',
|
||||||
getSelectedDatas: function () {
|
key: {
|
||||||
var selectedGroups = [];
|
id: 'id',
|
||||||
setSelectedData(selectedGroups, $('#groupIds').val(), $('#groupNames').val());
|
name: 'name',
|
||||||
return selectedGroups;
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function (zTree, selectedNodes) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if (selectedNodes.length == 0) {
|
$.each(selectedData, function(i, item) {
|
||||||
$('#groupIds').val('');
|
item.id = item.groupId;
|
||||||
return;
|
item.name = item.groupName;
|
||||||
}
|
});
|
||||||
var groupIds = '';
|
},
|
||||||
$.each(selectedNodes, function (index, item) {
|
onSelect: function(selectedNodeArray) {
|
||||||
if (groupIds != '') {
|
},
|
||||||
groupIds += ',';
|
onDelete: function(selectedNodeArray) {
|
||||||
}
|
|
||||||
groupIds += item.id;
|
|
||||||
})
|
|
||||||
$('#groupIds').val(groupIds);
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,12 @@
|
|||||||
<link rel="stylesheet" href="assets/js/vendor/viewer/viewer.min.css">
|
<link rel="stylesheet" href="assets/js/vendor/viewer/viewer.min.css">
|
||||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
<style>
|
||||||
|
.test-table-reload-btn {margin-bottom: 10px; display: flex;}
|
||||||
|
.test-table-reload-btn .layui-inline {margin-right: 5px; display: flex; align-items: center;}
|
||||||
|
.test-table-reload-btn .search-item .select-container {border: 1px solid silver; padding: 0 10px; height: 28px; display: flex; align-items: center}
|
||||||
|
.test-table-reload-btn .layui-inline .layui-form-checkbox[lay-skin=primary] span {padding-right: 0px;}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="layui-anim layui-anim-fadein">
|
<div class="layui-anim layui-anim-fadein">
|
||||||
@ -18,7 +24,45 @@
|
|||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<blockquote id="selectedDepartmentName" class="layui-elem-quote"></blockquote>
|
<blockquote id="selectedDepartmentName" class="layui-elem-quote"></blockquote>
|
||||||
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
<div class="test-table-reload-btn">
|
||||||
|
<div class="layui-inline layui-form search-item">
|
||||||
|
<select id="searchLevel" name="searchLevel" lay-filter="searchLevelFilter">
|
||||||
|
<option value="this">本级</option>
|
||||||
|
<option value="global">全局</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div id="noDepartmentContainer" class="layui-inline layui-form search-item">
|
||||||
|
<input type="checkbox" name="noDepartment" title="无部门" lay-skin="primary" lay-filter="noDepartmentFilter">
|
||||||
|
</div>
|
||||||
|
<!-- 角色 start -->
|
||||||
|
<div class="layui-inline layui-form search-item">
|
||||||
|
<input type="checkbox" name="noRole" title="无角色" lay-skin="primary" lay-filter="noRoleFilter">
|
||||||
|
</div>
|
||||||
|
<div id="roleContainer" class="layui-inline layui-form search-item">
|
||||||
|
<input type="hidden" id="roleId" name="roleId">
|
||||||
|
<div id="roleIdContainer" class="select-container">请选择角色</div>
|
||||||
|
</div>
|
||||||
|
<!-- 角色 end -->
|
||||||
|
<!-- 职位 start -->
|
||||||
|
<div class="layui-inline layui-form search-item">
|
||||||
|
<input type="checkbox" name="noPosition" title="无职位" lay-skin="primary" lay-filter="noPositionFilter">
|
||||||
|
</div>
|
||||||
|
<div id="positionContainer" class="layui-inline layui-form search-item">
|
||||||
|
<input type="hidden" id="positionId" name="roleId">
|
||||||
|
<div id="positionIdContainer" class="select-container">请选择职位</div>
|
||||||
|
</div>
|
||||||
|
<!-- 职位 end -->
|
||||||
|
<!-- 组 start -->
|
||||||
|
<div class="layui-inline layui-form search-item">
|
||||||
|
<input type="checkbox" name="noGroup" title="无组" lay-skin="primary" lay-filter="noGroupFilter">
|
||||||
|
</div>
|
||||||
|
<div id="groupContainer" class="layui-inline layui-form search-item">
|
||||||
|
<input type="hidden" id="groupId" name="roleId">
|
||||||
|
<div id="groupIdContainer" class="select-container">请选择组</div>
|
||||||
|
</div>
|
||||||
|
<!-- 组 end -->
|
||||||
|
</div>
|
||||||
|
<div class="test-table-reload-btn">
|
||||||
<input type="hidden" id="userExpand" th:value="${userExpand}" th:if="${userExpand}">
|
<input type="hidden" id="userExpand" th:value="${userExpand}" th:if="${userExpand}">
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入用户名、昵称">
|
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入用户名、昵称">
|
||||||
@ -40,30 +84,13 @@
|
|||||||
<option value="-2">审核不通过</option>
|
<option value="-2">审核不通过</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-inline">
|
|
||||||
<input type="hidden" id="roleId">
|
|
||||||
<input type="text" id="roleName" class="layui-input search-item search-item-width-100" placeholder="选择角色">
|
|
||||||
</div>
|
|
||||||
<div class="layui-inline">
|
|
||||||
<input type="hidden" id="positionId">
|
|
||||||
<input type="text" id="positionName" class="layui-input search-item search-item-width-100" placeholder="选择职位">
|
|
||||||
</div>
|
|
||||||
<div class="layui-inline">
|
|
||||||
<input type="hidden" id="groupId">
|
|
||||||
<input type="text" id="groupName" class="layui-input search-item search-item-width-100" placeholder="选择用户组">
|
|
||||||
</div>
|
|
||||||
<div class="layui-inline layui-form search-item">
|
|
||||||
<select id="searchLevel" name="searchLevel">
|
|
||||||
<option value="this">本级</option>
|
|
||||||
<option value="global">全局</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="layui-btn-group">
|
<div class="layui-btn-group">
|
||||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||||
<i class="fa fa-lg fa-search"></i> 搜索
|
<i class="fa fa-lg fa-search"></i> 搜索
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||||
<!-- 表头按钮组 -->
|
<!-- 表头按钮组 -->
|
||||||
<script type="text/html" id="headerToolBar">
|
<script type="text/html" id="headerToolBar">
|
||||||
@ -84,27 +111,32 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="assets/js/common/layui-input-tree.js"></script>
|
|
||||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
<script th:inline="javascript">
|
<script th:inline="javascript">
|
||||||
layui.config({
|
layui.config({
|
||||||
base: 'assets/layuiadmin/'
|
base: 'assets/layuiadmin/'
|
||||||
}).extend({
|
}).extend({
|
||||||
index: 'lib/index'
|
index: 'lib/index',
|
||||||
}).use(['index', 'table', 'laydate', 'upload', 'ztree'], function() {
|
treeselect: 'custom/treeselect'
|
||||||
|
}).use(['index', 'table', 'form', 'laydate', 'upload', 'treeselect'], function() {
|
||||||
var $ = layui.$;
|
var $ = layui.$;
|
||||||
var $win = $(window);
|
var $win = $(window);
|
||||||
var table = layui.table;
|
var table = layui.table;
|
||||||
|
var form = layui.form;
|
||||||
var admin = layui.admin;
|
var admin = layui.admin;
|
||||||
var layer = layui.layer;
|
var layer = layui.layer;
|
||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
|
var treeselect = layui.treeselect;
|
||||||
var resizeTimeout = null;
|
var resizeTimeout = null;
|
||||||
var expandOption = [[${expandOption}]];
|
var expandOption = [[${expandOption}]];
|
||||||
var layuiInputTree = new LayuiInputTree(layui);
|
|
||||||
var queryParams = top.restAjax.params(window.location.href);
|
var queryParams = top.restAjax.params(window.location.href);
|
||||||
var departmentId = queryParams.departmentId;
|
var departmentId = queryParams.departmentId;
|
||||||
var tableUserUrl = 'api/core/manage/listpage-user';
|
var tableUserUrl = 'api/core/manage/listpage-user';
|
||||||
var tableUrl = tableUserUrl + '?departmentId={departmentId}';
|
var tableUrl = tableUserUrl + '?departmentId={departmentId}';
|
||||||
|
var noDepartment = false;
|
||||||
|
var noRole = false;
|
||||||
|
var noPosition = false;
|
||||||
|
var noGroup = false;
|
||||||
|
|
||||||
// 初始化表格
|
// 初始化表格
|
||||||
function initTable() {
|
function initTable() {
|
||||||
@ -129,6 +161,30 @@
|
|||||||
return '<span class="layui-badge">类型错误</span>';
|
return '<span class="layui-badge">类型错误</span>';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{field:'departmentNames', width: 160, title: '组织机构', sort: true, align:'center',
|
||||||
|
templet: function(item) {
|
||||||
|
if(!item.departmentNames) {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return item.departmentNames;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field:'roleNames', width: 160, title: '角色', sort: true, align:'center',
|
||||||
|
templet: function(item) {
|
||||||
|
if(!item.roleNames) {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return item.roleNames;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field:'positionNames', width: 160, title: '职位', sort: true, align:'center',
|
||||||
|
templet: function(item) {
|
||||||
|
if(!item.positionNames) {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return item.positionNames;
|
||||||
|
}
|
||||||
|
},
|
||||||
{field:'userState', width:80, title: '状态', sort: true, align:'center',
|
{field:'userState', width:80, title: '状态', sort: true, align:'center',
|
||||||
templet: function(item) {
|
templet: function(item) {
|
||||||
var value;
|
var value;
|
||||||
@ -164,6 +220,14 @@
|
|||||||
return item.userEmail;
|
return item.userEmail;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{field:'groupNames', width: 160, title: '组', sort: true, align:'center',
|
||||||
|
templet: function(item) {
|
||||||
|
if(!item.groupNames) {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return item.groupNames;
|
||||||
|
}
|
||||||
|
},
|
||||||
{field:'userExpiredDate', width:180, title: '账号过期时间', align:'center',
|
{field:'userExpiredDate', width:180, title: '账号过期时间', align:'center',
|
||||||
templet: function(item) {
|
templet: function(item) {
|
||||||
if(!item.userExpiredDate) {
|
if(!item.userExpiredDate) {
|
||||||
@ -235,7 +299,7 @@
|
|||||||
id: 'dataTable',
|
id: 'dataTable',
|
||||||
url: top.restAjax.path(tableUrl, [departmentId]),
|
url: top.restAjax.path(tableUrl, [departmentId]),
|
||||||
width: admin.screen() > 1 ? '100%' : '',
|
width: admin.screen() > 1 ? '100%' : '',
|
||||||
height: $win.height() - 122,
|
height: $win.height() - 162,
|
||||||
limit: 20,
|
limit: 20,
|
||||||
limits: [20, 40, 60, 80, 100, 200],
|
limits: [20, 40, 60, 80, 100, 200],
|
||||||
toolbar: '#headerToolBar',
|
toolbar: '#headerToolBar',
|
||||||
@ -266,9 +330,13 @@
|
|||||||
endTime: $('#endTime').val(),
|
endTime: $('#endTime').val(),
|
||||||
userType: $('#userType').val(),
|
userType: $('#userType').val(),
|
||||||
userState: $('#userState').val(),
|
userState: $('#userState').val(),
|
||||||
roleId: $('#roleId').val(),
|
noDepartment: noDepartment,
|
||||||
positionId: $('#positionId').val(),
|
noRole: noRole,
|
||||||
groupId: $('#groupId').val()
|
roleId: noRole ? '' : $('#roleId').val(),
|
||||||
|
noPosition: noPosition,
|
||||||
|
positionId: noPosition ? '' : $('#positionId').val(),
|
||||||
|
noGroup: noGroup,
|
||||||
|
groupId: noGroup ? '' : $('#groupId').val()
|
||||||
},
|
},
|
||||||
page: {
|
page: {
|
||||||
curr: currentPage
|
curr: currentPage
|
||||||
@ -311,49 +379,93 @@
|
|||||||
}
|
}
|
||||||
// 初始化下拉树
|
// 初始化下拉树
|
||||||
function initSelectInputTree() {
|
function initSelectInputTree() {
|
||||||
// 角色下拉树选择
|
// 角色初始化
|
||||||
layuiInputTree.initSelect({
|
treeselect.init({
|
||||||
id: 'roleName',
|
isSingle: true,
|
||||||
|
name: 'roleId',
|
||||||
|
explain: '角色',
|
||||||
url: 'api/role/listztree',
|
url: 'api/role/listztree',
|
||||||
getSelectedData: function() {
|
idsUrl: 'api/role/list/role-ids',
|
||||||
return {id: $('#roleId').val(), name: $('#roleName').val()}
|
key: {
|
||||||
|
id: 'id',
|
||||||
|
name: 'name',
|
||||||
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function(zTree, selectedNode) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if(!selectedNode) {
|
$.each(selectedData, function(i, item) {
|
||||||
$('#roleId').val('');
|
item.id = item.roleId;
|
||||||
return;
|
item.name = item.roleName;
|
||||||
}
|
});
|
||||||
$('#roleId').val(selectedNode.id);
|
},
|
||||||
|
onSelect: function(selectedNodeArray) {
|
||||||
|
},
|
||||||
|
onDelete: function(selectedNodeArray) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 职位下拉树选择
|
// 职位下拉树选择
|
||||||
layuiInputTree.initSelect({
|
treeselect.init({
|
||||||
id: 'positionName',
|
isSingle: true,
|
||||||
|
name: 'positionId',
|
||||||
|
explain: '职位',
|
||||||
url: 'api/position/listztree',
|
url: 'api/position/listztree',
|
||||||
getSelectedData: function() {
|
idsUrl: 'api/position/list/position-ids',
|
||||||
return {id: $('#positionId').val(), name: $('#positionName').val()}
|
key: {
|
||||||
|
id: 'id',
|
||||||
|
name: 'name',
|
||||||
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function(zTree, selectedNode) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if(!selectedNode) {
|
$.each(selectedData, function(i, item) {
|
||||||
$('#positionId').val('');
|
item.id = item.positionId;
|
||||||
return;
|
item.name = item.positionName;
|
||||||
}
|
});
|
||||||
$('#positionId').val(selectedNode.id);
|
},
|
||||||
|
onSelect: function(selectedNodeArray) {
|
||||||
|
},
|
||||||
|
onDelete: function(selectedNodeArray) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 用户组下拉树选择
|
// 用户组下拉树选择
|
||||||
layuiInputTree.initSelect({
|
treeselect.init({
|
||||||
id: 'groupName',
|
isSingle: true,
|
||||||
|
name: 'groupId',
|
||||||
|
explain: '组',
|
||||||
url: 'api/group/listztree',
|
url: 'api/group/listztree',
|
||||||
getSelectedData: function() {
|
idsUrl: 'api/group/list/group-ids',
|
||||||
return {id: $('#groupId').val(), name: $('#groupName').val()}
|
key: {
|
||||||
|
id: 'id',
|
||||||
|
name: 'name',
|
||||||
|
title: 'title',
|
||||||
|
pId: 'pId',
|
||||||
|
checked: 'checked',
|
||||||
|
children: 'children',
|
||||||
|
isParent: 'isParent',
|
||||||
|
isHidden: 'isHidden',
|
||||||
|
url: 'url'
|
||||||
},
|
},
|
||||||
onConfirm: function(zTree, selectedNode) {
|
onInitSelectedDataFilter: function(selectedData) {
|
||||||
if(!selectedNode) {
|
$.each(selectedData, function(i, item) {
|
||||||
$('#groupId').val('');
|
item.id = item.groupId;
|
||||||
return;
|
item.name = item.groupName;
|
||||||
}
|
});
|
||||||
$('#groupId').val(selectedNode.id);
|
},
|
||||||
|
onSelect: function(selectedNodeArray) {
|
||||||
|
},
|
||||||
|
onDelete: function(selectedNodeArray) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -507,6 +619,50 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#noDepartmentContainer').hide();
|
||||||
|
form.on('select(searchLevelFilter)', function(data) {
|
||||||
|
if(data.value === 'this') {
|
||||||
|
$('#noDepartmentContainer').hide();
|
||||||
|
$('input[name="noDepartment"]').prop('checked', false);
|
||||||
|
noDepartment = false;
|
||||||
|
} else {
|
||||||
|
$('#noDepartmentContainer').show();
|
||||||
|
}
|
||||||
|
form.render('checkbox');
|
||||||
|
});
|
||||||
|
|
||||||
|
form.on('checkbox(noDepartmentFilter)', function(data) {
|
||||||
|
noDepartment = data.elem.checked;
|
||||||
|
console.log(1)
|
||||||
|
});
|
||||||
|
|
||||||
|
form.on('checkbox(noRoleFilter)', function(data) {
|
||||||
|
noRole = data.elem.checked;
|
||||||
|
if(noRole) {
|
||||||
|
$('#roleContainer').hide();
|
||||||
|
} else {
|
||||||
|
$('#roleContainer').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
form.on('checkbox(noPositionFilter)', function(data) {
|
||||||
|
noPosition = data.elem.checked;
|
||||||
|
if(noPosition) {
|
||||||
|
$('#positionContainer').hide();
|
||||||
|
} else {
|
||||||
|
$('#positionContainer').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
form.on('checkbox(noGroupFilter)', function(data) {
|
||||||
|
noGroup = data.elem.checked;
|
||||||
|
if(noGroup) {
|
||||||
|
$('#groupContainer').hide();
|
||||||
|
} else {
|
||||||
|
$('#groupContainer').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -90,34 +90,42 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md6 layui-col-sm8 layui-col-xs12">
|
<div class="layui-col-md6 layui-col-sm8 layui-col-xs12">
|
||||||
|
<!-- 组织部门 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">组织部门*</label>
|
<label class="layui-form-label">组织部门*</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="departmentIds" name="departmentIds">
|
<input type="hidden" id="departmentIds" name="departmentIds">
|
||||||
<input type="text" id="departmentNames" name="departmentNames" class="layui-input" placeholder="勾选组织部门" lay-verify="required">
|
<div id="departmentIdsContainer" class="select-container">请选择组织部门</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 组织部门 end -->
|
||||||
|
<!-- 角色 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">角色</label>
|
<label class="layui-form-label">角色</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="roleIds" name="roleIds">
|
<input type="hidden" id="roleIds" name="roleIds">
|
||||||
<input type="text" id="roleNames" name="roleNames" class="layui-input" placeholder="勾选角色">
|
<div id="roleIdsContainer" class="select-container">请选择角色</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 角色 end -->
|
||||||
|
<!-- 职位 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">职位</label>
|
<label class="layui-form-label">职位</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="positionIds" name="positionIds">
|
<input type="hidden" id="positionIds" name="positionIds">
|
||||||
<input type="text" id="positionNames" name="positionNames" class="layui-input" placeholder="勾选职位">
|
<div id="positionIdsContainer" class="select-container">请选择职位</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 职位 end -->
|
||||||
|
<!-- 组 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">组</label>
|
<label class="layui-form-label">组</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="groupIds" name="groupIds">
|
<input type="hidden" id="groupIds" name="groupIds">
|
||||||
<input type="text" id="groupNames" name="groupNames" class="layui-input" placeholder="勾选组">
|
<div id="groupIdsContainer" class="select-container">请选择组</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 组 end -->
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md2 layui-col-sm4 layui-col-xs12">
|
<div class="layui-col-md2 layui-col-sm4 layui-col-xs12">
|
||||||
<div class="layui-form-item" style="text-align: center;">
|
<div class="layui-form-item" style="text-align: center;">
|
||||||
@ -138,21 +146,22 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="assets/js/common/layui-input-tree.js"></script>
|
<!--<script src="assets/js/common/layui-input-tree.js"></script>-->
|
||||||
<script src="assets/js/core/manage/department-user.js"></script>
|
<script src="assets/js/core/manage/department-user.js"></script>
|
||||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
<script>
|
<script>
|
||||||
layui.config({
|
layui.config({
|
||||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||||
}).extend({
|
}).extend({
|
||||||
index: 'lib/index' //主入口模块
|
index: 'lib/index', //主入口模块
|
||||||
}).use(['index', 'form', 'laydate', 'ztree'], function () {
|
treeselect: 'custom/treeselect'
|
||||||
|
}).use(['index', 'form', 'laydate', 'treeselect'], function () {
|
||||||
var $ = layui.$;
|
var $ = layui.$;
|
||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
var form = layui.form;
|
var form = layui.form;
|
||||||
var layuiInputTree = new LayuiInputTree(layui);
|
var treeselect = layui.treeselect;
|
||||||
|
|
||||||
initMultiSelectInputTree($, layuiInputTree);
|
initMultiSelectInputTree($, treeselect);
|
||||||
initDate(laydate);
|
initDate(laydate);
|
||||||
|
|
||||||
// 提交表单
|
// 提交表单
|
||||||
|
@ -88,34 +88,42 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md6 layui-col-sm8 layui-col-xs12">
|
<div class="layui-col-md6 layui-col-sm8 layui-col-xs12">
|
||||||
|
<!-- 组织部门 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">组织部门*</label>
|
<label class="layui-form-label">组织部门*</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="departmentIds" name="departmentIds">
|
<input type="hidden" id="departmentIds" name="departmentIds">
|
||||||
<input type="text" id="departmentNames" name="departmentNames" class="layui-input" placeholder="勾选组织部门" lay-verify="required">
|
<div id="departmentIdsContainer" class="select-container">请选择组织部门</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 组织部门 end -->
|
||||||
|
<!-- 角色 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">角色</label>
|
<label class="layui-form-label">角色</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="roleIds" name="roleIds">
|
<input type="hidden" id="roleIds" name="roleIds">
|
||||||
<input type="text" id="roleNames" name="roleNames" class="layui-input" placeholder="勾选角色">
|
<div id="roleIdsContainer" class="select-container">请选择角色</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 角色 end -->
|
||||||
|
<!-- 职位 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">职位</label>
|
<label class="layui-form-label">职位</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="positionIds" name="positionIds">
|
<input type="hidden" id="positionIds" name="positionIds">
|
||||||
<input type="text" id="positionNames" name="positionNames" class="layui-input" placeholder="勾选职位">
|
<div id="positionIdsContainer" class="select-container">请选择职位</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 职位 end -->
|
||||||
|
<!-- 组 start -->
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">组</label>
|
<label class="layui-form-label">组</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="hidden" id="groupIds" name="groupIds">
|
<input type="hidden" id="groupIds" name="groupIds">
|
||||||
<input type="text" id="groupNames" name="groupNames" class="layui-input" placeholder="勾选组">
|
<div id="groupIdsContainer" class="select-container">请选择组</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 组 end -->
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md2 layui-col-sm4 layui-col-xs12">
|
<div class="layui-col-md2 layui-col-sm4 layui-col-xs12">
|
||||||
<div class="layui-form-item" style="text-align: center;">
|
<div class="layui-form-item" style="text-align: center;">
|
||||||
@ -136,22 +144,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="assets/js/common/layui-input-tree.js"></script>
|
|
||||||
<script src="assets/js/core/manage/department-user.js"></script>
|
<script src="assets/js/core/manage/department-user.js"></script>
|
||||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
<script>
|
<script>
|
||||||
layui.config({
|
layui.config({
|
||||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||||
}).extend({
|
}).extend({
|
||||||
index: 'lib/index' //主入口模块
|
index: 'lib/index', //主入口模块
|
||||||
}).use(['index', 'form', 'laydate', 'ztree'], function(){
|
treeselect: 'custom/treeselect'
|
||||||
|
}).use(['index', 'form', 'laydate', 'treeselect'], function(){
|
||||||
var $ = layui.$;
|
var $ = layui.$;
|
||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
var form = layui.form;
|
var form = layui.form;
|
||||||
var layuiInputTree = new LayuiInputTree(layui);
|
var treeselect = layui.treeselect;
|
||||||
var userId = top.restAjax.params(window.location.href).userId;
|
var userId = top.restAjax.params(window.location.href).userId;
|
||||||
|
|
||||||
initMultiSelectInputTree($, layuiInputTree);
|
|
||||||
initDate(laydate);
|
initDate(laydate);
|
||||||
|
|
||||||
// 初始化
|
// 初始化
|
||||||
@ -182,6 +189,8 @@
|
|||||||
} else {
|
} else {
|
||||||
$('#userAvatar').val($('#userAvatar').val());
|
$('#userAvatar').val($('#userAvatar').val());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initMultiSelectInputTree($, treeselect);
|
||||||
}, function(code, data) {
|
}, function(code, data) {
|
||||||
top.dialog.msg(data.msg);
|
top.dialog.msg(data.msg);
|
||||||
}, function() {
|
}, function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user