/* eslint-disable react/display-name */ import React, { useState, useEffect } from 'react'; import { Alert, Badge, Dropdown, IconFont, ProTable, Space, Table, Utils } from 'knowdesign'; import { useParams } from 'react-router-dom'; import Api from '@src/api'; import { getTaskDetailsColumns, getMoveBalanceColumns } from './config'; import { ExpandedRow } from './ExpandedRow'; const { request, post } = Utils; const TaskDetails = (props: any) => { const { hashData } = props; const urlParams = useParams(); // 获取地址栏参数 const [loading, setLoading] = useState(false); const [data, setData] = useState([]); const [expandedData, setExpandedData] = useState([]); const [loadingObj, setLoadingObj] = useState({}); const [pagination, setPagination] = useState({ current: 1, pageSize: 10, position: 'bottomRight', showSizeChanger: true, pageSizeOptions: ['10', '20', '50', '100'], }); // TODO 获取行详情数据接口 const getRowDetailData = (topicName: string, key?: number) => { return post(Api.getJobPartitionDetail(urlParams?.clusterId, props?.jobId, topicName)); }; // TODO 获取行详情数据接口 const queryExpandedData = async (record: any, key: any) => { if (urlParams?.clusterId === undefined) return; try { const table = { ...expandedData }; const loading = { ...loadingObj }; getRowDetailData(record.topicName).then((res) => { table[key] = res; loading[key] = false; setExpandedData(table); setLoadingObj(loading); }); } catch (error) { console.log(error); } }; const onClickExpand = (expanded: any, record: any) => { const key = record?.key; // 之前展开过 if (expandedData[key]?.length) return; // 第一次展开 const loading = { ...loadingObj }; loading[key] = true; setLoadingObj(loading); queryExpandedData(record, key); }; const onTableChange = (pagination: any, filters: any, sorter: any) => { setPagination(pagination); // const asc = sorter?.order && sorter?.order === 'ascend' ? true : false; // const sortColumn = sorter.field && toLine(sorter.field); // genData({ pageNo: pagination.current, pageSize: pagination.pageSize }); }; const newData = props?.detailData?.subJobs?.map((item: any, index: number) => { return { ...item, key: index, }; }) || []; return ( <> 执行情况: Topic总数 {newData?.length} Success {props?.detailData?.success} Fail {props?.detailData?.fail} Doing {props?.detailData?.doing} } style={{ background: '#FFF9E6', padding: '6px 12px', border: 'none', marginBottom: '12px', borderRadius: '4px' }} />
, // expandedRowRender, onExpand: onClickExpand, columnWidth: '20px', fixed: 'left', expandIcon: ({ expanded, onExpand, record }: any) => { return expanded ? ( { onExpand(record, e); }} /> ) : ( { onExpand(record, e); }} /> ); }, }, style: { width: '1032px', }, }, }} />
); }; export default TaskDetails;