From 1657123cc1087c85396e8a24e2605fa9a7d8b8f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Thu, 12 Feb 2026 12:08:55 +0100 Subject: [PATCH] add new feature report page --- backend/go.mod | 4 +- backend/go.sum | 8 +- backend/main.go | 2 + src/assets/lang/de-CH.yaml | 7 + src/assets/lang/de-DE.yaml | 7 + src/assets/lang/en-US.yaml | 7 + src/assets/lang/es-ES.yaml | 7 + src/components/DateDaySelect.vue | 28 ++-- src/components/ReportStat.vue | 53 +++++++ src/pages/ReportPage.vue | 231 ++++++++++++++++++++++++++++--- src/vueLib/models/report.ts | 7 + 11 files changed, 327 insertions(+), 34 deletions(-) create mode 100644 src/components/ReportStat.vue create mode 100644 src/vueLib/models/report.ts diff --git a/backend/go.mod b/backend/go.mod index 15aa002..1796924 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -4,7 +4,7 @@ go 1.25.4 require ( gitea.tecamino.com/paadi/access-handler v1.0.34 - gitea.tecamino.com/paadi/memberDB v1.1.19 + gitea.tecamino.com/paadi/memberDB v1.1.27 gitea.tecamino.com/paadi/tecamino-dbm v0.1.1 gitea.tecamino.com/paadi/tecamino-logger v0.2.1 github.com/gin-contrib/cors v1.7.6 @@ -14,7 +14,7 @@ require ( ) require ( - gitea.tecamino.com/paadi/dbHandler v1.1.10 // indirect + gitea.tecamino.com/paadi/dbHandler v1.1.11 // indirect github.com/bytedance/sonic v1.14.0 // indirect github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/cloudwego/base64x v0.1.6 // indirect diff --git a/backend/go.sum b/backend/go.sum index 4579de7..ed41a3e 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -1,9 +1,9 @@ gitea.tecamino.com/paadi/access-handler v1.0.34 h1:6P65HiusSfvgv/ezOvxSahqyRJMK9UrxtGsz6loLoUk= gitea.tecamino.com/paadi/access-handler v1.0.34/go.mod h1:HyMp1WvzmqLw8Ljt3r1qlF8fY+T5WFXr9Da/CTIM0H8= -gitea.tecamino.com/paadi/dbHandler v1.1.10 h1:zZQbDTJ0bu6CIW90Zms8yYIzTLHtWPNhVKRxLUXEDuE= -gitea.tecamino.com/paadi/dbHandler v1.1.10/go.mod h1:y/xn/POJg1DO++67uKvnO23lJQgh+XFQq7HZCS9Getw= -gitea.tecamino.com/paadi/memberDB v1.1.19 h1:khbhtqS7rXTuOsWwxTO6rm13mIDjnBmJaTcJY4jmpQw= -gitea.tecamino.com/paadi/memberDB v1.1.19/go.mod h1:VBsORoIIhh0/RM5AvmaAjMEM2/cNaIT2TqDL1VDcov4= +gitea.tecamino.com/paadi/dbHandler v1.1.11 h1:hTpMWRr4dW7TkiBnEku0/3ggDC7/uP82U9paRKY/QEs= +gitea.tecamino.com/paadi/dbHandler v1.1.11/go.mod h1:y/xn/POJg1DO++67uKvnO23lJQgh+XFQq7HZCS9Getw= +gitea.tecamino.com/paadi/memberDB v1.1.27 h1:UJ/CHKc2CKd+TZ5HiGMK6p/A8wNqGUy9JjpmaPtKrEA= +gitea.tecamino.com/paadi/memberDB v1.1.27/go.mod h1:uLoKel+EcuXUzxAY5ugfWh640TSomfTJR+g8Jfe8YKI= gitea.tecamino.com/paadi/tecamino-dbm v0.1.1 h1:vAq7mwUxlxJuLzCQSDMrZCwo8ky5usWi9Qz+UP+WnkI= gitea.tecamino.com/paadi/tecamino-dbm v0.1.1/go.mod h1:+tmf1rjPaKEoNeUcr1vdtoFIFweNG3aUGevDAl3NMBk= gitea.tecamino.com/paadi/tecamino-logger v0.2.1 h1:sQTBKYPdzn9mmWX2JXZBtGBvNQH7cuXIwsl4TD0aMgE= diff --git a/backend/main.go b/backend/main.go index 8e21105..2148ebf 100644 --- a/backend/main.go +++ b/backend/main.go @@ -158,6 +158,8 @@ func main() { auth.POST("/events/delete/attendees", dbHandler.DeleteAttendee) auth.POST("/events/delete", dbHandler.DeleteEvent) + auth.POST("/report", dbHandler.GetReport) + auth.POST("/groups/add", dbHandler.NewGroup) auth.POST("/groups/edit", dbHandler.UpdateGroup) auth.POST("/groups/delete", dbHandler.DeleteGroup) diff --git a/src/assets/lang/de-CH.yaml b/src/assets/lang/de-CH.yaml index e141e3f..12d84f0 100644 --- a/src/assets/lang/de-CH.yaml +++ b/src/assets/lang/de-CH.yaml @@ -156,3 +156,10 @@ numberOfEvents: Anzau Veranstautige numberOfResponsibles: Anzau Veratwortläche numberOfGroups: Anzau Gruppe selectDates: Datumuswauh +apply: Awende +minimal: Minimal +maximal: Maximal +average: Durchschnitt +filterEventName: Verastautig filtere +hintFilterEventName: "*'IIgabe'* * oder % als filler vorher oder nächer" +total: Gesamt diff --git a/src/assets/lang/de-DE.yaml b/src/assets/lang/de-DE.yaml index e5caa9a..83efe4d 100644 --- a/src/assets/lang/de-DE.yaml +++ b/src/assets/lang/de-DE.yaml @@ -156,3 +156,10 @@ numberOfEvents: Anzahl Veranstaltungen numberOfResponsibles: Anzahl Verantwortliche numberOfGroups: Anzahl Gruppe selectDates: Datumauswahl +apply: Anwenden +minimal: Minimal +maximal: Maximal +average: Durchschnitt +filterEventName: Veranstaltung filtern +hintFilterEventName: "*'Eingabe'* * oder % als Filler vorher oder nachher" +total: Gesamt diff --git a/src/assets/lang/en-US.yaml b/src/assets/lang/en-US.yaml index 5d6059a..969c804 100644 --- a/src/assets/lang/en-US.yaml +++ b/src/assets/lang/en-US.yaml @@ -156,3 +156,10 @@ numberOfEvents: Amount of Events numberOfResponsibles: Amount of Responsibles numberOfGroups: Amount of Groups selectDates: Dateselection +apply: Apply +minimal: Minimal +maximal: Maximal +average: Average +filterEventName: filter Events +hintFilterEventName: "*'Input'* * or % as filler before oder after" +total: Total diff --git a/src/assets/lang/es-ES.yaml b/src/assets/lang/es-ES.yaml index 927e266..2e22e3c 100644 --- a/src/assets/lang/es-ES.yaml +++ b/src/assets/lang/es-ES.yaml @@ -156,3 +156,10 @@ numberOfEvents: Cantidad de eventos numberOfResponsibles: Número de responsables numberOfGroups: Número de grupos selectDates: Selección de fecha +apply: Aplicar +minimal: Mínimo +maximal: Máximo +average: Promedio +filterEventName: filtrar eventos +hintFilterEventName: "*''Entrada'* * o % como relleno antes o después" +total: Total diff --git a/src/components/DateDaySelect.vue b/src/components/DateDaySelect.vue index 9a8d315..13f31b0 100644 --- a/src/components/DateDaySelect.vue +++ b/src/components/DateDaySelect.vue @@ -1,5 +1,8 @@ diff --git a/src/components/ReportStat.vue b/src/components/ReportStat.vue new file mode 100644 index 0000000..fb50d7f --- /dev/null +++ b/src/components/ReportStat.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/pages/ReportPage.vue b/src/pages/ReportPage.vue index 80675f8..8adbf52 100644 --- a/src/pages/ReportPage.vue +++ b/src/pages/ReportPage.vue @@ -1,36 +1,233 @@ diff --git a/src/vueLib/models/report.ts b/src/vueLib/models/report.ts new file mode 100644 index 0000000..6b6fbce --- /dev/null +++ b/src/vueLib/models/report.ts @@ -0,0 +1,7 @@ +export type Amount = { + name: string; + events: number; + minimal: number; + average: number; + maximal: number; +};