From 2366e25dea648aa39dd4ba21205bcc67ee85dc5d Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期五, 12 三月 2021 16:08:23 +0800 Subject: [PATCH] 修改左上方工具 --- src/components/panel/ToolBoxPanel.vue | 315 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 250 insertions(+), 65 deletions(-) diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue index 6c6178d..74a25e2 100644 --- a/src/components/panel/ToolBoxPanel.vue +++ b/src/components/panel/ToolBoxPanel.vue @@ -1,97 +1,282 @@ <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> + <div class="init-choose" @click="changeSelect()"> + <img src="@/assets/images/map-pages/icon/toolbox/circle.png" alt=""/> + </div> + <el-menu class="el-menu" + mode="horizontal" + :collapse="isCollapse" + unique-opened + @open="handleOpen" + @close="handleClose" + @select="handleSelect" + v-show='selectGroup' + > + <base-nav-menu-item :menuList='menuList'></base-nav-menu-item> + </el-menu> + </div> + <!--鏂囧瓧鏍囨敞寮规--> + <!-- <TextBounced v-show="this.bouncedText" @changeBounced="gitBounced"></TextBounced>--> </div> </template> <script> -import circle from '@/assets/images/map-pages/icon/toolbox/circle.png' -import fullscreen from '@/assets/images/map-pages/icon/toolbox/fullscreen.png' -import legend from '@/assets/images/map-pages/icon/toolbox/legend.png' -import location from '@/assets/images/map-pages/icon/toolbox/location.png' -import polygon from '@/assets/images/map-pages/icon/toolbox/polygon.png' -import square from '@/assets/images/map-pages/icon/toolbox/square.png' +// import legend from '@/assets/images/map-pages/icon/toolbox/legend.png' +// import square from '@/assets/images/map-pages/icon/toolbox/square.png' +import circle from '@assets/images/map-pages/icon/toolbox/circle.png' +import location from '@assets/images/map-pages/icon/toolbox/location.png' +import polygon from '@assets/images/map-pages/icon/toolbox/polygon.png' +import fullscreen from '@assets/images/map-pages/icon/toolbox/fullscreen.png' + +// 娴嬮噺鐨勬柟娉� +import '@/components/plugin/leaflet-measure-path/leaflet-measure-path.css' +import Measure from '@/components/plugin/MeaSure' + +// 鏍囨敞鐨勬柟娉� +import MakeTation from '@components/plugin/MakeTation' + +// 灏佽鐨勯�夋嫨寮规 +import BaseNavMenuItem from '@components/panel/BaseNavMenuItem' export default { name: 'ToolBoxPanel', - components: {}, + components: { BaseNavMenuItem }, data () { return { - isPanelVisible: false, - total: 0, - activeTools: {}, - imgList: { - circle: circle, - square: square, - polygon: polygon, - legend: legend, - location: location, - fullscreen: fullscreen - }, - form: { - regionType: '', - enterprise: '' - } + menuList: [ + { + title: circle, + alt: '鏍囩粯', + items: [ + { + headings: '鐐规爣缁�' + }, + { + headings: '绾挎爣缁�' + }, + { + headings: '闈㈡爣缁�', + items: [ + { headings: '鍦嗗舰' }, + { headings: '澶氳竟褰�' }, + { headings: '鐭╁舰' } + ] + } + ] + }, + // { + // title: square, + // alt: '鏍囨敞', + // items: [ + // { headings: '鐐规爣娉�' }, + // { headings: '绾挎爣娉�' }, + // { headings: '闈㈡爣娉�' }, + // { headings: '鏂囧瓧鏍囨敞' }, + // { headings: '鍥炬爣鏍囨敞' } + // ] + // }, + // { + // title: legend, + // alt: '娴嬮噺', + // items: [ + // { headings: '璺濈娴嬮噺' }, + // { headings: '闈㈢Н娴嬮噺' } + // ] + // }, + { + title: location, + alt: '鍒囨崲搴曞浘', + items: [ + { + headings: '褰卞儚鍥�', + items: [ + { headings: '褰卞儚妯欐敞' } + ] + }, + { + headings: '鐭㈤噺鍥�', + items: [ + { headings: '鐭㈤噺妯欐敞' } + ] + }, + { + headings: '鍦板舰鍥�', + items: [ + { headings: '鍦板舰妯欐敞' } + ] + } + ] + }, + { + title: polygon, + alt: '绠$綉', + items: [ + { headings: '杩為�氭�у垎鏋�' }, + { headings: '鐖嗙鍒嗘瀽' }, + { headings: '娴佸悜鍒嗘瀽' }, + { headings: '妯柇闈㈠垎鏋�' } + ] + }, + { + title: fullscreen, + alt: '涓嬭浇', + items: [ + { headings: '鍏ㄥ睆' }, + { headings: 'A4妯悜' }, + { headings: 'A4绾靛悜' } + ] + } + ], + isCollapse: false, + selectGroup: false, + drawLayer: null, + map: null, + L: window.L, + // 鎺у埗宸ュ叿鏍� 鏂囧瓧鏍囨敞 鐨勫脊妗嗘槸鍚︽樉绀� + bouncedText: false } }, methods: { - handleClose (done) { - console.log(done) + handleOpen () { }, - handleClick (tab, event) { - console.log(tab, event) + handleClose () { }, - toggleActive (k) { - this.total++ - this.activeTools[k] = !this.activeTools[k] - }, - loadData () { + handleSelect (index, indexPath) { + }, + gitBounced (params) { + this.bouncedText = params + }, + changeSelect () { + this.selectGroup = !this.selectGroup + }, + handleSelects (command) { + console.log(command) + switch (command) { + case '鍏ㄥ睆': + // this.map.toggleFullscreen() + var printer = this.L.easyPrint({ + sizeModes: ['Current', 'A4Landscape', 'A4Portrait'], + filename: 'map_image', + exportOnly: true, + hideControlContainer: true + }).addTo(this.map) + printer.printMap('CurrentSize', 'MyManualPrint') + break + case 'A4妯悜': + var printerX = this.L.easyPrint({ + sizeModes: ['Current', 'A4Landscape', 'A4Portrait'], + filename: 'map_image', + exportOnly: true, + hideControlContainer: true + }).addTo(this.map) + printerX.printMap('A4Landscape page', 'MyManualPrint') + break + case 'A4绾靛悜': + var printerY = this.L.easyPrint({ + sizeModes: ['Current', 'A4Landscape', 'A4Portrait'], + filename: 'map_image', + exportOnly: true, + hideControlContainer: true + }).addTo(this.map) + printerY.printMap('A4Portrait page', 'MyManualPrint') + break + case '绾挎爣缁�': + this.drawLayer = this.map.editTools.startPolyline() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + Measure.startMeasureLen(this.map, this.L) + break + case '闈㈡爣缁�': + this.drawLayer = this.map.editTools.startPolygon() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '澶氳竟褰�': + alert('澶氳竟褰�') + break + case '鐐规爣缁�': + MakeTation.StartPointAnnotation(this.map, this.L) + break + case '鍥炬爣鏍囨敞': + this.drawLayer = this.map.editTools.startIcon() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '鏂囧瓧鏍囨敞': + this.bouncedText = true + MakeTation.startMakeText(this.map, this.L) + break + case '璺濈娴嬮噺': + Measure.startMeasureLen(this.map, this.L) + break + case '闈㈢Н娴嬮噺': + Measure.startMeasureArea(this.map, this.L) + break + } } - }, - mounted () { - this.loadData() - }, - created () { } } </script> <style lang="less"> + .lefttop-toolbox-panel { position: absolute; - left: 5px; - top: 5px; - z-index: 1000; - width: 180px; - height: 35px; - line-height: 30px; - background: #07325b; - border: 1px solid #5EF2FF; - border-radius: 3px; - text-align: center; + left: 15px; + top: 15px; + z-index: 999; - ul { - list-style: none; - margin: 0; - padding: 5px; + div { + width: 100%; + height: 55px; + line-height: 55px; + display: flex; + align-items: center; + justify-content: space-around; - li { - float: left; - width: 23px; - height: 23px; - margin: 0 1px; - border: 1px solid #073C4F; + .init-choose { + background: #305B62; + width: 35px; + height: 35px; + border-radius: 50%; + border: 2px skyblue solid; + display: flex; + align-items: center; + justify-content: center; + z-index: 999; + } + + .el-menu { + width: 80%; + background: none; + z-index: 1; + border: none; + background: #305B62; + border-radius: 50px; } } - .active { - border: 1px solid #5EF2FF; - } + //.transition { + // @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; + // } + //} + } </style> -- Gitblit v1.8.0