vue element-ui ztree,ztree父节点不显示复选框,而只有子节点显示。后台传json数据不写"nocheck":true

vue + element-ui (el-popover)+ ztree

  <el-form-item label="处理部门">
      <el-input v-popover:processing v-model="linkDispatchName"></el-input>
      <el-popover ref="processing" placement="bottom" width="320" trigger="click">
          <div class="processingBox">
              <ul id="LinkDispatchTree" class="ztree linktree"></ul>
          </div>
      </el-popover>
  </el-form-item>
  export default {
data() {
    return {
        processing:'',
        messageSend:'',
        messageContent:'',
        infoSendData:{
            processing:'',
            messageSend:'',
            messageContent:'',
        },
        LinktreeNode:'',
        Linksetting:{
            data:{
                simpleData:{
                    enable: true
                }
            },
            check: {
                enable: true,
                // chkboxType: {"Y":"", "N":""},
            },
            callback: {
                beforeClick: this.linkbeforeClick,
                onCheck: this.linkzTreeonCheck,
                
            },
            view: {
                dblClickExpand: false
            },
        },
        LinkzNodes:[],
        // miTypeCode:'',
        // teamCode:'',
        getLinktree:{
            miTypeCode:'',
            teamCode:'',
        },
        linkDispatchName:''
    }   
},



methods: {

    //树调用的接口
    getDefaultLinkDispatch(){
        this.$api.getDefaultLinkDispatch(this.getLinktree).then(
            res => {
                this.LinkzNodes = res.data.data.data.ztreeList;
                $.fn.zTree.init($("#LinkDispatchTree"), this.Linksetting, this.LinkzNodes);
                //设置父节点nocheck = true
                let zTree = $.fn.zTree.getZTreeObj("LinkDispatchTree");
                let nodes = zTree.transformToArray(zTree.getNodes());
                let node;
                for(let i = 0;i < nodes.length;i++){
                    let id = nodes[i].id;
                    for(let j = 0;j < nodes.length;j++){
                        if(id == nodes[j].pId){
                            node = zTree.getNodeByParam("id", id, null);
                            node.nocheck = true;
                            zTree.updateNode(node);
                        } 
                    }
                } 

                let linkUserList = [];
                for(let i in res.data.data.data.userList){
                    linkUserList.push(res.data.data.data.userList[i].name)
                }
                this.linkDispatchName = linkUserList.join();
                         
            }
        )
    },
    //单击节点之前的事件回调函数
    linkbeforeClick(treeId, treeNode){
        let zTree = $.fn.zTree.getZTreeObj("LinkDispatchTree");
        zTree.checkNode(treeNode, !treeNode.checked, null, true);
        return false;
    },
    //勾选树节点方法
    linkzTreeonCheck(event, treeId, treeNode){
        // alert(treeNode.id+","+treeNode.name+","+treeNode.checked)
		let zTree = $.fn.zTree.getZTreeObj("LinkDispatchTree"),
		nodes = zTree.getCheckedNodes(true),
        v = "";
        console.log(nodes)
        if (v.length > 0 ) v = v.substring(0, v.length-1);
        for (let i=0, l=nodes.length; i<l; i++) {
			v += nodes[i].name + ",";
		}
        this.linkDispatchName = v;
    }
},
}

直接贴代码,没时间写太多东西了,记录一下

猜你喜欢

转载自blog.csdn.net/qq_19808621/article/details/89921299
今日推荐