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