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)
    })
}
View Code
复制代码

 

posted @   DAYTOY-105  阅读(154)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示