Update lot recalc flow

This commit is contained in:
Mikhail Chusavitin
2026-02-18 10:32:36 +03:00
parent d55f484616
commit 0827c501df

View File

@@ -537,16 +537,41 @@ async function deleteStockMapping(partnumber) {
async function recalculateAll() {
try {
const resp = await fetch('/api/admin/pricing/recalculate-all', {method: 'POST'});
const resp = await fetch('/api/admin/pricing/recalculate-all?force=1', {method: 'POST'});
const data = await resp.json();
if (data.task_id) {
showToast('Пересчёт цен запущен в фоне', 'info');
await waitForTaskCompletion(data.task_id);
if (currentTab === 'components') {
loadData();
}
}
} catch (e) {
showToast('Ошибка запуска пересчёта', 'error');
}
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function waitForTaskCompletion(taskId) {
if (!taskId) return;
for (;;) {
await sleep(2500);
try {
const resp = await fetch(`/api/tasks/${taskId}`);
if (!resp.ok) return;
const task = await resp.json();
if (task.status === 'completed' || task.status === 'error') {
return;
}
} catch (_) {
return;
}
}
}
// LOT Creation Functions
function openCreateLotModal() {
document.getElementById('create-lot-modal').classList.remove('hidden');