luobisheng
2022-11-29 4641a877cd6a94e4d35dca7f7f14bc1443e2d2ad
src/views/operate/fivepack/threepack/components/aside/index.vue
@@ -2,34 +2,50 @@
    <div class="aside">
        <div class="title">组织机构</div>
        <div class="input">
            <el-input placeholder="输入组织机构名称" v-model="searchArea"></el-input>
            <el-input placeholder="输入组织机构名称, 按下enter键搜索" v-model="searchArea" @change="filterTreeNode"></el-input>
        </div>
        <div class="menu">
            <el-tree :data="areaData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
            <el-tree ref="department" :filter-node-method="filterNode" :data="areaData" :props="defaultProps" @node-click="nodeClick"></el-tree>
        </div>
    </div>
</template>
<script>
import department from "@/api/system/department";
export default {
  name: 'departmentAside',
    data() {
        return {
          searchArea: null,
          areaData: [],
          defaultProps: {
              children: 'children',
              label: 'label'
              label: 'regionName'
          }
        };
    },
    created() {
      department.getDepartmentList()
          .then(res => {
            this.areaData = res;
          })
          .catch(err => this.$message.error(err))
    },
  methods: {
        handleNodeClick(data) {
        }
    filterTreeNode() {
      this.$refs.department.filter(this.searchArea);
    },
    filterNode(value, data) {
      if (!value) return true;
      return data.regionName.indexOf(value) !== -1;
    },
    nodeClick(data, node, props) {
      this.$emit('selectedDepartment', data);
    }
  }
};
</script>
<style lang="scss" scoped>