From 02ce22be65df8b717d5f1614e5d7dbfcdf1ce1b9 Mon Sep 17 00:00:00 2001 From: Oliver <1070107765@qq.com> Date: 星期三, 14 十二月 2022 09:29:51 +0800 Subject: [PATCH] 预警研判 操作 --- src/views/operate/fivepack/threepack/components/aside/index.vue | 84 +++++++++++++++++++---------------------- 1 files changed, 39 insertions(+), 45 deletions(-) diff --git a/src/views/operate/fivepack/threepack/components/aside/index.vue b/src/views/operate/fivepack/threepack/components/aside/index.vue index a408d45..57ee434 100644 --- a/src/views/operate/fivepack/threepack/components/aside/index.vue +++ b/src/views/operate/fivepack/threepack/components/aside/index.vue @@ -2,63 +2,57 @@ <div class="aside"> <div class="title">缁勭粐鏈烘瀯</div> <div class="input"> - <el-input placeholder="杈撳叆缁勭粐鏈烘瀯鍚嶇О"></el-input> + <el-input placeholder="杈撳叆缁勭粐鏈烘瀯鍚嶇О, 鎸変笅enter閿悳绱�" v-model="searchArea" @change="filterTreeNode"></el-input> </div> <div class="menu"> - <el-tree :data="data" :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 { - data: [{ - label: '涓�绾� 1', - children: [{ - label: '浜岀骇 1-1', - children: [{ - label: '涓夌骇 1-1-1' - }] - }] - }, { - label: '涓�绾� 2', - children: [{ - label: '浜岀骇 2-1', - children: [{ - label: '涓夌骇 2-1-1' - }] - }, { - label: '浜岀骇 2-2', - children: [{ - label: '涓夌骇 2-2-1' - }] - }] - }, { - label: '涓�绾� 3', - children: [{ - label: '浜岀骇 3-1', - children: [{ - label: '涓夌骇 3-1-1' - }] - }, { - label: '浜岀骇 3-2', - children: [{ - label: '涓夌骇 3-2-1' - }] - }] - }], - defaultProps: { - children: 'children', - label: 'label' - } + searchArea: null, + areaData: [], + defaultProps: { + children: 'children', + label: 'regionName' + } }; }, - methods: { - handleNodeClick(data) { - console.log(data); - } + + 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: { + 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