From 11c44bc95dbe6791beadb01fc693375a9790470a Mon Sep 17 00:00:00 2001 From: dengqichen Date: Mon, 10 Nov 2025 13:41:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=89=8D=E7=AB=AF=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/DeployNodeLogDialog.tsx | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/frontend/src/pages/Dashboard/components/DeployNodeLogDialog.tsx b/frontend/src/pages/Dashboard/components/DeployNodeLogDialog.tsx index 6d849139..8da0ad7d 100644 --- a/frontend/src/pages/Dashboard/components/DeployNodeLogDialog.tsx +++ b/frontend/src/pages/Dashboard/components/DeployNodeLogDialog.tsx @@ -8,7 +8,6 @@ import { DialogFooter, } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; -import { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'; import { Loader2, AlertCircle, Clock, FileText, RefreshCw } from 'lucide-react'; import { cn } from '@/lib/utils'; import { getDeployNodeLogs } from '../service'; @@ -56,10 +55,7 @@ const DeployNodeLogDialog: React.FC = ({ if (response && !response.expired && response.logs.length > 0) { setTimeout(() => { if (scrollAreaRef.current) { - const viewport = scrollAreaRef.current.querySelector('[data-radix-scroll-area-viewport]'); - if (viewport) { - viewport.scrollTop = viewport.scrollHeight; - } + scrollAreaRef.current.scrollTop = scrollAreaRef.current.scrollHeight; } }, 100); } @@ -148,52 +144,57 @@ const DeployNodeLogDialog: React.FC = ({

日志通常保留 7 天,请检查部署时间

) : ( - +
{logData?.logs && logData.logs.length > 0 ? ( - logData.logs.map((log, index) => { - // 计算行号宽度 + (() => { + // 计算行号宽度(只计算一次) const lineNumWidth = Math.max(4, String(logData.logs.length).length + 1); - // 格式化时间戳为可读格式:2025-11-07 16:27:41.494 - const timestamp = dayjs(log.timestamp).format('YYYY-MM-DD HH:mm:ss.SSS'); + return logData.logs.map((log, index) => { + // 格式化时间戳为可读格式:2025-11-07 16:27:41.494 + const timestamp = dayjs(log.timestamp).format('YYYY-MM-DD HH:mm:ss.SSS'); - return ( -
- {/* 行号 - 动态宽度,右对齐 */} - - {index + 1} - + {/* 行号 - 动态宽度,右对齐 */} + + {index + 1} + - {/* 时间戳 - 可读格式,23个字符 (2025-11-07 16:27:41.494) */} - - {timestamp} - + {/* 时间戳 - 可读格式,23个字符 (2025-11-07 16:27:41.494) */} + + {timestamp} + - {/* 日志级别 - 5个字符,右对齐 */} - - {log.level} - + {/* 日志级别 - 5个字符,右对齐 */} + + {log.level} + - {/* 日志消息 - 不换行显示 */} - - {log.message} - -
- ); - }) + {/* 日志消息 - 不换行显示 */} + + {log.message} + +
+ ); + }); + })() ) : (
@@ -202,8 +203,7 @@ const DeployNodeLogDialog: React.FC = ({
)}
- -
+ )}