From 80078586462a5d66221d716adca79b6173c2bc08 Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期二, 09 三月 2021 17:04:33 +0800 Subject: [PATCH] 修改已知问题 --- src/components/panel/ToolBoxPanel.vue | 244 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 206 insertions(+), 38 deletions(-) diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue index 6c6178d..0666a93 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>{{ ite.headings }}</span> + </el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> + </div> </div> </template> @@ -25,30 +39,140 @@ 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, + drawLayer: null, + L: window.L, + map: null } }, methods: { + changeSelect () { + this.selectGroup = !this.selectGroup + }, handleClose (done) { console.log(done) }, handleClick (tab, event) { console.log(tab, event) }, - toggleActive (k) { - this.total++ - this.activeTools[k] = !this.activeTools[k] + handleCommand (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) + break + case '闈㈡爣缁�': + this.drawLayer = this.map.editTools.startPolygon() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '绠ご鏍囩粯': + this.drawLayer = this.map.editTools.startPolyline() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '鐐规爣娉�': + this.drawLayer = this.map.editTools.startMarker() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '鍥炬爣鏍囨敞': + this.drawLayer = this.map.editTools.startIcon() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '鏂囧瓧鏍囨敞': + this.drawLayer = this.map.editTools.startText() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + } }, loadData () { @@ -58,6 +182,7 @@ this.loadData() }, created () { + } } </script> @@ -67,31 +192,74 @@ 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; + 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: 38px; + 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> -- Gitblit v1.8.0