You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
5.5 KiB

3 months ago
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>树形表格</title>
<link rel="stylesheet" href="../../../component/layui/css/layui.css" />
<style>
thead {
background-color: #f2f2f2;
/* 设置背景色为灰色 */
}
</style>
</head>
<body>
<div class="layui-card" style="margin-bottom: 1px !important">
<div class="layui-card-body">
<table id="treeT"></table>
<script type="text/html" id="toolEvent">
<a class="layui-btn layui-btn-xs" lay-event="add">添加</a>
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="update">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
</div>
</div>
<script src="../../../component/layui/layui.js"></script>
<script>
layui.use(['treeTable', 'jquery'], function () {
var treeTable = layui.treeTable;
var $ = layui.jquery;
var _index = 0;
var layerIndex = 0;
treeTable.render({
elem: '#treeT',
id: "treeT",
tree: {
customName: { name: 'title' },
view: { showIcon: false }
},
3 months ago
url: '/dsBase/menu/selectAllForTreeTable',
3 months ago
height: 'full-30',
cols: [[
{ field: 'title', title: '菜单名称', width: "25%" },
{ field: 'href', title: 'Url地址', width: "25%" },
{ field: 'sort_id', title: '排序号', width: "5%", align: "center" },
{ field: 'memo', title: '描述', width: "30%" },
{ title: "操作", width: "15%", align: "center", templet: "#toolEvent" }
]],
done: function () {
treeTable.expandNode('treeT', {
index: 0,
expandFlag: true
});
}
});
treeTable.on('tool(treeT)', function (obj) {
_index = obj.data.LAY_DATA_INDEX;
var id = obj.data.id;
var level = obj.data.level;
var code = obj.data.code;
var is_leaf = obj.data.is_leaf;
console.log(obj, '======');
switch (obj.event) {
case 'add':
layerIndex = layer.open({
type: 2,
title: '添加',
shade: 0.1,
area: ['650px', '450px'],
content: './add.html?parent_id=' + id
});
break;
case 'update':
layer.open({
type: 2,
title: '编辑',
shade: 0.1,
area: ['650px', '530px'],
content: './update.html?id=' + id
});
break;
case 'delete':
var data = treeTable.getNodeById('treeT'); // 获取第一行的数据
console.log(data);
if (is_leaf != 0) {
layer.msg('存在子节点,不允许直接删除!', {
icon: 2,
time: 2000
});
} else {
layer.confirm('确定要删除该节点吗?', {
icon: 3,
title: '提示'
}, function (index) {
$.ajax({
3 months ago
url: '/dsBase/menu/DeleteMenu',
3 months ago
data: { "menu_id": id },
type: 'post',
success: function (result) {
if (result.success) {
layer.msg('删除成功!', {
icon: 1,
time: 1300
}, function () {
treeTable.reloadData('treeT');
});
} else {
layer.msg(result.message, {
icon: 2,
time: 2000
});
}
}
});
});
}
break;
};
});
//给子页用的刷新树节点
window.refreshTreeNode = function () {
treeTable.reloadData('treeT');
}
window.changeLayerHeight = function (height) {
layer.style(layerIndex, {
height: height
});
}
});
</script>
</body>
</html>