Bedarfsausweis und Verbrauchsausweis Gewerbe Formular

This commit is contained in:
Moritz Utcke
2024-12-02 16:58:56 +11:00
parent e61b5fe4d5
commit 303b6de427
5 changed files with 83 additions and 44 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import ImageGrid from "../ImageGrid.svelte";;
import { Enums, type BedarfsausweisWohnen, type VerbrauchsausweisGewerbe } from "@ibcornelsen/database/client";
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./types";
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./types.js";
export let images: UploadedGebaeudeBild[] = [];
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbe | BedarfsausweisWohnen;

View File

@@ -6,13 +6,19 @@
import Label from "#components/Label.svelte";
import HelpLabel from "#components/HelpLabel.svelte";
import ZipSearch from "#components/PlzSuche.svelte";
import { hotWaterProductionTypes } from "./HotWaterProductionTypes";
import { hotWaterProductionTypes } from "./HotWaterProductionTypes.js";
import BilderZusatzsysteme from "../Ausweis/BilderZusatzsysteme.svelte";
import moment from "moment";
import { BitChecker } from "src/lib/BitChecker";
import type { BedarfsausweisWohnen } from "@ibcornelsen/database/client";
import { BitChecker } from "src/lib/BitChecker.js";
import { Enums } from "@ibcornelsen/database/client";
import { BedarfsausweisWohnenClient, BenutzerClient, UploadedGebaeudeBild } from "#components/Ausweis/types.js";
let ausweis: BedarfsausweisWohnen = {} as BedarfsausweisWohnen;
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 daemmungsBreiten = [0, 0.02, 0.05, 0.08, 0.12, 0.16, 0.2, 0.3, 0.4];
@@ -50,7 +56,7 @@
ausweis.objekt_ort = "Hamburg";
ausweis.wohnflaeche = 152;
ausweis.keller_beheizt = true;
ausweis.dachgeschoss = Dachgeschoss.UNBEHEIZT;
ausweis.dachgeschoss = Enums.Heizungsstatus.UNBEHEIZT;
ausweis.energieverbrauch_zeitraum = moment("04.01.2018");
ausweis.energietraeger_1 = "Erdgas";
ausweis.energietraeger_einheit_heizquelle_1 = "kWh";
@@ -112,7 +118,7 @@
<Progressbar progress={0} />
</div>
<PerformanceScore {ausweis} />
<PerformanceScore {ausweis} {gebaeude} {gebaeude_aufnahme_allgemein} />
</div>
<form action="FORM/transfer/VA_1to2" enctype="multipart/form-data">
@@ -133,7 +139,9 @@
<hr />
<Label>A - Prüfung der Ausweisart</Label>
<Ausweisart bind:ausweis />
<Ausweisart bind:gebaeude
bind:gebaeude_aufnahme_allgemein
bind:ausweis />
<hr />
<Label
>B - Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Gebäudetyp
@@ -866,9 +874,9 @@
required
>
<option> Bitte auswählen</option>
<option value={Dachgeschoss.NICHT_VORHANDEN}> nicht vorhanden</option>
<option value={Dachgeschoss.UNBEHEIZT}> unbeheizt</option>
<option value={Dachgeschoss.BEHEIZT}> beheizt</option>
<option value={Enums.Heizungsstatus.NICHT_VORHANDEN}> nicht vorhanden</option>
<option value={Enums.Heizungsstatus.UNBEHEIZT}> unbeheizt</option>
<option value={Enums.Heizungsstatus.BEHEIZT}> beheizt</option>
</select>
</div>
</div>
@@ -1296,7 +1304,7 @@
>G - Bitte prüfen Sie hier die Angaben zum Sanierungszustand des
Gebäudes</Label
>
<BilderZusatzsysteme {ausweis} />
<BilderZusatzsysteme {ausweis} {gebaeude} {gebaeude_aufnahme_allgemein} {images} />
<hr />
<div class="flex flex-row justify-between">
<button class="button">Weiter</button>

View File

@@ -7,38 +7,21 @@
import Label from "#components/Label.svelte";
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
import ZipSearch from "../../components/PlzSuche.svelte";
import { buildingTypes } from "./BuildingTypes";
import { buildingTypes } from "./BuildingTypes.js";
import BilderZusatzsysteme from "../../components/Ausweis/BilderZusatzsysteme.svelte";
import moment from "moment";
import { Enums } from "@ibcornelsen/database/client";
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types";
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types.js";
import { BenutzerClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
export let images: UploadedGebaeudeBild[] = [];
export let gebaeude: GebaeudeClient = {} as GebaeudeClient;
export let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient;
export let ausweis: VerbrauchsausweisGewerbeClient;
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 || [];
function automatischAusfüllen() {
gebaeude.baujahr_gebaeude = [1962];
gebaeude.baujahr_heizung = [1952];
gebaeude.saniert = true;
gebaeude.einheiten = 1;
ausweis.ausstellgrund = "Vermietung";
ausweis.verbrauch_1 = 15000;
ausweis.verbrauch_2 = 14000;
ausweis.verbrauch_3 = 16000;
gebaeude.flaeche = 152;
ausweis.keller_beheizt = true;
ausweis.brennstoff_1 = "Erdgas H";
ausweis.einheit_1 = "kWh";
ausweis.anteil_warmwasser_1 = 18;
ausweis.startdatum = moment("12.01.2019").toDate();
gebaeude.plz = "21039";
gebaeude.ort = "Hamburg";
gebaeude.adresse = "Curslacker Deich 170";
gebaeude.gebaeudeteil = "Gesamtgebäude";
gebaeude = gebaeude;
ausweis = ausweis;
}
</script>
@@ -48,7 +31,7 @@
<Progressbar progress={0} />
</div>
<PerformanceScore bind:ausweis bind:gebaeude />
<PerformanceScore bind:ausweis bind:gebaeude bind:gebaeude_aufnahme_allgemein />
</div>
<!-- TODO: Submit implementieren in externer Datei wenn Verbrauchsausweis Wohnen fertig ist -->
@@ -72,7 +55,7 @@
<Label>A - Prüfung der Ausweisart</Label>
<Ausweisart bind:ausweis bind:gebaeude />
<Ausweisart bind:ausweis bind:gebaeude bind:gebaeude_aufnahme_allgemein />
<div
class="flex flex-col p-4"
@@ -204,7 +187,7 @@
</div>
<div class="GRB">
<Verbrauch bind:ausweis bind:gebaeude />
<Verbrauch bind:ausweis bind:gebaeude bind:gebaeude_aufnahme_allgemein />
</div>
<hr>
<div class="flex flex-row gap-4">
@@ -620,7 +603,7 @@
>
</div>
<BilderZusatzsysteme {ausweis} {gebaeude} bind:images />
<BilderZusatzsysteme {ausweis} {gebaeude} bind:images bind:gebaeude_aufnahme_allgemein />
<div class="flex flex-row justify-between">
<Hilfe />

View File

@@ -2,9 +2,34 @@
import AusweisLayout from "#layouts/AusweisLayout.astro";
import BedarfsausweisContent from "#components/Bedarfsausweis/BedarfsausweisContent.svelte";
import { BedarfsausweisWohnenClient } from "#components/Ausweis/types";
import { createCaller } from "#lib/caller";
const uid = Astro.url.searchParams.get("uid");
let ausweis: Partial<BedarfsausweisWohnenClient> = {
gebaeude_aufnahme_allgemein: { gebaeude_stammdaten: {} },
energiequelle_2_nutzung: []
} as Partial<BedarfsausweisWohnenClient>;
const caller = createCaller(Astro);
if (uid) {
ausweis = await caller.v1.bedarfsausweisWohen.get({
uid: uid,
});
if (!ausweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/energieausweis-erstellen/bedarfsausweis-wohnen"
);
}
}
---
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
<BedarfsausweisContent client:load></BedarfsausweisContent>
<BedarfsausweisContent client:load ausweis={ausweis}></BedarfsausweisContent>
</AusweisLayout>

View File

@@ -2,9 +2,32 @@
import AusweisLayout from "#layouts/AusweisLayout.astro";
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
import { VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { createCaller } from "#lib/caller";
const uid = Astro.url.searchParams.get("uid");
let ausweis: VerbrauchsausweisGewerbeClient = {
gebaeude_aufnahme_allgemein: { gebaeude_stammdaten: {} },
} as VerbrauchsausweisGewerbeClient;
const caller = createCaller(Astro);
if (uid) {
ausweis = await caller.v1.verbrauchsausweisGewerbe.get({
uid: uid,
});
if (!ausweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohnen"
);
}
}
---
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen">
<VerbrauchsausweisGewerbeModule client:load></VerbrauchsausweisGewerbeModule>
<VerbrauchsausweisGewerbeModule client:load ausweis={ausweis}></VerbrauchsausweisGewerbeModule>
</AusweisLayout>