提交 3d86ebf3 编写于 作者: Skyeye云's avatar Skyeye云

目录功能完成

上级 4b87f37f
......@@ -77,7 +77,9 @@ var catalogTreeUtil = {
layui.define(["jquery", 'fsTree'], function(exports) {
var jQuery = layui.jquery,
fsTree = layui.fsTree;
var chooseCagelogId = "";
(function($) {
var ztree = null;
fsTree.render({
id: "${showBoxId}Tree",
simpleData: '` + JSON.stringify(data) + `',
......@@ -87,10 +89,27 @@ var catalogTreeUtil = {
showIcon: true,
expandSpeed: 'fast',
clickCallback: onClickTree,
onRename: onRename,
beforeRename: beforeRename,
onRightClick: onRightClick,
onDblClick: onClickTree
}, function(id) {
ztree = $.fn.zTree.getZTreeObj(id);
fuzzySearch(id, '#${showBoxId}Name', null, true);
});
function onRightClick(event, treeId, treeNode) {
chooseCagelogId = treeNode.id;
// 设置右键节点选中
chooseNodeSelect(chooseCagelogId);
// 公共目录 不展示右键菜单
if (treeNode.type == 2 || chooseCagelogId === '0') {
if (chooseCagelogId === '0') {
showRMenu('root', event.clientX, event.clientY);
} else {
showRMenu('node', event.clientX, event.clientY);
}
}
}
function onClickTree(event, treeId, treeNode) {
var chooseId;
if (treeNode == undefined || treeNode.id == 0) {
......@@ -100,6 +119,126 @@ var catalogTreeUtil = {
}
$('#${showBoxId}Choose').val(chooseId).change();
}
// 设置选中节点
function chooseNodeSelect(chooseCagelogId) {
var selNode = ztree.getNodeByParam("id", chooseCagelogId, null);
ztree.selectNode(selNode);
}
function showRMenu(type, x, y) {
$("#caralogTreeRight .is-file").show();
if(type == 'root'){
$("#caralogTreeRight .reName").hide();
$("#caralogTreeRight .deleteFolder").hide();
}
$("#caralogTreeRight").show();
$("#caralogTreeRight").css({top: y + "px", left: x + "px", visibility: "visible", position: "absolute"});
$("body").bind("mousedown", onBodyMouseDown);
}
function hideRMenu() {
if ($("#caralogTreeRight")) $("#caralogTreeRight").css({"visibility": "hidden"});
$("body").unbind("mousedown", onBodyMouseDown);
}
function onBodyMouseDown(event){
if (!($(event.target).parents(".is-file").length > 0)) {
$("#caralogTreeRight").css({"visibility" : "hidden"});
}
}
// 节点名称修改限制
var oldName = '';
function beforeRename(treeId, treeNode, newName, isCancel) {
if (isNull(oldName)) {
oldName = treeNode.name;
}
if (newName.length < 1) {
winui.window.msg("节点名称不能为空", {icon: 2, time: 2000});
return false;
}
return true;
}
// 编辑节点名称
function onRename(event, treeId, treeNode) {
var params = {
name: treeNode.name,
icon: '',
parentId: treeNode.parentId,
objectId: '${catalogTreeUtil.config.objectId}',
objectKey: '${catalogTreeUtil.config.className}',
type: 2,
id : treeNode.id
};
AjaxPostUtil.request({url: reqBasePath + "writeCatalog", params: params, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg("保存成功", {icon: 1, time: 2000});
chooseCagelogId = treeNode.id;
oldName = '';
}, errorCallback: function (json) {
winui.window.msg(json.returnMessage, {icon: 2, time: 2000});
// 1、获取当前选中的节点
var selectedNode = ztree.getSelectedNodes();
// 2、恢复旧的名称
if (selectedNode.length > 0) {
selectedNode[0].name = oldName;
ztree.editName(selectedNode[0]);
}
oldName = '';
}});
}
// 文件夹或者文件重命名
$("body").on("click", ".reName", function (e) {
hideRMenu();
var selNode = ztree.getNodeByParam("id", chooseCagelogId, null);
ztree.editName(selNode);
});
// 树操作--新建文件夹
$("body").on("click", ".createNewFolder", function (e) {
var params = {
name: '新建文件夹',
icon: '',
parentId: chooseCagelogId,
objectId: '${catalogTreeUtil.config.objectId}',
objectKey: '${catalogTreeUtil.config.className}',
type: 2
};
hideRMenu();
AjaxPostUtil.request({url: reqBasePath + "writeCatalog", params: params, type: 'json', method: 'POST', callback: function (json) {
var newNode = json.bean;
// 1、获取当前选中的节点
var selectedNode = ztree.getSelectedNodes();
// 2、把这个新节点添加到当前选中的节点下,作为它的子节点
if (selectedNode.length > 0) {
ztree.addNodes(selectedNode[0], newNode);
}
}});
});
// 删除文件夹
$("body").on("click", ".deleteFolder", function (e) {
hideRMenu();
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function (index) {
layer.close(index);
deleteFile();
});
});
// 删除文件夹
function deleteFile() {
AjaxPostUtil.request({url: reqBasePath + "deleteCatalogById", params: {id: chooseCagelogId}, type: 'json', method: 'DELETE', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
var selNode = ztree.getNodeByParam("id", chooseCagelogId, null);
ztree.selectNode(selNode.getParentNode());// 设置选中节点
// 重置 chooseCagelogId
chooseCagelogId = selNode.getParentNode().id;
// 移除节点
ztree.removeNode(selNode);
}});
}
})(jQuery);});
</script>`;
$("#" + showBoxId).append(_html + _js);
......@@ -124,6 +263,17 @@ var catalogTreeUtil = {
<ul id="${showBoxId}Tree" class="ztree fsTree" method="get" isRoot="${isRoot}" isLoad="0" treeIdKey="id" inputs="parentId" treePIdKey="parentId"
clickCallbackInputs="parentId:$id" treeName="name" style="overflow-y: auto; height: 100%;"></ul>
</div>
<ul class="layui-dropdown-menu" id="caralogTreeRight">
<li class="is-file createNewFolder">
<a href="javascript:;"><img alt="" src="../../assets/images/create-folder-icon.png" /><span>新建</span></a>
</li>
<li class="is-file reName" >
<a href="javascript:;"><img alt="" src="../../assets/images/rename-icon.png" /><span>重命名</span></a>
</li>
<li class="is-file deleteFolder">
<a href="javascript:;"><img alt="" src="../../assets/images/delete-icon.png" /><span>删除</span></a>
</li>
</ul>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/jquery-min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/contextMenu/jquery.contextMenu.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/jquery.ztree.all.min.js"></script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册