From 8b0a709a5b67eefd575cbe593b44a9ed8396804a Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期四, 01 四月 2021 14:31:54 +0800 Subject: [PATCH] 公共文件修改 --- src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue | 0 src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue | 32 +-- src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue | 0 src/components/BaseNav/PublicBounced/PublicBounced.vue | 5 src/components/panel/topicSearch/SolidWasteSearch.vue | 183 ++++++++++++++++++ src/components/LayerController/logic/SolidWaste.js | 24 + src/conf/layers/LayerSolidWaste.js | 340 ++++++++++++++++++++++++++++++++++ 7 files changed, 552 insertions(+), 32 deletions(-) diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue index f2c0f64..a99b76f 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue @@ -7,19 +7,18 @@ <div class="border_corner border_corner_right_bottom"></div> <div class="main"> <div class="main-video"> -<!-- <el-table--> -<!-- tooltip-effect="dark"--> -<!-- :data="displayContentTable2"--> -<!-- >--> -<!-- <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="浜х敓閲�"></el-table-column>--> -<!-- <el-table-column prop="StorageZCL" label="鍌ㄥ瓨閲�"></el-table-column>--> -<!-- <el-table-column prop="StorageType" label="浜х敓瑁呯疆"></el-table-column>--> -<!-- </el-table>--> - <span>{{ displayContentTable3.StoragePlaceTypeName }}</span> + <el-table + tooltip-effect="dark" + :data="displayContentTable2" + > + <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="浜х敓閲�"></el-table-column> + <el-table-column prop="StorageZCL" label="鍌ㄥ瓨閲�"></el-table-column> + <el-table-column prop="StorageType" label="浜х敓瑁呯疆"></el-table-column> + </el-table> </div> </div> </div> @@ -45,13 +44,6 @@ ], displayContentTable3: [] } - }, - mounted () { - this.$nextTick(() => { - this.displayContentTable.forEach(item => { - this.displayContentTable3 = item - }) - }) } } </script> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue similarity index 100% rename from src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue rename to src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue similarity index 100% rename from src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue rename to src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue index 4d7da9e..140187c 100644 --- a/src/components/BaseNav/PublicBounced/PublicBounced.vue +++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue @@ -22,10 +22,10 @@ <script> import '@/components/BaseNav/SolidWaste/directive/dir' -import GasTab from '@components/BaseNav/PublicBounced/GasComponents/GasTab' +import GasTab from '@components/BaseNav/PublicBounced/GasComponents/PublicTabs' import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable' import GasECharts from '@components/BaseNav/PublicBounced/GasComponents/GasECharts' -import GasVideo from '@components/BaseNav/PublicBounced/GasComponents/GasVideo' +import GasVideo from '@components/BaseNav/PublicBounced/GasComponents/PublicVideo' // import GasTabs from './GasComponents/GasTabs' export default { @@ -46,7 +46,6 @@ }, methods: { setData (dataBasic, dataDetailed, value) { - console.log(dataDetailed) dataBasic.forEach(item => { this.displayContentTitle = item.StoragePlaceName }) diff --git a/src/components/LayerController/logic/SolidWaste.js b/src/components/LayerController/logic/SolidWaste.js index 3eee0e3..bb980a5 100644 --- a/src/components/LayerController/logic/SolidWaste.js +++ b/src/components/LayerController/logic/SolidWaste.js @@ -43,6 +43,12 @@ iconAnchor: [25, 25] }) }) + marker.bindTooltip(getSolidWasteData[i].Name, { + permanent: true, + offset: [0, 14], + direction: 'bottom', + className: 'company-bindTooltip' + }) layer.addLayer(marker) } } @@ -54,8 +60,6 @@ this.clickListener = (e) => { // 鐐瑰嚮marker鐨刾ulse()鍏夋尝 this.animalService.pulseEffect(e.latlng) - /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */ - // this.setPanTo(e.latlng, 200) /* 鐐瑰嚮鏁版嵁鐨勬帴鍙h姹� */ this.requestSolidWasteData(e).then(e) } @@ -86,14 +90,16 @@ instance.$mount() document.body.appendChild(instance.$el) instance.setData(resultBasic.Result.DataInfo, resultDetailed, 'gufei') + /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */ + this.setPanTo(e.latlng, 200) } // flayTo() - // this.setPanTo = (pos, value) => { - // var position = pos - // position = this.map.latLngToLayerPoint(position) - // position.y += value - // position = this.map.layerPointToLatLng(position) - // this.map.flyTo(position) - // } + 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/panel/topicSearch/SolidWasteSearch.vue b/src/components/panel/topicSearch/SolidWasteSearch.vue index e69de29..31267fe 100644 --- a/src/components/panel/topicSearch/SolidWasteSearch.vue +++ b/src/components/panel/topicSearch/SolidWasteSearch.vue @@ -0,0 +1,183 @@ +<template> + <div class="sewers-search" v-if="judgeVisible"> + <div class="search-title"> + <span>鍥哄簾</span> + </div> + <div class="search-panel "> + <el-form ref="form" :model="form" label-width="90px" class="search-form"> + <el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item"> + <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" + :popper-class="'select-down'"> + <el-option + v-for="item in SolidWasteTypeOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label="form.pipelineType+'锛�'" size="mini"> + <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType" :popper-class="'select-down'"> + <el-option + v-for="item in dataTypeOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-input v-model="form.keyword" size="mini" + placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�"> + <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i> + </el-input> + </el-form> + </div> + <el-scrollbar style="height:100%"> + <div class="B-TMD-table-list" v-for="(item,index) in list" :key="index"> + <div class="B-TMD-table-list-title"> + <div class="B-TMD-table-list-head"> + <div class="B-TMD-table-list-title-y" + :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]"> + <span id="waybillNumber" class="" :title="item.properties.pipename"> + <span class="location-btn" @click="handleLocation(item)">{{ item.properties.pipename }}</span> + </span> + </div> + </div> + </div> + <div class="B-TMD-table-list-content"> + + <div v-for="itm in labelList" :key="itm.label"> + <span>{{ itm.label }}锛�</span> + <span id="b_twe_loan" :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span> + </div> + </div> + </div> + </el-scrollbar> + <el-card class="footer-page" v-if="total > 10"> + <el-pagination + small + @current-change="handlePage" + :page-size=pageSize + layout="prev, pager, next" + :total=total + :current-page=current + class="warnPagination" + > + </el-pagination> + </el-card> + </div> +</template> + +<script> +// 寮曞叆鍙�夋嫨鏁版嵁 +import { SolidWasteTypeOptions } from '@/conf/layers/LayerSolidWaste' + +import WfsHelper from '@components/helpers/WfsHelper' +import AjaxUtils from '@utils/AjaxUtils' + +export default { + name: 'SolidWasteSearch', + data () { + return { + judgeVisible: true, + list: [], + labelList: SolidWasteTypeOptions[0].labelList, + total: 0, + SolidWasteTypeOptions: SolidWasteTypeOptions, + dataTypeOptions: SolidWasteTypeOptions[0].options, + form: { + pipelineType: SolidWasteTypeOptions[0].label, + dataType: SolidWasteTypeOptions[0].options[0].label, + query: SolidWasteTypeOptions[0].options[0], + keyword: '鍥哄簾闈㈡澘鏁版嵁鏌ヨ' + }, + isWaybillHover: true, + isRouteHover: false + } + }, + props: ['title'], + methods: { + handlePipelineType (val) { + this.SolidWasteTypeOptions.forEach((itm) => { + if (val === itm.value) { + this.dataTypeOptions = itm.options + this.form.pipelineType = itm.label + this.form.labelList = itm.labelList + } + }) + this.form.dataType = this.dataTypeOptions[0].label + this.form.key = this.dataTypeOptions[0].key + }, + handleDataType (val) { + this.dataTypeOptions.forEach((itm) => { + if (val === itm.value) { + this.form.query = itm + } + }) + }, + async handleSearch () { + const param = { + pipelineType: this.form.pipelineType, + dataType: this.form.dataType + } + console.log(param) + var wfsHelper = new WfsHelper() + wfsHelper.addTypeName(this.form.query.layerName) + wfsHelper.addLike(this.form.query.key, this.form.keyword) + const res = await AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}) + if (res.data instanceof Object && Object.prototype.hasOwnProperty.call(res.data, 'features')) { + this.list = res.data.features + } + }, + handleLocation (val) { + console.log(val) + const bound = this.L.geoJSON([val], {}).getBounds() + var layer = window.serviceLayerHelper.getByLayerId(val.id) + layer && layer.openPopup() + this.$store.state.map.map.flyToBounds(bound) + } + } +} +</script> + +<style lang="less" scoped> + +.sewers-search { + position: relative; + overflow: hidden; + + .search-panel { + background-color: transparent; + border: 1px solid @background-color-split; + padding: 10px; + + /deep/ input { + border-radius: 0; + background-color: @background-color-split; + border: solid 1px @color; + color: @color-gray; + font-size: 0.01rem; + + .el-select .el-input.is-focus .el-input__inner { + border-color: @color; + } + } + + /deep/ input:focus { + border-color: @color; + } + } + + .search-btn { + + } + + //location-btn{ + // + //} + .location-btn:hover, .el-input__icon:hover { + color: @color; + cursor: pointer; + } +} +</style> diff --git a/src/conf/layers/LayerSolidWaste.js b/src/conf/layers/LayerSolidWaste.js index c81dc8b..e1f3733 100644 --- a/src/conf/layers/LayerSolidWaste.js +++ b/src/conf/layers/LayerSolidWaste.js @@ -2,6 +2,8 @@ * 鍥哄簾鍥惧眰 * @type {string} */ +const APP_GIS_HOST_2 = 'http://xearth.cn:8088' +// const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' export const LayerSolidWaste = { code: 'solidWaste', name: '鍥哄簾', @@ -25,3 +27,341 @@ } ] } + +// 鍥哄簾璁炬柦绫诲瀷 +export const LayerSolisWastePoint = [ + { + code: 'fsss', + name: '闄勫睘璁炬柦', + checked: false, // 榛樿閫変腑鐘舵�� + type: 'geojson', + url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', + layers: [ + { + code: 'fourlink', + name: '鍥涢��', + sname: '鍥涢��', + checked: true, + minZoom: 10, + icon: 'sewers/鍥涢��.png' + }, + { + code: 'tee', + name: '涓夐��', + sname: '涓夐��', + checked: false, + minZoom: 10, + icon: 'sewers/涓夐��.png' + }, + { + code: 'piperack', + name: '绠℃灦(澧�)', + sname: 'PipeRack', + minZoom: 10, + checked: false + }, + { + code: 'pipegallery', + name: '绠″粖(甯�)', + sname: 'PipeGallery', + minZoom: 10, + checked: false + }, + { + code: 'pipesegment', + name: '娴佸悜', + sname: 'ywslx', + checked: false + }, + { + code: 'pipeline', + name: '绠$綉', + minZoom: 10, + sname: 'pipeline', + checked: false + }, + { + code: 'valve', + name: '闃�闂�', + minZoom: 10, + sname: 'valve', + checked: false, + icon: 'sewers/闃�闂�.png' + }, + { + code: 'elbow', + name: '寮ご', + sname: 'Elbow', + minZoom: 10, + checked: false, + icon: 'sewers/寮ご.png' + } + ] + }, + { + code: 'hbss', + name: '鐜繚璁炬柦', + checked: false, // 榛樿閫変腑鐘舵�� + type: 'geojson', + url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', + layers: [ + { + code: 'manhole', + name: '绐ㄤ簳', + minZoom: 10, + sname: '绐ㄤ簳', + checked: false, + icon: 'sewers/绐ㄤ簳.png' + }, + { + code: 'firedike', + name: '闃茬伀鍫�', + sname: '闃茬伀鍫�', + minZoom: 10, + checked: false + }, + { + code: 'raingate', + name: '闆ㄧ瀛�', + sname: '闆ㄧ瀛�', + checked: false, + minZoom: 10, + icon: 'sewers/闆ㄧ瀛�.png' + }, + { + code: 'overflowweir', + name: '婧㈡祦鍫�', + sname: '婧㈡祦鍫�', + minZoom: 10, + checked: false + }, + { + code: 'chokevalve', + name: '鎴祦闂�', + sname: '鎴祦闂�', + minZoom: 10, + checked: false + }, + { + code: 'collectingbasin', + name: '闆嗘按姹�(缃�)', + sname: '闆嗘按姹�', + minZoom: 10, + checked: false, + icon: 'sewers/闆嗘按姹�.png' + }, + { + code: 'oilseparator', + name: '闅旀补姹�', + sname: '闅旀补姹�', + minZoom: 10, + checked: false, + icon: 'sewers/闅旀补姹�.png' + } + ] + }, + { + code: 'pk', + name: '鎺掑彛', + checked: false, // 榛樿閫変腑鐘舵�� + type: 'geojson', + url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', + layers: [ + { + code: 'dischargeport', + name: '鎺掓斁鍙�', + minZoom: 10, + sname: '鎺掓斁鍙�', + checked: false + } + ] + }, + { + code: 'qyxx', + name: '鍖哄煙淇℃伅', + checked: false, // 榛樿閫変腑鐘舵�� + type: 'geojson', + url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', + layers: [ + { + code: 'thirdpartypipe', + name: '绗笁鏂圭閬�', + minZoom: 10, + sname: '绗笁鏂圭閬�', + checked: false + }, + { + code: 'firefightingunit', + name: '娑堥槻鍗曚綅', + sname: '娑堥槻鍗曚綅', + minZoom: 10, + checked: false, + icon: 'sewers/娑堥槻鍗曚綅.png' + }, + { + code: 'emergencyesources', + name: '搴旀�ョ墿璧�', + sname: '搴旀�ョ墿璧�', + minZoom: 10, + checked: false + }, + { + code: 'emergencyres', + name: '绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�', + sname: '涓撲笟搴旀�ユ晳鎻�', + checked: false, + minZoom: 10, + icon: 'sewers/绀句細涓撲笟搴旀�ユ晳鎻�.png' + }, + { + code: 'maintenanceteam', + name: '缁存姠淇槦浼�', + sname: '缁存姠淇槦浼�', + checked: false, + minZoom: 10, + icon: 'sewers/绀句細涓撲笟搴旀�ユ晳鎻�.png' + }, + { + code: 'hospital', + name: '鍖婚櫌', + sname: '鍖婚櫌', + checked: false, + minZoom: 10, + icon: 'sewers/鍖婚櫌.png' + }, + { + code: 'pointpreservationzone', + name: '鑷劧淇濇姢鍖�', + sname: '鑷劧淇濇姢鍖�', + checked: false, + minZoom: 10, + icon: 'sewers/鑷劧淇濇姢鍖�.png' + }, + { + code: 'pointhydrology', + name: '姘翠綋', + sname: '姘翠綋', + checked: false, + minZoom: 10, + icon: 'sewers/姘翠綋.png' + }, + { + code: 'sensitivetarget', + name: '鏁忔劅鐩爣', + sname: '鏁忔劅鐩爣', + checked: false, + minZoom: 10, + icon: 'sewers/鏁忔劅鐩爣.png' + }, + { + code: 'envmonunit', + name: '鐜鐩戞祴鍗曚綅', + sname: '鐜鐩戞祴鍗曚綅', + checked: false, + minZoom: 10, + icon: 'sewers/鐜鐩戞祴鍗曚綅.png' + }, + { + code: 'pointcontaminants', + name: '鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅', + sname: '姹℃煋鐗╂寚鏍�', + minZoom: 10, + checked: false + }, + { + code: 'dischargeportaround', + name: '鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�', + sname: '鎺掓斁鍙e懆杈圭幆澧�', + minZoom: 10, + checked: false, + iconN: 'sewers/鎺掓斁鍙e懆杈规晱鎰熶俊鎭�.png' + }, + { + code: 'pump', + name: '娉�', + sname: '娉�', + minZoom: 10, + checked: false, + icon: 'sewers/娉�.png' + }, + { + code: 'liquidlevelmeter', + name: '娑蹭綅璁�', + sname: '娑蹭綅璁�', + checked: false, + minZoom: 10, + icon: 'sewers/娑蹭綅璁�.png' + }, + { + code: 'flowmeter', + name: '娴侀噺璁�', + sname: '娴侀噺璁�', + minZoom: 10, + checked: false, + icon: 'sewers/娴侀噺璁�.png' + }, + { + code: 'video', + name: '瑙嗛鐩戞帶閰嶇疆', + sname: '瑙嗛鐩戞帶', + minZoom: 10, + checked: false + }, + { + code: 'onlinemonitoring', + name: '鍦ㄧ嚎鐩戞祴璁惧閰嶇疆', + sname: '鍦ㄧ嚎鐩戞祴', + minZoom: 10, + checked: false + }, + { + code: 'combustiblegas', + name: '鍙噧姘斾綋鎶ヨ璁惧閰嶇疆', + sname: '鍙噧姘斾綋鎶ヨ', + minZoom: 10, + checked: false + }, + { + code: 'hydrogensulfide', + name: 'H2S娴撳害鎶ヨ璁惧閰嶇疆', + sname: 'H2S娴撳害鎶ヨ', + minZoom: 10, + checked: false + }, + { + code: 'controlpoint', + name: '绠$嚎鐐�', + sname: '绠$嚎鐐�', + minZoom: 10, + checked: false, + icon: 'sewers/绠$嚎鐐�.png' + }, + { + code: 'pipesegment', + name: '绠℃', + sname: '绠℃', + minZoom: 10, + checked: false + } + ] + } +] + +// 鍥哄簾鏈綋 +export const SolidWasteTypeOptions = [{ + value: '1', + label: '鍥哄簾鏈綋', + options: [{ + value: '1', + layerName: '鍥哄簾', + key: 'pipename', + label: '鍏ㄩ儴鍥哄簾' + }], + labelList: [{ + label: '杈撻�佷粙璐�', + key: 'mediumtype' + }, { + label: '闀垮害(m)', + key: 'length' + }] +}] -- Gitblit v1.8.0