| | |
| | | <template> |
| | | <div :class='["float-panel",layerControllerVisible ? "active" : ""]' > |
| | | |
| | | <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="图层" placement="left"> |
| | | <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"> |
| | | <!-- <span class="icon-name">图层</span>--> |
| | | </div> |
| | | </el-tooltip> |
| | | <transition name="animationChange"> |
| | | <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> |
| | |
| | | |
| | | import iconSetting from '@/assets/images/map-pages/icon/setting.png' |
| | | import LcServiceLayer from './modules/LcServiceLayer' |
| | | |
| | | import bus from '@/eventBus' |
| | | export default { |
| | | name: 'LayerController', |
| | | components: { LcServiceLayer }, |
| | |
| | | } |
| | | } |
| | | }, |
| | | mounted () { |
| | | const that = this |
| | | bus.$on('changeState', function (state) { |
| | | if (state.num !== 3 && state.type) { |
| | | that.layerControllerVisible = false |
| | | } |
| | | }) |
| | | }, |
| | | methods: { |
| | | showPanel () { |
| | | this.layerControllerVisible = !this.layerControllerVisible |
| | | const state = { |
| | | type: this.layerControllerVisible, |
| | | num: 3 |
| | | } |
| | | bus.$emit('changeState', state) |
| | | }, |
| | | switchPanel () { |
| | | this.panelSwitch.main = !this.panelSwitch.main |
| | |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .animationChange-enter-active, .animationChange-leave-active { |
| | | |
| | | .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; |
| | | } |
| | | |
| | | .animationChange-enter, .animationChange-leave-to { |
| | | .layerChange-enter, |
| | | .layerChange-leave-to { |
| | | opacity: 0; |
| | | transform: translateX(-100px); |
| | | } |
| | | }*/ |
| | | .float-panel.active{ |
| | | overflow: visible; |
| | | } |
| | |
| | | min-height: 0.28rem; |
| | | min-width: 0.28rem; |
| | | overflow: hidden; |
| | | div { |
| | | color: #00fff6; |
| | | } |
| | | |
| | | .iconBtn.active{ |
| | | display: none; |
| | | } |
| | |
| | | background: #0E3565; |
| | | } |
| | | .el-button--default{ |
| | | margin-left: 10px; |
| | | padding: 15px 3px; |
| | | background:@background-color; |
| | | padding: 0; |
| | | background:@background-color4; |
| | | color:@color-tool; |
| | | position: absolute; |
| | | top:0; |
| | | right: -26px; |
| | | border-radius: 0.03rem 50% 50% 0.03rem; |
| | | top:24px; |
| | | 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: 250px; |
| | | width: 1.79167rem; |
| | | } |
| | | } |
| | | |