layerUI框架下 ztree删除按钮取消实现( layer.confirm confirm beforeRemove onRemove)

   //之前在onRemove方法里纠结了很久,最后的结果是没用他,confirm 在beforeRemove  里不知道为什么会不被阻塞直接弹框一闪而过执行(各种奇葩),经过一番努力这是最后的结果,功能可以实现。
function beforeRemove (treeId, treeNode){//删除节点之前
 
  
var flag=false;//此处必须定义一个变量,不然还没确定就把节点从树上删除
        layer.confirm("确认要删除当前节点("+treeNode.catalogName+")及其子节点吗?", {
            btn: ['确定','取消']
        }, function(){
            var parms = {
                'id': treeNode.id,
                'catalogId': treeNode.catalogId,
                'catalogName': treeNode.catalogName,
                'catalogPath': treeNode.catalogPath
            };
$.postJSON("${webRoot}/materialcatalog/delete", parms, function (result) {

            if (result.code == '0') {
                flag=true;
               alert(flag);
                var treeObj = $.fn.zTree.getZTreeObj("busTree");
                var nodes = treeObj.getSelectedNodes();
                if (nodes && nodes.length>0) {
                    treeObj.removeChildNodes(nodes[0]);//删除当前节点子节点
               treeObj.removeNode(nodes[0]);//删除当前节点
                }
                layer.closeAll('dialog');
            } else {
                alertMsg(result.msg);
                layer.close(index);
            }
    })
    }   , function(index){
        layer.close(index);
        flag=false;
    })
    return flag;
}
/*
*  重写post
*
* */
$.postJSON = function (url, data, callback) {
    return jQuery.ajax({
        'type': 'POST',
        'url': url,
        'contentType': 'application/json',
        'data': JSON.stringify(data),
        'dataType': 'json',
        'success': callback
    });
};

你可能感兴趣的:(layerUI框架下 ztree删除按钮取消实现( layer.confirm confirm beforeRemove onRemove))