From 2a803059365f15f350a9c088d3a4a5c1ac234fde Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期二, 02 三月 2021 16:19:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
/dev/null | 78 -------------------
src/conf/Constants.js | 6 +
src/conf/MapConfig.js | 4
src/assets/css/map/map-elem-ui.less | 8 ++
src/components/helpers/ServiceLayerHelper.js | 2
src/components/helpers/WfsHelper.js | 77 +++++++++++++++++++
src/views/popup/Popup.vue | 19 ++--
src/components/LayerController/modules/LcServiceLayer.vue | 17 ++-
8 files changed, 114 insertions(+), 97 deletions(-)
diff --git a/src/assets/css/map/map-elem-ui.less b/src/assets/css/map/map-elem-ui.less
index 0c2c609..daf4784 100644
--- a/src/assets/css/map/map-elem-ui.less
+++ b/src/assets/css/map/map-elem-ui.less
@@ -5,6 +5,14 @@
border-color: @color;
}
+.el-tabs{
+ .el-tabs__item{
+ padding: 0 10px;
+ text-align: center;
+ height: 20px;
+ line-height: 20px;
+ }
+}
.select-down {
border: none !important;
background-color: @background-color !important;
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index 9833b42..de69136 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -4,7 +4,8 @@
<div v-for="item in serviceLayers" :key="item.code" class="layerbox">
<div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
@change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)"
- class="btn-filter">杩囨护</span>
+ class="btn-filter">杩囨护</span><span @click="loadWfs()"
+ class="btn-filter">娴嬭瘯</span>
</div>
<div class="layerbox-item">
<div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"
@@ -22,9 +23,9 @@
</template>
<script>
-import WmsHelper from '../../helpers/WmsHelper'
-import AjaxUtils from '@/utils/AjaxUtils'
+import WfsHelper from '../../helpers/WfsHelper'
import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
+import AjaxUtils from '../../../utils/AjaxUtils'
export default {
name: 'LcServiceLayer',
@@ -53,8 +54,12 @@
this.updateWms()
},
loadWfs () {
- AjaxUtils.GetDataAsynByUrl('http://xearth.cn:6289/server/ogcserver/PipeLineTest/wfs?version=1.0.0&TYPENAME=pipeline&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', {}, (res) => {
- window.L.geoJSON(res).addTo(window.map)
+ var wfsHelper = new WfsHelper()
+ wfsHelper.addTypeName('绠$嚎鐐�')
+ wfsHelper.addEquals('pipename', '鐮旂┒闄�01璺痀S000001')
+
+ AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {
+ console.log(res)
})
},
swWmsLayer (url, itm) {
@@ -74,7 +79,7 @@
},
updateWms () {
var mapConfig = this.mapConfig
- var wmsHelper = new WmsHelper()
+ var wmsHelper = new WfsHelper()
wmsHelper.initMapConfig(mapConfig)
var wmsLayersMap = wmsHelper.getWmsLayersMap()
for (var k in wmsLayersMap) {
diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js
index 60325fb..e3a1af7 100644
--- a/src/components/helpers/ServiceLayerHelper.js
+++ b/src/components/helpers/ServiceLayerHelper.js
@@ -118,7 +118,7 @@
})
}
}).bindPopup(function (layer) {
- that.popupComp.setDatas(layer.feature)
+ that.popupComp.setDatas(layer)
that.popupComp.setShow()
return that.popupComp.$el
}, {
diff --git a/src/components/helpers/WfsHelper.js b/src/components/helpers/WfsHelper.js
new file mode 100644
index 0000000..3208ca8
--- /dev/null
+++ b/src/components/helpers/WfsHelper.js
@@ -0,0 +1,77 @@
+/**
+ * 鍔犺浇WMS,鎷兼帴FILTER,LAYERS鍙傛暟绛�
+ */
+import MapConfig from '../../conf/MapConfig'
+function WfsHelper () {
+ this.filters = []
+ this.typeNames = []
+ this.url = MapConfig.BLUEMAP_HOST + '/server/ogcserver/PipeLine/wfs'
+ this.params = {
+ REQUEST: 'getfeature',
+ OUTPUTFORMAT: 'JSON',
+ maxFeatures: 20000,
+ version: '1.0.0'
+ }
+
+ this.addTypeName = (typeName) => {
+ this.typeNames.push(typeName)
+ }
+
+ this.addEquals = (property, literal) => {
+ var filter = '<PropertyIsEqualTo><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsEqualTo>'
+ this.filters.push(filter)
+ }
+
+ this.addLike = (property, literal) => {
+ var filter = '<PropertyIsLike><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsLike>'
+ this.filters.push(filter)
+ }
+
+ /**
+ * 寰楀埌filter鍙傛暟鍊�
+ * @returns {string|null}
+ */
+ this.getFilterParams = () => {
+ var head = '<Filter xmlns="http://www.opengis.net/ogc">'
+ var end = '</Filter>'
+ var filter = ''
+ if (this.filters.length > 0) {
+ for (var i = 0; i < this.filters.length; i++) {
+ filter += this.filters[i]
+ }
+ // 褰撴潯浠舵暟 > 1鏃讹紝闇�瑕佺敤and鏍囩鍖呰9
+ if (this.filters.length > 1) {
+ return ('FILTER=' + head + '<And>' + filter + '</And>' + end)
+ }
+ return ('FILTER=' + head + filter + end)
+ }
+ return null
+ }
+
+ this.getUrlParams = () => {
+ var params = ''
+ for (var p in this.params) {
+ params += (p + '=' + this.params[p] + '&')
+ }
+ // 鎷兼帴typename鍙傛暟
+ params += 'typename=' + this.typeNames.join(',')
+ // 鎷兼帴filter鍙傛暟
+ var filterParam = this.getFilterParams()
+ if (filterParam) {
+ params += '&' + filterParam
+ }
+ return encodeURI(params)
+ }
+
+ this.getUrl = () => {
+ var url = this.url
+ if (url.indexOf('?') > 0) {
+ url += '&'
+ } else {
+ url += '?'
+ }
+ return url + this.getUrlParams()
+ }
+}
+
+export default WfsHelper
diff --git a/src/components/helpers/WmsHelper.js b/src/components/helpers/WmsHelper.js
deleted file mode 100644
index af18c6c..0000000
--- a/src/components/helpers/WmsHelper.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * 鍔犺浇WMS,鎷兼帴FILTER,LAYERS鍙傛暟绛�
- */
-function WmsHelper () {
- this.filters = {}
- this.wmsLayersMap = {}
-
- this.initMapConfig = (mapConfig) => {
- var serviceLayers = mapConfig.ServiceLayers
- for (var i = 0; i < serviceLayers.length; i++) {
- var service = serviceLayers[i]
- var checked = service.checked
- if (!checked) {
- break
- }
- var filtersGroup = service.filtersGroup
- if (filtersGroup) {
- this.initLayer(service.code, filtersGroup)
- }
- }
- }
- this.initLayer = (wms, layersGroup) => {
- for (var i = 0; i < layersGroup.length; i++) {
- var filters = layersGroup[i].filters
- for (var j = 0; j < filters.length; j++) {
- var layer = filters[j]
- var checked = layer.checked
- // var code = layer.code
- var code = layer.name
- if (checked) {
- this.addLayer(wms, code)
- }
- }
- }
- }
- this.initFilter = () => {
- /* for (var i = 0; i < filters.length; i++) {
- var filter = filters[i]
- this.addFilter()
- } */
- }
- this.addLayer = (wms, layer) => {
- var wmsLayer = this.wmsLayersMap[wms]
- if (wmsLayer) {
- wmsLayer[wmsLayer.length] = layer
- } else {
- this.wmsLayersMap[wms] = [layer]
- }
- }
- this.addFilter = (condition) => {
- // var filter = this.filters[layer]
- // if (filter) {
- this.filters[this.filters.length] = condition
- // } else {
- // this.filters[layer] = [condition]
- // }
- }
- this.getWmsLayersMap = () => {
- return this.wmsLayersMap
- }
- this.getFilterURL = () => {
- var filterURL = ''
- var conditions = ''
- for (var f in this.filters) {
- var filters = this.filters[f]
- for (var i = 0; i < filters.length; i++) {
- conditions += filters[i]
- if (i < filters.length) {
- conditions += ','
- }
- }
- filterURL += f + '.(' + conditions + ');'
- }
- return filterURL.substr(0, filterURL.length - 1)
- }
-}
-
-export default WmsHelper
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index 9e89a92..72bb8f0 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -27,5 +27,9 @@
embeddingmode: '鍩嬭鏂瑰紡',
pipetrenchtype: '绠℃矡绫诲瀷',
datecollected: '鎺㈡祴鏃堕棿',
- operationalstatus: '杩愯鐘舵��'
+ operationalstatus: '杩愯鐘舵��',
+ acquisitionpeople: '閲囬泦浜�',
+ acquisitiondate: '閲囬泦鏃ユ湡',
+ fourtype: '鍥涢�氱被鍨�',
+ fourm: '鍥涢�氭潗鏂�'
}
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index fdaa00f..4512d66 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -7,8 +7,8 @@
const HOST_URL = curWwwPath.substring(0, pos)
// service涓绘満閰嶇疆
-const APP_GIS_HOST = 'http://xearth.cn:6299'
-// const APP_GIS_HOST_PIPELINE = 'http://xearth.cn:6289'
+// const APP_GIS_HOST = 'http://xearth.cn:6299'
+const APP_GIS_HOST = 'http://xearth.cn:6289'
// 鑷畾涔変富鏈洪厤缃�
const BLUEMAP_HOST = APP_GIS_HOST // 鍏徃鍙戝竷鐨勫湴鍥炬湇鍔★紝鐢ㄤ簬娴嬭瘯鐨勫湴鍧�
diff --git a/src/views/popup/Popup.vue b/src/views/popup/Popup.vue
index ac5d088..eece635 100644
--- a/src/views/popup/Popup.vue
+++ b/src/views/popup/Popup.vue
@@ -1,6 +1,6 @@
<template>
<div id="popup" v-if="isShow" class="s-map-popup-panel">
- <el-tabs v-model="tabsValue" type="card" @edit="handleTabsEdit">
+ <el-tabs v-model="tabsValue" type="card">
<el-tab-pane
:key="item.name"
v-for="(item) in tabs"
@@ -8,8 +8,8 @@
:name="item.name"
>
<el-row v-for="(v,k) in filter" :key="k">
- <el-col :span="12">{{k}}</el-col>
- <el-col :span="12">{{v}}</el-col>
+ <el-col :span="10"><B>{{k}}锛�</B></el-col>
+ <el-col :span="14">{{v}}</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
@@ -25,10 +25,7 @@
data () {
return {
tabsValue: '1',
- tabs: [{
- title: '姹¢洦姘�',
- name: '1'
- }],
+ tabs: [],
tabIndex: 2,
isShow: false,
properties: {},
@@ -75,8 +72,12 @@
this.editableTabs = tabs.filter(tab => tab.name !== targetName)
}
},
- setDatas (feature) {
- this.properties = feature.properties
+ setDatas (layer) {
+ this.tabs = [{
+ title: layer.feature.id,
+ name: '1'
+ }]
+ this.properties = layer.feature.properties
},
setShow () {
// this.style.display='auto'
--
Gitblit v1.8.0