天天看點

筆記:zTree簡單使用

let setting = {

                            check: {

                                enable: true,

                                chkboxType: { "Y": "ps", "N": "s" }

                            },

                            data: {

                                simpleData: {

                                    enable: true

                                }

                            },

                            async: {

                                autoParam: [],

                                enable: true,

                                url: "/Authority/Privileges/GetPrivilegeTree",

                                type: "post"

                            },

                            callback: {

                                onAsyncSuccess(event, treeId, treeNode, msg) {

                                    if (msg === "") {

                                        layerPage.complete();

                                        window_alert("權限清單加載出錯!");

                                        return;

                                    }

                                    axios.post('/Authority/Privileges/RolePrivilegeList', { roleid: self.role.id }).then((result) => {

                                        var data1 = result.data;

                                        let treeObj = $.fn.zTree.getZTreeObj("privilege_tree");

                                        if (data1 != null && data1.length > 0) {

                                            $.each(data1, function (i, n) {

                                                let node = treeObj.getNodeByParam("id", n.privilege_id, null);

                                                if (node) {     //&& 

                                                    //注:設定節點不宜采取直接給節點指派方式,建議采用元件提供的方式

                                                    //node.checked = true;

                                                    treeObj.checkNode(node, true, !node.isParent);        

                                                }

                                            });

                                        }

                                        layerPage.complete();

                                    }

                                    ).catch((err) => {

                                        layerPage.complete();

                                        console.log(err);

                                    });

                                },

                                onAsyncError(event,treeId,treeNode,XMLHttpRequest,textStatus,errorThrown) {

                                    layerPage.complete();

                                },

                                beforeAsync(treeId,treeNode) {

                                    console.log("onBeforeLoad");

                                    layerPage.loading();

                                }

                            }

                        };

                        $.fn.zTree.init($("#privilege_tree"), setting, null);