292 lines
8.9 KiB
Svelte
292 lines
8.9 KiB
Svelte
<script lang="ts">
|
|
import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
|
|
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
|
//import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
|
import { PRICES } from "#lib/constants.js";
|
|
|
|
import Bereich from "#components/labels/Bereich.svelte";
|
|
|
|
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
|
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
|
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
|
import GebaeudeVolumen from "#components/Ausweis/GebaeudeVolumen.svelte";
|
|
import Fensterflaechen from "#components/Ausweis/Fensterflaechen.svelte";
|
|
import KellerDachgeschossLueftungKuehlung from "#components/Ausweis/KellerDachgeschossLueftungKuehlung.svelte";
|
|
|
|
import SanierungszustandHeizungsanlage from "#components/Ausweis/SanierungszustandHeizungsanlage.svelte";
|
|
import SanierungszustandFensterTueren from "#components/Ausweis/SanierungszustandFensterTueren.svelte";
|
|
import SanierungszustandWaermedammung from "#components/Ausweis/SanierungszustandWaermedammung.svelte";
|
|
import AusweisPreviewContainer from "#components/Ausweis/AusweisPreviewContainer.svelte";
|
|
|
|
import Label from "#components/Label.svelte";
|
|
import HelpLabel from "#components/HelpLabel.svelte";
|
|
import ZipSearch from "#components/PlzSuche.svelte";
|
|
|
|
import { hotWaterProductionTypes } from "#modules/BedarfsausweisWohnen/HotWaterProductionTypes.js";
|
|
import BilderZusatzsysteme from "../../components/Ausweis/BilderZusatzsysteme.svelte";
|
|
import moment from "moment";
|
|
import { BitChecker } from "src/lib/BitChecker.js";
|
|
import { Enums } from "#lib/client/prisma";
|
|
import {
|
|
BedarfsausweisWohnenClient,
|
|
BenutzerClient,
|
|
ObjektClient,
|
|
UploadedGebaeudeBild,
|
|
AufnahmeClient
|
|
} from "#components/Ausweis/types.js";
|
|
|
|
import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte";
|
|
|
|
export let ausweis: BedarfsausweisWohnenClient;
|
|
export let objekt: ObjektClient
|
|
export let aufnahme: AufnahmeClient
|
|
export let user: BenutzerClient = {} as BenutzerClient;
|
|
export let images: UploadedGebaeudeBild[] = []
|
|
|
|
let daemmungsBreiten = [0, 0.02, 0.05, 0.08, 0.12, 0.16, 0.2, 0.3, 0.4];
|
|
|
|
let fensterArten = {
|
|
Einfachverglasung: 5,
|
|
"Holzfenster Doppelverglasung": 2.7,
|
|
"Kunststofffenster Doppelverglasung": 3,
|
|
"Alu- oder Stahlfenster Doppelverglasung": 4.3,
|
|
"Fenster Doppelverglasung (ab 1995)": 1.8,
|
|
"Fenster Doppelverglasung (U-Wert 1,1)": 1.1,
|
|
"Dreifach-Wärmeschutzverglasung(U-Wert 0,9)": 0.9,
|
|
"Dreifach-Wärmeschutzverglasung(U-Wert 0,85)": 0.85,
|
|
"Passivhausfenster(U-Wert 0,7)": 0.7,
|
|
"Passivhausfenster(U-Wert 0,6)": 0.6,
|
|
"Fenster mit U-Wert 2,3": 2.3,
|
|
"Fenster mit U-Wert 1,6": 1.6,
|
|
"Fenster mit U-Wert 1,7": 1.7,
|
|
"Fenster mit U-Wert 1,3": 1.3,
|
|
"Fenster mit U-Wert 1": 1,
|
|
};
|
|
|
|
async function spaeterWeitermachen() {
|
|
// const result = await verbrauchsausweisWohnenSpeichern(
|
|
// ausweis,
|
|
// gebaeude,
|
|
// aufnahme,
|
|
// 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;
|
|
// aufnahme.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 },
|
|
(value, index) => start + index * step
|
|
);
|
|
|
|
function automatischAusfüllen() {
|
|
ausweis.baujahr_anlage = 1974;
|
|
ausweis.baujahr_gebaeude = 1962;
|
|
ausweis.anzahl_einheiten = 1;
|
|
ausweis.objekt_saniert = true;
|
|
ausweis.objekt_strasse = "Mönckebergstraße";
|
|
ausweis.objekt_plz = "22049";
|
|
ausweis.objekt_ort = "Hamburg";
|
|
ausweis.wohnflaeche = 152;
|
|
ausweis.keller_beheizt = true;
|
|
ausweis.dachgeschoss = Enums.Heizungsstatus.UNBEHEIZT;
|
|
ausweis.energieverbrauch_zeitraum = moment("04.01.2018");
|
|
ausweis.energietraeger_1 = "Erdgas";
|
|
ausweis.energietraeger_einheit_heizquelle_1 = "kWh";
|
|
ausweis.versorgungssysteme = BitChecker(1);
|
|
ausweis.fenster_dach = BitChecker(1);
|
|
ausweis.daemmung = BitChecker(1);
|
|
ausweis.objekt_typ = "Einfamilienhaus";
|
|
ausweis.objekt_gebaeudeteil = "Gesamtgebäude";
|
|
ausweis.lueftungskonzept = "Fensterlüftung";
|
|
ausweis.wird_gekuehlt = false;
|
|
ausweis.energieverbrauch_1_heizquelle_1 = 40120;
|
|
ausweis.energieverbrauch_2_heizquelle_1 = 42120;
|
|
ausweis.energieverbrauch_3_heizquelle_1 = 41120;
|
|
ausweis.anzahl_vollgeschosse = 2;
|
|
ausweis.geschosshoehe = 2.25;
|
|
ausweis.anzahl_gauben = 1;
|
|
ausweis.breite_gauben = 0.7;
|
|
ausweis.masse_a = 4;
|
|
ausweis.masse_b = 12;
|
|
ausweis.masse_c = 3;
|
|
ausweis.masse_d = 6;
|
|
ausweis.masse_e = 4;
|
|
ausweis.masse_f = 9;
|
|
ausweis.fensterflaeche_so_sw = 8;
|
|
ausweis.fensterflaeche_nw_no = 8;
|
|
ausweis.aussenwandflaeche_unbeheizt = 15;
|
|
ausweis.fenster_flaeche_1 = 16;
|
|
ausweis.fenster_art_1 = 5;
|
|
ausweis.fenster_flaeche_2 = 0;
|
|
ausweis.fenster_art_2 = 5;
|
|
ausweis.dachfenster_flaeche = 12;
|
|
ausweis.dachfenster_art = 5;
|
|
ausweis.haustuer_flaeche = 2;
|
|
ausweis.haustuer_art = 5;
|
|
ausweis.dach_bauart = "Massive Konstruktion";
|
|
ausweis.dach_daemmung = 0;
|
|
ausweis.decke_bauart = "Massive Konstruktion";
|
|
ausweis.decke_daemmung = 0.02;
|
|
ausweis.aussenwand_bauart = "Massive Konstruktion";
|
|
ausweis.aussenwand_daemmung = 0.05;
|
|
ausweis.boden_bauart = "Massive Konstruktion";
|
|
ausweis.boden_daemmung = 0.08;
|
|
ausweis.warmwasser_verteilung = "zvmzbis1978";
|
|
ausweis.warmwasser_speicherung = "zwwsath";
|
|
ausweis.warmwasser_erzeugung = "ktkesselbis1986";
|
|
ausweis.heizung_zentral = false;
|
|
ausweis.heizung_verteilung = "zv7055bis1978";
|
|
ausweis.waerme_erzeugung_heizung = "ktkesselbis1986h";
|
|
ausweis.heizung_speicherung = "elzs7055bis1994";
|
|
ausweis.energietraeger_2 = "Braunkohle";
|
|
ausweis.anteil_zusatzheizung = 0.7;
|
|
ausweis = ausweis;
|
|
}
|
|
|
|
const ausweisart = Enums.Ausweisart.BedarfsausweisWohnen
|
|
const anliegen = "anfragen";
|
|
</script>
|
|
|
|
|
|
<div id="skala" class="bg-white grid grid-cols-1 px-0 sm:p-4 lg:grid-cols-2 lg:gap-x-6">
|
|
|
|
<PerformanceScore
|
|
bind:ausweis
|
|
bind:aufnahme={aufnahme}
|
|
bind:objekt={objekt}
|
|
{ausweisart}
|
|
/>
|
|
|
|
<Progressbar active={0} {ausweisart} {anliegen}/>
|
|
|
|
</div>
|
|
|
|
<form id="formInput-1" on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
|
<div id="formular-box" class="formular-boxen ring-0">
|
|
|
|
|
|
<ButtonSpaeterHilfe {automatischAusfüllen} {spaeterWeitermachen} />
|
|
|
|
<!-- A Prüfung der Ausweisart -->
|
|
|
|
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
|
<Ausweisart
|
|
bind:objekt={objekt}
|
|
bind:aufnahme={aufnahme}
|
|
bind:ausweis
|
|
{ausweisart}
|
|
/>
|
|
</Bereich>
|
|
|
|
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
|
|
|
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
|
|
|
<Bereich
|
|
bereich="B"
|
|
title="Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss"
|
|
><GebaeudeDaten bind:aufnahme bind:objekt /></Bereich
|
|
>
|
|
|
|
|
|
<!-- C - Berechnungshilfe und Tabelle der Hüllflächen, U-Werte und Gebäudevolumen -->
|
|
|
|
<Bereich
|
|
bereich="C"
|
|
title="Berechnungshilfe und Tabelle der Hüllflächen, U-Werte und Gebäudevolumen"
|
|
><GebaeudeVolumen bind:ausweis/></Bereich>
|
|
|
|
|
|
<!-- D - Eingabe der Fensterflächen und Konstruktion von Dach, Wänden und Boden -->
|
|
|
|
<Bereich
|
|
bereich="D"
|
|
title="Eingabe der Fensterflächen und Konstruktion von Dach, Wänden und Boden"
|
|
><Fensterflaechen bind:ausweis/></Bereich>
|
|
|
|
|
|
|
|
<!-- E - Angabe zu Keller, Dachgeschoss, Lüftung und Kühlung -->
|
|
|
|
<Bereich
|
|
bereich="E"
|
|
title="Angabe zu Keller, Dachgeschoss, Lüftung und Kühlung"
|
|
><KellerDachgeschossLueftungKuehlung bind:ausweis/></Bereich>
|
|
|
|
|
|
|
|
|
|
<!-- F Angaben zur Heizungsanlage -->
|
|
<Bereich bereich="F" title="Angaben zur Heizunganlage"
|
|
><SanierungszustandHeizungsanlage
|
|
bind:images
|
|
bind:objekt
|
|
bind:aufnahme
|
|
bind:ausweis
|
|
{ausweisart}
|
|
/></Bereich
|
|
>
|
|
|
|
<!-- G Angaben zur Fenster, Dachfenster und Türen -->
|
|
|
|
<Bereich bereich="G" title="Angaben zu Fenster, Dachfenster und Türen"
|
|
><SanierungszustandFensterTueren
|
|
bind:images
|
|
bind:objekt
|
|
bind:aufnahme
|
|
bind:ausweis
|
|
/></Bereich
|
|
>
|
|
<!-- H Angaben zur Wärmedammung -->
|
|
|
|
<Bereich bereich="H" title="Angaben zur Wärmedämmung"
|
|
><SanierungszustandWaermedammung
|
|
bind:images
|
|
bind:objekt
|
|
bind:aufnahme
|
|
bind:ausweis
|
|
/></Bereich
|
|
>
|
|
|
|
<!-- I Gebäudebild und Energieausweis PDF Vorschau -->
|
|
|
|
<Bereich bereich="I" title="Gebäudebild und Energieausweis PDF Vorschau"
|
|
><AusweisPreviewContainer
|
|
bind:images
|
|
bind:ausweis
|
|
bind:objekt
|
|
bind:aufnahme
|
|
{ausweisart}
|
|
/></Bereich
|
|
>
|
|
|
|
|
|
|
|
<ButtonWeiterHilfe {spaeterWeitermachen}
|
|
bind:ausweis
|
|
bind:images
|
|
bind:user
|
|
bind:objekt
|
|
bind:aufnahme
|
|
ausweisart={Enums.Ausweisart.BedarfsausweisWohnen}
|
|
/>
|
|
|
|
|
|
|
|
|
|
</form>
|