From 6610229fc33010c2cf16405743342c3cd74de7d5 Mon Sep 17 00:00:00 2001
From: yangdelong <828900aaa>
Date: 星期三, 07 四月 2021 14:22:57 +0800
Subject: [PATCH] 修复加载内网天地图bug
---
src/router/map.js | 4
src/components/plugin/PathDashFlow.js | 1
src/utils/axios.js | 2
src/utils/AjaxUtils.js | 22 ----
src/components/helpers/BasemapHelper.js | 14 +--
src/views/Temp.vue | 183 +++++++++++++++++++++++++++++++++++++++++++++
src/router/index.js | 8 +
7 files changed, 201 insertions(+), 33 deletions(-)
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/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/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