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.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"| "+(i+1)+" | "+v.nc+" | "+v.ad+" | "+v.ex+" | "+(v.ms||"—")+" | "+(v.dt||"—")+" | "+sl+" | "}).join("")+" ":"Несоответствий не найдено ")}
+ 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&&dd | 0&&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.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"| "+(i+1)+" | "+v.nc+" | "+v.ad+" | "+(v.ob||"—")+" | "+(v.ct||"—")+" | "+v.ex+" | "+(v.ms||"—")+" | "+(v.dt||"—")+" | "+sl+" | "}).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.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