OpenAuth.Net/OpenAuth.Mvc/userJs/assign.js
2018-04-01 22:08:00 +08:00

157 lines
5.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
})