From cf3885ebe41f432073f4ef0ce06428c67e6ea6ed Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期一, 29 三月 2021 10:36:10 +0800 Subject: [PATCH] 弹出框修改 --- src/views/MapTemplate.vue | 145 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 121 insertions(+), 24 deletions(-) diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index 8b3b26c..e248cee 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -1,15 +1,23 @@ <template> <div class="full-screen"> - <div id="map" ref="rootmap"></div> + <popup ref="popup" @callPopup="callPopup"></popup> + <div id="map" ref="rootmap"> + </div> <sgis-layer-controller :preset="'warningPreset'"> <lc-basemap></lc-basemap> <!-- <div class="barline"></div>--> - <lc-service-layer class="barline"></lc-service-layer> + <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer> </sgis-layer-controller> - <lc-service-layer-filter v-show="showServiceLayerFilter" ref="serviceLayerFilter"></lc-service-layer-filter> <monitor-panel></monitor-panel> - <top-enterprise-panel></top-enterprise-panel> - <tool-box-panel></tool-box-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> + <PublicBounced ref="PublicBounced"></PublicBounced> </div> </template> @@ -20,35 +28,48 @@ import SgisLayerController from '@components/LayerController/LayerController' import LcBasemap from '@components/LayerController/modules/LcBaseMap' import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer' -import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter' import MonitorPanel from '@components/panel/RightSearchPanel' -import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' +// 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' +// 搴曞浘涓氬姟js閫昏緫 +import AddSolidWasteHelper from '@components/BaseNav/SolidWaste/SolidWaste' +// 鍏叡灞曠ず鏁版嵁 +import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced' export default { name: 'MapTemplate', components: { + Enterprise, + LegendPanel, + // MenuSpecial, ToolBoxPanel, - TopEnterprisePanel, + // TopEnterprisePanel, SgisLayerController, MonitorPanel, LcBasemap, LcServiceLayer, - LcServiceLayerFilter + Popup, + summarySheets, + PublicBounced }, data () { return { + // isShowBtn: false, + map: null, + lcServiceLayerVisible: false, basemapHelper: {}, serviceLayerHelper: {}, vectorLayerHelper: {} } }, computed: { - showServiceLayerFilter () { - return this.$store.state.map.showServiceLayerFilter - }, - mapConfig () { - return this.$store.state.map.mapConfig + config () { + return this.$store.state.map.config } }, beforeMount () { @@ -57,36 +78,101 @@ }) }, methods: { + ChangeState () { + const data = { + companyId: 3900100145, + userCode: 'wenchun.deng', + name: '', + marginWarr: '', + longDayWarr: '' + } + const AddSolidWaste = new AddSolidWasteHelper({ map: this.map }) + AddSolidWaste.requestData(data) + AddSolidWaste.SetSolidWasteContent(this.config, this.$refs.PublicBounced) + }, + isShowHidden () { + this.isShowBtn = !this.isShowBtn + }, saveMapStatus () { - this.$store.commit('setMapObj', this.mapObj) + 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('setServiceLayerHelper', this.serviceLayerHelper) this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper) + + this.lcServiceLayerVisible = true }, init () { const mapcontainer = this.$refs.rootmap - this.mapObj = Sgis.initMap(mapcontainer) + this.map = Sgis.initMap(mapcontainer) + this.$refs.toolBox.map = this.map - this.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 - this.basemapHelper.initBasemap(this.mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 + this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 + this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 - this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� - this.serviceLayerHelper.initServiceLayers(this.mapConfig) + this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� + console.log('-------' + this.$refs.popup.$el) + this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup) - this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� - this.vectorLayerHelper.initVectorLayers(this.mapConfig) + this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� + this.vectorLayerHelper.initVectorLayers(this.config) + + // this.ChangeState() this.saveMapStatus() // this.setMapObj(this.mapObj) // this.setBasemapHelper(this.basemapHelper) // this.setServiceLayerHelper(this.serviceLayerHelper) // this.setVectorLayerHelper(this.vectorLayerHelper) + this.addMarker() + }, + addMarker () { + const L = this.L + var icon = new L.Icon({ + iconUrl: 'assets/images/map/marker-icon.png', + shadowUrl: 'assets/images/map/marker-shadow.png', + iconSize: [25, 41], + iconAnchor: [12, 41], + popupAnchor: [1, -34], + shadowSize: [41, 41] + }) + var marker = L.marker([32.2221, 118.7843], { + icon: icon + }).addTo(this.map) + .bindPopup(() => this.$refs.popup.$el, { + className: 's-map-popup', + minWidth: 300, + closeButton: false, + autoClose: false + }) + .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', { + // permanent : true, + offset: [0, 0], // 鍋忕Щ + direction: 'right', // 鏀剧疆浣嶇疆 + // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰 + className: 'anim-tooltip'// CSS鎺у埗 + }) + + marker.on('popupopen', this.onLayerClick) + }, + onLayerClick () { + this.$refs.popup.setShow() + }, + callPopup (val) { + console.log(val) } } } </script> <style lang="less"> + +.solid-waste { + position: absolute; + top: 88px; + left: 88px; + z-index: 999; +} .full-screen { width: 100%; @@ -106,5 +192,16 @@ //background-color: #0661AE; border-top: 1px solid #0661AE; } + + #map-btn { + position: fixed; + top: 20px; + left: 100px; + z-index: 9999; + } + + .leaflet-custom-icon { + background: white; + } } -</style>> +</style> -- Gitblit v1.8.0