gigafibre-fsm/apps/ops/src/pages
louispaulb b492e30971 feat(dispatch): réconciliation + heartbeat + détails ticket dans Ops + couleurs panneau roster
#1 « ne rien échapper » :
- /dispatch/legacy-sync/reconcile : compare legacy(3301,open) ↔ Dispatch Jobs → missing/orphan (70↔70, 0/0)
- /dispatch/legacy-sync/status : heartbeat (last_sync + stale) pour Uptime-Kuma

Détails ticket dans Ops (bug signalé) :
- pont extrait le 1er message du fil legacy (stripHtml) → champ legacy_detail (backfill 70)
- store legacyDetail ; RightPanel : section « Détails du ticket » ; tooltip dans le panneau roster

Couleurs panneau roster (bug signalé) :
- /roster/unassigned-jobs renvoie job_type/legacy_dept/priority/legacy_* ; PlanificationPage colore
  chaque carte par type (legacyDeptColor partagé) — bordure gauche

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 11:50:21 -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 roster(planif): assignation drag-drop + timeline ressource + occupation + nettoyage 2026-06-05 15:50:17 -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 roster(planif/dispatch): On-Hold bloqué, alerte hors-quart, deep-link Dispatch, aviser client (#58) 2026-06-06 09:13:17 -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 feat(dispatch): réconciliation + heartbeat + détails ticket dans Ops + couleurs panneau roster 2026-06-06 11:50:21 -04:00
RapportsPage.vue feat(ops/reports): "Internet trop cher" legacy report 2026-06-01 19:06:05 -04:00
RendezVousPage.vue roster(planif): assignation drag-drop + timeline ressource + occupation + nettoyage 2026-06-05 15:50:17 -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