<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
|
+ path + "/";
|
%>
|
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<base href="<%=basePath%>">
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<title>选择用户</title>
|
<!--[if !IE]><!-->
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<!--<![endif]-->
|
<!--[if gt IE 8]>
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<![endif]-->
|
<link href="static/plugins/jquery-easyui/themes/bootstrap/easyui.css" rel="stylesheet" type="text/css">
|
<link rel="stylesheet" href="static/styles/initialize.css" type="text/css">
|
<link rel="stylesheet" href="static/styles/common.css" type="text/css">
|
<script type="text/javascript" src="static/plugins/jquery/jquery.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/jquery.easyui.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/plugins/datagrid-scrollview.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
|
<script type="text/javascript" src="static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
|
|
<script type="text/javascript" src="static/plugins/spinjs/spin.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/jquery.spin.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery.blockUI.js"></script>
|
|
<!-- wcp组件 -->
|
<script type="text/javascript" src="static/wcp/scripts/wcp.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.blockUI.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.spin.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.jquery.js"></script>
|
|
<!--[if lt IE 9]>
|
<script type="text/javascript" src="static/plugins/json2.js"></script>
|
<![endif]-->
|
|
<style>
|
html, body {
|
height: 100%;
|
}
|
|
.container {
|
width: 100%;
|
height: 100%;
|
padding: 10px;
|
}
|
|
.left {
|
width: 33%;
|
float: left;
|
}
|
|
.middle {
|
width: 33%;
|
float: left;
|
}
|
|
.right {
|
width: 34%;
|
float: right;
|
}
|
|
.search {
|
clear: both;
|
}
|
|
.easyui-panel .textbox-label {
|
width: auto;
|
margin-left: 14px;
|
}
|
|
.l-btn-left {
|
padding: 0 4px;
|
}
|
|
.l-btn-plain:hover {
|
background: #3c8dbc;
|
border: 1px solid #e6e6e6;
|
}
|
|
.l-btn-plain-selected {
|
background: #3c8dbc;
|
color: #fff;
|
}
|
|
.easyui-linkbutton .fa {
|
margin-right: 4px;
|
}
|
|
.toptitle {
|
height: 40px;
|
line-height: 40px;
|
}
|
|
.toptitle h5 {
|
font-size: 14px;
|
font-weight: bold;
|
color: #3c8dbc;
|
float: left;
|
padding-left: 16px;
|
}
|
|
.s-choose-frame{height: 30px; line-height: 30px; margin-bottom: 10px;}
|
.s-choose{display: inline-block; border:1px solid #D4D4D4; border-radius: 2px;}
|
.s-choose a{float: left; padding:0 16px; border-right:1px solid #d4d4d4; height: 30px; line-height: 30px;}
|
.s-choose a:last-child{border-right:0 none;}
|
.s-choose a:hover, .s-choose a.s-choose-selected{background: #00c0ef; color:#fff;}
|
|
</style>
|
|
</head>
|
|
<body>
|
<div class="container">
|
<div class="s-choose-frame">
|
<div class="s-choose">
|
<a href="javascript:;" id="frame_0" style="display: none" data-id="0">选人</a>
|
<a href="javascript:;" id="frame_1" style="display: none" data-id="1">选部门</a>
|
<a href="javascript:;" id="frame_2" style="display: none" data-id="2">选群组</a>
|
<a href="javascript:;" id="frame_3" style="display: none" data-id="3">选角色</a>
|
</div>
|
</div>
|
<div class="left">
|
|
<div class="easyui-panel"
|
style="border-bottom:none; border-right:none; height:42px; line-height: 42px; overflow: hidden; padding:0 5px;width:343px;">
|
<!-- <a href="javascript:;" class="easyui-linkbutton" data-options="toggle:true,group:'company',plain:true,selected:true,onClick:function(){changeUrl(1); }">
|
<i class="fa fa-user-circle-o"></i>
|
选人
|
</a> -->
|
<c:if test="${selectDept!=null&&selectDept }">
|
<a href="javascript:;" class="easyui-linkbutton"
|
data-options="toggle:true,group:'company',plain:true,onClick:function(){changeUrl(1); }">
|
<i class="fa fa-institution"></i> 根据部门
|
</a>
|
</c:if>
|
<c:if test="${selectGroup!=null&&selectGroup }">
|
<a href="javascript:;" class="easyui-linkbutton"
|
data-options="toggle:true,group:'company',plain:true,onClick:function(){changeUrl(2); }">
|
<i class="fa fa-briefcase"></i> 根据群组
|
</a>
|
</c:if>
|
<c:if test="${selectRole!=null&&selectRole }">
|
<a href="javascript:;" class="easyui-linkbutton"
|
data-options="toggle:true,group:'company',plain:true,onClick:function(){changeUrl(3); }">
|
<i class="fa fa-users"></i> 根据角色
|
</a>
|
</c:if>
|
<a href="javascript:;" id="easyui-linkbutton" class="easyui-linkbutton" style="display: none" data-options="toggle:true,group:'company',plain:true">
|
<i class="fa fa-institution"></i> 选择
|
</a>
|
</div>
|
<div class="easyui-panel pt-tree" style="border-right:none;">
|
<ul id="ul_tree"></ul>
|
</div>
|
</div>
|
<div class="middle">
|
<table id="dg_waitSelect"></table>
|
</div>
|
<div id="midToolbar">
|
<!-- <a href="javascript:void(0);" onclick="delAll('midDg');" class="pt-btn pt-btn-danger"><i class="fa fa-trash-o"></i>全部删除</a> -->
|
<div class="toptitle">
|
<h5>待选区</h5>
|
</div>
|
</div>
|
<div class="right" style="position: relative; left:0px;">
|
<table id="dg_hasSelect"></table>
|
</div>
|
<div id="hasToolbar">
|
<div class="toptitle">
|
<h5>已选区</h5>
|
<a href="javascript:void(0);" onclick="delAll();" class="pt-btn pt-btn-danger pull-right">
|
<i class="fa fa-trash-o"></i>
|
全部删除
|
</a>
|
</div>
|
</div>
|
<div class="search">
|
<div class="easyui-panel" style="padding:20px 300px; border-top:none;">
|
<input class="easyui-searchbox" data-options="prompt:'请输入用户名或者真实姓名进行查询',searcher:doSearch"
|
style="width:100%">
|
</div>
|
</div>
|
|
<div class="pt-form-btn" style="bottom:0px;">
|
<div class="form-group">
|
<button type="button" class="pt-btn pt-btn-primary" onclick="doSave();">确定</button>
|
<button type="reset" class="pt-btn pt-btn-default" onclick="doClose();">关闭</button>
|
</div>
|
</div>
|
</div>
|
</body>
|
<script type="text/javascript" src="static/scripts/ResizeScroll.js"></script>
|
<script>
|
//窗口参数,用于弹窗传递
|
var params = {
|
opts: null,
|
callBack: null
|
};
|
var selectedId;
|
//选中的节点
|
var _node;
|
//参数
|
var deptId = "${deptId}";
|
var multiSelect = "${multiSelect}" == "true";
|
var returnIdType = "${returnIdType}" == "true";
|
var selectDept = "${selectDept}" == "true";
|
var selectGroup = "${selectGroup}" == "true";
|
var selectRole = "${selectRole}" == "true";
|
var pickRangeId = "${pickRangeId}";
|
var pickRangeType = "${pickRangeType}";
|
var classification = "${classification}";
|
var classificationCode = "${classificationCode}";
|
|
//选择的是哪个框架:0 人 1 部门 2 用户组 3 角色
|
var selectFrame = 0;
|
//业务模块传递过来,有哪些Frame选择,逗号隔开,0,1,2,3
|
var selectFrames = '${selectFrame}';
|
|
var url = "management/dept/listDeptByTree";
|
|
/* //部门树URL
|
var url = "management/dept/listDeptByTree";
|
if (deptId) {
|
url += "?deptId=" + deptId;
|
} */
|
|
var hasData = [];
|
var midData = [];
|
var midUrl;
|
var deptTree;
|
|
$(function () {
|
|
//初始化 frame
|
if(selectFrames =='' || selectFrames =='0'){
|
selectFrame = 0;
|
$("#frame_"+selectFrame).show();
|
}else{
|
//强制返回 主键是标记
|
returnIdType =true;
|
//强制将条件置为空
|
pickRangeId ="";
|
var _arrFrame = selectFrames.split(",");
|
for (var i = 0; i < _arrFrame.length; i++) {
|
$("#frame_"+_arrFrame[i]).show();
|
}
|
selectFrame = _arrFrame[0];
|
}
|
if(selectFrame == 0){
|
if (pickRangeType == 1 ) {
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
} else if (pickRangeType == 2 ) {
|
url = "management/group/listGroupByTree?groupId=" + pickRangeId;
|
} else if (pickRangeType == 3 ) {
|
url = "management/role/listRoleByTree?roleId=" + pickRangeId;
|
}else{
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
}
|
}
|
else if (selectFrame == 1 ) {
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
}
|
else if (selectFrame == 2) {
|
url = "management/group/listDeptByTree?groupId=" + pickRangeId;
|
} else if (selectFrame == 3) {
|
url = "management/role/listRoleByTree?roleId=" + pickRangeId;
|
}
|
|
$("#frame_"+selectFrame).addClass('s-choose-selected');
|
setTimeout(function () {
|
initHasSelect();
|
}, 100);
|
initTree();
|
initWaitSelect();
|
//已选
|
$('#dg_hasSelect').datagrid({
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
height: 385,
|
idField: "id",
|
emptyMsg: "没有找到匹配的记录",
|
toolbar: "#hasToolbar",
|
// frozenColumns:[[{field:'ck',checkbox:true}]],
|
columns: [[
|
|
{
|
field: 'name',
|
title: '名称',
|
width: 400
|
},
|
{
|
field: 'id',
|
title: '操作',
|
width: 100,
|
align: 'center',
|
formatter: function (value, row, index) {
|
return '<a onclick="delTableRow(\'' + row.type + '\',\'' + value + '\',' + index + ');" class="pt-color-danger">删除</a>';
|
}
|
}
|
|
]],
|
onLoadSuccess: function () {
|
}
|
});
|
|
$(".s-choose a").click(function() {
|
$(this).siblings('a').removeClass('s-choose-selected');
|
$(this).addClass('s-choose-selected');
|
var _select = $(this).data('id');
|
|
if(_select != selectFrame){
|
selectFrame = _select;
|
$(".easyui-linkbutton").hide();
|
if(selectFrame == 0){
|
$('.easyui-searchbox').textbox({prompt:'请输入用户名或者真实姓名进行查询'});
|
$(".easyui-linkbutton").show();
|
$("#easyui-linkbutton").hide();
|
if (pickRangeType == 1 ) {
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
} else if (pickRangeType == 2 ) {
|
url = "management/group/listGroupByTree?groupId=" + pickRangeId;
|
} else if (pickRangeType == 3 ) {
|
url = "management/role/listRoleByTree?roleId=" + pickRangeId;
|
}
|
}
|
else if (selectFrame == 1 ) {
|
$('.easyui-searchbox').textbox({prompt:'请输入部门名称进行查询'});
|
$("#easyui-linkbutton").show();
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
}
|
else if (selectFrame == 2) {
|
$('.easyui-searchbox').textbox({prompt:'请输入组名称进行查询'});
|
$("#easyui-linkbutton").show();
|
// url = "management/group/listGroupByTree?groupId=" + pickRangeId;
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
} else if (selectFrame == 3) {
|
$('.easyui-searchbox').textbox({prompt:'请输入角色名称进行查询'});
|
$("#easyui-linkbutton").show();
|
url = "management/role/listRoleByTree?roleId=" + pickRangeId;
|
}
|
|
// try{
|
// $('#dg_waitSelect').datagrid("loadData", []);
|
// $('#dg_waitSelect').datagrid("clearChecked");
|
// }catch (e) {
|
//
|
// }
|
initTree();
|
//initWaitSelect();
|
|
}
|
});
|
|
});
|
|
//初始化左侧树
|
function initTree() {
|
deptTree = $("#ul_tree").tree({
|
method: "get",
|
url: url,
|
animate: true,
|
cascadeCheck: false,
|
checkbox: false,
|
onBeforeLoad: function (node, param) {
|
new ResizeScroll({
|
"id": "#ul_tree",
|
"height": "341"
|
});
|
|
wcp.ui.setBusy("#ul_tree");
|
},
|
onLoadSuccess: function (node, data) {
|
// wcp.ui.clearBusy("#ul_tree");
|
// var n = $('#ul_tree').tree('find', data[0].id);
|
// if (n != null) {
|
// selectedId = n.id;
|
// //为避免加载所有用户,根据部门选择时根节点不自动选择
|
// if (pickRangeType > 1) {
|
// $("#ul_tree li:eq(0)").find("div").addClass("tree-node-selected"); //设置第一个节点高亮
|
// reloadSelect();
|
// }
|
// }
|
new ResizeScroll({
|
"id": "#ul_tree",
|
"height": "341"
|
});
|
},
|
loadFilter: function (data) {
|
//console.info("treeload"+JSON.stringify(data));
|
if(selectFrame == 3){
|
var _data = data;
|
initWaitSelect();
|
$('#dg_waitSelect').datagrid("loadData", _data);
|
}
|
return data;
|
},
|
onLoadError: function (args) {
|
wcp.ui.clearBusy("#ul_tree");
|
},
|
onClick: function (node) {
|
|
if(selectFrame == 3){
|
return;
|
}
|
selectedId = node.id;
|
_node = node;
|
reloadSelect();
|
}
|
});
|
}
|
|
//初始化中间待选(可变)
|
function initWaitSelect() {
|
// try{
|
// $('#dg_waitSelect').datagrid("loadData", []);
|
// $('#dg_waitSelect').datagrid("clearChecked");
|
// }catch (e) {
|
// }
|
if(selectFrame == 0){
|
initWaitSelectUser();
|
}
|
else if(selectFrame == 1){
|
initWaitSelectDept();
|
}
|
else if(selectFrame == 2){
|
initWaitSelectGroup();
|
}
|
else if(selectFrame == 3){
|
initWaitSelectRole();
|
}else {
|
// console.info("===========selectFrame="+selectFrame);
|
}
|
}
|
function initWaitSelectUser() {
|
var _prefix = returnIdType?'0|':'';
|
$('#dg_waitSelect').datagrid({
|
url:null,
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
height: 385,
|
idField: "userId",
|
emptyMsg: "没有找到匹配的记录",
|
toolbar: "#midToolbar",
|
sortName: "sort_num",
|
sortOrder: "asc",
|
singleSelect: !multiSelect,
|
frozenColumns: [[{
|
field: 'ck',
|
checkbox: true
|
}]],
|
columns: [[
|
{
|
field: 'userId',
|
title: '主键',
|
width: 1,
|
hidden: true,
|
formatter: function (value, row, index) {
|
row.userId = _prefix + value;
|
return _prefix + value;
|
}
|
},
|
{
|
field: 'trueName',
|
title: '用户姓名',
|
width: 400
|
}
|
]],
|
onCheck: function (index, row) {
|
var state = false;
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (row.userId == hasRows[i].id) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (!state) {
|
if (!multiSelect) {
|
$('#dg_hasSelect').datagrid("loadData", []);
|
}
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: row.userId,
|
name: row.trueName,
|
deptId: row.deptId,
|
deptName: row.deptName,
|
type: "user",
|
srcData: row
|
});
|
}
|
},
|
onUncheck: function (index, row) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == row.userId) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
},
|
onCheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
for (var j = 0; j < rows.length; j++) {
|
var state = false;
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].userId) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (state != true) {
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: rows[j].userId,
|
name: rows[j].trueName,
|
deptId: rows[j].deptId,
|
deptName: rows[j].deptName,
|
type: "user",
|
srcData: rows[j]
|
});
|
}
|
}
|
},
|
onUncheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0) {
|
for (var j = 0; j < rows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].userId) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
}
|
},
|
loadFilter: function (data) {
|
// console.info("userload"+data);
|
return data;
|
},
|
onLoadSuccess: function () {
|
new ResizeScroll({
|
"id": ".datagrid-body",
|
"height": "308",
|
"index": 1
|
});
|
|
//刷新选中项
|
var hasRows = $("#dg_hasSelect").datagrid("getRows");
|
var waitRows = $("#dg_waitSelect").datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0 && waitRows != null && waitRows.length > 0) {
|
for (var j = 0; j < waitRows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == waitRows[j].userId) {
|
$("#dg_waitSelect").datagrid("checkRow", j);
|
break;
|
}
|
}
|
}
|
}
|
}
|
});
|
}
|
function initWaitSelectDept() {
|
var _prefix = returnIdType?'1|':'';
|
$('#dg_waitSelect').datagrid({
|
// url: "management/dept/listDeptByDept",
|
url:null,
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
height: 385,
|
idField: "deptId",
|
emptyMsg: "没有找到匹配的记录",
|
toolbar: "#midToolbar",
|
sortName: "sort_num",
|
sortOrder: "asc",
|
singleSelect: !multiSelect,
|
frozenColumns: [[{
|
field: 'ck',
|
checkbox: true
|
}]],
|
columns: [[
|
{
|
field: 'deptId',
|
title: '主键',
|
width: 1,
|
hidden: true,
|
formatter: function (value, row, index) {
|
row.id = value;
|
if (value.indexOf(_prefix) == -1) {
|
row.id = _prefix + value;
|
}
|
|
row.text = row.deptName;
|
return row.id;
|
}
|
},
|
{
|
field: 'deptName',
|
title: '部门',
|
width: 400
|
}
|
]],
|
onCheck: function (index, row) {
|
// console.info("row="+row.id)
|
var state = false;
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (row.id == hasRows[i].id) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (!state) {
|
if (!multiSelect) {
|
$('#dg_hasSelect').datagrid("loadData", []);
|
}
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: row.id,
|
name: row.text,
|
deptId: '',
|
deptName: '',
|
type: "dept",
|
srcData: row
|
});
|
}
|
},
|
onUncheck: function (index, row) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == row.id) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
},
|
onCheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
for (var j = 0; j < rows.length; j++) {
|
var state = false;
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].id) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (state != true) {
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: rows[j].id,
|
name: rows[j].text,
|
// deptId: rows[j].deptId,
|
// deptName: rows[j].deptName,
|
type: "dept",
|
srcData: rows[j]
|
});
|
}
|
}
|
},
|
onUncheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0) {
|
for (var j = 0; j < rows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].id ) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
}
|
},
|
loadFilter: function (data) {
|
// console.info("deptload"+data);
|
// if(data!=null && data.length>0){
|
// return data[0].children==null?[]:data[0].children;
|
// }
|
return data==null?[]:data;
|
},
|
onLoadSuccess: function () {
|
new ResizeScroll({
|
"id": ".datagrid-body",
|
"height": "308",
|
"index": 1
|
});
|
|
//刷新选中项
|
var hasRows = $("#dg_hasSelect").datagrid("getRows");
|
var waitRows = $("#dg_waitSelect").datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0 && waitRows != null && waitRows.length > 0) {
|
for (var j = 0; j < waitRows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == waitRows[j].id) {
|
$("#dg_waitSelect").datagrid("checkRow", j);
|
break;
|
}
|
}
|
}
|
}
|
}
|
});
|
}
|
|
function initWaitSelectGroup() {
|
var _prefix = returnIdType?'2|':'';
|
$('#dg_waitSelect').datagrid({
|
// url: "management/group/listGroup",
|
url:null,
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
height: 385,
|
idField: "id",
|
emptyMsg: "没有找到匹配的记录",
|
toolbar: "#midToolbar",
|
sortName: "sort_num",
|
sortOrder: "asc",
|
singleSelect: !multiSelect,
|
frozenColumns: [[{
|
field: 'ck',
|
checkbox: true
|
}]],
|
columns: [[
|
{
|
field: 'groupId',
|
title: '主键',
|
width: 1,
|
hidden: true,
|
formatter: function (value, row, index) {
|
row.id = value;
|
if (value.indexOf(_prefix) == -1) {
|
row.id = _prefix + value;
|
}
|
|
row.text = row.groupName;
|
return row.id;
|
}
|
},
|
{
|
field: 'groupName',
|
title: '群组',
|
width: 400,
|
formatter: function (value, row, index) {
|
return value+"["+row.groupCode+"]";
|
}
|
}
|
]],
|
onCheck: function (index, row) {
|
var state = false;
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (row.id == hasRows[i].id) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (!state) {
|
if (!multiSelect) {
|
$('#dg_hasSelect').datagrid("loadData", []);
|
}
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: row.id,
|
name: row.text,
|
// deptId: row.deptId,
|
// deptName: row.deptName,
|
type: "group",
|
srcData: row
|
});
|
}
|
},
|
onUncheck: function (index, row) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == row.id) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
},
|
onCheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
for (var j = 0; j < rows.length; j++) {
|
var state = false;
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].id) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (state != true) {
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: rows[j].id,
|
name: rows[j].text,
|
// deptId: rows[j].deptId,
|
// deptName: rows[j].deptName,
|
type: "group",
|
srcData: rows[j]
|
});
|
}
|
}
|
},
|
onUncheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0) {
|
for (var j = 0; j < rows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].id) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
}
|
},
|
loadFilter: function (data) {
|
// console.info("groupload"+data);
|
return data==null?[]:data;
|
},
|
onLoadSuccess: function () {
|
new ResizeScroll({
|
"id": ".datagrid-body",
|
"height": "308",
|
"index": 1
|
});
|
|
//刷新选中项
|
var hasRows = $("#dg_hasSelect").datagrid("getRows");
|
var waitRows = $("#dg_waitSelect").datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0 && waitRows != null && waitRows.length > 0) {
|
for (var j = 0; j < waitRows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == waitRows[j].id) {
|
$("#dg_waitSelect").datagrid("checkRow", j);
|
break;
|
}
|
}
|
}
|
}
|
}
|
});
|
}
|
|
|
function initWaitSelectRole() {
|
var _prefix = returnIdType?'3|':'';
|
$('#dg_waitSelect').datagrid({
|
// url: "management/role/listRoleByTree",
|
url:null,
|
fitColumns: true,
|
nowrap: true,
|
rownumbers: true,
|
height: 385,
|
idField: "id",
|
emptyMsg: "没有找到匹配的记录",
|
toolbar: "#midToolbar",
|
sortName: "sort_num",
|
sortOrder: "asc",
|
singleSelect: !multiSelect,
|
frozenColumns: [[{
|
field: 'ck',
|
checkbox: true
|
}]],
|
columns: [[
|
{
|
field: 'id',
|
title: '主键',
|
width: 1,
|
hidden: true,
|
formatter: function (value, row, index) {
|
row.id = value;
|
if (value.indexOf(_prefix) == -1) {
|
row.id = _prefix + value;
|
}
|
return row.id;
|
}
|
},
|
{
|
field: 'text',
|
title: '角色',
|
width: 400
|
}
|
]],
|
onCheck: function (index, row) {
|
var state = false;
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (row.id == hasRows[i].id) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (!state) {
|
if (!multiSelect) {
|
$('#dg_hasSelect').datagrid("loadData", []);
|
}
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: row.id,
|
name: row.text,
|
// deptId: row.deptId,
|
// deptName: row.deptName,
|
type: "role",
|
srcData: row
|
});
|
}
|
},
|
onUncheck: function (index, row) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == row.id) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
},
|
onCheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
for (var j = 0; j < rows.length; j++) {
|
var state = false;
|
if (hasRows != null) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].od) {
|
state = true;
|
break;
|
}
|
}
|
}
|
|
if (state != true) {
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: rows[j].id,
|
name: rows[j].text,
|
// deptId: rows[j].deptId,
|
// deptName: rows[j].deptName,
|
type: "role",
|
srcData: rows[j]
|
});
|
}
|
}
|
},
|
onUncheckAll: function (rows) {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0) {
|
for (var j = 0; j < rows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == rows[j].id) {
|
$('#dg_hasSelect').datagrid("deleteRow", i);
|
break;
|
}
|
}
|
}
|
}
|
},
|
loadFilter: function (data) {
|
// console.info("roleload"+JSON.stringify(data));
|
return data==null?[]:data;
|
},
|
onLoadSuccess: function () {
|
new ResizeScroll({
|
"id": ".datagrid-body",
|
"height": "308",
|
"index": 1
|
});
|
|
//刷新选中项
|
var hasRows = $("#dg_hasSelect").datagrid("getRows");
|
var waitRows = $("#dg_waitSelect").datagrid("getRows");
|
if (hasRows != null && hasRows.length > 0 && waitRows != null && waitRows.length > 0) {
|
for (var j = 0; j < waitRows.length; j++) {
|
for (var i = 0; i < hasRows.length; i++) {
|
if (hasRows[i].id == waitRows[j].id) {
|
$("#dg_waitSelect").datagrid("checkRow", j);
|
break;
|
}
|
}
|
}
|
}
|
}
|
});
|
}
|
|
//初始化选中数据
|
function initHasSelect() {
|
var hasSelectIds = null;
|
var hasSelectNames = null;
|
var separator = null;
|
if (params.opts != null) {
|
if (params.opts.hasSelectIds != null) {
|
hasSelectIds = params.opts.hasSelectIds;
|
hasSelectNames = params.opts.hasSelectNames;
|
}
|
if (params.opts.separator != null) {
|
separator = params.opts.separator;
|
}
|
}
|
if (hasSelectIds != null && hasSelectIds != "") {
|
var hasSelectName = hasSelectNames.split(separator);
|
var hasSelectId;
|
//判断id存储格式
|
if (hasSelectIds.indexOf("|") > 0) {
|
var ids = new Array();
|
var hasId = hasSelectIds.split(separator);
|
for (var i = 0; i < hasId.length; i++) {
|
var id = hasId[i].split("|");
|
ids.push(id[1]);
|
}
|
hasSelectId = ids;
|
} else {
|
hasSelectId = hasSelectIds.split(separator);
|
|
}
|
|
//已选择数据赋值
|
for (var i = 0; i < hasSelectId.length; i++) {
|
$('#dg_hasSelect').datagrid("appendRow", {
|
id: hasSelectId[i],
|
name: hasSelectName[i]
|
});
|
}
|
|
}
|
|
}
|
|
//获取待选择人
|
function reloadSelect(value) {
|
initWaitSelect();
|
//延时 毫秒数 ,因为 initWaitSelect 和下面的 $('#xxxxx').datagrid 方法都是刷新表格,都是调用数据接口,所以存在数据不同步问题,所以增加延时,让initWaitSelect先执行完。
|
var delay = 200;
|
var start = (new Date()).getTime();
|
while ((new Date()).getTime() - start < delay) {
|
continue;
|
}
|
//先清除数据和选中的数据,不然会有问题
|
$('#dg_waitSelect').datagrid("loadData",{rows:[]});
|
$('#dg_waitSelect').datagrid("clearChecked");
|
|
if(selectFrame ==0){
|
if (pickRangeType == 2) {
|
var url = "management/group/selectUserByGroupId";
|
var queryParams = {
|
searchText: value,
|
groupId: selectedId,
|
classificationCode: classificationCode,
|
classification: classification
|
};
|
if(_node != null && _node.attributes.nodeStyle && _node.attributes.nodeStyle == 'dept'){
|
url = "management/user/getUserList";
|
queryParams = {
|
searchText: value,
|
deptId: selectedId,
|
classification: classification,
|
classificationCode: classificationCode
|
}
|
|
}
|
$('#dg_waitSelect').datagrid({
|
url: url,
|
queryParams: queryParams
|
});
|
} else if (pickRangeType == 3) {
|
var url = "management/role/selectUserByRoleId";
|
$('#dg_waitSelect').datagrid({
|
url: url,
|
queryParams: {
|
searchText: value,
|
roleId: selectedId,
|
classificationCode: classificationCode,
|
classification: classification
|
}
|
});
|
} else {
|
var url = "management/user/getUserList";
|
var queryParams = {
|
searchText: value,
|
deptId: selectedId,
|
classification: classification,
|
classificationCode: classificationCode
|
};
|
if(_node != null && _node.attributes.nodeStyle && _node.attributes.nodeStyle == 'group'){
|
url = "management/group/selectUserByGroupId";
|
queryParams = {
|
searchText: value,
|
groupId: selectedId,
|
classificationCode: classificationCode,
|
classification: classification
|
}
|
|
}
|
$('#dg_waitSelect').datagrid({
|
url: url,
|
queryParams: queryParams
|
});
|
|
|
}
|
}
|
else if (selectFrame == 1 ) {
|
$('#dg_waitSelect').datagrid({
|
url: "management/dept/listDeptByDept",
|
queryParams: {
|
searchText: value,
|
deptId: selectedId
|
}
|
});
|
}
|
else if (selectFrame == 2) {
|
$('#dg_waitSelect').datagrid({
|
url: "management/group/listGroup",
|
queryParams: {
|
searchText: value,
|
deptId: selectedId
|
}
|
});
|
} else if (selectFrame == 3) {
|
$('#dg_waitSelect').datagrid({
|
url: "management/role/listRoleByTree",
|
queryParams: {
|
searchText: value
|
// roleId: selectedId
|
}
|
});
|
}
|
|
}
|
|
//删除已选中的行
|
function delTableRow(type, id, index) {
|
$("#dg_hasSelect").datagrid('deleteRow', index);
|
|
//刷新已选区,重新生成行号,不然会出错
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
for (var i = 0; i < hasRows.length; i++) {
|
$("#dg_hasSelect").datagrid('refreshRow', i);
|
}
|
|
//刷新待选区,去掉待选区中的对应的选择项
|
var waitRows = $('#dg_waitSelect').datagrid("getRows");
|
if (waitRows != null) {
|
for (var i = 0; i < waitRows.length; i++) {
|
if (selectFrame == 0) {
|
if (waitRows[i].userId == id) {
|
$('#dg_waitSelect').datagrid("uncheckRow", i);
|
break;
|
}
|
} else {
|
if (waitRows[i].id == id) {
|
$('#dg_waitSelect').datagrid("uncheckRow", i);
|
break;
|
}
|
}
|
|
}
|
}
|
}
|
|
//已选取的全部删除
|
function delAll() {
|
$('#dg_hasSelect').datagrid("loadData", []);
|
$('#dg_waitSelect').datagrid("clearChecked");
|
}
|
|
//查询数据
|
function doSearch(value) {
|
if(selectFrame == 3){
|
if(value == ''){
|
$('#dg_waitSelect').datagrid("clearChecked");
|
$('#dg_waitSelect').datagrid("loadData", $("#ul_tree").tree("getRoots"));
|
}else{
|
var _row = $('#dg_waitSelect').datagrid("getRows");
|
console.log(_row);
|
var _newRow = new Array();
|
for (var i = 0; i < _row.length ; i++) {
|
if(_row[i].text.indexOf(value) !=-1){
|
_newRow.push(_row[i])
|
}
|
}
|
$('#dg_waitSelect').datagrid("clearChecked");
|
$('#dg_waitSelect').datagrid("loadData", _newRow);
|
}
|
|
}else{
|
reloadSelect(value);
|
}
|
|
}
|
|
//确定按钮事件
|
function doSave() {
|
var hasRows = $('#dg_hasSelect').datagrid("getRows");
|
|
//分隔符
|
var separator = params.opts.separator ? params.opts.separator : ";";
|
|
var ids = "";
|
var names = "";
|
var deptIds = "";
|
var deptNames = "";
|
|
for (var i = 0; i < hasRows.length; i++) {
|
// if (returnIdType) {
|
// ids += "0|" + hasRows[i].id + separator;
|
// } else {
|
ids += hasRows[i].id + separator;
|
// }
|
names += hasRows[i].name + separator;
|
deptIds += hasRows[i].deptId + separator;
|
deptNames += hasRows[i].deptName + separator;
|
}
|
ids = ids.slice(0, -1);
|
names = names.slice(0, -1);
|
deptIds = deptIds.slice(0, -1);
|
deptNames = deptNames.slice(0, -1);
|
if (params.opts.layerOpener) {
|
if (params.opts.idElement) {
|
var elementClass = params.opts.layerOpener.$('#' + params.opts.idElement).attr('class');
|
if (elementClass != null && elementClass.indexOf("easyui-textbox") > -1) {
|
params.opts.layerOpener.$("#" + params.opts.idElement).textbox("setValue", ids);
|
} else {
|
params.opts.layerOpener.$("#" + params.opts.idElement).val(ids);
|
}
|
}
|
if (params.opts.nameElement) {
|
var elementClass = params.opts.layerOpener.$('#' + params.opts.nameElement).attr('class');
|
if (elementClass != null && elementClass.indexOf("easyui-textbox") > -1) {
|
params.opts.layerOpener.$("#" + params.opts.nameElement).textbox("setValue", names);
|
} else {
|
params.opts.layerOpener.$("#" + params.opts.nameElement).val(names);
|
}
|
}
|
if (params.opts.deptIdElement) {
|
var elementClass = params.opts.layerOpener.$('#' + params.opts.deptIdElement).attr('class');
|
if (elementClass != null && elementClass.indexOf("easyui-textbox") > -1) {
|
params.opts.layerOpener.$("#" + params.opts.deptIdElement).textbox("setValue", deptIds);
|
} else {
|
params.opts.layerOpener.$("#" + params.opts.deptIdElement).val(deptIds);
|
}
|
}
|
if (params.opts.deptNameElement) {
|
var elementClass = params.opts.layerOpener.$('#' + params.opts.deptNameElement).attr('class');
|
if (elementClass != null && elementClass.indexOf("easyui-textbox") > -1) {
|
params.opts.layerOpener.$("#" + params.opts.deptNameElement).textbox("setValue", deptNames);
|
} else {
|
params.opts.layerOpener.$("#" + params.opts.deptNameElement).val(deptNames);
|
}
|
}
|
}
|
|
//回调函数
|
if (params.callBack) {
|
params.callBack(hasRows);
|
}
|
|
var index = top.layer.getFrameIndex(window.name); //获取窗口索引
|
top.layer.close(index);
|
}
|
|
function doClose() { //关闭按钮事件
|
var index = top.layer.getFrameIndex(window.name); //获取窗口索引
|
top.layer.close(index);
|
}
|
|
//改变树的加载源
|
function changeUrl(val) {
|
pickRangeType = val;
|
switch (val) {
|
case 1:
|
url = "management/dept/listDeptByTree?deptId=" + pickRangeId;
|
break;
|
case 2:
|
// url = "management/group/listGroupByTree?groupId=" + pickRangeId;
|
url = "management/dept/listDeptByTree?showGroup=1" ;
|
break;
|
case 3:
|
url = "management/role/listRoleByTree?roleId=" + pickRangeId;
|
break;
|
}
|
initTree();
|
}
|
</script>
|
</html>
|