diff --git a/index.html b/index.html index 78d9e4f..6483423 100644 --- a/index.html +++ b/index.html @@ -209,7 +209,51 @@ function ra(){var all=ev||[],done=all.filter(function(e){return e.s==="done"}).l document.getElementById("pg-an").innerHTML=h} // ===== REPORTS ===== -function rr(){var h='

Сводный отчёт

';var b=0;for(var i=0;iХранилище: '+(b>1048576?(b/1048576).toFixed(1)+" МБ":(b/1024).toFixed(0)+" КБ")+'

';h+='
';document.getElementById("pg-rp").innerHTML=h} +var rptMonth=5; +function rr(){var h='

Сводный отчёт

'; + h+='
Отчётность за месяц:
'; + + // Show all events with reports for selected month + var mk=ms[rptMonth],hasAny=false; + (ev||[]).forEach(function(e){ + var shown=false; + // Main event - all regions + reg.forEach(function(r,ri){var d=getMD(e.id,ri,-1);if(d[mk]&&(d[mk].report||(d[mk].files&&d[mk].files.length))){shown=true}}); + // Sub-items + if(e.sub)e.sub.forEach(function(s,si){reg.forEach(function(r,ri){var d=getMD(e.id,ri,si);if(d[mk]&&(d[mk].report||(d[mk].files&&d[mk].files.length)))shown=true})}); + if(!shown)return;hasAny=true; + + h+='
'+e.id+'. '+esc(e.t)+' '+br[e.b]+''; + reg.forEach(function(r,ri){ + var d=getMD(e.id,ri,-1); + if(d[mk]&&(d[mk].report||(d[mk].files&&d[mk].files.length))){ + h+='
'+r+''; + if(d[mk].report)h+='

'+esc(d[mk].report)+'

'; + if(d[mk].qty)h+='Количество: '+d[mk].qty+''; + if(d[mk].files&&d[mk].files.length)h+='
'+d[mk].files.map(function(f){return'📄 '+esc(f.name)+''+(f.size/1024).toFixed(0)+' КБ'}).join("")+'
'; + h+='
'; + } + // Sub-items + if(e.sub)e.sub.forEach(function(s,si){ + var sd=getMD(e.id,ri,si); + if(sd[mk]&&(sd[mk].report||(sd[mk].files&&sd[mk].files.length))){ + h+='
'+s.l+') '+esc(s.t.slice(0,60))+'...'; + h+=' — '+r+''; + if(sd[mk].report)h+='

'+esc(sd[mk].report)+'

'; + if(sd[mk].qty)h+='Кол-во: '+sd[mk].qty+''; + if(sd[mk].files&&sd[mk].files.length)h+='
'+sd[mk].files.map(function(f){return'📄 '+esc(f.name)+''}).join("")+'
'; + h+='
'; + } + }); + }); + h+='
'; + }); + if(!hasAny)h+='

Нет отчётов за '+M(rptMonth)+'

'; + + var b=0;for(var i=0;i1048576?(b/1048576).toFixed(1)+" МБ":(b/1024).toFixed(0)+" КБ")+'

'; + h+='
'; + document.getElementById("pg-rp").innerHTML=h} function dCSV(){var f=parseInt(document.getElementById("rf").value),t=parseInt(document.getElementById("rt").value);var csv="\uFEFF№;Филиал;Мероприятие;Регион;Статус;Срок\n";(ev||[]).forEach(function(e){reg.forEach(function(r,ri){var d=getMD(e.id,ri,-1),rep="";for(var i=f;i<=t;i++){var m=ms[i];if(d[m]&&d[m].report)rep+=M(i)+": "+d[m].report.replace(/"/g,'""')+"; "}csv+=e.id+';'+br[e.b]+';"'+e.t.replace(/"/g,'""')+'";'+r+';'+st[e.s]+';'+e.due+';"'+rep+'"\n'})});var a=document.createElement("a");a.href=URL.createObjectURL(new Blob([csv]));a.download="otchet.csv";a.click()} function dHTML(){var f=parseInt(document.getElementById("rf").value),t=parseInt(document.getElementById("rt").value);var h='Отчёт

Сводный отчёт

';ev.forEach(function(e){var cl={done:"g",warn:"a",late:"r",wait:""}[e.s];h+='

'+e.id+'. '+esc(e.t)+'

'+br[e.b]+' | '+sec[e.sec]+' | Срок: '+e.due+' | '+st[e.s]+'

';reg.forEach(function(r,ri){var d=getMD(e.id,ri,-1);for(var i=f;i<=t;i++){var m=ms[i];if(d[m]&&d[m].report){h+='
'+M(i)+' — '+r+'

'+esc(d[m].report)+'

'}}});h+='
'});h+='';try{var a=document.createElement("a");a.href=URL.createObjectURL(new Blob(["\uFEFF"+h]));a.download="otchet.html";a.click()}catch(e){alert("Слишком большой")}} function exp(){var d={events:ev,date:new Date().toISOString(),files:{},sc:{}};for(var i=0;i