OpenAuth.Net/OpenAuth.Mvc/BllScripts/usermanager.js
2016-10-15 01:27:39 +08:00

350 lines
8.8 KiB
JavaScript

$(function () {
$("#Organizations").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/OrgManager/LoadOrg';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/UserManager/Load?orgId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '姓名'
},
{
index: 'Account',
name: 'Account',
label: '账号'
},
{
index: 'Sex',
name: 'Sex',
label: '性别'
},
{
index: 'OrganizationIds',
name: 'OrganizationIds',
hidden:true
},
{
index: 'Organizations',
name: 'Organizations',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = function () { //ztree搜索框
var zTreeObj;
var setting = {
view: { selectedMulti: true },
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: onClick,
onCheck: onCheck
}
};
var showMenu = function () {
$("#menuContent").css({ left: "10px", top: $("#Organizations").outerHeight() + "px" }).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
};
function onClick(e, treeId, treeNode) {
var nodes = zTreeObj.getSelectedNodes();
for (var i = 0, l = nodes.length; i < l; i++) {
vm.$set('Organizations', nodes[i].Name);
vm.$set('OrganizationIds', nodes[i].Id);
break;
}
hideMenu();
}
function onCheck(e, treeId, treeNode) {
var nodes = zTreeObj.getCheckedNodes(true);
var ids = nodes.map(function (e) { return e.Id; }).join(",");
var names = nodes.map(function (e) { return e.Name; }).join(",");
vm.$set('Organizations', names);
vm.$set('OrganizationIds', ids);
}
function onBodyDown(event) {
if (!(event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
hideMenu();
}
}
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
return {
reload: function () {
var index = layer.load();
$.getJSON("/OrgManager/LoadOrg", {
page: 1, rows: 10000
}, function (json) {
layer.close(index);
if (json.length == 0) {
vm.$set('Organizations', '');
vm.$set('OrganizationIds', '');
return;
}
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
zTreeObj.expandAll(true);
showMenu();
});
}
}
}();
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "用户管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/UserManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id:'00000000-0000-0000-0000-000000000000',
Sex:0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
var selected = list.getSelectedProperties("Id");
if (selected == null) return;
$.post('/UserManager/Delete',
{ ids: selected },
function (data) {
if (data.Status) {
list.reload();
ztree.reload();
}
else {
layer.msg(data.Message);
}
}, "json");
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
}
//用户模块授权按钮
function openUserModuleAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserModule',
url: '/ModuleManager/Assign',
title: '为用户分配可见部门',
width: 620,
height: 500,
data: {
firstId: selected.Id,
key: "UserModule"
}
});
}
//用户角色授权
function openUserRoleAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserRole',
url: '/RoleManager/LookupMulti',
title: '为用户分配角色',
width: 600,
height: 380,
data: {
userId: selected.Id
}
});
}
//为用户分配资源
function openUserReourceAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserResource',
url: '/ResourceManager/AssignRes',
title: '为用户分配资源',
width: 600,
height: 380,
data: {
firstId: selected.Id,
key:"UserResource"
}
});
}
//分配菜单
function openAssignUserElement(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserElement',
url: '/ModuleElementManager/AssignModuleElement',
title: '为用户分配资源',
width: 600,
height: 380,
data: {
firstId: selected.Id,
key: "UserElement"
}
});
}