| | |
| | | <template> |
| | | <div class="float-panel"> |
| | | <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> |
| | | <div :class='["iconBtn",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> |
| | |
| | | |
| | | <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' |
| | | |
| | | const cityOptions = ['上海', '北京', '广州', '深圳'] |
| | | export default { |
| | | name: 'LayerController', |
| | | components: { LcServiceLayer }, |
| | |
| | | icons: { |
| | | setting: iconSetting |
| | | }, |
| | | checkAll: false, |
| | | checkedCities: ['上海', '北京'], |
| | | cities: cityOptions, |
| | | isIndeterminate: true, |
| | | layerControllerVisible: false, |
| | | panelSwitch: { |
| | | main: true // 主窗口 |
| | | } |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.$nextTick(function () { |
| | | this.init() |
| | | }) |
| | | }, |
| | | 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() |
| | | }, |
| | | 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) |
| | | } |
| | | } |
| | | }, |
| | | switchPanel () { |
| | | this.panelSwitch.main = !this.panelSwitch.main |
| | |
| | | div { |
| | | color: #00fff6; |
| | | } |
| | | .btn { |
| | | .iconBtn { |
| | | width:45px; |
| | | text-align: center; |
| | | background: rgba(0, 16, 30, 0.5); |
| | |
| | | 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%; |
| | |
| | | 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; |