|
@@ -6,7 +6,9 @@ import { useTransition } from './useTransition';
|
|
|
|
|
|
import { RouterView, RouteLocation } from 'vue-router';
|
|
|
import { tabStore } from '/@/store/modules/tab';
|
|
|
+import FrameLayout from '/@/layouts/iframe/index.vue';
|
|
|
|
|
|
+import { useSetting } from '/@/hooks/core/useSetting';
|
|
|
// import { useRouter } from 'vue-router';
|
|
|
export default defineComponent({
|
|
|
name: 'PageLayout',
|
|
@@ -22,6 +24,7 @@ export default defineComponent({
|
|
|
const { on: transitionOn } = useTransition();
|
|
|
on = transitionOn;
|
|
|
}
|
|
|
+ const { projectSetting } = useSetting();
|
|
|
return () => {
|
|
|
const {
|
|
|
routerTransition,
|
|
@@ -32,32 +35,35 @@ export default defineComponent({
|
|
|
|
|
|
const openCache = openKeepAlive && show;
|
|
|
const cacheTabs = toRaw(tabStore.getKeepAliveTabsState) as string[];
|
|
|
- return [
|
|
|
- <RouterView>
|
|
|
- {{
|
|
|
- default: ({ Component, route }: { Component: any; route: RouteLocation }) => {
|
|
|
- const Content = openCache ? (
|
|
|
- <KeepAlive max={max} include={cacheTabs}>
|
|
|
+ return (
|
|
|
+ <div>
|
|
|
+ <RouterView>
|
|
|
+ {{
|
|
|
+ default: ({ Component, route }: { Component: any; route: RouteLocation }) => {
|
|
|
+ const Content = openCache ? (
|
|
|
+ <KeepAlive max={max} include={cacheTabs}>
|
|
|
+ <Component {...route.params} />
|
|
|
+ </KeepAlive>
|
|
|
+ ) : (
|
|
|
<Component {...route.params} />
|
|
|
- </KeepAlive>
|
|
|
- ) : (
|
|
|
- <Component {...route.params} />
|
|
|
- );
|
|
|
- return openRouterTransition ? (
|
|
|
- <Transition
|
|
|
- {...on}
|
|
|
- name={route.meta.transitionName || routerTransition}
|
|
|
- mode="out-in"
|
|
|
- >
|
|
|
- {() => Content}
|
|
|
- </Transition>
|
|
|
- ) : (
|
|
|
- Content
|
|
|
- );
|
|
|
- },
|
|
|
- }}
|
|
|
- </RouterView>,
|
|
|
- ];
|
|
|
+ );
|
|
|
+ return openRouterTransition ? (
|
|
|
+ <Transition
|
|
|
+ {...on}
|
|
|
+ name={route.meta.transitionName || routerTransition}
|
|
|
+ mode="out-in"
|
|
|
+ >
|
|
|
+ {() => Content}
|
|
|
+ </Transition>
|
|
|
+ ) : (
|
|
|
+ Content
|
|
|
+ );
|
|
|
+ },
|
|
|
+ }}
|
|
|
+ </RouterView>
|
|
|
+ {projectSetting.canEmbedIFramePage && <FrameLayout />}
|
|
|
+ </div>
|
|
|
+ );
|
|
|
};
|
|
|
},
|
|
|
});
|