OpenAuth.Net/OpenAuth.Mvc/js/assign.js

125 lines
4.5 KiB
JavaScript
Raw Normal View History

2017-12-13 17:50:58 +08:00
layui.config({
base: "/js/"
2017-12-15 17:44:30 +08:00
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','queryString'], function () {
var //layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
2017-12-13 17:50:58 +08:00
layer = layui.layer,
$ = layui.jquery;
var table = layui.table;
var openauth = layui.openauth;
2017-12-15 17:44:30 +08:00
var id = $.getUrlParam("id"); //待分配的id
var type = $.getUrlParam("type"); //待分配的类型
var menuType = $.getUrlParam("menuType"); //待分配菜单的类型
2017-12-13 17:50:58 +08:00
//菜单列表
var menucon = {}; //table的参数如搜索key点击tree的id
var menuList = function (options) {
if (options != undefined) {
$.extend(menucon, options);
}
table.reload('menuList', {
url: '/ModuleManager/LoadMenus',
where: menucon
});
2017-12-15 17:44:30 +08:00
//监听列表checkbox,设置是否分配菜单
table.on('checkbox(menulist)', function (obj) {
var url = "/RelevanceManager/Assign";
if (!obj.checked) {
url = "/RelevanceManager/UnAssign";
}
$.post(url, { type: menuType, firstId: id, secIds: [obj.data.Id] }
, function (data) {
layer.msg(data.Message);
}
, "json");
});
2017-12-16 23:29:38 +08:00
//如果该用户已经分配菜单了,则设置相应的状态
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;
//todo:怎么给lay table设置选中啊
});
});
2017-12-13 17:50:58 +08:00
}
2017-12-16 23:29:38 +08:00
//左边树状模块列表
2017-12-13 17:50:58 +08:00
var ztree = function () {
var url = '/UserSession/QueryModuleList';
var zTreeObj;
var setting = {
2017-12-15 17:44:30 +08:00
view: { selectedMulti: true },
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
2017-12-13 17:50:58 +08:00
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
menuList({ moduleId: treeNode.Id });
2017-12-15 17:44:30 +08:00
},
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");
2017-12-13 17:50:58 +08:00
}
}
};
var load = function () {
$.getJSON(url, function (json) {
zTreeObj = $.fn.zTree.init($("#tree"), setting);
zTreeObj.addNodes(null, json);
2017-12-16 23:29:38 +08:00
//如果该用户已经分配模块了,则设置相应的状态
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);
});
});
2017-12-15 17:44:30 +08:00
2017-12-13 17:50:58 +08:00
menuList({ moduleId: json[0].Id });
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//监听页面主按钮操作 end
})