DWZ zTree 完美整合 ?

发布于 2021-11-22 17:04:00 字数 5434 浏览 782 评论 9

如果硬拼DWZ 和zTree,能够正确的实现树型列表,但是叶子层的Target会失效,绝对不是没有uploadnode的原因,后才测试了很久,分析觉得还是整合出的问题。

需要把zTree生成的部分放到dwz.ui.js 中的initUI 里面处理。但是具体怎么整合,却不知道怎么做,想在网络上找个例子,但是最终只找到了一个几乎没有说明的例子,请教有经验的朋友帮个忙给个详细点的实例参考下。

//selectOne  ztree编辑时只能选择一项
$("a[target=ztreeEditSelectOne]", $p).each(function() {

    $(this).click(function(event) {
        var $this = $(this);
        var title = $this.attr("title") || $this.text();
        var rel = $this.attr("rel") || "ids";
        var targetType = $this.attr("targetType");
        var ids = "";
        var $box = targetType == "dialog" ? $.pdialog.getCurrent() : navTab.getCurrentPanel();
        //这里要根据你使用ztree的id查找ztree对象
        var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
      nodes = zTree.getCheckedNodes(true), v = "";
        var dept = "";
        for (var i = 0, l = nodes.length; i < l; i++) {
            v += nodes[i].name + ",";
            dept += nodes[i].id + ",";
        }
        if (v.length > 0) {
            v = v.substring(0, v.length - 1);
            dept = dept.substring(0, dept.length - 1);
        }
        ids = dept;
        if (!ids) {
            alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
            return false;
        }
        if (ids.indexOf(',') != -1) {
            alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
            return false;
        }

        var options = {};
        var w = $this.attr("width");
        var h = $this.attr("height");
        if (w) options.width = w;
        if (h) options.height = h;
        //options.max = eval_r($this.attr("max") || "false");
        options.mask = eval($this.attr("mask") || "false");
        options.maxable = eval($this.attr("maxable") || "true");
        options.minable = eval($this.attr("minable") || "true");
        options.fresh = eval($this.attr("fresh") || "true");
        options.resizable = eval($this.attr("resizable") || "true");
        options.drawable = eval($this.attr("drawable") || "true");
        options.close = eval($this.attr("close") || "");
        options.param = $this.attr("param") || "";

        var url = ($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));
        url = url + "&ids=" + ids;
        DWZ.debug(url);
        if (!url.isFinishedTm()) {
            alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
            return false;
        }
        $.pdialog.open(url, rel, title, options);

        return false;
    });
})

$("a[target=ztreeDelAjaxTodo]", $p).each(function() {

    $(this).click(function(event) {
        var $this = $(this);
        var title = $this.attr("title") || $this.text();
        var rel = $this.attr("rel") || "ids";
        var targetType = $this.attr("targetType");
        var ids = "";
        var $box = targetType == "dialog" ? $.pdialog.getCurrent() : navTab.getCurrentPanel();
        //这里要根据你使用ztree的id查找ztree对象
        var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
      nodes = zTree.getCheckedNodes(true), v = "";
        var dept = "";
        for (var i = 0, l = nodes.length; i < l; i++) {
            v += nodes[i].name + ",";
            dept += nodes[i].id + ",";
        }
        if (v.length > 0) {
            v = v.substring(0, v.length - 1);
            dept = dept.substring(0, dept.length - 1);
        }
        ids = dept;
        //            if (!ids) {
        //                alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
        //                return false;
        //            }
        //            if (ids.indexOf(',') != -1) {
        //                alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
        //                return false;
        //            }

        var options = {};
        var w = $this.attr("width");
        var h = $this.attr("height");
        if (w) options.width = w;
        if (h) options.height = h;
        //options.max = eval_r($this.attr("max") || "false");
        options.mask = eval($this.attr("mask") || "false");
        options.maxable = eval($this.attr("maxable") || "true");
        options.minable = eval($this.attr("minable") || "true");
        options.fresh = eval($this.attr("fresh") || "true");
        options.resizable = eval($this.attr("resizable") || "true");
        options.drawable = eval($this.attr("drawable") || "true");
        options.close = eval($this.attr("close") || "");
        options.param = $this.attr("param") || "";

        var url = ($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));
        url = url + "&ids=" + ids;
        var title = $this.attr("title");
        if (title) {
            alertMsg.confirm(title, {
                okCall: function() {
                    ajaxTodo(url, $this.attr("callback"));
                }
            });
        } else {
            ajaxTodo(url, $this.attr("callback"));
        }
        event.preventDefault();
        //            DWZ.debug(url);
        //            if (!url.isFinishedTm()) {
        //                alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
        //                return false;
        //            }
        //            //(url, rel, title, options);
        //            ajaxTodo(url, $this.attr("callback"));
        //return false;
    });
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

酒几许 2021-11-29 15:48:10

引用来自“danielWolf”的评论

最终测试发现,要使用zTree的2.5版本的,然后就没问题了。

搞定,收工!~

拥有 2021-11-29 15:47:54

您好  用2.5的版本 rel属性可以直接生成出来吗?

梅窗月明清似水 2021-11-29 15:47:38

呵呵,现在项目赶时间,先凑合用着,等空下来再研究新的版本融合,新的功能确实比较完善。

坚持沉默 2021-11-29 15:45:22

用 zTree + DWZ的还有其他朋友, 有人咨询过一些其他问题,但据我所知都是使用的新版本zTree的。 只不过可惜我没有专门这么弄过,所以也无法很专业的回答你这个问题。

我觉得你现在的问题是需要理解 DWZ 的工作原理,这样你就能明白是应该如何结合在一起了

勿忘初心 2021-11-29 15:38:19

本身的bug,想起他办法解决啊,反正都是js,比如在外面拿不到整个树的问题,我就直接在树内加载外部。

秉烛思 2021-11-29 15:09:27

网上 现在有例子了 ,  而且 你用ztree老版本 那么 它本身一些bug 你打算怎么办?

拍不死你 2021-11-29 13:10:33

确实不行,只有最外一层的修改的target有效,正因为新版本不行,我才试用老版本的。

倚栏听风 2021-11-29 06:15:04

嚓!!! 居然要用那么旧的版本????? 为啥呀??? v3.5.12 不行吗??

千纸鹤带着心事 2021-11-28 19:23:42

最终测试发现,要使用zTree的2.5版本的,然后就没问题了。

搞定,收工!~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文