| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <template>	<el-main class="layout-main" :style="isFixedHeader ? `height: calc(100% - ${setMainHeight})` : `minHeight: calc(100% - ${setMainHeight})`">		<el-scrollbar			ref="layoutMainScrollbarRef"			class="layout-main-scroll layout-backtop-header-fixed"			wrap-class="layout-main-scroll"			view-class="layout-main-scroll"		>			<LayoutParentView />			<LayoutFooter v-if="isFooter" />		</el-scrollbar>		<el-backtop :target="setBacktopClass" />	</el-main></template><script setup lang="ts" name="layoutMain">import { defineAsyncComponent, onMounted, computed, ref } from 'vue';import { useRoute } from 'vue-router';import { storeToRefs } from 'pinia';import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';import { useThemeConfig } from '/@/stores/themeConfig';import { NextLoading } from '/@/utils/loading';// 引入组件const LayoutParentView = defineAsyncComponent(() => import('/@/layout/routerView/parent.vue'));const LayoutFooter = defineAsyncComponent(() => import('/@/layout/footer/index.vue'));// 定义变量内容const layoutMainScrollbarRef = ref();const route = useRoute();const storesTagsViewRoutes = useTagsViewRoutes();const storesThemeConfig = useThemeConfig();const { themeConfig } = storeToRefs(storesThemeConfig);const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);// 设置 footer 显示/隐藏const isFooter = computed(() => {	return themeConfig.value.isFooter && !route.meta.isIframe;});// 设置 header 固定const isFixedHeader = computed(() => {	return themeConfig.value.isFixedHeader;});// 设置 Backtop 回到顶部const setBacktopClass = computed(() => {	if (themeConfig.value.isFixedHeader) return `.layout-backtop-header-fixed .el-scrollbar__wrap`;	else return `.layout-backtop .el-scrollbar__wrap`;});// 设置主内容区的高度const setMainHeight = computed(() => {	if (isTagsViewCurrenFull.value) return '0px';	const { isTagsview, layout } = themeConfig.value;	if (isTagsview && layout !== 'classic') return '85px';	else return '51px';});// 页面加载前onMounted(() => {	NextLoading.done(600);});// 暴露变量defineExpose({	layoutMainScrollbarRef,});</script>
 |