layui.use(['laytpl', 'treeTable','jquery', 'form', 'miniTab', 'xmSelect'], function () { let $ = layui.jquery, form = layui.form, treeTable = layui.treeTable, layer = layui.layer, miniTab = layui.miniTab, xmSelect = layui.xmSelect; let modifyUrl = $('#row-modify').data('url'); /**** index begin ***/ //index页面 if ($('.location-index-page').length > 0) { miniTab.listen(); // 渲染表格 let listUrl = $('#menu-table').data('url'); let insTb = treeTable.render({ elem: '#menu-table', toolbar: '#toolbar-tpl', defaultToolbar: [], method: 'POST', skin: 'line', url: listUrl, page: false, tree: { iconIndex: 1, // 折叠图标显示在第几列 isPidData: true, // 是否是id、pid形式数据 idName: 'id', // id字段名称 pidName: 'pid' // pid字段名称 }, cols: [[ {type: 'checkbox'}, {field: 'name', minWidth: 200, title: '名称'}, {field: 'commision', width: 80, align: 'center', title: '默认佣金', edit: 'text'}, {templet: '#menu-operate', width: 150, align: 'center', title: '操作'} ]], done: function () { } }); //监听单元格编辑 treeTable.on('edit(menu-table)', function(obj){ $.post(modifyUrl, {id: obj.data.id, field: obj.field, value: obj.value}, function (res) { layer.msg(res.msg) if (res.code === 0) { insTb.refresh(); } }) }); //监听工具条 注意区别toolbar和tool toolbar是表头上的工具条 tool是行中的工具条 treeTable.on('toolbar(menu-table)', function (obj) { let layEvent = obj.event; if (layEvent === 'expand') { insTb.expandAll(); return false; } if (layEvent === 'fold') { insTb.foldAll(); return false; } if (layEvent === 'del') { let selected = insTb.checkStatus(false); let ids = []; let url = $(obj.elem.context).data('href') $.each(selected, function (index, val) { ids.push(val.id); }) del(url, ids); return false; } if (layEvent === 'add') { let url = $(obj.elem.context).data('href'); let title = $(obj.elem.context).data('title'); let index = layer.open({ title: title, type: 2, shade: 0.2, maxmin: true, shadeClose: true, area: ['100%', '100%'], content: url, }); $(window).on("resize", function () { layer.full(index); }); return false; } }); //刷新 $('body').on('click', '[data-table-refresh]', function () { insTb.refresh(); }); //删除 function del(url, ids) { let index = layer.confirm('确认删除吗?', { btn: ['确认','取消'], //按钮 title: '操作提示', }, function() { $.post(url, {ids: ids}, function (res) { layer.msg(res.msg) if (res.code === 0) { insTb.refresh(); } }) }, function(){ layer.close(index) return false; }); } //监听工具条 treeTable.on('tool(menu-table)', function (obj) { let data = obj.data; let layEvent = obj.event; let url = $(obj.tr.context).data('href'); let title = $(obj.tr.context).data('title'); if (layEvent === 'del') { let ids = [data.id]; del(url, ids); return false; } if (layEvent === 'edit') { let index = layer.open({ title: title, type: 2, shade: 0.2, maxmin: true, shadeClose: true, area: ['100%', '100%'], content: url, }); $(window).on("resize", function () { layer.full(index); }); return false; } }); } /*** index end ***/ // add和edit页面 if ($('.location-operate-page').length > 0) { let parentMenu = $('#parent-menu'); let menuList = parentMenu.data('menu') ? parentMenu.data('menu') : []; xmSelect.render({ el: '#parent-menu', paging: false, autoRow: true, radio: true, clickClose: true, name: 'pid', tips: '请选择上级分类', direction: 'auto', height: 'auto', model: { icon: 'hidden', }, prop: { name: 'name', value: 'id', }, tree: { show: true, strict: false, clickCheck: true, expandedKeys: true, clickExpand: false }, theme: { color: '#1e84ff', }, data: menuList }); } });