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.

145 lines
4.9 KiB

<!DOCTYPE html>
<html>
<head>
<TITLE>维护学习目录结构</TITLE>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<!--引入css和js-->
<script src="../lib/layui/layui.js"></script>
<script src="../lib/jquery-3.6.0.min.js"></script>
<script src="../lib/ztree/jquery.ztree.core-3.5.min.js"></script>
<script src="../lib/ztree/jquery.ztree.exedit-3.5.min.js"></script>
<link rel="stylesheet" href="../static/css/font.css">
<link rel="stylesheet" href="../static/css/weadmin.css">
<link rel="stylesheet" href="../lib/ztree/zTreeStyle.css">
<style>
.ztree li span.button.add {
margin-left: 2px;
margin-right: -1px;
background-position: -144px 0;
vertical-align: top;
}
</style>
</head>
<body>
<ul id="tree" class="ztree"></ul>
<script type="text/javascript">
layui.extend({
admin: '{/}../static/js/admin'
});
layui.use(['jquery', 'admin', 'layer'], function () {
let $ = layui.jquery,
admin = layui.admin,
layer = layui.layer;
let zTreeObj;
let setting = {
view: {
addHoverDom: addHoverDom, //当鼠标移动到节点上时,显示用户自定义控件
removeHoverDom: removeHoverDom, //离开节点时的操作
showIcon: true,
showLine: true
},
data: {
simpleData: {
enable: true
}
},
edit: {
enable: true,
editNameSelectAll: true,
showRemoveBtn: showBtn,
showRenameBtn: showBtn
},
callback: {
beforeEditName: beforeEditName,
beforeRemove: beforeRemove,
onRemove: onRemove,
beforeDrag: function () { //禁用拖拽
return false;
}
}
}
function showBtn(treeId, treeNode) {
if (treeNode.level == 0) {
return false;
} else {
return true;
}
}
function addHoverDom(treeId, treeNode) {
if (treeNode.level_id > 1) return;//第二级开始,不能显示增加
let sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0) return;
let addStr = "<span class='button add ' id='addBtn_" + treeNode.tId
+ "' title='增加' onfocus='this.blur();'></span>";
sObj.after(addStr);
let btn = $("#addBtn_" + treeNode.tId);
if (btn)
btn.bind("click", function () {
WeAdminShow('增加', 'add.html?parent_id=' + treeNode.id + "&level_id=" + treeNode.level_id, 550, 200);
})
}
function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.tId).unbind().remove();
}
function beforeRemove(treeId, treeNode) {
let b_del = false;
if (treeNode.childCount > 0) {
layer.msg('存在子节点,请先删除子节点!', {icon: 2, time: 2000, shade: 0.1});
} else {
layer.confirm('确定删除 ' + treeNode.name + ' 吗?', {icon: 0}, function () {
onRemove(treeNode.id);
})
}
return b_del;
}
function onRemove(id) {
$.ajax({
type: "POST",
async: false,
url: '/FengHuang/zjb/deleteNode',
data: {
id: id
},
dataType: "json",
success: function (data) {
if (data.success) {
layer.msg(data.message, {icon: 1, time: 2000, shade: 0.1});
loadTree();
} else {
layer.msg(data.message, {icon: 1, time: 2000, shade: 0.1});
return false;
}
}
})
}
// 编辑
function beforeEditName(treeId, treeNode) {
WeAdminShow('编辑', 'update.html?id=' + treeNode.id, 550, 200);
}
window.loadTree = function () {
let zNodes = [];
$.ajax({
type: "GET",
async: false,
url: '/FengHuang/zjb/getTreeData',
dataType: "json",
success: function (data) {
zNodes = data;
zTreeObj = $.fn.zTree.init($("#tree"), setting, zNodes);
}
})
}
loadTree();
})
</script>
</body>
</html>