From 586a9e05a75dd071ddaa8006cdf889d8261e2ed3 Mon Sep 17 00:00:00 2001 From: chanx <1243304602@qq.com> Date: Tue, 10 Feb 2026 16:12:59 +0800 Subject: [PATCH] Fix: Memory log style (#13090) ### What problem does this PR solve? Fix: Memory log style ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- .../dataset-overview/overview-table.tsx | 4 +- web/src/pages/dataset/process-log-modal.tsx | 8 +- .../memory/memory-message/message-table.tsx | 139 ++++++------------ 3 files changed, 57 insertions(+), 94 deletions(-) diff --git a/web/src/pages/dataset/dataset-overview/overview-table.tsx b/web/src/pages/dataset/dataset-overview/overview-table.tsx index a3be9ebf48..3d7dfe3b0a 100644 --- a/web/src/pages/dataset/dataset-overview/overview-table.tsx +++ b/web/src/pages/dataset/dataset-overview/overview-table.tsx @@ -44,7 +44,7 @@ import { ArrowUpDown, ClipboardList, Eye, MonitorUp } from 'lucide-react'; import { FC, useMemo, useState } from 'react'; import { useParams } from 'react-router'; import { RunningStatus } from '../dataset/constant'; -import ProcessLogModal from '../process-log-modal'; +import ProcessLogModal, { ILogInfo } from '../process-log-modal'; import { LogTabs, ProcessingType, ProcessingTypeMap } from './dataset-common'; import { DocumentLog, FileLogsTableProps, IFileLogItem } from './interface'; @@ -474,7 +474,7 @@ const FileLogsTable: FC = ({ title={active === LogTabs.FILE_LOGS ? t('fileLogs') : t('datasetLog')} visible={isModalVisible} onCancel={() => setIsModalVisible(false)} - logInfo={logInfo} + logInfo={logInfo as unknown as ILogInfo} /> )} diff --git a/web/src/pages/dataset/process-log-modal.tsx b/web/src/pages/dataset/process-log-modal.tsx index 3ecc911535..03282b4d35 100644 --- a/web/src/pages/dataset/process-log-modal.tsx +++ b/web/src/pages/dataset/process-log-modal.tsx @@ -9,6 +9,7 @@ import { import { RunningStatusMap } from '@/constants/knowledge'; import { useTranslate } from '@/hooks/common-hooks'; import React, { useMemo } from 'react'; +import { useTranslation } from 'react-i18next'; import reactStringReplace from 'react-string-replace'; import { RunningStatus } from './dataset/constant'; export interface ILogInfo { @@ -35,6 +36,7 @@ interface ProcessLogModalProps { onCancel: () => void; logInfo: ILogInfo; title: string; + translateKey?: string; } const InfoItem: React.FC<{ @@ -85,8 +87,10 @@ const ProcessLogModal: React.FC = ({ onCancel, logInfo: initData, title, + translateKey, }) => { - const { t } = useTranslate('knowledgeDetails'); + const { t } = useTranslate(translateKey || 'knowledgeDetails'); + const { t: tc } = useTranslation(); const blackKeyList = ['']; const logInfo = useMemo(() => { return initData; @@ -99,7 +103,7 @@ const ProcessLogModal: React.FC = ({ onCancel={onCancel} footer={
- +
} className="process-log-modal" diff --git a/web/src/pages/memory/memory-message/message-table.tsx b/web/src/pages/memory/memory-message/message-table.tsx index ecbf413ebd..2ee6e80b85 100644 --- a/web/src/pages/memory/memory-message/message-table.tsx +++ b/web/src/pages/memory/memory-message/message-table.tsx @@ -5,15 +5,6 @@ import { import { EmptyType } from '@/components/empty/constant'; import Empty from '@/components/empty/empty'; import { Button } from '@/components/ui/button'; -import { - Dialog, - DialogClose, - DialogContent, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@/components/ui/dialog'; import { Modal } from '@/components/ui/modal/modal'; import { RAGFlowPagination } from '@/components/ui/ragflow-pagination'; import { Switch } from '@/components/ui/switch'; @@ -25,9 +16,13 @@ import { TableHeader, TableRow, } from '@/components/ui/table'; +import { RunningStatus } from '@/constants/knowledge'; import { Pagination } from '@/interfaces/common'; import { cn } from '@/lib/utils'; -import { replaceText } from '@/pages/dataset/process-log-modal'; +import ProcessLogModal, { + ILogInfo, + replaceText, +} from '@/pages/dataset/process-log-modal'; import { MemoryOptions } from '@/pages/memories/constants'; import { ColumnDef, @@ -72,11 +67,11 @@ const columnHelper = createColumnHelper(); function getTaskStatus(progress: number) { if (progress >= 1) { - return 'success'; + return RunningStatus.DONE; } else if (progress > 0 && progress < 1) { - return 'running'; + return RunningStatus.RUNNING; } else { - return 'failed'; + return RunningStatus.FAIL; } } @@ -110,6 +105,21 @@ export function MemoryTable({ const disabledRowFunc = (row: Row) => { return row.original.forget_at !== 'None' && !!row.original.forget_at; }; + + const [isModalVisible, setIsModalVisible] = useState(false); + const [logInfo, setLogInfo] = useState(); + const showLog = (row: Row) => { + const task = row.original.task; + const logDetail = { + startTime: dayjs(task.create_time) + .locale(document.documentElement.lang) + .format('MM/DD/YYYY HH:mm:ss'), + status: getTaskStatus(task.progress), + details: task.progress_msg, + } as unknown as ILogInfo; + setLogInfo(logDetail); + setIsModalVisible(true); + }; // Define columns for the memory table const columns: ColumnDef[] = useMemo( () => [ @@ -233,83 +243,22 @@ export function MemoryTable({ const taskStatus = getTaskStatus(task.progress); return ( - - - - - - - - {t('memory.taskLogDialog.title')} - - -
-
-
- {t('memory.taskLogDialog.startTime')} -
-
- {dayjs(task.create_time) - .locale(document.documentElement.lang) - .format('MM/DD/YYYY HH:mm:ss')} -
- -
- {t('memory.taskLogDialog.status')} -
-
-
-
- {t(`memory.taskLogDialog.${taskStatus}`)} -
-
-
- -
-
- {t('memory.taskLogDialog.details')} -
-
-
-
-                          {task.progress_msg}
-                        
-
-
-
-
- - - - - - -
-
+ ); }, }), @@ -506,6 +455,16 @@ export function MemoryTable({ )} + {isModalVisible && ( + setIsModalVisible(false)} + translateKey="memory.taskLogDialog" + logInfo={logInfo as unknown as ILogInfo} + /> + )} +