You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/oaweb/src/layouts/MainLayout.vue

83 lines
2.8 KiB
Vue

<template>
<q-layout view="hHh LpR fFf">
<q-header elevated class="bg-primary text-white" height-hint="98">
<q-toolbar class="pl-0">
2 years ago
<q-toolbar-title class="flex items-center cursor-pointer" @click="router.push({ name: 'home' })">
<q-icon size="3rem" class="mx-1" color="aqua" name='v-glassdoor' style="color: aqua;"></q-icon>
2 years ago
<q-separator dark vertical inset />
<span class="ml-3">
统一认证系统
</span>
</q-toolbar-title>
2 years ago
<q-icon class="mx-2" size="2rem" @click="$q.fullscreen.toggle()"
:name="$q.fullscreen.isActive ? 'v-compress' : 'v-expend'" />
<q-icon class="mx-2" size="2rem" @click="$q.dark.toggle" :name="$q.dark.mode ? 'v-light' : 'v-dark'"></q-icon>
<OAer v-if="user.ready" @logout="user.logout" :is-dark="$q.dark.mode as boolean">
123
</OAer>
</q-toolbar>
<q-toolbar class="">
<q-icon @click="toggleLeftDrawer" class="cursor-pointer" name="menu" size="sm"></q-icon>
<q-tabs align="left">
<!-- <q-route-tab to="/page1" label="Page One" /> -->
<!-- <q-route-tab to="/page2" label="Page Two" /> -->
<!-- <q-route-tab to="/page3" label="Page Three" /> -->
</q-tabs>
</q-toolbar>
</q-header>
<q-drawer show-if-above :mini="miniState" :width="140" :breakpoint="500" bordered side="left" class="pt-4">
2 years ago
<Menu></Menu>
</q-drawer>
2 years ago
<q-page-container class="flex">
<q-page class="w-full">
2 years ago
<router-view v-slot="{ Component }">
<transition mode="out-in" enter-active-class="animate__fadeIn" leave-active-class="animate__fadeOut">
2 years ago
<component class="animate__animated animate__400ms" :is="Component"></component>
</transition>
</router-view>
2 years ago
</q-page>
</q-page-container>
2 years ago
<!-- <q-footer bordered class="bg-grey-8 text-white flex justify-around"> -->
<!-- <span class="hover:text-black cursor-pointer" @click="$router.push({ name: 'about' })">关于OA</span> -->
<!-- <span class="hover:text-black cursor-pointer">使用须知</span> -->
<!-- <span class="hover:text-black cursor-pointer" @click="util.goto('https://veypi.com')"> -->
<!-- ©2021 veypi -->
<!-- </span> -->
<!-- </q-footer> -->
</q-layout>
</template>
<script setup lang="ts">
import { ref } from 'vue';
2 years ago
import { useRouter } from 'vue-router';
import Menu from 'src/components/menu.vue'
import { useUserStore } from 'src/stores/user';
import { OAer } from "@veypi/oaer";
2 years ago
const user = useUserStore()
const router = useRouter()
const miniState = ref(false)
2 years ago
function toggleLeftDrawer() {
miniState.value = !miniState.value
}
</script>
2 years ago
<style scoped>
.animate__400ms {
--animate-duration: 300ms;
}
</style>