2025-04-28 07:23:25 +00:00
|
|
|
<template>
|
|
|
|
|
<div class="app-layout">
|
2025-06-20 19:55:48 +00:00
|
|
|
<div class="app-header" :class="!isDefaultTheme ? 'custom-header' : ''">
|
2025-06-12 08:51:49 +00:00
|
|
|
<SystemHeader v-if="isShared"></SystemHeader>
|
|
|
|
|
<UserHeader v-else />
|
2025-04-28 10:14:16 +00:00
|
|
|
</div>
|
2025-04-28 07:23:25 +00:00
|
|
|
<div class="app-main">
|
2025-04-30 06:53:42 +00:00
|
|
|
<layout-container>
|
|
|
|
|
<template #left>
|
2025-04-28 07:23:25 +00:00
|
|
|
<Sidebar />
|
2025-04-30 06:53:42 +00:00
|
|
|
</template>
|
2025-05-27 11:06:47 +00:00
|
|
|
<AppMain />
|
2025-04-30 06:53:42 +00:00
|
|
|
</layout-container>
|
2025-04-28 07:23:25 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script setup lang="ts">
|
2025-06-12 08:51:49 +00:00
|
|
|
import { computed } from 'vue'
|
2025-04-28 10:14:16 +00:00
|
|
|
import UserHeader from '@/layout/layout-header/UserHeader.vue'
|
2025-06-12 08:51:49 +00:00
|
|
|
import SystemHeader from '@/layout/layout-header/SystemHeader.vue'
|
2025-04-28 10:14:16 +00:00
|
|
|
import Sidebar from '@/layout/components/sidebar/index.vue'
|
|
|
|
|
import AppMain from '@/layout/app-main/index.vue'
|
2025-04-28 07:23:25 +00:00
|
|
|
import useStore from '@/stores'
|
2025-06-12 08:51:49 +00:00
|
|
|
import { useRoute } from 'vue-router'
|
|
|
|
|
const route = useRoute()
|
|
|
|
|
|
|
|
|
|
const isShared = computed(() => {
|
2025-06-18 09:22:13 +00:00
|
|
|
return route.path.endsWith('hared') || route.name.includes('ResourceManagement')
|
2025-06-12 08:51:49 +00:00
|
|
|
})
|
2025-06-20 19:55:48 +00:00
|
|
|
const { theme } = useStore()
|
|
|
|
|
const isDefaultTheme = computed(() => {
|
|
|
|
|
return theme.isDefaultTheme()
|
|
|
|
|
})
|
2025-04-28 07:23:25 +00:00
|
|
|
</script>
|
|
|
|
|
<style lang="scss" scoped>
|
2025-04-30 06:53:42 +00:00
|
|
|
@use './index.scss';
|
2025-04-28 07:23:25 +00:00
|
|
|
</style>
|