From 17e7836b1d0a7bd1a51d44ae071a88423a9f9370 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期一, 08 三月 2021 17:57:16 +0800
Subject: [PATCH] 添加工具栏功能
---
src/components/panel/ToolBoxPanel.vue | 195 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 158 insertions(+), 37 deletions(-)
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 6c6178d..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: 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: 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>
--
Gitblit v1.8.0