From ca2a7113f660f523518c4be431534e7eebaa297e Mon Sep 17 00:00:00 2001 From: XingChuan <m17600301067@163.com> Date: 星期日, 30 五月 2021 12:37:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/panel/RightSearchPanel.vue | 124 +++++++++++++++++++++++++++------------- 1 files changed, 83 insertions(+), 41 deletions(-) diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue index 6df7286..e0b822c 100644 --- a/src/components/panel/RightSearchPanel.vue +++ b/src/components/panel/RightSearchPanel.vue @@ -12,7 +12,7 @@ </div> </li> </ul> --> - <ul v-for="item in topicList" :key="item.name" + <ul v-for="item in list" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" v-show="item.isShow"> <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left"> @@ -51,7 +51,7 @@ <script> import EnvRiskSearch from './topicSearch/EnvRiskSearch' import DischargeSearch from './topicSearch/DischargeSearch' -import { TopicList } from '../../conf/Topic' +import { topicList } from '../../conf/Topic' import GasWasteSearch from '@components/panel/topicSearch/GasWasteSearch' import WaterWasteSearch from '@components/panel/topicSearch/WaterWasteSearch' @@ -61,8 +61,6 @@ import PipeChangesSearch from '@components/panel/topicSearch/pipeChangesSearch.vue' import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue' import EnterpriseEmergencySearch from './topicSearch/EnterpriseEmergencySearch' - -import bus from '@/eventBus' export default { name: 'MonitorPanel', @@ -78,7 +76,7 @@ return { isShow: true, topicMenu: [], - topicList: TopicList, + list: topicList, topicCheckedList: [], isPanelVisible: false, gcComp: SewersSearch, @@ -91,7 +89,11 @@ selectGroup: false } }, - computed: {}, + computed: { + serviceLayers () { + return this.$store.state.map.serviceLayers.LayerSewersLine + } + }, /* watch: { '$store.state.map.topic.topicCheckedList': function (newVal, oldVal) { console.log(oldVal) @@ -106,26 +108,46 @@ }) }) } - }, + }, */ methods: { handleClose (done) { console.log(done) }, setSearchPanelChange () { + // 鎼滅储闈㈡澘娌℃湁鏄剧ず鏃讹紝灏嗘墍鏈変富棰橀�夋嫨鐘舵�佽缃负false this.selectGroup = !this.selectGroup if (!this.selectGroup) { - this.topicList.forEach((itm) => { + this.list.forEach((itm) => { itm.checked = false }) } }, + unselected (val) { + // console.log(val) + this.selectGroup = true + this.list.forEach((itm) => { + if (itm.name === val.name) { + console.log(val.name) + itm.checked = false + itm.isShow = false + } + }) + }, selected (val) { // console.log(val) - this.title = val.name this.selectGroup = true - this.topicList.forEach((itm) => { - itm.checked = val.name === itm.name + this.list.forEach((itm) => { + if (itm.name === val.name) { + itm.isShow = true + itm.checked = true + } else { + itm.checked = false + } }) + this.setComp(val) + }, + setComp (val) { + this.title = val.name switch (val.name) { case '姹℃煋婧�': this.gcComp = DischargeSearch @@ -160,9 +182,6 @@ } }, handlePage (page) { - }, - handleGd () { - this.title = '绠¢亾淇℃伅鏌ヨ' }, toggleMonitorPanel () { this.isCollapse = !this.isCollapse @@ -204,37 +223,60 @@ // }) // } }, - defaultLastOne () { - let v = {} - this.topicList.forEach((item) => { - if (item.isShow) { - v = item + containsLayer (layer) { + if (layer) { + for (let i = 0; i < layer.length; i++) { + const lay = layer[i] + const checked = lay.checked + + for (let j = 0; j < this.list.length; j++) { + const topic = this.list[j] + if (lay.name === topic.name) { + if (lay.layers) { + const isChecked = this.isChecked(lay.layers) + if (isChecked) { + this.selected(topic) + } else { + this.unselected(topic) + } + } else if (checked) { + this.selected(topic) + } + break + } + } + this.containsLayer(lay.layers) } - }) - this.selected(v) + } + }, + isChecked (layers) { + for (let i = 0; i < layers.length; i++) { + const layer = layers[i] + const checked = layer.checked + if (checked) { + return true + } + if (layer.layers) { + return this.isChecked(layer.layers) + } + } + return false } }, mounted () { - const that = this - bus.$on('changeSearchBar', function (obj) { - that.gcComp = '' - that.topicList.forEach((item) => { - if (item.name === obj.name) { - if (obj.type > 0) { - item.isShow = true - } else { - item.isShow = false - } - // item.isShow = obj.checked - if (item.isShow) { - that.selected(item) - } else { - that.defaultLastOne() - } - } - }) - }) - // console.log(that.topicList) + /* bus.$on('changeSearchBar', (obj) => { + const topic = this.search(this.serviceLayers, obj) + console.log('====' + JSON.stringify(topic)) + }) */ + }, + watch: { + serviceLayers: { + handler: function (newVal, oldVal) { + this.containsLayer(newVal) + }, + immediate: true, + deep: true + } } } </script> -- Gitblit v1.8.0