From e181f04c642204e79749af93fa921875ff6c21ba Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 20 五月 2025 10:46:35 +0800 Subject: [PATCH] refactor(qms): 重构趋势图展示逻辑 --- src/layout/components/AppMain.vue | 46 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index 8a73232..0d402f2 100644 --- a/src/layout/components/AppMain.vue +++ b/src/layout/components/AppMain.vue @@ -1,10 +1,13 @@ <template> <section class="app-main"> <router-view v-slot="{ Component, route }"> - <transition :enter-active-class="animante" mode="out-in"> - <keep-alive :include="tagsViewStore.cachedViews"> - <component v-if="!route.meta.link" :is="Component" :key="route.path" /> + <transition v-if="!route.meta.noCache" :enter-active-class="animante" mode="out-in"> + <keep-alive v-if="!route.meta.noCache" :include="tagsViewStore.cachedViews"> + <component :is="Component" v-if="!route.meta.link" :key="route.path" /> </keep-alive> + </transition> + <transition v-if="route.meta.noCache" :enter-active-class="animante" mode="out-in"> + <component :is="Component" v-if="!route.meta.link && route.meta.noCache" :key="route.path" /> </transition> </router-view> <iframe-toggle /> @@ -12,24 +15,43 @@ </template> <script setup name="AppMain" lang="ts"> -import useTagsViewStore from '@/store/modules/tagsView'; import useSettingsStore from '@/store/modules/settings'; -import IframeToggle from './IframeToggle/index.vue' -import { ComponentInternalInstance } from "vue"; +import useTagsViewStore from '@/store/modules/tagsView'; + +import IframeToggle from './IframeToggle/index.vue'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const route = useRoute(); const tagsViewStore = useTagsViewStore(); // 闅忔満鍔ㄧ敾闆嗗悎 const animante = ref<string>(''); const animationEnable = ref(useSettingsStore().animationEnable); -watch(()=> useSettingsStore().animationEnable, (val) => { +watch( + () => useSettingsStore().animationEnable, + (val: boolean) => { animationEnable.value = val; if (val) { - animante.value = proxy?.animate.animateList[Math.round(Math.random() * proxy?.animate.animateList.length)] as string; + animante.value = proxy?.animate.animateList[Math.round(Math.random() * proxy?.animate.animateList.length)] as string; } else { - animante.value = proxy?.animate.defaultAnimate as string; + animante.value = proxy?.animate.defaultAnimate as string; } -}, { immediate: true }); + }, + { immediate: true } +); + +onMounted(() => { + addIframe() +}) + +watchEffect((route) => { + addIframe() +}) + +function addIframe() { + if (route.meta.link) { + useTagsViewStore().addIframeView(route) + } +} </script> <style lang="scss" scoped> @@ -41,7 +63,7 @@ overflow: hidden; } -.fixed-header+.app-main { +.fixed-header + .app-main { padding-top: 50px; } @@ -51,7 +73,7 @@ min-height: calc(100vh - 84px); } - .fixed-header+.app-main { + .fixed-header + .app-main { padding-top: 84px; } } -- Gitblit v1.9.3