diff --git a/src/components/Ausweis/Ausweisart.svelte b/src/components/Ausweis/Ausweisart.svelte index 35424eb9..aa947ee6 100644 --- a/src/components/Ausweis/Ausweisart.svelte +++ b/src/components/Ausweis/Ausweisart.svelte @@ -9,22 +9,20 @@ import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js"; import { addNotification, deleteNotification } from "@ibcornelsen/ui"; import TagInput from "../TagInput.svelte"; - import type { - BedarfsausweisWohnen, - VerbrauchsausweisGewerbe, - } from "@ibcornelsen/database/client"; import { Enums } from "@ibcornelsen/database/client"; import { + BedarfsausweisWohnenClient, GebaeudeAufnahmeClient, GebaeudeClient, + VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient, } from "./types.js"; export let gebaeude: GebaeudeClient; export let ausweis: | VerbrauchsausweisWohnenClient - | VerbrauchsausweisGewerbe - | BedarfsausweisWohnen; + | VerbrauchsausweisGewerbeClient + | BedarfsausweisWohnenClient; export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient; diff --git a/src/components/Ausweis/ButtonSpaeterHilfe.svelte b/src/components/Ausweis/ButtonSpaeterHilfe.svelte index 1f442803..075016c3 100644 --- a/src/components/Ausweis/ButtonSpaeterHilfe.svelte +++ b/src/components/Ausweis/ButtonSpaeterHilfe.svelte @@ -1,39 +1,28 @@ - -
+
+ +
-
- -
- -
-
- +
- +
- -
\ No newline at end of file + + diff --git a/src/components/Ausweis/Verbrauch.svelte b/src/components/Ausweis/Verbrauch.svelte index 117eea0b..ee0c8b66 100644 --- a/src/components/Ausweis/Verbrauch.svelte +++ b/src/components/Ausweis/Verbrauch.svelte @@ -14,6 +14,7 @@ GebaeudeClient, VerbrauchsausweisWohnenClient, } from "./types.js"; + import { addNotification } from "#components/Notifications/shared.js"; export let gebaeude: GebaeudeClient; export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient; @@ -81,6 +82,22 @@ } } + $: { + console.log(month, year); + + if ((availableDates.filter(date => date.month === month && date.year === year).length === 0) && typeof month === "number" && typeof year === "number") { + addNotification({ + message: "Monat nicht verfügbar.", + subtext: "Der ausgewählte Monat ist in diesem Jahr nicht verfügbar, bitte wählen sie einen neuen Start Monat.", + dismissable: true, + type: "warning", + timeout: 0, + uid: "monat_nicht_verfuegbar", + selector: "select[name='energieverbrauch_zeitraum_monat']" + }) + } + } + $: abweichung = auditVerbrauchAbweichung(ausweis, gebaeude); @@ -147,7 +164,6 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8 bind:value={month} required > - {#if year !== null} {#each availableDates.filter((date) => date.year == year) as date} {#each Array.from(availableDates.reduce((a, c) => { a.add(c.year); return a; diff --git a/src/components/Dashboard/DashboardSidebar.svelte b/src/components/Dashboard/DashboardSidebar.svelte index 08c058ca..7dc6e4bc 100644 --- a/src/components/Dashboard/DashboardSidebar.svelte +++ b/src/components/Dashboard/DashboardSidebar.svelte @@ -109,7 +109,7 @@ {#if Object.keys($notifications).length > 0} {Object.keys($notifications).length} {/if} - @@ -119,7 +119,7 @@ @@ -129,7 +129,7 @@
@@ -173,9 +173,9 @@ font-family: Poppins !important; } - .button-tab { + /* .button-tab { @apply btn btn-primary btn-ghost rounded-none px-8 justify-start outline-0 gap-4 items-center text-base font-normal text-base-content no-animation; - } + } */ .button-tab:hover { @apply bg-base-200 outline-0; diff --git a/src/components/Notifications/RawNotificationWrapper.svelte b/src/components/Notifications/RawNotificationWrapper.svelte index 4a77163c..3ced0a61 100644 --- a/src/components/Notifications/RawNotificationWrapper.svelte +++ b/src/components/Notifications/RawNotificationWrapper.svelte @@ -1,3 +1,5 @@ + +
\ No newline at end of file diff --git a/src/components/Notifications/shared.ts b/src/components/Notifications/shared.ts index b59dce81..fcba5b92 100644 --- a/src/components/Notifications/shared.ts +++ b/src/components/Notifications/shared.ts @@ -20,6 +20,7 @@ export interface Notification { type: "error" | "success" | "info" | "warning"; onUserDismiss: () => any; uid?: string; + selector?: string; } export function updateNotification(uid: string, updater: Partial) { diff --git a/src/components/design/header/Header.astro b/src/components/design/header/Header.astro index 31b1adf1..a8173f57 100644 --- a/src/components/design/header/Header.astro +++ b/src/components/design/header/Header.astro @@ -1,5 +1,5 @@ --- -import HeaderLogin from "#header/headerLogin.svelte"; +import HeaderLogin from "#header/HeaderLogin.svelte"; ---
- +
diff --git a/src/components/design/header/headerLogin.svelte b/src/components/design/header/HeaderLogin.svelte similarity index 64% rename from src/components/design/header/headerLogin.svelte rename to src/components/design/header/HeaderLogin.svelte index 30ff21d3..129f04e4 100644 --- a/src/components/design/header/headerLogin.svelte +++ b/src/components/design/header/HeaderLogin.svelte @@ -1,15 +1,12 @@ -
- +
{#if !errorHidden} - + {/if} -
- - -
- +
diff --git a/src/components/labels/Bereich.svelte b/src/components/labels/Bereich.svelte new file mode 100644 index 00000000..26643eff --- /dev/null +++ b/src/components/labels/Bereich.svelte @@ -0,0 +1,32 @@ + + +
+
+
+
{bereich}
+
{title}
+
{ + open = !open + }} + > + {#if open} + - + {:else} + + + {/if} +
+
+
+
+
+ +
\ No newline at end of file diff --git a/src/components/labels/BereichLabel.svelte b/src/components/labels/BereichLabel.svelte index 65491d66..134a6bc3 100644 --- a/src/components/labels/BereichLabel.svelte +++ b/src/components/labels/BereichLabel.svelte @@ -1,46 +1,42 @@ - - -
- -
-
-
{bereich}
-
-
toggleBereich(event)}>-
+
+
+
+
{bereich}
+
+
+ {#if open} + - + {:else} + + + {/if} +
+
-
- -
- - - - \ No newline at end of file +
\ No newline at end of file diff --git a/src/modules/BedarfsausweisWohnen/BedarfsausweisContent.svelte b/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte similarity index 86% rename from src/modules/BedarfsausweisWohnen/BedarfsausweisContent.svelte rename to src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte index 53a4ba73..8b9bc038 100644 --- a/src/modules/BedarfsausweisWohnen/BedarfsausweisContent.svelte +++ b/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte @@ -11,14 +11,23 @@ import moment from "moment"; import { BitChecker } from "src/lib/BitChecker.js"; import { Enums } from "@ibcornelsen/database/client"; - import { BedarfsausweisWohnenClient, BenutzerClient, UploadedGebaeudeBild } from "#components/Ausweis/types.js"; + import { + BedarfsausweisWohnenClient, + BenutzerClient, + UploadedGebaeudeBild, + } from "#components/Ausweis/types.js"; + import Bereich from "#components/labels/Bereich.svelte"; + import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte"; export let ausweis: BedarfsausweisWohnenClient; export let user: BenutzerClient = {} as BenutzerClient; let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {}; - let gebaeude = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {}; - let images: (UploadedGebaeudeBild & { base64?: string })[] = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten?.gebaeude_bilder || []; + let gebaeude = + ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {}; + let images: (UploadedGebaeudeBild & { base64?: string })[] = + ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten + ?.gebaeude_bilder || []; let daemmungsBreiten = [0, 0.02, 0.05, 0.08, 0.12, 0.16, 0.2, 0.3, 0.4]; @@ -40,6 +49,29 @@ "Fenster mit U-Wert 1": 1, }; + async function spaeterWeitermachen() { + // const result = await verbrauchsausweisWohnenSpeichern( + // ausweis, + // gebaeude, + // gebaeude_aufnahme_allgemein, + // images, + // user + // ); + // if (result !== null) { + // // Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen. + // // Sonst müsste er alles neu eingeben... + // ausweis.uid = result.uid; + // gebaeude.uid = result.gebaeude_uid; + // gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid; + // window.history.pushState( + // {}, + // "", + // `${location.pathname}?uid=${result.uid}` + // ); + // speichernOverlayHidden = false; + // } + } + const arrayRange = (start: number, stop: number, step: number) => Array.from( { length: (stop - start) / step + 1 }, @@ -112,157 +144,160 @@ } -
-
-

Bedarfsausweis erstellen - 75€

+
+
- +
+ +
+ +
-
-
- Später Weitermachen -
- - -
-
- -
- - -
- -
-
- Bitte geben Sie hier die Straße und Hausnummer des Gebäudes - ein. -
- -
-
- - + + + -
- Ort des Gebäudes wird automatisch ermittelt. +
+ +
- -
-
- -
- Bitte geben Sie hier die beheizte Wohnfläche in m² ein. - Dabei handelt es sich um die Wohnfläche abzüglich - vorhandener Flächen die sich außerhalb des Gebäudes - befinden. (Balkone, Terassen,etc.). -
- -
-
- -
- Bitte wählen Sie hier den Gebäudetyp aus. - -
- +
+ +
-
-
- Bitte geben Sie hier den Gebäudeteil ein. In den meisten - Fällen handelt es sich um das Gesamtgebäude. Sollte es sich - allerdings um ein Gebäude mit mehr als 10% Gewerbeanteil - handeln, so sollten 2 Ausweise erstellt werden. In diesem - Fall wählen Sie Gebäudeteil 'Wohnen' bzw. Gebäudeteil - 'Gewerbe'. + +
- +
+ +
+
+ +
+ Bitte geben Sie hier die beheizte Wohnfläche in m² ein. + Dabei handelt es sich um die Wohnfläche abzüglich + vorhandener Flächen die sich außerhalb des Gebäudes + befinden. (Balkone, Terassen,etc.). +
+ +
+
+ +
+ Bitte wählen Sie hier den Gebäudetyp aus. + +
+ +
+
+ +
+ Bitte geben Sie hier den Gebäudeteil ein. In den + meisten Fällen handelt es sich um das Gesamtgebäude. + Sollte es sich allerdings um ein Gebäude mit mehr als + 10% Gewerbeanteil handeln, so sollten 2 Ausweise + erstellt werden. In diesem Fall wählen Sie Gebäudeteil + 'Wohnen' bzw. Gebäudeteil 'Gewerbe'. +
+ +
-
+
@@ -1304,10 +1347,15 @@ >G - Bitte prüfen Sie hier die Angaben zum Sanierungszustand des Gebäudes - +
- +
diff --git a/src/modules/VerbrauchsausweisWohnen/AusweisWeiter.svelte b/src/modules/VerbrauchsausweisWohnen/AusweisWeiter.svelte index 37d9250c..423642a3 100644 --- a/src/modules/VerbrauchsausweisWohnen/AusweisWeiter.svelte +++ b/src/modules/VerbrauchsausweisWohnen/AusweisWeiter.svelte @@ -98,7 +98,6 @@ gebaeude }) }) - // TODO: Ticket mit Fehldermeldung abschicken. } addNotification({ diff --git a/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte b/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte index a6669be4..cc213f68 100644 --- a/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte +++ b/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte @@ -3,12 +3,11 @@ import Progressbar from "#components/Ausweis/Progressbar.svelte"; import Hilfe from "#components/Ausweis/Hilfe.svelte"; - import BereichLabel from "#labels/BereichLabel.svelte"; + import Bereich from "#labels/Bereich.svelte"; //import HelpLabel from "#labels/HelpLabel.svelte"; //import Inputlabel from "#labels/InputLabel.svelte"; //import Label from "#components/Label.svelte"; - import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte"; import Ausweisart from "#components/Ausweis/Ausweisart.svelte"; import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte"; @@ -24,11 +23,12 @@ import AusweisPreviewContainer from "#components/Ausweis/AusweisPreviewContainer.svelte"; //import ZipSearch from "#components/PlzSuche.svelte"; - + import { RawNotificationWrapper, RawNotification, notifications, + deleteNotification, } from "#components/Notifications/index.js"; import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js"; import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js"; @@ -57,14 +57,13 @@ import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js"; import AusweisWeiter from "./AusweisWeiter.svelte"; import { Enums } from "@ibcornelsen/database/client"; + import { OpenInNewWindow } from "radix-svelte-icons"; // TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann // wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert... export let ausweis: VerbrauchsausweisWohnenClient; export let user: BenutzerClient = {} as BenutzerClient; - - let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {}; let gebaeude = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {}; @@ -101,11 +100,13 @@ gebaeude_aufnahme_allgemein.baujahr_heizung = [1952]; gebaeude_aufnahme_allgemein.saniert = true; gebaeude_aufnahme_allgemein.einheiten = 1; - gebaeude_aufnahme_allgemein.gebaeudetyp = "Einfamilienhaus" - gebaeude_aufnahme_allgemein.keller = Enums.Heizungsstatus.NICHT_VORHANDEN - gebaeude_aufnahme_allgemein.dachgeschoss = Enums.Heizungsstatus.NICHT_VORHANDEN - gebaeude_aufnahme_allgemein.lueftung = "Fensterlüftung" - gebaeude_aufnahme_allgemein.kuehlung = "1" + gebaeude_aufnahme_allgemein.gebaeudetyp = "Einfamilienhaus"; + gebaeude_aufnahme_allgemein.keller = + Enums.Heizungsstatus.NICHT_VORHANDEN; + gebaeude_aufnahme_allgemein.dachgeschoss = + Enums.Heizungsstatus.NICHT_VORHANDEN; + gebaeude_aufnahme_allgemein.lueftung = "Fensterlüftung"; + gebaeude_aufnahme_allgemein.kuehlung = "1"; ausweis.ausstellgrund = "Vermietung"; ausweis.verbrauch_1 = 15000; ausweis.verbrauch_2 = 14000; @@ -113,7 +114,7 @@ gebaeude_aufnahme_allgemein.flaeche = 152; gebaeude_aufnahme_allgemein.nutzflaeche = 172; ausweis.keller_beheizt = true; - + gebaeude_aufnahme_allgemein.brennstoff_1 = "Erdgas H"; ausweis.einheit_1 = "kWh"; ausweis.anteil_warmwasser_1 = 18; @@ -168,8 +169,6 @@ } - -
@@ -184,158 +183,155 @@

Verbrauchsausweis erstellen - 45€

- -
- +
- +
- - Prüfung der Ausweisart -
+ -
+ - Eingabe der Gebäudeadresse - - Angaben zu Wohnfläche, Keller und Dachgeschoss -
- -
- Eingabe von 3 zusammenhängenden Verbrauchsjahren -
- -
+ /> - Eingabe Warmwasseranteil - und Verwendung von alternativen - Energieversorgungssystemen -
- -
- Eingabe von Gebäudeteil, - Lüftung, Kühlung und Leerstand -
- -
- Angaben zur Heizunganlage -
- -
+ /> - Angaben zu Fenster, Dachfenster und Türen -
- -
- + /> - Angaben zur Wärmedämmung -
- -
+ /> - Gebäudebild und Energieausweis PDF Vorschau -
- -
- -
+ > +
+ +
-
- - -
- -
-
-
+
+
{#each Object.entries($notifications) as [uid, notification] (uid)} {@html notification.subtext} + {#if notification.selector} + + {/if} {/each} @@ -520,7 +516,7 @@ xs:grid-cols-2" für den Bedarfsausweis zu gelangen. {/if} - + {#if auditVerbrauchAbweichung(ausweis, gebaeude_aufnahme_allgemein).length > 0} Die Abweichung der Verbräuche zwischen Zeitraum {auditVerbrauchAbweichung( ausweis, - gebaeude_aufnahme_allgemein, - )[0]} und {auditVerbrauchAbweichung(ausweis, gebaeude_aufnahme_allgemein)[1]} beträgt mehr - als 30% und sie haben keinen Leerstand angegeben. Sind sie sich sicher, - dass das stimmt? + gebaeude_aufnahme_allgemein + )[0]} und {auditVerbrauchAbweichung( + ausweis, + gebaeude_aufnahme_allgemein + )[1]} beträgt mehr als 30% und sie haben keinen Leerstand angegeben. + Sind sie sich sicher, dass das stimmt? {/if} diff --git a/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule_V01.svelte b/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule_V01.svelte index cb3f155c..7f1d7f63 100644 --- a/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule_V01.svelte +++ b/src/modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule_V01.svelte @@ -146,7 +146,7 @@ xs:grid-cols-2
-
+

diff --git a/src/pages/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro b/src/pages/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro index d952dc80..aad1a142 100644 --- a/src/pages/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro +++ b/src/pages/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro @@ -1,7 +1,7 @@ --- import AusweisLayout from "#layouts/AusweisLayout.astro"; -import BedarfsausweisContent from "#modules/BedarfsausweisWohnen/BedarfsausweisContent.svelte"; +import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte"; import { BedarfsausweisWohnenClient } from "#components/Ausweis/types"; import { createCaller } from "#lib/caller"; @@ -31,5 +31,5 @@ if (uid) { --- - + \ No newline at end of file