From 2d5e75bbc04d8c4c5c7dc6bb141ad16ffa2d9936 Mon Sep 17 00:00:00 2001 From: XingChuan <m17600301067@163.com> Date: 星期日, 30 五月 2021 12:24:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/LayerController/LayerController.vue | 168 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 85 insertions(+), 83 deletions(-) diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue index 1219e4b..37af978 100644 --- a/src/components/LayerController/LayerController.vue +++ b/src/components/LayerController/LayerController.vue @@ -1,14 +1,17 @@ <template> - <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 :class='["float-panel",layerControllerVisible ? "active" : ""]' > + + <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鍥惧眰鎺у埗" placement="left"> + <div @click="showPanel" class="iconBtn" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style=" position: absolute;top:0;left: 0;"> + <!-- <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon"> --> + <i class="icon iconfont iconlayer-group"></i> + <!-- <span class="icon-name">鍥惧眰</span>--> + </div> + </el-tooltip> + <transition name="layerChange"> + <div :class="'legend-content map-background'" v-show="layerControllerVisible"> + <lc-service-layer></lc-service-layer> + <button @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></button> </div> </transition> </div> @@ -16,13 +19,13 @@ <script> import '@assets/css/map/magic.min.css' -import presets from './layerControllerPresets' import iconSetting from '@/assets/images/map-pages/icon/setting.png' - +import LcServiceLayer from './modules/LcServiceLayer' +import bus from '@/eventBus' export default { name: 'LayerController', - components: {}, + components: { LcServiceLayer }, props: { preset: { type: String, @@ -38,9 +41,6 @@ }, layerHelper () { return this.$store.state.map.layerHelper - }, - layerControllerVisible () { - return this.$store.state.map.layerControllerVisible } }, data () { @@ -50,30 +50,28 @@ icons: { setting: iconSetting }, + layerControllerVisible: false, panelSwitch: { main: true // 涓荤獥鍙� } } }, mounted () { - this.$nextTick(function () { - this.init() + const that = this + bus.$on('changeState', function (state) { + if (state.num !== 3 && state.type) { + that.layerControllerVisible = false + } }) }, methods: { - init () { - this.initPreset() - }, - initPreset () { - if (this.preset !== 'default') { - const prmPreset = presets[this.preset] - Object.assign(this.layerControllerVisible, prmPreset) // 闃叉棰勮鍙傛暟涓庨粯璁ゅ弬鏁颁笉涓�鑷村鑷存姤閿欙紝濡傛灉娌℃湁鎸夌収鎮ㄧ殑閰嶇疆鍙戠敓鏀瑰彉锛岃妫�鏌ユ嫾鍐欐槸鍚︽纭� - if (prmPreset === 'undefined') { - console.log('璇ュ浘灞傛帶鍒堕潰鏉跨殑棰勮娌℃湁鎵惧埌锛岃妫�鏌ラ璁惧悕绉版槸鍚︽纭紒') - } else { - this.$store.commit('updateLayerControllerVisible', this.layerControllerVisible) - } + showPanel () { + this.layerControllerVisible = !this.layerControllerVisible + const state = { + type: this.layerControllerVisible, + num: 3 } + bus.$emit('changeState', state) }, switchPanel () { this.panelSwitch.main = !this.panelSwitch.main @@ -91,17 +89,43 @@ <style lang="less"> + .layerChange-enter-active { + transform-origin: top left; + animation: bounce-in .2s; + } + .layerChange-leave-active { + transform-origin: top left; + animation: bounce-in .2s reverse; + } + /* + + .layerChange-enter-active, + .layerChange-leave-active { + transition: all 0.5s; + } + + .layerChange-enter, + .layerChange-leave-to { + opacity: 0; + transform: translateX(-100px); + }*/ + .float-panel.active{ + overflow: visible; + } .float-panel { position: absolute; - top: 80px; + left: 0.14583rem; + top: 0.73979rem; height: auto; font-size: 11px; z-index: 1000; - - div { - color: #90c8e0; + display: flex; + min-height: 0.28rem; + min-width: 0.28rem; + overflow: hidden; + .iconBtn.active{ + display: none; } - .title-border { width: 100%; height: 28px; @@ -204,26 +228,11 @@ 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; + transition: transform 2s linear 0s; } - select { background: transparent; margin: 6px; @@ -232,38 +241,6 @@ 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; @@ -283,6 +260,31 @@ border-radius: 0px; background: #0E3565; } + .el-button--default{ + padding: 0; + background:@background-color4; + color:@color-tool; + position: absolute; + top:20px; + right:0.02rem; + border:none;//1px solid @color-tool; + width: 0.2rem; + height: 0.2rem; + text-align: center; + line-height: 0.2rem; + margin-top: -0.1rem; + border-radius: 50%; + // border-radius: 0.03rem 50% 50% 0.03rem; + } + .el-button--default:hover{ + background:@background-color; + border:1px solid @color; + box-shadow: 0 0 2px @color; + color:@color; + } + .legend-content{ + //width: 1.79167rem; + } } </style> -- Gitblit v1.8.0