diff --git a/index.html b/index.html
index 9f87cc4..8ef1df9 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
-План ПБ 2026 — Казахтелеком
+QAZAQtelecom HSE — План ПБ 2026
План производственной безопасности
АО Казахтелеком за "+month+"."+year+"
| N | Мероприятие | Срок | Статус | Кол-во | Примечание / Файлы |
";
+ var hh="Отчёт План ПБ "+month+"."+year+"План производственной безопасности
QAZAQtelecom HSE за "+month+"."+year+"
| N | Мероприятие | Срок | Статус | Кол-во | Примечание / Файлы |
";
for(var i=0;i=0?"_s"+si:"";
for(var bk=0;bk=0?e.sub[si].l:"";
- fhtml+=""+esc((lb?lb+". ":"")+f.n)+" ("+Math.round(f.s/1024)+" KB"+", "+esc(f.u||"")+")"
- }}catch(ex){}
- }
+ keysToTry.push("sf_"+e.id+sk+"_b"+bk)
+ }
+ }
+ keysToTry.push("sf_"+e.id);
+ for(var ki=0;ki"+esc(f.n)+" ("+Math.round((f.s||0)/1024)+" KB"+", "+esc(f.u||"")+")"
+ }}catch(ex){}
}
}
if(fhtml)fhtml=""+fhtml+"
";
@@ -1048,7 +1081,45 @@ function delUser(k){
saveUsers();
renderUsers()
}
-function saveUsers(){
+function saveLTIF(){
+ var m=parseInt(document.getElementById("ltif_month").value,10);
+ var h=parseFloat(document.getElementById("ltif_hours").value)||0;
+ var a=parseInt(document.getElementById("ltif_inj").value)||0;
+ if(!h){alert("Введите человеко-часы");return}
+ var data=localStorage.getItem("ltif_data");
+ var ltif=[];
+ if(data){try{ltif=JSON.parse(data)}catch(e){}}
+ ltif[m]={h:h,a:a};
+ try{localStorage.setItem("ltif_data",JSON.stringify(ltif))}catch(e){}
+ loadLTIF()
+}
+function loadLTIF(){
+ var data=localStorage.getItem("ltif_data");
+ var ltif=[];
+ if(data){try{ltif=JSON.parse(data)}catch(e){}}
+ var mnames=["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"];
+ var m=parseInt(document.getElementById("ltif_month").value,10);
+ var cur=ltif[m];
+ if(cur){document.getElementById("ltif_hours").value=cur.h;document.getElementById("ltif_inj").value=cur.a}
+ else{document.getElementById("ltif_hours").value="";document.getElementById("ltif_inj").value=""}
+ var res=document.getElementById("ltif_result");
+ var totalH=0,totalA=0;
+ var tbl="| Месяц | Чел-часы | Пострадавшие | LTIF |
";
+ for(var i=0;i<12;i++){
+ if(ltif[i]&<if[i].h){
+ totalH+=ltif[i].h;totalA+=ltif[i].a;
+ var lt=ltif[i].a*1000000/ltif[i].h;
+ tbl+="| "+mnames[i]+" | "+ltif[i].h.toLocaleString()+" | "+ltif[i].a+" | "+lt.toFixed(2)+" |
"
+ }
+ }
+ tbl+="
";
+ if(totalH>0){
+ var totalLT=totalA*1000000/totalH;
+ res.innerHTML="Годовой LTIF: "+totalLT.toFixed(2)+" (пострадавших: "+totalA+", чел-часов: "+totalH.toLocaleString()+")"
+ }else{res.innerHTML=""}
+ document.getElementById("ltif_table").innerHTML=tbl;
+ document.getElementById("ltif_card").style.display=cu&&cu.bg===0?"":"none"
+}
var ex={};
for(var k in USR){
if(!USR.hasOwnProperty(k))continue;
@@ -1056,6 +1127,32 @@ function saveUsers(){
}
try{localStorage.setItem("ext_users",JSON.stringify(ex))}catch(e){}
}
+function dlAnalyticsPPT(){
+ var total=evs.length;
+ var done=0,late=0,warn=0;
+ for(var i=0;i
"+total+" Всего | "+done+" Исполнено | "+warn+" В процессе | "+late+" Просрочено |
Выполнение: "+Math.round(done/total*100)+"%
";
+ var blob=new Blob([h],{type:"application/vnd.ms-powerpoint"});
+ var a=document.createElement("a");a.href=URL.createObjectURL(blob);a.download="dashboard.pptx";a.click()
+}
+function dlAnalyticsPDF(){
+ var h=document.getElementById("tab_analytics").innerHTML;
+ var w=window.open("","_blank","width=900,height=700");
+ w.document.write("АналитикаQAZAQtelecom HSE — Аналитика
"+new Date().toLocaleDateString("ru-RU")+"
"+h+"