wip: 临时提交
This commit is contained in:
@@ -1,48 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div :class="{ 'has-logo': showLogo }" class="layout-sidebar">
|
|
||||||
<!-- Logo -->
|
|
||||||
<SidebarLogo v-if="showLogo" :collapse="isCollapsed" />
|
|
||||||
<!-- 主菜单内容 -->
|
|
||||||
<slot></slot>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
import SidebarLogo from "./components/SidebarLogo.vue";
|
|
||||||
|
|
||||||
defineProps({
|
|
||||||
/**
|
|
||||||
* 是否显示Logo
|
|
||||||
*/
|
|
||||||
showLogo: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true,
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否折叠
|
|
||||||
*/
|
|
||||||
isCollapsed: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.layout-sidebar {
|
|
||||||
position: relative;
|
|
||||||
height: 100%;
|
|
||||||
background-color: var(--menu-background);
|
|
||||||
transition: width 0.28s;
|
|
||||||
|
|
||||||
&.has-logo {
|
|
||||||
.el-scrollbar {
|
|
||||||
height: calc(100vh - $navbar-height);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.el-menu) {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -2,11 +2,14 @@
|
|||||||
<BaseLayout>
|
<BaseLayout>
|
||||||
<!-- 左侧菜单栏 -->
|
<!-- 左侧菜单栏 -->
|
||||||
<div class="layout__sidebar" :class="{ 'layout__sidebar--collapsed': !isSidebarOpen }">
|
<div class="layout__sidebar" :class="{ 'layout__sidebar--collapsed': !isSidebarOpen }">
|
||||||
<Sidebar :show-logo="isShowLogo" :is-collapsed="!isSidebarOpen">
|
<div :class="{ 'has-logo': isShowLogo }" class="layout-sidebar">
|
||||||
|
<!-- Logo -->
|
||||||
|
<AppLogo v-if="isShowLogo" :collapse="!isSidebarOpen" />
|
||||||
|
<!-- 主菜单内容 -->
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<Menu :data="routes" base-path="" />
|
<Menu :data="routes" base-path="" />
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</Sidebar>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 主内容区 -->
|
<!-- 主内容区 -->
|
||||||
@@ -28,7 +31,7 @@
|
|||||||
import { useLayout } from "../composables/useLayout";
|
import { useLayout } from "../composables/useLayout";
|
||||||
import { useLayoutMenu } from "../composables/useLayoutMenu";
|
import { useLayoutMenu } from "../composables/useLayoutMenu";
|
||||||
import BaseLayout from "./BaseLayout.vue";
|
import BaseLayout from "./BaseLayout.vue";
|
||||||
import Sidebar from "../components/Sidebar/index.vue";
|
import AppLogo from "../components/AppLogo/index.vue";
|
||||||
import NavBar from "../components/NavBar/index.vue";
|
import NavBar from "../components/NavBar/index.vue";
|
||||||
import TagsView from "../components/TagsView/index.vue";
|
import TagsView from "../components/TagsView/index.vue";
|
||||||
import AppMain from "../components/AppMain/index.vue";
|
import AppMain from "../components/AppMain/index.vue";
|
||||||
@@ -60,6 +63,23 @@ console.log("🔍 LeftLayout - isMobile:", isMobile.value);
|
|||||||
&--collapsed {
|
&--collapsed {
|
||||||
width: $sidebar-width-collapsed;
|
width: $sidebar-width-collapsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layout-sidebar {
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
background-color: var(--menu-background);
|
||||||
|
transition: width 0.28s;
|
||||||
|
|
||||||
|
&.has-logo {
|
||||||
|
.el-scrollbar {
|
||||||
|
height: calc(100vh - $navbar-height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-menu) {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__main {
|
&__main {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<div class="layout__header-content">
|
<div class="layout__header-content">
|
||||||
<!-- Logo区域 -->
|
<!-- Logo区域 -->
|
||||||
<div v-if="isShowLogo" class="layout__header-logo">
|
<div v-if="isShowLogo" class="layout__header-logo">
|
||||||
<SidebarLogo :collapse="false" />
|
<AppLogo :collapse="false" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 顶部菜单区域 -->
|
<!-- 顶部菜单区域 -->
|
||||||
@@ -63,7 +63,7 @@ import { useRoute } from "vue-router";
|
|||||||
import { useLayout } from "../composables/useLayout";
|
import { useLayout } from "../composables/useLayout";
|
||||||
import { useLayoutMenu } from "../composables/useLayoutMenu";
|
import { useLayoutMenu } from "../composables/useLayoutMenu";
|
||||||
import BaseLayout from "./BaseLayout.vue";
|
import BaseLayout from "./BaseLayout.vue";
|
||||||
import SidebarLogo from "../components/Sidebar/components/SidebarLogo.vue";
|
import AppLogo from "../components/AppLogo/index.vue";
|
||||||
import MixTopMenu from "../components/NavMenu/components/MixTopMenu.vue";
|
import MixTopMenu from "../components/NavMenu/components/MixTopMenu.vue";
|
||||||
import NavbarActions from "../components/NavBar/components/NavbarActions.vue";
|
import NavbarActions from "../components/NavBar/components/NavbarActions.vue";
|
||||||
import TagsView from "../components/TagsView/index.vue";
|
import TagsView from "../components/TagsView/index.vue";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<div class="layout__header">
|
<div class="layout__header">
|
||||||
<div class="layout__header-left">
|
<div class="layout__header-left">
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
<SidebarLogo v-if="isShowLogo" :collapse="false" />
|
<AppLogo v-if="isShowLogo" :collapse="false" />
|
||||||
<!-- 菜单 -->
|
<!-- 菜单 -->
|
||||||
<Menu :data="routes" menu-mode="horizontal" base-path="" />
|
<Menu :data="routes" menu-mode="horizontal" base-path="" />
|
||||||
</div>
|
</div>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
import { useLayout } from "../composables/useLayout";
|
import { useLayout } from "../composables/useLayout";
|
||||||
import { useLayoutMenu } from "../composables/useLayoutMenu";
|
import { useLayoutMenu } from "../composables/useLayoutMenu";
|
||||||
import BaseLayout from "./BaseLayout.vue";
|
import BaseLayout from "./BaseLayout.vue";
|
||||||
import SidebarLogo from "../components/Sidebar/components/SidebarLogo.vue";
|
import AppLogo from "../components/AppLogo/index.vue";
|
||||||
import Menu from "../components/NavMenu/index.vue";
|
import Menu from "../components/NavMenu/index.vue";
|
||||||
import NavbarActions from "../components/NavBar/components/NavbarActions.vue";
|
import NavbarActions from "../components/NavBar/components/NavbarActions.vue";
|
||||||
import TagsView from "../components/TagsView/index.vue";
|
import TagsView from "../components/TagsView/index.vue";
|
||||||
|
|||||||
Reference in New Issue
Block a user