Speichern, laden, bearbeiten

This commit is contained in:
Moritz Utcke
2025-04-06 13:50:45 -04:00
parent 624fd3c045
commit c8c6238583
17 changed files with 297 additions and 325 deletions

View File

@@ -35,11 +35,13 @@
export let bilder: BildClient[] = []
export let id: string | null;
export let loadFromDatabase: boolean = false
// Wir holen die daten aus dem LocalStorage falls
// Der Nutzer kein Admin ist
// Der Ausweis noch nicht gespeichert wurde
// oder der Ausweis bereits gespeichert wurde aber die Daten im localStorage neuer sind als die Daten aus der Datenbank.
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && (!ausweis.updated_at || moment(localStorage.getItem("bedarfsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && !loadFromDatabase && (!ausweis.updated_at || moment(localStorage.getItem("bedarfsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
const localStorageAusweis = localStorage.getItem("bedarfsausweis-wohnen.ausweis");
if (localStorageAusweis) {
ausweis = JSON.parse(localStorageAusweis)

View File

@@ -86,13 +86,13 @@
<DashboardAusweis {benutzer} {ausweis} {aufnahme} {objekt} rechnung={ausweis.rechnung}></DashboardAusweis>
{/each}
{#each aufnahme.geg_nachweise_wohnen as nachweis}
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
<DashboardAusweis {benutzer} ausweis={nachweis} {aufnahme} {objekt} rechnung={nachweis.rechnung}></DashboardAusweis>
{/each}
{#each aufnahme.geg_nachweise_gewerbe as nachweis}
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
<DashboardAusweis {benutzer} ausweis={nachweis} {aufnahme} {objekt} rechnung={nachweis.rechnung}></DashboardAusweis>
{/each}
{#each aufnahme.bedarfsausweise_gewerbe as nachweis}
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
<DashboardAusweis {benutzer} ausweis={nachweis} {aufnahme} {objekt} rechnung={nachweis.rechnung}></DashboardAusweis>
{/each}
</div>

View File

@@ -49,6 +49,8 @@
export let bilder: BildClient[];
export let id: string | null;
export let loadFromDatabase: boolean = false;
const ausweisart = Enums.Ausweisart.VerbrauchsausweisGewerbe
const anliegen = "Energieausweis erstellen";
@@ -56,7 +58,7 @@
// Der Nutzer kein Admin ist
// Der Ausweis noch nicht gespeichert wurde
// oder der Ausweis bereits gespeichert wurde aber die Daten im localStorage neuer sind als die Daten aus der Datenbank.
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-gewerbe.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && !loadFromDatabase && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-gewerbe.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
const localStorageAusweis = localStorage.getItem("verbrauchsausweis-gewerbe.ausweis");
if (localStorageAusweis) {
ausweis = JSON.parse(localStorageAusweis)

View File

@@ -57,11 +57,13 @@
export let ausweistyp: Enums.AusweisTyp;
export let id: string | null;
export let loadFromDatabase: boolean = false;
// Wir holen die daten aus dem LocalStorage falls
// Der Nutzer kein Admin ist
// Der Ausweis noch nicht gespeichert wurde
// oder der Ausweis bereits gespeichert wurde aber die Daten im localStorage neuer sind als die Daten aus der Datenbank.
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && !loadFromDatabase && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
const localStorageAusweis = localStorage.getItem("verbrauchsausweis-wohnen.ausweis");
if (localStorageAusweis) {
ausweis = JSON.parse(localStorageAusweis)

View File

@@ -25,18 +25,20 @@
export let user: BenutzerClient = {} as BenutzerClient;
export let bilder: BildClient[] = [];
export let unterlagen: Unterlage[] = [];
export let ausweistyp: Enums.AusweisTyp;
export let nachweistyp: Enums.AusweisTyp;
export let id: string | null;
export let loadFromDatabase: boolean = false
// Wir holen die daten aus dem LocalStorage falls
// Der Nutzer kein Admin ist
// Der Ausweis noch nicht gespeichert wurde
// oder der Ausweis bereits gespeichert wurde aber die Daten im localStorage neuer sind als die Daten aus der Datenbank.
if ((user && user.rolle !== Enums.BenutzerRolle.ADMIN) && (!nachweis.updated_at || moment(localStorage.getItem("geg-nachweis-wohnen.updated_at") || new Date()).isAfter(nachweis.updated_at))) {
if ((user && user.rolle !== Enums.BenutzerRolle.ADMIN) && !loadFromDatabase && (!nachweis.updated_at || moment(localStorage.getItem("geg-nachweis-wohnen.updated_at") || new Date()).isAfter(nachweis.updated_at))) {
const localStorageAusweis = localStorage.getItem("geg-nachweis-wohnen.ausweis");
if (localStorageAusweis) {
nachweis = JSON.parse(localStorageAusweis)
nachweis.nachweistyp = ausweistyp;
nachweis.nachweistyp = nachweistyp;
}
const localStorageAufnahme = localStorage.getItem("geg-nachweis-wohnen.aufnahme");
@@ -100,7 +102,7 @@
{ausweisart}
{anliegen}
steps={["Gebäudedaten", "Kundendaten", "Anfragebestätigung"]}
{ausweistyp}
ausweistyp={nachweistyp}
/>
</div>

View File

@@ -1,73 +1,54 @@
<script lang="ts">
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
import {
ObjektClient,
AufnahmeClient,
BenutzerClient,
BildClient,
UnterlageClient,
GEGNachweisWohnenClient,
} from "#components/Ausweis/types.js";
import Bereich from "#components/labels/Bereich.svelte";
import { Enums } from "#lib/client/prisma.js";
import { Aufnahme, Benutzer, Bild, Enums, GEGNachweisWohnen, Objekt, Unterlage } from "#lib/client/prisma.js";
import InputLabel from "#components/labels/InputLabel.svelte";
import HelpLabel from "#components/labels/HelpLabel.svelte";
import Progressbar from "#components/Ausweis/Progressbar.svelte";
import FileGrid from "#components/FileGrid.svelte";
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
import moment from "moment";
export let nachweis: GEGNachweisWohnenClient;
export let objekt: ObjektClient;
export let aufnahme: AufnahmeClient;
export let user: BenutzerClient = {} as BenutzerClient;
export let bilder: BildClient[] = [];
export let plaene: UnterlageClient[] = [];
export let nachweis: GEGNachweisWohnen;
export let objekt: Objekt;
export let aufnahme: Aufnahme;
export let user: Benutzer | null;
export let bilder: Bild[] = [];
export let nachweistyp: Enums.AusweisTyp = Enums.AusweisTyp.Standard;
export let unterlagen: UnterlageClient[] = [];
export let unterlagen: Unterlage[] = [];
if (Object.keys(nachweis).length === 0) {
const localStorageAusweis = localStorage.getItem(
"geg-nachweis-gewerbe.ausweis"
);
export let loadFromDatabase: boolean = false;
// Wir holen die daten aus dem LocalStorage falls
// Der Nutzer kein Admin ist
// Der Ausweis noch nicht gespeichert wurde
// oder der Ausweis bereits gespeichert wurde aber die Daten im localStorage neuer sind als die Daten aus der Datenbank.
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && !loadFromDatabase && (!nachweis.updated_at || moment(localStorage.getItem("geg-nachweis-gewerbe.updated_at") || new Date()).isAfter(nachweis.updated_at))) {
const localStorageAusweis = localStorage.getItem("geg-nachweis-gewerbe.ausweis");
if (localStorageAusweis) {
nachweis = JSON.parse(localStorageAusweis);
nachweis = JSON.parse(localStorageAusweis)
nachweis.nachweistyp = nachweistyp;
}
}
if (Object.keys(aufnahme).length === 0) {
const localStorageAufnahme = localStorage.getItem(
"geg-nachweis-gewerbe.aufnahme"
);
const localStorageAufnahme = localStorage.getItem("geg-nachweis-gewerbe.aufnahme");
if (localStorageAufnahme) {
aufnahme = JSON.parse(localStorageAufnahme);
aufnahme = JSON.parse(localStorageAufnahme)
}
}
if (Object.keys(objekt).length === 0) {
const localStorageObjekt = localStorage.getItem(
"geg-nachweis-gewerbe.objekt"
);
const localStorageObjekt = localStorage.getItem("geg-nachweis-gewerbe.objekt");
if (localStorageObjekt) {
objekt = JSON.parse(localStorageObjekt);
objekt = JSON.parse(localStorageObjekt)
}
}
if (Object.keys(bilder).length === 0) {
const localStorageBilder = localStorage.getItem(
"geg-nachweis-gewerbe.bilder"
);
const localStorageBilder = localStorage.getItem("geg-nachweis-gewerbe.bilder");
if (localStorageBilder) {
bilder = JSON.parse(localStorageBilder);
bilder = JSON.parse(localStorageBilder)
}
}
if (Object.keys(unterlagen).length === 0) {
const localStorageUnterlagen = localStorage.getItem(
"geg-nachweis-gewerbe.unterlagen"
);
const localStorageUnterlagen = localStorage.getItem("geg-nachweis-gewerbe.unterlagen");
if (localStorageUnterlagen) {
unterlagen = JSON.parse(localStorageUnterlagen);
unterlagen = JSON.parse(localStorageUnterlagen)
}
}
@@ -166,35 +147,6 @@
</Bereich>
<Bereich bereich="D" title="Gebäudepläne & Unterlagen">
<div
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
>
<div class="md:box md:card mb-0">
<div class="font-bold mb-2">Pläne</div>
<div>
Hier können sie Grundrisspläne, Ansichtspläne und
Schnitte hochladen. Die Dateien können entweder im PDF
Format oder als Bild hochgeladen werden.
</div>
</div>
<div class="md:box md:card mb-0 mt-6 md:mt-0">
<div>
<strong
>Bitte laden Sie hier mind. 1 Dokument hoch:</strong
>
</div>
<FileGrid
max={Infinity}
min={1}
name={"plaene"}
bind:files={plaene}
bind:ausweis={nachweis}
bind:objekt
></FileGrid>
</div>
</div>
<div
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
>
@@ -208,6 +160,14 @@
können entweder im PDF Format oder als Bild hochgeladen
werden.
</div>
<div class="font-bold mb-2">Pläne</div>
<div>
Hier können sie Grundrisspläne, Ansichtspläne und
Schnitte hochladen. Die Dateien können entweder im PDF
Format oder als Bild hochgeladen werden.
</div>
</div>
<div class="md:box md:card mb-0 mt-6 md:mt-0">

View File

@@ -28,11 +28,13 @@
export let nachweistyp: Enums.AusweisTyp = Enums.AusweisTyp.Standard;
export let id: string | null;
export let loadFromDatabase: boolean = false;
// Wir holen die daten aus dem LocalStorage falls
// Der Nutzer kein Admin ist
// Der Ausweis noch nicht gespeichert wurde
// oder der Ausweis bereits gespeichert wurde aber die Daten im localStorage neuer sind als die Daten aus der Datenbank.
if ((user && user.rolle !== Enums.BenutzerRolle.ADMIN) && (!nachweis.updated_at || moment(localStorage.getItem("geg-nachweis-wohnen.updated_at") || new Date()).isAfter(nachweis.updated_at))) {
if ((user && user.rolle !== Enums.BenutzerRolle.ADMIN) && !loadFromDatabase && (!nachweis.updated_at || moment(localStorage.getItem("geg-nachweis-wohnen.updated_at") || new Date()).isAfter(nachweis.updated_at))) {
const localStorageNachweis = localStorage.getItem("geg-nachweis-wohnen.ausweis");
if (localStorageNachweis) {
nachweis = JSON.parse(localStorageNachweis)