From be9f3ad87b059e5ddf25a7f8f8672293aecf6302 Mon Sep 17 00:00:00 2001 From: chenyabin <Chenab123!> Date: 星期三, 07 四月 2021 14:32:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/panel/RightSearchPanel.vue | 2 src/conf/layers/LayerPipeLines.js | 6 + src/router/map.js | 4 src/components/table/enterprise.vue | 4 src/components/panel/ToolBoxPanel.vue | 6 src/components/plugin/PathDashFlow.js | 1 src/components/LayerController/modules/LcServiceLayerFilter.vue | 5 src/components/panel/LegendPanel.vue | 18 ++- src/utils/AjaxUtils.js | 22 --- src/components/LayerController/LayerController.vue | 6 src/router/index.js | 8 + src/conf/layers/LayerSewers.js | 8 src/components/table/summarySheets.vue | 2 src/components/LayerController/service/WfsLayerService.js | 5 src/utils/axios.js | 2 src/components/helpers/BasemapHelper.js | 14 +- src/views/Temp.vue | 183 ++++++++++++++++++++++++++++++++++++ 17 files changed, 238 insertions(+), 58 deletions(-) diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue index 2fa037c..7476f09 100644 --- a/src/components/LayerController/LayerController.vue +++ b/src/components/LayerController/LayerController.vue @@ -2,12 +2,12 @@ <div :class='["float-panel",layerControllerVisible ? "active" : ""]' > <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> +<!-- <span class="icon-name">鍥惧眰</span>--> </div> <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> @@ -247,7 +247,7 @@ background:@background-color; } .legend-content{ - width: 1.79167rem; + width: 2.2rem; } } diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index a8aa08a..a617f78 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,7 +99,6 @@ <style scoped lang="less"> .inner-panel { - color: #90c8e0; font-size: 13px; 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/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index 8105721..49af53e 100644 --- a/src/components/helpers/BasemapHelper.js +++ b/src/components/helpers/BasemapHelper.js @@ -1,7 +1,6 @@ /* eslint-disable no-debugger */ import AjaxUtils from '@/utils/AjaxUtils' import * as utils from '../../utils/utils' - /** * 搴曞浘绠$悊鍔╂墜锛岃礋璐e簳鍥惧垱寤哄強寮�鍏� */ @@ -20,7 +19,7 @@ * @param map * @param defBasemapName 鍒濆鍖栧畬鎴愬悗锛岄粯璁ゆ樉绀虹殑鍥惧眰 */ - initBasemap = (config, isIntranet) => { + initBasemap =async (config, isIntranet) => { if (isIntranet) { // 鍐呯綉 this._getToken(config) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 } else { // 澶栫綉 @@ -104,11 +103,10 @@ // 鍐呯綉鍦板浘鍒涘缓閮ㄥ垎 // 鑾峰彇鍐呯綉鍦板浘token锛屽苟鍔犺浇鍒板湴鍥句腑 - _getToken = (config) => { + _getToken = async (config) => { const params = config.TokenConfig - AjaxUtils.GetDataAsynByUrl(params.url, params.option, (token) => { - this._showTDT(token, config) - }) + const token = await AjaxUtils.GetDataAsynByUrl(params.url, params.option) + this._showTDT(token, config) } // 鍐呯綉鍦板浘鍔犺浇锛屽苟鍔犺浇鍒板湴鍥� @@ -116,8 +114,8 @@ const intranetBasemaps = config.mapConfig.IntranetBaseMaps for (let i = 0, len = intranetBasemaps.length; i < len; ++i) { const basemapConfig = intranetBasemaps[i] - const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) - const basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url, basemapConfig.annotation.option) + const basemapLayer = this.L.tileLayer(basemapConfig.map.url + '&token=' + token, basemapConfig.map.option) + const basemapAnnotationLayer = this.L.tileLayer(basemapConfig.annotation.url + '&token=' + token, basemapConfig.annotation.option) const basemap = { code: basemapConfig.code, 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 e309125..a2cdb5f 100644 --- a/src/components/panel/RightSearchPanel.vue +++ b/src/components/panel/RightSearchPanel.vue @@ -7,7 +7,7 @@ <div class="container"> <ul> <li style="text-align: right"> - <buttom type="button" class="el-button special-button el-button--default el-icon-d-arrow-right"></buttom> + <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)}" > diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue index ce0c138..f42d6d9 100644 --- a/src/components/panel/ToolBoxPanel.vue +++ b/src/components/panel/ToolBoxPanel.vue @@ -3,7 +3,7 @@ <div class="specific-tools"> <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'"> 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 371e9cb..261ca06 100644 --- a/src/components/table/enterprise.vue +++ b/src/components/table/enterprise.vue @@ -3,7 +3,7 @@ <div class="enterprise-function" @click="showWarnDialog()"> <div :class='["iconBtn",warnVisible ? "active-button" : ""]'> <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" class="icon"> - <span class="icon-name">棰勬姤璀�</span> + <!--<span class="icon-name">棰勬姤璀�</span>--> <!-- <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="棰勬姤璀�" placement="left"> <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto"> @@ -13,7 +13,7 @@ <div class="enterprise-function" @click="showStatisDialog()"> <div :class='["iconBtn",companyVisible ? "active-button" : ""]'> <img src="@/assets/images/map-pages/icon/map/company.png" alt="" class="icon"> - <span class="icon-name">鎸囨爣</span> +<!-- <span class="icon-name">鎸囨爣</span>--> </div> </div> <Dialog ref="warnDialog" title="浼佷笟棰勮鎶ヨ鍒嗙被缁熻" > diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue index dcd7169..1d1d523 100644 --- a/src/components/table/summarySheets.vue +++ b/src/components/table/summarySheets.vue @@ -2,7 +2,7 @@ <div class="summary-sheets"> <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn"> <img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" class="icon"> - <span class="icon-name">缁熻琛�</span> + <!--<span class="icon-name">缁熻琛�</span>--> </div> <Dialog ref="summarySheets" title="浼佷笟鎸囨爣鍒嗙被缁熻"> <tab-handover></tab-handover> 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', diff --git a/src/router/index.js b/src/router/index.js index 6bc1550..ac9cb58 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -29,9 +29,11 @@ next() // 璺宠浆 } else if (token && to.name === LOGIN_PAGE_ROUTE_NAME) { // 宸茬櫥褰曚笖瑕佽烦杞殑椤甸潰鏄櫥褰曢〉 - next({ - name: homeRouterName // 璺宠浆鍒癶omeName椤� - }) + // next({ + // name: homeRouterName // 璺宠浆鍒癶omeName椤� + // }) + console.log(homeRouterName) + next() } else if (!token) { next({ name: LOGIN_PAGE_ROUTE_NAME // 璺宠浆鍒扮櫥褰曢〉 diff --git a/src/router/map.js b/src/router/map.js index 328884b..c29b6f4 100644 --- a/src/router/map.js +++ b/src/router/map.js @@ -9,10 +9,12 @@ * } */ const MapTemplate = (r) => require.ensure([], () => r(require('../views/MapTemplate')), 'frame') +const Temp = (r) => require.ensure([], () => r(require('../views/Temp')), 'frame') const Login = (r) => require.ensure([], () => r(require('../views/Login')), 'frame') const routes = [ { path: '/mapTemplate', name: 'MapTemplate', meta: { statusBgc: 0 }, component: MapTemplate }, - { path: '/Login', name: 'Login', meta: { statusBgc: 0 }, component: Login } + { path: '/Login', name: 'Login', meta: { statusBgc: 0 }, component: Login }, + { path: '/temp', name: 'Login', meta: { statusBgc: 0 }, component: Temp } ] // 鎵�鏈変笂闈㈠畾涔夌殑璺敱閮借鍐欏湪涓嬮潰鐨剅outes閲� diff --git a/src/utils/AjaxUtils.js b/src/utils/AjaxUtils.js index d0e1bfa..b99fd67 100644 --- a/src/utils/AjaxUtils.js +++ b/src/utils/AjaxUtils.js @@ -44,31 +44,15 @@ const GetDataAsynByUrl = async (oUrl, pData) => { const pUrl = encodeURI(oUrl) - const res = await axios({ - method: 'get', - url: pUrl, - data: pData + const res = await axios.get(pUrl, { + params: pData }).then((response) => { return (response) }) .catch((error) => { console.error('鏁版嵁鑾峰彇澶辫触', error) }) - return res - - // $.ajax({ - // type: 'GET', - // url: pUrl, - // data: pData, - // timeout: 600000, - // async: true, - // success: function (datas, nnn) { - // pBackFun(datas) - // }, - // error: function (e, nnnn) { - // console.error('鏁版嵁鑾峰彇澶辫触', pUrl) - // } - // }) + return res.data } function postDataAsynByUrl (pUrl, pData, pBackFun) { $.ajax({ diff --git a/src/utils/axios.js b/src/utils/axios.js index 8324abe..47300fe 100644 --- a/src/utils/axios.js +++ b/src/utils/axios.js @@ -83,7 +83,7 @@ // 鍒涘缓axios瀹炰緥 const Service = axios.create({ - timeout: 5000 + timeout: 1000 * 30 }) const CancelToken = axios.CancelToken diff --git a/src/views/Temp.vue b/src/views/Temp.vue new file mode 100644 index 0000000..4e3accf --- /dev/null +++ b/src/views/Temp.vue @@ -0,0 +1,183 @@ +<template> + <div class="full-screen"> + <popup ref="popup" @callPopup="callPopup"></popup> + <div id="map" ref="rootmap"> + </div> + <sgis-layer-controller></sgis-layer-controller> + <monitor-panel></monitor-panel> + <!-- <top-enterprise-panel></top-enterprise-panel>--> + <tool-box-panel ref="toolBox"></tool-box-panel> + <!-- <menu-special></menu-special>--> + <legend-panel></legend-panel> + <summary-sheets></summary-sheets> + <enterprise></enterprise> + <!-- <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>--> + <!-- <el-button type="primary" @click="ChangeState" class="solid-waste">鍥哄簾</el-button>--> + <!-- <el-button type="primary" @click="ChangeWaterState" class="Waste-water">搴熸按</el-button>--> + <!-- <el-button type="primary" @click="AddGasHelper" class="flue-gas">搴熸皵</el-button>--> + <PublicBounced ref="PublicBounced"></PublicBounced> + </div> +</template> + +<script> +import 'leaflet/dist/leaflet.css' +import Sgis from '@src/Sgis' +// import mapConfig from '@/conf/MapConfig' +import SgisLayerController from '@components/LayerController/LayerController' +import MonitorPanel from '@components/panel/RightSearchPanel' +// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' +import summarySheets from '@components/table/summarySheets.vue' +import ToolBoxPanel from '@components/panel/ToolBoxPanel' +import Popup from '@views/popup/Popup' +// import MenuSpecial from '@components/panel/MenuTopic' +import LegendPanel from '@components/panel/LegendPanel' +import Enterprise from '../components/table/enterprise' +// // 鍏叡灞曠ず鏁版嵁 +import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced' +import LayerFactory from '@components/LayerController/service/LayerFactory' + +export default { + name: 'Temp', + components: { + Enterprise, + LegendPanel, + // MenuSpecial, + ToolBoxPanel, + // TopEnterprisePanel, + SgisLayerController, + MonitorPanel, + Popup, + summarySheets, + PublicBounced + }, + data () { + return { + map: null, + lcServiceLayerVisible: false, + basemapHelper: {}, + serviceLayerHelper: {}, + vectorLayerHelper: {}, + toolBoxVisible: false + } + }, + computed: { + config () { + return this.$store.state.map.config + } + }, + beforeMount () { + this.$nextTick(() => { + this.init() + }) + }, + methods: { + saveMapStatus () { + window.serviceLayerHelper = this.serviceLayerHelper + this.$store.commit('setMapObj', this.map) + this.$store.commit('setBasemapHelper', this.basemapHelper) + // this.$store.commit('setServiceLayerHelper', this.serviceLayerHelper) + this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper) + + this.lcServiceLayerVisible = true + }, + init () { + const mapcontainer = this.$refs.rootmap + this.map = Sgis.initMap(mapcontainer) + this.$refs.toolBox.map = this.map + + window.popupComp = this.$refs.popup + var layerFactory = new LayerFactory({ + L: window.L, + map: this.map + }) + layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine) + window.layerFactory = layerFactory + + this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 + this.basemapHelper.initBasemap(this.config, true) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 + // this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� + // this.vectorLayerHelper.initVectorLayers(this.config) + + // this.AddGasHelper() + // this.ChangeWaterState() + + this.saveMapStatus() + // this.setMapObj(this.mapObj) + // this.setBasemapHelper(this.basemapHelper) + // this.setServiceLayerHelper(this.serviceLayerHelper) + // this.setVectorLayerHelper(this.vectorLayerHelper) + }, + onLayerClick () { + this.$refs.popup.setShow() + }, + callPopup (val) { + console.log(val) + } + } +} +</script> + +<style lang="less"> +.flue-gas { + position: fixed; + top: 88px; + left: 180px; + z-index: 500; +} + +.solid-waste { + position: absolute; + top: 88px; + left: 88px; + z-index: 999; +} + +.Waste-water { + position: absolute; + top: 88px; + left: 280px; + z-index: 999; +} + +.full-screen { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + position: absolute; + + #map { + height: 100%; + width: 100%; + } + + .barline { + //width: 100%; + //height: 1px; + //background-color: #0661AE; + border-top: 1px solid #0661AE; + } + + #map-btn { + position: fixed; + top: 20px; + left: 100px; + z-index: 9999; + } + + .leaflet-custom-icon { + background: white; + } + + .leaflet-marker-icon { + background: none; + } + + #migic { + width: 48px; + height: 48px; + margin: -18px -20px; + z-index: 999; + } +} +</style> -- Gitblit v1.8.0