2026-01-26 17:00:12 +08:00
|
|
|
<template>
|
2026-01-27 15:50:23 +08:00
|
|
|
<div class="layout-wrapper">
|
|
|
|
|
<Sidebar class="sidebar-container" />
|
2026-01-26 17:00:12 +08:00
|
|
|
|
2026-01-27 15:50:23 +08:00
|
|
|
<div class="main-container">
|
|
|
|
|
<AppMain />
|
|
|
|
|
</div>
|
2026-04-13 08:28:27 +08:00
|
|
|
|
|
|
|
|
<!-- 全局规格连号助手 -->
|
|
|
|
|
<SpecHelper />
|
2026-01-27 15:50:23 +08:00
|
|
|
</div>
|
2026-01-26 17:00:12 +08:00
|
|
|
</template>
|
|
|
|
|
|
2026-01-27 15:50:23 +08:00
|
|
|
<script setup lang="ts">
|
|
|
|
|
import Sidebar from './components/Sidebar/index.vue'
|
|
|
|
|
import AppMain from './components/AppMain.vue'
|
2026-04-13 08:28:27 +08:00
|
|
|
import SpecHelper from '@/components/SpecHelper/index.vue'
|
2026-01-27 15:50:23 +08:00
|
|
|
</script>
|
|
|
|
|
|
2026-01-26 17:00:12 +08:00
|
|
|
<style scoped>
|
2026-01-27 15:50:23 +08:00
|
|
|
.layout-wrapper {
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%; /* 继承 App.vue 中 app-content 的高度 */
|
|
|
|
|
overflow: hidden; /* 防止最外层出现滚动条 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.sidebar-container {
|
2026-02-10 10:32:59 +08:00
|
|
|
width: 180px; /* 固定侧边栏宽度 */
|
2026-01-27 15:50:23 +08:00
|
|
|
height: 100%;
|
|
|
|
|
background-color: #304156; /* 侧边栏背景色 */
|
|
|
|
|
flex-shrink: 0; /* 防止被挤压 */
|
|
|
|
|
overflow-y: auto; /* 侧边栏内容过多时允许滚动 */
|
|
|
|
|
overflow-x: hidden;
|
|
|
|
|
}
|
2026-01-26 17:00:12 +08:00
|
|
|
|
2026-01-27 15:50:23 +08:00
|
|
|
.main-container {
|
|
|
|
|
flex: 1; /* 自动占满右侧剩余空间 */
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
overflow-y: auto; /* 关键:页面内容过多时,只在右侧区域滚动 */
|
|
|
|
|
background-color: #f0f2f5; /* 右侧灰色背景,让白色卡片更明显 */
|
2026-02-10 10:32:59 +08:00
|
|
|
padding: 10px; /* 给内部页面留出边距 */
|
2026-01-27 15:50:23 +08:00
|
|
|
box-sizing: border-box;
|
|
|
|
|
}
|
2026-01-26 17:00:12 +08:00
|
|
|
</style>
|