jiangping
2024-02-28 78ce920fa8a3f06cf40ee936b7b33c457206ecb6
admin/src/components/common/Tree.vue
@@ -18,13 +18,13 @@
    <div class="tree">
        <div v-for="(item, index) in list" :key="index" @click.stop="clickIten(item)">
            <div class="tree_item">
                <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.status }" v-show="item.status === 1 && item.companyDTOList.length > 0"></i>
                <i class="el-icon-caret-right color" v-show="item.companyDTOList.length > 0 && item.status === 0"></i>
                <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor': item.status === 1 && item.companyDTOList.length === 0 }">{{ item.name }}</div>
                <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.status }" v-show="item.status === 1 && item.childList.length > 0"></i>
                <i class="el-icon-caret-right color" v-show="item.childList.length > 0 && item.status === 0"></i>
                <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor': item.status === 1 && item.childList.length === 0 }">{{ item.name }}</div>
            </div>
            <div class="tree_childern" v-show="item.status === 1">
                <tree
                    :list="item.companyDTOList"
                    :list="item.childList"
                    :defaultProps="defaultProps"
                    @callback="callback"
                />
@@ -51,7 +51,7 @@
          name: 'name',
          status: 'status',
          children: 'children',
          id: 'id'
          id: 'erpId'
        }
      }
    }
@@ -87,7 +87,6 @@
      //   this.tempItem.id = item[this.defaultProps.id]
      //   this.tempItem.name = item[this.defaultProps.name]
      // }
      this.$emit('callback', item)
    },
    // 递归方法
@@ -100,19 +99,21 @@
      // })
      children.forEach(item => {
        item.status = 0
        if (item.companyDTOList.length > 0) {
          this.recursion(item.companyDTOList)
        if (item.childList.length > 0) {
          this.recursion(item.childList)
        }
      })
    },
    callback (data, item) {
      console.log('data', data)
      console.log('item', item)
      if (this.tempItem.id === data.id) {
        this.tempItem = {}
      } else {
        this.tempItem.id = data.id
        this.tempItem.id = data.erpId
        this.tempItem.name = data.name
      }
      this.$emit('callback', this.tempItem, item)
      this.$emit('callback', data, item)
    }
  }
}