ZZJ
2021-12-20 832896ccaf8ac6a8ca31394e55577f064bc5eacf
src/components/giantTree/zTree/ztree.vue
@@ -41,11 +41,11 @@
          showLine: true,
          showIcon: true, // default to hide icon
          addHoverDom: this.addHoverDom,
          removeHoverDom: this.removeHoverDom
          removeHoverDom: this.removeHoverDom,
        },
        check: {
          chkboxType: { "Y": "", "N": "" },
          enable: this.showCheckbox
          chkboxType: { Y: "", N: "" },
          enable: this.showCheckbox,
        },
        callback: {
          onAsyncError: (...arg) => {
@@ -84,7 +84,6 @@
          },
          onMouseUp: (...arg) => {
            this.$emit("onMouseUp", ...arg);
          },
          onRemove: (...arg) => {
            this.$emit("onRemove", ...arg);
@@ -138,7 +137,7 @@
        });
      },
      immediate: true,
    }
    },
  },
  methods: {
    addHoverDom(treeid, treeNode) {
@@ -146,102 +145,136 @@
      const item = document.getElementById(`${treeNode.tId}_a`);
      // 文件夹新增按钮
      if (item && !item.querySelector('.el-icon-circle-plus-outline') && treeNode.isParent && !this.readonly && !this.gb28181) {
        const btn = document.createElement('i');
      if (
        item &&
        !item.querySelector(".el-icon-circle-plus-outline") &&
        treeNode.isParent &&
        !this.readonly &&
        !this.gb28181
      ) {
        const btn = document.createElement("i");
        btn.id = `${treeid}_${treeNode.id}_btn`;
        btn.classList.add('el-icon-circle-plus-outline');
        btn.classList.add('primary');
        btn.classList.add("el-icon-circle-plus-outline");
        btn.classList.add("primary");
        // btn.innerText = '删除';
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
        btn.addEventListener("click", (e) => {
          e.stopPropagation();
          // this.clickRemove(treeNode)
          _vue.$emit("onAddNode", treeNode);
        })
        });
        item.appendChild(btn);
      }
      // 文件夹删除按钮
      if (item && !item.querySelector('.el-icon-remove-outline') && treeNode.isParent && !this.readonly && !treeNode.children && !this.gb28181) {
        const btn = document.createElement('i');
      if (
        item &&
        !item.querySelector(".el-icon-remove-outline") &&
        treeNode.isParent &&
        !this.readonly &&
        !treeNode.children &&
        !this.gb28181
      ) {
        const btn = document.createElement("i");
        btn.id = `${treeid}_${treeNode.id}_btn`;
        btn.classList.add('el-icon-remove-outline');
        btn.classList.add('danger');
        btn.classList.add("el-icon-remove-outline");
        btn.classList.add("danger");
        // btn.innerText = '删除';
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
        btn.addEventListener("click", (e) => {
          e.stopPropagation();
          // this.clickRemove(treeNode)
          _vue.$emit("onRemoveNode", treeNode);
        })
        });
        item.appendChild(btn);
      }
      // 文件夹编辑按钮
      if (item && !item.querySelector('.el-icon-edit') && treeNode.isParent && !this.readonly) {
        const btn = document.createElement('i');
      if (
        item &&
        !item.querySelector(".el-icon-edit") &&
        treeNode.isParent &&
        !this.readonly
      ) {
        const btn = document.createElement("i");
        btn.id = `${treeid}_${treeNode.id}_btn`;
        btn.classList.add('el-icon-edit');
        btn.classList.add('primary');
        btn.classList.add("el-icon-edit");
        btn.classList.add("primary");
        // btn.innerText = '删除';
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
        btn.addEventListener("click", (e) => {
          e.stopPropagation();
          // this.clickRemove(treeNode)
          _vue.$emit("onRenameNode", treeNode);
        })
        });
        item.appendChild(btn);
      }
      // 添加摄像机按钮
      if (item && !item.querySelector('.iconshishishipin') && treeNode.isParent && !this.readonly && !this.gb28181) {
        const btn = document.createElement('i');
      if (
        item &&
        !item.querySelector(".iconshishishipin") &&
        treeNode.isParent &&
        !this.readonly &&
        !this.gb28181
      ) {
        const btn = document.createElement("i");
        btn.id = `${treeid}_${treeNode.id}_btn`;
        btn.classList.add('iconfont');
        btn.classList.add('iconshishishipin');
        btn.classList.add('primary');
        btn.classList.add('icon-fix');
        btn.classList.add("iconfont");
        btn.classList.add("iconshishishipin");
        btn.classList.add("primary");
        btn.classList.add("icon-fix");
        // btn.innerText = '删除';
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
        btn.addEventListener("click", (e) => {
          e.stopPropagation();
          // this.clickRemove(treeNode)
          _vue.$emit("onAddDevice", treeNode.id);
        })
        });
        item.appendChild(btn);
      }
      // 导入摄像机按钮
      if (item && !item.querySelector('.icondaoru') && treeNode.isParent && !this.readonly && !this.gb28181) {
        const btn = document.createElement('i');
      if (
        item &&
        !item.querySelector(".icondaoru") &&
        treeNode.isParent &&
        !this.readonly &&
        !this.gb28181
      ) {
        const btn = document.createElement("i");
        btn.id = `${treeid}_${treeNode.id}_btn`;
        btn.classList.add('iconfont');
        btn.classList.add('icondaoru');
        btn.classList.add('primary');
        btn.classList.add('icon-fix');
        btn.classList.add("iconfont");
        btn.classList.add("icondaoru");
        btn.classList.add("primary");
        btn.classList.add("icon-fix");
        // btn.innerText = '删除';
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
        btn.addEventListener("click", (e) => {
          e.stopPropagation();
          // this.clickRemove(treeNode)
          _vue.$emit("onImport", treeNode.id);
        })
        });
        item.appendChild(btn);
      }
      // 查看底图按钮
      if (item && !item.querySelector('.icontupian1') && treeNode.type == "camera") {
        const btn = document.createElement('i');
      if (
        item &&
        !item.querySelector(".icontupian1") &&
        treeNode.type == "camera"
      ) {
        const btn = document.createElement("i");
        btn.id = `${treeid}_${treeNode.id}_btn`;
        btn.classList.add('iconfont');
        btn.classList.add('icontupian1');
        btn.classList.add('primary');
        btn.classList.add('icon-fix');
        btn.classList.add("iconfont");
        btn.classList.add("icontupian1");
        btn.classList.add("primary");
        btn.classList.add("icon-fix");
        // btn.innerText = '删除';
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
        btn.addEventListener("click", (e) => {
          e.stopPropagation();
          // this.clickRemove(treeNode)
          _vue.$emit("onShowPic", treeNode);
        })
        });
        item.appendChild(btn);
      }
@@ -252,38 +285,38 @@
    removeHoverDom(treeid, treeNode) {
      const item = document.getElementById(`${treeNode.tId}_a`);
      if (item) {
        let btn = item.querySelector('.el-icon-circle-plus-outline');
        let btn = item.querySelector(".el-icon-circle-plus-outline");
        if (btn) {
          item.removeChild(item.querySelector('.el-icon-circle-plus-outline'))
          item.removeChild(item.querySelector(".el-icon-circle-plus-outline"));
        }
        btn = item.querySelector('.el-icon-remove-outline');
        btn = item.querySelector(".el-icon-remove-outline");
        if (btn) {
          item.removeChild(item.querySelector('.el-icon-remove-outline'))
          item.removeChild(item.querySelector(".el-icon-remove-outline"));
        }
        btn = item.querySelector('.el-icon-edit');
        btn = item.querySelector(".el-icon-edit");
        if (btn) {
          item.removeChild(item.querySelector('.el-icon-edit'))
          item.removeChild(item.querySelector(".el-icon-edit"));
        }
        btn = item.querySelector('.iconshishishipin');
        btn = item.querySelector(".iconshishishipin");
        if (btn) {
          item.removeChild(item.querySelector('.iconshishishipin'))
          item.removeChild(item.querySelector(".iconshishishipin"));
        }
        btn = item.querySelector('.icondaoru');
        btn = item.querySelector(".icondaoru");
        if (btn) {
          item.removeChild(item.querySelector('.icondaoru'))
          item.removeChild(item.querySelector(".icondaoru"));
        }
        btn = item.querySelector('.icontupian1');
        btn = item.querySelector(".icontupian1");
        if (btn) {
          item.removeChild(item.querySelector('.icontupian1'))
          item.removeChild(item.querySelector(".icontupian1"));
        }
      }
    },
  }
  },
};
</script>