ztree--插件实现增删改查demo(完整版)

var setting = {
                async: {
                    enable: true,       //开启异步加载处理
                    dataFilter: filter  //用于对 Ajax 返回数据进行预处理的函数
                },
                view: {
                    addHoverDom: addHoverDom,
                    removeHoverDom: removeHoverDom,
                    selectedMulti: false,
                },
                check: {
                    enable: false
                },
                data: {
                    simpleData: {
                        enable: true
                    }
                },
                edit: {
                    enable: true,
                    removeTitle: "删除",
                    renameTitle: "编辑名称"
                },
                callback: {
                    //用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作
                    beforeRemove: beforeRemove,
                    //用于捕获节点编辑名称结束(Input 失去焦点 或 按下 Enter 键)之后,
                    //更新节点名称数据之前的事件回调函数,并且根据返回值确定是否允许更改名称的操作
                    beforeRename: beforeRename,
                    //用于捕获节点被点击的事件回调函数
                    onClick: zTreeOnClick
                }
            };
            var zNodes = date;
            $.fn.zTree.init($("#treeDemo"), setting, zNodes);
            $('.ico_open').remove();
            $('.ico_docu').remove();
            //添加新的节点
            function addHoverDom(treeId, treeNode) {
                if (treeNode.level === 2) {
                    return false;
                } else {
                    var sObj = $("#" + treeNode.tId + "_span");
                    if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0) return;
                    if (treeNode.level === 0) {
                        var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
                            + "' title='添加部门' onfocus='this.blur();'></span>";
                        sObj.after(addStr);
                    }
                    if (treeNode.level === 1) {
                        var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
                            + "' title='添加班组' onfocus='this.blur();'></span>";
                        sObj.after(addStr);
                    }
                    var btn = $("#addBtn_" + treeNode.tId);
                    if (btn) btn.bind("click", function () {
                        if (treeNode.name) {
                            var parentId = treeNode.id;
                            var orgName = treeNode.name;
                            $.ajax({
                                url: baseUrl + 'system/department/add',
                                type: "post",
                                data: {
                                    orgName: orgName,
                                    parentId: parentId
                                },
                                success: function (res) {
                                    if (res.status == "0000") {
                                        toastr.success('添加成功!')
                                        me.ztree()
                                    } else {
                                        toastr.error('添加失败!')
                                    }
                                }
                            });
                        }
                    });
                }
            };
            function removeHoverDom(treeId, treeNode) {
                $("#addBtn_" + treeNode.tId).unbind().remove();
            };
            //删除节点信息
            function beforeRemove(treeId, treeNode) {
                var zTree = $.fn.zTree.getZTreeObj("treeDemo");
                zTree.selectNode(treeNode);
                if (treeNode.name) {
                    var sids = [];
                    sids.push(treeNode.id)
                    $.ajax({
                        url: baseUrl + 'system/department/delete',
                        type: "post",
                        data: {
                            sids: sids
                        },
                        success: function (res) {
                            if (res.status == "0000") {
                                toastr.success('删除成功')
                            } else {
                                toastr.error(res.message)
                                me.ztree()
                            }
                        }
                    });
                } else {
                    window.location.reload();
                }
            }
            //修改节点信息
            function beforeRename(treeId, treeNode, newName) {
                if (newName.length == 0) {
                    toastr.error('节点名称不能为空')
                    return false;
                } else if (newName.length >= 15) {
                    toastr.error('节点名称长度不得超出14个字符')
                    return false;
                } else if (/^\s+$/gi.test(newName)) {
                    toastr.error('节点名称不能以空格')
                    return false;
                }
                var pNode = treeNode.getParentNode();
                var parentId;
                var sid = treeNode.id;
                if (pNode == null) {
                    parentId = 0;
                } else {
                    parentId = pNode.id;
                }
                $.ajax({
                    url: baseUrl + 'system/department/edit',
                    type: "post",
                    data: {
                        sid: sid,
                        orgName: newName,
                        parentId: parentId
                    },
                    success: function (res) {
                        if (res.status == "0000") {
                            toastr.success('修改成功!')
                        } else {
                            toastr.error('修改失败!')
                        }
                    }
                });
            }
            //修改异步获取到的节点name属性
            function filter(treeId, parentNode, childNodes) {
                if (!childNodes) return null;
                for (var i = 0, l = childNodes.length; i < l; i++) {
                    childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
                }
                return childNodes;
            }
            //点击节点后, 弹出该节点的 tId、name 的信息
            function zTreeOnClick(event, treeId, treeNode) {
                if (treeNode.pId === null || treeNode.pId==0) {
                    $('#table').bootstrapTable('refresh', {
                        url: baseUrl + 'system/person/list?organizationId=' + ""
                    })
                } else {
                    $('#table').bootstrapTable('refresh', {
                        url: baseUrl + 'system/person/list?organizationId=' + treeNode.id
                    })
                }
            };

ztree--插件实现增删改查demo(完整版)的更多相关文章

  1. ssm学习(四)--完整的增删改查demo

    上一篇文章简要介绍了将sping mvc加入整个框架,算是完成了ssm的集成.本节继续前面的内容,结合spring mvc做一个简单的增删改查demo. 1.首先,重写一下GeckoList.jsp页 ...

  2. 【讲义提纲】以一个实战新闻cms增删改查demo为例,给学院国创队伍培训php

    PHP实战基础——以一个新闻cms的增删改查为例 一.        环境配置 二.        数据库创建 三.        增删改查demo 连接数据库 <?php $link=mysq ...

  3. mvc模式jsp+servel+dbutils oracle基本增删改查demo

    mvc模式jsp+servel+dbutils oracle基本增删改查demo 下载地址

  4. mvc模式jsp+servel+jdbc oracle基本增删改查demo

    mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址

  5. SSH登录与增删改查demo详解+源代码

    点击下载,测试绝对可用SSH整合框架登录加增删改查demo 下载地址:http://download.csdn.net/detail/qq_33599520/9784679   一.框架概述 spri ...

  6. hibernate之增删改查demo

    package dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import o ...

  7. asp.net数据库增删改查demo

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. spring boot + jpa + bootstrap + thymeleaf 简单的增删改查Demo

    对springboot和bootstrap初学者来说是一个不错Demo 下载地址:点击进入下载Demo 首页(http://localhost:8081) 增加 编辑 搜索

  9. Vue 增删改查 demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

随机推荐

  1. Compass入门

    一.Compass是什么?   简单说,Compass是Sass的工具库(toolkit). Sass本身只是一个编译器,Compass在它的基础上,封装了一系列有用的模块和模板,补充Sass的功能. ...

  2. Python中的collections模块

    Python中内置了4种数据类型,包括:list,tuple,set,dict,这些数据类型都有其各自的特点,但是这些特点(比如dict无序)在一定程度上对数据类型的使用产生了约束,在某些使用场景下效 ...

  3. Loj 2534 异或序列

    Loj 2534 异或序列 考虑莫队离线处理.每加一个数,直接询问 \(a[x]\oplus k\) 的前/后缀数目即可,减同理. 利用异或的优秀性质,可以维护异或前缀和,容易做到每次 \(O(1)\ ...

  4. Spring-Java事物回滚失效处理

    spring-Java事物回滚失效处理最近在做项目中,无意间发现有个类在抛事物回滚操作,数据也正常的插入到数据库当中了,于是仔细查看看一下具体原因. 一切还是要从Java的检查型异常和非检查型异常说起 ...

  5. linux 下的定时任务的设置

    为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...

  6. MySQL-Proxy 读写分离、同步延时问题解决方案

    MySQL-Proxy 读写分离.同步延时问题解决方案 使用MySQL将读写请求转接到主从Server. 一 安装MySQL Proxy MySQL Proxy的二进制版非常方便,下载解压缩后即用. ...

  7. [LeetCode系列]3元素最近和问题的O(n^2)解法

    给定一个整数数组(长度不小于3) 和 一个目标值, 从数组中找出3个元素, 使得它们的和与目标值最接近, 返回这个和. 可以认为每个输入的组合都是只有唯一解的. 解法思路参考: Finding thr ...

  8. php查询mysql数据库 查询条件替中文字符串变量时无法查询

    $temp2 ='十年';mysql_query("SET NAMES GBK"); $res = mysql_query("select songer_name fro ...

  9. 使用Maven运行Solr(翻译)

    Solr是一个使用开源的搜索服务器,它采用Lucene Core的索引和搜索功能构建,它可以用于几乎所有的编程语言实现可扩展的搜索引擎. Solr的虽然有很多优点,建立开发环境是不是其中之一.此博客条 ...

  10. GNU Radio安装教程: Ubuntu14.04 + uhd3.10.0 + gnuradio3.7.10.1

    1. 更新和安装依赖项 在编译安装uhd和gnuradio之前,确保已安装所需依赖项.Ubuntu系统运行: sudo apt-get update 安装UHD和GNURadio所需依赖项: On U ...