From f3ab28fd376caec5b142145d9b779d846f9fbc10 Mon Sep 17 00:00:00 2001 From: 陈泽平 <chenzeping> Date: 星期一, 31 五月 2021 10:23:28 +0800 Subject: [PATCH] 企业应急-事件上报布局问题修改 --- src/components/panel/RightSearchPanel.vue | 154 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 102 insertions(+), 52 deletions(-) diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue index a53ae08..2283ad0 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,34 +51,32 @@ <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' +import WasteGasSearch from '@components/panel/topicSearch/WasteGasSearch' +import WasteWaterSearch from '@components/panel/topicSearch/WasteWaterSearch' import SolidWasteSearch from '@components/panel/topicSearch/SolidWasteSearch' import SewersSearch from '@components/panel/topicSearch/SewersSearch' 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', components: { - GasWasteSearch, - WaterWasteSearch, + WasteGasSearch, + WasteWaterSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch, - ReportSearch + EnterpriseEmergencySearch }, data () { return { isShow: true, topicMenu: [], - topicList: TopicList, + list: topicList, topicCheckedList: [], isPanelVisible: false, gcComp: SewersSearch, @@ -86,13 +84,16 @@ hbVisible: false, pkVisible: false, toggleMonitorStyle: 'right:0px', - title: '姹¢洦姘寸缃�', isCollapse: true, selectGroup: false } }, - computed: {}, + computed: { + serviceLayers () { + return this.$store.state.map.serviceLayers.LayerSewersLine + } + }, /* watch: { '$store.state.map.topic.topicCheckedList': function (newVal, oldVal) { console.log(oldVal) @@ -107,35 +108,55 @@ }) }) } - }, + }, */ 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 break case '搴熸按': - this.gcComp = WaterWasteSearch + this.gcComp = WasteWaterSearch break case '搴熸皵': - this.gcComp = GasWasteSearch + this.gcComp = WasteGasSearch break case '鍥哄簾': this.gcComp = SolidWasteSearch @@ -156,14 +177,11 @@ this.gcComp = PipeInformationSearch break case '浼佷笟搴旀��': - this.gcComp = ReportSearch + this.gcComp = EnterpriseEmergencySearch break } }, handlePage (page) { - }, - handleGd () { - this.title = '绠¢亾淇℃伅鏌ヨ' }, toggleMonitorPanel () { this.isCollapse = !this.isCollapse @@ -205,32 +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) { - 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> @@ -323,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; @@ -688,12 +734,16 @@ } .footer-page { - position: absolute; + // position: absolute; background-color: transparent !important; - bottom: 10px !important; - margin-left: 0px; + // bottom: 10px !important; + // margin-left: 0px; border: none; - + margin: 0; + border-top: 1px solid rgba(0, 255, 246, 0.14); + .el-card__body{ + padding: 5px; + } .warnPagination { .btn-quicknext, .btn-quickprev { color: #e4e8f1 !important; -- Gitblit v1.8.0