From c94159caa730e2809d790ab5fd7b77cd47c725dc Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期二, 16 三月 2021 10:27:55 +0800 Subject: [PATCH] 修改功能栏功能 --- src/assets/css/map/_map-variable.less | 3 + src/assets/images/map-pages/icon/toolbox/juli.png | 0 src/components/plugin/Editable.js | 14 ------- src/components/panel/ToolBoxPanel.vue | 95 +++++++++++++++++++++++++++++++++-------------- src/components/plugin/MakeTation.js | 5 +- src/assets/images/map-pages/icon/toolbox/M2.png | 0 6 files changed, 71 insertions(+), 46 deletions(-) diff --git a/src/assets/css/map/_map-variable.less b/src/assets/css/map/_map-variable.less index 9938ddd..5af7d49 100644 --- a/src/assets/css/map/_map-variable.less +++ b/src/assets/css/map/_map-variable.less @@ -3,7 +3,8 @@ @color-gray: #C0C4CC; @color-title: white; @color-over: white; -@color-tool:#C0C4CC; +@color-tool: #C0C4CC; +@color-shadow: #00fff6; @background-color: rgba(0, 16, 30, .8); @background-color-light: rgba(40, 50, 100, .4); @background-color-split: rgba(0, 255, 246, .14); diff --git a/src/assets/images/map-pages/icon/toolbox/M2.png b/src/assets/images/map-pages/icon/toolbox/M2.png new file mode 100644 index 0000000..034f53d --- /dev/null +++ b/src/assets/images/map-pages/icon/toolbox/M2.png Binary files differ diff --git a/src/assets/images/map-pages/icon/toolbox/juli.png b/src/assets/images/map-pages/icon/toolbox/juli.png new file mode 100644 index 0000000..c36a89b --- /dev/null +++ b/src/assets/images/map-pages/icon/toolbox/juli.png Binary files differ diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue index 7707776..8433648 100644 --- a/src/components/panel/ToolBoxPanel.vue +++ b/src/components/panel/ToolBoxPanel.vue @@ -2,7 +2,6 @@ <div class="left-top-toolbox-panel"> <div class="specific-tools"> <el-button @click="changeSelect"> - <!-- <i class="el-icon-s-tools"></i>--> <img src="@assets/images/map-pages/icon/toolbox/tool.png" alt=""> <span>宸ュ叿</span> </el-button> @@ -14,14 +13,13 @@ :popper-class="'tools-panel-content'" v-for="(item,index) in menuList" :key="index" > - <el-button slot="reference" class="tools-panel-choose"> + <el-button slot="reference" class="el-button" :class="active === index ? 'tools-panel-choose':''" + @click="changeChoose(index)"> <img :src="item.icon" alt=""/> <span>{{ item.label }}</span> </el-button> - <el-button v-for="(itemT,indexT) in item.items" :key="indexT"> - <!-- <i class="el-icon-s-tools"></i>--> + <el-button v-for="(itemT,indexT) in item.items" :key="indexT" @click="choiceItem(itemT)"> <img :src="itemT.icon" alt=""/> - <!-- <span>{{ itemT.label }}</span>--> </el-button> </el-popover> </el-row> @@ -45,14 +43,17 @@ import polygonS from '@assets/images/map-pages/icon/toolbox/ju.png' import polygonY from '@assets/images/map-pages/icon/toolbox/circle.png' -// import square from '@/assets/images/map-pages/icon/toolbox/square.png' +// 娴嬮噺 +import distance from '@assets/images/map-pages/icon/toolbox/juli.png' +import mm from '@assets/images/map-pages/icon/toolbox/M2.png' + // 娴嬮噺鐨勬柟娉� +import Measure from '@/components/plugin/MeaSure' // 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' +// 鏍囨敞鐨勬柟娉� +// import MakeTation from '@components/plugin/MakeTation' export default { name: 'ToolBoxPanel', @@ -99,11 +100,13 @@ items: [ { index: '3-1', - label: '璺濈' + label: '璺濈', + icon: distance }, { index: '3-2', - label: '闈㈢Н' + label: '闈㈢Н', + icon: mm } ] }, @@ -164,14 +167,49 @@ ] } ], - isCollapse: false, selectGroup: false, drawLayer: null, map: null, - L: window.L + L: window.L, + active: 0 } }, methods: { + changeChoose (index) { + this.active = index + }, + choiceItem (itemT) { + console.log(itemT.label) + switch (itemT.label) { + case '鐐规爣缁�': + // MakeTation.StartPointAnnotation(this.map, this.L) + this.drawLayer = this.map.editTools.startMarker() + 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.startPolygon() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '鐭╁舰': + this.drawLayer = this.map.editTools.startRectangle() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '鍦嗗舰': + this.drawLayer = this.map.editTools.startCircle() + this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit) + break + case '璺濈': + Measure.startMeasureLen(this.map, this.L) + break + case '闈㈢Н': + Measure.startMeasureArea(this.map, this.L) + break + } + }, // handleSelect (index) { // console.log(index) // switch (index) { @@ -237,9 +275,6 @@ // } // }, // 鏂囧瓧鏍囨敞鎺у埗 - gitBounced (params) { - this.bouncedText = params - }, // 宸︿笂鍔熻兘鎺у埗 changeSelect () { this.selectGroup = !this.selectGroup @@ -267,7 +302,6 @@ height: 45px; background: @background-color-tools; border: none; - box-shadow: 0 0 0.03rem #00fff6; img { width: 22px; @@ -281,21 +315,26 @@ } } + .specific-tools-group { + .tools-panel-choose { + border: none; + box-shadow: 0 0 0.03rem @color-shadow; + + img { + width: 22px; + height: 22px; + } + + span { + display: block; + } + } + } + .special-button { width: 22.5px; height: 45px; color: @color-over; - } - - .tools-panel-choose { - img { - width: 16px; - height: 16px; - } - - span { - display: block; - } } } } diff --git a/src/components/plugin/Editable.js b/src/components/plugin/Editable.js index 15b4c3a..79fc3ad 100644 --- a/src/components/plugin/Editable.js +++ b/src/components/plugin/Editable.js @@ -317,12 +317,6 @@ return polygon }, - // circleMarker :function (latlng,options) { - // const yuan = this.circleMarker(latlng,options) - // yuan.enableEdit(this.map).newShape(latlng) - // return yuan - // } - // 馃崅method startMarker(latlng: L.LatLng, options: hash): L.Marker // Start adding a Marker. If `latlng` is given, the Marker will be shown first at this point. // In any case, it will follow the user mouse, and will have a final `latlng` on next click (or touch). @@ -353,14 +347,6 @@ const circle = this.createCircle(latlng, options) circle.enableEdit(this.map).startDrawing() return circle - }, - - // 鍥炬爣鏍囨敞 - startIcon: function (latlng, options) { - latlng = latlng || this.map.getCenter().clone() - const icon = this.createMarker(latlng, options) - icon.enableEdit(this.map).startDrawing() - return icon }, startHole: function (editor, latlng) { diff --git a/src/components/plugin/MakeTation.js b/src/components/plugin/MakeTation.js index 189619f..311f7c9 100644 --- a/src/components/plugin/MakeTation.js +++ b/src/components/plugin/MakeTation.js @@ -2,7 +2,7 @@ // 娣诲姞鏂囧瓧鏍囨敞 var TextAnnotation = { points: [], - color: 'yellow', + color: '', L: null, map: null, layers: null, @@ -60,7 +60,7 @@ // 娣诲姞 鐐� 鐨勬爣娉� let pointAnnotation = { points: [], - color: 'yellow', + color: '', L: null, map: null, layers: null, @@ -78,7 +78,6 @@ click: function (e) { let marker = L.marker(e.latlng) marker.addTo(pointAnnotation.map) - // pointAnnotation.map.panBy(L.point(e.latlng)) }, dblclick: function (e) { pointAnnotation.map.off('click', pointAnnotation.click).off('dblclick', pointAnnotation.dblclick) -- Gitblit v1.8.0