"+titlePre+esc(e.t)+"";
- h+="Ответственный: "+esc(nl2c(e.r))+"
";
- h+="Филиал: "+brs[e.b]+" | Срок: "+e.due;
- if(e.done&&e.done!=="\u2014")h+=" | Исполнено: "+e.done;
- h+="
";
- h+="Статус: ";
- var sk=["warn","late","done"];
- for(var si=0;si"+stn[sk[si]]+""
- }
- h+="
";
- if(e.h&&e.h.length){
- h+="История: ";
- for(var hi=0;hi"+esc(e.h[hi])+""}
- h+=" "
- }
- h+="AI-анализ: "+esc(e.ai||"\u2014")+"
";
- h+="Отчётность:
";
- h+="";
- h+="Количество: ";
- var now=new Date();
- var curMonth=now.getMonth();
- h+="Месяц: ";
- var mnames=["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"];
- for(var mi=0;mi<12;mi++){
- h+=""+mnames[mi]+" "
- }
- h+="
";
- h+="
";
- h+="Файлы: ";
- if(cu&&cu.bg===0){
- for(var bi=0;bi"+esc(brs[bi])+":
";
- for(var fi=0;fi"+esc(f.n)+" ("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+") Скачать Удалить "
- }
- }catch(ex){}
- }
- }
- }else{
- var bk=fk+"_b"+(cu?cu.bg:0);
- var fd=localStorage.getItem(bk);
- if(fd){
- try{
- var fa=JSON.parse(fd);
- for(var fi=0;fi"+esc(f.n)+" ("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+") Скачать Удалить "
- }
- }catch(ex){}
- }
- }
- h+="
";
- h+="";
- if(subIdx===undefined&&e.sub&&e.sub.length>0){
- h+="Подпункты: ";
- var ss=localStorage.getItem("ss_"+e.id);
- for(var si=0;si "+esc(e.sub[si].l)+") "+esc(e.sub[si].t)+"
"
- }
- h+=""
- }
- h+="Сохранить ";
- h+="Отмена
";
- h+="";
- showModal(h)
-}
-
-function showModal(html){
- var mb=document.getElementById("modal_body");
- var m=document.getElementById("modal");
- if(!mb||!m)return;
- mb.innerHTML=html;
- m.style.display="flex"
-}
-function closeModal(){
- document.getElementById("modal").style.display="none"
-}
-
-function saveEvModal(id){
- var sel=document.getElementById("evs_"+id);
- var inq=document.getElementById("evq_"+id);
- var inn=document.getElementById("evn_"+id);
- for(var i=0;i3145728){alert("\u0424\u0430\u0439\u043B \u0431\u043E\u043B\u044C\u0448\u0435 3MB");return}
- var fr=new FileReader();
- var subKey=curSub!==null?"_s"+curSub:"";
- var brKey="_b"+(cu?cu.bg:0);
- fr.onload=function(){
- var key="sf_"+id+subKey+brKey;
- var arr=[];
- var ex=localStorage.getItem(key);
- if(ex){try{arr=JSON.parse(ex)}catch(e){}}
- var d=new Date();
- arr.push({n:f.name,s:f.size,d:d.getDate()+"."+String(d.getMonth()+1).padStart(2,"0")+"."+d.getFullYear(),u:cu?cu.n:"",data:fr.result});
- try{localStorage.setItem(key,JSON.stringify(arr))}catch(e){alert("\u041E\u0448\u0438\u0431\u043A\u0430 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F")}
- openEv(id,curSub!==null?curSub:undefined)
- };
- fr.readAsDataURL(f)
-}
-function dlFile(id,idx){
- var key="sf_"+id+(curSub!==null?"_s"+curSub:"")+"_b"+(cu?cu.bg:0);
- var ex=localStorage.getItem(key);
- if(!ex)return;
- try{
- var arr=JSON.parse(ex);
- var f=arr[idx];
- if(!f||!f.data)return;
- var a=document.createElement("a");
- a.href=f.data;
- a.download=f.n;
- document.body.appendChild(a);
- a.click();
- document.body.removeChild(a)
- }catch(e){}
-}
-function delFile(id,idx){
- if(!confirm("\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0444\u0430\u0439\u043B?"))return;
- var key="sf_"+id+(curSub!==null?"_s"+curSub:"")+"_b"+(cu?cu.bg:0);
- var ex=localStorage.getItem(key);
- if(!ex)return;
- try{
- var arr=JSON.parse(ex);
- arr.splice(idx,1);
- if(arr.length){localStorage.setItem(key,JSON.stringify(arr))}
- else{localStorage.removeItem(key)}
- openEv(id,curSub!==null?curSub:undefined)
- }catch(e){}
-}
-
-function saveBackup(){
- saveEv();
- var blob=new Blob([JSON.stringify(evs,null,2)],{type:"application/json"});
- var a=document.createElement("a");
- a.href=URL.createObjectURL(blob);
- a.download="backup_"+new Date().toISOString().slice(0,10)+".json";
- a.click()
-}
-function loadBackup(inp){
- if(!inp.files||!inp.files[0])return;
- var fr=new FileReader();
- fr.onload=function(){
- try{
- var d=JSON.parse(fr.result);
- if(!d||!d.length){alert("\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442");return}
- var out=[];
- for(var i=0;i\u0412\u0441\u0435\u0433\u043E \u043C\u0435\u0440\u043E\u043F\u0440\u0438\u044F\u0442\u0438\u0439
"+total+"
";
- html+="\u0418\u0441\u043F\u043E\u043B\u043D\u0435\u043D\u043E
"+done+"
"+Math.round(done/total*100)+"%
";
- html+="\u041F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E
"+late+"
";
- html+="";
- document.getElementById("an_stats").innerHTML=html;
-
- var problem=[];
- for(var i=0;i"+pt[i].id+" "+esc(pt[i].t)+" "+brs[pt[i].b]+" "+stn[pt[i].s]+" "+(pt[i].dr<=0?"\u041F\u0440\u043E\u0441\u0440\u043E\u0447\u0435\u043D\u043E":pt[i].dr+" \u0434\u043D.")+" "
- }
- ph+="";
- document.getElementById("an_top").innerHTML=ph
- }else{
- document.getElementById("an_top").innerHTML="\u041F\u0440\u043E\u0431\u043B\u0435\u043C \u043D\u0435\u0442
"
- }
-}
-
-function getFilteredEvs(){
- var period=document.getElementById("rp_period").value;
- var statusF=document.getElementById("rp_status").value;
- var year=parseInt(document.getElementById("rp_year").value,10)||2026;
- var month=parseInt(document.getElementById("rp_month").value,10)||0;
- var months=[];
- if(period==="month"){months=[month]}
- else if(period==="q1"){months=[0,1,2]}
- else if(period==="q2"){months=[3,4,5]}
- else if(period==="q3"){months=[6,7,8]}
- else if(period==="q4"){months=[9,10,11]}
- else if(period==="h1"){months=[0,1,2,3,4,5]}
- else if(period==="h2"){months=[6,7,8,9,10,11]}
- else if(period==="year"){months=[0,1,2,3,4,5,6,7,8,9,10,11]}
- var r=[];
- for(var i=0;iПлан производственной безопасности QAZAQtelecom HSE за "+month+"."+year+"
N Мероприятие Срок Статус Кол-во Примечание / Файлы ";
- for(var i=0;i=0?"_s"+si:"";
- for(var bk=0;bk"+esc(f.n)+" ("+Math.round((f.s||0)/1024)+" KB"+", "+esc(f.u||"")+")"
- }}catch(ex){}
- }
- }
- if(fhtml)fhtml=""+fhtml+"
";
- hh+=""+e.id+" "+esc(e.t)+" "+e.due+" "+stn[e.s]+" "+(e.q||"")+" "+notes+fhtml+" "
- }
- hh+="
Отчёт сформирован: "+new Date().toLocaleDateString("ru-RU")+"