From e6ab7cb5ff4b8e0e3f0bfe96a0e903546feca81d Mon Sep 17 00:00:00 2001 From: williamhliu <137068196+williamhliu@users.noreply.github.com> Date: Wed, 6 Dec 2023 20:54:31 +0800 Subject: [PATCH] (fix)(chat-sdk) fix date change bug and hide recommend metrics tip when no metrics (#478) --- .../src/components/ChatItem/ParseTip.tsx | 14 +++++------ .../src/components/ChatItem/index.tsx | 24 +++++++++---------- .../src/components/MetricOptions/index.tsx | 4 ++++ 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx index fc9011541..51b5f5d89 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx @@ -101,8 +101,6 @@ const ParseTip: React.FC = ({ nativeQuery, } = currentParseInfo || {}; - const { modelNames } = model || {}; - const entityAlias = entity?.alias?.[0]?.split('.')?.[0]; const entityDimensions = entityInfo?.dimensions?.filter( @@ -152,9 +150,9 @@ const ParseTip: React.FC = ({
数据模型:
- {modelNames?.map(modelName => ( - {modelName} - ))} + {model?.modelNames?.length === 1 + ? model.modelNames[0] + : model?.modelNames?.map(modelName => {modelName})}
)} @@ -166,14 +164,16 @@ const ParseTip: React.FC = ({ )} - {!queryMode?.includes('ENTITY') && + {queryType !== 'TAG' && metrics && metrics.length > 0 && !dimensions?.some(item => item.bizName?.includes('_id')) && (
指标:
- {metrics.map(metric => metric.name).join('、')} + {queryType === 'METRIC' + ? metrics[0].name + : metrics.map(metric => metric.name).join('、')}
)} diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx index dde1291da..c3815cd03 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx @@ -19,7 +19,7 @@ import classNames from 'classnames'; import Tools from '../Tools'; import SqlItem from './SqlItem'; import SimilarQuestionItem from './SimilarQuestionItem'; -import moment from 'moment'; +import dayjs from 'dayjs'; type Props = { msg: string; @@ -82,18 +82,18 @@ const ChatItem: React.FC = ({ const updateData = (res: Result) => { let tip: string = ''; let data: MsgDataType | undefined = undefined; - if (res.code === 401 || res.code === 412) { - tip = res.msg; - } - if (res.code !== 200) { - tip = SEARCH_EXCEPTION_TIP; - } const { queryColumns, queryResults, queryState, queryMode, response, chatContext } = res.data || {}; - if (queryState !== 'SUCCESS') { + if (res.code === 401 || res.code === 412) { + tip = res.msg; + } else if (res.code !== 200) { + tip = SEARCH_EXCEPTION_TIP; + } else if (queryState !== 'SUCCESS') { tip = response && typeof response === 'string' ? response : SEARCH_EXCEPTION_TIP; - } - if ((queryColumns && queryColumns.length > 0 && queryResults) || queryMode === 'WEB_PAGE') { + } else if ( + (queryColumns && queryColumns.length > 0 && queryResults) || + queryMode === 'WEB_PAGE' + ) { data = res.data; tip = ''; } @@ -229,8 +229,8 @@ const ChatItem: React.FC = ({ const onDateInfoChange = (dateRange: any) => { setDateInfo({ ...(dateInfo || {}), - startDate: moment(dateRange[0]).format('YYYY-MM-DD'), - endDate: moment(dateRange[1]).format('YYYY-MM-DD'), + startDate: dayjs(dateRange[0]).format('YYYY-MM-DD'), + endDate: dayjs(dateRange[1]).format('YYYY-MM-DD'), dateMode: 'BETWEEN', unit: 0, }); diff --git a/webapp/packages/chat-sdk/src/components/MetricOptions/index.tsx b/webapp/packages/chat-sdk/src/components/MetricOptions/index.tsx index 74f4116e0..14f8e6351 100644 --- a/webapp/packages/chat-sdk/src/components/MetricOptions/index.tsx +++ b/webapp/packages/chat-sdk/src/components/MetricOptions/index.tsx @@ -29,6 +29,10 @@ const MetricOptions: React.FC = ({ [`${prefixCls}-metric-card`]: isMetricCard, }); + if (!defaultMetrics.length) { + return null; + } + return (