Dashboard, Types und Formular
This commit is contained in:
@@ -19,35 +19,39 @@
|
||||
import Overlay from "#components/Overlay.svelte";
|
||||
import AusweisGespeichertModule from "./AusweisGespeichertModule.svelte";
|
||||
import { validateAccessTokenClient } from "src/client/lib/validateAccessToken";
|
||||
import { UploadedGebaeudeBild, VerbrauchsausweisWohnenClient, GebaeudeClient, BenutzerClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types";
|
||||
import { VerbrauchsausweisWohnenClient, BenutzerClient } from "#components/Ausweis/types";
|
||||
import { dialogs } from "svelte-dialogs";
|
||||
import LoginDialog from "#components/LoginDialog.svelte";
|
||||
import { exclude } from "#lib/exclude";
|
||||
|
||||
export let gebaeude: GebaeudeClient = {} as GebaeudeClient;
|
||||
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient = {} as GebaeudeAufnahmeClient;
|
||||
export let images: UploadedGebaeudeBild[] = [];
|
||||
export let ausweis: VerbrauchsausweisWohnenClient = {} as VerbrauchsausweisWohnenClient;
|
||||
export let user: BenutzerClient = {} as BenutzerClient;
|
||||
|
||||
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
||||
let gebaeude = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
||||
let images = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten?.gebaeude_bilder || [];
|
||||
|
||||
async function bilderHochladen() {
|
||||
if (images.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const imagesToUpload = images.filter(image => !image.uid);
|
||||
|
||||
if (imagesToUpload.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Alle Bilder hochladen
|
||||
const notification = addNotification({
|
||||
dismissable: false,
|
||||
message: "Bilder hochladen.",
|
||||
subtext: `${images.length} Bilder werden hochgeladen, bitte haben sie Geduld.`,
|
||||
subtext: `${imagesToUpload.length} Bilder werden hochgeladen, bitte haben sie Geduld.`,
|
||||
timeout: 0,
|
||||
type: "info"
|
||||
})
|
||||
for (let i = 0; i < images.length; i++) {
|
||||
const image = images[i];
|
||||
if (image.uid) {
|
||||
// Bild wurde bereits hochgeladen, wir müssen es also nicht nochmal hochladen.
|
||||
continue
|
||||
}
|
||||
for (let i = 0; i < imagesToUpload.length; i++) {
|
||||
const image = imagesToUpload[i];
|
||||
|
||||
try {
|
||||
const response = await client.v1.bilder.upload.mutate({
|
||||
@@ -61,15 +65,15 @@
|
||||
updateNotification(notification, {
|
||||
dismissable: true,
|
||||
message: "Bild hochgeladen.",
|
||||
subtext: `${i + 1}/${images.length} Bildern wurden erfolgreich hochgeladen, bitte haben sie Geduld.`,
|
||||
timeout: 4000
|
||||
subtext: `${i + 1}/${imagesToUpload.length} Bildern wurden erfolgreich hochgeladen.`,
|
||||
timeout: 3000
|
||||
})
|
||||
} catch (e) {
|
||||
updateNotification(notification, {
|
||||
dismissable: true,
|
||||
message: "Bild konnte nicht hochgeladen werden.",
|
||||
subtext: `Bild ${i + 1}/${images.length} konnte nicht hochgeladen werden, wir haben bereits ein Ticket erstellt und melden uns so schnell wie möglich bei ihnen.`,
|
||||
timeout: 150000,
|
||||
subtext: `Eines ihrer Bilder konnte nicht hochgeladen werden. Wir haben bereits ein Ticket erstellt und melden uns so schnell wie möglich bei ihnen.`,
|
||||
timeout: 15000,
|
||||
type: "error"
|
||||
})
|
||||
}
|
||||
@@ -92,10 +96,17 @@
|
||||
// Anscheinend wurde der Ausweis bereits erstellt und hat eine UID.
|
||||
// Jetzt müssen wir ihn nun nur noch abspeichern.
|
||||
try {
|
||||
const gebaeudeBilderEntfernt = exclude(gebaeude, ["gebaeude_bilder"])
|
||||
const gebaeudeAufnahmeGeneratedFieldsEntfernt = exclude(gebaeude_aufnahme_allgemein, ["erstellungsdatum"])
|
||||
const ausweisGeneratedFieldsEntfernt = exclude(ausweis, ["ausweisart", "rechnungen"])
|
||||
await client.v1.verbrauchsausweisWohnen[2016].speichern.mutate({
|
||||
ausweis,
|
||||
gebaeude,
|
||||
gebaeude_aufnahme_allgemein
|
||||
...ausweisGeneratedFieldsEntfernt,
|
||||
gebaeude_aufnahme_allgemein: {
|
||||
...gebaeudeAufnahmeGeneratedFieldsEntfernt,
|
||||
gebaeude_stammdaten: {
|
||||
...gebaeudeBilderEntfernt
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
await bilderHochladen();
|
||||
@@ -108,9 +119,13 @@
|
||||
// Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter.
|
||||
try {
|
||||
const response = await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({
|
||||
ausweis,
|
||||
gebaeude,
|
||||
gebaeude_aufnahme_allgemein
|
||||
...ausweis,
|
||||
gebaeude_aufnahme_allgemein: {
|
||||
...gebaeude_aufnahme_allgemein,
|
||||
gebaeude_stammdaten: {
|
||||
...gebaeude
|
||||
}
|
||||
}
|
||||
})
|
||||
ausweis.uid = response.uid;
|
||||
gebaeude.uid = response.gebaeude_uid;
|
||||
|
||||
Reference in New Issue
Block a user