gigafibre-fsm/apps/ops/src/pages
louispaulb 054deb7b97 Roster: la garde ne compte PAS comme heures travaillées (mise en dispo)
Garde (on_call) exclue partout des heures travaillées + du coût:
- hub statsByDay: heures = somme des shifts NON-garde ; nouveau compteur on_call/jour (techs en dispo).
- Ops: hoursOf (heures/tech + alerte heures supp) et costByDate/weekCost excluent la garde.
- nouvelle ligne de pied '🛡️ Garde' = nb de techs en disponibilité/jour (si applicable).
Cohérent avec l'occupation (déjà hors-garde) : la garde = réserve d'urgence, ni offerte ni facturée.
Vérifié 8 juin: 112 h travaillées (garde 6 h exclue), garde=1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 15:52:01 -04:00
..
AgentFlowsPage.vue refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables 2026-04-08 17:38:38 -04:00
ClientDetailPage.vue fix(ops/client): cancelled subs no longer inflate monthly total + Lieu link in-app 2026-05-08 11:21:18 -04:00
ClientsPage.vue refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables 2026-04-08 17:38:38 -04:00
CopilotePage.vue Ops RDV+Copilote: vue agent (semaine/jour + hold), file À recontacter, réglages #56 2026-06-04 14:28:14 -04:00
DashboardPage.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
dispatch-styles.scss fix(ops/dispatch): surface customer + service-location links from a job + fix bad coords 2026-05-08 10:29:59 -04:00
dispatch-styles.scss.dark-backup refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
DispatchPage.vue fix(ops/client): cancelled subs no longer inflate monthly total + Lieu link in-app 2026-05-08 11:21:18 -04:00
EmailQueuePage.vue feat(ops): Email Queue admin page (view/delete/purge ERPNext outbound) 2026-06-02 17:29:33 -04:00
EquipePage.vue feat: add ops app + CONTEXT.md, simplify URL to /ops/ 2026-03-30 22:41:58 -04:00
NetworkPage.vue feat: contract → chain → subscription → prorated invoice lifecycle + tech group claim 2026-04-22 20:40:54 -04:00
OcrPage.vue feat: unify vision on Gemini + port field tech scan/device into /j 2026-04-22 11:26:01 -04:00
PlanificationPage.vue Roster: la garde ne compte PAS comme heures travaillées (mise en dispo) 2026-06-04 15:52:01 -04:00
RapportsPage.vue feat(ops/reports): "Internet trop cher" legacy report 2026-06-01 19:06:05 -04:00
RendezVousPage.vue Ops RDV+Copilote: vue agent (semaine/jour + hold), file À recontacter, réglages #56 2026-06-04 14:28:14 -04:00
ReportARPage.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
ReportInternetCherPage.vue feat(ops): Ville column in overpriced-internet report (sort + filter by city) 2026-06-01 22:44:34 -04:00
ReportRevenuPage.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
ReportTaxesPage.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
ReportVentesPage.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
SettingsPage.vue feat(hub+ops): user invite flow sends temp password via Mailjet + dev .env.example 2026-05-05 19:50:06 -04:00
TelephonyPage.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
TicketsPage.vue feat: flow editor, Gemini QR scanner with offline queue, dispatch planning v2 2026-04-22 10:44:17 -04:00