Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
020a2d46
Unverified
提交
020a2d46
authored
3月 17, 2023
作者:
若依
提交者:
Gitee
3月 17, 2023
浏览文件
操作
浏览文件
下载
差异文件
!671 优化弹窗后导航栏偏移的问题
Merge pull request !671 from 也曾为你像超人/master
上级
635d621b
dcb9cb3d
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
173 行增加
和
172 行删除
+173
-172
AppMain.vue
ruoyi-ui/src/layout/components/AppMain.vue
+52
-61
index.vue
ruoyi-ui/src/layout/index.vue
+121
-111
没有找到文件。
ruoyi-ui/src/layout/components/AppMain.vue
浏览文件 @
020a2d46
<
template
>
<section
class=
"app-main"
>
<transition
name=
"fade-transform"
mode=
"out-in"
>
<keep-alive
:include=
"cachedViews"
>
<router-view
v-if=
"!$route.meta.link"
:key=
"key"
/>
</keep-alive>
</transition>
<iframe-toggle
/>
</section>
</
template
>
<
script
>
import
iframeToggle
from
"./IframeToggle/index"
export
default
{
name
:
'AppMain'
,
components
:
{
iframeToggle
},
computed
:
{
cachedViews
()
{
return
this
.
$store
.
state
.
tagsView
.
cachedViews
},
key
()
{
return
this
.
$route
.
path
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-main
{
/* 50= navbar 50 */
min-height
:
calc
(
100vh
-
50px
);
width
:
100%
;
position
:
relative
;
overflow
:
hidden
;
}
.fixed-header
+
.app-main
{
padding-top
:
50px
;
}
.hasTagsView
{
.app-main
{
/* 84 = navbar + tags-view = 50 + 34 */
min-height
:
calc
(
100vh
-
84px
);
}
.fixed-header
+
.app-main
{
padding-top
:
84px
;
}
}
</
style
>
<
style
lang=
"scss"
>
// fix css style bug in open el-dialog
.el-popup-parent--hidden
{
.fixed-header
{
padding-right
:
17px
;
}
}
</
style
>
<
template
>
<section
class=
"app-main"
>
<transition
name=
"fade-transform"
mode=
"out-in"
>
<keep-alive
:include=
"cachedViews"
>
<router-view
v-if=
"!$route.meta.link"
:key=
"key"
/>
</keep-alive>
</transition>
<iframe-toggle
/>
</section>
</
template
>
<
script
>
import
iframeToggle
from
"./IframeToggle/index"
export
default
{
name
:
'AppMain'
,
components
:
{
iframeToggle
},
computed
:
{
cachedViews
()
{
return
this
.
$store
.
state
.
tagsView
.
cachedViews
},
key
()
{
return
this
.
$route
.
path
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-main
{
/* 50= navbar 50 */
min-height
:
calc
(
100vh
-
50px
);
width
:
100%
;
position
:
relative
;
overflow
:
hidden
;
}
.fixed-header
+
.app-main
{
padding-top
:
50px
;
}
.hasTagsView
{
.app-main
{
/* 84 = navbar + tags-view = 50 + 34 */
min-height
:
calc
(
100vh
-
84px
);
}
.fixed-header
+
.app-main
{
padding-top
:
84px
;
}
}
</
style
>
ruoyi-ui/src/layout/index.vue
浏览文件 @
020a2d46
<
template
>
<div
:class=
"classObj"
class=
"app-wrapper"
:style=
"
{'--current-color': theme}">
<div
v-if=
"device==='mobile'&&sidebar.opened"
class=
"drawer-bg"
@
click=
"handleClickOutside"
/>
<sidebar
v-if=
"!sidebar.hide"
class=
"sidebar-container"
/>
<div
:class=
"
{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
<div
:class=
"
{'fixed-header':fixedHeader}">
<navbar
/>
<tags-view
v-if=
"needTagsView"
/>
</div>
<app-main
/>
<right-panel>
<settings
/>
</right-panel>
</div>
</div>
</
template
>
<
script
>
import
RightPanel
from
'@/components/RightPanel'
import
{
AppMain
,
Navbar
,
Settings
,
Sidebar
,
TagsView
}
from
'./components'
import
ResizeMixin
from
'./mixin/ResizeHandler'
import
{
mapState
}
from
'vuex'
import
variables
from
'@/assets/styles/variables.scss'
export
default
{
name
:
'Layout'
,
components
:
{
AppMain
,
Navbar
,
RightPanel
,
Settings
,
Sidebar
,
TagsView
},
mixins
:
[
ResizeMixin
],
computed
:
{
...
mapState
({
theme
:
state
=>
state
.
settings
.
theme
,
sideTheme
:
state
=>
state
.
settings
.
sideTheme
,
sidebar
:
state
=>
state
.
app
.
sidebar
,
device
:
state
=>
state
.
app
.
device
,
needTagsView
:
state
=>
state
.
settings
.
tagsView
,
fixedHeader
:
state
=>
state
.
settings
.
fixedHeader
}),
classObj
()
{
return
{
hideSidebar
:
!
this
.
sidebar
.
opened
,
openSidebar
:
this
.
sidebar
.
opened
,
withoutAnimation
:
this
.
sidebar
.
withoutAnimation
,
mobile
:
this
.
device
===
'mobile'
}
},
variables
()
{
return
variables
;
}
},
methods
:
{
handleClickOutside
()
{
this
.
$store
.
dispatch
(
'app/closeSideBar'
,
{
withoutAnimation
:
false
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"~@/assets/styles/mixin.scss"
;
@import
"~@/assets/styles/variables.scss"
;
.app-wrapper
{
@include
clearfix
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
&
.mobile.openSidebar
{
position
:
fixed
;
top
:
0
;
}
}
.drawer-bg
{
background
:
#000
;
opacity
:
0
.3
;
width
:
100%
;
top
:
0
;
height
:
100%
;
position
:
absolute
;
z-index
:
999
;
}
.fixed-header
{
position
:
fixed
;
top
:
0
;
right
:
0
;
z-index
:
9
;
width
:
calc
(
100%
-
#{
$base-sidebar-width
}
);
transition
:
width
0
.28s
;
}
.hideSidebar
.fixed-header
{
width
:
calc
(
100%
-
54px
);
}
.sidebarHide
.fixed-header
{
width
:
100%
;
}
.mobile
.fixed-header
{
width
:
100%
;
}
</
style
>
<
template
>
<div
:class=
"classObj"
class=
"app-wrapper"
:style=
"
{'--current-color': theme}">
<el-scrollbar>
<div
v-if=
"device==='mobile'&&sidebar.opened"
class=
"drawer-bg"
@
click=
"handleClickOutside"
/>
<sidebar
v-if=
"!sidebar.hide"
class=
"sidebar-container"
/>
<div
:class=
"
{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
<div
:class=
"
{'fixed-header':fixedHeader}">
<navbar/>
<tags-view
v-if=
"needTagsView"
/>
</div>
<app-main/>
<right-panel>
<settings/>
</right-panel>
</div>
</el-scrollbar>
</div>
</
template
>
<
script
>
import
RightPanel
from
'@/components/RightPanel'
import
{
AppMain
,
Navbar
,
Settings
,
Sidebar
,
TagsView
}
from
'./components'
import
ResizeMixin
from
'./mixin/ResizeHandler'
import
{
mapState
}
from
'vuex'
import
variables
from
'@/assets/styles/variables.scss'
export
default
{
name
:
'Layout'
,
components
:
{
AppMain
,
Navbar
,
RightPanel
,
Settings
,
Sidebar
,
TagsView
},
mixins
:
[
ResizeMixin
],
computed
:
{
...
mapState
({
theme
:
state
=>
state
.
settings
.
theme
,
sideTheme
:
state
=>
state
.
settings
.
sideTheme
,
sidebar
:
state
=>
state
.
app
.
sidebar
,
device
:
state
=>
state
.
app
.
device
,
needTagsView
:
state
=>
state
.
settings
.
tagsView
,
fixedHeader
:
state
=>
state
.
settings
.
fixedHeader
}),
classObj
()
{
return
{
hideSidebar
:
!
this
.
sidebar
.
opened
,
openSidebar
:
this
.
sidebar
.
opened
,
withoutAnimation
:
this
.
sidebar
.
withoutAnimation
,
mobile
:
this
.
device
===
'mobile'
}
},
variables
()
{
return
variables
;
}
},
methods
:
{
handleClickOutside
()
{
this
.
$store
.
dispatch
(
'app/closeSideBar'
,
{
withoutAnimation
:
false
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"~@/assets/styles/mixin.scss"
;
@import
"~@/assets/styles/variables.scss"
;
.app-wrapper
{
@include
clearfix
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
.el-scrollbar
{
height
:
100%
;
}
::v-deep
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
&
.mobile.openSidebar
{
position
:
fixed
;
top
:
0
;
}
}
.drawer-bg
{
background
:
#000
;
opacity
:
0
.3
;
width
:
100%
;
top
:
0
;
height
:
100%
;
position
:
absolute
;
z-index
:
999
;
}
.fixed-header
{
position
:
fixed
;
top
:
0
;
right
:
0
;
z-index
:
9
;
width
:
calc
(
100%
-
#{
$base-sidebar-width
}
);
transition
:
width
0
.28s
;
}
.hideSidebar
.fixed-header
{
width
:
calc
(
100%
-
54px
);
}
.sidebarHide
.fixed-header
{
width
:
100%
;
}
.mobile
.fixed-header
{
width
:
100%
;
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论