function yarnTab(name, title, queueNames = 'default', searchName = undefined) {
    return {
        title: `${title} 集群`,
        tab: [
            {
                id: `${name}-yarn-service`,
                name: `${name}-yarn-service`,
                type: 'service',
                body: [
                    {
                        type: 'tpl',
                        tpl: '<span class="font-bold text-xl">集群资源</span>',
                        // className: 'mb-2 block',
                    },
                    {
                        type: 'crud',
                        api: {
                            method: 'get',
                            url: `\${base}/${name}_yarn/queue_list`,
                            data: {
                                names: '${queueName|default:undefined}'
                            },
                            responseData: {
                                '&': '$$',
                                clusterUsage: '${ROUND((cluster.usedCapacity * 100 / cluster.maxCapacity), 0)}'
                            },
                        },
                        defaultParams: {
                            queueName: queueNames,
                        },
                        interval: 10000,
                        syncLocation: false,
                        silentPolling: true,
                        headerToolbar: [
                            "reload",
                            {
                                type: "tpl",
                                tpl: "集群总资源 <span class='ml-1 font-extrabold text-xl ${IF(clusterUsage > 0, IF(clusterUsage > 30, IF(clusterUsage > 90, 'text-danger', 'text-info'), 'text-info'), 'text-success')}'>${clusterUsage}%</span>"
                            },
                        ],
                        columns: [
                            {
                                name: 'queueName',
                                label: '队列名称',
                                width: 130,
                                type: 'tooltip-wrapper',
                                body: '${TRUNCATE(queueName, 20)}',
                                content: '${queueName}',
                            },
                            {
                                label: '当前容量',
                                type: 'progress',
                                value: '${ROUND((absoluteUsedCapacity * 100 / absoluteMaxCapacity), 0)}',
                                stripe: true,
                                animate: true,
                                showLabel: false,
                                map: [
                                    {
                                        value: 30,
                                        color: "#28a745"
                                    }, {
                                        value: 90,
                                        color: "#007bff"
                                    },
                                    {
                                        value: 100,
                                        color: "#dc3545"
                                    }
                                ]
                            },
                            {
                                label: '进度',
                                width: 35,
                                align: 'center',
                                type: 'tpl',
                                tpl: '${ROUND((absoluteUsedCapacity * 100 / absoluteMaxCapacity), 0)}%',
                            },
                            {
                                type: "operation",
                                label: "操作",
                                width: 100,
                                fixed: 'right',
                                buttons: [
                                    {
                                        label: "详情",
                                        type: "button",
                                        level: "link",
                                        tooltip: '查看队列详情',
                                        actionType: 'dialog',
                                        dialog: {
                                            closeOnEsc: true,
                                            closeOnOutside: true,
                                            size: 'md',
                                            close: true,
                                            title: '队列详情',
                                            body: {
                                                type: 'property',
                                                items: [
                                                    {label: 'CPU', content: '${resourcesUsed.vCores}'},
                                                    // 有空看看这个值的单位
                                                    {label: '内存', content: '${resourcesUsed.memory}', span: 2},
                                                    {label: '容量(%)', content: '${capacity}'},
                                                    {label: '最大容量(%)', content: '${maxCapacity}'},
                                                    {label: '已用容量(%)', content: '${usedCapacity}'},
                                                    {label: '绝对容量(%)', content: '${absoluteCapacity}'},
                                                    {label: '绝对最大容量(%)', content: '${absoluteMaxCapacity}'},
                                                    {label: '绝对已用容量(%)', content: '${absoluteUsedCapacity}'},
                                                    {label: '应用数量', content: '${numApplications}', span: 3},
                                                    {label: '最大应用数量', content: '${maxApplications}'},
                                                    {label: '活跃应用数量', content: '${numActiveApplications}'},
                                                    {label: '等待应用数量', content: '${numPendingApplications}'},
                                                    {label: '容器数量', content: '${numContainers}', span: 3},
                                                    {label: '已分配容器数量', content: '${numApplications}'},
                                                    {label: '预留容器数量数量', content: '${numApplications}'},
                                                    {label: '等待容器数量', content: '${numApplications}'},
                                                ]
                                            },
                                            actions: []
                                        }
                                    },
                                    {
                                        disabled: true,
                                        label: "管理页面",
                                        type: "action",
                                        level: "link",
                                        tooltip: '打开管理页面',
                                        actionType: 'url',
                                        url: '',
                                        blank: true,
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        type: 'tpl',
                        tpl: '<span class="font-bold text-xl">集群任务</span>',
                        // className: 'mb-2 block',
                    },
                    {
                        type: 'crud',
                        api: {
                            method: 'get',
                            url: `\${base}/${name}_yarn/job_list`,
                            data: {
                                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: "共 <span class='text-primary font-bold'>${total|default:0}</span> 个任务，其中 <span class='text-success font-bold'>${running|default:0}</span> 个任务运行中，<span class='text-danger font-bold'>${unRunning|default:0}</span> 个任务处于非运行状态"
                            },
                            {
                                type: 'pagination',
                                layout: ['pager', 'perPage'],
                                maxButtons: 8,
                                showPageInput: false,
                            }
                        ],
                        footerToolbar: [
                            {
                                type: 'pagination',
                                layout: ['pager', 'perPage'],
                                maxButtons: 8,
                                showPageInput: false,
                            }
                        ],
                        columns: yarnCrudColumns(),
                    }
                ]
            }
        ]
    }
}