| | |
| | | <el-input placeholder="输入组织机构名称, 按下enter键搜索" v-model="searchArea" @change="filterTreeNode"></el-input> |
| | | </div> |
| | | <div class="menu"> |
| | | <el-tree ref="department" :filter-node-method="filterNode" :data="areaData" :props="defaultProps"></el-tree> |
| | | <el-tree ref="department" :filter-node-method="filterNode" :data="areaData" :props="defaultProps" @node-click="nodeClick"></el-tree> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | |
| | | created() { |
| | | department.getDepartmentList() |
| | | .then(res => { |
| | | this.areaData = res; |
| | | }) |
| | | .catch(err => this.$message.error(err)) |
| | | if (sessionStorage.getItem('area')) { |
| | | this.areaData = JSON.parse(sessionStorage.getItem('area')); |
| | | } else { |
| | | department.getDepartmentList() |
| | | .then(res => { |
| | | this.areaData = res; |
| | | sessionStorage.setItem('area', JSON.stringify(this.areaData)); |
| | | }) |
| | | .catch(err => this.$message.error(err)) |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.regionName.indexOf(value) !== -1; |
| | | }, |
| | | nodeClick(data, node, props) { |
| | | if (node.level > 1) { |
| | | this.$emit('selectedDepartment', data); |
| | | } |
| | | } |
| | | } |
| | | }; |