2025-10-09 10:42:45 +08:00
|
|
|
<script setup lang="ts">
|
2025-12-19 15:17:20 +08:00
|
|
|
import { useRouter, useRoute } from 'vue-router'
|
|
|
|
|
import { FlowType } from '@/types/enum'
|
2025-12-19 13:25:58 +08:00
|
|
|
const router = useRouter()
|
2025-12-19 15:17:20 +08:00
|
|
|
const route = useRoute()
|
|
|
|
|
import { ref, computed } from 'vue'
|
2025-12-19 13:25:58 +08:00
|
|
|
import HeaderTitle from '@/components/HeaderTitle.vue'
|
|
|
|
|
import FooterNavigation from '@/components/FooterNavigation.vue'
|
2025-10-21 14:44:37 +08:00
|
|
|
import RouteCache from '@/components/RouteCache.vue'
|
2025-12-19 13:25:58 +08:00
|
|
|
import profile from './profile.vue'
|
2025-12-19 14:55:08 +08:00
|
|
|
const props = defineProps({})
|
|
|
|
|
const emit = defineEmits([])
|
2025-12-19 13:25:58 +08:00
|
|
|
const profileRef = ref(null)
|
|
|
|
|
const handleClickProfile = () => {
|
|
|
|
|
profileRef.value.open()
|
|
|
|
|
}
|
2025-12-19 15:17:20 +08:00
|
|
|
const notShowFooter = computed(() => route.query.flowType !== FlowType.HISTORY)
|
2025-10-09 10:42:45 +08:00
|
|
|
</script>
|
|
|
|
|
<template>
|
2025-12-19 13:25:58 +08:00
|
|
|
<div class="workshop">
|
|
|
|
|
<header-title @clickProfile="handleClickProfile" />
|
|
|
|
|
<RouteCache />
|
2025-12-19 15:17:20 +08:00
|
|
|
<footer-navigation v-if="notShowFooter" />
|
2025-12-19 13:25:58 +08:00
|
|
|
</div>
|
|
|
|
|
<profile ref="profileRef" />
|
|
|
|
|
</template>
|
|
|
|
|
<style scoped lang="less">
|
|
|
|
|
.workshop {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
> .routeCache {
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|