enhanced trainer table with workload details
This commit is contained in:
parent
8174957976
commit
6a9235864e
9
app.js
9
app.js
@ -52,10 +52,13 @@ function build(raw) {
|
|||||||
if (r.trainer) train[c].tr[r.trainer] = true;
|
if (r.trainer) train[c].tr[r.trainer] = true;
|
||||||
|
|
||||||
var tr = r.trainer || '—';
|
var tr = r.trainer || '—';
|
||||||
if (!trainers[tr]) trainers[tr] = {n:0, sc:[], topics:[]};
|
if (!trainers[tr]) trainers[tr] = {n:0, sc:[], topics:[], trained:{}, divisions:{}};
|
||||||
trainers[tr].n++;
|
trainers[tr].n++;
|
||||||
if (!isNaN(sc) && sc > 0) trainers[tr].sc.push(sc);
|
if (!isNaN(sc) && sc > 0) trainers[tr].sc.push(sc);
|
||||||
if (c && c !== 'Без темы') trainers[tr].topics.push(c);
|
if (c && c !== 'Без темы') trainers[tr].topics.push(c);
|
||||||
|
if (r.name) trainers[tr].trained[r.name] = true;
|
||||||
|
var dv = r.division || '—';
|
||||||
|
trainers[tr].divisions[dv] = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
var totalN = Object.keys(allN).length;
|
var totalN = Object.keys(allN).length;
|
||||||
@ -73,7 +76,9 @@ function build(raw) {
|
|||||||
var t = trainers[tr];
|
var t = trainers[tr];
|
||||||
var topics = (t.topics && t.topics.length > 0) ? Array.from(new Set(t.topics)).join(', ') : '—';
|
var topics = (t.topics && t.topics.length > 0) ? Array.from(new Set(t.topics)).join(', ') : '—';
|
||||||
var avgScore = t.sc && t.sc.length ? (t.sc.reduce(function(a,b){return a+b},0)/t.sc.length).toFixed(1) : '—';
|
var avgScore = t.sc && t.sc.length ? (t.sc.reduce(function(a,b){return a+b},0)/t.sc.length).toFixed(1) : '—';
|
||||||
return '<tr><td><b>' + tr + '</b></td><td>' + t.n + '</td><td>' + topics + '</td><td>' + avgScore + '</td></tr>';
|
var trainedCount = t.trained ? Object.keys(t.trained).length : 0;
|
||||||
|
var divisions = t.divisions ? Array.from(new Set(Object.keys(t.divisions))).join(', ') : '—';
|
||||||
|
return '<tr><td><b>' + tr + '</b></td><td>' + t.n + '</td><td>' + topics + '</td><td>' + trainedCount + '</td><td>' + avgScore + '</td><td>' + divisions + '</td></tr>';
|
||||||
}).join('');
|
}).join('');
|
||||||
|
|
||||||
cph = {};
|
cph = {};
|
||||||
|
|||||||
@ -31,9 +31,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="table-card wide">
|
<div class="table-card wide">
|
||||||
<h3>📋 Нагрузка тренеров (ФИО + тренинги + частота)</h3>
|
<h3>📋 Нагрузка тренеров</h3>
|
||||||
<table id="tblTrainers"><thead><tr>
|
<table id="tblTrainers"><thead><tr>
|
||||||
<th>ФИО тренера</th><th>Проведено тренингов</th><th>Частота (темы)</th><th>Всего обучено</th>
|
<th>ФИО тренера</th><th>Кол-во тренингов</th><th>Темы</th><th>Обучено чел.</th><th>Ср. оценка</th><th>Дивизионы</th>
|
||||||
</tr></thead><tbody></tbody></table>
|
</tr></thead><tbody></tbody></table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user