Fix task refresh after work order close
Some checks failed
ERP CI/CD Pipeline / test (push) Has been cancelled
ERP CI/CD Pipeline / Deploy (server git pull + compose) (push) Has been cancelled

Keep the linked work order visible in task details and force-refresh tasks immediately after work order changes so the dashboard table updates without a hard refresh.
This commit is contained in:
mariomitte
2026-08-01 10:36:20 +02:00
parent e7641e7be0
commit 45142bba4b

View File

@@ -566,10 +566,17 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page
}, [serviceRecords, selectedTask?.id]);
const selectedTaskWorkOrders = useMemo(() => {
if (!selectedTask) return [];
// Only open work orders in the dropdown — closed ones cannot receive new tasks.
// Keep dropdown focused on open work orders, but preserve the task's already assigned
// work order even when it is closed so the reference remains visible/editable in task details.
// Cross-crane sharing allowed: no vehicle filter.
const selectedWorkOrderId = String(selectedTask.work_order || '');
return [...workOrders]
.filter((order) => String(order.status || '').toLowerCase() !== 'closed')
.filter((order) => {
const orderId = String(order.id || '');
const isClosed = String(order.status || '').toLowerCase() === 'closed';
if (!isClosed) return true;
return selectedWorkOrderId && orderId === selectedWorkOrderId;
})
.sort((a, b) => String(b.date || '').localeCompare(String(a.date || '')));
}, [selectedTask, workOrders]);
@@ -614,7 +621,7 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page
await updateWorkOrder(workOrder.id, changes);
showToast('Nalog je uspješno ažuriran.', 'success');
await fetchFleetDashboardData({ silent: true });
await fetchTasks();
await fetchTasks({ force: true });
} catch (error) {
showToast(error?.message || 'Ažuriranje naloga nije uspjelo.', 'error');
}