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 = '' // } var del = ''; // if (dat.indexOf('sys:menu:del') != '-1') { del = '' // } 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); } }); }