Industrial-image-management.../src/layout/components/Asider/index.vue

90 lines
1.9 KiB
Vue
Raw Normal View History

2025-06-27 19:54:42 +08:00
<template>
<div
v-if="isDesktop" class="asider" :class="{ 'app-menu-dark': appStore.menuDark }"
:style="appStore.menuDark ? appStore.themeCSSVar : undefined"
>
<a-layout-sider
2025-07-14 11:11:33 +08:00
class="menu" collapsible breakpoint="xl" hide-trigger :width="300"
2025-06-27 19:54:42 +08:00
:collapsed="appStore.menuCollapse" @collapse="handleCollapse"
>
<Logo :collapsed="appStore.menuCollapse"></Logo>
2025-07-14 11:11:33 +08:00
<a-scrollbar outer-class="menu-scroll-view" style="height: 100%; overflow: auto" :hide-bar="false">
2025-06-27 19:54:42 +08:00
<Menu></Menu>
</a-scrollbar>
2025-07-14 11:11:33 +08:00
<!-- <WwAds class="ads" /> -->
2025-06-27 19:54:42 +08:00
</a-layout-sider>
</div>
</template>
<script setup lang="ts">
import Menu from '../Menu/index.vue'
import Logo from '../Logo.vue'
import WwAds from '../WwAds.vue'
import { useAppStore } from '@/stores'
import { useDevice } from '@/hooks'
defineOptions({ name: 'Asider' })
const appStore = useAppStore()
const { isDesktop } = useDevice()
const handleCollapse = (isCollapsed: boolean) => {
appStore.menuCollapse = isCollapsed
}
</script>
<style scoped lang="scss">
:deep(.arco-menu.arco-menu-vertical.arco-menu-collapsed) {
// Menu菜单组件修改
.arco-menu-icon {
margin-right: 0;
padding: 10px 0;
}
.arco-menu-has-icon {
padding: 0;
justify-content: center;
}
.arco-menu-title {
display: none;
}
}
:deep(.arco-layout-sider-children) {
overflow: hidden;
display: flex;
flex-direction: column;
}
.asider {
z-index: 1000;
display: flex;
flex-direction: column;
border-right: 1px solid var(--color-border-2);
box-sizing: border-box;
color: var(--color-text-1);
background-color: var(--color-bg-1);
.menu-scroll-view {
flex: 1;
2025-07-14 11:11:33 +08:00
overflow: auto;
2025-06-27 19:54:42 +08:00
}
.menu {
flex: 1;
2025-07-14 11:11:33 +08:00
overflow: auto;
2025-06-27 19:54:42 +08:00
background-color: inherit;
}
}
2025-07-14 11:11:33 +08:00
:deep(.arco-scrollbar) {
overflow-x: hidden;
overflow-y: auto;
}
:deep(.arco-scrollbar-container) {
overflow-x: hidden !important;
}
2025-06-27 19:54:42 +08:00
</style>