From d7dd4a54b16e97e8e60bf0ea28762c3952093a8b Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期二, 09 三月 2021 14:52:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/panel/RightSearchPanel.vue | 158 +++++++++-----
src/components/panel/ToolBoxPanel.vue | 195 ++++++++++++++---
package.json | 4
src/assets/css/map/map-elem-ui.less | 6
src/views/MapTemplate.vue | 64 ++--
src/components/panel/LegendPanel.vue | 6
src/components/panel/topicSearch/SewersSearch.vue | 4
src/components/plugin/FullScreen.js | 174 +++++++++++++++
src/Sgis.js | 4
9 files changed, 480 insertions(+), 135 deletions(-)
diff --git a/package.json b/package.json
index 5360251..b2c6155 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"dayjs": "^1.9.6",
"echarts": "^4.2.1",
"element-ui": "^2.14.1",
+ "fullscreen": "^1.1.1",
"jquery": "^3.5.1",
"js-cookie": "^2.2.0",
"leaflet": "^1.7.1",
@@ -26,10 +27,11 @@
"lodash": "^4.17.10",
"nprogress": "^0.2.0",
"rbush": "^3.0.1",
- "screenfull": "^3.3.2",
+ "screenfull": "^3.3.3",
"vue": "^2.6.11",
"vue-count-to": "^1.0.13",
"vue-focus": "^2.1.0",
+ "vue-fullscreen": "^2.2.0",
"vue-router": "^3.0.1",
"vuex": "^3.0.1"
},
diff --git a/src/Sgis.js b/src/Sgis.js
index 22380e4..af7ecb2 100644
--- a/src/Sgis.js
+++ b/src/Sgis.js
@@ -10,6 +10,8 @@
import MapConfig from '@/conf/MapConfig'
import DashFlow from '@components/plugin/PathDashFlow'
import CanvasMarkers from '@components/plugin/CanvasMarkers'
+import FullScreen from '@components/plugin/FullScreen'
+
let map = null
const L = window.L
const initMap = (div) => {
@@ -26,6 +28,8 @@
DashFlow.DashFlow(L) // 娴佸姩绾垮浘
CanvasMarkers.init(L)// 鐢诲竷鍥惧眰
// Leaflet鎵╁睍浠g爜
+ // 鍏ㄥ睆
+ FullScreen.init(L)
map = L.map(div, MapConfig.mapOptions)
diff --git a/src/assets/css/map/map-elem-ui.less b/src/assets/css/map/map-elem-ui.less
index 5b99031..1f6fd20 100644
--- a/src/assets/css/map/map-elem-ui.less
+++ b/src/assets/css/map/map-elem-ui.less
@@ -51,9 +51,9 @@
}
- location-btn{
-
- }
+ //location-btn{
+ //
+ //}
.location-btn:hover,.el-input__icon:hover{
color: @color;
diff --git a/src/components/panel/LegendPanel.vue b/src/components/panel/LegendPanel.vue
index 59cce89..70529c2 100644
--- a/src/components/panel/LegendPanel.vue
+++ b/src/components/panel/LegendPanel.vue
@@ -4,7 +4,7 @@
<i class="el-icon-more-outline"></i>
<span>鍥句緥</span>
</div>
- <transition name="fade">
+ <`transition` name="fade">
<div class="legend-content" v-show="legendControl">
<div class="legend-content-box" v-for="(item,index) in legendContents" :key="index">
<p>{{ item.title }}</p>
@@ -258,8 +258,8 @@
}
.fade-leave-active {
- transform-origin: right;
- animation: bounce-in 1s reverse;
+ //transform-origin: right;
+ //animation: bounce-in 1s reverse;
transform-origin: right bottom;
animation: bounce-in .5s reverse;
}
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 4976bac..587073a 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -1,31 +1,46 @@
<template>
<div id="right-panel">
<div class="panel-tab">
- <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleClick(item)">
+ <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleGd" :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">
<img :src="item.icon" style="width: 24px;height: 24px;"></div>
-
<!-- <div class="tab-item" @click="handleHb" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
<!-- <div class="tab-item" @click="handlePk" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
</div>
- <div class="panel-fold-btn">
- <div class="btn-stretch" @click="toggleMonitorPanel"></div>
- </div>
+<!-- <div class="panel-fold-btn" >-->
+<!-- <div class="btn-stretch" @click="toggleMonitorPanel"></div>-->
+<!-- </div>-->
- <div class="right-control">
-
+<!-- <div class="panel-fold-btn" @click="toggleMonitorPanel" >-->
+<!-- <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>-->
+<!--<!– <div class="btn-stretch" v-if="isCollapse" </div>–>-->
+<!--<!– <div class="btn-shrink" v-else-if="!isCollapse" ></div>–>-->
+<!--<!– :style = "{width:isCollapse ? '290px' : '0px'}"–>-->
+<!-- </div>-->
+<!-- <div class="right-control" v-if="!isCollapse" >-->
+ <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " >
+ <div class="panel-fold-btn" @click="toggleMonitorPanel">
+<!-- <div class="btn-stretch" v-if="isCollapse"></div>-->
+<!-- <div class="btn-shrink" v-else-if="!isCollapse"></div>-->
+ <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>
+ </div>
<component :title="title" :is="gcComp"></component>
</div>
</div>
</template>
<script>
-import $ from 'jquery'
-import { TopicComp, TopicList } from '../../conf/Topic'
+// import $ from 'jquery'
+import EnvProtectSearch from './topicSearch/EnvProtectSearch'
+import DischargeSearch from './topicSearch/DischargeSearch'
+import { TopicList } from '../../conf/Topic'
+
+import SewersSearch from '@components/panel/topicSearch/SewersSearch'
export default {
name: 'MonitorPanel',
- components: TopicComp,
+ components: { EnvProtectSearch, DischargeSearch },
data () {
return {
+ topicMenu: [],
topicList: TopicList,
topicCheckedList: [],
isPanelVisible: false,
@@ -36,8 +51,9 @@
pkVisible: false,
toggleMonitorStyle: 'right:0px',
- title: '姹¢洦姘寸缃�'
+ title: '姹¢洦姘寸缃�',
+ isCollapse: false
}
},
computed: {
@@ -53,43 +69,48 @@
handlePage (page) {
},
- handleClick (item) {
- this.title = item.name
- this.gcComp = item.comp
+ handleGd () {
+ this.title = '绠¢亾淇℃伅鏌ヨ'
},
toggleMonitorPanel () {
- const el = $('.btn-stretch')
- const el2 = $('.panel-fold-btn')
- // let cs = 'btn-stretch-active'
- var rightControl = $('#right-panel')
- const right = rightControl.css('right')
- if (right === '10px') {
- rightControl.animate({
- right: '-322px'
- })
- el.css({
- transform: 'rotateY(180deg)',
- 'transform-origin': '50% 50%',
- transition: 'transform 1s linear'
- })
- el2.animate({
- right: '320px',
- speed: 1000
- })
- } else {
- rightControl.animate({
- right: '10px'
- })
- el.css({
- transform: 'rotateY(0deg)',
- 'transform-origin': '50% 50%',
- transition: 'transform 1s linear'
- })
- el2.animate({
- right: '290px',
- speed: 1000
- })
- }
+ this.isCollapse = !this.isCollapse
+ // const el = $('.btn-stretch')
+ // const el2 = $('.panel-fold-btn')
+ // const el = document.getElementsByClassName('.btn-stretch')
+ // const el2 = document.getElementsByClassName('.panel-fold-btn')
+ // let = 'btn-stretch-active'
+ // var rightControl = $('#right-panel')
+ // var rightControl = document.getElementById('#right-panel')
+ // const right = rightControl.css('right')
+ // const rightit = rightControl.ownerDocument.defaultView
+ // const right = rightit.getComputedStyle(rightit, null).right
+ // if (right === '10px') {
+ // rightControl.animate({
+ // right: '-322px'
+ // })
+ // el.css({
+ // transform: 'rotateY(180deg)',
+ // 'transform-origin': '50% 50%',
+ // transition: 'transform 1s linear'
+ // })
+ // el2.animate({
+ // right: '320px',
+ // speed: 1000
+ // })
+ // } else {
+ // rightControl.animate({
+ // right: '10px'
+ // })
+ // el.css({
+ // transform: 'rotateY(0deg)',
+ // 'transform-origin': '50% 50%',
+ // transition: 'transform 1s linear'
+ // })
+ // el2.animate({
+ // right: '290px',
+ // speed: 1000
+ // })
+ // }
}
},
mounted () {
@@ -127,6 +148,7 @@
.el-form-item__label {
color: rgb(52, 224, 255);
+ /*<!--color: @color;-->*/
}
.el-input__inner::placeholder {
@@ -218,14 +240,29 @@
white-space: nowrap;
}
.panel-fold-btn{
+ overflow: hidden;
position: absolute;
top:45%;
+ left: -18px;
+ /*left: 0px;*/
//right: 320px;
- right: 290px;
+ /*right: 290px;*/
z-index: 1000;
+ /*right: 0px;*/
background-color: rgba(5,24,66,.8);
border-radius: 10px 0 0 10px;
.btn-stretch {
+ width: 20px;
+ height: 40px;
+ background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -408px 5px;
+ cursor: pointer;
+ /*margin-left: -20px;*/
+ transform: rotateY(0deg);
+ transform-origin: 50% 50%;
+ transition: transform 1s linear;
+ /*transition: 3s linear;*/
+ }
+ .btn-shrink {
width: 20px;
height: 40px;
background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -408px 5px;
@@ -258,17 +295,20 @@
}
.right-control {
- width: 290px;
+ /*width: 290px;*/
//height: 573px;
height: 100%;
- position: absolute;
+ position: relative;
top: 0;
right: 0;
z-index: 999;
background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat;
background-size: 100% 98%;
}
-
+ .a{
+ transform: translateX(328px);
+ transition: transform 3s linear;
+ }
.panel_searchTotal {
font-size: 12px;
float: right;
@@ -276,13 +316,13 @@
.panel_header {
// background-color: #030D2E;
- padding: 7px 15px 3px 20px;
+ padding: 8px 15px 3px 20px;
}
.panel_title {
font-size: 12px;
- margin: 0px;
- padding: 0px;
+ /*margin: 0px;*/
+ /*padding: 0px;*/
color: #78c4ff;
font-weight: bold;
}
@@ -292,7 +332,7 @@
}
.search-form .el-form-item {
- margin: 0px;
+ /*margin: 0px;*/
margin-bottom: 8px;
}
@@ -438,7 +478,7 @@
::-webkit-scrollbar-track {
/*婊氬姩鏉¢噷闈㈣建閬�*/
- // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
+ box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
border-radius: 0px;
background: #0E3565;
}
@@ -467,5 +507,13 @@
background-color: #061e51 !important;
}
}
+ .unfold {
+ transform: translateX(332px);
+ transition: transform 0.5s linear;
+ }
+ .shrink {
+ transform: translateX(0px);
+ transition: transform 0.5s linear;
+ }
}
</style>
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 8f90ff8..5747cc7 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -1,11 +1,25 @@
<template>
<div class="lefttop-toolbox-panel">
- <ul>
- <li v-for="(item,i) in imgList" :key="i" @click="toggleActive(i)" :value="total"
- :class="{'active':activeTools[i]}">
- <img :src="item"/>
- </li>
- </ul>
+ <div class="init-choose" @click="changeSelect()">
+ <img src="@/assets/images/map-pages/icon/toolbox/circle.png" alt="">
+ </div>
+ <!-- <transition name="fade">-->
+ <!-- <ul v-show='selectGroup'>-->
+ <!-- <li v-for="(item,i) in imgList" :key="i" @click="toggleActive(i)" :value="total"><img :src="item"/></li>-->
+ <!-- </ul>-->
+ <!-- </transition>-->
+ <div class="el-select-dropdown" v-show='selectGroup'>
+ <el-dropdown @command="handleCommand" trigger="click" v-for="(item,i) in imgLists" :key="i" :value="total">
+ <transition name="fade">
+ <img :src="item.title" :title="item.alt"/>
+ </transition>
+ <el-dropdown-menu>
+ <el-dropdown-item v-for="(ite,index) in item.items" :key="index" :command='ite.headings'>
+ <span @click='toggleActive(ite)'>{{ ite.headings }}</span>
+ </el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ </div>
</div>
</template>
@@ -20,35 +34,98 @@
export default {
name: 'ToolBoxPanel',
components: {},
+ props: ['map'],
data () {
return {
isPanelVisible: false,
total: 0,
activeTools: {},
- imgList: {
- circle: circle,
- square: square,
- polygon: polygon,
- legend: legend,
- location: location,
- fullscreen: fullscreen
- },
+ imgLists: [
+ {
+ title: circle,
+ alt: '鏍囩粯',
+ items: [
+ { headings: '绾挎爣缁�' },
+ { headings: '闈㈡爣缁�' },
+ { headings: '绠ご鏍囩粯' }
+ ]
+ },
+ {
+ title: square,
+ alt: '鏍囨敞',
+ items: [
+ { headings: '鐐规爣娉�' },
+ { headings: '绾挎爣娉�' },
+ { headings: '闈㈡爣娉�' },
+ { headings: '鏂囧瓧鏍囨敞' },
+ { headings: '鍥炬爣鏍囨敞' }
+ ]
+ },
+ {
+ title: legend,
+ alt: '娴嬮噺',
+ items: [
+ { headings: '璺濈娴嬮噺' },
+ { headings: '闈㈢Н娴嬮噺' }
+ ]
+ },
+ {
+ title: location,
+ alt: '鍒囨崲搴曞浘',
+ items: [
+ { headings: '褰卞儚鍥�' },
+ { headings: '鐭㈤噺鍥�' },
+ { headings: '鍦板舰鍥�' }
+ ]
+ },
+ {
+ title: polygon,
+ alt: '绠$綉',
+ items: [
+ { headings: '杩為�氭�у垎鏋�' },
+ { headings: '鐖嗙鍒嗘瀽' },
+ { headings: '娴佸悜鍒嗘瀽' },
+ { headings: '妯柇闈㈠垎鏋�' }
+ ]
+ },
+ {
+ title: fullscreen,
+ alt: '涓嬭浇',
+ items: [
+ { headings: '鍏ㄥ睆' },
+ { headings: 'A4妯悜' },
+ { headings: 'A4绾靛悜' }
+ ]
+ }
+ ],
form: {
regionType: '',
enterprise: ''
- }
+ },
+ selectGroup: false,
+ selectGroupOne: false
}
},
methods: {
+ changeSelect () {
+ this.selectGroup = !this.selectGroup
+ },
handleClose (done) {
console.log(done)
},
handleClick (tab, event) {
console.log(tab, event)
},
+ handleCommand (command) {
+ console.log(command)
+ if (command === '鍏ㄥ睆') {
+ this.map.toggleFullscreen()
+ }
+ },
toggleActive (k) {
- this.total++
- this.activeTools[k] = !this.activeTools[k]
+ if (k === 'fullscreen') {
+ this.map.toggleFullscreen()
+ }
},
loadData () {
@@ -58,6 +135,7 @@
this.loadData()
},
created () {
+
}
}
</script>
@@ -67,31 +145,74 @@
position: absolute;
left: 5px;
top: 5px;
- z-index: 1000;
- width: 175px;
- height: 35px;
- line-height: 30px;
- background: #07325b;
- border: 1px solid #5EF2FF;
- border-radius: 3px;
- text-align: center;
+ z-index: 999;
+ display: flex;
- ul {
- list-style: none;
- margin: 0;
- padding: 5px;
+ .init-choose {
+ //margin: 15px 5px;
+ background: #305B62;
+ //margin-top: 15px;
+ width: 35px;
+ height: 35px;
+ border-radius: 50%;
+ border: 2px skyblue solid;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 999;
+ }
- li {
- float: left;
- width: 23px;
- height: 23px;
- margin: 0 1px;
- border: 1px solid #073C4F;
+ .el-select-dropdown {
+ position: absolute;
+ z-index: 1;
+ width: 250px;
+ height: 35px;
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ background: #305B62;
+ border-radius: 15px;
+ padding-inline: 10px;
+ padding-inline-start: 30px;
+
+ .el-dropdow {
+ width: 20%;
+ }
+
+ @keyframes bounce-in {
+ 0% {
+ transform: scale(0);
+ opacity: 0.3;
+ }
+ 100% {
+ transform: scale(1);
+ opacity: 1;
+ }
+ }
+
+ .fade-enter-active {
+ transform-origin: left center;
+ animation: bounce-in .2s;
+ }
+
+ .fade-leave-active {
+ transform-origin: left;
+ animation: bounce-in .2s reverse;
}
}
- .active {
- border: 1px solid #5EF2FF;
+ .el-select-dropdown:last-child {
+ margin-left: 10px;
}
+
+ .el-dropdown-link {
+ cursor: pointer;
+ color: #409EFF;
+ }
+
+ .el-icon-arrow-down {
+ font-size: 12px;
+ }
+
}
</style>
diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue
index a3987bf..6fe9340 100644
--- a/src/components/panel/topicSearch/SewersSearch.vue
+++ b/src/components/panel/topicSearch/SewersSearch.vue
@@ -1,9 +1,5 @@
<template>
<div class="sewers-search">
- <div class="el-message-box__header panel_header">
- <div class="el-message-box__title panel_title"><!----><span>{{ title }}</span>
- </div>
- </div>
<div class="el-message-box__content" style="padding:6px;font-size: 13px;">
<div class="box__content" v-if="gdVisible">
<div>
diff --git a/src/components/plugin/FullScreen.js b/src/components/plugin/FullScreen.js
new file mode 100644
index 0000000..888371d
--- /dev/null
+++ b/src/components/plugin/FullScreen.js
@@ -0,0 +1,174 @@
+/* eslint-disable */
+const init = (L) => {
+ (function (factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD
+ define(['leaflet'], factory)
+ } else if (typeof module !== 'undefined') {
+ // Node/CommonJS
+ // module.exports = factory(require('leaflet'))
+ factory(L)
+ } else {
+ // Browser globals
+ if (typeof window.L === 'undefined') {
+ throw new Error('Leaflet must be loaded first')
+ }
+ factory(window.L)
+ }
+ }(function (L) {
+ L.Control.Fullscreen = L.Control.extend({
+ options: {
+ position: 'topleft',
+ title: {
+ false: 'View Fullscreen',
+ true: 'Exit Fullscreen'
+ }
+ },
+
+ onAdd: function (map) {
+ var container = L.DomUtil.create('div', 'leaflet-control-fullscreen leaflet-bar leaflet-control')
+
+ this.link = L.DomUtil.create('a', 'leaflet-control-fullscreen-button leaflet-bar-part', container)
+ this.link.href = '#'
+
+ this._map = map
+ this._map.on('fullscreenchange', this._toggleTitle, this)
+ this._toggleTitle()
+
+ L.DomEvent.on(this.link, 'click', this._click, this)
+
+ return container
+ },
+
+ _click: function (e) {
+ L.DomEvent.stopPropagation(e)
+ L.DomEvent.preventDefault(e)
+ this._map.toggleFullscreen(this.options)
+ },
+
+ _toggleTitle: function () {
+ this.link.title = this.options.title[this._map.isFullscreen()]
+ }
+ })
+
+ L.Map.include({
+ isFullscreen: function () {
+ return this._isFullscreen || false
+ },
+
+ toggleFullscreen: function (options) {
+ var container = this.getContainer()
+ if (this.isFullscreen()) {
+ if (options && options.pseudoFullscreen) {
+ this._disablePseudoFullscreen(container)
+ } else if (document.exitFullscreen) {
+ document.exitFullscreen()
+ } else if (document.mozCancelFullScreen) {
+ document.mozCancelFullScreen()
+ } else if (document.webkitCancelFullScreen) {
+ document.webkitCancelFullScreen()
+ } else if (document.msExitFullscreen) {
+ document.msExitFullscreen()
+ } else {
+ this._disablePseudoFullscreen(container)
+ }
+ } else {
+ if (options && options.pseudoFullscreen) {
+ this._enablePseudoFullscreen(container)
+ } else if (container.requestFullscreen) {
+ container.requestFullscreen()
+ } else if (container.mozRequestFullScreen) {
+ container.mozRequestFullScreen()
+ } else if (container.webkitRequestFullscreen) {
+ container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)
+ } else if (container.msRequestFullscreen) {
+ container.msRequestFullscreen()
+ } else {
+ this._enablePseudoFullscreen(container)
+ }
+ }
+ },
+
+ _enablePseudoFullscreen: function (container) {
+ L.DomUtil.addClass(container, 'leaflet-pseudo-fullscreen')
+ this._setFullscreen(true)
+ this.fire('fullscreenchange')
+ },
+
+ _disablePseudoFullscreen: function (container) {
+ L.DomUtil.removeClass(container, 'leaflet-pseudo-fullscreen')
+ this._setFullscreen(false)
+ this.fire('fullscreenchange')
+ },
+
+ _setFullscreen: function (fullscreen) {
+ this._isFullscreen = fullscreen
+ var container = this.getContainer()
+ if (fullscreen) {
+ L.DomUtil.addClass(container, 'leaflet-fullscreen-on')
+ } else {
+ L.DomUtil.removeClass(container, 'leaflet-fullscreen-on')
+ }
+ this.invalidateSize()
+ },
+
+ _onFullscreenChange: function (e) {
+ var fullscreenElement =
+ document.fullscreenElement ||
+ document.mozFullScreenElement ||
+ document.webkitFullscreenElement ||
+ document.msFullscreenElement
+
+ if (fullscreenElement === this.getContainer() && !this._isFullscreen) {
+ this._setFullscreen(true)
+ this.fire('fullscreenchange')
+ } else if (fullscreenElement !== this.getContainer() && this._isFullscreen) {
+ this._setFullscreen(false)
+ this.fire('fullscreenchange')
+ }
+ }
+ })
+
+ L.Map.mergeOptions({
+ fullscreenControl: false
+ })
+
+ L.Map.addInitHook(function () {
+ if (this.options.fullscreenControl) {
+ this.fullscreenControl = new L.Control.Fullscreen(this.options.fullscreenControl)
+ this.addControl(this.fullscreenControl)
+ }
+
+ var fullscreenchange
+
+ if ('onfullscreenchange' in document) {
+ fullscreenchange = 'fullscreenchange'
+ } else if ('onmozfullscreenchange' in document) {
+ fullscreenchange = 'mozfullscreenchange'
+ } else if ('onwebkitfullscreenchange' in document) {
+ fullscreenchange = 'webkitfullscreenchange'
+ } else if ('onmsfullscreenchange' in document) {
+ fullscreenchange = 'MSFullscreenChange'
+ }
+
+ if (fullscreenchange) {
+ var onFullscreenChange = L.bind(this._onFullscreenChange, this)
+
+ this.whenReady(function () {
+ L.DomEvent.on(document, fullscreenchange, onFullscreenChange)
+ })
+
+ this.on('unload', function () {
+ L.DomEvent.off(document, fullscreenchange, onFullscreenChange)
+ })
+ }
+ })
+
+ L.control.fullscreen = function (options) {
+ return new L.Control.Fullscreen(options)
+ }
+ }))
+}
+export default {
+ init
+}
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index a1c32db..a98e84c 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,19 +1,19 @@
<template>
- <div class="full-screen">
- <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" v-if="lcServiceLayerVisible"></lc-service-layer>
- </sgis-layer-controller>
- <monitor-panel></monitor-panel>
-<!-- <top-enterprise-panel></top-enterprise-panel>-->
- <tool-box-panel></tool-box-panel>
- <menu-special></menu-special>
- <legend-panel></legend-panel>
+ <div class="full-screen">
+ <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" v-if="lcServiceLayerVisible"></lc-service-layer>
+ </sgis-layer-controller>
+ <monitor-panel></monitor-panel>
+ <!-- <top-enterprise-panel></top-enterprise-panel>-->
+ <tool-box-panel :map="this.map"></tool-box-panel>
+ <menu-special></menu-special>
+ <legend-panel></legend-panel>
+ </div>
</template>
<script>
@@ -134,23 +134,23 @@
<style lang="less">
- .full-screen {
- width: 100%;
- height: 100%;
- margin: 0;
- padding: 0;
- position: absolute;
+.full-screen {
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ position: absolute;
- #map {
- height: 100%;
- width: 100%;
- }
+ #map {
+ height: 100%;
+ width: 100%;
+ }
- .barline {
- //width: 100%;
- //height: 1px;
- //background-color: #0661AE;
- border-top: 1px solid #0661AE;
- }
- }
-</style>>
+ .barline {
+ //width: 100%;
+ //height: 1px;
+ //background-color: #0661AE;
+ border-top: 1px solid #0661AE;
+ }
+}
+</style>
--
Gitblit v1.8.0