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 | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index b7c6ef0..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"> + <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,10 +15,12 @@ </template> <script setup name="AppMain" lang="ts"> -import useTagsViewStore from '@/store/modules/tagsView'; import useSettingsStore from '@/store/modules/settings'; +import useTagsViewStore from '@/store/modules/tagsView'; + import IframeToggle from './IframeToggle/index.vue'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const route = useRoute(); const tagsViewStore = useTagsViewStore(); // 闅忔満鍔ㄧ敾闆嗗悎 @@ -23,7 +28,7 @@ const animationEnable = ref(useSettingsStore().animationEnable); watch( () => useSettingsStore().animationEnable, - (val) => { + (val: boolean) => { animationEnable.value = val; if (val) { animante.value = proxy?.animate.animateList[Math.round(Math.random() * proxy?.animate.animateList.length)] as string; @@ -33,6 +38,20 @@ }, { immediate: true } ); + +onMounted(() => { + addIframe() +}) + +watchEffect((route) => { + addIframe() +}) + +function addIframe() { + if (route.meta.link) { + useTagsViewStore().addIframeView(route) + } +} </script> <style lang="scss" scoped> -- Gitblit v1.9.3