From 8a72453608f671d91a481315e4ad32b7b7b4a8ef Mon Sep 17 00:00:00 2001 From: TreeWish <1131093754@qq.com> Date: 星期四, 16 二月 2023 15:20:44 +0800 Subject: [PATCH] 工程树搜索 --- src/components/Screen/bottom.vue | 54 +++++++++++++++-- src/components/Screen/ProjectTree.vue | 67 ++++++++++++++++++++- 2 files changed, 108 insertions(+), 13 deletions(-) diff --git a/src/components/Screen/ProjectTree.vue b/src/components/Screen/ProjectTree.vue index d174aaa..c55483c 100644 --- a/src/components/Screen/ProjectTree.vue +++ b/src/components/Screen/ProjectTree.vue @@ -1,5 +1,14 @@ <template> <div class="project_tree" :class="{ left_main_show: !leftMenuOpen }"> + <div class="project_tree__title">宸ョ▼椤圭洰</div> + <el-input + style="width: 80%" + placeholder="杈撳叆鍏抽敭瀛楄繘琛屾煡璇�" + suffix-icon="el-icon-search" + v-model="filterText" + size="mini" + > + </el-input> <div class="tree-container"> <el-tree :data="treeData" @@ -10,6 +19,7 @@ ref="tree" class="el-tree" @check-change="handleCheckChange" + :filter-node-method="filterNode" > <div style="display: flex" @@ -46,14 +56,14 @@ </div> </el-tree> </div> - <div class="changeBaseLayer"> + <!-- <div class="changeBaseLayer"> <div @click="changeMenulayer" class="CenDiv"> <div id="cenBg" v-bind:class="{ active: isActive, menuLayer: isMenuLayer }" ></div> </div> - </div> + </div> --> </div> </template> @@ -82,6 +92,7 @@ isActive: false, isMenuLayer: true, openEcharts: false, + filterText: '', } }, @@ -91,6 +102,11 @@ this.changeSelectli = this.rightList[0].id this.changeSelectStyle = this.rightMenu[0].id this.addImageLayer() + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val) + }, }, methods: { async addImageLayer() { @@ -182,6 +198,10 @@ Viewer.imageryLayers._layers[3].show = true } }, + filterNode(value, data) { + if (!value) return true + return data.label.indexOf(value) !== -1 + }, }, } </script> @@ -192,12 +212,26 @@ width: 300px; height: 100%; transition: width 2s; - background: url("~@/assets/img/themic/宸︽.png") no-repeat center; + background: url("~@/assets/img/Screen/prjectree.png") no-repeat center; + background-size: 100% 100%; + &__title { + color: #fff; + height: 30px; + font-size: 20px; + width: 130px; + text-align: center; + padding-top: 10px; + font-weight: bold; + } + .el-input { + width: 80%; + padding: 5px 0 5px 30px; + } .tree-container { margin: 10px; - height: 90%; + height: 85%; overflow-y: auto; } .changeBaseLayer { @@ -209,7 +243,6 @@ .CenDiv { height: 40px; width: 60px; - margin-right: 7%; border-radius: 5px; bottom: 3%; @@ -235,6 +268,30 @@ border-radius: 5px; } } +/* 婊氬姩鏉℃牱寮� */ + +::-webkit-scrollbar { + width: 4px; + height: 4px; + background-color: #409eff; +} + +::-webkit-scrollbar-track { + background: #eee; +} + +::-webkit-scrollbar-thumb { + background: #409eff; + border-radius: 5px; +} + +::-webkit-scrollbar-thumb:hover { + background: #409eff; +} + +::-webkit-scrollbar-corner { + background: #409eff; +} </style> <style lang="scss"> diff --git a/src/components/Screen/bottom.vue b/src/components/Screen/bottom.vue index be02463..d237236 100644 --- a/src/components/Screen/bottom.vue +++ b/src/components/Screen/bottom.vue @@ -20,6 +20,7 @@ v-for="item in projectInfoList" :key="item.id" :class="currProject == item.name ? 'active' : ''" + @click="handlePopoverClick(item)" > {{ item.name }} </div> @@ -92,6 +93,9 @@ } this.YXState = !this.YXState }, + handlePopoverClick(params) { + this.currProject = params.name + }, }, } </script> @@ -140,7 +144,7 @@ .bottombtn { height: 36px; width: 147px; - background: url(../../assets/img/Screen/centerbtn.png); + background: url(~@/assets/img/Screen/centerbtn.png); background-size: 100% 100%; background-repeat: no-repeat; font-size: 1rem; @@ -167,25 +171,59 @@ } } .popover { - background-color: aqua; - + display: flex; + justify-content: center; + width: 163px; + height: 239px; + background: url(~@/assets/img/Screen/centerTooltip.png); + background-size: 100% 100%; + border: none; + .popper__arrow { + display: none; + } .popover-content { &__header { + display: flex; + justify-content: center; + align-items: center; + text-align: center; + width: 130px; + height: 30px; + font-size: 18px; + color: #fff; &::before, &::after { + margin: 0 5px; content: ""; display: inline-block; - background-color: aqua; + background-color: #466c99; border-radius: 50%; - width: 10px; - height: 10px; + width: 8px; + height: 8px; } } &__list { + display: flex; + flex-direction: column; + justify-content: space-evenly; + height: 190px; + &__item { - background-color: orange; + color: #fff; + width: 130px; + height: 30px; + line-height: 30px; + text-align: center; + // background-color: orange; + cursor: pointer; + background: url(~@/assets/img/Screen/btnbg.png); + background-size: 100% 100%; + &.active { - background-color: aqua; + // background-color: aqua; + background: url(~@/assets/img/Screen/btnc.png); + background-size: 100% 100%; + } } } -- Gitblit v1.9.3