Hinweise:
Als Anwender beträgt der maximal mögliche Auswahlzeitraum 5 Jahre.
-
+
Alle Auswertungen stellen Durchschnittswerte des ausgewählten
Zeitraums dar.
@@ -79,11 +49,11 @@
-
+
1);
+
+const isDateRange = computed(() => {
+ const startDate = head(chosenOptionsCopy.value.zeitraum);
+ const isValidStartDate = moment(startDate, "YYYY-MM-DD", true).isValid();
+ const endDate = last(chosenOptionsCopy.value.zeitraum);
+ const isValidEndDate = moment(endDate, "YYYY-MM-DD", true).isValid();
+ return isValidStartDate && isValidEndDate && !isEqual(startDate, endDate);
+});
onMounted(() => {
const messstelleId = route.params.messstelleId as string;
@@ -162,46 +141,35 @@ const isAnwender = computed(() => {
});
const minDate = computed(() => {
- if (messstelleInfo.value.realisierungsdatum >= "2006-01-01")
- return messstelleInfo.value.realisierungsdatum;
- else return "2006-01-01";
-});
-
-const minDateRange = computed(() => {
- return dateUtils.formatDateToISO(nextDayOfVon.value);
-});
-
-const nextDayOfVon = computed(() => {
- const nextDay = new Date(dateVon.value);
- nextDay.setDate(dateVon.value.getDate() + 1);
- return nextDay;
+ const startdatum = new Date("2006-01-01");
+ const realisierungsdatum = new Date(messstelleInfo.value.realisierungsdatum);
+ if (
+ !isNil(messstelleInfo.value.realisierungsdatum) &&
+ realisierungsdatum >= startdatum
+ )
+ return realisierungsdatum;
+ else return startdatum;
});
const maxDate = computed(() => {
- const yesterday = new Date(new Date().setDate(new Date().getDate() - 1))
- .toISOString()
- .slice(0, 10);
- return messstelleInfo.value.abbaudatum ?? yesterday;
+ const yesterday = new Date(new Date().setDate(new Date().getDate() - 1));
+ return isNil(messstelleInfo.value.abbaudatum)
+ ? yesterday
+ : new Date(messstelleInfo.value.abbaudatum);
});
-const dateVon = computed({
- get() {
- return new Date(chosenOptionsCopy.value.zeitraum[0]);
- },
-
- set(value: Date) {
- saveDateValueVon(value);
- },
-});
-const dateBis = computed({
+const zeitraum = computed({
get() {
- return chosenOptionsCopy.value.zeitraum.length === 2
- ? new Date(chosenOptionsCopy.value.zeitraum[1])
- : nextDayOfVon.value;
+ return toArray(chosenOptionsCopy.value.zeitraum).map(
+ (date) => new Date(date)
+ );
},
- set(value: Date) {
- saveDateValueBis(value);
+ set(dates: Array | undefined) {
+ const newZeitraum = toArray(dates).map((date) =>
+ dateUtils.formatDateToISO(date)
+ );
+ chosenOptionsCopy.value.zeitraum = newZeitraum;
},
});
@@ -234,33 +202,4 @@ function calculateChoosableOptions(): void {
chosenOptionsCopy.value.zeitraum[0]
);
}
-
-function resetDates() {
- if (needRange.value) {
- saveDateValueBis(dateBis.value);
- } else {
- if (chosenOptionsCopy.value.zeitraum.length === 2) {
- chosenOptionsCopy.value.zeitraum.pop();
- }
- chosenOptionsCopy.value.tagesTyp = "";
- }
-}
-
-function saveDateValueVon(toSave: Date) {
- const dateToSave = dateUtils.formatDateToISO(toSave);
- if (chosenOptionsCopy.value.zeitraum.length === 0) {
- chosenOptionsCopy.value.zeitraum.push(dateToSave);
- } else {
- chosenOptionsCopy.value.zeitraum[0] = dateToSave;
- }
-}
-
-function saveDateValueBis(toSave: Date) {
- const dateToSave = dateUtils.formatDateToISO(toSave);
- if (chosenOptionsCopy.value.zeitraum.length === 2) {
- chosenOptionsCopy.value.zeitraum[1] = dateToSave;
- } else {
- chosenOptionsCopy.value.zeitraum.push(dateToSave);
- }
-}
diff --git a/frontend/src/components/messstelle/optionsmenue/panels/ZeitauswahlRadiogroup.vue b/frontend/src/components/messstelle/optionsmenue/panels/ZeitauswahlRadiogroup.vue
index 4a214ac7..3b38fd7f 100644
--- a/frontend/src/components/messstelle/optionsmenue/panels/ZeitauswahlRadiogroup.vue
+++ b/frontend/src/components/messstelle/optionsmenue/panels/ZeitauswahlRadiogroup.vue
@@ -123,11 +123,39 @@ function zeitauswahlChanged() {
} else if (chosenOptionsCopy.value.zeitauswahl === Zeitauswahl.STUNDE) {
chosenOptionsCopy.value.zeitblock = ZeitblockStuendlich.ZB_00_01;
} else if (
- chosenOptionsCopy.value.zeitauswahl === Zeitauswahl.SPITZENSTUNDE_KFZ ||
- chosenOptionsCopy.value.zeitauswahl === Zeitauswahl.SPITZENSTUNDE_RAD ||
+ chosenOptionsCopy.value.zeitauswahl === Zeitauswahl.SPITZENSTUNDE_KFZ
+ ) {
+ chosenOptionsCopy.value.zeitblock = Zeitblock.ZB_00_06;
+ resetFahrzeuge();
+ chosenOptionsCopy.value.fahrzeuge.kraftfahrzeugverkehr = true;
+ } else if (
+ chosenOptionsCopy.value.zeitauswahl === Zeitauswahl.SPITZENSTUNDE_RAD
+ ) {
+ chosenOptionsCopy.value.zeitblock = Zeitblock.ZB_00_06;
+ resetFahrzeuge();
+ chosenOptionsCopy.value.fahrzeuge.radverkehr = true;
+ } else if (
chosenOptionsCopy.value.zeitauswahl === Zeitauswahl.SPITZENSTUNDE_FUSS
) {
chosenOptionsCopy.value.zeitblock = Zeitblock.ZB_00_06;
+ resetFahrzeuge();
+ chosenOptionsCopy.value.fahrzeuge.fussverkehr = true;
+ }
+
+ function resetFahrzeuge() {
+ chosenOptionsCopy.value.fahrzeuge.kraftfahrzeugverkehr = false;
+ chosenOptionsCopy.value.fahrzeuge.schwerverkehr = false;
+ chosenOptionsCopy.value.fahrzeuge.gueterverkehr = false;
+ chosenOptionsCopy.value.fahrzeuge.schwerverkehrsanteilProzent = false;
+ chosenOptionsCopy.value.fahrzeuge.gueterverkehrsanteilProzent = false;
+ chosenOptionsCopy.value.fahrzeuge.radverkehr = false;
+ chosenOptionsCopy.value.fahrzeuge.fussverkehr = false;
+ chosenOptionsCopy.value.fahrzeuge.lastkraftwagen = false;
+ chosenOptionsCopy.value.fahrzeuge.lastzuege = false;
+ chosenOptionsCopy.value.fahrzeuge.busse = false;
+ chosenOptionsCopy.value.fahrzeuge.kraftraeder = false;
+ chosenOptionsCopy.value.fahrzeuge.personenkraftwagen = false;
+ chosenOptionsCopy.value.fahrzeuge.lieferwagen = false;
}
}
diff --git a/frontend/src/components/zaehlstelle/ZaehldatenDiagramme.vue b/frontend/src/components/zaehlstelle/ZaehldatenDiagramme.vue
index 1e9c3953..06a549bc 100644
--- a/frontend/src/components/zaehlstelle/ZaehldatenDiagramme.vue
+++ b/frontend/src/components/zaehlstelle/ZaehldatenDiagramme.vue
@@ -131,7 +131,7 @@
{
- res.blob().then((blob) => {
- // Erster Buchstabe soll im Dateinamen groß geschrieben sein, also z. B. Ganglinie statt ganglinie.
- const typeForFilename: string =
- type.charAt(0).toUpperCase() + type.slice(1);
- const filename = `${reportTools.getFileName(
- Erhebungsstelle.ZAEHLSTELLE,
- typeForFilename,
- [selectedZaehlung.value.datum]
- )}.pdf`;
- downloadUtils.downloadFile(blob, filename);
- });
+ .then((blob) => {
+ // Erster Buchstabe soll im Dateinamen groß geschrieben sein, also z. B. Ganglinie statt ganglinie.
+ const typeForFilename: string =
+ type.charAt(0).toUpperCase() + type.slice(1);
+ const filename = `${reportTools.getFileName(
+ Erhebungsstelle.ZAEHLSTELLE,
+ typeForFilename,
+ [selectedZaehlung.value.datum]
+ )}.pdf`;
+ downloadUtils.downloadFile(blob, filename);
})
.catch((error) => snackbarStore.showApiError(error))
.finally(() => (loadingFile.value = false));
diff --git a/frontend/src/components/zaehlstelle/optionsmenue/OptionsmenueZaehlstelle.vue b/frontend/src/components/zaehlstelle/optionsmenue/OptionsmenueZaehlstelle.vue
index a75086be..9a6d97f3 100644
--- a/frontend/src/components/zaehlstelle/optionsmenue/OptionsmenueZaehlstelle.vue
+++ b/frontend/src/components/zaehlstelle/optionsmenue/OptionsmenueZaehlstelle.vue
@@ -162,9 +162,9 @@ const options = computed(() => {
const getContentSheetHeight = computed(() => {
if (display.xl.value) {
- return "650px";
+ return "750px";
}
- return "400px";
+ return "500px";
});
/**
diff --git a/frontend/src/store/MessstelleStore.ts b/frontend/src/store/MessstelleStore.ts
index baf24907..06e222f7 100644
--- a/frontend/src/store/MessstelleStore.ts
+++ b/frontend/src/store/MessstelleStore.ts
@@ -26,6 +26,8 @@ export const useMessstelleStore = defineStore("messstelleStore", () => {
const activeMessfaehigkeit = ref(
DefaultObjectCreator.createDefaultMessfaehigkeitDTO()
);
+ const includedMeasuringDays = ref(0);
+ const requestedMeasuringDays = ref(0);
const getMessstelleInfo = computed(() => messstelleInfo.value);
const getActiveTab = computed(() => activeTab.value);
@@ -43,6 +45,10 @@ export const useMessstelleStore = defineStore("messstelleStore", () => {
() => belastungsplanChosenSize.value
);
const getActiveMessfaehigkeit = computed(() => activeMessfaehigkeit.value);
+ const getIncludedMeasuringDays = computed(() => includedMeasuringDays.value);
+ const getRequestedMeasuringDays = computed(
+ () => requestedMeasuringDays.value
+ );
function setActiveTab(payload: number) {
activeTab.value = payload;
@@ -88,6 +94,12 @@ export const useMessstelleStore = defineStore("messstelleStore", () => {
}
);
}
+ function setIncludedMeasuringDays(payload: number) {
+ includedMeasuringDays.value = payload;
+ }
+ function setRequestedMeasuringDays(payload: number) {
+ requestedMeasuringDays.value = payload;
+ }
return {
getMessstelleInfo,
@@ -100,6 +112,8 @@ export const useMessstelleStore = defineStore("messstelleStore", () => {
getBelastungsplanMaxSize,
getBelastungsplanChosenSize,
getActiveMessfaehigkeit,
+ getIncludedMeasuringDays,
+ getRequestedMeasuringDays,
setActiveTab,
setMessstelleInfo,
setFilteroptions,
@@ -110,5 +124,7 @@ export const useMessstelleStore = defineStore("messstelleStore", () => {
setBelastungsplanMaxSize,
setBelastungsplanChosenSize,
calculateActiveMessfaehigkeit,
+ setIncludedMeasuringDays,
+ setRequestedMeasuringDays,
};
});
diff --git a/frontend/src/types/common/KeyValObject.ts b/frontend/src/types/common/KeyValObject.ts
new file mode 100644
index 00000000..31b3c3dd
--- /dev/null
+++ b/frontend/src/types/common/KeyValObject.ts
@@ -0,0 +1,4 @@
+export default interface KeyValObject {
+ title: string;
+ value: object;
+}
diff --git a/frontend/src/types/enum/TagesTyp.ts b/frontend/src/types/enum/TagesTyp.ts
index d87fc336..c798cda7 100644
--- a/frontend/src/types/enum/TagesTyp.ts
+++ b/frontend/src/types/enum/TagesTyp.ts
@@ -5,6 +5,7 @@ enum TagesTyp {
SONNTAG_FEIERTAG = "SONNTAG_FEIERTAG",
WERKTAG_FERIEN = "WERKTAG_FERIEN",
MO_SO = "MO_SO",
+ UNSPECIFIED = "UNSPECIFIED",
}
export const tagesTypText = new Map([
@@ -14,6 +15,7 @@ export const tagesTypText = new Map([
[TagesTyp.SONNTAG_FEIERTAG, "Sonntag/Feiertag in/außerhalb Ferien"],
[TagesTyp.WERKTAG_FERIEN, "Mo-Fr Ferien"],
[TagesTyp.MO_SO, "DTV (MO - SO)"],
+ [TagesTyp.UNSPECIFIED, "unspecified"],
]);
export default TagesTyp;
diff --git a/frontend/src/types/messstelle/LadeProcessedMessdatenDTO.ts b/frontend/src/types/messstelle/LadeProcessedMessdatenDTO.ts
index f8065bc0..847c58c7 100644
--- a/frontend/src/types/messstelle/LadeProcessedMessdatenDTO.ts
+++ b/frontend/src/types/messstelle/LadeProcessedMessdatenDTO.ts
@@ -11,4 +11,7 @@ export default interface LadeProcessedMessdatenDTO {
zaehldatenHeatmap: LadeZaehldatenHeatmapDTO;
belastungsplanMessquerschnitte: BelastungsplanMessquerschnitteDTO;
+
+ requestedMeasuringDays: number;
+ includedMeasuringDays: number;
}
diff --git a/frontend/src/types/messstelle/ValidWochentageInPeriodDto.ts b/frontend/src/types/messstelle/ValidWochentageInPeriodDto.ts
deleted file mode 100644
index 24046c65..00000000
--- a/frontend/src/types/messstelle/ValidWochentageInPeriodDto.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export interface ValidWochentageInPeriodDto {
- numberOfValidTagesTypDiMiDo: number;
- numberOfValidTagesTypMoFr: number;
- numberOfValidTagesTypSamstag: number;
- numberOfValidTagesTypSonntagFeiertag: number;
- numberOfValidTagesTypWerktagFerien: number;
- numberOfValidTagesTypMoSo: number;
-}
diff --git a/frontend/src/types/messstelle/ValidWochentageInPeriodRequestDto.ts b/frontend/src/types/messstelle/ValidWochentageInPeriodRequestDto.ts
deleted file mode 100644
index 62b8b4bc..00000000
--- a/frontend/src/types/messstelle/ValidWochentageInPeriodRequestDto.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export interface ValidWochentageInPeriodRequestDto {
- startDate: string;
-
- endDate: string;
-
- messstelleId: string;
-}
diff --git a/frontend/src/types/messstelle/auswertung/MessstelleAuswertungIdDTO.ts b/frontend/src/types/messstelle/auswertung/MessstelleAuswertungIdDTO.ts
new file mode 100644
index 00000000..8e635ac0
--- /dev/null
+++ b/frontend/src/types/messstelle/auswertung/MessstelleAuswertungIdDTO.ts
@@ -0,0 +1,4 @@
+export default interface MessstelleAuswertungIdDTO {
+ mstId: string;
+ mqIds: Array;
+}
diff --git a/frontend/src/types/messstelle/auswertung/MessstelleAuswertungOptionsDTO.ts b/frontend/src/types/messstelle/auswertung/MessstelleAuswertungOptionsDTO.ts
index bfb23a33..aa188e1b 100644
--- a/frontend/src/types/messstelle/auswertung/MessstelleAuswertungOptionsDTO.ts
+++ b/frontend/src/types/messstelle/auswertung/MessstelleAuswertungOptionsDTO.ts
@@ -1,3 +1,4 @@
+import type MessstelleAuswertungIdDTO from "@/types/messstelle/auswertung/MessstelleAuswertungIdDTO";
import type FahrzeugOptions from "@/types/messstelle/FahrzeugOptions";
import { AuswertungsZeitraum } from "@/types/enum/AuswertungCategories";
@@ -7,8 +8,7 @@ export default interface MessstelleAuswertungOptionsDTO {
jahre: Array;
tagesTyp: TagesTyp;
zeitraum: Array;
- mstIds: Array;
- mqIds: Array;
+ messstelleAuswertungIds: Array;
fahrzeuge: FahrzeugOptions;
// Nicht fuer das Backend
diff --git a/frontend/src/util/DateUtils.ts b/frontend/src/util/DateUtils.ts
index 1a0dd9f3..5b3a7787 100644
--- a/frontend/src/util/DateUtils.ts
+++ b/frontend/src/util/DateUtils.ts
@@ -6,18 +6,26 @@ export function useDateUtils() {
function formatDate(date: string): string {
if (!date) {
- return "";
+ return "unbekannt";
+ }
+ if (date.includes("-")) {
+ const [year, month, day] = date.split("-");
+ return `${day}.${month}.${year}`;
+ } else {
+ return date;
}
- const [year, month, day] = date.split("-");
- return `${day}.${month}.${year}`;
}
function formatDateAsStringToISO(date: string): string {
if (!date) {
- return "";
+ return "unbekannt";
+ }
+ if (date.includes(".")) {
+ const [day, month, year] = date.split(".");
+ return `${year}-${month}-${day}`;
+ } else {
+ return date;
}
- const [day, month, year] = date.split(".");
- return `${year}-${month}-${day}`;
}
function formatDateToISO(date: Date): string {
if (!date) {
diff --git a/frontend/src/util/DefaultObjectCreator.ts b/frontend/src/util/DefaultObjectCreator.ts
index fcbc34de..7bddf239 100644
--- a/frontend/src/util/DefaultObjectCreator.ts
+++ b/frontend/src/util/DefaultObjectCreator.ts
@@ -2,6 +2,7 @@ import type InfoMessageDTO from "@/types/app/InfoMessageDTO";
import type TooltipZaehlstelleDTO from "@/types/karte/TooltipZaehlstelleDTO";
import type ZaehlstelleKarteDTO from "@/types/karte/ZaehlstelleKarteDTO";
import type MessstelleAuswertungOptionsDTO from "@/types/messstelle/auswertung/MessstelleAuswertungOptionsDTO";
+import type BelastungsplanMessquerschnitteDTO from "@/types/messstelle/BelastungsplanMessquerschnitteDTO";
import type FahrzeugOptions from "@/types/messstelle/FahrzeugOptions";
import type MessfaehigkeitDTO from "@/types/messstelle/MessfaehigkeitDTO";
import type MessstelleInfoDTO from "@/types/messstelle/MessstelleInfoDTO";
@@ -11,6 +12,8 @@ import type FahrbeziehungenDTO from "@/types/zaehlung/FahrbeziehungenDTO";
import type LadeZaehlungDTO from "@/types/zaehlung/LadeZaehlungDTO";
import type OptionsDTO from "@/types/zaehlung/OptionsDTO";
import type { StartEndeUhrzeitIntervalls } from "@/types/zaehlung/StartEndeUhrzeitIntervalls";
+import type LadeZaehldatenHeatmapDTO from "@/types/zaehlung/zaehldaten/LadeZaehldatenHeatmapDTO";
+import type LadeZaehldatenSteplineDTO from "@/types/zaehlung/zaehldaten/LadeZaehldatenSteplineDTO";
import type ZeitauswahlDTO from "@/types/zaehlung/ZeitauswahlDTO";
import DetektierteFahrzeugart from "@/types/enum/DetektierteFahrzeugart";
@@ -112,7 +115,7 @@ export default class DefaultObjectCreator {
fahrzeuge: this.createDefaultFahrzeugOptions(),
intervall: "" as ZaehldatenIntervall,
messquerschnittIds: [],
- tagesTyp: "" as TagesTyp,
+ tagesTyp: TagesTyp.UNSPECIFIED,
zeitauswahl: "",
zeitblock: "",
zeitraum: [],
@@ -124,8 +127,7 @@ export default class DefaultObjectCreator {
jahre: [],
tagesTyp: "" as TagesTyp,
zeitraum: [],
- mstIds: [],
- mqIds: [],
+ messstelleAuswertungIds: [],
fahrzeuge: {
kraftfahrzeugverkehr: false,
schwerverkehr: false,
@@ -262,4 +264,43 @@ export default class DefaultObjectCreator {
intervall: ZaehldatenIntervall.STUNDE_VIERTEL_EINGESCHRAENKT,
} as MessfaehigkeitDTO;
}
+
+ public static createDefaultBelastungsplanMessquerschnitteDTO(): BelastungsplanMessquerschnitteDTO {
+ return {
+ ladeBelastungsplanMessquerschnittDataDTOList: [],
+ strassenname: "",
+ stadtbezirkNummer: "",
+ mstId: "",
+ totalKfz: 0,
+ totalSv: 0,
+ totalGv: 0,
+ totalRad: 0,
+ totalPercentSv: 0,
+ totalPercentGv: 0,
+ } as BelastungsplanMessquerschnitteDTO;
+ }
+
+ public static createDefaultLadeZaehldatenSteplineDTO(): LadeZaehldatenSteplineDTO {
+ return {
+ legend: [],
+ rangeMax: 0,
+ rangeMaxPercent: 0,
+ xaxisDataFirstChart: [],
+ xaxisDataSecondChart: null,
+ seriesEntriesFirstChart: [],
+ seriesEntriesSecondChart: null,
+ } as LadeZaehldatenSteplineDTO;
+ }
+
+ public static createDefaultLadeZaehldatenHeatmapDTO(): LadeZaehldatenHeatmapDTO {
+ return {
+ legend: [],
+ rangeMin: 0,
+ rangeMax: 0,
+ xaxisDataFirstChart: [],
+ seriesEntriesFirstChart: [],
+ xaxisDataSecondChart: null,
+ seriesEntriesSecondChart: null,
+ } as LadeZaehldatenHeatmapDTO;
+ }
}
diff --git a/frontend/src/util/GlobalInfoMessage.ts b/frontend/src/util/GlobalInfoMessage.ts
index 09f02ffe..89d459a7 100644
--- a/frontend/src/util/GlobalInfoMessage.ts
+++ b/frontend/src/util/GlobalInfoMessage.ts
@@ -2,7 +2,15 @@ export function useGlobalInfoMessage() {
const NO_BELASTUNGSPLAN =
"Bei fehlender Auswahl der Verkehrsart ist eine Anzeige des Belastungsplans nicht möglich.";
+ const ZEITRAUM_GROESSER_FUENF_JAHRE =
+ "Da der Zeitraum größer als 5 Jahre ist steht die Anzeige nicht zur Verfügung";
+
+ const NO_DATA_AVAILABLE =
+ "Für den angegebenen Zeitpunkt / Zeitraum liegen keine Daten vor.";
+
return {
NO_BELASTUNGSPLAN,
+ ZEITRAUM_GROESSER_FUENF_JAHRE,
+ NO_DATA_AVAILABLE,
};
}
diff --git a/frontend/src/views/AuswertungView.vue b/frontend/src/views/AuswertungView.vue
index 2df57024..704fe752 100644
--- a/frontend/src/views/AuswertungView.vue
+++ b/frontend/src/views/AuswertungView.vue
@@ -49,6 +49,7 @@ import { useDisplay } from "vuetify";
import MessstelleAuswertungService from "@/api/service/MessstelleAuswertungService";
import AuswertungStepper from "@/components/messstelle/gesamtauswertung/stepper/AuswertungStepper.vue";
import DefaultObjectCreator from "@/util/DefaultObjectCreator";
+import { useDownloadUtils } from "@/util/DownloadUtils";
const minWidth = 600;
@@ -80,20 +81,11 @@ const isEverythingValid = computed(() => {
auswertungsOptions.value.zeitraum.length > 0 &&
auswertungsOptions.value.tagesTyp.length > 0 &&
auswertungsOptions.value.jahre.length > 0 &&
- areMstAndMqValid.value &&
+ auswertungsOptions.value.messstelleAuswertungIds.length > 0 &&
areFahrzeugeValid.value
);
});
-const areMstAndMqValid = computed(() => {
- return (
- (auswertungsOptions.value.mstIds.length > 1 &&
- auswertungsOptions.value.mqIds.length === 0) ||
- (auswertungsOptions.value.mstIds.length === 1 &&
- auswertungsOptions.value.mqIds.length > 0)
- );
-});
-
const areFahrzeugeValid = computed(() => {
return (
auswertungsOptions.value.fahrzeuge.kraftfahrzeugverkehr ||
@@ -118,6 +110,12 @@ function resetAuswertungsOptions() {
}
function auswertungStarten() {
- MessstelleAuswertungService.generate(auswertungsOptions.value);
+ MessstelleAuswertungService.generate(auswertungsOptions.value).then(
+ (blob) => {
+ // Beispiel: 251101K_15-11-2020_Belastungsplan.pdf
+ const filename = `Gesamtauswertung_${new Date().toISOString().split("T")[0]}.xlsx`;
+ useDownloadUtils().downloadFile(blob, filename);
+ }
+ );
}
diff --git a/frontend/src/views/HomeView.vue b/frontend/src/views/HomeView.vue
index a2df4763..539ec33d 100644
--- a/frontend/src/views/HomeView.vue
+++ b/frontend/src/views/HomeView.vue
@@ -15,6 +15,7 @@
{
- res.blob().then((blob) => {
- pdfSourceAsBlob.value = blob;
- downloadPdf();
- });
+ .then((blob) => {
+ pdfSourceAsBlob.value = blob;
+ downloadPdf();
})
.catch((error) => snackbarStore.showApiError(error))
.finally(() => (loadingPdf.value = false));