|
@@ -1,13 +1,28 @@
|
|
|
<script setup lang="ts">
|
|
|
+import { computed } from 'vue';
|
|
|
import AppHeader from './components/AppHeader/index.vue';
|
|
|
import AppSider from './components/AppSider/index.vue';
|
|
|
+import { useRouter, useRoute } from 'vue-router';
|
|
|
|
|
|
// import Breadcrumb from '~/components/Breadcrumb/index.vue';
|
|
|
// import AppMain from './components/AppMain/index.vue';
|
|
|
+
|
|
|
+const router = useRouter();
|
|
|
+function goBack() {
|
|
|
+ router.go(-1);
|
|
|
+}
|
|
|
+
|
|
|
+const route = useRoute();
|
|
|
+const isShowHeader = computed(() => {
|
|
|
+ return (!route?.meta?.hidden) && (route?.meta?.back || route?.name?.endsWith('DETAIL') || route?.meta?.title?.includes('详情'))
|
|
|
+});
|
|
|
+
|
|
|
+const headerContent = computed(() => {
|
|
|
+ return route?.query?.header ?? '详情页面';
|
|
|
+});
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
-
|
|
|
<div class="flex flex-col w-screen h-screen">
|
|
|
<header class="w-full flex-none bg-hex-265CD4">
|
|
|
<AppHeader></AppHeader>
|
|
@@ -22,7 +37,9 @@ import AppSider from './components/AppSider/index.vue';
|
|
|
<main class="flex-auto flex flex-col overflow-hidden">
|
|
|
<div class="w-full h-full">
|
|
|
<!-- <Breadcrumb class="flex-none mb-4"></Breadcrumb> -->
|
|
|
-
|
|
|
+ <div class="py-3 mx-10px mt-10px border-b" v-if="isShowHeader">
|
|
|
+ <el-page-header @back="goBack" :content="headerContent" class="text-base" />
|
|
|
+ </div>
|
|
|
<el-scrollbar always wrap-class="w-full h-full box-border" view-class="relative h-full flex flex-col p-4">
|
|
|
<router-view></router-view>
|
|
|
</el-scrollbar>
|
|
@@ -30,6 +47,5 @@ import AppSider from './components/AppSider/index.vue';
|
|
|
</main>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</template>
|
|
|
|