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.
74 lines
3.1 KiB
74 lines
3.1 KiB
from dash import dcc, html
|
|
import feffery_antd_components as fac
|
|
from flask import session
|
|
|
|
from . import profile
|
|
from api.modmag import get_cluster_info_api
|
|
|
|
from config.global_config import ApiBaseUrlConfig
|
|
|
|
# import callbacks.system_c.user_c.user_c
|
|
import callbacks.model_c.modmag_c
|
|
from utils.common import process_string
|
|
from utils.mod_mag import get_supervisor_info
|
|
|
|
def render(*args, **kwargs):
|
|
button_perms = kwargs.get('button_perms')
|
|
cluster_info = get_cluster_info_api()
|
|
supervisor_data = get_supervisor_info(cluster_info)
|
|
return [
|
|
html.Div(
|
|
[
|
|
fac.AntdSpace(
|
|
[
|
|
fac.AntdDivider('Supervisor', innerTextOrientation='left'),
|
|
fac.AntdSpace(
|
|
fac.AntdTable(
|
|
columns=[
|
|
{
|
|
'dataIndex': '字段1',
|
|
'title': 'item',
|
|
'width': '20%'
|
|
},
|
|
{
|
|
'dataIndex': '字段2',
|
|
'title': 'value/Usage',
|
|
'width': '20%'
|
|
},
|
|
{
|
|
'dataIndex': '字段3',
|
|
'title': 'other/total',
|
|
'width': '40%'
|
|
},
|
|
],
|
|
data=supervisor_data,
|
|
pagination={'hideOnSinglePage': True},
|
|
style={
|
|
'cursor': 'pointer',
|
|
'width': "100%", # 使表格宽度适应父容器
|
|
'height': '20vh', # 使表格高度占视口高度的 20%
|
|
'overflowY': 'auto', # 使表格在高度超过容器时可滚动
|
|
},
|
|
)
|
|
),
|
|
fac.AntdDivider('Workers', innerTextOrientation='left', style={'marginTop': '10px'}),
|
|
],
|
|
direction='vertical',
|
|
style={
|
|
'width': '100%',
|
|
'gap': '10px', # 设置子元素之间的间距,避免重叠
|
|
}
|
|
)
|
|
],
|
|
style={
|
|
'width': '100%',
|
|
'height': '100vh', # 使布局高度适配屏幕高度
|
|
'boxSizing': 'border-box', # 确保 padding 不影响整体宽度计算
|
|
'display': 'flex',
|
|
'flexDirection': 'column', # 垂直排列元素
|
|
'alignItems': 'stretch', # 子元素拉伸以适应父容器宽度
|
|
'overflow': 'auto', # 防止内容溢出导致重叠
|
|
'padding': '10px', # 添加内边距以防止内容紧贴边界
|
|
}
|
|
)
|
|
]
|
|
|