From c310aa8e462fbadd85df50546bfcbb46bb0d5216 Mon Sep 17 00:00:00 2001 From: wangqi <magical1908@outlook.com> Date: 星期三, 07 四月 2021 13:50:29 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/panel/RightSearchPanel.vue | 16 +++ src/conf/layers/LayerPipeLines.js | 6 + src/components/table/enterprise.vue | 2 src/components/panel/ToolBoxPanel.vue | 77 ++++++++++++-- src/components/plugin/PathDashFlow.js | 1 src/components/LayerController/modules/LcServiceLayerFilter.vue | 7 src/api/mapApi.js | 9 + src/components/panel/LegendPanel.vue | 18 ++- src/api/mapUrl.js | 2 src/components/LayerController/LayerController.vue | 31 ++++- src/components/BaseNav/PublicBounced/PublicBounced.vue | 19 +++ src/components/LayerController/modules/LcServiceLayer.vue | 18 ++- src/conf/layers/LayerSewers.js | 8 src/components/table/summarySheets.vue | 2 src/components/LayerController/service/WfsLayerService.js | 5 src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue | 3 src/components/LayerController/logic/WasteWater.js | 21 +++- src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue | 14 +- 18 files changed, 193 insertions(+), 66 deletions(-) diff --git a/src/api/mapApi.js b/src/api/mapApi.js index 4542721..a621754 100644 --- a/src/api/mapApi.js +++ b/src/api/mapApi.js @@ -36,9 +36,18 @@ getWasteGasDetails (data) { return axios.get(mapUrl.getWasteGasDetails, data) }, + // 搴熸按鐐� getWasteWater (data) { return axios.get(mapUrl.getWasteWater, data) }, + // 搴熸按鐩戞祴鏁版嵁 + getWasteWaterMonitoring (data) { + return axios.get(mapUrl.getWasteWaterMonitoring, data) + }, + // 搴熸按鐐规槑缁嗚〃 + getWasteWaterMonitoringDetails (data) { + return axios.get(mapUrl.getWasteWaterMonitoringDetails, data) + }, getCompany (data) { return axios.get(mapUrl.getCompany, data) } diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js index 33bf39f..c2493a8 100644 --- a/src/api/mapUrl.js +++ b/src/api/mapUrl.js @@ -14,5 +14,7 @@ export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails' export const getWasteWater = $HOST + '/wasteWater/getWasteWater' +export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' +export const getWasteWaterMonitoringDetails = $HOST + '/wasteWater/getWasteWaterMonitoringDetails' export const getCompany = $HOST + '/company/getCompany' diff --git a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue index 1c67015..d8e41c5 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue @@ -36,6 +36,7 @@ }, data () { return { + watchData: [], dialogVisible: false } }, @@ -203,6 +204,8 @@ }, mounted () { this.drawChart() + const dataWatch = JSON.parse(JSON.stringify(this.$attrs)) + console.log(dataWatch) } } </script> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue index 6c039cd..8e5f267 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue @@ -32,14 +32,14 @@ </div> <div v-else-if="value === 'feishui'"> <el-row type="flex" class="row-bg row-item-one" justify="space-around"> - <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ setWasteGasdata.Name }}</el-col> - <el-col :span="8">鐢熶骇鍗曚綅:{{ setWasteGasdata.porltName }}</el-col> - <el-col :span="8">鎺掓斁绫诲瀷鍚嶇О:{{ setWasteGasdata.MonTypeName }}</el-col> + <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ setWasteWaterdata.Name }}</el-col> + <el-col :span="8">鐢熶骇鍗曚綅:{{ setWasteWaterdata.porltName }}</el-col> + <el-col :span="8">鎺掓斁绫诲瀷鍚嶇О:{{ setWasteWaterdata.MonTypeName }}</el-col> </el-row> <el-row type="flex" class="row-bg" justify="space-around"> - <el-col :span="8">鎺掓斁鍘诲悜:{{ setWasteGasdata.EmissDirecti }}</el-col> - <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ setWasteGasdata.ContrLevelShowName }}</el-col> - <el-col :span="8">鍐�/澶栨帓鍙�:{{ setWasteGasdata.OrOutPortName }}</el-col> + <el-col :span="8">鎺掓斁鍘诲悜:{{ setWasteWaterdata.EmissDirecti }}</el-col> + <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ setWasteWaterdata.ContrLevelShowName }}</el-col> + <el-col :span="8">鍐�/澶栨帓鍙�:{{ setWasteWaterdata.OrOutPortName }}</el-col> </el-row> </div> </div> @@ -50,7 +50,7 @@ <script> export default { name: 'GasTable', - props: ['displayContentTab', 'value', 'setWasteGasdata'], + props: ['displayContentTab', 'value', 'setWasteGasdata', 'setWasteWaterdata'], data () { return { tabData: [] diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue index 7726783..1aaf67c 100644 --- a/src/components/BaseNav/PublicBounced/PublicBounced.vue +++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue @@ -7,11 +7,11 @@ <div class="public-bounced-content"> <div class="public-bounced-content-left"> <public-tabs :displayContentTab="displayContentTab" :value="value" - :setWasteGasdata="setWasteGasdata"></public-tabs> + :setWasteGasdata="setWasteGasdata" :setWasteWaterdata="setWasteWaterdata"></public-tabs> <div class="public-bounced-content-left-bottom"> <public-table v-if="value === 'gufei'" :displayContentTable="displayContentTable"></public-table> - <public-chart v-else :getWasteGasDetails="getWasteGasDetails"></public-chart> + <public-chart v-else :getWasteGasDetails="getWasteGasDetails" :getWasteWaterMonitoring="getWasteWaterMonitoring" ></public-chart> </div> </div> <div class="public-bounced-content-right"> @@ -40,12 +40,15 @@ data () { return { setWasteGasdata: '', + setWasteWaterdata: '', displayContentTitle: '', displayContentTab: '', displayContentTable: '', flag: false, value: '', - getWasteGasDetails: [] + getWasteGasDetails: [], + getWasteWaterMonitoringDetails: [], + getWasteWaterMonitoring: [] } }, methods: { @@ -68,6 +71,16 @@ this.flag = true this.value = value }, + setWaterData (dataWater, dataDetail, drawData, value) { + this.setWasteWaterdata = dataWater + // console.log(data) + this.getWasteWaterMonitoring = drawData + console.log(drawData) + this.getWasteWaterMonitoringDetails = dataDetail + this.displayContentTitle = dataWater.Name + this.flag = true + this.value = value + }, closePopup () { this.flag = false } diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue index d9165bf..7476f09 100644 --- a/src/components/LayerController/LayerController.vue +++ b/src/components/LayerController/LayerController.vue @@ -1,13 +1,13 @@ <template> <div :class='["float-panel",layerControllerVisible ? "active" : ""]' > - <div @click="showPanel" class="iconBtn transition" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style="position: absolute;top:0;left: 0"> - <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon"> - <span class="icon-name">鍥惧眰</span> + <div @click="showPanel" class="iconBtn" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style=" position: absolute;top:0;left: 0;"> + <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon"> +<!-- <span class="icon-name">鍥惧眰</span>--> </div> - <transition name="fade"> - <div :class="'legend-content map-background'" v-show="layerControllerVisible" style=" transform-origin: top left;"> + <transition name="animationChange"> + <div :class="'legend-content map-background'" v-show="layerControllerVisible"> <lc-service-layer></lc-service-layer> - <buttom @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></buttom> + <button @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></button> </div> </transition> </div> @@ -71,15 +71,28 @@ </script> <style lang="less"> + .animationChange-enter-active, .animationChange-leave-active { + transition: all 0.5s; + } + + .animationChange-enter, .animationChange-leave-to { + opacity: 0; + transform: translateX(-100px); + } + .float-panel.active{ + overflow: visible; + } .float-panel { position: absolute; left: 0.14583rem; - top: 0.8rem; + top: 0.73979rem; height: auto; font-size: 11px; z-index: 1000; display: flex; - + min-height: 0.28rem; + min-width: 0.28rem; + overflow: hidden; div { color: #00fff6; } @@ -234,7 +247,7 @@ background:@background-color; } .legend-content{ - width: 1.79167rem; + width: 2.2rem; } } diff --git a/src/components/LayerController/logic/WasteWater.js b/src/components/LayerController/logic/WasteWater.js index 210afcd..31e0d53 100644 --- a/src/components/LayerController/logic/WasteWater.js +++ b/src/components/LayerController/logic/WasteWater.js @@ -52,17 +52,19 @@ this.clickListener = async (e) => { // console.log(e) this.animalService.pulseEffect(e.latlng) - // const dataValue = { - // StoragePlaceId: e.layer.options.test.StoragePlaceId - // } - // const result = await mapApi.getWasteWater(dataValue) - // console.log(result) + const dataValue = { + StoragePlaceId: e.layer.options.test.StoragePlaceId + } + const drawback = await mapApi.getWasteWaterMonitoring() + console.log(drawback) + const result = await mapApi.getWasteWaterMonitoringDetails(dataValue) const PublicBounced = window.Vue.extend(publicBounced) const instance = new PublicBounced() - instance.setGasData(e.layer.options.test, 'feishui') + instance.setWaterData(e.layer.options.test, result.Result.DataInfo, drawback.Result.DataInfo, 'feishui') console.log(e.layer.options.test) instance.$mount() document.body.appendChild(instance.$el) + this.setPanTo(e.latlng, 240) } // 鏍规嵁杩斿洖鍊肩殑涓嶅悓鏍囪涓嶅悓鍥剧墖 @@ -96,4 +98,11 @@ } return testChange } + this.setPanTo = (pos, value) => { + var position = pos + position = window.map.latLngToLayerPoint(position) + position.y += value + position = window.map.layerPointToLatLng(position) + window.map.flyTo(position) + } } diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index 327bbae..5d553c3 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -20,7 +20,7 @@ :value="itm.code" @change="swWmsLayer(itm)"/>{{ itm.name }} <!-- 涓夌骇鍥惧眰閬嶅巻 --> - <div style="width: 100%"> + <div class="layerbox-item-3"> <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code"> <input type="checkbox" :name="'wmsSublayers_'+item.code+'_'+layer.code" @@ -126,15 +126,19 @@ .layerbox { width: 100%; .layerbox-item { - display: flex; - flex-flow: row wrap; - margin-left: 15px; - margin-top: 5px; - + padding-left: 20px; + padding-top: 5px; .basemap-layer-item { - width: 50%; + margin-bottom: 5px; } } + .layerbox-item-3{ + padding-left: 20px; + padding-top: 5px; + display: flex; + flex-wrap: wrap; + .basemap-layer-item{width: 50%} + } } } } diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index ffc77a5..92ec212 100644 --- a/src/components/LayerController/modules/LcServiceLayerFilter.vue +++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue @@ -77,9 +77,9 @@ swSubFilter (url, item) { item.checked = !item.checked if (item.checked) { - window.serviceLayerHelper.loadGeojsonLayer(url, item) + window.layerFactory.show(item) } else { - window.serviceLayerHelper.removeLayer(item) + window.layerFactory.hide(item) } // window.serviceLayerHelper.loadLayers() } @@ -99,12 +99,11 @@ <style scoped lang="less"> .inner-panel { - width: 500px; color: #90c8e0; font-size: 13px; position: absolute; - left: 260px; + left: 270px; z-index: 1000; height: 220px; top: 0; diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js index 7f10aee..3aae541 100644 --- a/src/components/LayerController/service/WfsLayerService.js +++ b/src/components/LayerController/service/WfsLayerService.js @@ -29,7 +29,10 @@ } loadData (wfsUrl) { - AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(res.data.features)) + AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => { + console.log(res) + this.draw(res.data.features) + }) } draw (features) { diff --git a/src/components/panel/LegendPanel.vue b/src/components/panel/LegendPanel.vue index b3c4784..fe6d347 100644 --- a/src/components/panel/LegendPanel.vue +++ b/src/components/panel/LegendPanel.vue @@ -23,17 +23,23 @@ </div> </template> <script> +import { LayerWasteWater } from '../../conf/layers/LayerWasteWater' +import { LayerWasteGas } from '../../conf/layers/LayerWasteGas' +import { LayerWasteSolid } from '../../conf/layers/LayerWasteSolid' +import { LayerAirQuality } from '../../conf/layers/LayerAirQuality' +import { LayerEnvRisk } from '../../conf/layers/LayerEnvRisk' +import { LayerSoilGroundWater } from '../../conf/layers/LayerSoilGroundWater' +import { LayerPipeLines } from '../../conf/layers/LayerPipeLines' +import { LayerPk } from '../../conf/layers/LayerPk' +import { LayerArea } from '../../conf/layers/LayerArea' + export default { name: 'LegendPanel', data () { return { // 鎺у埗鍥句緥 鍐呭鐨� 鏄剧ず/闅愯棌 - legendControl: false - } - }, - computed: { - serviceLayers () { - return this.$store.state.map.serviceLayers.LayerSewersLine + legendControl: false, + serviceLayers: [LayerSoilGroundWater, LayerEnvRisk, LayerAirQuality, LayerWasteSolid, LayerWasteGas, LayerWasteWater, LayerArea, LayerPk, LayerPipeLines] } }, methods: { diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue index c8ff02e..a2cdb5f 100644 --- a/src/components/panel/RightSearchPanel.vue +++ b/src/components/panel/RightSearchPanel.vue @@ -5,6 +5,11 @@ <!-- :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">--> <!-- <img :src="item.icon" style="width: 24px;height: 24px;"></div>--> <div class="container"> + <ul> + <li style="text-align: right"> + <button type="button" class="el-button special-button el-button--default el-icon-d-arrow-right"></button> + </li> + </ul> <ul v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" > <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left"> <li> @@ -222,7 +227,7 @@ //top: 10px; height: 0; position: absolute; - top: .46rem; + top: 0.42979rem; right: 0.14583rem; z-index: 501; display: -webkit-box; @@ -248,6 +253,15 @@ // background-color: #061e51 !important; // border: solid 1px #0e639e !important; //} + .el-button--default { + padding: 15px 3px; + background: rgba(0, 16, 30, 0.7); + color: #C0C4CC; + } + .el-button--default:hover{ + background: transparent; + border-color: #0f93a9; + } .el-form-item__label { color: rgb(52, 224, 255); diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue index 0d0297d..f42d6d9 100644 --- a/src/components/panel/ToolBoxPanel.vue +++ b/src/components/panel/ToolBoxPanel.vue @@ -1,9 +1,9 @@ <template> <div class="left-top-toolbox-panel"> <div class="specific-tools"> - <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice" @mouseover.enter.native="changeSelectMouse"> + <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice" @click.enter.native="changeSelectMouse"> <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" /> - <span class="span-default">宸ュ叿</span> + <!--<span class="span-default">宸ュ叿</span>--> </el-button> <transition name="animationChange"> <el-row v-show="selectGroup" class="specific-tools-group"> @@ -20,8 +20,8 @@ @click.native="changeChoose(index)"> <img :src="item.iconSelecd" alt="" v-if="active === index"/> <img :src="item.icon" alt="" v-else/> - <span v-if="active === index">{{ item.label }}</span> - <span v-else class="default-span">{{ item.label }}</span> + <!--<span v-if="active === index">{{ item.label }}</span> + <span v-else class="default-span">{{ item.label }}</span>--> </el-button> <el-button v-for="(itemT,indexT) in item.items" :key="indexT" @click="choiceItem(itemT,indexT)" v-show="item.index!=='2'"> @@ -409,16 +409,15 @@ .specific-tools { display: flex; - - .el-button { + overflow: hidden; + .el-button { z-index: 999; padding: 0; margin: 0 0.015rem; - width: 45px; - height: 45px; + width: 0.2725rem; + height: 0.2725rem; background: @background-color; - //vertical-align: middle !important; - + vertical-align: middle !important; .base-map-img { position: absolute; } @@ -437,6 +436,10 @@ span { display: block; font-size: 10px; + } + } + .specific-tools-group .el-button{ + span{ color: #0B89B5; } } @@ -447,8 +450,8 @@ padding: 0; margin: 0; margin-right:0.015rem; - width: 45px; - height: 45px; + width: 0.2725rem; + height: 0.2725rem; background: @background-color; border: 0.00521rem solid @color-shadow; } @@ -460,6 +463,7 @@ .specific-tools-group { z-index: 1; + .tools-panel-choose { border: none; box-shadow: 0 0 0.03rem @color-shadow; @@ -481,11 +485,56 @@ } .special-button { - width: 22px; - height: 45px; + width: 0.1362rem; + height: 0.2725rem; color: @color-over; } } } } +.base-map-inner-panel { + display: flex; + justify-content: center; + align-items: center; + + .base-map-img { + position: absolute; + } + + .base-map-img-Tool:hover { + cursor: pointer; + } + + .base-map-anno-Tool { + position: absolute; + margin-left: 2px; + background-color: rgba(0, 0, 0, .5); + color: @color-over; + + .el-checkbox__label { + padding-left: 5px !important; + } + } + + .basemap-layer-item { + display: flex; + width: 50px; + height: 50px; + margin: 10px; + border: 2px solid white; + + input { + position: relative; + left: 0; + top: -53px; + } + + .basemap-layer-item-name { + position: relative; + left: 0; + top: -53px; + } + } +} + </style> diff --git a/src/components/plugin/PathDashFlow.js b/src/components/plugin/PathDashFlow.js index 13b295f..a868066 100644 --- a/src/components/plugin/PathDashFlow.js +++ b/src/components/plugin/PathDashFlow.js @@ -71,7 +71,6 @@ } }, _fillStroke: function (ctx, layer) { - debugger var options = layer.options if (options.fill) { diff --git a/src/components/table/enterprise.vue b/src/components/table/enterprise.vue index d2f65ae..371e9cb 100644 --- a/src/components/table/enterprise.vue +++ b/src/components/table/enterprise.vue @@ -82,7 +82,7 @@ cursor: pointer; } .enterprise-function:not(:first-child){ - margin-left: 10px; + margin-left: 0.05rem; } } </style> diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue index c030827..dcd7169 100644 --- a/src/components/table/summarySheets.vue +++ b/src/components/table/summarySheets.vue @@ -46,7 +46,7 @@ <style scoped lang="less"> .summary-sheets { position: absolute; - top: 0.46rem; + top: 0.42979rem; left: 0.14583rem; /*width: 850px;*/ /*height: 265px;*/ diff --git a/src/conf/layers/LayerPipeLines.js b/src/conf/layers/LayerPipeLines.js index 4209ddc..5ea2a19 100644 --- a/src/conf/layers/LayerPipeLines.js +++ b/src/conf/layers/LayerPipeLines.js @@ -1,6 +1,9 @@ /** * 绠$綉 */ +import { LayerHbss } from './LayerHbss' +import { LayerFsss } from './LayerFsss' + const APP_GIS_HOST_2 = 'http://xearth.cn:8088' const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' @@ -8,6 +11,7 @@ code: 'sewersPipeLines', name: '绠$嚎', checked: true, + childLayer: [LayerFsss, LayerHbss], layers: [ { code: 'rainline', @@ -15,7 +19,7 @@ sname: '闆ㄦ按绾�', checked: true, wfs: WFS_URL + '?TYPENAME=绠$綉', - minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀� + minZoom: 10 }, { code: 'accidentline', diff --git a/src/conf/layers/LayerSewers.js b/src/conf/layers/LayerSewers.js index c61b00a..433b67d 100644 --- a/src/conf/layers/LayerSewers.js +++ b/src/conf/layers/LayerSewers.js @@ -103,7 +103,7 @@ export const LayerSewersPoint = [ { - code: 'fsss', + code: 'sewersFsss', name: '闄勫睘璁炬柦', checked: false, // 榛樿閫変腑鐘舵�� type: 'geojson', @@ -171,7 +171,7 @@ ] }, { - code: 'hbss', + code: 'sewersHbss', name: '鐜繚璁炬柦', checked: false, // 榛樿閫変腑鐘舵�� type: 'geojson', @@ -233,7 +233,7 @@ ] }, { - code: 'pk', + code: 'sewersPk', name: '鎺掑彛', checked: false, // 榛樿閫変腑鐘舵�� type: 'geojson', @@ -249,7 +249,7 @@ ] }, { - code: 'qyxx', + code: 'sewersQyxx', name: '鍖哄煙淇℃伅', checked: false, // 榛樿閫変腑鐘舵�� type: 'geojson', -- Gitblit v1.8.0