diff --git a/webapp/packages/chat-sdk/src/common/type.ts b/webapp/packages/chat-sdk/src/common/type.ts index 3e25d4066..19c1d0955 100644 --- a/webapp/packages/chat-sdk/src/common/type.ts +++ b/webapp/packages/chat-sdk/src/common/type.ts @@ -149,6 +149,7 @@ export type MsgDataType = { recommendedDimensions: DrillDownDimensionType[]; textResult: string; errorMsg: string; + textSummary: string; }; export enum ParseStateEnum { diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx index 6c609a231..5968da3de 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx @@ -1,5 +1,5 @@ -import { Spin, Switch } from 'antd'; -import { CheckCircleFilled } from '@ant-design/icons'; +import { Spin, Switch, Tooltip } from 'antd'; +import { CheckCircleFilled, InfoCircleOutlined } from '@ant-design/icons'; import { PREFIX_CLS, MsgContentTypeEnum } from '../../common/constants'; import { MsgDataType } from '../../common/type'; import ChatMsg from '../ChatMsg'; @@ -15,6 +15,7 @@ type Props = { entitySwitchLoading?: boolean; chartIndex: number; executeTip?: string; + executeErrorMsg?: string; executeItemNode?: ReactNode; renderCustomExecuteNode?: boolean; data?: MsgDataType; @@ -31,6 +32,7 @@ const ExecuteItem: React.FC = ({ entitySwitchLoading = false, chartIndex, executeTip, + executeErrorMsg, executeItemNode, renderCustomExecuteNode, data, @@ -66,7 +68,13 @@ const ExecuteItem: React.FC = ({ if (executeTip) { return getNodeTip( <> - {titlePrefix}查询失败 + {titlePrefix}查询失败 + {executeErrorMsg && ( + + + + )} + {!!data?.queryTimeCost && isDeveloper && ( (耗时: {data.queryTimeCost}ms) )} @@ -121,6 +129,15 @@ const ExecuteItem: React.FC = ({ {data.queryAuthorization?.message && (
提示:{data.queryAuthorization.message}
)} + {data.textSummary && ( +

+ + 总结: + + {data.textSummary} +

+ )} + {renderCustomExecuteNode && executeItemNode ? ( executeItemNode ) : data?.queryMode === 'PLAIN_TEXT' || data?.queryMode === 'WEB_SERVICE' ? ( diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/ExpandParseTip.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/ExpandParseTip.tsx index 38475f724..8e4a4c49f 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/ExpandParseTip.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/ExpandParseTip.tsx @@ -1,4 +1,4 @@ -import React, { ReactNode } from 'react'; +import React, { ReactNode, useState } from 'react'; import { ChatContextType, DateInfoType, EntityInfoType, FilterItemType } from '../../common/type'; import { Button, DatePicker, Row, Col } from 'antd'; import { CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons'; @@ -21,7 +21,6 @@ const { RangePicker } = DatePicker; type Props = { isSimpleMode?: boolean; parseInfoOptions: ChatContextType[]; - currentParseInfo?: ChatContextType; agentId?: number; integrateSystem?: string; parseTimeCost?: number; @@ -40,7 +39,6 @@ type RangeKeys = '近7日' | '近14日' | '近30日' | '本周' | '本月' | ' const ExpandParseTip: React.FC = ({ isSimpleMode = false, parseInfoOptions, - currentParseInfo, agentId, integrateSystem, parseTimeCost, @@ -52,6 +50,8 @@ const ExpandParseTip: React.FC = ({ onRefresh, handlePresetClick, }) => { + const [currentParseInfo, setCurrentParseInfo] = useState(); + const ranges: Record = { 近7日: [dayjs().subtract(7, 'day'), dayjs()], 近14日: [dayjs().subtract(14, 'day'), dayjs()], @@ -227,33 +227,7 @@ const ExpandParseTip: React.FC = ({ ); })} - {/* {parseInfoOptions.map((parseInfo, index) => { - const { queryMode, properties, textInfo, id, dimensionFilters, entityInfo } = - parseInfo || {}; - const { type: agentType } = properties || {}; - return ( -
-
- - 解析{index + 1}: - -
-
- {isSimpleMode ? ( - - ) : ( - <> - {getTipNode({ parseInfo, dimensionFilters, entityInfo })} - {!(!!agentType && queryMode !== 'LLM_S2SQL') && getFiltersNode(parseInfo)} - - )} -
-
- ); - })} */} + {parseInfoOptions?.length > 1 && (
@@ -274,6 +248,7 @@ const ExpandParseTip: React.FC = ({ if (currentParseInfo) { return; } + setCurrentParseInfo(parseInfo); onSelectParseInfo(parseInfo); }} key={parseInfo.id} diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx index 1dc4643e3..72b77fb0c 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx @@ -434,7 +434,7 @@ const ChatItem: React.FC = ({ const { llmReq, llmResp } = parseInfo?.properties?.CONTEXT || {}; return ( -
+
{!isMobile && }
@@ -450,7 +450,6 @@ const ChatItem: React.FC = ({ = ({ queryMode={parseInfo?.queryMode} executeLoading={executeLoading} executeTip={executeTip} + executeErrorMsg={executeErrorMsg} chartIndex={0} data={data} triggerResize={triggerResize} diff --git a/webapp/packages/chat-sdk/src/components/ChatMsg/Table/index.tsx b/webapp/packages/chat-sdk/src/components/ChatMsg/Table/index.tsx index 63523832f..30907aea1 100644 --- a/webapp/packages/chat-sdk/src/components/ChatMsg/Table/index.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatMsg/Table/index.tsx @@ -1,4 +1,8 @@ -import { formatByDecimalPlaces, getFormattedValue } from '../../../utils/utils'; +import { + formatByDecimalPlaces, + getFormattedValue, + formatByThousandSeperator, +} from '../../../utils/utils'; import { Table as AntTable } from 'antd'; import { MsgDataType } from '../../../common/type'; import { CLS_PREFIX } from '../../../common/constants'; @@ -17,7 +21,6 @@ const Table: React.FC = ({ data, size, loading, onApplyAuth }) => { const { entityInfo, queryColumns, queryResults } = data; const prefixCls = `${CLS_PREFIX}-table`; - const tableColumns: any[] = queryColumns.map( ({ name, nameEn, showType, dataFormatType, dataFormat, authorized }) => { return { @@ -47,7 +50,8 @@ const Table: React.FC = ({ data, size, loading, onApplyAuth }) => { if (showType === 'NUMBER') { return (
- {getFormattedValue(value as number)} + {/* {getFormattedValue(value as number)} */} + {formatByThousandSeperator(value)}
); } diff --git a/webapp/packages/chat-sdk/src/components/ChatMsg/index.tsx b/webapp/packages/chat-sdk/src/components/ChatMsg/index.tsx index de6704c61..cd166408e 100644 --- a/webapp/packages/chat-sdk/src/components/ChatMsg/index.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatMsg/index.tsx @@ -214,8 +214,7 @@ const ChatMsg: React.FC = ({ ); case MsgContentTypeEnum.MARKDOWN: return ( -
- {/* {data.textResult} */} +
);