2025-10-09 10:42:45 +08:00
|
|
|
<script setup lang="ts">
|
2025-12-19 13:25:58 +08:00
|
|
|
import { useRouter } from 'vue-router'
|
|
|
|
|
const router = useRouter()
|
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
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-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 />
|
|
|
|
|
<footer-navigation />
|
|
|
|
|
</div>
|
|
|
|
|
<profile ref="profileRef" />
|
|
|
|
|
</template>
|
|
|
|
|
<style scoped lang="less">
|
|
|
|
|
.workshop {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
> .routeCache {
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|