From 231ed8b3de4866ceb5bbb9833c0a7afaee9583d6 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期五, 12 三月 2021 18:15:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/plugin/Editable.js | 10
src/components/plugin/MeaSure.js | 6
src/components/panel/BaseNavMenuItem.vue | 56 +++
src/components/table/summarySheets.vue | 21
src/components/panel/ToolBoxPanel.vue | 336 +++++++++++---------
src/views/MapTemplate.vue | 13
src/components/panel/bounced/TextBounced.vue | 20 +
src/components/plugin/MakeTation.js | 72 ++-
src/components/LayerController/LayerController.vue | 388 ++++++++++++------------
9 files changed, 515 insertions(+), 407 deletions(-)
diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue
index e6a8076..1219e4b 100644
--- a/src/components/LayerController/LayerController.vue
+++ b/src/components/LayerController/LayerController.vue
@@ -1,19 +1,17 @@
<template>
- <div class="float-panel">
- <!-- <i class="horn horn-br"></i>-->
- <!-- <i class="horn horn-bl"></i>-->
- <div class="title-text-border" @click="switchPanel">
- <div class="title-icon"></div>
- <div class="title-text">鍥惧眰鎺у埗</div>
- </div>
- <transition name="el-fade-in-linear">
- <div class="body-box" id="panelContent" :style="{ width:width }">
- <div v-show="isShow">
- <slot></slot>
- </div>
- </div>
- </transition>
+ <div class="float-panel">
+ <div class="title-text-border" @click="switchPanel">
+ <div class="title-icon"></div>
+ <div class="title-text">鍥惧眰鎺у埗</div>
</div>
+ <transition name="el-fade-in-linear">
+ <div class="body-box" id="panelContent" :style="{ width:width }">
+ <div v-show="isShow">
+ <slot></slot>
+ </div>
+ </div>
+ </transition>
+ </div>
</template>
<script>
@@ -93,198 +91,198 @@
<style lang="less">
- .float-panel {
- position: absolute;
- top: 80px;
- height: auto;
- font-size: 11px;
- z-index: 1000;
+.float-panel {
+ position: absolute;
+ top: 80px;
+ height: auto;
+ font-size: 11px;
+ z-index: 1000;
- div {
- color: #90c8e0;
- }
+ div {
+ color: #90c8e0;
+ }
- .title-border {
- width: 100%;
- height: 28px;
- background: #10488c;
- -webkit-clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
- clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
- position: relative;
- }
+ .title-border {
+ width: 100%;
+ height: 28px;
+ background: #10488c;
+ -webkit-clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
+ clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
+ position: relative;
+ }
- .title-border:before {
- content: "";
- display: block;
- position: absolute;
- width: 6px;
- height: 6px;
- top: 0;
- left: 0;
- background-color: #38c8ef;
- }
+ .title-border:before {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 6px;
+ height: 6px;
+ top: 0;
+ left: 0;
+ background-color: #38c8ef;
+ }
- .title-border:after {
- content: "";
- display: block;
- position: absolute;
- width: 6px;
- height: 6px;
- top: 9px;
- right: 0;
- background-color: #38c8ef;
- -webkit-clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
- clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
- }
+ .title-border:after {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 6px;
+ height: 6px;
+ top: 9px;
+ right: 0;
+ background-color: #38c8ef;
+ -webkit-clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
+ clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
+ }
- .title-text-border {
- width: 30px;
- height: 120px;
- float: left;
- background: #091331;
- // -webkit-clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
- // clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
- }
+ .title-text-border {
+ width: 30px;
+ height: 120px;
+ float: left;
+ background: #091331;
+ // -webkit-clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
+ // clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
+ }
- .title-icon {
- float: left;
- width: 22px;
- height: 22px;
- margin-top: 4px;
- margin-left: 2px;
- background-image: url(../../assets/images/map-pages/icon/setting.png);
- }
+ .title-icon {
+ float: left;
+ width: 22px;
+ height: 22px;
+ margin-top: 4px;
+ margin-left: 2px;
+ background-image: url(../../assets/images/map-pages/icon/setting.png);
+ }
- .title-text {
- width: 25px;
- color: #00d0f9;
- font-weight: bold;
- margin-top: 6px;
- text-align: center;
- font-size: 14px;
- filter: brightness(100%);
- text-shadow: 0 0 5px #00d0f9, 0 0 0 #00d0f9, 0 0 0 #00d0f9, 0 0 0 #0258c5, 0 0 0 #0258c5, 0 0 2px #0258c5, 0 0 5px #0258c5, 0 0 15px #0258c5;
- }
+ .title-text {
+ width: 25px;
+ color: #00d0f9;
+ font-weight: bold;
+ margin-top: 6px;
+ text-align: center;
+ font-size: 14px;
+ filter: brightness(100%);
+ text-shadow: 0 0 5px #00d0f9, 0 0 0 #00d0f9, 0 0 0 #00d0f9, 0 0 0 #0258c5, 0 0 0 #0258c5, 0 0 2px #0258c5, 0 0 5px #0258c5, 0 0 15px #0258c5;
+ }
- .title-line {
- display: inline-block;
- width: 120px;
- height: 1px;
- // margin-top: 14px;
- margin-left: 4px;
- background-color: #04527f;
- line-height: 5px;
- vertical-align: middle;
- }
+ .title-line {
+ display: inline-block;
+ width: 120px;
+ height: 1px;
+ // margin-top: 14px;
+ margin-left: 4px;
+ background-color: #04527f;
+ line-height: 5px;
+ vertical-align: middle;
+ }
- .title-point {
- display: inline-block;
- width: 5px;
- height: 5px;
- // margin-top: 12px;
- background-color: #04527f;
- line-height: 5px;
- vertical-align: middle;
- }
+ .title-point {
+ display: inline-block;
+ width: 5px;
+ height: 5px;
+ // margin-top: 12px;
+ background-color: #04527f;
+ line-height: 5px;
+ vertical-align: middle;
+ }
- .title-button {
- float: right;
- width: 28px;
- height: 28px;
- cursor: pointer;
+ .title-button {
+ float: right;
+ width: 28px;
+ height: 28px;
+ cursor: pointer;
- :hover {
- font-weight: bold;
- color: white;
- }
- }
-
- .body-box {
- background-color: rgba(44, 62, 80, 0.6);
- border: 1px solid #10488c;
- margin-top: -1px;
- margin-left: 30px;
- height: auto;
- }
-
- .switch-head-up {
- width: 22px;
- height: 16px;
- float: right;
- margin-top: 10px;
- margin-right: 10px;
- cursor: pointer;
- background-image: url(../../assets/images/map-pages/icon/xljt1.png);
- transform: rotateX(0deg);
- transform-origin: 50% 50%;
- transition: transform 0.5s linear 0s;
- }
-
- .switch-head-down {
- transform: rotateX(180deg);
- transform-origin: 50% 50%;
- transition: transform 0.5s linear 0s;
- }
-
- select {
- background: transparent;
- margin: 6px;
- border: .5px solid #569EB7;
- width: 150px;
- color: #569EB7;
- padding: 0 16px;
- }
-
- .horn {
- width: 6px;
- height: 6px;
- float: left;
- position: absolute;
- }
-
- .horn-tl {
- background-image: url(../../assets/images/map-pages/cosmetics/horn_tl.png);
- left: -1px;
- top: -1px;
- }
-
- .horn-tr {
- background-image: url(../../assets/images/map-pages/cosmetics/horn_tr.png);
- right: -1px;
- top: -1px;
- }
-
- .horn-bl {
- background-image: url(../../assets/images/map-pages/cosmetics/horn_bl.png);
- left: -1px;
- bottom: -1px;
- }
-
- .horn-br {
- background-image: url(../../assets/images/map-pages/cosmetics/horn_br.png);
- right: -1px;
- bottom: -1px;
- }
-
- ::-webkit-scrollbar {
- width: 7px;
- height: 5px !important;
- }
-
- ::-webkit-scrollbar-thumb {
- /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/
- border-radius: 10px;
- box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
- background: #0661AE;
- border: 1px solid transparent;
- }
-
- ::-webkit-scrollbar-track {
- /*婊氬姩鏉¢噷闈㈣建閬�*/
- // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
- border-radius: 0px;
- background: #0E3565;
- }
+ :hover {
+ font-weight: bold;
+ color: white;
}
+ }
+
+ .body-box {
+ background-color: rgba(44, 62, 80, 0.6);
+ border: 1px solid #10488c;
+ margin-top: -1px;
+ margin-left: 30px;
+ height: auto;
+ }
+
+ .switch-head-up {
+ width: 22px;
+ height: 16px;
+ float: right;
+ margin-top: 10px;
+ margin-right: 10px;
+ cursor: pointer;
+ background-image: url(../../assets/images/map-pages/icon/xljt1.png);
+ transform: rotateX(0deg);
+ transform-origin: 50% 50%;
+ transition: transform 0.5s linear 0s;
+ }
+
+ .switch-head-down {
+ transform: rotateX(180deg);
+ transform-origin: 50% 50%;
+ transition: transform 0.5s linear 0s;
+ }
+
+ select {
+ background: transparent;
+ margin: 6px;
+ border: .5px solid #569EB7;
+ width: 150px;
+ color: #569EB7;
+ padding: 0 16px;
+ }
+
+ .horn {
+ width: 6px;
+ height: 6px;
+ float: left;
+ position: absolute;
+ }
+
+ .horn-tl {
+ background-image: url(../../assets/images/map-pages/cosmetics/horn_tl.png);
+ left: -1px;
+ top: -1px;
+ }
+
+ .horn-tr {
+ background-image: url(../../assets/images/map-pages/cosmetics/horn_tr.png);
+ right: -1px;
+ top: -1px;
+ }
+
+ .horn-bl {
+ background-image: url(../../assets/images/map-pages/cosmetics/horn_bl.png);
+ left: -1px;
+ bottom: -1px;
+ }
+
+ .horn-br {
+ background-image: url(../../assets/images/map-pages/cosmetics/horn_br.png);
+ right: -1px;
+ bottom: -1px;
+ }
+
+ ::-webkit-scrollbar {
+ width: 7px;
+ height: 5px !important;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/
+ border-radius: 10px;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
+ background: #0661AE;
+ border: 1px solid transparent;
+ }
+
+ ::-webkit-scrollbar-track {
+ /*婊氬姩鏉¢噷闈㈣建閬�*/
+ // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
+ border-radius: 0px;
+ background: #0E3565;
+ }
+}
</style>
diff --git a/src/components/panel/BaseNavMenuItem.vue b/src/components/panel/BaseNavMenuItem.vue
new file mode 100644
index 0000000..69330e9
--- /dev/null
+++ b/src/components/panel/BaseNavMenuItem.vue
@@ -0,0 +1,56 @@
+<template>
+ <div class="base-nav-menu">
+ <template v-for="(item,index) in menuList">
+ <template v-if="item.items && item.items.length">
+ <el-submenu :index="item.index" :key="index">
+ <template slot="title" v-if="item.icon">
+ <img :src="item.icon" :title="item.label"/>
+ </template>
+ <template slot="title" v-else>{{item.label}}</template>
+ <base-nav-menu-item v-for="child in item.items" :key="child.title" :menuList='[child]'></base-nav-menu-item>
+ </el-submenu>
+ </template>
+ <template v-else>
+ <el-menu-item :index="item.index" :key="index">
+ {{ item.label }}
+ </el-menu-item>
+ </template>
+ </template>
+ </div>
+</template>
+
+<script>
+
+export default {
+ name: 'BaseNavMenuItem',
+ data () {
+ return {}
+ },
+ props: {
+ menuList: Array
+ }
+}
+</script>
+
+<style lang="less" scoped>
+.base-nav-menu {
+ height: 38px;
+ line-height: 38px;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ outline: none;
+ border: none;
+
+ .el-submenu {
+ .el-submenu__title {
+ border-radius: 50%;
+
+ .el-icon-arrow-down {
+ display: none;
+ }
+
+ }
+ }
+}
+</style>
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 7e6489e..1b9fd88 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -1,32 +1,33 @@
<template>
<div class="lefttop-toolbox-panel">
- <div class="init-choose" @click="changeSelect()">
- <img src="@/assets/images/map-pages/icon/toolbox/circle.png" alt="">
+ <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>
- <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>
- <!-- // 寮规-->
- <TextBounced v-show="this.bouncedText" @changeBounced="gitBounced"></TextBounced>
+ <!--鏂囧瓧鏍囨敞寮规-->
+ <!-- <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'
@@ -36,78 +37,128 @@
import MakeTation from '@components/plugin/MakeTation'
// 灏佽鐨勯�夋嫨寮规
-import TextBounced from '@components/panel/bounced/TextBounced'
+import BaseNavMenuItem from '@components/panel/BaseNavMenuItem'
export default {
name: 'ToolBoxPanel',
- components: { TextBounced },
+ components: { BaseNavMenuItem },
data () {
return {
- isPanelVisible: false,
- total: 0,
- activeTools: {},
- imgLists: [
+ menuList: [
{
- title: circle,
- alt: '鏍囩粯',
+ icon: circle,
+ label: '鏍囩粯',
+ index: '1',
items: [
- { headings: '绾挎爣缁�' },
- { headings: '闈㈡爣缁�' },
- { headings: '绠ご鏍囩粯' }
+ {
+ index: '1-1',
+ label: '鐐规爣缁�'
+ },
+ {
+ index: '1-2',
+ label: '绾挎爣缁�'
+ },
+ {
+ index: '1-3',
+ label: '闈㈡爣缁�',
+ items: [
+ {
+ index: '1-3-1',
+ label: '鍦嗗舰'
+ },
+ {
+ index: '1-3-2',
+ label: '澶氳竟褰�'
+ },
+ {
+ index: '1-3-3',
+ label: '鐭╁舰'
+ }
+ ]
+ }
]
},
{
- title: square,
- alt: '鏍囨敞',
+ icon: location,
+ label: '鍒囨崲搴曞浘',
+ index: '2',
items: [
- { headings: '鐐规爣娉�' },
- { headings: '绾挎爣娉�' },
- { headings: '闈㈡爣娉�' },
- { headings: '鏂囧瓧鏍囨敞' },
- { headings: '鍥炬爣鏍囨敞' }
+ {
+ label: '褰卞儚鍥�',
+ index: '2-1',
+ items: [
+ {
+ index: '2-1-1',
+ label: '褰卞儚妯欐敞'
+ }
+ ]
+ },
+ {
+ label: '鐭㈤噺鍥�',
+ index: '2-2',
+ items: [
+ {
+ index: '2-2-1',
+ label: '鐭㈤噺妯欐敞'
+ }
+ ]
+ },
+ {
+ label: '鍦板舰鍥�',
+ index: '2-3',
+ items: [
+ {
+ index: '2-3-1',
+ label: '鍦板舰妯欐敞'
+ }
+ ]
+ }
]
},
{
- title: legend,
- alt: '娴嬮噺',
+ icon: polygon,
+ label: '绠$綉',
+ index: '3',
items: [
- { headings: '璺濈娴嬮噺' },
- { headings: '闈㈢Н娴嬮噺' }
+ {
+ index: '3-1',
+ label: '杩為�氭�у垎鏋�'
+ },
+ {
+ index: '3-2',
+ label: '鐖嗙鍒嗘瀽'
+ },
+ {
+ index: '3-3',
+ label: '娴佸悜鍒嗘瀽'
+ },
+ {
+ index: '3-4',
+ label: '妯柇闈㈠垎鏋�'
+ }
]
},
{
- title: location,
- alt: '鍒囨崲搴曞浘',
+ icon: fullscreen,
+ label: '涓嬭浇',
+ index: '4',
items: [
- { headings: '褰卞儚鍥�' },
- { headings: '鐭㈤噺鍥�' },
- { headings: '鍦板舰鍥�' }
- ]
- },
- {
- title: polygon,
- alt: '绠$綉',
- items: [
- { headings: '杩為�氭�у垎鏋�' },
- { headings: '鐖嗙鍒嗘瀽' },
- { headings: '娴佸悜鍒嗘瀽' },
- { headings: '妯柇闈㈠垎鏋�' }
- ]
- },
- {
- title: fullscreen,
- alt: '涓嬭浇',
- items: [
- { headings: '鍏ㄥ睆' },
- { headings: 'A4妯悜' },
- { headings: 'A4绾靛悜' }
+ {
+ index: '4-1',
+ label: '鍏ㄥ睆'
+ },
+ {
+ index: '4-2',
+ label: 'A4妯悜'
+ },
+ {
+ index: '4-3',
+ label: 'A4绾靛悜'
+ }
]
}
],
- form: {
- regionType: '',
- enterprise: ''
- },
+ isCollapse: false,
selectGroup: false,
drawLayer: null,
map: null,
@@ -117,19 +168,20 @@
}
},
methods: {
+ handleOpen () {
+ },
+ handleClose () {
+ },
+ handleSelect (index, indexPath) {
+
+ },
gitBounced (params) {
this.bouncedText = params
},
changeSelect () {
this.selectGroup = !this.selectGroup
},
- handleClose (done) {
- console.log(done)
- },
- handleClick (tab, event) {
- console.log(tab, event)
- },
- handleCommand (command) {
+ handleSelects (command) {
console.log(command)
switch (command) {
case '鍏ㄥ睆':
@@ -163,17 +215,17 @@
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 '绠ご鏍囩粯':
- this.drawLayer = this.map.editTools.startPolylineArrow()
- this.drawLayer.on('dblclick').on('dblclick', this.drawLayer.toggleEdit)
+ case '澶氳竟褰�':
+ alert('澶氳竟褰�')
break
- case '鐐规爣娉�':
- MakeTation.StartCircleAnnotation(this.map, this.L)
+ case '鐐规爣缁�':
+ MakeTation.StartPointAnnotation(this.map, this.L)
break
case '鍥炬爣鏍囨敞':
this.drawLayer = this.map.editTools.startIcon()
@@ -190,93 +242,71 @@
Measure.startMeasureArea(this.map, this.L)
break
}
- },
- loadData () {
-
}
- },
- mounted () {
- this.loadData()
- },
- created () {
-
}
}
</script>
<style lang="less">
+
.lefttop-toolbox-panel {
position: absolute;
- left: 5px;
- top: 5px;
+ left: 15px;
+ top: 15px;
z-index: 999;
- display: flex;
- .init-choose {
- //margin: 15px 5px;
- background: #305B62;
- //margin-top: 15px;
- width: 35px;
- height: 38px;
- border-radius: 50%;
- border: 2px skyblue solid;
+ div {
+ width: 100%;
+ height: 55px;
+ line-height: 55px;
display: flex;
align-items: center;
- justify-content: center;
- z-index: 999;
- }
+ justify-content: space-around;
- .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%;
+ .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;
}
- @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;
+ .el-menu {
+ width: 80%;
+ background: none;
+ z-index: 1;
+ border: none;
+ background: #305B62;
+ border-radius: 50px;
}
}
- .el-select-dropdown:last-child {
- margin-left: 10px;
- }
-
- .el-dropdown-link {
- cursor: pointer;
- color: #409EFF;
- }
-
- .el-icon-arrow-down {
- font-size: 12px;
- }
+ //.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>
diff --git a/src/components/panel/bounced/TextBounced.vue b/src/components/panel/bounced/TextBounced.vue
index d5dde64..6ccfe85 100644
--- a/src/components/panel/bounced/TextBounced.vue
+++ b/src/components/panel/bounced/TextBounced.vue
@@ -16,7 +16,7 @@
<li class="bounced-box-choose">
<span>棰滆壊锛�</span>
<select v-model='bouncedSelect' @click="changeLabelTextSelect()">
- <option v-for="(item,index) in selectOptions" :key="index" :value="item">{{ item }}</option>
+ <option v-for="(item,index) in selectOptions" :key="index" :value="item.value">{{ item.text }}</option>
</select>
</li>
</ul>
@@ -32,8 +32,21 @@
data () {
return {
bouncedText: '',
- bouncedSelect: '绾㈣壊',
- selectOptions: ['绾㈣壊', '钃濊壊', '榛勮壊']
+ bouncedSelect: 'red',
+ selectOptions: [
+ {
+ value: 'red',
+ text: '绾㈣壊'
+ },
+ {
+ value: 'blue',
+ text: '钃濊壊'
+ },
+ {
+ value: 'yellow',
+ text: '榛勮壊'
+ }
+ ]
}
},
methods: {
@@ -43,6 +56,7 @@
changeLabelTextSelect () {
// this.bouncedSelect = item
console.log('鑾峰彇棰滆壊')
+ MakeTation.setContentColor(this.bouncedSelect)
},
ChangeText () {
MakeTation.setContentText(this.bouncedText)
diff --git a/src/components/plugin/Editable.js b/src/components/plugin/Editable.js
index bd287f5..d39de14 100644
--- a/src/components/plugin/Editable.js
+++ b/src/components/plugin/Editable.js
@@ -306,16 +306,6 @@
line.enableEdit(this.map).newShape(latlng)
return line
},
- // 绠ご鏍囩粯
- startPolylineArrow: function (latlng, options) {
- const lineArrow = this.createPolyline([], {
- color: 'black',
- weight: 3,
- opacity: 1.0
- })
- lineArrow.enableEdit(this.map).newShape(latlng)
- return lineArrow
- },
// 馃崅method startPolygon(latlng: L.LatLng, options: hash): L.Polygon
// Start drawing a Polygon. If `latlng` is given, a first point will be added. In any case, continuing on user click.
diff --git a/src/components/plugin/MakeTation.js b/src/components/plugin/MakeTation.js
index 9aedc5e..189619f 100644
--- a/src/components/plugin/MakeTation.js
+++ b/src/components/plugin/MakeTation.js
@@ -20,14 +20,20 @@
TextAnnotation.layers = L.layerGroup()
map.on('click', TextAnnotation.click).on('dblclick', TextAnnotation.dblclick)
},
- setContent :function (changeContent) {
- console.log(changeContent)
+ // 璁剧疆鏀瑰彉鏂囧瓧鍐呭
+ setContent: function (changeContent) {
+ // console.log(changeContent)
TextAnnotation.changeContent = changeContent
},
+ // 璁剧疆鏀瑰彉鏂囧瓧棰滆壊
+ setColor: function (changeColor) {
+ // console.log(changeColor)
+ TextAnnotation.changeColor = changeColor
+ },
click: function (e) {
- console.log(TextAnnotation.changeContent)
+ // console.log(TextAnnotation.changeContent)
let labIcon = L.divIcon({
- html: '<div style="color: red;font-size: 18px;">' + TextAnnotation.changeContent + '</div>',
+ html: '<div style="color:' + TextAnnotation.changeColor + ';font-size: 18px;">' + TextAnnotation.changeContent + '</div>',
iconSize: [100, 40],
iconAnchor: [0, 0],
className: ''
@@ -52,7 +58,7 @@
}
// 娣诲姞 鐐� 鐨勬爣娉�
-var CircleAnnotation = {
+let pointAnnotation = {
points: [],
color: 'yellow',
L: null,
@@ -61,54 +67,60 @@
polyline: null,
marker: null,
init: function (map, L) {
- // console.log(L)
- CircleAnnotation.L = L
- CircleAnnotation.map = map
- CircleAnnotation.points = []
- CircleAnnotation.polyline = null
- CircleAnnotation.marker = null
- CircleAnnotation.layers = L.layerGroup()
- map.on('click', CircleAnnotation.click).on('dblclick', CircleAnnotation.dblclick)
+ pointAnnotation.L = L
+ pointAnnotation.map = map
+ pointAnnotation.points = []
+ pointAnnotation.polyline = null
+ pointAnnotation.marker = null
+ pointAnnotation.layers = L.layerGroup()
+ map.on('click', pointAnnotation.click).on('dblclick', pointAnnotation.dblclick)
},
click: function (e) {
- // var myIcon = L.divIcon({className: 'my-div-icon'});
let marker = L.marker(e.latlng)
- marker.addTo(CircleAnnotation.map)
+ marker.addTo(pointAnnotation.map)
+ // pointAnnotation.map.panBy(L.point(e.latlng))
},
dblclick: function (e) {
- CircleAnnotation.map.off('click', CircleAnnotation.click).off('dblclick', CircleAnnotation.dblclick)
+ pointAnnotation.map.off('click', pointAnnotation.click).off('dblclick', pointAnnotation.dblclick)
},
destory: function () {
- if (CircleAnnotation.polyline) {
- CircleAnnotation.map.removeLayer(CircleAnnotation.polyline)
+ if (pointAnnotation.polyline) {
+ pointAnnotation.map.removeLayer(pointAnnotation.polyline)
}
- if (CircleAnnotation.marker) {
- CircleAnnotation.marker.remove()
+ if (pointAnnotation.marker) {
+ pointAnnotation.marker.remove()
}
- if (CircleAnnotation.layers) {
- CircleAnnotation.layers.clearLayers()
+ if (pointAnnotation.layers) {
+ pointAnnotation.layers.clearLayers()
}
}
}
+// 娣诲姞鏂囧瓧鏍囨敞
const startMakeText = function (map, L) {
TextAnnotation.init(map, L)
}
-
-const StartCircleAnnotation = function (map, L) {
- CircleAnnotation.init(map, L)
-}
-
+// 鏂囧瓧鏍囨敞鐨� 鍐呭绀捐缃�
const setContentText = function (text) {
TextAnnotation.setContent(text)
+}
+// 鏂囧瓧鏍囨敞鍐呭鐨� 棰滆壊 璁剧疆
+const setContentColor = function (color) {
+ TextAnnotation.setColor(color)
+}
+
+// 鐐� 鏍囨敞
+const StartPointAnnotation = function (map, L) {
+ pointAnnotation.init(map, L)
}
const clearText = function () {
startMakeText.destory()
}
export default {
- startMakeText,
clearText,
- StartCircleAnnotation,
- setContentText
+ startMakeText,
+ setContentText,
+ setContentColor,
+ StartPointAnnotation
}
diff --git a/src/components/plugin/MeaSure.js b/src/components/plugin/MeaSure.js
index b6730f1..2c05000 100644
--- a/src/components/plugin/MeaSure.js
+++ b/src/components/plugin/MeaSure.js
@@ -77,14 +77,14 @@
var distanceMeasure = {
points: [],
// markers:[],
- color: 'red',
+ color: 'blue',
L: null,
map: null,
layers: null,
polyline: null,
marker: null,
init: function (map, L) {
- console.log(L)
+ // console.log(L)
distanceMeasure.L = L
distanceMeasure.map = map
distanceMeasure.points = []
@@ -127,8 +127,6 @@
console.log('鍙屽嚮缁撴潫', e)
distanceMeasure.polyline.addTo(distanceMeasure.layers)
distanceMeasure.close(e.latlng)
-//distanceMeasure.polygon.enableEdit();
-//map.on('editable:vertex:drag editable:vertex:deleted', distanceMeasure.polygon.updateMeasurements, distanceMeasure.polygon);
distanceMeasure.map.off('click', distanceMeasure.click).off('mousemove', distanceMeasure.mousemove).off('dblclick', distanceMeasure.dblclick)
},
destory: function () {
diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue
index 2a45071..e4bd2ef 100644
--- a/src/components/table/summarySheets.vue
+++ b/src/components/table/summarySheets.vue
@@ -1,17 +1,18 @@
<template>
<div class="summary-sheets">
+ <div id="summary">
<el-row type="flex" class="head-area" align="middle">
<el-col>
<span>浼佷笟鎸囨爣鍒嗙被缁熻</span>
</el-col>
<el-col class="head-area-button">
- <el-button style="float: right; padding: 3px 0" icon="el-icon-close" type="info"></el-button>
+ <el-button style="float: right; padding: 3px 0" icon="el-icon-close" type="info" @click="closebtn"></el-button>
</el-col>
</el-row>
<!-- <el-tabs class="tabs-text">-->
<el-row :gutter="20" class="el-rowscol">
<el-col>
- <el-tabs class="tabs-text" v-model="activeName" type="card" @tab-click="handleClick">
+ <el-tabs class="tabs-text" v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane label="搴熸按" name="first">
<waste-water></waste-water>
</el-tab-pane>
@@ -27,6 +28,7 @@
</el-tabs>
</el-col>
</el-row>
+ </div>
</div>
</template>
@@ -51,6 +53,11 @@
methods: {
handleClick (tab, event) {
console.log(tab, event)
+ },
+ closebtn () {
+ const summary = document.getElementById('summary')
+ summary.style.display = 'none'
+ console.log(1)
}
}
}
@@ -58,12 +65,11 @@
<style>
.summary-sheets {
- /*overflow: hidden;*/
position: absolute;
top: 50px;
left: 50px;
- width: 850px;
- height: 265px;
+ /*width: 850px;*/
+ /*height: 265px;*/
border: #90c8e0 1px solid;
z-index:9999999;
background-color: rgba(26, 73, 81, 0.901960784313726);
@@ -82,8 +88,7 @@
.head-area-button{
margin-right: 5px;
}
- .el-rowscol{
- width: 100%;
- height: 100%;
+ .tabs-text{
+ background-color: rgba(26, 73, 81, 0.901960784313726);
}
</style>
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 2061b6e..5e3f482 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -13,7 +13,8 @@
<tool-box-panel ref="toolBox"></tool-box-panel>
<menu-special></menu-special>
<legend-panel></legend-panel>
- <enterprise></enterprise>
+ <summary-sheets v-show="isShowbtn"></summary-sheets>
+ <el-button id="mapbtn" type="primary" icon="el-icon-c-scale-to-original" circle @click="isshowhidden"></el-button>
</div>
</template>
@@ -26,16 +27,15 @@
import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
import MonitorPanel from '@components/panel/RightSearchPanel'
// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
+import summarySheets from '@components/table/summarySheets.vue'
import ToolBoxPanel from '@components/panel/ToolBoxPanel'
import Popup from '@views/popup/Popup'
import MenuSpecial from '@components/panel/MenuTopic'
import LegendPanel from '@components/panel/LegendPanel'
-import Enterprise from '../components/table/enterprise'
export default {
name: 'MapTemplate',
components: {
- Enterprise,
LegendPanel,
MenuSpecial,
ToolBoxPanel,
@@ -44,10 +44,12 @@
MonitorPanel,
LcBasemap,
LcServiceLayer,
- Popup
+ Popup,
+ summarySheets
},
data () {
return {
+ isShowbtn: false,
map: null,
lcServiceLayerVisible: false,
basemapHelper: {},
@@ -66,6 +68,9 @@
})
},
methods: {
+ isshowhidden () {
+ this.isShowbtn = !this.isShowbtn
+ },
saveMapStatus () {
window.serviceLayerHelper = this.serviceLayerHelper
this.$store.commit('setMapObj', this.map)
--
Gitblit v1.8.0