diff --git a/app.html b/app.html index 14cba11..ee55509 100644 --- a/app.html +++ b/app.html @@ -86,7 +86,7 @@ td{padding:8px 12px;border-bottom:1px solid #F2F4F7}tr:hover td{background:#F2F4

📁 История

-
БланкДатаМестоНаблюдательСтатусНарушений
Нет записей
+
БланкДатаМестоОбластьГородНаблюдательСтатусНарушений
Нет записей
@@ -166,11 +166,11 @@ function rDB(){ function rVL(){var c=document.getElementById("vlc");if(!c)return;var a=getA(),td=new Date().toISOString().split("T")[0],av=[]; a.forEach(function(x){ - if(x.violations&&x.violations.length>0){x.violations.forEach(function(v){var dd=v.date||"",dn=v.done&&v.done.trim();var st="pending";if(dn)st="done";else if(dd&&dd0&&x.categories){Object.values(x.categories).forEach(function(cat){if(cat.items)cat.items.forEach(function(it){av.push({nc:it.item+" ("+x.location+")",ex:x.observer,ms:"",rs:"",dt:"",dn:"",st:"pending",ad:x.date,an:x.number||"—"})})})} - });c.innerHTML="
"+av.length+"
Всего
"+av.filter(function(v){return v.st==="done"}).length+"
Устранено
"+av.filter(function(v){return v.st==="overdue"}).length+"
Просрочено
"+av.filter(function(v){return v.st==="pending"}).length+"
В работе
"+(av.length>0?""+av.map(function(v,i){var sc=v.st==="done"?"bs":v.st==="overdue"?"bd2":"bw";var sl=v.st==="done"?"Устранено":v.st==="overdue"?"Просрочено":"В работе";return""}).join("")+"
НесоответствиеАудитИсполнительМерыСрокСтатус
"+(i+1)+""+v.nc+""+v.ad+""+v.ex+""+(v.ms||"—")+""+(v.dt||"—")+""+sl+"
":"

Несоответствий не найдено

")} + if(x.violations&&x.violations.length>0){x.violations.forEach(function(v){var dd=v.date||"",dn=v.done&&v.done.trim();var st="pending";if(dn)st="done";else if(dd&&dd0&&x.categories){Object.values(x.categories).forEach(function(cat){if(cat.items)cat.items.forEach(function(it){av.push({nc:it.item,ex:x.observer,ms:"",rs:"",dt:"",dn:"",st:"pending",ad:x.date,an:x.number||"—",ob:x.oblast||"",ct:x.city||""})})})} + });c.innerHTML="
"+av.length+"
Всего
"+av.filter(function(v){return v.st==="done"}).length+"
Устранено
"+av.filter(function(v){return v.st==="overdue"}).length+"
Просрочено
"+av.filter(function(v){return v.st==="pending"}).length+"
В работе
"+(av.length>0?""+av.map(function(v,i){var sc=v.st==="done"?"bs":v.st==="overdue"?"bd2":"bw";var sl=v.st==="done"?"Устранено":v.st==="overdue"?"Просрочено":"В работе";return""}).join("")+"
НесоответствиеАудитОбластьГородИсполнительМерыСрокСтатус
"+(i+1)+""+v.nc+""+v.ad+""+(v.ob||"—")+""+(v.ct||"—")+""+v.ex+""+(v.ms||"—")+""+(v.dt||"—")+""+sl+"
":"

Несоответствий не найдено

")} -function rHS(){var a=getA(),tb=document.getElementById("hbd");if(!tb)return;tb.innerHTML=a.length===0?"Нет записей":a.map(function(x){var ab=isA()?"✏️ ":"чтение";return""+(x.number||"—")+""+x.date+""+x.location+""+x.observer+""+(x.overallSafe?"Безопасно":"Нарушения")+""+(x.totalViolations||0)+""+ab+""}).join("")} +function rHS(){var a=getA(),tb=document.getElementById("hbd");if(!tb)return;tb.innerHTML=a.length===0?"Нет записей":a.map(function(x){var ab="👁️"+(isA()?" ✏️ ":"");return""+(x.number||"—")+""+x.date+""+x.location+""+(x.oblast||"—")+""+(x.city||"—")+""+x.observer+""+(x.overallSafe?"Безопасно":"Нарушения")+""+(x.totalViolations||0)+""+ab+""}).join("")} function uploadPhotos(files,callback){var urls=[];var done=0;function check(){done++;if(done>=files.length)callback(urls)}if(files.length===0){callback([]);return}for(var i=0;i