123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <template>
- <section class="app-main">
- <router-view v-slot="{ Component, route }">
- <transition name="fade-transform" mode="out-in">
- <div>
- <keep-alive :include="tagsViewStore.cachedViews">
- <component v-if="!route.meta.link" :is="Component" :key="route.path"/>
- </keep-alive>
- </div>
- </transition>
- </router-view>
- <iframe-toggle/>
- </section>
- </template>
- <script setup>
- import useTagsViewStore from '@/store/modules/tagsView'
- const route = useRoute()
- const tagsViewStore = useTagsViewStore()
- onMounted(() => {
- addIframe()
- })
- watch((route) => {
- addIframe()
- })
- function addIframe() {
- if (route.meta.link) {
- useTagsViewStore().addIframeView(route)
- }
- }
- </script>
- <style lang="scss" scoped>
- .app-main {
- /* 50= navbar 50 */
- min-height: calc(100vh - 50px);
- width: 100%;
- position: relative;
- overflow: hidden;
- }
- .fixed-header + .app-main {
- padding-top: 50px;
- }
- .hasTagsView {
- .app-main {
- /* 84 = navbar + tags-view = 50 + 34 */
- min-height: calc(100vh - 84px);
- }
- .fixed-header + .app-main {
- padding-top: 84px;
- }
- }
- </style>
- <style lang="scss">
- // fix css style bug in open el-dialog
- .el-popup-parent--hidden {
- .fixed-header {
- padding-right: 6px;
- }
- }
- ::-webkit-scrollbar {
- width: 6px;
- height: 6px;
- }
- ::-webkit-scrollbar-track {
- background-color: #f1f1f1;
- }
- ::-webkit-scrollbar-thumb {
- background-color: #c0c0c0;
- border-radius: 3px;
- }
- </style>
|