1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <template>
- <div :class="[prefixCls, getLayoutContentMode]">
- <transition name="fade">
- <Loading
- v-if="getOpenPageLoading"
- :loading="getPageLoading"
- background="rgba(240, 242, 245, 0.6)"
- absolute
- :class="`${prefixCls}-loading`"
- />
- </transition>
- <PageLayout />
- </div>
- </template>
- <script lang="ts">
- import { defineComponent } from 'vue';
- import { useDesign } from '/@/hooks/web/useDesign';
- import { useRootSetting } from '/@/hooks/setting/useRootSetting';
- import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting';
- import PageLayout from '/@/layouts/page/index';
- import { Loading } from '/@/components/Loading';
- import Transition from '/@/views/demo/comp/lazy/Transition.vue';
- export default defineComponent({
- name: 'LayoutContent',
- components: { PageLayout, Loading, Transition },
- setup() {
- const { prefixCls } = useDesign('layout-content');
- const { getOpenPageLoading } = useTransitionSetting();
- const { getLayoutContentMode, getPageLoading } = useRootSetting();
- return {
- prefixCls,
- getOpenPageLoading,
- getLayoutContentMode,
- getPageLoading,
- };
- },
- });
- </script>
- <style lang="less">
- @import (reference) '../../../design/index.less';
- @prefix-cls: ~'@{namespace}-layout-content';
- .@{prefix-cls} {
- position: relative;
- flex: 1 1 auto;
- min-height: 0;
- &.fixed {
- width: 1200px;
- margin: 0 auto;
- }
- &-loading {
- position: absolute;
- top: 200px;
- z-index: @page-loading-z-index;
- }
- }
- </style>
|