define(['jquery', 'table', 'form', 'iconPicker'], function($, Table, Form, iconPicker) { var Controller = { index: function() { Table.init = { table_elem: '#currentTable', table_render_id: 'currentTable', multi_url: 'auth.rule/multi', edit_url: 'auth.rule/edit', add_url: 'auth.rule/add', delete_url: 'auth.rule/del', }; Table.render({ init: Table.init, elem: Table.init.table_elem, search:false, toolbar: ['refresh', 'add', 'edit', 'delete', { text: '更多', auth: 'multi', icon: 'iconfont icon-more-line', class: 'layui-btn layui-btn-sm layui-btn-primary layui-border btn-disabled layui-btn-disabled', extend: 'id="dropdown-more"', }, { text: '展开或折叠全部', icon: 'iconfont icon-add-fill', class: 'layui-btn layui-btn-sm', extend: 'id="openAll"', }], url: "auth.rule/index", pk:'id', tree: { customName: { children: 'childlist', pid: 'parentid', name: 'title' }, view: { showIcon: false, } }, cols: [ [ { type: 'checkbox', fixed: 'left' }, { field: 'listorder', width: 60, title: '排序', edit: 'text' }, { field: 'id', width: 80, title: 'ID' }, { field: 'title', minWidth: 150, align: 'left', title: '菜单名称', }, { width: 80, title: '图标', align: 'center', templet: "
" }, { field: 'name', width: 200, title: '规则' }, { field: 'status', align: 'center', width: 120, title: '状态', unresize: true, templet: Table.formatter.switch, tips: "显示|隐藏" }, { fixed: 'right', width: 140, title: '操作', templet: Table.formatter.tool, operat: [ { text: '添加', url: Table.init.add_url+'?parentid={id}', auth:'add', class: 'layui-btn layui-btn-xs layui-btn-normal btn-dialog', }, 'edit', 'delete'] } ] ], done: function(res, curr, count) { $('.layui-btn[lay-event="btn-delone"]').data("success", function (data, ret) { Yzn.api.refreshmenu(); layui.table.reload(Table.init.table_render_id); return false; }); //更多操作 layui.dropdown.render({ elem: '#dropdown-more', data: [{ title: '设置显示', templet: ' 设置显示', params:'status=1' }, { title: '设置隐藏', templet: ' 设置隐藏', params:'status=0' }], click: function(obj) { tableId = Table.init.table_render_id; var ids = Table.api.selectedids(tableId); if (ids.length <= 0) { Toastr.error('请勾选需要操作的数据'); return false; } Yzn.api.ajax({ url: Table.init.multi_url, data: { id: ids, param: obj.params } }, function(data, ret) { layui.table.reload(tableId); }); } }); } }); $('body').on('click', '#openAll', function() { var that = this; var show = $("i", that).hasClass("icon-add-fill"); layui.treeTable.expandAll(Table.init.table_render_id, show); $("i", that).toggleClass("icon-add-fill", !show); $("i", that).toggleClass("icon-subtract-fill", show); }) Table.api.bindevent(); }, add: function() { Controller.api.bindevent(); }, edit: function() { Controller.api.bindevent(); }, api: { bindevent: function() { iconPicker.render({ // 选择器,推荐使用input elem: '#iconPicker', // 数据类型:fontClass/unicode,推荐使用fontClass type: 'fontClass', // 是否开启搜索:true/false,默认true search: true, // 是否开启分页:true/false,默认true page: true, // 每页显示数量,默认12 limit: 12, // 点击回调 click: function(data) { //console.log(data); }, // 渲染成功后的回调 success: function(d) { //console.log(d); } }); Form.api.bindevent($("form.layui-form"), function (data) { Yzn.api.refreshmenu(); }); layui.form.on('radio(ismenu)', function(data) { var name = $("input[name='row[name]']"); var ismenu = data.value == 1; name.prop("placeholder", ismenu ? name.data("placeholder-menu") : name.data("placeholder-node")); $('div[data-type="menu"]').toggleClass("layui-hide", !ismenu); }); $("input[name='row[ismenu]']:checked").next().trigger("click"); } } }; return Controller; });