记录:treetable树状结构,设置默认折叠
treeDefaultClose:true, //是否默认折叠
完整示例:
define(["jquery", "easy-admin", "treetable", "iconPickerFa", "autocomplete"], function ($, ea) {
var table = layui.table,
treetable = layui.treetable,
iconPickerFa = layui.iconPickerFa,
autocomplete = layui.autocomplete;
var init = {
table_elem: '#currentTable',
table_render_id: 'currentTableRenderId',
index_url: 'yuanqu.goodsCate/index',
add_url: 'yuanqu.goodsCate/add',
delete_url: 'yuanqu.goodsCate/delete',
edit_url: 'yuanqu.goodsCate/edit',
modify_url: 'yuanqu.goodsCate/modify',
};
var Controller = {
index: function () {
var renderTable = function () {
layer.load(2);
treetable.render({
treeColIndex: 1, //树形图标显示在第几列
treeSpid: 0, //最上级的父级id
homdPid: 99999999,
treeIdName: 'id', //id字段的名称
treePidName: 'pid', //父级节点字段
treeDefaultClose:true, //是否默认折叠
treeLinkage: false, //父级展开时是否自动展开所有子级
url: ea.url(init.index_url),
elem: init.table_elem,
id: init.table_render_id,
toolbar: '#toolbar',
page: false,
skin: 'line',
// @todo 不直接使用ea.table.render(); 进行表格初始化, 需要使用 ea.table.formatCols(); 方法格式化`cols`列数据
cols: ea.table.formatCols([[
{type: 'checkbox'},
{field: 'name', width: 250, title: '分类名称', align: 'left'},
{field: 'status', title: '状态', minWidth: 85, templet: ea.table.switch},
{field: 'sort', minWidth: 80, title: '排序', edit: 'text'},
{field: 'create_time', minWidth: 80, title: '创建时间', search: 'range'},
{
width: 200,
title: '操作',
templet: ea.table.tool,
operat: [
[{
text: '添加下级',
url: init.add_url,
method: 'open',
auth: 'add',
class: 'layui-btn layui-btn-xs layui-btn-normal',
extend: 'data-full="false"',
}, {
text: '编辑',
url: init.edit_url,
method: 'open',
auth: 'edit',
class: 'layui-btn layui-btn-xs layui-btn-success',
extend: 'data-full="false"',
}],
'delete'
]
}
]], init),
done: function () {
layer.closeAll('loading');
}
});
};
renderTable();
// 点击刷新
$('body').on('click', '[data-treetable-refresh]', function () {
renderTable();
});
// 点击删除
$('body').on('click', '[data-treetable-delete]', function () {
var tableId = $(this).attr('data-treetable-delete'),
url = $(this).attr('data-url');
tableId = tableId || init.table_render_id;
url = url != undefined ? ea.url(url) : window.location.href;
var checkStatus = table.checkStatus(tableId),
data = checkStatus.data;
if (data.length <= 0) {
ea.msg.error('请勾选需要删除的数据');
return false;
}
var ids = [];
$.each(data, function (i, v) {
ids.push(v.id);
});
ea.msg.confirm('确定删除?', function () {
ea.request.post({
url: url,
data: {
id: ids
},
}, function (res) {
ea.msg.success(res.msg, function () {
renderTable();
});
});
});
return false;
});
ea.table.listenSwitch({filter: 'status', url: init.modify_url});
ea.table.listenEdit(init, 'currentTable', init.table_render_id, true);
ea.listen();
},
add: function () {
ea.listen(function (data) {
return data;
}, function (res) {
ea.msg.success(res.msg, function () {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.$('[data-treetable-refresh]').trigger("click");
});
});
},
edit: function () {
ea.listen(function (data) {
return data;
}, function (res) {
ea.msg.success(res.msg, function () {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.$('[data-treetable-refresh]').trigger("click");
});
});
}
};
return Controller;
});