mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-05-10 07:38:01 +08:00
157 lines
5.8 KiB
JavaScript
157 lines
5.8 KiB
JavaScript
layui.config({
|
||
base: "/js/"
|
||
}).use(['form','vue', 'ztree', 'layer', 'jquery','utils'], function () {
|
||
var layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
|
||
$ = layui.jquery;
|
||
var id = $.getUrlParam("id"); //待分配的id
|
||
var type = $.getUrlParam("type"); //待分配的类型
|
||
var menuType = $.getUrlParam("menuType"); //待分配菜单的类型
|
||
|
||
//菜单列表
|
||
var menucon = {}; //table的参数,如搜索key,点击tree的id
|
||
//菜单树状列表,等lay table没问题了,可以换成table
|
||
var menutree = function () {
|
||
var url = '/ModuleManager/LoadMenus';
|
||
var menuTree;
|
||
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: function (event, treeId, treeNode) {
|
||
//
|
||
},
|
||
onCheck: function (event, treeId, treeNode) {
|
||
var url = "/RelevanceManager/Assign";
|
||
if (!treeNode.checked) {
|
||
url = "/RelevanceManager/UnAssign";
|
||
}
|
||
|
||
$.post(url, { type: menuType, firstId: id, secIds: [treeNode.Id] }
|
||
, function (data) {
|
||
layer.msg(data.Message);
|
||
}
|
||
, "json");
|
||
}
|
||
}
|
||
};
|
||
var load = function (options) {
|
||
if (options != undefined) {
|
||
$.extend(menucon, options);
|
||
}
|
||
|
||
$.getJSON(url, menucon, function (json) {
|
||
menuTree = $.fn.zTree.init($("#menutree"), setting);
|
||
menuTree.addNodes(null, json.data);
|
||
//如果该用户已经分配菜单了,则设置相应的状态
|
||
var url = "/ModuleManager/LoadMenusForUser";
|
||
if (type.indexOf("Role") != -1) {
|
||
url = "/ModuleManager/LoadMenusForRole";
|
||
}
|
||
$.getJSON(url,
|
||
{
|
||
firstId: id
|
||
, moduleId: options.moduleId
|
||
}
|
||
, function (data) {
|
||
$.each(data,
|
||
function (i) {
|
||
var that = this;
|
||
var node = menuTree.getNodeByParam("Id", that.Id, null);
|
||
menuTree.checkNode(node, true, false);
|
||
});
|
||
});
|
||
menuTree.expandAll(true);
|
||
});
|
||
};
|
||
return {
|
||
load: load
|
||
}
|
||
}();
|
||
|
||
//模块列表
|
||
var ztree = function () {
|
||
var url = '/UserSession/QueryModuleList';
|
||
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: function (event, treeId, treeNode) {
|
||
menutree.load({ moduleId: treeNode.Id });
|
||
},
|
||
onCheck: function (event, treeId, treeNode) {
|
||
var url = "/RelevanceManager/Assign";
|
||
if (!treeNode.checked) {
|
||
url = "/RelevanceManager/UnAssign";
|
||
}
|
||
|
||
$.post(url, { type: type, firstId: id, secIds: [treeNode.Id] }
|
||
, function (data) {
|
||
layer.msg(data.Message);
|
||
}
|
||
, "json");
|
||
}
|
||
}
|
||
};
|
||
var load = function () {
|
||
$.getJSON(url, function (json) {
|
||
zTreeObj = $.fn.zTree.init($("#tree"), setting);
|
||
zTreeObj.addNodes(null, json);
|
||
//如果该用户已经分配模块了,则设置相应的状态
|
||
var url = "/ModuleManager/LoadForUser";
|
||
if (type.indexOf("Role") != -1) {
|
||
url = "/ModuleManager/LoadForRole";
|
||
}
|
||
$.getJSON(url, { firstId: id }
|
||
, function (data) {
|
||
$.each(data,
|
||
function(i) {
|
||
var that = this;
|
||
var node = zTreeObj.getNodeByParam("Id", that.Id, null);
|
||
zTreeObj.checkNode(node, true, false);
|
||
});
|
||
});
|
||
$("#menutree").html("点击左边的模块开始分配菜单");
|
||
// menutree.load({ moduleId: json[0].Id });
|
||
zTreeObj.expandAll(true);
|
||
});
|
||
};
|
||
load();
|
||
return {
|
||
reload: load
|
||
}
|
||
}();
|
||
//监听页面主按钮操作 end
|
||
}) |