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