zhangzengfei
2021-02-04 0175cda6150656bc74b34c6f6c71edd1e1fc653c
treee, 修复tab切换时树的选中状态.添加区域
3个文件已修改
26 ■■■■ 已修改文件
src/Pool/TreeData.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/giantTree/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/giantTree/zTree/ztree.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Pool/TreeData.ts
@@ -112,7 +112,6 @@
      return
    }
    let _selected = this.selectedNodes
    console.log(this.selectedNodes)
    function nodeFilter(node: any) {
      if (node.type === '4' && node.selected) {
        _selected.push(node.id)
@@ -362,7 +361,6 @@
      cameraName: this.searchInput
    })
    if (rsp && rsp.success) {
      console.log(rsp.data)
      this.clusterData = rsp.data ? rsp.data : []
      if (this.clusterData && this.clusterData.length > 0) {
        this.sortTreeData(this.clusterData)
src/components/giantTree/index.vue
@@ -5,9 +5,11 @@
      :show-checkbox="TreeDataPool.multiple"
      :readonly="TreeDataPool.readonly"
      :gb28181="gb28181"
      @onCreated="handleCreated"
      @onClick="itemClick"
      @onCheck="itemCheck"
      @onDblClick="onDblClick"
      @onAddNode="addNode"
      @onRemoveNode="delNode"
      @onRenameNode="editNode"
      @onAddDevice="addCamera"
@@ -101,8 +103,25 @@
  methods: {
    handleCreated: function (ztreeObj) {
      this.ztreeObj = ztreeObj;
      // console.log("handleCreated")
      // onCreated 中操作ztreeObj对象展开第一个节点
      // ztreeObj.expandNode(ztreeObj.getNodes()[0], true);
      // 摄像机配置切换时, 设置选中状态
      if (this.TreeDataPool.selectedNode.id) {
        // 取消所有多选的节点,仅保留当前单选的节点
        this.TreeDataPool.selectedNodes = [this.TreeDataPool.selectedNode.id]
        let node = this.ztreeObj.getNodeByTId(this.TreeDataPool.selectedNode.tId)
        // 多选时, 选中单选单击的节点
        if (this.TreeDataPool.multiple) {
          this.ztreeObj.checkAllNodes(false);
          this.ztreeObj.checkNode(node, true, false, false);
        }
        this.ztreeObj.selectNode(node, false, true)
      }
    },
    onDblClick(evt, treeId, item) {
      if (item.type !== "4" || this.app !== "Camera") {
@@ -169,7 +188,7 @@
    importCameras(node) {
      this.$emit("import", node);
    },
    addNode(event, node) {
    addNode(node) {
      this.dialogForm = {
        text: "",
        method: "add",
src/components/giantTree/zTree/ztree.vue
@@ -121,6 +121,7 @@
        this.ztreeSetting.check.enable = this.showCheckbox;
        if (this.ztreeObj) {
          this.list = this.ztreeObj.getNodes();
          this.ztreeObj.destroy();
        }
        this.$nextTick(() => {
@@ -150,7 +151,7 @@
        btn.addEventListener('click', (e) => {
          e.stopPropagation()
          // this.clickRemove(treeNode)
          _vue.$emit("addNode", treeNode);
          _vue.$emit("onAddNode", treeNode);
        })
        item.appendChild(btn);