feature(web): 增加跨天版本表显示

This commit is contained in:
2023-06-07 19:26:49 +08:00
parent 28981c3795
commit a4160b2fb6
7 changed files with 414 additions and 3 deletions

View File

@@ -1403,6 +1403,11 @@ let tableRunningStateMapping = [
mappingItem('未运行', 'false'),
]
let versionUpdateStateMapping = [
mappingItem('已跨天', 'true', 'label-success'),
mappingItem('未跨天', 'false', 'label-danger'),
]
function mappingField(field, mapping) {
let mapData = {
'*': `<span class='label bg-gray-300'>\${${field}}</span>`,

View File

@@ -0,0 +1,183 @@
function versionTab() {
return {
title: '跨天',
tab: [
{
type: 'crud',
api: {
method: 'get',
url: `\${base}/version_upadte/list`,
data: {
page: '${page|default:undefined}',
count: '${perPage|default:undefined}',
order: '${orderBy|default:undefined}',
direction: '${orderDir|default:undefined}',
search_flink_job_id: '${flinkJobId|default:undefined}',
search_alias: '${alias|default:undefined}',
search_version: '${version|default:undefined}',
filter_schedules: '${updated|default:undefined}'
}
},
data: {
now: "${DATETOSTR(DATEMODIFY(NOW(), -1, 'days'), 'YYYYMMDD')}"
},
defaultParams: {
// version: "${DATETOSTR(NOW(), 'YYYYMMDD')}"
},
syncLocation: false,
interval: 10000,
silentPolling: true,
filter: {
mode: 'inline',
title: '表筛选',
body: [
{
type: 'group',
body: [
{
type: 'input-text',
name: 'flinkJobId',
label: 'Flink job id',
clearable: true,
placeholder: '通过 ID 搜索',
size: 'md'
},
{
type: 'input-text',
name: 'alias',
label: '名称',
clearable: true,
placeholder: '通过别名搜索',
size: 'md'
},
{
type: 'input-date',
name: 'version',
label: '版本',
clearable: true,
placeholder: '通过版本搜索',
size: 'md',
format: 'YYYYMMDD',
inputFormat: 'YYYYMMDD',
value: '${now}',
},
]
},
],
actions: [
{
type: "submit",
level: "primary",
label: "查询",
},
{
type: "reset",
label: "重置",
},
]
},
filterTogglable: true,
filterDefaultVisible: true,
stopAutoRefreshWhenModalIsOpen: true,
resizable: false,
perPage: 20,
headerToolbar: [
"reload",
'filter-toggler',
{
type: 'pagination',
layout: ['pager', 'perPage'],
maxButtons: 5,
showPageInput: false,
},
],
footerToolbar: [
{
type: 'pagination',
layout: ['pager', 'perPage'],
maxButtons: 5,
showPageInput: false,
},
],
columns: [
{
label: 'Flink job id',
width: 170,
fixed: 'left',
type: 'wrapper',
size: 'none',
body: [
{
type: 'action',
level: 'link',
label: '${flinkJobId}',
size: 'xs',
actionType: 'dialog',
tooltip: '查看详情',
dialog: flinkJobDialog(),
},
{
type: 'action',
level: 'link',
label: '',
icon: 'fa fa-copy',
size: 'xs',
actionType: 'copy',
content: '${flinkJobId}',
tooltip: '复制 ID',
}
],
},
{
label: '别名',
type: 'wrapper',
fixed: 'left',
size: 'none',
className: 'nowrap',
body: [
{
type: 'action',
level: 'link',
label: '${tableMeta.alias}',
size: 'xs',
actionType: 'dialog',
tooltip: '查看详情',
dialog: tableMetaDialog(),
},
{
type: 'action',
level: 'link',
label: '',
icon: 'fa fa-copy',
size: 'xs',
actionType: 'copy',
content: '${tableMeta.alias}',
tooltip: '复制别名',
},
],
},
{
name: 'priority',
label: '表优先级',
align: 'center',
width: 75,
sortable: true,
},{
name: 'version',
label: '版本',
align: 'center',
width: 75,
},
{
name: 'updated',
label: '状态',
align: 'center',
...mappingField('updated', versionUpdateStateMapping),
filterable: filterableField(versionUpdateStateMapping, true),
width: 70,
},
]
}
]
}
}

View File

@@ -42,12 +42,44 @@
<script src="components/queue-tab.js"></script>
<script src="components/running-tab.js"></script>
<script src="components/log-tab.js"></script>
<script src="components/version-tab.js"></script>
<script type="text/javascript">
(function () {
let amis = amisRequire('amis/embed')
let amisJSON = {
type: 'page',
title: 'Hudi 服务总台',
title: {
type: 'service',
api: {
method: 'get',
url: '${base}/cloud/heart',
replaceData: true,
adaptor: function (payload, response) {
if (response.status !== 200) {
return {
...payload,
data: {
status: false
}
}
}
return payload
}
},
interval: 5000,
silentPolling: true,
body: [
{
type: 'tpl',
tpl: "Hudi 服务总台",
},
{
type: 'status',
className: 'ml-1',
value: '${status}',
}
],
},
subTitle: 'Hudi 全链路服务监控和控制台',
body: {
type: 'tabs',
@@ -59,6 +91,7 @@
// runningTab(),
tableTab(),
queueTab(),
versionTab(),
yarnTab('b5-sync', '同步 b5', undefined, 'Sync'),
yarnTab('b1,b5,a4', '压缩 b1 b5 a4', 'datalake,ten_iap.datalake', 'Compaction'),
cloudTab(),