From c0ac1154d370f17f4fe8a468737455755105dd5c Mon Sep 17 00:00:00 2001 From: "Novikova.Yelena" Date: Wed, 19 Aug 2026 06:55:47 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=BE=D0=B4=D1=81=D1=87=D1=91=D1=82=20=D1=83?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BD=D0=B5=D0=B9=20-=20=D0=BC=D0=B0=D0=BA?= =?UTF-8?q?=D1=81=D0=B8=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D1=83?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D0=BD=D1=8C=20=D1=81=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D1=83=D0=B4=D0=BD=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vibe42-run.log | 4 ++++ .vibe42-run.pid | 2 +- index.html | 23 +++++++++++++++++++---- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/.vibe42-run.log b/.vibe42-run.log index 4ffddd0..e9321c0 100644 --- a/.vibe42-run.log +++ b/.vibe42-run.log @@ -22,3 +22,7 @@ up to date in 360ms up to date in 362ms Сервер запущен на порту 3000 +--- run Wed Aug 19 06:48:55 AM UTC 2026 :: npm start --silent + +up to date in 437ms +Сервер запущен на порту 3000 diff --git a/.vibe42-run.pid b/.vibe42-run.pid index f48626d..4f29463 100644 --- a/.vibe42-run.pid +++ b/.vibe42-run.pid @@ -1 +1 @@ -1979 +2218 diff --git a/index.html b/index.html index 44c2d91..c880ca7 100644 --- a/index.html +++ b/index.html @@ -395,11 +395,26 @@ function renderStats() { const total = allData.length; - const employees = new Set(allData.map(d => d.name)).size; - const specialist = allData.filter(d => d.level === 'Специалист').length; - const professional = allData.filter(d => d.level === 'Профессионал').length; - const expert = allData.filter(d => d.level === 'Эксперт').length; const vendors = new Set(allData.map(d => d.vendor)).size; + + // Группируем по сотрудникам и находим максимальный уровень + const levelPriority = { 'Специалист': 1, 'Профессионал': 2, 'Эксперт': 3 }; + const employeeMaxLevel = {}; + + allData.forEach(d => { + if (d.name) { + const currentMax = employeeMaxLevel[d.name] || 0; + const newLevel = levelPriority[d.level] || 0; + if (newLevel > currentMax) { + employeeMaxLevel[d.name] = newLevel; + } + } + }); + + const employees = Object.keys(employeeMaxLevel).length; + const specialist = Object.values(employeeMaxLevel).filter(l => l === 1).length; + const professional = Object.values(employeeMaxLevel).filter(l => l === 2).length; + const expert = Object.values(employeeMaxLevel).filter(l => l === 3).length; document.getElementById('stat-total').textContent = total; document.getElementById('stat-employees').textContent = employees;