Refactor dashboard sections: KPI cards, filters, fallbacks
- Replace 4 static KPI cards with 5 interactive cards - 'Otvoreni nalozi' and 'Servisi danas' are now clickable links - Added context-aware subtotals (u kontekstu) when crane context is set - Replaced 'Upozorenja' (mileage-based, irrelevant for cranes) with 'Bez putnog naloga' - 'Dovrseni nalozi' now shows completion percentage - Added new card 'Moji zadaci danas' (tasks assigned to current user, today) - Added crane context filter toggle on the tasks table (Sve dizalice / Odabrani kontekst) - Service records page now shows last 10 records as fallback when no crane context is selected - Moved SyncLogPanel into a collapsible <details> element - Removed dead code: PAGE_MODE_TO_SECTION, activeSection/setActiveSection state, navbar:navigate event handler, and DashboardTopbar nav tab block (showSectionNav was always false; navigation is handled by Navbar.jsx) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -464,16 +464,19 @@ export const $dashboardStats = computed(
|
||||
const servicesToday = tasks.filter(
|
||||
(t) => t.scheduled_date === today && (t.status === 'aktivan' || t.status === 'servis')
|
||||
).length;
|
||||
const warnings = serviceRecords.filter((record) => {
|
||||
if (record.next_service_due_at == null || record.mileage == null) return false;
|
||||
return Number(record.next_service_due_at) - Number(record.mileage) <= 1000;
|
||||
}).length;
|
||||
const totalWorkOrders = workOrders.length;
|
||||
// Aktivni taskovi bez dodijeljenog putnog naloga
|
||||
const tasksWithoutWorkOrder = tasks.filter(
|
||||
(t) => (t.status === 'aktivan' || t.status === 'servis' || t.status === 'spreman_za_zavrsetak')
|
||||
&& !t.work_order
|
||||
).length;
|
||||
|
||||
return {
|
||||
openWorkOrders,
|
||||
closedWorkOrders,
|
||||
totalWorkOrders,
|
||||
servicesToday,
|
||||
warnings,
|
||||
tasksWithoutWorkOrder,
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user