fix: clear files button, restore download links in report, storage warning

This commit is contained in:
Dauren777 2026-06-11 08:53:04 +00:00
parent 22298d4ed8
commit f7f1afeed2

View File

@ -92,7 +92,7 @@ tr:hover{background:#FAFBFC}
<div id="main">
<div class="top"><h2 id="page_title">Мероприятия</h2>
<div style="display:flex;gap:8px;align-items:center">
<span id="stor_ind" class="stor-bar"></span>
<span id="stor_ind" class="stor-bar"></span> <button class="btn btn-sm btn-r" style="padding:2px 8px;font-size:11px" onclick="clearFiles()" title="Очистить все файлы">Очистить файлы</button>
<button class="btn btn-sm btn-o" onclick="saveBackup()">Резерв</button>
<button class="btn btn-sm btn-g" onclick="document.getElementById('fu').click()">Восст.</button>
<input type="file" id="fu" accept=".json" style="display:none" onchange="loadBackup(this)">
@ -1018,6 +1018,12 @@ function init(){
}
if(cu)showApp()
}
function clearFiles(){
if(!confirm("\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B? \u042D\u0442\u043E \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438\u0442 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435."))return;
var keys=[];for(var k in localStorage){if(localStorage.hasOwnProperty(k)&&k.indexOf("sf_")===0)keys.push(k)}
for(var i=0;i<keys.length;i++){localStorage.removeItem(keys[i])}
storCheck();alert("\u0423\u0434\u0430\u043B\u0435\u043D\u043E "+keys.length+" \u0444\u0430\u0439\u043B\u043E\u0432")
}
function doLogin(){
var e=document.getElementById("lem").value.trim().toLowerCase();
@ -1417,7 +1423,7 @@ function storCheck(){
}
var max=5242880;
var pct=Math.round(used/max*100);
el.textContent="\u0425\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435: "+pct+"% ("+Math.round(used/1024)+"KB)"
el.textContent="\u0425\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435: "+pct+"% ("+Math.round(used/1024)+"KB)"+(pct>80?" \u2014 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u00AB\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B\u00BB":"")
}catch(e){el.textContent=""}
}
@ -1537,7 +1543,7 @@ function dlCSV(){
}
function dlHTML(){
var fl=getFilteredEvs();var periodLabel=getReportPeriod();var months=getReportMonths();
var hh="<!DOCTYPE html><html><head><meta charset='utf-8'><title>\u041E\u0442\u0447\u0451\u0442 \u041F\u0411 \u0437\u0430 "+periodLabel+"</title><style>body{font:14px Arial,sans-serif;padding:30px;color:#1A1A2E}h2{font-size:20px;margin-bottom:4px}h3{font-size:14px;color:#005BAA;margin:16px 0 4px;border-bottom:1px solid #ddd;padding-bottom:6px}.meta{font-size:12px;color:#1A1A2E;margin:2px 0 6px 0;background:#F0F4FF;padding:6px 10px;border-radius:4px}.desc{font-size:12px;color:#1A1A2E;margin:6px 0;padding:10px;background:#F0F4FF;border-radius:4px;border-left:4px solid #005BAA}.qty{font-weight:600;color:#2E7D32;margin:4px 0}.files{font-size:11px;margin:6px 0}.files span{display:inline-block;margin:2px 8px;color:#005BAA}@media print{body{padding:10mm}}</style></head><body><h2>\u041F\u043B\u0430\u043D \u041F\u0411</h2><p>QAZAQtelecom HSE \u0437\u0430 "+periodLabel+"</p><p style='font-size:11px;color:#64748B'>\u041E\u0442\u0447\u0451\u0442 \u0441\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u043D: "+new Date().toLocaleDateString("ru-RU")+"</p><br>";
var hh="<!DOCTYPE html><html><head><meta charset='utf-8'><title>\u041E\u0442\u0447\u0451\u0442 \u041F\u0411 \u0437\u0430 "+periodLabel+"</title><style>body{font:14px Arial,sans-serif;padding:30px;color:#1A1A2E}h2{font-size:20px;margin-bottom:4px}h3{font-size:14px;color:#005BAA;margin:16px 0 4px;border-bottom:1px solid #ddd;padding-bottom:6px}.meta{font-size:12px;color:#1A1A2E;margin:2px 0 6px 0;background:#F0F4FF;padding:6px 10px;border-radius:4px}.desc{font-size:12px;color:#1A1A2E;margin:6px 0;padding:10px;background:#F0F4FF;border-radius:4px;border-left:4px solid #005BAA}.qty{font-weight:600;color:#2E7D32;margin:4px 0}.files{font-size:11px;margin:6px 0}.files a{color:#005BAA;display:block;margin:2px 0}@media print{body{padding:10mm}}</style></head><body><h2>\u041F\u043B\u0430\u043D \u041F\u0411</h2><p>QAZAQtelecom HSE \u0437\u0430 "+periodLabel+"</p><p style='font-size:11px;color:#64748B'>\u041E\u0442\u0447\u0451\u0442 \u0441\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u043D: "+new Date().toLocaleDateString("ru-RU")+"</p><br>";
for(var i=0;i<fl.length;i++){var e=fl[i];var sn=secs[e.sec].split(". ")[1]||secs[e.sec];
hh+="<h3>N"+e.id+". "+esc(e.t)+"</h3>";
hh+="<div class='meta'>\u0420\u0430\u0437\u0434\u0435\u043B | "+esc(sn)+" | \u0421\u0440\u043E\u043A: "+e.due+" | "+stn[e.s]+"</div>";
@ -1545,7 +1551,7 @@ function dlHTML(){
if(!rn&&e.n)rn=e.n;if(!rq&&e.q)rq=e.q;
if(rn)hh+="<div class='desc'><strong>\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F:</strong><br>"+esc(rn)+"</div>";
if(rq)hh+="<div class='qty'>\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E: "+rq+"</div>";
var fhtml="";for(var mi=0;mi<months.length;mi++){var mk="_m"+months[mi];for(var si=-1;si<(e.sub?e.sub.length:0);si++){var sk=si>=0?"_s"+si:"";for(var bk=0;bk<brs.length;bk++){var key="sf_"+e.id+mk+sk+"_b"+bk;var fd=localStorage.getItem(key);if(fd){try{var arr=JSON.parse(fd);for(var fi=0;fi<arr.length;fi++){var f=arr[fi];if(f&&f.n)fhtml+="<span>\uD83D\uDCC4 "+esc(f.n)+" ("+Math.round((f.s||0)/1024)+" KB)</span>"}}catch(ex){}}}}}
var fhtml="";for(var mi=0;mi<months.length;mi++){for(var si=-1;si<(e.sub?e.sub.length:0);si++){var sk=si>=0?"_s"+si:"";var mk="_m"+months[mi];for(var bk=0;bk<brs.length;bk++){var key="sf_"+e.id+mk+sk+"_b"+bk;var fd=localStorage.getItem(key);if(fd){try{var arr=JSON.parse(fd);for(var fi=0;fi<arr.length;fi++){var f=arr[fi];if(f&&f.n&&f.data)fhtml+="<a href='"+f.data+"' download='"+esc(f.n)+"'>\uD83D\uDCC4 "+esc(f.n)+" ("+Math.round((f.s||0)/1024)+" KB)</a>"}}catch(ex){}}}}}
if(fhtml)hh+="<div class='files'><strong>\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B:</strong><br>"+fhtml+"</div>";
}
hh+="<p style='font-size:11px;color:#64748B'><em>\u041E\u0442\u0447\u0451\u0442 \u0441\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u043D: "+new Date().toLocaleDateString("ru-RU")+"</em></p></body></html>";
@ -1967,6 +1973,6 @@ function dlAnalyticsWord(){
var a=document.createElement("a");a.href=URL.createObjectURL(blob);a.download="analytics.doc";a.click()
}
</script></script>
</script></script></script>
</body>
</html>