Update lot recalc flow
This commit is contained in:
@@ -537,16 +537,41 @@ async function deleteStockMapping(partnumber) {
|
|||||||
|
|
||||||
async function recalculateAll() {
|
async function recalculateAll() {
|
||||||
try {
|
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();
|
const data = await resp.json();
|
||||||
if (data.task_id) {
|
if (data.task_id) {
|
||||||
showToast('Пересчёт цен запущен в фоне', 'info');
|
showToast('Пересчёт цен запущен в фоне', 'info');
|
||||||
|
await waitForTaskCompletion(data.task_id);
|
||||||
|
if (currentTab === 'components') {
|
||||||
|
loadData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
showToast('Ошибка запуска пересчёта', 'error');
|
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
|
// LOT Creation Functions
|
||||||
function openCreateLotModal() {
|
function openCreateLotModal() {
|
||||||
document.getElementById('create-lot-modal').classList.remove('hidden');
|
document.getElementById('create-lot-modal').classList.remove('hidden');
|
||||||
@@ -668,4 +693,4 @@ if (document.getElementById('price-modal')) {
|
|||||||
</script>
|
</script>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{template "base" .}}
|
{{template "base" .}}
|
||||||
|
|||||||
Reference in New Issue
Block a user