You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

155 lines
5.9 KiB

from dash import html
import feffery_utils_components as fuc
import feffery_antd_components as fac
from views.layout.components.head import render_head_content
from views.layout.components.content import render_main_content
from views.layout.components.aside import render_aside_content
import callbacks.layout_c.fold_side_menu
import callbacks.layout_c.index_c
def render_content(menu_info):
return fuc.FefferyTopProgress(
html.Div(
[
# 全局重载
fuc.FefferyReload(id='trigger-reload-output'),
html.Div(id='idle-placeholder-container'),
# 布局设置抽屉
fac.AntdDrawer(
[
fac.AntdText(
'主题颜色',
style={
'fontSize': 16,
'fontWeight': 500
}
),
fuc.FefferyHexColorPicker(
id='hex-color-picker',
color='#1890ff',
showAlpha=True,
style={
'width': '100%',
'marginTop': '10px'
}
),
fac.AntdInput(
id='selected-color-input',
value='#1890ff',
readOnly=True,
style={
'marginTop': '15px',
'background': '#1890ff'
}
),
fac.AntdSpace(
[
fac.AntdButton(
[
fac.AntdIcon(
icon='antd-save'
),
'保存配置',
],
id='save-setting',
type='primary'
),
fac.AntdButton(
[
fac.AntdIcon(
icon='antd-sync'
),
'重置配置',
],
id='reset-setting',
),
],
style={
'marginTop': '15px'
}
)
],
id='layout-setting-drawer',
visible=False,
title='布局设置',
width=320
),
# 退出登录对话框提示
fac.AntdModal(
html.Div(
[
fac.AntdIcon(icon='fc-info', style={'font-size': '28px'}),
fac.AntdText('确定注销并退出系统吗?', style={'margin-left': '5px'}),
]
),
id='logout-modal',
visible=False,
title='提示',
renderFooter=True,
centered=True
),
# 平台主页面
fac.AntdRow(
[
# 左侧固定菜单区域
fac.AntdCol(
fac.AntdAffix(
html.Div(
render_aside_content(menu_info),
id='side-menu',
style={
'height': '100vh',
'overflowY': 'auto',
'transition': 'width 1s',
'background': '#001529'
}
),
),
id='left-side-menu-container',
# style={
# 'flex': '1'
# }
),
# 右侧区域
fac.AntdCol(
[
fac.AntdRow(
render_head_content(),
style={
'height': '50px',
'boxShadow': 'rgb(240 241 242) 0px 2px 14px',
'background': 'white',
'marginBottom': '10px',
'position': 'sticky',
'top': 0,
'zIndex': 999
}
),
fac.AntdRow(
render_main_content(),
wrap=False
)
],
style={
'flex': '6',
'width': '300px'
}
),
],
)
],
id='index-main-content-container',
),
listenPropsMode='include',
includeProps=[
'tabs-container.items'
]
)