fix:布局溢出问题

environments/test/deployments/1
saatana 2 years ago
parent e10d975969
commit eb2ab518b7

@ -1,5 +1,6 @@
<template> <template>
<el-scrollbar class="layout-aside"> <el-scrollbar class="layout-aside">
<LayoutLogo />
<el-menu collapse :default-active="activeAside"> <el-menu collapse :default-active="activeAside">
<el-menu-item v-for="(item, index) in asideList" :key="index" :index="item.name" @click="handleClick(item)"> <el-menu-item v-for="(item, index) in asideList" :key="index" :index="item.name" @click="handleClick(item)">
<el-icon :name="item.meta.icon" size="30" /> <el-icon :name="item.meta.icon" size="30" />
@ -10,6 +11,8 @@
</template> </template>
<script setup> <script setup>
import LayoutLogo from './logo.vue';
const store = useStore(); const store = useStore();
const asideList = computed(() => store.getters['layout/asideList']); const asideList = computed(() => store.getters['layout/asideList']);

@ -1,7 +1,5 @@
<template> <template>
<div class="layout-header"> <div class="layout-header">
<LayoutLogo />
<LayoutTitle />
<div class="header-left"> <div class="header-left">
<el-icon :name="collapseMenu ? 'menu-unfold-fill' : 'menu-fold-fill'" size="16" @click="handleCollapse" /> <el-icon :name="collapseMenu ? 'menu-unfold-fill' : 'menu-fold-fill'" size="16" @click="handleCollapse" />
<LayoutBreakcrumb /> <LayoutBreakcrumb />
@ -14,8 +12,6 @@
</template> </template>
<script setup> <script setup>
import LayoutLogo from './logo.vue';
import LayoutTitle from './title.vue';
import LayoutBreakcrumb from './breakcrumb.vue'; import LayoutBreakcrumb from './breakcrumb.vue';
import LayoutProfile from './profile.vue'; import LayoutProfile from './profile.vue';
import LayoutOperation from './operation.vue'; import LayoutOperation from './operation.vue';

@ -1,12 +1,16 @@
<template> <template>
<el-scrollbar class="layout-menu" :class="{ collapse: collapseMenu }"> <div class="layout-menu" :class="{ collapse: collapseMenu }">
<el-menu unique-opened :default-active="activeMenu" @select="handleSelect"> <LayoutTitle />
<MenuItem v-for="(item, index) in menuList" :key="index" :menu-item="item" /> <el-scrollbar>
</el-menu> <el-menu unique-opened :default-active="activeMenu" @select="handleSelect">
</el-scrollbar> <MenuItem v-for="(item, index) in menuList" :key="index" :menu-item="item" />
</el-menu>
</el-scrollbar>
</div>
</template> </template>
<script setup> <script setup>
import LayoutTitle from './title.vue';
import MenuItem from './menu-item.vue'; import MenuItem from './menu-item.vue';
const router = useRouter(); const router = useRouter();
const store = useStore(); const store = useStore();
@ -46,7 +50,6 @@
width: @layout-menu-width; width: @layout-menu-width;
height: 100%; height: 100%;
background-color: @layout-menu-bgc; background-color: @layout-menu-bgc;
padding: @layout-space;
transition: width 0.3s; transition: width 0.3s;
box-sizing: border-box; box-sizing: border-box;
&.collapse { &.collapse {
@ -61,10 +64,15 @@
:deep(*) { :deep(*) {
white-space: nowrap; white-space: nowrap;
} }
:deep(.el-scrollbar__view) { :deep(.el-scrollbar) {
height: 100%; height: calc(100% - @layout-header-height);
.el-menu { padding: @layout-space;
border-right: none; box-sizing: border-box;
.el-scrollbar__view {
height: 100%;
.el-menu {
border-right: none;
}
} }
} }
} }

@ -14,7 +14,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.layout-title { .layout-title {
width: @layout-menu-width; width: @layout-menu-width;
height: 100%; height: @layout-header-height;
background-color: @layout-menu-bgc; background-color: @layout-menu-bgc;
padding: 0 @layout-space; padding: 0 @layout-space;
transition: width 0.3s; transition: width 0.3s;

@ -1,8 +1,5 @@
<template> <template>
<div class="layout-container layout-default"> <div class="layout-container layout-default">
<div class="layout-top">
<LayoutHeader />
</div>
<div class="layout-left"> <div class="layout-left">
<LayoutAside /> <LayoutAside />
</div> </div>
@ -10,6 +7,7 @@
<LayoutMenu /> <LayoutMenu />
</div> </div>
<div class="layout-right"> <div class="layout-right">
<LayoutHeader />
<LayoutTabs /> <LayoutTabs />
<LayoutMain /> <LayoutMain />
<LayoutFooter /> <LayoutFooter />
@ -28,18 +26,12 @@
<style lang="less" scoped> <style lang="less" scoped>
.layout-container { .layout-container {
width: 100%; width: 100vw;
height: 100%; height: 100vh;
background-color: @color-white-dark; background-color: @color-white-dark;
} }
.layout-default { .layout-default {
display: flex; display: flex;
flex-wrap: wrap;
.layout-top {
width: 100%;
box-shadow: @layout-shadow;
z-index: 10;
}
.layout-left { .layout-left {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

@ -10,7 +10,6 @@ ul,
ol { ol {
list-style: none; list-style: none;
} }
// *:not([class^='el-']):not([class^='el-'] *) {
*:not([class^='el-']) { *:not([class^='el-']) {
margin: 0; margin: 0;
padding: 0; padding: 0;

Loading…
Cancel
Save