热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ZTree工具类全面汇总:实现节点的增删改及后台提交功能

本文全面总结了ZTree工具类的使用方法,详细介绍了如何实现节点的增加、删除、修改以及后台数据提交等功能。通过实例代码和具体操作步骤,帮助开发者高效地掌握ZTree的各类操作,提升开发效率。此外,还提供了常见问题的解决方案,如在SpringBoot集成X-admin2.2时遇到的Layui字体图标显示问题。

ZTree工具类汇总,包括:新增、编辑和删除节点,并提交后台

相关阅读:

X-admin2.2中switch开关的监听,以及属性值获取和更改状态等操作

Spring Boot集成X-admin2.2时,Layui字体图标无法正常显示或乱码问题解决方法

X-admin2.2表单提交方式及注意事项

Spring Boot 踩坑系列之Error resolving template

Maven项目中引入net.sf.json.JSONObject依赖jar包

最近在基于Spring Boot+X-admin2.2(LayUi)+framemark开源一个后台管理系统,其中部门管理部分需要使用属性菜单,整理一下ZTree的使用工具类,供大家参考。

有需要功能完整代码的可以添加右侧公众号“十点数据”获取。

代码如下:

var ZTreeUtils = {};
(function(ZTreeUtils) {
    var nodeId = null;// 当前点击节点的ID
    var nodeName = null;// 当前点击节点的名称
    var addNodeUrl = null;// 添加节点时调用的后台URL;
    var delNodeUrl = null;// 删除节点时调用的URL;
    var treeId = null;// 当前操作的树标签的ID属性值;
    var table = null;
    var tableIdValue = null;
    ZTreeUtils.tree = function(nodeUrl, adNodeUrl, deNodeUrl, treeId,
            tableObject, tableId) {
        table = tableObject
        tableIdValue = tableId
        addNodeUrl = adNodeUrl;
        delNodeUrl = deNodeUrl;
        treeId = treeId;
        var setting = {
            view : {
                selectedMulti : false
            },
            check : {
                enable : false
            },
            data : {
                simpleData : {
                    enable : true
                }
            },
            edit : {
                enable : false
            },
            callback : {
                onClick : ZTreeUtils.onClick
            }
        };
        var result = Ajaxget.excute(nodeUrl, false, null, false);
        $(document).ready(function() {
            $.fn.zTree.init($("#" + treeId), setting, result.data);
        });
    }
    //点击节点 
    ZTreeUtils.OnClick= function(e, treeId, treeNode) {
        nodeId = treeNode.id;
        nodeName = treeNode.name;
        ("#nodeId").val(nodeId);
        table.reload(tableIdValue, { // 此处是上文提到的 初始化标识id
            where : {
                nodeId : nodeId
            }
        });
    }
    // 添加节点;
    ZTreeUtils.addNode = function() {
        if (ZTreeUtils.isClick()) {
            xadmin.open("新增节点", addNodeUrl + "?id=0" + "&parentId=" + nodeId,
                    700, 305);
        }
    }

    // 编辑节点;
    ZTreeUtils.editNode = function() {
        // addNodeUrl:后台请求URL;
        if (ZTreeUtils.isClick()) {
            xadmin.open("编辑[" + nodeName + "]节点", addNodeUrl + "?id=" + nodeId
                    + "&parentId=0", 700, 305);
        }
    }
    // 删除一个节点;
    ZTreeUtils.delNode = function() {
        // delNodeUrl:后台请求URL;
        var ids = [];
        if (ZTreeUtils.isClick()) {
            ids.push($("#nodeId").val());
            layer.confirm("确认要删除[" + nodeName + "]节点吗?", function(index) {
                data = {};
                data["id"] = ids.join(",");// 数组转为字符串;
                result = Ajaxget.excute(delNodeUrl, false, data, true)// 发同步请求,把数据提交给后台;
                if (result["sucess"] == "true" || result["sucess"] == true) {// 发异步删除数据
                    window.location.reload();// 刷新当前页面
                    layer.msg("已删除[" + nodeName + "]节点!", {
                        icon : 1,
                        time : 2000
                    });
                }
            });
        }
    }
    ZTreeUtils.isClick = function() {
        var nodeId = ("#nodeId").val();
        if (nodeId == null || nodeId == "" || nodeId == undefined) {
            layer.msg("请选择所要处理的部门节点 ", {
                icon : 6,
                time : 2000
            });
            return false;
        } else {
            return true;
        }
    }
})(ZTreeUtils);

Ajax提交工具类代码如下:

var Ajaxget = {};
(function(Ajaxget) {
          Ajaxget.excute = function(url, async, values, toJson) {
        console.log(url);
        console.log(values);
        var data = {};
        $.ajax({
            type : "GET",
            async : async,// 要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
            url : url,
            data : values,
            dataType : "json",
            success : function(result) {
                // $("#resText").empty(); // 清空resText里面的所有内容
                data = result;
                console.log(data);
            },
            error : function(result) {
                data = result;
                console.log(data);
            }
        });
        if (toJson == true)// 将json字符串格式化为json对象
            data = JSON.parse(data);
        return data;
    };
})(Ajaxget);

最后效果如下图:

demo.png

具有功能如下:

1:树节点的添加、编辑和删除;
2:点击树节点时,刷新右侧用户列表;
3:右侧用户列表中数据的新增、编辑、删除等;
4:用户的查询、导出、打印等;
#X-admin2.2  #Spring Boot  #ZTree  #LayUi

推荐阅读
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 本文介绍了一种根据目标检测结果,从原始XML文件中提取并分析特定类别的方法。通过解析XML文件,筛选出特定类别的图像和标注信息,并保存到新的文件夹中,以便进一步分析和处理。 ... [详细]
  • 本文深入探讨了面向切面编程(AOP)的概念及其在Spring框架中的应用。通过详细解释AOP的核心术语和实现机制,帮助读者理解如何利用AOP提高代码的可维护性和开发效率。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 本文详细介绍如何使用 HTML5 和 JavaScript 实现一个交互式的画板功能。通过具体代码示例,帮助读者理解 Canvas API 的基本用法及其在绘图应用中的实际应用。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 烤鸭|本文_Spring之Bean的生命周期详解
    烤鸭|本文_Spring之Bean的生命周期详解 ... [详细]
author-avatar
手机用户2602905043
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有