2020-10-22 14:59:36 +08:00
|
|
|
|
layui.config({
|
|
|
|
|
base: "/js/"
|
2024-07-11 17:37:38 +08:00
|
|
|
|
}).use(['form', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth', 'iconPicker', 'utils'], function () {
|
2020-10-22 14:59:36 +08:00
|
|
|
|
var form = layui.form,
|
|
|
|
|
layer = layui.layer,
|
|
|
|
|
$ = layui.jquery;
|
|
|
|
|
var iconPicker = layui.iconPicker;
|
|
|
|
|
var btnIconPicker = layui.iconPicker;
|
2024-07-11 16:43:21 +08:00
|
|
|
|
var moduleInitVal = { //模块初始化的值
|
|
|
|
|
Id: "",
|
|
|
|
|
SortNo: 1,
|
|
|
|
|
IconName: 'layui-icon-app',
|
|
|
|
|
ParentId: '',
|
|
|
|
|
ParentName: '',
|
|
|
|
|
Name: '',
|
|
|
|
|
Url: '',
|
|
|
|
|
Status: 0,
|
|
|
|
|
Remark: '',
|
|
|
|
|
Code: ''
|
|
|
|
|
};
|
2024-07-11 17:37:38 +08:00
|
|
|
|
var menuInital={ //菜单初始化的值
|
|
|
|
|
Id: "",
|
|
|
|
|
ModuleId: "",
|
|
|
|
|
Name:'',
|
|
|
|
|
DomeId:'',
|
|
|
|
|
Class:'',
|
|
|
|
|
Sort: 1,
|
|
|
|
|
Icon: 'layui-icon-app'
|
|
|
|
|
}
|
2024-07-11 16:43:21 +08:00
|
|
|
|
|
2020-10-22 14:59:36 +08:00
|
|
|
|
iconPicker.render({
|
|
|
|
|
// 选择器,推荐使用input
|
|
|
|
|
elem: '#IconName',
|
|
|
|
|
type: 'fontClass',
|
|
|
|
|
// 每个图标格子的宽度:'43px'或'20%'
|
|
|
|
|
cellWidth: '43px',
|
|
|
|
|
});
|
|
|
|
|
btnIconPicker.render({ //按钮的图标
|
|
|
|
|
// 选择器,推荐使用input
|
|
|
|
|
elem: '#Icon',
|
|
|
|
|
type: 'fontClass',
|
|
|
|
|
// 每个图标格子的宽度:'43px'或'20%'
|
|
|
|
|
cellWidth: '43px',
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var table = layui.table;
|
|
|
|
|
var openauth = layui.openauth;
|
2024-07-11 16:43:21 +08:00
|
|
|
|
|
2020-10-22 14:59:36 +08:00
|
|
|
|
$("#menus").loadMenus("Module");
|
|
|
|
|
|
|
|
|
|
//主列表加载,可反复调用进行刷新
|
2024-07-11 16:43:21 +08:00
|
|
|
|
var config = {}; //table的参数,如搜索key,点击tree的id
|
2020-10-22 14:59:36 +08:00
|
|
|
|
var mainList = function (options) {
|
|
|
|
|
if (options != undefined) {
|
|
|
|
|
$.extend(config, options);
|
|
|
|
|
}
|
|
|
|
|
table.reload('mainList', {
|
|
|
|
|
url: '/UserSession/GetModulesTable',
|
|
|
|
|
where: config
|
|
|
|
|
, response: {
|
|
|
|
|
statusCode: 200 //规定成功的状态码,默认:0
|
2024-07-11 16:43:21 +08:00
|
|
|
|
}
|
2020-10-22 14:59:36 +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
|
|
|
|
|
, response: {
|
|
|
|
|
statusCode: 200 //规定成功的状态码,默认:0
|
2024-07-11 16:43:21 +08:00
|
|
|
|
}
|
2020-10-22 14:59:36 +08:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//左边树状机构列表
|
|
|
|
|
var ztree = function () {
|
|
|
|
|
var url = '/UserSession/GetModules';
|
|
|
|
|
var zTreeObj;
|
|
|
|
|
var setting = {
|
2024-07-11 16:43:21 +08:00
|
|
|
|
view: {selectedMulti: false},
|
2020-10-22 14:59:36 +08:00
|
|
|
|
data: {
|
|
|
|
|
key: {
|
|
|
|
|
name: 'Name',
|
|
|
|
|
title: 'Name'
|
|
|
|
|
},
|
|
|
|
|
simpleData: {
|
|
|
|
|
enable: true,
|
|
|
|
|
idKey: 'Id',
|
|
|
|
|
pIdKey: 'ParentId',
|
|
|
|
|
rootPId: 'null'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
callback: {
|
|
|
|
|
onClick: function (event, treeId, treeNode) {
|
2024-07-11 16:43:21 +08:00
|
|
|
|
mainList({pId: treeNode.Id});
|
2020-10-22 14:59:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
var load = function () {
|
|
|
|
|
$.getJSON(url, function (json) {
|
|
|
|
|
zTreeObj = $.fn.zTree.init($("#tree"), setting);
|
2024-07-11 16:43:21 +08:00
|
|
|
|
var newNode = {Name: "根节点", Id: null, ParentId: ""};
|
2020-10-22 14:59:36 +08:00
|
|
|
|
json.Result.push(newNode);
|
|
|
|
|
zTreeObj.addNodes(null, json.Result);
|
2024-07-11 16:43:21 +08:00
|
|
|
|
mainList({pId: ""});
|
2020-10-22 14:59:36 +08:00
|
|
|
|
zTreeObj.expandAll(true);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
load();
|
|
|
|
|
return {
|
|
|
|
|
reload: load
|
|
|
|
|
}
|
|
|
|
|
}();
|
|
|
|
|
$("#tree").height($("div.layui-table-view").height());
|
|
|
|
|
//添加(编辑)模块对话框
|
2024-07-11 16:43:21 +08:00
|
|
|
|
var editDlg = function () {
|
|
|
|
|
var show = function (update, data) {
|
2020-10-22 14:59:36 +08:00
|
|
|
|
var title = update ? "编辑信息" : "添加";
|
|
|
|
|
layer.open({
|
|
|
|
|
title: title,
|
|
|
|
|
area: ["500px", "480px"],
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $('#divEdit'),
|
2024-07-11 16:43:21 +08:00
|
|
|
|
success: function () {
|
|
|
|
|
layui.droptree("/UserSession/GetModules", "#ParentName", "#ParentId", false);
|
|
|
|
|
if (data == undefined) {
|
|
|
|
|
form.val("formEdit", moduleInitVal);
|
|
|
|
|
} else {
|
|
|
|
|
form.val("formEdit", data);
|
2024-07-11 21:18:07 +08:00
|
|
|
|
iconPicker.checkIcon('iconPicker', data.IconName);
|
2020-12-17 23:04:04 +08:00
|
|
|
|
}
|
2020-10-22 14:59:36 +08:00
|
|
|
|
},
|
|
|
|
|
end: mainList
|
|
|
|
|
});
|
|
|
|
|
var url = "/moduleManager/Add";
|
|
|
|
|
if (update) {
|
2024-07-11 16:43:21 +08:00
|
|
|
|
url = "/moduleManager/Update";
|
2020-10-22 14:59:36 +08:00
|
|
|
|
}
|
|
|
|
|
//提交数据
|
|
|
|
|
form.on('submit(formSubmit)',
|
2024-07-11 16:43:21 +08:00
|
|
|
|
function (data) {
|
2020-10-22 14:59:36 +08:00
|
|
|
|
$.post(url,
|
|
|
|
|
data.field,
|
2024-07-11 16:43:21 +08:00
|
|
|
|
function (data) {
|
2020-10-22 14:59:36 +08:00
|
|
|
|
layer.msg(data.Message);
|
|
|
|
|
if ((!update) && data.Code == 200) { //添加成功要刷新左边的树
|
|
|
|
|
ztree.reload();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"json");
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return {
|
2024-07-11 16:43:21 +08:00
|
|
|
|
add: function () { //弹出添加
|
|
|
|
|
show(false);
|
2020-10-22 14:59:36 +08:00
|
|
|
|
},
|
2024-07-11 16:43:21 +08:00
|
|
|
|
update: function (data) { //弹出编辑框
|
|
|
|
|
show(true,data);
|
2020-10-22 14:59:36 +08:00
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
//添加菜单对话框
|
|
|
|
|
var meditDlg = function () {
|
2024-07-11 17:37:38 +08:00
|
|
|
|
var show = function (update, data) {
|
2020-10-22 14:59:36 +08:00
|
|
|
|
var title = update ? "编辑信息" : "添加";
|
|
|
|
|
layer.open({
|
|
|
|
|
title: title,
|
|
|
|
|
area: ["500px", "450px"],
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $('#divMenuEdit'),
|
|
|
|
|
success: function () {
|
2024-07-11 17:37:38 +08:00
|
|
|
|
if (data == undefined) {
|
|
|
|
|
form.val("mfromEdit", menuInital);
|
|
|
|
|
} else {
|
|
|
|
|
form.val("mfromEdit", data);
|
2024-07-11 21:18:07 +08:00
|
|
|
|
btnIconPicker.checkIcon('btnIconPicker', data.Icon);
|
2020-12-17 23:04:04 +08:00
|
|
|
|
}
|
2020-10-22 14:59:36 +08:00
|
|
|
|
},
|
|
|
|
|
end: menuList
|
|
|
|
|
});
|
|
|
|
|
var url = "/moduleManager/AddMenu";
|
|
|
|
|
if (update) {
|
|
|
|
|
url = "/moduleManager/UpdateMenu";
|
|
|
|
|
}
|
|
|
|
|
//提交数据
|
|
|
|
|
form.on('submit(mformSubmit)',
|
|
|
|
|
function (data) {
|
|
|
|
|
$.post(url,
|
|
|
|
|
data.field,
|
|
|
|
|
function (data) {
|
|
|
|
|
layer.msg(data.Message);
|
|
|
|
|
},
|
|
|
|
|
"json");
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return {
|
|
|
|
|
add: function (moduleId) { //弹出添加
|
2024-07-11 17:37:38 +08:00
|
|
|
|
show(false);
|
2020-10-22 14:59:36 +08:00
|
|
|
|
},
|
|
|
|
|
update: function (data) { //弹出编辑框
|
2024-07-11 17:37:38 +08:00
|
|
|
|
show(true,data);
|
2020-10-22 14:59:36 +08:00
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
//监听行单击事件
|
2024-07-11 16:43:21 +08:00
|
|
|
|
table.on('row(list)', function (obj) {
|
|
|
|
|
menuList({moduleId: obj.data.Id});
|
2020-10-22 14:59:36 +08:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监听页面主按钮操作
|
|
|
|
|
var active = {
|
|
|
|
|
btnDel: function () { //删除模块
|
|
|
|
|
var checkStatus = table.checkStatus('mainList')
|
|
|
|
|
, data = checkStatus.data;
|
|
|
|
|
openauth.del("/moduleManager/Delete",
|
2024-07-11 16:43:21 +08:00
|
|
|
|
data.map(function (e) {
|
|
|
|
|
return e.Id;
|
|
|
|
|
}),
|
2020-10-22 14:59:36 +08:00
|
|
|
|
function () {
|
|
|
|
|
mainList();
|
|
|
|
|
ztree.reload();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
, btnDelMenu: function () { //删除菜单
|
|
|
|
|
var checkStatus = table.checkStatus('menuList')
|
|
|
|
|
, data = checkStatus.data;
|
|
|
|
|
openauth.del("/moduleManager/DelMenu",
|
2024-07-11 16:43:21 +08:00
|
|
|
|
data.map(function (e) {
|
|
|
|
|
return e.Id;
|
|
|
|
|
}),
|
2020-10-22 14:59:36 +08:00
|
|
|
|
menuList);
|
|
|
|
|
}
|
|
|
|
|
, btnAdd: function () { //添加模块
|
|
|
|
|
editDlg.add();
|
|
|
|
|
}
|
|
|
|
|
, btnAddMenu: function () { //添加菜单
|
|
|
|
|
var checkStatus = table.checkStatus('mainList')
|
|
|
|
|
, data = checkStatus.data;
|
|
|
|
|
if (data.length != 1) {
|
|
|
|
|
layer.msg("请选择一个要添加菜单的模块");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
meditDlg.add(data[0].Id);
|
|
|
|
|
}
|
2024-07-11 16:43:21 +08:00
|
|
|
|
, btnEdit: function () { //编辑
|
|
|
|
|
var checkStatus = table.checkStatus('mainList')
|
|
|
|
|
, data = checkStatus.data;
|
|
|
|
|
if (data.length != 1) {
|
|
|
|
|
layer.msg("请选择编辑的行,且同时只能编辑一行");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
editDlg.update(data[0]);
|
|
|
|
|
}
|
2020-10-22 14:59:36 +08:00
|
|
|
|
|
|
|
|
|
, btnEditMenu: function () { //编辑菜单
|
|
|
|
|
var checkStatus = table.checkStatus('menuList')
|
|
|
|
|
, data = checkStatus.data;
|
|
|
|
|
if (data.length != 1) {
|
|
|
|
|
layer.msg("请选择编辑的菜单");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
meditDlg.update(data[0]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
, search: function () { //搜索
|
2024-07-11 16:43:21 +08:00
|
|
|
|
mainList({key: $('#key').val()});
|
2020-10-22 14:59:36 +08:00
|
|
|
|
}
|
2024-07-11 16:43:21 +08:00
|
|
|
|
, btnRefresh: function () {
|
2020-10-22 14:59:36 +08:00
|
|
|
|
mainList();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$('.toolList .layui-btn').on('click', function () {
|
|
|
|
|
var type = $(this).data('type');
|
|
|
|
|
active[type] ? active[type].call(this) : '';
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监听页面主按钮操作 end
|
2018-03-03 01:35:58 +08:00
|
|
|
|
})
|