FieldOps — functies en schermen (web)
Dit is het functionele overzicht van wat de webapplicatie op https://fieldops.be/ biedt. Toegang per route hangt af van rol en rechten (server en profiel). Zie de per-rol handleidingen voor detailworkflows.
Weergave op telefoon, tablet en desktop
De webapp past de layout aan je schermbreedte aan: op een telefoon blijft de inhoud compact met onder-navigatie; op tablet en desktop gebruikt de inhoud de volledige breedte naast de navigatie (dashboard, klachten, taken, veldformulieren, profiel, …). Formulieren en lijsten gebruiken waar nodig responsive grids (sm/lg kolommen) en horizontaal scrollbare tabellen op smalle schermen. Smalle inhoud (bv. een foutmelding bij opmeting) kan bewust smaller blijven. De magazijnmodule (/magazijn/*) volgt hetzelfde principe; de webshop houdt op mobiel een compacte kolom (zie Magazijn — handleiding).
Authenticatie en onboarding
| Route | Functie |
|---|
/login | Inloggen (gebruikersnaam of e-mail + wachtwoord, JWT in de app). Link Wachtwoord vergeten? op het inlogscherm. |
/wachtwoord-vergeten | E-mail invullen; bij bekend adres wordt een resetlink gestuurd (geen vermelding of het adres bestaat). |
/wachtwoord-resetten | Nieuw wachtwoord instellen via link uit de resetmail (?token=…, 24 uur geldig). |
/register | Publiek registratieformulier alleen als de server FIELDOPS_ALLOW_REGISTRATION toestaat. |
/email-bevestigd | Bevestiging na e-mailverificatie (registratie). |
Start en dashboard
| Route | Functie |
|---|
/ | Werfleider (en vergelijkbare rollen): dashboard met overzichten. Subco/ploeg: start op taken (redirect). |
Taken, goedkeuringen, meetstaten
| Route | Functie |
|---|
/taken | Subco/ploeg: lijst met toegewezen taken; werfleider: zelfde module voor goedkeuringsflow (rechten). |
/taken/:taskId | Taakdetail (inventarisatie, antwoorden, goedkeuring, koppeling met rondgang/rapport). |
/goedkeuringen | Wachtrij goedkeuringen (werfleider-achtige rollen). |
/meetstaten/opmeting | Subco-opmeting / meetstaten (rechten: canAccessMeetstatenOpmeting). |
/meetstaten/opmeting/individueel/:surveyId | Opmeting per survey. |
Werfleider — rondgang, opmeting, meetstaat, sokkel + LS-kast, GIS
| Route | Functie |
|---|
/werfleider | Nieuwe of actieve rondgang (hoofdformulier). Een opgeslagen concept opent op dezelfde route met query ?concept=:reportId. |
/werfleider/concept/:reportId | Zelfde concept-editor als hierboven (alternatieve URL; o.a. oude bookmarks). |
/werfleider/ls-kast, /werfleider/ls-kast/concept/:id, /werfleider/ls-kast/bewerken/:id | Geen formulier meer — doorverwijzing naar /rapport/:id (archief) of naar /werfleider/ls-kast-plaatsing (basis-URL bij rechten op plaatsing). |
/werfleider/ls-kast-plaatsing, .../concept/:reportId, .../bewerken/:reportId | Sokkel + LS-kast plaatsing (werfleider). |
/werfleider/opmeting | Sleufmeting / opmeting-hub. |
/werfleider/opmeting/* | Diverse opmeting- en legacy-routes (rapport- en survey-paden; zie App.tsx voor exacte URL’s). |
/werfleider/opmeting/grondtypes | Redirect naar Beheer-tab of opmeting (rechten). |
/werfleider/meetstaat | Meetstaat-hub (feature flag + werfleider). |
/werfleider/gis-upload | Shapefile / GIS naar PostGIS; elke upload eigen schema (niets overschrijven tot handmatig wissen); ZIP mag Comsof ReportSummary / Warnings / QGS / CSV bevatten (design-metadata); keuze Metingen of Aanleg plannen; importgeschiedenis met filters en kaartweergave. Platform-admin altijd; werfleider alleen met Beheer → Actie: GIS-upload aan (standaard uit). Werfleider: upload/verwijderen beperkt tot eigen POP in user_project_zones. |
| GIS-kaart | /werfleider/gis-kaart |
Zie Werfleider handleiding en Platform.
Beheer
| Route | Functie |
|---|
/beheer | Beheer-console: gebruikers, instellingen, koppelingen, subco’s, notificaties, M365, opmeting-config, Downloads (tablet-APK), enz. (rechten: o.a. platform, support, werfleider met beheer). |
/beheer?tab=downloads | Tab Downloads — FieldOps Android APK voor tablets (versie uit /api/config). |
Veldrollen (lasser, blaser, graafploeg)
| Route | Functie |
|---|
/lasser, /lasser/concept/:reportId, /lasser/bewerken/:reportId | Lasser-rapport (nieuw, concept, bewerken). |
/blaser, .../concept/, .../bewerken/ | Blaser-rapport. |
/graafploeg, .../concept/, .../bewerken/ | Graafploeg-rapport (rondgang: nieuwe punten bovenaan via Nieuw punt toevoegen; meerwerk: afmetingen B/D/L in centimeter). |
/graafploeg/ls-kast-plaatsing (+ concept/bewerken) | LS-kast plaatsing vanuit graafploeg (rechten). |
Zie Veld — overzicht.
Rapporten, rondgang, trench (legacy)
| Route | Functie |
|---|
/rapport/:id | Rapportdetail (werfleider/coördinatie); subco wordt naar taken geleid. |
/rapport/:id/rondgang | Rondgang voortgang (werfleider of projectcoördinator). |
/rapport/:id/trench, /rapport/:id/trench/:surveyId | Legacy koppeling naar sleuf/trench (redirect naar huidige opmeting-flow). |
Klachten
| Route | Functie |
|---|
/klachten | Klachtenlijst (can_access_complaints e.d.). |
/klachten/nieuw | Nieuwe klacht (aanmaakrechten + zones/projecten). |
/klachten/:id | Klachtdetail (rechten per rol). |
Profiel, notities, documenten
| Route | Functie |
|---|
/profiel | Profiel: naam, wachtwoord, notificatievoorkeuren (volgens rol). |
/notitie | Snelle notitie / memo-scherm. |
/documenten, /documenten/log | Redirects naar magazijn-documenten (/magazijn/documenten, log). |
Magazijn (/magazijn/*)
| Route | Functie |
|---|
/magazijn | Entry: redirect naar hub, scan, bestellen of beheer-dashboard (sessie en rol). |
/magazijn/hub | Hub (o.a. subco: bestellen + overzicht). |
/magazijn/bestellen | Bestellen (webshop, indien van toepassing). |
/magazijn/mijn-subco | Mutatielog voor eigen subco. |
/magazijn/scan, /magazijn/scan/:token | Scanner (QR), voorraadmutaties. |
/magazijn/voorraad/:warehouseId | Voorraad per magazijn. |
/magazijn/telling/:warehouseId, .../sessie/:sessionId | Telling (wizard). |
/magazijn/beheer, /magazijn/beheer/:warehouseId | Magazijn-beheer (interne rollen met dashboard-rechten). |
/magazijn/documenten | Documenten (upload/support-flow, rechten). |
/magazijn/documenten/log, /magazijn/documenten/log/:submissionId | Log van documentaanvragen. |
Zie Handleiding magazijn en Subco handleiding § magazijn.
REST API (los van deze UI)
De HTTP API onder /api/* is niet anoniem voor de meeste operaties: login levert een JWT; andere endpoints vereisen Bearer-authenticatie en vaak specifieke rollen. Technische contracten staan bij Ontwikkelaars — gevoelige uitwerkingen (Swagger, TypeDoc, interne notities) zijn op productie extra afgeschermd (zie daar).
Onderhoud: nieuwe Route in fieldops/src/App.tsx → voeg hier een rij toe en werk DOC-inventaris bij.