From a9065e76152f447e7e6d2a8902fd1b82f4cf0c54 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期二, 16 三月 2021 16:21:35 +0800 Subject: [PATCH] 图层控样式修改 --- src/components/LayerController/LayerController.vue | 100 ++++++++++++++++++++++++++----------------------- 1 files changed, 53 insertions(+), 47 deletions(-) diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue index 7f2fd10..9a60145 100644 --- a/src/components/LayerController/LayerController.vue +++ b/src/components/LayerController/LayerController.vue @@ -1,27 +1,11 @@ <template> <div class="float-panel"> -<!-- <i class="horn horn-br"></i>--> -<!-- <i class="horn horn-bl"></i>--> - <div class="head title-border"> - <div class="title-text-border"> - <div class="title-icon"></div> - <div class="title-text">涓氬姟鐪嬫澘</div> - <div class="title-button" :class="{'switch-head-up':true, 'switch-head-down': !panelSwitch.main}" - @click="switchPanel"> - <!-- <i class="el-icon-arrow-down"></i> --> - </div> + <div :class='["btn",layerControllerVisible ? "active" : ""]' @click="showPanel"><span><img src="@assets/images/map-pages/icon/layer.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">鍥惧眰</span></span></div> + <transition name="fade"> + <div :class="'legend-content map-background'" style="position: absolute;left: 50px;top: 0" v-show="layerControllerVisible"> + <lc-service-layer></lc-service-layer> </div> - </div> - <div class="body-box" id="panelContent"> - <div id="panelInnerContent" :style="{ height:height }"> - <transition name="el-fade-in"> - <div v-show="isShow"> - <slot></slot> - </div> - </transition> - </div> - - </div> + </transition> </div> </template> @@ -30,10 +14,12 @@ import presets from './layerControllerPresets' import iconSetting from '@/assets/images/map-pages/icon/setting.png' +import LcServiceLayer from './modules/LcServiceLayer' +const cityOptions = ['涓婃捣', '鍖椾含', '骞垮窞', '娣卞湷'] export default { name: 'LayerController', - components: {}, + components: { LcServiceLayer }, props: { preset: { type: String, @@ -49,18 +35,20 @@ }, layerHelper () { return this.$store.state.map.layerHelper - }, - layerControllerVisible () { - return this.$store.state.map.layerControllerVisible } }, data () { return { - height: '200px', + width: '250px', isShow: true, icons: { setting: iconSetting }, + checkAll: false, + checkedCities: ['涓婃捣', '鍖椾含'], + cities: cityOptions, + isIndeterminate: true, + layerControllerVisible: false, panelSwitch: { main: true // 涓荤獥鍙� } @@ -72,6 +60,18 @@ }) }, methods: { + showPanel () { + this.layerControllerVisible = !this.layerControllerVisible + }, + handleCheckAllChange (val) { + this.checkedCities = val ? cityOptions : [] + this.isIndeterminate = false + }, + handleCheckedCitiesChange (value) { + const checkedCount = value.length + this.checkAll = checkedCount === this.cities.length + this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length + }, init () { this.initPreset() }, @@ -89,10 +89,10 @@ switchPanel () { this.panelSwitch.main = !this.panelSwitch.main if (this.panelSwitch.main) { - this.height = '200px' + this.width = '250px' this.isShow = true } else { - this.height = '0px' + this.width = '0px' this.isShow = false } } @@ -101,23 +101,29 @@ </script> <style lang="less"> - .float-panel { position: absolute; - left: 10px; - bottom: 10px; - width: 230px; + left: 2px; + top: 120px; height: auto; font-size: 11px; z-index: 1000; div { - color: #90c8e0; + color: #00fff6; } - - #panelInnerContent { - overflow: hidden; - transition: all 0.5s linear; + .btn { + width:45px; + text-align: center; + background: rgba(0, 16, 30, 0.5); + cursor: pointer; + color: #00fff6; + border: 0.00521rem solid #00fff6; + box-shadow: 0 0 0.03rem #00fff6; + } + .active { + border: 0.00521rem solid #fff700; + box-shadow: 0 0 0.03rem #fff700; } .title-border { width: 100%; @@ -153,11 +159,12 @@ } .title-text-border { - width: 100%; - height: 28px; + 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); + // -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 { @@ -170,14 +177,12 @@ } .title-text { - float: left; - width: 150px; + width: 25px; color: #00d0f9; - margin-left: 4px; - line-height: 20px; font-weight: bold; margin-top: 6px; - text-align: left; + 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; } @@ -219,6 +224,7 @@ background-color: rgba(44, 62, 80, 0.6); border: 1px solid #10488c; margin-top: -1px; + margin-left: 30px; height: auto; } @@ -258,7 +264,7 @@ } .horn-tl { - background-image: url(../../assets/images/map-pages/cosmetics/horn_tl.png) ; + background-image: url(../../assets/images/map-pages/cosmetics/horn_tl.png); left: -1px; top: -1px; } -- Gitblit v1.8.0