import TreeTable from "../UI/TreeTable"; import FlowChart from "../TreeChart/FlowChart"; import { getStatusColor } from "../TreeChart/dataUtils"; import SystemChart from "../../Charts/SystemChart"; const TabContent = ({ activeTab, tabs, statusHistories, treeData1, tabContent, handleOpenTab }) => { const countStatuses = (data) => { const counts = { green: 0, yellow: 0, orange: 0, red: 0 }; const countRecursive = (node) => { if (node.status) { counts[node.status]++; } if (node.items && node.items.length > 0) { node.items.forEach(child => countRecursive(child)); } }; if (data) countRecursive(data); return counts; }; if (activeTab === "Главная") { const statusCounts = countStatuses(treeData1); // Конфигурация для метрики серверов (с несколькими линиями) const serverMetric = { name: "zvks_server_li", title: "Надежность системы", description: "Уровень надежности системы", multipleLines: true, lineKey: "device", ranges: [ { value: 15, color: 'green', label: 'Оптимально' }, { value: 10, color: 'orange', label: 'Предупреждение' }, { value: 5, color: 'red', label: 'Критично' } ] }; // Конфигурация для метрики приложений (одна линия) const appMetric = { name: "zvks_application_li", title: "Функциональность системы", description: "Уровень функциональности системы", multipleLines: false }; return (

Общий мониторинг состояния системы

{/* Контейнер для индикаторов статусов */}
{Object.entries(statusCounts).map(([status, count]) => (
{count}
))}
); } else if (activeTab === "Визуализация") { return handleOpenTab(id, title)} />; } else { const tabData = tabs.find(t => t.id === activeTab); return tabData ? tabData.content :

Нет данных

; } }; export default TabContent;