mirror of https://gitee.com/xiaonuobase/snowy
【更新】更新整体后台管理容器,让该前端增加前台界面不受高度限制
parent
cad24eb2a8
commit
6ca6c69469
|
@ -28,7 +28,7 @@
|
||||||
<strong>We're sorry but Snowy2.0 doesn't work properly without JavaScript
|
<strong>We're sorry but Snowy2.0 doesn't work properly without JavaScript
|
||||||
enabled. Please enable it to continue.</strong>
|
enabled. Please enable it to continue.</strong>
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="app" class="aminui">
|
<div id="app">
|
||||||
<div class="app-loading">
|
<div class="app-loading">
|
||||||
<div class="app-loading__logo">
|
<div class="app-loading__logo">
|
||||||
<img src="/img/logo.png"/>
|
<img src="/img/logo.png"/>
|
||||||
|
|
|
@ -1,184 +1,186 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- 经典布局 -->
|
<div class="aminui">
|
||||||
<template v-if="layout === 'classical'">
|
<!-- 经典布局 -->
|
||||||
<a-layout>
|
<template v-if="layout === 'classical'">
|
||||||
<a-layout-sider
|
|
||||||
v-if="!ismobile"
|
|
||||||
v-model:collapsed="menuIsCollapse"
|
|
||||||
:trigger="null"
|
|
||||||
collapsible
|
|
||||||
:theme="sideTheme"
|
|
||||||
width="210"
|
|
||||||
>
|
|
||||||
<header id="snowyHeaderLogo" class="snowy-header-logo">
|
|
||||||
<div class="snowy-header-left">
|
|
||||||
<div class="logo-bar">
|
|
||||||
<img class="logo" :src="sysBaseConfig.SNOWY_SYS_LOGO" />
|
|
||||||
<span>{{ sysBaseConfig.SNOWY_SYS_NAME }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<div :class="menuIsCollapse ? 'aminui-side isCollapse' : 'aminui-side'">
|
|
||||||
<div class="adminui-side-scroll">
|
|
||||||
<a-menu
|
|
||||||
v-model:openKeys="openKeys"
|
|
||||||
v-model:selectedKeys="selectedKeys"
|
|
||||||
:theme="sideTheme"
|
|
||||||
mode="inline"
|
|
||||||
@select="onSelect"
|
|
||||||
@openChange="onOpenChange"
|
|
||||||
>
|
|
||||||
<NavMenu :nav-menus="menu" />
|
|
||||||
</a-menu>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a-layout-sider>
|
|
||||||
<!-- 手机端情况下的左侧菜单 -->
|
|
||||||
<Side-m v-if="ismobile" />
|
|
||||||
<!-- 右侧布局 -->
|
|
||||||
<a-layout>
|
<a-layout>
|
||||||
<div id="snowyHeader" class="snowy-header">
|
<a-layout-sider
|
||||||
<div class="snowy-header-left" style="padding-left: 0px">
|
v-if="!ismobile"
|
||||||
<div v-if="!ismobile" class="panel-item hidden-sm-and-down" @click="menuIsCollapseClick">
|
|
||||||
<MenuUnfoldOutlined v-if="menuIsCollapse" />
|
|
||||||
<MenuFoldOutlined v-else />
|
|
||||||
</div>
|
|
||||||
<moduleMenu @switchModule="switchModule" />
|
|
||||||
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
|
||||||
</div>
|
|
||||||
<div class="snowy-header-right">
|
|
||||||
<userbar />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- 多标签 -->
|
|
||||||
<Tags v-if="!ismobile && layoutTagsOpen" />
|
|
||||||
<a-layout-content class="main-content-wrapper">
|
|
||||||
<div id="adminui-main" class="adminui-main">
|
|
||||||
<router-view v-slot="{ Component }">
|
|
||||||
<keep-alive :include="keepLiveRoute">
|
|
||||||
<component :is="Component" :key="$route.name" v-if="routeShow" />
|
|
||||||
</keep-alive>
|
|
||||||
</router-view>
|
|
||||||
<iframe-view />
|
|
||||||
<div class="main-bottom-wrapper">
|
|
||||||
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
|
||||||
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
|
||||||
}}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a-layout-content>
|
|
||||||
</a-layout>
|
|
||||||
</a-layout>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<!-- 双排菜单布局 -->
|
|
||||||
<template v-else-if="layout === 'doublerow'">
|
|
||||||
<a-layout>
|
|
||||||
<a-layout-sider v-if="!ismobile" width="80" :theme="sideTheme" :trigger="null" collapsible>
|
|
||||||
<header id="snowyHeaderLogo" class="snowy-header-logo">
|
|
||||||
<div class="snowy-header-left">
|
|
||||||
<div class="logo-bar">
|
|
||||||
<router-link to="/">
|
|
||||||
<img class="logo" :title="sysBaseConfig.SNOWY_SYS_NAME" :src="sysBaseConfig.SNOWY_SYS_LOGO" />
|
|
||||||
</router-link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<a-menu v-model:selectedKeys="doublerowSelectedKey" :theme="sideTheme" class="snowy-doublerow-layout-menu">
|
|
||||||
<a-menu-item
|
|
||||||
v-for="item in menu"
|
|
||||||
:key="item.path"
|
|
||||||
style="
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 2px;
|
|
||||||
height: auto;
|
|
||||||
line-height: 20px;
|
|
||||||
flex: none;
|
|
||||||
display: block;
|
|
||||||
padding: 12px 0 !important;
|
|
||||||
"
|
|
||||||
@click="showMenu(item)"
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
v-if="item.meta && item.meta.type === 'link'"
|
|
||||||
:href="item.path"
|
|
||||||
target="_blank"
|
|
||||||
@click.stop="() => {}"
|
|
||||||
></a>
|
|
||||||
<template #icon>
|
|
||||||
<component :is="item.meta.icon" style="padding-left: 10px" />
|
|
||||||
</template>
|
|
||||||
<div class="snowy-doublerow-layout-menu-item-fort-div">
|
|
||||||
<span class="snowy-doublerow-layout-menu-item-fort-div-span">
|
|
||||||
{{ item.meta.title }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</a-menu-item>
|
|
||||||
</a-menu>
|
|
||||||
</a-layout-sider>
|
|
||||||
<a-layout-sider
|
|
||||||
v-if="!ismobile"
|
|
||||||
v-show="layoutSiderDowbleMenu"
|
|
||||||
v-model:collapsed="menuIsCollapse"
|
|
||||||
:trigger="null"
|
|
||||||
width="170"
|
|
||||||
collapsible
|
|
||||||
:theme="secondMenuSideTheme"
|
|
||||||
>
|
|
||||||
<div v-if="!menuIsCollapse" id="snowyDoublerowSideTop" class="snowy-doublerow-side-top">
|
|
||||||
<h2 class="snowy-title">{{ pmenu.meta.title }}</h2>
|
|
||||||
</div>
|
|
||||||
<a-menu
|
|
||||||
v-model:collapsed="menuIsCollapse"
|
v-model:collapsed="menuIsCollapse"
|
||||||
v-model:openKeys="openKeys"
|
:trigger="null"
|
||||||
v-model:selectedKeys="selectedKeys"
|
collapsible
|
||||||
mode="inline"
|
:theme="sideTheme"
|
||||||
:theme="secondMenuSideTheme"
|
width="210"
|
||||||
@select="onSelect"
|
|
||||||
>
|
>
|
||||||
<NavMenu :nav-menus="nextMenu" />
|
<header id="snowyHeaderLogo" class="snowy-header-logo">
|
||||||
</a-menu>
|
<div class="snowy-header-left">
|
||||||
</a-layout-sider>
|
<div class="logo-bar">
|
||||||
<!-- 手机端情况下的左侧菜单 -->
|
<img class="logo" :src="sysBaseConfig.SNOWY_SYS_LOGO" />
|
||||||
<Side-m v-if="ismobile" />
|
<span>{{ sysBaseConfig.SNOWY_SYS_NAME }}</span>
|
||||||
<a-layout>
|
</div>
|
||||||
<div id="snowyHeader" class="snowy-header">
|
|
||||||
<div class="snowy-header-left" style="padding-left: 0px">
|
|
||||||
<div v-if="!ismobile" class="panel-item hidden-sm-and-down" @click="menuIsCollapseClick">
|
|
||||||
<MenuUnfoldOutlined v-if="menuIsCollapse" />
|
|
||||||
<MenuFoldOutlined v-else />
|
|
||||||
</div>
|
</div>
|
||||||
<moduleMenu @switchModule="switchModule" />
|
</header>
|
||||||
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
<div :class="menuIsCollapse ? 'aminui-side isCollapse' : 'aminui-side'">
|
||||||
</div>
|
<div class="adminui-side-scroll">
|
||||||
<div class="snowy-header-right">
|
<a-menu
|
||||||
<userbar />
|
v-model:openKeys="openKeys"
|
||||||
</div>
|
v-model:selectedKeys="selectedKeys"
|
||||||
</div>
|
:theme="sideTheme"
|
||||||
<!-- 多标签 -->
|
mode="inline"
|
||||||
<Tags v-if="!ismobile && layoutTagsOpen"></Tags>
|
@select="onSelect"
|
||||||
<a-layout-content class="main-content-wrapper">
|
@openChange="onOpenChange"
|
||||||
<div id="adminui-main" class="adminui-main">
|
>
|
||||||
<router-view v-slot="{ Component }">
|
<NavMenu :nav-menus="menu" />
|
||||||
<keep-alive :include="keepLiveRoute">
|
</a-menu>
|
||||||
<component :is="Component" v-if="routeShow" :key="$route.name" />
|
|
||||||
</keep-alive>
|
|
||||||
</router-view>
|
|
||||||
<iframe-view />
|
|
||||||
<div class="main-bottom-wrapper">
|
|
||||||
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
|
||||||
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
|
||||||
}}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-layout-content>
|
</a-layout-sider>
|
||||||
|
<!-- 手机端情况下的左侧菜单 -->
|
||||||
|
<Side-m v-if="ismobile" />
|
||||||
|
<!-- 右侧布局 -->
|
||||||
|
<a-layout>
|
||||||
|
<div id="snowyHeader" class="snowy-header">
|
||||||
|
<div class="snowy-header-left" style="padding-left: 0px">
|
||||||
|
<div v-if="!ismobile" class="panel-item hidden-sm-and-down" @click="menuIsCollapseClick">
|
||||||
|
<MenuUnfoldOutlined v-if="menuIsCollapse" />
|
||||||
|
<MenuFoldOutlined v-else />
|
||||||
|
</div>
|
||||||
|
<moduleMenu @switchModule="switchModule" />
|
||||||
|
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
||||||
|
</div>
|
||||||
|
<div class="snowy-header-right">
|
||||||
|
<userbar />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 多标签 -->
|
||||||
|
<Tags v-if="!ismobile && layoutTagsOpen" />
|
||||||
|
<a-layout-content class="main-content-wrapper">
|
||||||
|
<div id="adminui-main" class="adminui-main">
|
||||||
|
<router-view v-slot="{ Component }">
|
||||||
|
<keep-alive :include="keepLiveRoute">
|
||||||
|
<component :is="Component" :key="$route.name" v-if="routeShow" />
|
||||||
|
</keep-alive>
|
||||||
|
</router-view>
|
||||||
|
<iframe-view />
|
||||||
|
<div class="main-bottom-wrapper">
|
||||||
|
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
||||||
|
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
||||||
|
}}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-layout-content>
|
||||||
|
</a-layout>
|
||||||
</a-layout>
|
</a-layout>
|
||||||
</a-layout>
|
</template>
|
||||||
</template>
|
|
||||||
|
|
||||||
<!-- 退出最大化 -->
|
<!-- 双排菜单布局 -->
|
||||||
<div class="main-maximize-exit" @click="exitMaximize">
|
<template v-else-if="layout === 'doublerow'">
|
||||||
<fullscreen-exit-outlined style="color: #fff" />
|
<a-layout>
|
||||||
|
<a-layout-sider v-if="!ismobile" width="80" :theme="sideTheme" :trigger="null" collapsible>
|
||||||
|
<header id="snowyHeaderLogo" class="snowy-header-logo">
|
||||||
|
<div class="snowy-header-left">
|
||||||
|
<div class="logo-bar">
|
||||||
|
<router-link to="/">
|
||||||
|
<img class="logo" :title="sysBaseConfig.SNOWY_SYS_NAME" :src="sysBaseConfig.SNOWY_SYS_LOGO" />
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<a-menu v-model:selectedKeys="doublerowSelectedKey" :theme="sideTheme" class="snowy-doublerow-layout-menu">
|
||||||
|
<a-menu-item
|
||||||
|
v-for="item in menu"
|
||||||
|
:key="item.path"
|
||||||
|
style="
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 2px;
|
||||||
|
height: auto;
|
||||||
|
line-height: 20px;
|
||||||
|
flex: none;
|
||||||
|
display: block;
|
||||||
|
padding: 12px 0 !important;
|
||||||
|
"
|
||||||
|
@click="showMenu(item)"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
v-if="item.meta && item.meta.type === 'link'"
|
||||||
|
:href="item.path"
|
||||||
|
target="_blank"
|
||||||
|
@click.stop="() => {}"
|
||||||
|
></a>
|
||||||
|
<template #icon>
|
||||||
|
<component :is="item.meta.icon" style="padding-left: 10px" />
|
||||||
|
</template>
|
||||||
|
<div class="snowy-doublerow-layout-menu-item-fort-div">
|
||||||
|
<span class="snowy-doublerow-layout-menu-item-fort-div-span">
|
||||||
|
{{ item.meta.title }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</a-menu-item>
|
||||||
|
</a-menu>
|
||||||
|
</a-layout-sider>
|
||||||
|
<a-layout-sider
|
||||||
|
v-if="!ismobile"
|
||||||
|
v-show="layoutSiderDowbleMenu"
|
||||||
|
v-model:collapsed="menuIsCollapse"
|
||||||
|
:trigger="null"
|
||||||
|
width="170"
|
||||||
|
collapsible
|
||||||
|
:theme="secondMenuSideTheme"
|
||||||
|
>
|
||||||
|
<div v-if="!menuIsCollapse" id="snowyDoublerowSideTop" class="snowy-doublerow-side-top">
|
||||||
|
<h2 class="snowy-title">{{ pmenu.meta.title }}</h2>
|
||||||
|
</div>
|
||||||
|
<a-menu
|
||||||
|
v-model:collapsed="menuIsCollapse"
|
||||||
|
v-model:openKeys="openKeys"
|
||||||
|
v-model:selectedKeys="selectedKeys"
|
||||||
|
mode="inline"
|
||||||
|
:theme="secondMenuSideTheme"
|
||||||
|
@select="onSelect"
|
||||||
|
>
|
||||||
|
<NavMenu :nav-menus="nextMenu" />
|
||||||
|
</a-menu>
|
||||||
|
</a-layout-sider>
|
||||||
|
<!-- 手机端情况下的左侧菜单 -->
|
||||||
|
<Side-m v-if="ismobile" />
|
||||||
|
<a-layout>
|
||||||
|
<div id="snowyHeader" class="snowy-header">
|
||||||
|
<div class="snowy-header-left" style="padding-left: 0px">
|
||||||
|
<div v-if="!ismobile" class="panel-item hidden-sm-and-down" @click="menuIsCollapseClick">
|
||||||
|
<MenuUnfoldOutlined v-if="menuIsCollapse" />
|
||||||
|
<MenuFoldOutlined v-else />
|
||||||
|
</div>
|
||||||
|
<moduleMenu @switchModule="switchModule" />
|
||||||
|
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
||||||
|
</div>
|
||||||
|
<div class="snowy-header-right">
|
||||||
|
<userbar />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 多标签 -->
|
||||||
|
<Tags v-if="!ismobile && layoutTagsOpen"></Tags>
|
||||||
|
<a-layout-content class="main-content-wrapper">
|
||||||
|
<div id="adminui-main" class="adminui-main">
|
||||||
|
<router-view v-slot="{ Component }">
|
||||||
|
<keep-alive :include="keepLiveRoute">
|
||||||
|
<component :is="Component" v-if="routeShow" :key="$route.name" />
|
||||||
|
</keep-alive>
|
||||||
|
</router-view>
|
||||||
|
<iframe-view />
|
||||||
|
<div class="main-bottom-wrapper">
|
||||||
|
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
||||||
|
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
||||||
|
}}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-layout-content>
|
||||||
|
</a-layout>
|
||||||
|
</a-layout>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- 退出最大化 -->
|
||||||
|
<div class="main-maximize-exit" @click="exitMaximize">
|
||||||
|
<fullscreen-exit-outlined style="color: #fff" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ a, button, input, textarea {
|
||||||
/* 大布局样式 */
|
/* 大布局样式 */
|
||||||
.aminui {
|
.aminui {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 100%;
|
height: 100vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column;
|
flex-flow: column;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.login_background {
|
.login_background {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
min-height: 100vh;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
}
|
}
|
||||||
.login_background {
|
.login_background {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
min-height: 100vh;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
|
Loading…
Reference in New Issue