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',