@@ -158,23 +155,17 @@ function sb(s){var m={done:"green",warn:"amber",late:"red",wait:"gray"};return'<
function pct(p){var c=p>=80?"var(--green)":p>=40?"var(--amber)":"var(--red)";return'
';
- // Branch detail for curator
if(curUser.role==="curator"||curUser.role==="admin"){
- h+='
📋 Сводка по филиалам — что загружено
Филиал
Регион
Меропр.
С отчётами
Файлов
Прогресс
';
+ h+='
📋 Сводка по филиалам — что загружено
Филиал
Меропр.
С отчётами
Файлов
Прогресс
';
branches.forEach(function(b,bi){var items=events.filter(function(e){return e.b===bi}),withRpt=0,totalFiles=0;
- items.forEach(function(e){var d=getMD(e.id,-1);var has=false;for(var k in d){if(d.hasOwnProperty(k)&&d[k]&&(d[k].report||(d[k].files&&d[k].files.length))){has=true;totalFiles+=(d[k].files||[]).length}}if(e.sub)e.sub.forEach(function(s,si){var sd=getMD(e.id,si);for(var sk in sd){if(sd.hasOwnProperty(sk)&&sd[sk]&&(sd[sk].report||(sd[sk].files&&sd[sk].files.length))){has=true;totalFiles+=(sd[sk].files||[]).length}}});if(has)withRpt++});
- h+='
';
+ items.forEach(function(e){var has=false;regions.forEach(function(r,ri){var d=getMD(e.id,ri,-1);for(var k in d){if(d.hasOwnProperty(k)&&d[k]&&(d[k].report||(d[k].files&&d[k].files.length))){has=true;totalFiles+=(d[k].files||[]).length}}if(e.sub)e.sub.forEach(function(s,si){var sd=getMD(e.id,ri,si);for(var sk in sd){if(sd.hasOwnProperty(sk)&&sd[sk]&&(sd[sk].report||(sd[sk].files&&sd[sk].files.length))){has=true;totalFiles+=(sd[sk].files||[]).length}}})});if(has)withRpt++});
+ h+='
'});
+ // Main event data — all regions
+ regions.forEach(function(r,ri){h+=renderMonthBlock(e.id,ri,-1,r,from,to)});
+ // Sub-items — all regions
+ if(e.sub) e.sub.forEach(function(s,i){ h+='