From 59f41216be10124f7203ef4b08352f4aaa821491 Mon Sep 17 00:00:00 2001 From: chenyabin <Chenab123!> Date: 星期三, 07 四月 2021 11:41:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/assets/css/map/_map-variable.less | 5 + src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue | 4 src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue | 6 + src/components/panel/ToolBoxPanel.vue | 51 ++++-------- src/components/plugin/PathDashFlow.js | 1 src/components/LayerController/modules/LcServiceLayerFilter.vue | 81 +++++++++++++------- src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue | 55 +++++++++---- src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue | 2 src/components/BaseNav/PublicBounced/PublicBounced.vue | 2 public/assets/images/map/solidwaste/gf_green.png | 0 src/components/LayerController/logic/SolidWaste.js | 7 + 11 files changed, 126 insertions(+), 88 deletions(-) diff --git a/public/assets/images/map/solidwaste/gf_green.png b/public/assets/images/map/solidwaste/gf_green.png index 144c0ce..3238061 100644 --- a/public/assets/images/map/solidwaste/gf_green.png +++ b/public/assets/images/map/solidwaste/gf_green.png Binary files differ diff --git a/src/assets/css/map/_map-variable.less b/src/assets/css/map/_map-variable.less index 2dd695f..8ef5f52 100644 --- a/src/assets/css/map/_map-variable.less +++ b/src/assets/css/map/_map-variable.less @@ -10,3 +10,8 @@ @background-color-split: rgba(0, 255, 246, .14);//鍒嗗壊绾� @background-color-tools: #1A4951;//宸ュ叿绠� @border-radius: .03rem;//鍊掕 + +@size-0:.08333rem; +@size-1: .125rem; +@size-2: .125rem; +@size-3: .24479rem; diff --git a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue index c3338d4..5ab9de8 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue @@ -11,10 +11,12 @@ <el-button size="mini" round @click="dialogVisible = true">鏄庣粏琛�</el-button> <el-dialog :visible.sync="dialogVisible" :append-to-body="true" - width="66%" + :title="this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName" + width="68%" center + v-dialogDrag > - <div class="el-dialog-div" style="height: 600px"> + <div class="el-dialog-div" style="height: 500px"> <public-detailed-list v-bind="$attrs"></public-detailed-list> </div> </el-dialog> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue index efdfd77..4510bc3 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue @@ -1,6 +1,6 @@ <template> <div class="PublicDetailedList"> - <el-table :data="tableData" max-height="600px"> + <el-table :data="tableData" max-height="500px"> <el-table-column prop="OnLineMonEmissPointName" label="鎺掓斁鐐�"></el-table-column> <el-table-column prop="MonTimeStr" label="鐩戞祴鏃堕棿"></el-table-column> <el-table-column label="姘哀鍖栫墿"> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue index 4e750c7..a1e01bd 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue @@ -7,20 +7,11 @@ <div class="border_corner border_corner_right_bottom"></div> <div class="main"> <div class="main-table"> - <el-table - stripe='stripe' - :height="300" - tooltip-effect="dark" - :data="displayContentTableData" - :row-class-name="tableRowClassName" - > - <el-table-column prop="StoragePlaceId" label="搴忓彿"></el-table-column> - <el-table-column prop="StoragePlaceTypeName" label="绫诲埆"></el-table-column> - <el-table-column prop="StoragePlaceName" label="鍥哄簾鍚嶇О"></el-table-column> - <el-table-column prop="StorageZDMJ" label="浠g爜"></el-table-column> - <el-table-column prop="StorageZCNL" label="浜х敓閲�(t)"></el-table-column> - <el-table-column prop="StorageZCL" label="鍌ㄥ瓨閲�(t)"></el-table-column> - <el-table-column prop="StorageType" label="浜х敓瑁呯疆"></el-table-column> + <el-table :data="listData" style="width: 100%" stripe='stripe' + :height="300" + tooltip-effect="dark" :row-class-name="tableRowClassName"> + <el-table-column v-for="(item, index) in listLabel" :key="index" :prop="item.prop" + :label="item.label"></el-table-column> </el-table> </div> </div> @@ -33,13 +24,43 @@ props: ['displayContentTable'], data () { return { - displayContentTableData: [] + listData: [], + listLabel: [ + { + label: '搴忓彿', + prop: 'StoragePlaceId' + }, + { + label: '绫诲埆', + prop: 'StoragePlaceTypeName' + }, + { + label: '鍥哄簾鍚嶇О', + prop: 'StoragePlaceName' + }, + { + label: '浠g爜', + prop: 'StorageZDMJ' + }, + { + label: '浜х敓閲�(t)', + prop: 'StorageZCL' + }, + { + label: '璐瓨閲�(t)', + prop: 'StorageZCNL' + }, + { + label: '浜х敓瑁呯疆', + prop: 'StorageType' + } + ] } }, mounted () { this.$nextTick(() => { this.displayContentTable.forEach(item => { - this.displayContentTableData = item + this.listData = item }) }) }, @@ -64,7 +85,7 @@ .win { position: relative; background-color: rgba(33, 41, 69, 0.9); - min-height: 300px; + min-height: 354px; } .main { diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue index 9c29b81..ab9246b 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue @@ -31,10 +31,10 @@ border: 1px solid #396d83; padding: 6px; //.main-video { - height: 378px; + height: 432px; video { width: 100%; - height: 378px; + height: 432px; outline: none; } //} diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue index d908a07..7726783 100644 --- a/src/components/BaseNav/PublicBounced/PublicBounced.vue +++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue @@ -11,7 +11,7 @@ <div class="public-bounced-content-left-bottom"> <public-table v-if="value === 'gufei'" :displayContentTable="displayContentTable"></public-table> - <public-chart v-else></public-chart> + <public-chart v-else :getWasteGasDetails="getWasteGasDetails"></public-chart> </div> </div> <div class="public-bounced-content-right"> diff --git a/src/components/LayerController/logic/SolidWaste.js b/src/components/LayerController/logic/SolidWaste.js index 9344ecf..ffbedfa 100644 --- a/src/components/LayerController/logic/SolidWaste.js +++ b/src/components/LayerController/logic/SolidWaste.js @@ -71,18 +71,21 @@ // 鏍规嵁鐐瑰嚮涓嶅悓鏁版嵁 杩涜鎺ュ彛鐨勬暟鎹姹� this.requestSolidWasteData = async (e) => { - // 鍩烘湰淇℃伅灞曠ず + // 鍩烘湰淇℃伅 鍜� 璇︾粏淇℃伅 灞曠ず鏁版嵁鎵�闇�鍙傛暟 const dataValue = { StoragePlaceId: e.layer.options.totransferData.StoragePlaceId } + // 鍩烘湰淇℃伅 tabs const resultBasic = await mapApi.getSolidWasteBaseInfo(dataValue) - // 璇︾粏淇℃伅灞曠ず + // 璇︾粏淇℃伅灞曠ず table const resultDetailed = await mapApi.getSolidWasteDetail(dataValue) + // 缁戝畾寮规瀹炰緥 const PublicBounced = window.Vue.extend(publicBounced) const instance = new PublicBounced() instance.$mount() document.body.appendChild(instance.$el) + // 閫氳繃鏂规硶 鍚戠粦瀹氬脊妗嗕紶閫掓暟鎹� instance.setData(resultBasic.Result.DataInfo, resultDetailed.Result.DataInfo, 'gufei') /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */ this.setPanTo(e.latlng, 200) diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index 4b68c97..ffc77a5 100644 --- a/src/components/LayerController/modules/LcServiceLayerFilter.vue +++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue @@ -1,18 +1,19 @@ <template> <div class="inner-panel"> <div class="filter-group"> - <div v-for="item in pointLayers" :key="item.code" class="filter-item"> + <div v-for="item in layers" :key="item.code" class="filter-item"> <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked" @change="swAllSubFilter(item)">{{item.name}} </div> - <el-scrollbar style="height:100%"> - <div class="content"> - <div v-for="filter in item.layers" :key="filter.code"> - <input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swSubFilter(item.url,filter)"><label - :title="filter.name">{{filter.name}}</label> + <el-scrollbar style="height:100%"> + <div class="content"> + <div v-for="filter in item.layers" :key="filter.code"> + <input type="checkbox" :value="filter.code" :checked="filter.checked" + @change="swSubFilter(item.url,filter)"><label + :title="filter.name">{{filter.name}}</label> + </div> </div> - </div> - </el-scrollbar> + </el-scrollbar> </div> </div> </div> @@ -20,45 +21,58 @@ <script> import { mapMutations } from 'vuex' +import { LayerSewersPoint } from '@src/conf/layers/LayerSewers' export default { name: 'LcServiceLayerFilter', - components: {}, + components: { }, data () { return { visible: {}, + layerSewersPoint: LayerSewersPoint, + layers: [], filterConfig: [] // 闄勫睘瑕佺礌 } }, computed: { + serviceLayers () { + return this.$store.state.map.serviceLayers.LayerSewersLine + }, config () { return this.$store.state.map.config - }, - pointLayers () { - // 鏍规嵁绾垮浘灞傞�変腑鎯呭喌锛屾樉绀烘垨闅愯棌鐐瑰浘灞傞潰鏉� - var serviceLayers = this.config.mapConfig.Layers.LayerSewersLine // 涓�绾у浘灞� - var checkedLayers = window.serviceLayerHelper.getCheckedLayers(serviceLayers) - var pointLayers = this.config.mapConfig.Layers.layerSewersPoint // 浜岀骇鍥惧眰 - return pointLayers.filter(function (layer) { - var code = layer.code - for (var i = 0; i < checkedLayers.length; i++) { - var checkedLayer = checkedLayers[i] - if (checkedLayer.childLayer.indexOf(code) >= 0) { - return checkedLayer - } - } - }) } - }, - mounted () { - // this.filterConfig = window.serviceLayerHelper.getWMSConfig().filtersGroup }, methods: { ...mapMutations([]), swAllSubFilter (item) { item.checked = !item.checked - console.log(item) // window.serviceLayerHelper.loadLayers() + }, + // todo 杩橀渶瑕佷紭鍖栵紝鍦ㄦ湁澶氫釜闇�瑕佸瓙鍥惧眰鐙珛寮圭獥鎯呭喌涓嬫棤鏁� + toggle (serviceLayers) { + for (var i = 0; i < serviceLayers.length; i++) { + var serviceLayer = serviceLayers[i] + var childLayer = serviceLayer.childLayer + if (childLayer) { + if (this.checkChecked(serviceLayer.layers)) { + this.layers = childLayer + } else { + this.layers = [] + } + break + } else { + this.toggle(serviceLayer.layers) + } + } + }, + checkChecked (serviceLayers) { + for (var i = 0; i < serviceLayers.length; i++) { + var serviceLayer = serviceLayers[i] + var checked = serviceLayer.checked + if (checked) { + return true + } + } }, swSubFilter (url, item) { item.checked = !item.checked @@ -68,6 +82,16 @@ window.serviceLayerHelper.removeLayer(item) } // window.serviceLayerHelper.loadLayers() + } + }, + watch: { + // 姝ゅ闇�瑕佹繁搴︾洃鍚浘灞傞�変腑鐘舵�侊紝浣跨敤computed鏃犳晥 + '$store.state.map.serviceLayers.LayerSewersLine': { + handler: function (val) { + this.toggle(val) + }, + immediate: true, + deep: true } } } @@ -106,6 +130,7 @@ max-height: 200px; //overflow-y: hidden; } + // //::-webkit-scrollbar { // width: 7px; diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue index 6c0ed6f..ce0c138 100644 --- a/src/components/panel/ToolBoxPanel.vue +++ b/src/components/panel/ToolBoxPanel.vue @@ -5,7 +5,6 @@ <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" /> <span class="span-default">宸ュ叿</span> </el-button> - <transition name="animationChange"> <el-row v-show="selectGroup" class="specific-tools-group"> <el-popover @@ -29,15 +28,16 @@ <img :src="itemT.iconChoose" :title="itemT.title" v-if="Selecd === indexT && checkedItem" alt=""/> <img :src="itemT.icon" :title="itemT.title" alt="" v-else/> </el-button> - <div class="base-map-inner-panel" v-show="item.index==='2'"> - <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item"> - <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name" - @click="changeBasemap(item)" alt=""/> - <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck" - label="鏍囨敞" @change="changeBasemap(item)"> - </el-checkbox> - </div> - </div> +<!-- <div class="base-map-inner-panel" v-show="item.index==='2'">--> +<!-- <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">--> +<!-- <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"--> +<!-- @click="changeBasemap(item)" alt=""/>--> +<!-- <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"--> +<!-- label="鏍囨敞" @change="changeBasemap(item)">--> +<!-- </el-checkbox>--> +<!-- </div>--> +<!-- </div>--> + <lc-base-map v-show="item.index==='2'"></lc-base-map> </el-popover> <el-button @click="changeSelect" class="special-button"> <i class="el-icon-d-arrow-left"></i> @@ -49,6 +49,7 @@ </template> <script> +import LcBaseMap from '@components/LayerController/modules/LcBaseMap' // 鍔熻兘瀵艰埅 import plot from '@assets/images/map-pages/icon/toolbox/biaohui.png' import polygon from '@assets/images/map-pages/icon/toolbox/celiang1.png' @@ -95,11 +96,14 @@ export default { name: 'ToolBoxPanel', + components: { + LcBaseMap + }, data () { return { isShow: [], - currentBaseMapCode: 'tianditu_img', - basemapList: [], + // currentBaseMapCode: 'tianditu_img', + // basemapList: [], selectGroup: false, drawLayer: null, drawLayerArray: [], @@ -257,33 +261,10 @@ ] } }, - computed: { - basemapHelper () { - return this.$store.state.map.basemapHelper - } - }, methods: { init (map) { this.map = map this.toolBoxPanelVisible = true - }, - changeBasemap (itm) { - this.active = -1 - const code = itm.code - this.basemapHelper.basemapList.forEach((item) => { - if (item.code === code) { - if (this.currentBaseMapCode == null || this.currentBaseMapCode !== code) { - this.currentBaseMapCode = code - this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, true) - } else { - this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, false) - } - - this.basemapHelper.basemapList.forEach((item) => { - item.layer.bringToBack() - }) - } - }) }, changeChoose (index) { if (this.drawLayer == null) { diff --git a/src/components/plugin/PathDashFlow.js b/src/components/plugin/PathDashFlow.js index a868066..13b295f 100644 --- a/src/components/plugin/PathDashFlow.js +++ b/src/components/plugin/PathDashFlow.js @@ -71,6 +71,7 @@ } }, _fillStroke: function (ctx, layer) { + debugger var options = layer.options if (options.fill) { -- Gitblit v1.8.0