diff --git a/index.html b/index.html index 14fb75e..00bda6e 100644 --- a/index.html +++ b/index.html @@ -230,54 +230,9 @@ function dAnHTML(){var all=ev||[];var h="
"+M(i)+""; h+="—"; - h+="Хранилище: "+(b>1048576?(b/1048576).toFixed(1)+" МБ":(b/1024).toFixed(0)+" КБ")+"
"; - // Monthly sign-off - h+="При подписании формируется сводный отчёт за месяц для отправки в HSE Samruk Kazyna
АО «Казахтелеком» | Период: "+M(f)+" — "+M(t)+" | Сформирован: "+new Date().toLocaleDateString()+"
"; - h+="| Показатель | Значение |
|---|---|
| Всего мероприятий | "+all.length+" |
| Исполнено | "+all.filter(function(e){return e.s==="done"}).length+" |
| Просрочено | "+all.filter(function(e){return e.s==="late"}).length+" |
| № | Мероприятие | Филиал | Статус | Срок |
|---|---|---|---|---|
| "+e.id+" | "+esc(e.t)+" | "+br[e.b]+" | "+st[e.s]+" | "+e.due+" |
№"+e.id+" — "+M(i)+": "+esc(d[m].report)+"
"}}if(e.sub)e.sub.forEach(function(s,si){var sd=getMD(e.id,si);for(var i=f;i<=t;i++){var m=ms[i];if(sd[m]&&sd[m].report)h+=""+s.l+") — "+M(i)+": "+esc(sd[m].report)+"
"}})}); - h+="Подготовлено с использованием ИИ-агента мониторинга ПБ
"; - var a=document.createElement("a");a.href=URL.createObjectURL(new Blob(["\uFEFF"+h],{type:"application/msword"}));a.download="otchet_pb.doc";a.click()} - -function dPDF(){var f=parseInt(document.getElementById("rf").value),t=parseInt(document.getElementById("rt").value),all=ev||[]; - var h=""; - h+="АО «Казахтелеком» | Период: "+M(f)+" — "+M(t)+" | "+new Date().toLocaleDateString()+"
"; - h+="| Показатель | Значение |
|---|---|
| Всего | "+all.length+" |
| Исполнено | "+all.filter(function(e){return e.s==="done"}).length+" |
| Просрочено | "+all.filter(function(e){return e.s==="late"}).length+" |
| № | Мероприятие | Филиал | Статус | Срок |
|---|---|---|---|---|
| "+e.id+" | "+esc(e.t)+" | "+br[e.b]+" | "+st[e.s]+" | "+e.due+" |
Подготовлено ИИ-агентом мониторинга ПБ
"; - var w=window.open("","_blank","width=1000,height=800");w.document.write(h);w.document.close();setTimeout(function(){w.print()},500)} - -function showSignInfo(){var mi=parseInt((document.getElementById("sm")||{}).value||0);var all=ev||[],mk=ms[mi],tot=0,signed=localStorage.getItem("signed_"+mk); - all.forEach(function(e){var d=getMD(e.id,-1);if(d[mk]&&(d[mk].report||(d[mk].files&&d[mk].files.length)))tot++}); - document.getElementById("signInfo").innerHTML="За "+M(mi)+": отчётов по "+tot+" мероприятиям. "+(signed?"✅ Подписан ("+signed+")":"Не подписан")} - -function signMonth(){var mi=parseInt(document.getElementById("sm").value),mk=ms[mi],all=ev||[],tot=0; - all.forEach(function(e){var d=getMD(e.id,-1);if(d[mk]&&(d[mk].report||(d[mk].files&&d[mk].files.length)))tot++}); - localStorage.setItem("signed_"+mk,new Date().toLocaleDateString()+" — "+cu.n); - // Build summary for HSE - var sum="Сводный отчёт за "+M(mi)+"\nАО «Казахтелеком»\n\n"; - sum+="Мероприятий с отчётами: "+tot+" из "+all.length+"\n"; - sum+="Исполнено: "+all.filter(function(e){return e.s==="done"}).length+"\n"; - sum+="Просрочено: "+all.filter(function(e){return e.s==="late"}).length+"\n\n"; - sum+="Подписал: "+cu.n+"\nДата: "+new Date().toLocaleDateString()+"\n"; - sum+="\n=== Детализация ===\n"; - all.forEach(function(e){var d=getMD(e.id,-1);if(d[mk]&&d[mk].report)sum+="№"+e.id+": "+d[mk].report+"\n"}); - localStorage.setItem("hse_report_"+mk,sum); - alert("✅ Отчёт за "+M(mi)+" подписан!\n\nСводка сохранена. Для отправки в HSE перейдите по ссылке:\nhttps://hse.sk.kz/\n\nТекст отчёта скопирован — вставьте в форму HSE."); - showSignInfo()}(){var f=parseInt(document.getElementById("rf").value),t=parseInt(document.getElementById("rt").value),all=ev||[],csv="\uFEFF№;Филиал;Мероприятие;Статус;Осталось;Срок\n";all.forEach(function(e){csv+=e.id+";"+br[e.b]+";\""+e.t.replace(/"/g,'""')+"\";"+st[e.s]+";"+daysLeft(e).replace(/<[^>]*>/g,"")+";"+e.due+"\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),all=ev||[],h=""+br[e.b]+" | "+sec[e.sec]+" | Срок: "+e.due+" | "+st[e.s]+"
";var d=getMD(e.id,-1);for(var i=f;i<=t;i++){var m=ms[i];if(d[m]&&d[m].report)h+=""+esc(d[m].report)+"
"+esc(sd[m].report)+"