import { Button, Spin } from 'antd'; import { CheckCircleFilled, ReloadOutlined } from '@ant-design/icons'; import { PREFIX_CLS } from '../../common/constants'; import { MsgDataType } from '../../common/type'; import ChatMsg from '../ChatMsg'; import WebPage from '../ChatMsg/WebPage'; import Loading from './Loading'; import React, { ReactNode } from 'react'; type Props = { queryId?: number; executeLoading: boolean; entitySwitchLoading: boolean; chartIndex: number; executeTip?: string; executeItemNode?: ReactNode; renderCustomExecuteNode?: boolean; data?: MsgDataType; triggerResize?: boolean; onRefresh: () => void; }; const ExecuteItem: React.FC = ({ queryId, executeLoading, entitySwitchLoading, chartIndex, executeTip, executeItemNode, renderCustomExecuteNode, data, triggerResize, onRefresh, }) => { const prefixCls = `${PREFIX_CLS}-item`; const getNodeTip = (title: ReactNode, tip?: string) => { return ( <>
{title} {!tip && }
{tip &&
{tip}
} ); }; const reloadNode = ( ); if (executeLoading) { return getNodeTip('数据查询中'); } if (executeTip) { return getNodeTip(<>数据查询失败:{reloadNode}, executeTip); } if (!data) { return null; } return ( <>
数据查询: {reloadNode}
{data.queryAuthorization?.message && (
提示:{data.queryAuthorization.message}
)} {renderCustomExecuteNode && executeItemNode ? ( executeItemNode ) : data?.queryMode === 'WEB_PAGE' ? ( ) : ( )}
); }; export default ExecuteItem;