mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
350 lines
8.8 KiB
JavaScript
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"
|
|
}
|
|
});
|
|
} |