From 61f9745da5195ee188ea0a529e5f2113e6e930cd Mon Sep 17 00:00:00 2001 From: odc.xiaohui <xiaohui@Q1> Date: 星期四, 15 十二月 2022 10:09:23 +0800 Subject: [PATCH] 2022-12-14 肖辉 违规检索--- 导出 --- src/views/operate/fivepack/threepack/components/aside/index.vue | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/views/operate/fivepack/threepack/components/aside/index.vue b/src/views/operate/fivepack/threepack/components/aside/index.vue index f5ab6f7..57ee434 100644 --- a/src/views/operate/fivepack/threepack/components/aside/index.vue +++ b/src/views/operate/fivepack/threepack/components/aside/index.vue @@ -2,34 +2,57 @@ <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() { + 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: { - 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) { + if (node.level > 1) { + this.$emit('selectedDepartment', data); + } } + } }; </script> <style lang="scss" scoped> -- Gitblit v1.8.0