887 lines
33 KiB
JavaScript
887 lines
33 KiB
JavaScript
|
|
/**
|
||
|
|
* Created by jinxs on 2016.07.06.
|
||
|
|
*/
|
||
|
|
var webroot = $("#hdWebroot").val();
|
||
|
|
var rootUrl = webroot + '/user/user/';
|
||
|
|
var deleteUrl = rootUrl + 'delete';//删除地址
|
||
|
|
$(function () {
|
||
|
|
//------------------------属性-------------------------------------
|
||
|
|
var listUrl = rootUrl + 'list';//分页数据地址
|
||
|
|
var saveUrl = rootUrl + 'save';//保存添加数据地址
|
||
|
|
var batchOrgUrl = rootUrl + 'batchOrg';
|
||
|
|
var resetPassUrl = rootUrl + 'resetPassword';//重置密码地址
|
||
|
|
var menuUrl = webroot + '/user/org/getListAll';
|
||
|
|
var changeStatusUrl = rootUrl + 'changeStatus';
|
||
|
|
var savePermissionUrl = rootUrl + 'savePermission';
|
||
|
|
var permissionUrl = rootUrl + 'getPermissionList';
|
||
|
|
|
||
|
|
var leftRoleListUrl = rootUrl + 'getNoUserRoleList';
|
||
|
|
var rightRoleListUrl = rootUrl + 'getUserRoles';
|
||
|
|
var selectRolesToUserUrl = rootUrl + 'selectRolesToUser';
|
||
|
|
var cancelRolesFromUserUrl = rootUrl + 'cancelRolesFromUser';
|
||
|
|
var batchRoleTypeUrl = webroot + '/role/role/updateRoleUsersRoleType';
|
||
|
|
|
||
|
|
var dialogSize = {width: 650, height: '80%'};//弹出窗口大小
|
||
|
|
|
||
|
|
var cbIsShowAll = $('#cbIsShowAll');
|
||
|
|
var dialog = $('#dialog');
|
||
|
|
var grid_form = $('#grid_form');
|
||
|
|
|
||
|
|
var layout = $('#layout');
|
||
|
|
var menu = $("#ulMenu");
|
||
|
|
var grid = $('#grid');
|
||
|
|
var auth_menu = $('#auth_menu');
|
||
|
|
var more_menu = $('#more_menu');
|
||
|
|
|
||
|
|
var orgDialog = $('#orgDialog');
|
||
|
|
var orgGrid_form = $('#orgGrid_form');
|
||
|
|
|
||
|
|
var roleDialog = $('#roleDialog');
|
||
|
|
var hasInitUserRoleDialog = false;
|
||
|
|
var leftRole_grid = $('#leftRole_grid');
|
||
|
|
var rightRole_grid = $('#rightRole_grid');
|
||
|
|
|
||
|
|
var roleTypeDialog = $('#roleTypeDialog');
|
||
|
|
var roleTypeGrid_form = $('#roleTypeGrid_form');
|
||
|
|
|
||
|
|
var moduleDialog = $('#moduleDialog');
|
||
|
|
var permission_tree = $('#permission_tree');
|
||
|
|
var op = '';//用于表单中树的操作
|
||
|
|
var setting = {
|
||
|
|
data: {
|
||
|
|
simpleData: {
|
||
|
|
enable: true,
|
||
|
|
pIdKey: 'parent_id',
|
||
|
|
rootPid: 'root'
|
||
|
|
}
|
||
|
|
},
|
||
|
|
view: {
|
||
|
|
selectedMulti: false,
|
||
|
|
showLine: true
|
||
|
|
},
|
||
|
|
async: {
|
||
|
|
enable: true,
|
||
|
|
url: menuUrl
|
||
|
|
},
|
||
|
|
callback: {
|
||
|
|
onAsyncError: function (event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
|
||
|
|
alert("加载组织架构树失败!" + errorThrown);
|
||
|
|
},
|
||
|
|
onAsyncSuccess: function (event, treeId, treeNode, msg) {
|
||
|
|
zTree.selectNode(zTree.getNodeByTId('root_1'));
|
||
|
|
loadGrid();
|
||
|
|
},
|
||
|
|
beforeClick: function (treeId, treeNode, clickFlag) {
|
||
|
|
},
|
||
|
|
onClick: function (event, treeId, treeNode) {
|
||
|
|
loadGrid();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
var form_setting = $.extend({}, setting, {
|
||
|
|
view: {
|
||
|
|
selectedMulti: true,
|
||
|
|
showLine: true
|
||
|
|
},
|
||
|
|
check: {
|
||
|
|
enable: true,
|
||
|
|
chkStyle: "checkbox",
|
||
|
|
chkboxType: {"Y": "", "N": ""}
|
||
|
|
},
|
||
|
|
callback: {
|
||
|
|
onCheck: function (event, treeId, treeNode) {
|
||
|
|
var treeObj = $.fn.zTree.getZTreeObj("org_tree");
|
||
|
|
var nodes = treeObj.getCheckedNodes(true);
|
||
|
|
var values = new Array();
|
||
|
|
var text = new Array();
|
||
|
|
for (var i = 0; i < nodes.length; i++) {
|
||
|
|
var node = nodes[i];
|
||
|
|
values[i] = node.id;
|
||
|
|
text[i] = node.name;
|
||
|
|
}
|
||
|
|
$('#orgId').uiCombo('setText', text.join(',')).uiCombo('setValues', values);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
var orgForm_setting = $.extend({}, form_setting, {
|
||
|
|
callback: {
|
||
|
|
onCheck: function (event, treeId, treeNode) {
|
||
|
|
var treeObj = $.fn.zTree.getZTreeObj("batchorg_tree");
|
||
|
|
var nodes = treeObj.getCheckedNodes(true);
|
||
|
|
var values = new Array();
|
||
|
|
var text = new Array();
|
||
|
|
for (var i = 0; i < nodes.length; i++) {
|
||
|
|
var node = nodes[i];
|
||
|
|
values[i] = node.id;
|
||
|
|
text[i] = node.name;
|
||
|
|
}
|
||
|
|
$('#batchorgid').uiCombo('setText', text.join(',')).uiCombo('setValues', values);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
var permission_setting = {
|
||
|
|
data: {
|
||
|
|
simpleData: {
|
||
|
|
enable: true,
|
||
|
|
pIdKey: 'parent_id',
|
||
|
|
rootPid: 'root'
|
||
|
|
}
|
||
|
|
},
|
||
|
|
check: {
|
||
|
|
enable: true,
|
||
|
|
chkStyle: "checkbox",
|
||
|
|
chkboxType: {"Y": "ps", "N": "ps"}
|
||
|
|
},
|
||
|
|
view: {
|
||
|
|
selectedMulti: true,
|
||
|
|
showLine: true
|
||
|
|
},
|
||
|
|
async: {
|
||
|
|
enable: true,
|
||
|
|
url: permissionUrl
|
||
|
|
}
|
||
|
|
}
|
||
|
|
//-----------------------初始化--------------------------------------
|
||
|
|
layout.uiLayout();
|
||
|
|
$.fn.zTree.init(menu, setting);
|
||
|
|
var zTree = $.fn.zTree.getZTreeObj("ulMenu");
|
||
|
|
initUserGrid();
|
||
|
|
initUserForm();
|
||
|
|
initOrgForm();
|
||
|
|
initModuleForm();
|
||
|
|
initRoleDialog();
|
||
|
|
initRoleTypeDialog();
|
||
|
|
addFilter();
|
||
|
|
addEvents();
|
||
|
|
|
||
|
|
//-------------------------------------方法--------------------------------------------------------
|
||
|
|
function loadGrid() {
|
||
|
|
var selectedNode = zTree.getSelectedNodes()[0];
|
||
|
|
grid.uiGrid('loadData', {
|
||
|
|
url: listUrl,
|
||
|
|
queryParams: {
|
||
|
|
pid: selectedNode.id,
|
||
|
|
cascade_id: selectedNode.cascade_id,
|
||
|
|
iscascade: cbIsShowAll.is(':checked')
|
||
|
|
},
|
||
|
|
pageIndex: 1
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initUserGrid() {
|
||
|
|
//初始化搜索框
|
||
|
|
$('#searchbox').uiSearchbox({
|
||
|
|
prompt: '登录账号|用户姓名',
|
||
|
|
searcher: function (v) {
|
||
|
|
grid.uiGrid('loadData', {queryParams: {key: $.trim(v)}, pageIndex: 1});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
//初始化grid
|
||
|
|
grid.uiGrid();
|
||
|
|
}
|
||
|
|
|
||
|
|
function initUserForm() {
|
||
|
|
dialog.uiDialog({
|
||
|
|
title: '创建用户',
|
||
|
|
width: dialogSize.width,
|
||
|
|
onOpen: function () {
|
||
|
|
var dialogP = $('#dialog').uiDialog('getUserParam');
|
||
|
|
op = dialogP.action;
|
||
|
|
var id = dialogP.id;
|
||
|
|
switch (op) {
|
||
|
|
case 'view':
|
||
|
|
case 'edit':
|
||
|
|
grid_form.uiForm('load', grid.uiGrid('selectedData')[0]);
|
||
|
|
break;
|
||
|
|
case 'add':
|
||
|
|
grid_form.uiForm('load');
|
||
|
|
break;
|
||
|
|
default :
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
},
|
||
|
|
buttons: [
|
||
|
|
{
|
||
|
|
id: 'btnOK',
|
||
|
|
label: '保存',
|
||
|
|
style: 'button_submit',
|
||
|
|
icons: {left: 'icon_submit'},
|
||
|
|
disabled: false,
|
||
|
|
onClick: function () {
|
||
|
|
$('#grid_form').uiForm('submit', {
|
||
|
|
url: saveUrl,
|
||
|
|
onSubmit: function (param) {
|
||
|
|
param.id = $('#hdID').val();
|
||
|
|
var pass = $.trim($('#password').val());
|
||
|
|
if (pass != '') {
|
||
|
|
param['user.password'] = md5(pass);
|
||
|
|
}
|
||
|
|
var isValid = $('#grid_form').uiForm('validate');
|
||
|
|
|
||
|
|
return isValid; // 返回false终止表单提交
|
||
|
|
},
|
||
|
|
success: function (result) {
|
||
|
|
if (result.success) {
|
||
|
|
dialog.uiDialog('close');
|
||
|
|
grid.uiGrid('loadData');
|
||
|
|
}
|
||
|
|
showResult(result.success, result.message);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
id: 'btnCancel',
|
||
|
|
label: '关闭',
|
||
|
|
icons: {left: 'icon_cancel'},
|
||
|
|
disabled: false,
|
||
|
|
style: 'button_cancel',
|
||
|
|
onClick: function () {
|
||
|
|
dialog.uiDialog('close');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
});
|
||
|
|
|
||
|
|
grid_form.uiForm({
|
||
|
|
template: 'grid_form_temp',
|
||
|
|
onLoadSuccess: function (data) {
|
||
|
|
var me = $(this);
|
||
|
|
var pass = $('#password').uiValidate();
|
||
|
|
$('#orgId').uiCombo();
|
||
|
|
$('#org_panel').show().appendTo($('#orgId').uiCombo('panel'));
|
||
|
|
$.fn.zTree.init($('#org_tree'), form_setting, zTree.getNodes());
|
||
|
|
$.fn.zTree.getZTreeObj("org_tree").expandAll(true);
|
||
|
|
$('#sex').dictCombobox();
|
||
|
|
switch (op) {
|
||
|
|
case 'view':
|
||
|
|
parentTree_view(data);
|
||
|
|
me.uiForm('setReadonly', true);
|
||
|
|
break;
|
||
|
|
case 'edit':
|
||
|
|
pass.uiValidate('disableValidation');
|
||
|
|
parentTree_view(data);
|
||
|
|
break;
|
||
|
|
case 'add':
|
||
|
|
parentTree_add();
|
||
|
|
me.uiForm('setReadonly', false);
|
||
|
|
break;
|
||
|
|
default :
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
|
||
|
|
function parentTree_add() {
|
||
|
|
var selectedNode = zTree.getSelectedNodes()[0];
|
||
|
|
if (selectedNode) {
|
||
|
|
var org_tree = $.fn.zTree.getZTreeObj("org_tree");
|
||
|
|
var node = org_tree.getNodeByParam("id", selectedNode.id, null);
|
||
|
|
$('#orgId').uiCombo('setValue', selectedNode.id).uiCombo('setText', selectedNode.name);
|
||
|
|
org_tree.checkNode(node, true, true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function parentTree_view(data) {
|
||
|
|
var org_tree = $.fn.zTree.getZTreeObj("org_tree");
|
||
|
|
var orgIds = '';
|
||
|
|
var orgnames = '';
|
||
|
|
for (var i = 0; i < data.orgs.length; i++) {
|
||
|
|
var org = data.orgs[i];
|
||
|
|
var node = org_tree.getNodeByParam("id", org.id, null);
|
||
|
|
org_tree.checkNode(node, true, true);
|
||
|
|
orgIds += ',' + org.id;
|
||
|
|
orgnames += ',' + org.name;
|
||
|
|
}
|
||
|
|
orgIds = orgIds.substring(1);
|
||
|
|
orgnames = orgnames.substring(1);
|
||
|
|
$('#orgId').uiCombo('setValue', orgIds).uiCombo('setText', orgnames);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initOrgForm() {
|
||
|
|
orgDialog.uiDialog({
|
||
|
|
title: '批量修改所属组织',
|
||
|
|
width: 500,
|
||
|
|
height: 90,
|
||
|
|
maximizable: false,
|
||
|
|
resizable: false,
|
||
|
|
onOpen: function () {
|
||
|
|
orgGrid_form.uiForm('load');
|
||
|
|
},
|
||
|
|
buttons: [
|
||
|
|
{
|
||
|
|
id: 'btnOrgOK',
|
||
|
|
label: '保存',
|
||
|
|
style: 'button_submit',
|
||
|
|
icons: {left: 'icon_submit'},
|
||
|
|
disabled: false,
|
||
|
|
onClick: function () {
|
||
|
|
orgGrid_form.uiForm('submit', {
|
||
|
|
url: batchOrgUrl,
|
||
|
|
onSubmit: function (param) {
|
||
|
|
var ids = grid.uiGrid('selectedData', 'id');
|
||
|
|
param.ids = ids;
|
||
|
|
var isValid = orgGrid_form.uiForm('validate');
|
||
|
|
return isValid; // 返回false终止表单提交
|
||
|
|
},
|
||
|
|
success: function (result) {
|
||
|
|
if (result.success) {
|
||
|
|
orgDialog.uiDialog('close');
|
||
|
|
grid.uiGrid('loadData');
|
||
|
|
}
|
||
|
|
showResult(result.success, result.message);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
id: 'btnCancel',
|
||
|
|
label: '关闭',
|
||
|
|
icons: {left: 'icon_cancel'},
|
||
|
|
disabled: false,
|
||
|
|
style: 'button_cancel',
|
||
|
|
onClick: function () {
|
||
|
|
orgDialog.uiDialog('close');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
});
|
||
|
|
|
||
|
|
orgGrid_form.uiForm({
|
||
|
|
template: 'orgGrid_form_temp',
|
||
|
|
onLoadSuccess: function (data) {
|
||
|
|
var me = $(this);
|
||
|
|
var batchorgid = $('#batchorgid');
|
||
|
|
batchorgid.uiCombo();
|
||
|
|
$('#batchorg_panel').show().appendTo(batchorgid.uiCombo('panel'));
|
||
|
|
$.fn.zTree.init($('#batchorg_tree'), orgForm_setting, zTree.getNodes());
|
||
|
|
$.fn.zTree.getZTreeObj("batchorg_tree").expandAll(true);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initModuleForm() {
|
||
|
|
moduleDialog.uiDialog({
|
||
|
|
title: '设置功能权限',
|
||
|
|
width: dialogSize.width,
|
||
|
|
height: dialogSize.height,
|
||
|
|
onOpen: function () {
|
||
|
|
permission_setting.async.otherParam = {userids: grid.uiGrid('selectedData', 'id')};
|
||
|
|
$.fn.zTree.init(permission_tree, permission_setting);
|
||
|
|
},
|
||
|
|
buttons: [
|
||
|
|
{
|
||
|
|
id: 'btnModuleOK',
|
||
|
|
label: '保存',
|
||
|
|
style: 'button_submit',
|
||
|
|
icons: {left: 'icon_submit'},
|
||
|
|
disabled: false,
|
||
|
|
onClick: function () {
|
||
|
|
var ids = grid.uiGrid('selectedData', 'id');
|
||
|
|
var tree = $.fn.zTree.getZTreeObj("permission_tree");
|
||
|
|
var nodes = tree.getCheckedNodes(true);
|
||
|
|
if (nodes.length == 0) {
|
||
|
|
showResult(false, '请至少选择一项权限信息!', 'alert');
|
||
|
|
} else {
|
||
|
|
var actionValue = [];
|
||
|
|
var opJson = [];
|
||
|
|
for (var i = 0; i < nodes.length; i++) {
|
||
|
|
var node = nodes[i];
|
||
|
|
var moduletype = node.moduletype;
|
||
|
|
switch (moduletype) {
|
||
|
|
case 0:
|
||
|
|
case 1:
|
||
|
|
case 2:
|
||
|
|
case 3:
|
||
|
|
case 4://action
|
||
|
|
case 6:
|
||
|
|
actionValue.push(node.actionvalue);
|
||
|
|
break;
|
||
|
|
case 5://扩展权限
|
||
|
|
var obj = {action: node.href, value: node.actionvalue};
|
||
|
|
var has = false;
|
||
|
|
for (var j = 0; j < opJson.length; j++) {
|
||
|
|
var temp = opJson[j];
|
||
|
|
if (temp.action == obj.action) {
|
||
|
|
temp.value += obj.value;
|
||
|
|
has = true;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (!has) {
|
||
|
|
opJson.push(obj);
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
$.ajax({
|
||
|
|
type: 'post',
|
||
|
|
url: savePermissionUrl,
|
||
|
|
data: {userids: ids, actionValue: actionValue, opJson: JSON.stringify(opJson)},
|
||
|
|
success: function (result) {
|
||
|
|
moduleDialog.uiDialog('close');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
id: 'btnCancel',
|
||
|
|
label: '关闭',
|
||
|
|
icons: {left: 'icon_cancel'},
|
||
|
|
disabled: false,
|
||
|
|
style: 'button_cancel',
|
||
|
|
onClick: function () {
|
||
|
|
moduleDialog.uiDialog('close');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function addEvents() {
|
||
|
|
//新建
|
||
|
|
$('#btn1').bind('click', function () {
|
||
|
|
dialog.uiDialog('setUserParam', {action: 'add', id: 0});
|
||
|
|
dialog.uiDialog('open');
|
||
|
|
dialog.uiDialog('title').html('创建用户');
|
||
|
|
dialog.uiDialog('button', 'btnOK').show();
|
||
|
|
});
|
||
|
|
//删除
|
||
|
|
$('#btn2').bind('click', function () {
|
||
|
|
var ids = grid.uiGrid('selectedData', 'id');
|
||
|
|
if (ids.length == 0) {
|
||
|
|
showResult(false, '请选择要删除的行!', 'alert');
|
||
|
|
} else {
|
||
|
|
deleteRow(ids);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
cbIsShowAll.bind('click', function () {
|
||
|
|
var selectedNode = zTree.getSelectedNodes()[0];
|
||
|
|
if (selectedNode) {
|
||
|
|
grid.uiGrid('loadData', {
|
||
|
|
url: listUrl,
|
||
|
|
queryParams: {
|
||
|
|
pid: selectedNode.id,
|
||
|
|
cascade_id: selectedNode.cascade_id,
|
||
|
|
iscascade: cbIsShowAll.is(':checked')
|
||
|
|
},
|
||
|
|
pageIndex: 1
|
||
|
|
});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
auth_menu.uiMenu({
|
||
|
|
minWidth: 150,
|
||
|
|
maxWidth: 200,
|
||
|
|
onSelect: function (item, event) {
|
||
|
|
var ids = grid.uiGrid('selectedData', 'id');
|
||
|
|
if (ids.length == 0) {
|
||
|
|
showResult(false, '请选择要授权的行!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
switch (item.id) {
|
||
|
|
case 1:
|
||
|
|
moduleDialog.uiDialog('open');
|
||
|
|
break;
|
||
|
|
case 2:
|
||
|
|
if (ids.length > 1) {
|
||
|
|
showResult(false, '只能对单个用户进行授权操作!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
roleDialog.uiDialog('title').html('用户角色授权【当前用户:' + grid.uiGrid('selectedData', 'username')[0] + '】');
|
||
|
|
roleDialog.uiDialog('open');
|
||
|
|
break;
|
||
|
|
case 3:
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
auth_menu.uiMenu('hide');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
more_menu.uiMenu({
|
||
|
|
minWidth: 150,
|
||
|
|
maxWidth: 200,
|
||
|
|
onSelect: function (item, event) {
|
||
|
|
var ids = grid.uiGrid('selectedData', 'id');
|
||
|
|
var idLen = ids.length;
|
||
|
|
if (idLen == 0) {
|
||
|
|
showResult(false, '请选择要操作的行!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var userStatus = 0;
|
||
|
|
switch (item.id) {
|
||
|
|
case 1://锁定
|
||
|
|
case 2://停用
|
||
|
|
case 3://解锁
|
||
|
|
var confirmText = '';
|
||
|
|
if (item.id == 1) {
|
||
|
|
userStatus = 3;
|
||
|
|
confirmText = '锁定';
|
||
|
|
}
|
||
|
|
if (item.id == 2) {
|
||
|
|
userStatus = 2;
|
||
|
|
confirmText = '停用';
|
||
|
|
}
|
||
|
|
if (item.id == 3) {
|
||
|
|
userStatus = 1;
|
||
|
|
confirmText = '解锁/启用';
|
||
|
|
}
|
||
|
|
confirmText = '确定' + confirmText + '选中的【' + idLen + '】个用户吗?';
|
||
|
|
$.uiMessagebox.confirm({
|
||
|
|
title: '确认操作',
|
||
|
|
content: confirmText,
|
||
|
|
onClose: function (value) {
|
||
|
|
if (value) {
|
||
|
|
$.ajax({
|
||
|
|
type: 'post',
|
||
|
|
url: changeStatusUrl,
|
||
|
|
data: {ids: ids, action: userStatus},
|
||
|
|
success: function (result) {
|
||
|
|
grid.uiGrid('loadData');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case 4://批量设置组织
|
||
|
|
orgDialog.uiDialog('open');
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
more_menu.uiMenu('hide');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
$('#btnAuth').bind('click', function () {
|
||
|
|
auth_menu.uiMenu('show', this);
|
||
|
|
});
|
||
|
|
$('#btnMore').bind('click', function () {
|
||
|
|
more_menu.uiMenu('show', this);
|
||
|
|
});
|
||
|
|
$('#selectRoles').bind('click', function () {
|
||
|
|
var roleids = leftRole_grid.uiGrid('selectedData', 'id');
|
||
|
|
if (roleids.length == 0) {
|
||
|
|
showResult(false, '请选择要添加的角色!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
updateRoleRoles(selectRolesToUserUrl, roleids);
|
||
|
|
});
|
||
|
|
$('#btnChangeRoleType').bind('click', function () {
|
||
|
|
var urids = rightRole_grid.uiGrid('selectedData', 'urid');
|
||
|
|
if (urids.length == 0) {
|
||
|
|
showResult(false, '请选择要修改的角色!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
roleTypeDialog.uiDialog('open');
|
||
|
|
});
|
||
|
|
$('#cancelRoles').bind('click', function () {
|
||
|
|
var roleids = rightRole_grid.uiGrid('selectedData', 'id');
|
||
|
|
if (roleids.length == 0) {
|
||
|
|
showResult(false, '请选择要撤销的角色!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
updateRoleRoles(cancelRolesFromUserUrl, roleids);
|
||
|
|
});
|
||
|
|
|
||
|
|
function updateRoleRoles(url, roleids) {
|
||
|
|
var userid = grid.uiGrid('selectedData', 'id')[0];
|
||
|
|
$.ajax({
|
||
|
|
type: 'post',
|
||
|
|
url: url,
|
||
|
|
data: {userid: userid, roleids: roleids},
|
||
|
|
success: function (result) {
|
||
|
|
leftRole_grid.uiGrid('loadData', {pageIndex: 1});
|
||
|
|
rightRole_grid.uiGrid('loadData', {pageIndex: 1});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
$('#btnReset').bind('click', function () {
|
||
|
|
var ids = grid.uiGrid('selectedData', 'id');
|
||
|
|
var idLen = ids.length;
|
||
|
|
if (idLen == 0) {
|
||
|
|
showResult(false, '请选择要操作的行!', 'alert');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
$.uiMessagebox.confirm({
|
||
|
|
title: '确认操作',
|
||
|
|
content: '确定将选中的【' + idLen + '】个用户重置密码吗?',
|
||
|
|
onClose: function (value) {
|
||
|
|
if (value) {
|
||
|
|
$.ajax({
|
||
|
|
type: 'post',
|
||
|
|
url: resetPassUrl,
|
||
|
|
data: {ids: ids}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initRoleDialog() {
|
||
|
|
roleDialog.uiDialog({
|
||
|
|
title: '用户角色授权',
|
||
|
|
width: '98%',
|
||
|
|
height: dialogSize.height,
|
||
|
|
maximizable: false,
|
||
|
|
resizable: false,
|
||
|
|
onOpen: function () {
|
||
|
|
var dialogContent = roleDialog.uiDialog('content');
|
||
|
|
var role_leftGrid = $('#role_leftGrid');
|
||
|
|
var role_btn = $('#role_btn');
|
||
|
|
var role_rightGrid = $('#role_rightGrid');
|
||
|
|
var width = parseInt((dialogContent.width() - role_btn.outerWidth()) / 2);
|
||
|
|
|
||
|
|
role_leftGrid.outerWidth(width);
|
||
|
|
role_rightGrid.outerWidth(width);
|
||
|
|
|
||
|
|
if (hasInitUserRoleDialog == false) {
|
||
|
|
initSelectRoleGrid();
|
||
|
|
hasInitUserRoleDialog = true;
|
||
|
|
}
|
||
|
|
loadLeftSelectUserGrid();
|
||
|
|
loadRightUserGrid();
|
||
|
|
},
|
||
|
|
buttons: [
|
||
|
|
{
|
||
|
|
id: 'btnCancel',
|
||
|
|
label: '关闭',
|
||
|
|
icons: {left: 'icon_cancel'},
|
||
|
|
disabled: false,
|
||
|
|
style: 'button_cancel',
|
||
|
|
onClick: function () {
|
||
|
|
roleDialog.uiDialog('close');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
});
|
||
|
|
roleDialog.uiDialog('content').css('float', 'left');
|
||
|
|
}
|
||
|
|
|
||
|
|
function initSelectRoleGrid() {
|
||
|
|
$('#leftRole_searchbox').uiSearchbox({
|
||
|
|
prompt: '角色名称',
|
||
|
|
searcher: function (v) {
|
||
|
|
leftRole_grid.uiGrid('loadData', {queryParams: {key: $.trim(v)}, pageIndex: 1});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
$('#rightRole_searchbox').uiSearchbox({
|
||
|
|
prompt: '角色名称',
|
||
|
|
searcher: function (v) {
|
||
|
|
rightRole_grid.uiGrid('loadData', {queryParams: {key: $.trim(v)}, pageIndex: 1});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
leftRole_grid.uiGrid({
|
||
|
|
defaultSortField: 'rol.name',
|
||
|
|
defaultOrder: 'asc'
|
||
|
|
});
|
||
|
|
rightRole_grid.uiGrid({
|
||
|
|
defaultSortField: 'ro.name',
|
||
|
|
defaultOrder: 'asc'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function loadLeftSelectUserGrid() {
|
||
|
|
leftRole_grid.uiGrid('loadData', {
|
||
|
|
url: leftRoleListUrl,
|
||
|
|
queryParams: {
|
||
|
|
userid: grid.uiGrid('selectedData', 'id')[0],
|
||
|
|
},
|
||
|
|
pageIndex: 1
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function loadRightUserGrid() {
|
||
|
|
rightRole_grid.uiGrid('loadData', {
|
||
|
|
url: rightRoleListUrl,
|
||
|
|
queryParams: {
|
||
|
|
userid: grid.uiGrid('selectedData', 'id')[0]
|
||
|
|
},
|
||
|
|
pageIndex: 1
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initRoleTypeDialog() {
|
||
|
|
roleTypeDialog.uiDialog({
|
||
|
|
title: '批量修改角色类型',
|
||
|
|
width: 300,
|
||
|
|
height: 90,
|
||
|
|
maskContainer: roleDialog,
|
||
|
|
maximizable: false,
|
||
|
|
resizable: false,
|
||
|
|
onOpen: function () {
|
||
|
|
roleTypeGrid_form.uiForm('load');
|
||
|
|
},
|
||
|
|
buttons: [
|
||
|
|
{
|
||
|
|
id: 'btnRoleOK',
|
||
|
|
label: '保存',
|
||
|
|
style: 'button_submit',
|
||
|
|
icons: {left: 'icon_submit'},
|
||
|
|
disabled: false,
|
||
|
|
onClick: function () {
|
||
|
|
roleTypeGrid_form.uiForm('submit', {
|
||
|
|
url: batchRoleTypeUrl,
|
||
|
|
onSubmit: function (param) {
|
||
|
|
var urids = rightRole_grid.uiGrid('selectedData', 'urid');
|
||
|
|
param.urids = urids;
|
||
|
|
var isValid = roleTypeGrid_form.uiForm('validate');
|
||
|
|
return isValid; // 返回false终止表单提交
|
||
|
|
},
|
||
|
|
success: function (result) {
|
||
|
|
if (result.success) {
|
||
|
|
roleTypeDialog.uiDialog('close');
|
||
|
|
rightRole_grid.uiGrid('loadData', {pageIndex: 1});
|
||
|
|
}
|
||
|
|
showResult(result.success, result.message);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
id: 'btnCancel',
|
||
|
|
label: '关闭',
|
||
|
|
icons: {left: 'icon_cancel'},
|
||
|
|
disabled: false,
|
||
|
|
style: 'button_cancel',
|
||
|
|
onClick: function () {
|
||
|
|
roleTypeDialog.uiDialog('close');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
});
|
||
|
|
roleTypeGrid_form.uiForm({
|
||
|
|
template: 'roleTypeGrid_form_temp',
|
||
|
|
onLoadSuccess: function () {
|
||
|
|
$('#rolepermissiontype').dictCombobox();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function addFilter() {
|
||
|
|
function getOrgNames(orgId) {
|
||
|
|
var zTree = $.fn.zTree.getZTreeObj("ulMenu");
|
||
|
|
var node = zTree.getNodeByParam('id', orgId);
|
||
|
|
if(node == null) return ''; //无组织结构时返回空字符串
|
||
|
|
var ids = node.cascade_id.split('|');
|
||
|
|
var names = [];
|
||
|
|
for (var i = 0; i < ids.length; i++) {
|
||
|
|
var id = ids[i];
|
||
|
|
if (id != '' && id != 'root') {
|
||
|
|
var org = zTree.getNodeByParam('id', id);
|
||
|
|
if(org == null){continue;} //无父级的跳过
|
||
|
|
names.push(org.name);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return names.join('>');
|
||
|
|
}
|
||
|
|
|
||
|
|
template.helper('statusFilter', function (value) {
|
||
|
|
var text = gridColFilter('userstate', value);
|
||
|
|
var span = '<span class="label label-';
|
||
|
|
switch (value) {
|
||
|
|
case 1:
|
||
|
|
span += 'success">';
|
||
|
|
break;
|
||
|
|
case 2:
|
||
|
|
span += 'danger">';
|
||
|
|
break;
|
||
|
|
case 3:
|
||
|
|
span += 'warning">';
|
||
|
|
break;
|
||
|
|
case 4:
|
||
|
|
span += 'warning">';
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
text = span + text + '</span>';
|
||
|
|
return text;
|
||
|
|
});
|
||
|
|
template.helper('usertypeFilter', function (value) {
|
||
|
|
return gridColFilter('usertype', value);
|
||
|
|
});
|
||
|
|
template.helper('userRoletypeFilter', function (value) {
|
||
|
|
return gridColFilter('rolepermissiontype', value);
|
||
|
|
});
|
||
|
|
template.helper('orgFilter', function (value) {
|
||
|
|
var result = '';
|
||
|
|
for (var i = 0; i < value.length; i++) {
|
||
|
|
var orgId = value[i].id;
|
||
|
|
var orgname = value[i].name;
|
||
|
|
var isdefault = value[i].is_default_org;
|
||
|
|
|
||
|
|
var color = 'default';
|
||
|
|
if (isdefault == 1) {
|
||
|
|
color = 'primary';
|
||
|
|
}
|
||
|
|
var orgPath = getOrgNames(orgId);
|
||
|
|
result += '<span class="label label-' + color + '" title="' + orgPath + '">' + orgname + '</span> ';
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
});
|
||
|
|
template.helper('roletypeFilter', function (value) {
|
||
|
|
return gridColFilter('roletype', value);
|
||
|
|
});
|
||
|
|
template.helper('avatarsFilter', function (value) {
|
||
|
|
var img = "<img class='table-userAvatars' src='";
|
||
|
|
if (value.avatars == undefined || value.avatars == '') {
|
||
|
|
img += $("#asset_path").val() + "/image/avatars/" + value.sex + ".png";
|
||
|
|
} else {
|
||
|
|
img += value.avatars;
|
||
|
|
}
|
||
|
|
img += "'/>";
|
||
|
|
return img;
|
||
|
|
});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
//查看
|
||
|
|
function viewRow(id, title) {
|
||
|
|
var dialog = $('#dialog');
|
||
|
|
title = '-' + title || '';
|
||
|
|
dialog.uiDialog('setUserParam', {action: 'view', id: id});
|
||
|
|
dialog.uiDialog('open');
|
||
|
|
dialog.uiDialog('title').html('查看' + title);
|
||
|
|
dialog.uiDialog('button', 'btnOK').hide();
|
||
|
|
}
|
||
|
|
|
||
|
|
//编辑
|
||
|
|
function editRow(id) {
|
||
|
|
var dialog = $('#dialog');
|
||
|
|
dialog.uiDialog('setUserParam', {action: 'edit', id: id});
|
||
|
|
dialog.uiDialog('open');
|
||
|
|
dialog.uiDialog('title').html('编辑');
|
||
|
|
dialog.uiDialog('button', 'btnOK').show();
|
||
|
|
}
|
||
|
|
|
||
|
|
// 删除
|
||
|
|
function deleteRow(id) {
|
||
|
|
deleteData("确定要删除所选用户信息吗?", deleteUrl, {ids: id}, function (result) {
|
||
|
|
if (result.success) {
|
||
|
|
$('#grid').uiGrid('loadData');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
//删除
|
||
|
|
function deleteData(confirmText, url, data, callback) {
|
||
|
|
$.uiMessagebox.confirm({
|
||
|
|
title: '确认操作',
|
||
|
|
content: confirmText,
|
||
|
|
onClose: function (value) {
|
||
|
|
if (value) {
|
||
|
|
$.ajax({
|
||
|
|
type: 'post',
|
||
|
|
url: url,
|
||
|
|
data: data,
|
||
|
|
success: function (result) {
|
||
|
|
callback && callback.call(this, result);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|