chore: add models and gpus in cluster detail page

This commit is contained in:
jialin
2026-01-12 20:30:24 +08:00
parent 42943a33fe
commit 0cde6f7dbc
11 changed files with 134 additions and 90 deletions
+13 -6
View File
@@ -5,7 +5,7 @@ import useTableFetch from '@/hooks/use-table-fetch';
import NoResult from '@/pages/_components/no-result';
import PageBox from '@/pages/_components/page-box';
import { queryClusterList } from '@/pages/cluster-management/apis';
import { useIntl } from '@umijs/max';
import { useIntl, useSearchParams } from '@umijs/max';
import { ConfigProvider, Table } from 'antd';
import _ from 'lodash';
import React, { useEffect, useState } from 'react';
@@ -13,7 +13,10 @@ import { GPU_DEVICES_API, queryGpuDevicesList } from '../apis';
import { GPUDeviceItem } from '../config/types';
import useGPUColumns from '../hooks/use-gpu-columns';
const GPUList: React.FC = () => {
const GPUList: React.FC<{ clusterId?: number; widths: { input: number } }> = ({
clusterId,
widths
}) => {
const {
dataSource,
queryParams,
@@ -27,9 +30,13 @@ const GPUList: React.FC = () => {
} = useTableFetch<GPUDeviceItem>({
fetchAPI: queryGpuDevicesList,
polling: true,
API: GPU_DEVICES_API
API: GPU_DEVICES_API,
defaultQueryParams: {
cluster_id: clusterId
}
});
const [searchParams] = useSearchParams();
const page = searchParams.get('page');
const intl = useIntl();
const [clusterList, setClusterList] = useState<Global.BaseOption<number>[]>(
[]
@@ -97,8 +104,8 @@ const GPUList: React.FC = () => {
handleInputChange={handleNameChange}
handleSelectChange={handleClusterChange}
selectOptions={clusterList}
showSelect
widths={{ input: 200 }}
showSelect={page !== 'clusters'}
widths={{ input: widths?.input || 200 }}
></FilterBar>
<ConfigProvider renderEmpty={renderEmpty}>
<Table
@@ -274,10 +274,7 @@ const useWorkerColumns = ({
return useMemo<ColumnsType<ListItem>>(
() => [
{
title:
sourceType === 'resources'
? intl.formatMessage({ id: 'common.table.name' })
: intl.formatMessage({ id: 'resources.table.workername' }),
title: intl.formatMessage({ id: 'common.table.name' }),
dataIndex: 'name',
width: 100,
sorter: tableSorter(1),