员工选择组件,新增按组织、按岗位、按角色、按用户类型查询功能

This commit is contained in:
thinkgem
2020-05-05 23:58:32 +08:00
parent 138bf66bf2
commit 5dc67c8921
4 changed files with 79 additions and 27 deletions

View File

@@ -53,9 +53,9 @@ public class UserController extends BaseController {
@RequestMapping(value = "listData") @RequestMapping(value = "listData")
@ResponseBody @ResponseBody
public Page<User> listData(User user, HttpServletRequest request, HttpServletResponse response) { public Page<User> listData(User user, HttpServletRequest request, HttpServletResponse response) {
if (User.USER_TYPE_NONE.equals(user.getUserType())){ // if (User.USER_TYPE_NONE.equals(user.getUserType())){
return new Page<User>(request, response); // return new Page<User>(request, response);
} // }
if (Global.isStrictMode() && !user.getCurrentUser().isAdmin()){ if (Global.isStrictMode() && !user.getCurrentUser().isAdmin()){
return new Page<User>(request, response); return new Page<User>(request, response);
} }

View File

@@ -34,7 +34,7 @@
<label class="control-label">操作用户:</label> <label class="control-label">操作用户:</label>
<div class="control-inline width-120"> <div class="control-inline width-120">
<#form:listselect id="userSelect" title="用户选择" path="createBy" <#form:listselect id="userSelect" title="用户选择" path="createBy"
url="${ctx}/sys/user/userSelect?userType=" allowClear="false" url="${ctx}/sys/empUser/empUserSelect" allowClear="false"
checkbox="false" itemCode="userCode" itemName="userName"/> checkbox="false" itemCode="userCode" itemName="userName"/>
</div> </div>
</div> </div>

View File

@@ -2,8 +2,16 @@
<div class="ui-layout-west"> <div class="ui-layout-west">
<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 dropdown">
<i class="fa icon-grid"></i> ${text('组织机构')} <div class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown">
<i class="fa icon-grid"></i> <span id="queryTypeName">${text('按组织查询')}</span> <b class="caret"></b>
</div>
<ul class="dropdown-menu">
<li><a href="javascript:" onclick="loadTree('office');"> <i class="fa fa-angle-right"></i> ${text('按组织查询')}</a></li>
<li><a href="javascript:" onclick="loadTree('post');"> <i class="fa fa-angle-right"></i> ${text('按岗位查询')}</a></li>
<li><a href="javascript:" onclick="loadTree('role');"> <i class="fa fa-angle-right"></i> ${text('按角色查询')}</a></li>
<li><a href="javascript:" onclick="loadTree('userType');"> <i class="fa fa-angle-right"></i> ${text('按用户类型')}</a></li>
</ul>
</div> </div>
<div class="box-tools pull-right"> <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> <button type="button" class="btn btn-box-tool" id="btnExpand" title="${text('展开')}" style="display:none;"><i class="fa fa-chevron-up"></i></button>
@@ -22,8 +30,11 @@
<div class="box-body pb0"> <div class="box-body pb0">
<#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="status" value="${isNotBlank(empUser.status) ? empUser.status : '0'}"/> <#form:hidden name="status" value="${isNotBlank(empUser.status) ? empUser.status : '0'}" class="isReset"/>
<#form:hidden name="isAll" value="${parameter.isAll}"/> <#form:hidden name="isAll" value="${parameter.isAll}" class="isReset"/>
<#form:hidden id="postCode" name="employee.postCode" class="isReset"/>
<#form:hidden id="roleCode" name="roleCode" class="isReset"/>
<#form:hidden id="userType" name="userType" class="isReset"/>
<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">
@@ -90,29 +101,64 @@ $('body').layout({
} }
}); });
//树结构初始化加载 //树结构初始化加载
var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{enable:true}}, var setting = {view:{selectedMulti:false},data:{simpleData:{enable:true}},
callback:{onClick:function(event, treeId, treeNode){ callback:{onClick:function(event, treeId, treeNode){
tree.expandNode(treeNode); tree.expandNode(treeNode);
//$('button[type=reset]').click(); //$('button[type=reset]').click();
$('#officeCode').val(treeNode.id); $('input.isReset').val('');
$('#officeName').val(treeNode.name); if (queryType == 'userType'){
$('#userType').val(treeNode.id);
if (treeNode.id == 'employee'){
$('#searchForm').attr('action', '${ctx}/sys/empUser/listData');
}else{
$('#searchForm').attr('action', '${ctx}/sys/user/listData');
}
}else{
if (!queryType || queryType == 'office'){
$('#officeCode').val(treeNode.id);
$('#officeName').val(treeNode.name);
} else if (queryType == 'post'){
$('#postCode').val(treeNode.id);
} else if (queryType == 'role'){
$('#roleCode').val(treeNode.id);
}
}
page(1); page(1);
}} }}
}, tree, loadTree = function(){ }, queryType, url, tree, loadTree = function(queryType){
js.ajaxSubmit("${ctx}/sys/office/treeData?___t=" + new Date().getTime(), window.queryType = queryType;
{ctrlPermi:'${@Global.getConfig("user.adminCtrlPermi", "2")}'/*1拥有的权限 2管理的权限*/}, function(data){ if (queryType == 'userType'){
tree = $.fn.zTree.init($("#tree"), setting, data);//.expandAll(true); $('#queryTypeName').text('${text("按用户类型")}');
// 展开第一级节点 tree = $.fn.zTree.init($("#tree"), setting, [
var nodes = tree.getNodesByParam("level", 0); {id: 'employee', name: '${text("员工类型")}'},
for(var i=0; i<nodes.length; i++) { {id: 'none', name: '${text("系统管理员")}'}
tree.expandNode(nodes[i], true, false, false); ]);
tree.expandAll(true);
}else{
if (!queryType || queryType == 'office'){
$('#queryTypeName').text('${text("按组织查询")}');
url = "${ctx}/sys/office/treeData?___t=" + new Date().getTime();
} else if (queryType == 'post'){
$('#queryTypeName').text('${text("按岗位查询")}');
url = "${ctx}/sys/post/treeData?___t=" + new Date().getTime();
} else if (queryType == 'role'){
$('#queryTypeName').text('${text("按角色查询")}');
url = "${ctx}/sys/role/treeData?___t=" + new Date().getTime();
} }
// 展开第二级节点 js.ajaxSubmit(url, {ctrlPermi:'1'/*1拥有的权限 2管理的权限*/}, function(data){
// nodes = tree.getNodesByParam("level", 1); tree = $.fn.zTree.init($("#tree"), setting, data);//.expandAll(true);
// for(var i=0; i<nodes.length; i++) { // 展开第一级节点
// tree.expandNode(nodes[i], true, false, false); var nodes = tree.getNodesByParam("level", 0);
// } for(var i=0; i<nodes.length; i++) {
}, null, null, js.text('loading.message')); tree.expandNode(nodes[i], true, false, false);
}
// 展开第二级节点
// nodes = tree.getNodesByParam("level", 1);
// for(var i=0; i<nodes.length; i++) {
// tree.expandNode(nodes[i], true, false, false);
// }
}, null, null, js.text('loading.message'));
}
};loadTree(); };loadTree();
// 工具栏按钮绑定 // 工具栏按钮绑定
$('#btnExpand').click(function(){ $('#btnExpand').click(function(){

View File

@@ -1,3 +1,4 @@
<% var userType = isNotBlank(parameter.userType)?parameter.userType:'employee'; %>
<% layout('/layouts/default.html', {title: '二级管理员', libs: ['dataGrid']}){ %> <% layout('/layouts/default.html', {title: '二级管理员', libs: ['dataGrid']}){ %>
<div class="main-content"> <div class="main-content">
<div class="box box-main"> <div class="box box-main">
@@ -59,7 +60,6 @@
</div> </div>
</div> </div>
</div> </div>
<% var userType = isNotBlank(parameter.userType)?parameter.userType:'employee'; %>
<div class="hide"><#form:listselect id="userSelect" title="${text('用户选择')}" <div class="hide"><#form:listselect id="userSelect" title="${text('用户选择')}"
url="${ctx}/sys/user/userSelect?userType=${userType}" allowClear="false" url="${ctx}/sys/user/userSelect?userType=${userType}" allowClear="false"
checkbox="false" itemCode="userCode" itemName="userName"/></div> checkbox="false" itemCode="userCode" itemName="userName"/></div>
@@ -95,7 +95,13 @@ $('#dataGrid').dataGrid({
} }
}); });
$('#btnAddAdmin').click(function(){ $('#btnAddAdmin').click(function(){
$('#userSelectName').click(); if ('${userType}' == 'employee'){
$('#userSelectDiv').attr('data-url', '${ctx}/sys/empUser/empUserSelect');
}else{
$('#userSelectDiv').attr('data-url', '${ctx}/sys/user/userSelect?userType=${userType}');
}
$('#userSelectCode').val('');
$('#userSelectName').val('').click();
}); });
function listselectCallback(id, action, index, layero){ function listselectCallback(id, action, index, layero){
if (id == 'userSelect' && action == 'ok'){ if (id == 'userSelect' && action == 'ok'){