Layui-eleTree2.0
1 eleTree2.0
官网地址:https://eletree.hsianglee.cn/

//加载树 function initTree() { let treeData = [{ hosp_id: '', group_no: group_no, asset_type: group_no, parent_asset_type: '', asset_type_text: group_name, catalogue_no: 0, id: group_no, title: group_name, children: [] }] layui.sight.ajaxRequest({ url: layui.sight.compileUrl("/dictAssetType/queryDictAssetTypeTree"), type: 'post', data: { group_no: group_no }, callback: function (data) { treeData[0].children = data.data; } }) layui.$('#dictAssetTypeTree').empty(); dictAssetTypeTree = layui.eleTree({ el: '#dictAssetTypeTree', data: treeData, highlightCurrent: true, defaultPid: group_name, defaultExpandedKeys: [group_no], request: { // 对于后台数据重新定义名字 name: "asset_type_text", key: "asset_type", children: "children", pid: "parent_asset_type" }, icon: { leaf: ".fa .fa-file-text-o", dropdownOff: ".fa .fa-folder-o", dropdownOn: ".fa .fa-folder-o", }, rightMenuList: function (data) { let menu = []; if (data.catalogue_no === 0) { menu = [{ name: "添加子目录", value: "add_child" }]; } if (data.catalogue_no === 1 || data.parent_asset_type === group_no) { menu = [{ name: "编辑", value: "edit" }, { name: "删除", value: "remove" }, { name: "添加到子", value: "add_child" }]; } if (data.catalogue_no === 2) { menu = [{ name: "编辑", value: "edit" }, { name: "删除", value: "remove" }]; } return menu; } }); //监听树节点点击事件 dictAssetTypeTree.on('click', function (obj) { if (obj.data.catalogue_no === 2) { asset_type = obj.data.asset_type; asset_type_text = obj.data.asset_type_text; parent_asset_type = obj.data.parent_asset_type; for (let i = 0; i < treeData[0].children.length; i++) { if (treeData[0].children[i].asset_type === parent_asset_type) { parent_asset_type_text = treeData[0].children[i].asset_type_text; break; } } } else { asset_type = ''; asset_type_text = ''; parent_asset_type = ''; parent_asset_type_text = ''; } reloadDictAssetTypeTable(); }) //监听右键删除 dictAssetTypeTree.on("remove", function (data) { //rightClickData:如果是通过右键菜单触发的操作,则该值对应当前节点的数据(上一次右键时的节点数据) if (data.rightClickData.catalogue_no === 1) { let id = data.rightClickData.asset_type; for (let i = 0; i < treeData[0].children.length; i++) { if (treeData[0].children[i].asset_type === id) { let children = treeData[0].children[i].children; for (let i = 0; i < children.length; i++) { if (children[i].asset_type.indexOf("add") === -1) { let para = { asset_type: children[i].asset_type, asset_type_text: children[i].asset_type_text, } deleteNode.push(para) } } break; } } } else if (data.rightClickData.catalogue_no === 2) { if (data.rightClickData.asset_type.indexOf("add") === -1) { let para = { asset_type: data.rightClickData.asset_type, asset_type_text: data.rightClickData.asset_type_text, } deleteNode.push(para) } } setTimeout(data.load, 100) //监听右键编辑 }).on("edit", function (data) { setTimeout(function () { let rdo = checkTreeData(data.data.asset_type_text); if (rdo.flag) { data.load({ spelling: getSpelling(data.data.asset_type_text)[0] }) } else { layer.msg(rdo.msg, {icon: 5}) data.stop(); } }, 100) //监听右键新增 }).on("add_child", function (data) { setTimeout(function () { let rdo = checkTreeData(data.data.asset_type_text); if (rdo.flag) { data.load({ catalogue_no: data.rightClickData.catalogue_no + 1, group_no: data.rightClickData.group_no, hosp_id: data.rightClickData.hosp_id, parent_asset_type: data.rightClickData.asset_type, asset_type: "add" + num, is_enable: '1', spelling: getSpelling(data.data.asset_type_text)[0] }) num++; } else { layer.msg(rdo.msg, {icon: 5}) data.stop(); } }, 100) }) }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?