Fix incomplete pricelist sync status
This commit is contained in:
@@ -92,6 +92,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="modal-pricelist-sync-issue" class="hidden">
|
||||
<h4 class="font-medium text-red-700 mb-2">Состояние прайслистов</h4>
|
||||
<div class="bg-red-50 border border-red-200 rounded px-3 py-2 text-sm space-y-1">
|
||||
<div id="modal-pricelist-sync-summary" class="text-red-700">—</div>
|
||||
<div id="modal-pricelist-sync-attempt" class="text-red-600 text-xs hidden"></div>
|
||||
<div id="modal-pricelist-sync-error" class="text-red-600 text-xs hidden whitespace-pre-wrap"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Section 2: Statistics -->
|
||||
<div>
|
||||
<h4 class="font-medium text-gray-900 mb-2">Статистика</h4>
|
||||
@@ -229,6 +238,43 @@
|
||||
readinessMinVersion.textContent = '';
|
||||
}
|
||||
|
||||
const syncIssueSection = document.getElementById('modal-pricelist-sync-issue');
|
||||
const syncIssueSummary = document.getElementById('modal-pricelist-sync-summary');
|
||||
const syncIssueAttempt = document.getElementById('modal-pricelist-sync-attempt');
|
||||
const syncIssueError = document.getElementById('modal-pricelist-sync-error');
|
||||
const hasSyncFailure = data.last_pricelist_sync_status === 'failed';
|
||||
if (data.has_incomplete_server_sync) {
|
||||
syncIssueSection.classList.remove('hidden');
|
||||
syncIssueSummary.textContent = 'Последняя синхронизация прайслистов прервалась. На сервере есть изменения, которые еще не загружены локально.';
|
||||
} else if (hasSyncFailure) {
|
||||
syncIssueSection.classList.remove('hidden');
|
||||
syncIssueSummary.textContent = 'Последняя синхронизация прайслистов завершилась ошибкой.';
|
||||
} else {
|
||||
syncIssueSection.classList.add('hidden');
|
||||
syncIssueSummary.textContent = '';
|
||||
}
|
||||
if (syncIssueSection.classList.contains('hidden')) {
|
||||
syncIssueAttempt.classList.add('hidden');
|
||||
syncIssueAttempt.textContent = '';
|
||||
syncIssueError.classList.add('hidden');
|
||||
syncIssueError.textContent = '';
|
||||
} else {
|
||||
if (data.last_pricelist_attempt_at) {
|
||||
syncIssueAttempt.classList.remove('hidden');
|
||||
syncIssueAttempt.textContent = 'Последняя попытка: ' + new Date(data.last_pricelist_attempt_at).toLocaleString('ru-RU');
|
||||
} else {
|
||||
syncIssueAttempt.classList.add('hidden');
|
||||
syncIssueAttempt.textContent = '';
|
||||
}
|
||||
if (data.last_pricelist_sync_error) {
|
||||
syncIssueError.classList.remove('hidden');
|
||||
syncIssueError.textContent = data.last_pricelist_sync_error;
|
||||
} else {
|
||||
syncIssueError.classList.add('hidden');
|
||||
syncIssueError.textContent = '';
|
||||
}
|
||||
}
|
||||
|
||||
// Section 2: Statistics
|
||||
document.getElementById('modal-lot-count').textContent = data.is_online ? data.lot_count.toLocaleString() : '—';
|
||||
document.getElementById('modal-lotlog-count').textContent = data.is_online ? data.lot_log_count.toLocaleString() : '—';
|
||||
|
||||
Reference in New Issue
Block a user