diff --git a/plugins/stats_dashboard/templates/robot_management.html b/plugins/stats_dashboard/templates/robot_management.html index 43f5cc0..982d0eb 100644 --- a/plugins/stats_dashboard/templates/robot_management.html +++ b/plugins/stats_dashboard/templates/robot_management.html @@ -151,8 +151,8 @@

消息数量趋势

- -
+ +
@@ -180,8 +180,8 @@
暂无数据
- -
+ +

统计摘要

@@ -522,25 +522,40 @@ this.trendLoading = false; } else { this.$message.error('加载消息趋势失败'); + // 设置默认值 + this.trendData = { dates: [], counts: [] }; this.trendLoading = false; } }) .catch(error => { console.error('加载消息趋势失败:', error); this.$message.error('加载消息趋势失败: ' + error.message); + // 设置默认值 + this.trendData = { dates: [], counts: [] }; this.trendLoading = false; }); }, // 计算百分比的方法 getPercentage(index) { - if (!this.trendData || !this.trendData.counts) return 0; + if (!this.trendData || !this.trendData.counts || !Array.isArray(this.trendData.counts)) return 0; + if (index < 0 || index >= this.trendData.counts.length) return 0; + const count = parseInt(this.trendData.counts[index] || 0); return this.totalMessages > 0 ? ((count / this.totalMessages) * 100).toFixed(2) : 0; + }, + + // 确保在打开对话框时重置 trendData + viewMessageTrend(group) { + this.currentGroupId = group.group_id; + this.currentGroupName = group.group_name || group.group_id; + // 重置 trendData 为默认值 + this.trendData = { dates: [], counts: [] }; + this.trendDialogVisible = true; } - // ... 保留其他方法 ... + // ... 其他方法保持不变 ... } });