<template> <!-- 规划引领 --> <div class="sheHuiNet animate__animated animate__InRight"> <!-- 展开收起 --> <div :class="['rightBgPublic', 'animate__animated', ifExpand ? 'animate__fadeInRight' : 'goRightPublic']" @click="changeExpand"></div> <div :class="['rightContentPublic', 'animate__animated', ifExpand ? 'animate__fadeInRight' : 'animate__fadeOutRight']"> <n-tabs type="bar" v-model:value="value" @update:value="changeTab" animated> <n-tab-pane name="阶段一靶向治理" tab="阶段一靶向治理"> <div class="publicTitle">流域概况</div> <SHOne v-if="value == '阶段一靶向治理'" /> </n-tab-pane> <n-tab-pane name="阶段二区域治理" tab="阶段二区域治理"> <div class="publicTitle">区域治理阶段</div> <SHTwo v-if="value == '阶段二区域治理'" /> </n-tab-pane> <n-tab-pane name="阶段三系统治理" tab="阶段三系统治理"> <div class="publicTitle">系统治理阶段</div> <SHThree v-if="value == '阶段三系统治理'" /> </n-tab-pane> </n-tabs> </div> </div> </template> <script> import { toRefs, onMounted, reactive, onBeforeUnmount } from 'vue'; import SHOne from './sheHuiOne.vue'; import SHTwo from './sheHuiTwo.vue'; import SHThree from './sheHuiThree.vue'; export default { name: 'sheHuiNet', components: { SHOne, SHTwo, SHThree, }, setup() { const allData = reactive({ ifExpand: true, value: '阶段一靶向治理', }); // 展开收起 const changeExpand = () => { allData.ifExpand = !allData.ifExpand; }; // 切换tab const changeTab = (val) => { allData.value = val; }; onMounted(() => { // if (mapbox._map.getLayer('kriging_layer')) { // mapbox._map.removeLayer('kriging_layer'); // mapbox._map.removeLayer('marker_kriging_layer'); // mapbox._map.removeSource('kriging_source'); // mapbox._map.removeSource('marker_kriging_source'); // } }); onBeforeUnmount(() => {}); return { ...toRefs(allData), changeExpand, changeTab, }; }, }; </script> <style lang="less"> .sheHuiNet { height: 100%; position: absolute; right: 0; top: 0; z-index: 10; .n-tabs-nav-scroll-content { width: 377px; height: 60px; background: url('@/assets/newImgs/tabBg.png') no-repeat center; background-size: 100% 100%; } .n-tabs .n-tabs-tab-wrapper { width: 135px; justify-content: center; .n-tabs-tab { font-size: 16px; } } .n-tabs .n-tab-pane { height: 805px; } } </style>