function yarnTab(cluster, title, queueNames = 'default', searchName = undefined) { return { title: `${title} 集群`, tab: [ { id: `${cluster}-yarn-service`, name: `${cluster}-yarn-service`, type: 'service', body: [ { type: 'tpl', tpl: '集群资源', }, yarnQueueCrud(cluster, queueNames), { type: 'tpl', tpl: '集群任务', // className: 'mb-2 block', }, { type: 'crud', api: { method: 'get', url: '${base}/yarn/job_list', data: { clusters: `${cluster}`, page: '${page|default:undefined}', count: '${perPage|default:undefined}', order: '${orderBy|default:undefined}', direction: '${orderDir|default:undefined}', filter_state: '${state|default:undefined}', filter_final_status: '${finalStatus|default:undefined}', search_id: '${id|default:undefined}', search_name: '${name|default:undefined}', } }, defaultParams: { name: searchName }, interval: 10000, affixHeader: false, syncLocation: false, silentPolling: true, itemBadge: { text: 'Hudi', mode: 'ribbon', position: 'top-left', level: 'info', visibleOn: 'this.hudiApplication' }, filter: { mode: 'inline', title: '任务筛选', body: [ { type: 'group', body: [ { type: 'input-text', name: 'id', label: 'ID', clearable: true, placeholder: '通过 ID 搜索', size: 'md' }, { type: 'input-text', name: 'name', label: '名称', clearable: true, placeholder: '通过名称搜索', size: 'md' }, ] }, ], actions: [ { type: "submit", level: "primary", label: "查询", }, { type: "reset", label: "重置", }, ] }, filterTogglable: true, filterDefaultVisible: false, stopAutoRefreshWhenModalIsOpen: true, resizable: false, perPage: 20, headerToolbar: [ "reload", 'filter-toggler', { type: "tpl", tpl: "共 ${total|default:0} 个任务,其中 ${running|default:0} 个任务运行中,${unRunning|default:0} 个任务处于非运行状态" }, { type: 'pagination', layout: ['pager', 'perPage'], maxButtons: 8, showPageInput: false, } ], footerToolbar: [ { type: 'pagination', layout: ['pager', 'perPage'], maxButtons: 8, showPageInput: false, } ], columns: yarnCrudColumns(), } ] } ] } }