From 9c7a8e80f40a8b014c0b0c8a0874e9b47de721c1 Mon Sep 17 00:00:00 2001 From: liuwei Date: Wed, 26 Mar 2025 14:11:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B6=8B=E5=8A=BF=E5=9B=BE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8A=A0=E5=85=A5=E4=BA=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=BE=A4=E8=81=8A=E8=81=8A=E5=A4=A9=E6=95=B0=E9=87=8F=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/robot_management.html | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/plugins/stats_dashboard/templates/robot_management.html b/plugins/stats_dashboard/templates/robot_management.html index a58ec9c..c2bd59d 100644 --- a/plugins/stats_dashboard/templates/robot_management.html +++ b/plugins/stats_dashboard/templates/robot_management.html @@ -151,8 +151,8 @@

消息数量趋势

- -
+ +
@@ -425,7 +425,11 @@ // 对话框打开后的回调 onTrendDialogOpened() { - this.loadMessageTrend(); + console.log('对话框已打开'); + // 延迟加载,确保DOM已渲染 + setTimeout(() => { + this.loadMessageTrend(); + }, 100); }, loadMessageTrend() { @@ -434,11 +438,11 @@ axios.get(`/api/robot/group/${this.currentGroupId}/message_trend?days=${this.trendDays}`) .then(response => { if (response.data.success) { - // 使用setTimeout确保DOM已完全渲染 + // 增加延迟时间 setTimeout(() => { this.renderTrendChart(response.data.data); this.trendLoading = false; - }, 300); + }, 500); // 增加到500毫秒 } else { this.$message.error('加载消息趋势失败'); this.trendLoading = false; @@ -455,13 +459,11 @@ try { console.log('开始渲染图表'); - // 使用唯一ID获取容器元素 - const containerId = 'chart-container-' + this.currentGroupId; - console.log('尝试获取图表容器,ID:', containerId); - const container = document.getElementById(containerId); + // 使用固定ID获取容器元素 + const container = document.getElementById('message-trend-chart-container'); if (!container) { - console.error('找不到图表容器,ID:', containerId); + console.error('找不到图表容器,ID: message-trend-chart-container'); this.$message.error('无法找到图表容器,请尝试重新打开对话框'); return; } @@ -494,6 +496,13 @@ const labels = data.dates || []; const messageData = (data.counts || []).map(count => parseInt(count) || 0); + // 检查Chart是否存在 + if (typeof Chart === 'undefined') { + console.error('Chart.js未加载'); + this.$message.error('图表库未加载,请检查网络连接'); + return; + } + // 创建新图表 this.charts.trendChart = new Chart(ctx, { type: 'line',