feat: benchmark detail actions

This commit is contained in:
jialin
2026-02-01 22:56:36 +08:00
parent 0849a2f114
commit 9796233897
12 changed files with 268 additions and 103 deletions
@@ -1,27 +1,18 @@
import IconFont from '@/components/icon-font';
import { useQueryClusterList } from '@/pages/cluster-management/services/use-query-cluster-list';
import { useIntl, useSearchParams } from '@umijs/max';
import { Tabs, TabsProps } from 'antd';
import React, { useEffect, useState } from 'react';
import DetailContext from '../config/detail-context';
import { BenchmarkListItem } from '../config/types';
import useQueryDetail from '../services/use-query-detail';
import React, { useState } from 'react';
import Environment from './environment';
import Summary from './summary';
const Details: React.FC<{ currentData?: BenchmarkListItem }> = ({
currentData
}) => {
const Details: React.FC<{
tabBarExtraContent: {
right: React.ReactNode;
};
}> = ({ tabBarExtraContent }) => {
const intl = useIntl();
const [searchParams] = useSearchParams();
const id = searchParams.get('id');
const { loading, detailData, cancelRequest, fetchData } = useQueryDetail();
const {
clusterList,
fetchClusterList,
cancelRequest: cancelClusterRequest
} = useQueryClusterList();
const [activeKey, setActiveKey] = useState('summary');
const [searchParams] = useSearchParams();
const items: TabsProps['items'] = [
{
@@ -36,45 +27,21 @@ const Details: React.FC<{ currentData?: BenchmarkListItem }> = ({
children: <Environment />,
icon: <IconFont type="icon-server02" />
}
// {
// key: 'logs',
// label: intl.formatMessage({ id: 'benchmark.detail.logs.title' }),
// children: <Logs />,
// icon: <IconFont type="icon-logs" />
// }
];
const handleChangeTab = (key: string) => {
setActiveKey(key);
};
useEffect(() => {
if (id) {
fetchData(id);
fetchClusterList({ page: -1 });
} else {
cancelRequest();
cancelClusterRequest();
}
}, [id]);
return (
<DetailContext.Provider
value={{
detailData: detailData || {},
clusterList: clusterList,
loading: loading,
id: Number(id)
}}
>
<Tabs
size="small"
activeKey={activeKey}
onChange={handleChangeTab}
items={items}
type="card"
/>
</DetailContext.Provider>
<Tabs
size="small"
activeKey={activeKey}
onChange={handleChangeTab}
items={items}
type="card"
tabBarExtraContent={tabBarExtraContent}
/>
);
};