v3.1.1: таймер при загрузке (↑ 12.3с 45%)

This commit is contained in:
2026-06-18 08:14:18 +04:00
parent 557a238fb8
commit c3d891f7b7
+5 -4
View File
@@ -59,7 +59,7 @@
<body> <body>
<div class="topbar"> <div class="topbar">
<img src="{{ url_for('static', filename='nubes-logo.svg') }}" alt="Nubes"> <img src="{{ url_for('static', filename='nubes-logo.svg') }}" alt="Nubes">
<span class="title">Сверка договоров <span style="font-weight:400;color:var(--muted);font-size:12px;">v3.0.1</span></span> <span class="title">Сверка договоров <span style="font-weight:400;color:var(--muted);font-size:12px;">v3.1.1</span></span>
</div> </div>
<div class="content"> <div class="content">
@@ -159,6 +159,7 @@
function uploadFile(file, onProgress) { function uploadFile(file, onProgress) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
var startTime = Date.now();
var fd = new FormData(); var fd = new FormData();
fd.append('files', file); fd.append('files', file);
if (contractId) fd.append('cid', contractId); if (contractId) fd.append('cid', contractId);
@@ -167,7 +168,7 @@
xhr.open('POST', '/'); xhr.open('POST', '/');
xhr.upload.onprogress = function(e) { xhr.upload.onprogress = function(e) {
if (e.lengthComputable && onProgress) { if (e.lengthComputable && onProgress) {
onProgress(Math.round(e.loaded / e.total * 100)); onProgress({pct: Math.round(e.loaded / e.total * 100), elapsed: (Date.now() - startTime) / 1000});
} }
}; };
xhr.onload = function() { xhr.onload = function() {
@@ -205,8 +206,8 @@
var startTime = Date.now(); var startTime = Date.now();
try { try {
var resp = await uploadFile(f, function(pct) { var resp = await uploadFile(f, function(info) {
fileQueue[rowIdx].status = '<span style="color:var(--muted);">↑ ' + pct + '%</span>'; fileQueue[rowIdx].status = '<span style="color:var(--muted);">↑ ' + info.elapsed.toFixed(1) + 'с ' + info.pct + '%</span>';
renderTable(); renderTable();
}); });
if (resp && resp.contract_id) contractId = resp.contract_id; if (resp && resp.contract_id) contractId = resp.contract_id;