wangting
2024-05-06 506b5b59e3899d8dd40a61cc8b9a575bbde3caaa
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -106,6 +106,18 @@
        }
      }
    },
    data:{
      handler(newval) {
        if(newval) {
          this.$emit("setData", {
            area: this.areasName,
            type:this.componentVO.uiComponentType,
            btmType:this.componentVO.treeDefineVO.btmType,
            data:newval
          });
        }
      }
    },
    sourceData:{
      handler(newval) {
        //源数据有变化时变更当前区域数据
@@ -227,24 +239,40 @@
      }
      getTree(parentOid, parentBtmName, params).then(res => {
        resolve(res.data.treeData)
        this.$nextTick(()=>{
          if (this.isRefresh) {
            this.$refs.tree.setCurrentKey(this.currentClickNode.data.oid);
            this.isRefresh=false;
          }
        })
      }).catch(error => {
        this.$message.error(error);
      })
    },
    checkNode(checkedNode, checkedData) {
      if (this.isMuti) {
        this.checkDatas = checkedData.checkedNodes;
        let checkDatas = [];
        checkedData.checkedNodes.forEach(item=>{
          checkDatas.push(item.attributes)
        })
        this.checkDatas=checkDatas;
      }
    },
    changeNode(data, node) {
      if (!this.isMuti) {
        this.checkDatas = [data];
        this.checkDatas = [data.attributes];
      }
    },
    clickNode(data, node) {
      this.currentClickNode = node;
    },
    handleRefresh() {
    handleRefresh(type,data) {
      //type:add\edit\delete
      if(type=="delete"){
        this.$refs.tree.remove(this.currentClickNode);
        this.currentClickNode=null;
      }else{
      if (!this.lazy) {
        this.initData();
      } else {
@@ -252,6 +280,8 @@
          let node = this.currentClickNode.parent;
          node.loaded = false;
          node.expand();
            this.isRefresh=true;
          }
        }
      }
      this.checkDatas = [];