207 lines
6.1 KiB
Plaintext
207 lines
6.1 KiB
Plaintext
let table;
|
||
var userTable;
|
||
let form;
|
||
let treeTable;
|
||
var re;
|
||
var per;
|
||
layui.config({
|
||
base: '../../../js/layui/treeTable/'
|
||
}).use(['layer', 'form', 'element', 'treeTable'], function () {
|
||
table = layui.table; //表格
|
||
form = layui.form;
|
||
treeTable = layui.treeTable;
|
||
// per = getPer();
|
||
initTable();
|
||
/**
|
||
* 新增页面
|
||
*/
|
||
$(".layui-add").click(function () {
|
||
layer.open({
|
||
title: '新增菜单',
|
||
type: 2,
|
||
area: ['40%', '70%'],
|
||
content: '../../../html/base/menu/menuAdd.html',
|
||
btn: ['确定', '取消'] //只是为了演示
|
||
, yes: function (index, leyuo) {
|
||
var body = layer.getChildFrame('body', index);
|
||
body.find('#add-menu').click();
|
||
}
|
||
, btn2: function () {
|
||
layer.closeAll();
|
||
}
|
||
});
|
||
})
|
||
/**
|
||
* 删除
|
||
*/
|
||
treeTable.on('tree(delete)', function (obj) {
|
||
console.log(obj)
|
||
if (obj.item.is_end) {
|
||
layer.msg('确定注销该节点?', {
|
||
time: 10000, //10s后自动关闭
|
||
btn: ['确定', '取消']
|
||
, yes: function (index, leyuo) {
|
||
layer.closeAll();
|
||
delData(obj.item.id);
|
||
}
|
||
});
|
||
} else {
|
||
layer.msg('请先删除子节点', {
|
||
icon: 2,
|
||
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
||
});
|
||
}
|
||
})
|
||
|
||
treeTable.on('tree(update)', function (obj) {
|
||
layer.open({
|
||
title: '修改菜单',
|
||
type: 2,
|
||
area: ['40%', '70%'],
|
||
content: '../../../html/base/menu/menuAdd.html',
|
||
btn: ['确定', '取消'] //只是为了演示
|
||
, success: function (layero, index) {
|
||
var body = layer.getChildFrame('body', index);
|
||
var iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象,执行iframe页的方法:
|
||
iframeWin.setForm(obj.item.id);//调用子页面的方法,页面锁定
|
||
}
|
||
, yes: function (index, leyuo) {
|
||
var body = layer.getChildFrame('body', index);
|
||
body.find('#add-menu').click();
|
||
}
|
||
, btn2: function () {
|
||
layer.closeAll();
|
||
}
|
||
});
|
||
})
|
||
|
||
$("#query").click(function () {
|
||
let objParams = {
|
||
keyWord: $("#keyWord").val(),
|
||
types: $("#types").val()
|
||
}
|
||
Ajax().get({
|
||
headers: {
|
||
"encrypt": sm3(JSON.stringify(objParams))
|
||
},
|
||
url: dataUrl + 'system/sys/menu/getMenuList',
|
||
data: objParams,
|
||
async: true,
|
||
success: function (dat) {
|
||
re.data = dat;
|
||
console.log(dat)
|
||
treeTable.render(re);
|
||
}
|
||
});
|
||
})
|
||
|
||
})
|
||
|
||
/**
|
||
* 初始化表格
|
||
*/
|
||
function initTable() {
|
||
re = treeTable.render({
|
||
elem: '#menu-table',
|
||
url: dataUrl + 'system/sys/menu/getMenuList?token=' + token,
|
||
icon_key: 'menuName',
|
||
is_checkbox: true,
|
||
headers: {
|
||
"encrypt": sm3(JSON.stringify({}))
|
||
},
|
||
end: function (e) {
|
||
if (e.data.code == '401') {
|
||
top.location.href = login_url;
|
||
localStorage.removeItem("tokens")
|
||
localStorage.removeItem("us")
|
||
}
|
||
console.log(e);
|
||
form.render();
|
||
},
|
||
cols: [
|
||
{key: 'menuName', title: '菜单名称', width: '300px',},
|
||
{key: 'paths', title: '菜单路径', width: '300px',},
|
||
{
|
||
key: 'types', title: '类型', width: '100px', template: function (e) {
|
||
if (e.types == '1') {
|
||
return '菜单';
|
||
} else {
|
||
return '按钮';
|
||
}
|
||
}
|
||
},
|
||
{key: 'dicts', title: '权限', width: '100px',},
|
||
{key: 'sort', title: '排序', width: '100px',},
|
||
{
|
||
title: '操作',
|
||
align: 'center', width: '100px',
|
||
template: function (item) {
|
||
//修改删除
|
||
var update = '';
|
||
// var dat = "@" + per.join("@") + "@";
|
||
// if (dat.indexOf('sys:menu:edit') != '-1') {
|
||
update = '<a class="layui-icon layui-icon-edit" lay-filter="update" title=“修改” lay-event="update"></a>'
|
||
// }
|
||
var del = '';
|
||
// if (dat.indexOf('sys:menu:del') != '-1') {
|
||
del = '<a class="layui-icon layui-icon-delete" lay-filter="delete" title=“删除” lay-event="delete"></a>'
|
||
// }
|
||
return update + del;
|
||
}
|
||
}
|
||
]
|
||
});
|
||
}
|
||
|
||
|
||
//删除数据
|
||
function delData(keyId) {
|
||
let objParams = {
|
||
params: keyId
|
||
}
|
||
Ajax().post({
|
||
headers: {
|
||
"encrypt": sm3(JSON.stringify({}))
|
||
},
|
||
url: dataUrl + 'system/sys/menu/deleteMenu',
|
||
data: objParams,
|
||
async: true,
|
||
success: function (data) {
|
||
reloadTable();
|
||
if (data.code == '200') {
|
||
layer.msg(data.msg, {
|
||
icon: 1,
|
||
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
||
});
|
||
} else {
|
||
layer.msg(data.msg, {
|
||
icon: 2,
|
||
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
||
});
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 刷新表格
|
||
*/
|
||
function reloadTable() {
|
||
|
||
Ajax().get({
|
||
headers: {
|
||
"encrypt": sm3(JSON.stringify({}))
|
||
},
|
||
url: dataUrl + 'system/sys/menu/getMenuList',
|
||
data: {},
|
||
async: true,
|
||
success: function (dat) {
|
||
re.data = dat;
|
||
console.log(dat)
|
||
treeTable.render(re);
|
||
}
|
||
});
|
||
}
|
||
|
||
|