From 0039429882f8434000a0f61d6995324f1589633a Mon Sep 17 00:00:00 2001
From: seatonwan9 <seatonwan9@163.com>
Date: 星期日, 30 五月 2021 13:36:06 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
src/components/panel/RightSearchPanel.vue | 137 +++++++++++++++++++++++++++++----------------
1 files changed, 89 insertions(+), 48 deletions(-)
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index dfc0e27..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'
@@ -60,9 +60,7 @@
import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue'
import PipeChangesSearch from '@components/panel/topicSearch/pipeChangesSearch.vue'
import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue'
-import ReportSearch from './topicSearch/ReportSearch'
-
-import bus from '@/eventBus'
+import EnterpriseEmergencySearch from './topicSearch/EnterpriseEmergencySearch'
export default {
name: 'MonitorPanel',
@@ -72,13 +70,13 @@
SolidWasteSearch,
EnvRiskSearch,
DischargeSearch,
- ReportSearch
+ EnterpriseEmergencySearch
},
data () {
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
@@ -154,15 +176,12 @@
case '绠¢亾淇℃伅':
this.gcComp = PipeInformationSearch
break
- case '搴旀�ュ浘灞�':
- this.gcComp = ReportSearch
+ case '浼佷笟搴旀��':
+ this.gcComp = EnterpriseEmergencySearch
break
}
},
handlePage (page) {
- },
- handleGd () {
- this.title = '绠¢亾淇℃伅鏌ヨ'
},
toggleMonitorPanel () {
this.isCollapse = !this.isCollapse
@@ -204,38 +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) {
- // console.log(obj.checked, obj.name)
- that.gcComp = ''
- that.topicList.forEach((item) => {
- if (item.name === obj.name) {
- // console.log(obj)
- if (obj.type > 0) {
- item.isShow = true
- } else {
- item.isShow = false
- }
- // item.isShow = obj.checked
- if (item.isShow) {
- that.selected(item)
- } else {
- that.defaultLastOne()
- }
- }
- })
- })
+ /* 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>
@@ -328,8 +369,8 @@
background: @background-color4;
color: @color-tool;
position: absolute;
- top: 24px;
- right: 0.02rem;
+ top: 20px;
+ left: 0.02rem;
border: none; //1px solid @color-tool;
width: 0.2rem;
height: 0.2rem;
--
Gitblit v1.8.0