Merge remote-tracking branch 'origin/main'

This commit is contained in:
Moritz Utcke
2025-02-12 12:28:25 +07:00
24 changed files with 179 additions and 218 deletions

View File

@@ -24,7 +24,7 @@
export let ausweisart: Enums.Ausweisart; export let ausweisart: Enums.Ausweisart;
</script> </script>
<div class="grid grid-cols-2 gap-x-6 mt-6"> <div class="grid grid-cols-1 md:grid-cols-2 gap-x-6 mt-6">
<div class="box card mb-0 relative"> <div class="box card mb-0 relative">
@@ -65,8 +65,6 @@
<DatenblattButton {ausweis} {aufnahme} {objekt} bilder={images} {ausweisart} /> <DatenblattButton {ausweis} {aufnahme} {objekt} bilder={images} {ausweisart} />
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,17 +8,17 @@
export let objekt: ObjektClient; export let objekt: ObjektClient;
</script> </script>
<div class="grid grid-cols-2 gap-x-6 mt-6"> <div class="grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6">
<div class="box card mb-0"> <div class="md:box md:card mb-0">
<p class="font-bold mb-2"> <div class="font-bold mb-2">
<span class="text-red-500">WICHTIG:</span> <span class="text-red-500">WICHTIG:</span>
Bild Upload - Wärmedämmung (2 bis 4 Bilder) Bild Upload - Wärmedämmung (2 bis 4 Bilder)
</p> </div>
<p> <div>
Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in
Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude
zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür
@@ -26,23 +26,17 @@
Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur
Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem
Energieausweis. Energieausweis.
</p> </div>
<br /> <br />
<ol> <ol>
<li>1.Bild : Detailbild Dach bzw. des Dachinnenraums*</li> <li>1.Bild : Detailbild Dach bzw. des Dachinnenraums*</li>
<li> <li>2.Bild :<em>(weiteres Detailbild Dach bzw. des Dachinnenraums)</em></li>
2.Bild : <em
>(weiteres Detailbild Dach bzw. des Dachinnenraums)</em
>
</li>
<li>3.Bild : Detailbild der Außenwand*</li> <li>3.Bild : Detailbild der Außenwand*</li>
<li> <li>4.Bild : <em>(weiteres Detailbild der Außenwand)</em></li>
4.Bild : <em>(weiteres Detailbild der Außenwand)</em>
</li>
</ol> </ol>
<p>* erforderliches Bild</p> <div>* erforderliches Bild</div>
<br /> <br />
<p> <div>
Idealerweise sollte Dämmung oder nicht vorhandene Dämmung gut zu Idealerweise sollte Dämmung oder nicht vorhandene Dämmung gut zu
erkennen sein. Sollte aufgrund der Verkleidung bzw. Verschalung, der erkennen sein. Sollte aufgrund der Verkleidung bzw. Verschalung, der
Dämmzustand nicht erkennbar sein, reicht ein Bild vom ausgebauten Dämmzustand nicht erkennbar sein, reicht ein Bild vom ausgebauten
@@ -50,15 +44,15 @@
beim Detailbild der Außenwand aufgrund des Wandaufbaus die Dämmung beim Detailbild der Außenwand aufgrund des Wandaufbaus die Dämmung
nicht erkennbar sein, reicht ein normales Bild der Außenwand nicht erkennbar sein, reicht ein normales Bild der Außenwand
und/oder vom Dach-Wandanschluss. und/oder vom Dach-Wandanschluss.
</p> </div>
</div> </div>
<div class="box card mb-0"> <div class="md:box md:card mb-0 mt-6 md:mt-0">
<p> <div>
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf Ihrem Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf Ihrem
Energieausweis!<br /> Energieausweis!<br />
<strong>Bitte laden Sie hier mind. 2 Bilder hoch:</strong> <strong>Bitte laden Sie hier mind. 2 Bilder hoch:</strong>
</p> </div>
<ImageGrid <ImageGrid
max={4} max={4}
min={2} min={2}

View File

@@ -8,16 +8,16 @@
export let objekt: ObjektClient; export let objekt: ObjektClient;
</script> </script>
<div class="grid grid-cols-2 gap-x-6 mt-6"> <div class="grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6">
<div class="box card mb-0"> <div class="md:box md:card mb-0">
<p class="font-bold mb-2"> <div class="font-bold mb-2">
<span class="text-red-500">WICHTIG:</span> <span class="text-red-500">WICHTIG:</span>
Bild Upload - Fenster/Dachfenster/Türen (1 bis 4 Bilder) Bild Upload - Fenster/Dachfenster/Türen (1 bis 4 Bilder)
</p> </div>
<p> <div>
Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in
Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude
zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür
@@ -25,36 +25,30 @@
Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur
Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem
Energieausweis. Energieausweis.
</p> </div>
<br /> <br />
<ol> <ol>
<li>1. Bild : Exemplarisches Bild eines Fensters*</li> <li>1. Bild : Exemplarisches Bild eines Fensters*</li>
<li> <li>2.Bild : <em>(Im Baualter abweichendes Fenster)</em></li>
2.Bild : <em>(Im Baualter abweichendes Fenster)</em> <li>3.Bild : <em>(Im Baualter abweichendes Fenster)</em></li>
</li> <li>4.Bild : <em>(wenn möglich, Bild der Haustür)</em></li>
<li>
3.Bild : <em>(Im Baualter abweichendes Fenster)</em>
</li>
<li>
4.Bild : <em>(wenn möglich, Bild der Haustür)</em>
</li>
</ol> </ol>
<p>* erforderliches Bild</p> <div>* erforderliches Bild</div>
<br /> <br />
<p> <div>
Wenn eine Fensterart bzw. Fensterqualität verbaut wurde, reicht ein Wenn eine Fensterart bzw. Fensterqualität verbaut wurde, reicht ein
exemplarisches Bild, sonst pro Art ein Bild. Wenn möglich eine exemplarisches Bild, sonst pro Art ein Bild. Wenn möglich eine
Großaufnahme des Fensters bzw. des Fensterfalzes. Idealerweise Großaufnahme des Fensters bzw. des Fensterfalzes. Idealerweise
sollte der Datumsaufdruck am Verglasungsrahmen zu erkennen sein. sollte der Datumsaufdruck am Verglasungsrahmen zu erkennen sein.
</p> </div>
</div> </div>
<div class="box card mb-0"> <div class="md:box md:card mb-0 mt-6 md:mt-0">
<p> <div>
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf Ihrem Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf Ihrem
Energieausweis!<br /> Energieausweis!<br />
<strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong> <strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong>
</p> </div>
<ImageGrid <ImageGrid
max={4} max={4}
min={1} min={1}

View File

@@ -8,17 +8,16 @@
export let gebaeude: ObjektClient; export let gebaeude: ObjektClient;
</script> </script>
<div class="grid grid-cols-2 gap-x-6 mt-6"> <div class="grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6">
<div id="getWidth" class="box card mb-0"> <div class="md:box md:card mb-0">
<div class="font-bold mb-2">
<p class="font-bold mb-2">
<span class="text-red-500">WICHTIG:</span> <span class="text-red-500">WICHTIG:</span>
Bild Upload - Heizungsanlage bzw. des Wärmeerzeugers (1 bis 4 Bilder) Bild Upload - Heizungsanlage bzw. des Wärmeerzeugers (1 bis 4 Bilder)
</p> </div>
<p> <div>
Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in
Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude
zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür
@@ -26,31 +25,31 @@
Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur
Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem
Energieausweis. Energieausweis.
</p> </div>
<br /> <br />
<ol class=""> <ol>
<li>1.Bild : Heizungsraum mit Heizkessel bzw. Heizungsanlage*</li> <li>1.Bild : Heizungsraum mit Heizkessel bzw. Heizungsanlage*</li>
<li>2.Bild : <em>(wenn möglich, Warmwasserleitungen bzw. die Heizungsrohre)</em></li> <li>2.Bild : <em>(wenn möglich, Warmwasserleitungen bzw. die Heizungsrohre)</em></li>
<li>3.Bild : <em>(wenn möglich, Detailbild des Wärmeerzeugers bzw. Heizkessel)</em></li> <li>3.Bild : <em>(wenn möglich, Detailbild des Wärmeerzeugers bzw. Heizkessel)</em></li>
<li>4.Bild : <em>(wenn möglich, Bild des Typenschildes der Heizung)</em></li> <li>4.Bild : <em>(wenn möglich, Bild des Typenschildes der Heizung)</em></li>
</ol> </ol>
<br> <br>
<p>* erforderliches Bild</p> <div>* erforderliches Bild</div>
<br /> <br />
<p> <div>
Idealerweise sollte der Heizungsraum mit Heizkessel bzw. Idealerweise sollte der Heizungsraum mit Heizkessel bzw.
Heizungsanlage fotografiert werden. Die Warmwasserleitungen bzw. die Heizungsanlage fotografiert werden. Die Warmwasserleitungen bzw. die
Heizungsrohre sollten gut sichtbar sein und vorhandene bzw. nicht Heizungsrohre sollten gut sichtbar sein und vorhandene bzw. nicht
vorhandene Dämmung sollte erkennbar sein. vorhandene Dämmung sollte erkennbar sein.
</p> </div>
</div> </div>
<div class="box card mb-0"> <div class="md:box md:card mb-0 mt-6 md:mt-0">
<p> <div>
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf
Ihrem Energieausweis!<br /> Ihrem Energieausweis!<br />
<strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong> <strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong>
</p> </div>
<ImageGrid <ImageGrid
name={"heizung_image"} name={"heizung_image"}

View File

@@ -27,7 +27,7 @@
class="bereich-box grid class="bereich-box grid
grid-cols-1 gap-x-4 gap-y-2 grid-cols-1 gap-x-4 gap-y-2
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8 sm:grid-cols-1 sm:gap-x-6 sm:gap-y-1
md:grid-cols-2 md:gap-x-6 md:gap-y-8 md:grid-cols-2 md:gap-x-6 md:gap-y-8
xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8 xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8

View File

@@ -25,9 +25,9 @@
<div <div
id="sanierungszustand" id="sanierungszustand"
class="bereich-box grid class="bereich-box grid
grid-cols-1 gap-x-4 gap-y-2 grid-cols-1 gap-x-4 gap-y-1
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8 sm:grid-cols-1 sm:gap-x-6 sm:gap-y-1
md:grid-cols-2 md:gap-x-6 md:gap-y-8 md:grid-cols-2 md:gap-x-6 md:gap-y-8
xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8 xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8
@@ -122,104 +122,5 @@
<HeizungImage bind:images bind:ausweis bind:gebaeude={objekt} /> <HeizungImage bind:images bind:ausweis bind:gebaeude={objekt} />
<!--
<div class="GRB3">
<div class="form-group col-md-12">
<HelpLabel title="Wärmedämmung (bitte zutreffendes ankreuzen) *">
Wir benötigen diese Angaben um den allgemeinen Modernisierungsstand
einschätzen zu können. Bitte setzen Sie den Haken wenn zutreffend.
Das seit Mai 2021 gültige GEG erfordert eine genauere Prüfung anhand
von Fotos. Bitte laden Sie ein oder mehrere Fotos der Außenwand und
des Dachbereiches hoch.
</HelpLabel>
<hr />
</div>
<div class="grid grid-cols-4">
<div class="form-group col-md-3 mw1">
<label class="checkbox-inline"
><input
type="checkbox"
class="checkbox"
name="aussenwand_gedaemmt"
bind:checked={aufnahme.aussenwand_gedaemmt}
value="AWD"
/>Außenwand gedämmt</label
>
</div>
<div class="form-group col-md-3 mw1">
<label class="checkbox-inline"
><input
type="checkbox"
class="checkbox"
name="keller_wand_gedaemmt"
bind:checked={aufnahme.keller_wand_gedaemmt}
value="KWD"
/>Kelleraußenwand gedämmt</label
>
</div>
<div class="form-group col-md-3 mw1">
<label class="checkbox-inline"
><input
type="checkbox"
class="checkbox"
name="keller_decke_gedaemmt"
bind:checked={aufnahme.keller_decke_gedaemmt}
value="KDD"
/>Kellerdecke gedämmt</label
>
</div>
<div class="form-group col-md-3 mw1">
<label class="checkbox-inline"
><input
type="checkbox"
class="checkbox"
name="dachgeschoss_gedaemmt"
bind:checked={aufnahme.dachgeschoss_gedaemmt}
value="DGD"
/>Dachgeschoss gedämmt</label
>
</div>
<div class="form-group col-md-3 mw1">
<label class="checkbox-inline"
><input
type="checkbox"
class="checkbox"
name="oberste_geschossdecke_gedaemmt"
bind:checked={aufnahme.oberste_geschossdecke_gedaemmt}
value="OGDDW"
/>Oberste Geschossdecke gedämmt</label
>
</div>
<div class="form-group col-md-6 mw1">
<label class="checkbox-inline"
><input
type="checkbox"
class="checkbox"
name="oberste_geschossdecke_min_12cm_gedaemmt"
bind:checked={aufnahme.oberste_geschossdecke_min_12cm_gedaemmt}
value="OGDD"
/>Oberste Geschossdecke min. 12cm gedämmt</label
>
</div>
</div>
</div>
<hr />
<DaemmungImage bind:images bind:ausweis bind:gebaeude />
<hr />
<Label
>H - Hier können Sie ein Gebäudebild hochladen und sich Ihren Energieausweis
als PDF anschauen</Label
>
<AusweisPreviewContainer bind:images bind:ausweis bind:gebaeude />
-->
<style lang="postcss"> <style lang="postcss">
</style> </style>

View File

@@ -1,6 +1,5 @@
<script lang="ts"> <script lang="ts">
import DaemmungImage from "./DaemmungImage.svelte"; import DaemmungImage from "./DaemmungImage.svelte";
//import Label from "../Label.svelte"; //import Label from "../Label.svelte";
import { import {
@@ -26,8 +25,8 @@
id="sanierungszustand" id="sanierungszustand"
class="bereich-box grid class="bereich-box grid
grid-cols-1 gap-x-4 gap-y-2 grid-cols-1 gap-x-4 gap-y-2
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8 sm:grid-cols-1 sm:gap-x-6 sm:gap-y-1
md:grid-cols-2 md:gap-x-6 md:gap-y-8 md:grid-cols-2 md:gap-x-6 md:gap-y-8
xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8 xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8

View File

@@ -113,13 +113,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
" "
> >
<!-- primäre Heizquellen --> <!-- primäre Heizquellen -->
<div class="grid grid-cols-2 gap-x-4 order-2 md:order-2 xl:order-2"> <div class="grid grid-cols-1 md:grid-cols-2 gap-x-4 order-1 md:order-1 xl:order-1">
<div class="input-standard"> <div class="input-standard">
<Inputlabel title="Heizquellen"></Inputlabel> <Inputlabel title="Heizquellen"></Inputlabel>
<div class="input-checkboxen"> <div class="input-checkboxen">
<div <div
class="grid grid-cols-[40px_max-content] items-center justify-items-start" class="grid grid-cols-[25px_max-content] items-center justify-items-start"
> >
<input <input
id="primaere_heizquelle" id="primaere_heizquelle"
@@ -142,10 +142,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div> </div>
<div class="input-standard"> <div class="input-standard">
<Inputlabel title="Heizquellen"></Inputlabel>
<div class="input-checkboxen"> <div class="input-checkboxen">
<div <div
class="grid grid-cols-[40px_max-content] items-center justify-items-start" class="grid grid-cols-[25px_max-content] items-center justify-items-start"
> >
{#if !ausweis.zusaetzliche_heizquelle} {#if !ausweis.zusaetzliche_heizquelle}
<input <input

View File

@@ -26,7 +26,7 @@ $: {
<div class="input-row items-center gap-2"> <div class="input-row items-center gap-2">
<div class="grid grid-cols-[max-content_40px] gap-x-2 items-center justify-items-start"> <div class="grid grid-cols-[25px_max-content] items-center justify-items-start">
<input <input
id="warmwasser_enthalten" id="warmwasser_enthalten"
type="checkbox" type="checkbox"
@@ -38,7 +38,7 @@ $: {
<label for="warmwasser_enthalten" class="cursor-pointer">Ja</label> <label for="warmwasser_enthalten" class="cursor-pointer">Ja</label>
</div> </div>
<div class="grid grid-cols-[40px_max-content] items-center justify-items-start"> <div class="grid grid-cols-[25px_max-content] items-center justify-items-start">
<input <input
id="warmwasser_anteil_bekannt" id="warmwasser_anteil_bekannt"
type="checkbox" type="checkbox"

View File

@@ -8,6 +8,7 @@
export let src: string; export let src: string;
export let alt: string; export let alt: string;
export let empfehlung: string; export let empfehlung: string;
export let cta: string;
</script> </script>
@@ -35,7 +36,7 @@
<div class="sumCent buttoncols"> <div class="sumCent buttoncols">
<a <a
href="{href_buy}" href="{href_buy}"
class="buttoncol">jetzt&nbsp;online erstellen</a class="buttoncol">{cta}</a
> >
<a <a

View File

@@ -5,15 +5,15 @@
let collapse: HTMLDivElement; let collapse: HTMLDivElement;
</script> </script>
<div class="bereichs-label"> <div class="bereichs-label w-full">
<div>
<div <div
class="grid grid-cols-[max-content_1fr_40px] items-center justify-items-start gap-2" class="grid grid-cols-[max-content_1fr_max-content] items-center justify-items-start gap-2"
> >
<div class="formular-abschnitt1">{bereich}</div> <div class="formular-abschnitt1">{bereich}</div>
<div class="formular-abschnitt2">{title}</div> <div class="formular-abschnitt2">{title}</div>
<div <div
class="justify-self-center self-center cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm select-none" class="justify-self-end self-center cursor-pointer text-[1.25rem] ring-1 ring-secondary px-2 rounded-sm select-none"
on:click={() => { on:click={() => {
open = !open open = !open
}} }}
@@ -26,7 +26,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="collapseBereich" bind:this={collapse} class:max-h-0={!open} class:overflow-hidden={!open} class:max-h-[1500px]={open} class:overflow-visible={open}> <div class="collapseBereich" bind:this={collapse} class:max-h-0={!open} class:overflow-hidden={!open} class:max-h-[1800px]={open} class:overflow-visible={open}>
<slot></slot> <slot></slot>
</div> </div>

View File

@@ -12,7 +12,7 @@
collapse.style.overflow = "hidden"; collapse.style.overflow = "hidden";
} else { } else {
//y.classList.add('hidden'); //y.classList.add('hidden');
collapse.style.maxHeight = "1500px"; collapse.style.maxHeight = "1800px";
collapse.style.overflow = "visible"; collapse.style.overflow = "visible";
} }
@@ -23,13 +23,13 @@
<div class="bereichs-label" bind:this={label}> <div class="bereichs-label" bind:this={label}>
<div> <div>
<div <div
class="grid grid-cols-[max-content_1fr_40px] items-center justify-items-start gap-2" class="grid grid-cols-[max-content_1fr_max-content] items-center justify-items-start gap-2"
> >
<div class="formular-abschnitt1">{bereich}</div> <div class="formular-abschnitt1">{bereich}</div>
<div class="formular-abschnitt2"><slot></slot></div> <div class="formular-abschnitt2"><slot></slot></div>
<div <div
class="justify-self-center self-center mr-[2px] cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm select-none" class="justify-self-center self-center mr-[2px] cursor-pointer text-[2rem] ring-1 ring-secondary px-2 rounded-sm select-none"
on:click={toggleBereich} on:click={toggleBereich}
> >
{#if open} {#if open}

View File

@@ -4,7 +4,7 @@
</script> </script>
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 px-3 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">{title}</div> <div class="absolute border-x-[1px] border-t-[1px] border-black/25 px-2 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">{title}</div>

View File

@@ -210,6 +210,7 @@ threeBOX = ((ausnahme === true) && (gebaeudetyp === "Mischgebäude") && (twoBo
alt="Wohnhaus Verbrauchsausweis" alt="Wohnhaus Verbrauchsausweis"
variant="einfach" variant="einfach"
empfehlung="nein" empfehlung="nein"
cta="jetzt&nbsp;online erstellen"
services={[ services={[
["3&nbsp;Jahresverbräuche der Heizung benötigt.", true], ["3&nbsp;Jahresverbräuche der Heizung benötigt.", true],
["Zulässig bei Vermietung oder Verkauf.", true], ["Zulässig bei Vermietung oder Verkauf.", true],
@@ -235,6 +236,7 @@ threeBOX = ((ausnahme === true) && (gebaeudetyp === "Mischgebäude") && (twoBo
alt="Wohnhaus Bedarfsausweis" alt="Wohnhaus Bedarfsausweis"
variant="fundiert" variant="fundiert"
empfehlung="ja" empfehlung="ja"
cta="jetzt&nbsp;online erstellen"
services={[ services={[
["Erfassung der Gebäudegeometrie.", true], ["Erfassung der Gebäudegeometrie.", true],
["Für Vermietung, Verkauf und Finanzierung.", true], ["Für Vermietung, Verkauf und Finanzierung.", true],
@@ -259,14 +261,15 @@ threeBOX = ((ausnahme === true) && (gebaeudetyp === "Mischgebäude") && (twoBo
src="/images/immowelt/gewerbegebaeude_immowelt.svg" src="/images/immowelt/gewerbegebaeude_immowelt.svg"
alt="Gewerbe Verbrauchsausweis" alt="Gewerbe Verbrauchsausweis"
variant="einfach" variant="einfach"
empfehlung="nein" empfehlung="nein"
cta="jetzt&nbsp;online erstellen"
services={[ services={[
["3&nbsp;Jahresverbräuche von Heizung Gebäudestrom&nbsp;nötig.", true], ["3&nbsp;Jahresverbräuche von Heizung Gebäudestrom&nbsp;nötig.", true],
["Zulässig bei Vermietung oder Verkauf.", true], ["Zulässig bei Vermietung oder Verkauf.", true],
["Für bauliche und energetische Maßnahmen ungeeignet.", false], ["Für bauliche und energetische Maßnahmen ungeeignet.", false],
["Wird nicht immer bei den Banken akzeptiert.", false], ["Wird nicht immer bei den Banken akzeptiert.", false],
["xxx", false], ["Ungenau durch individuelles Heizverhalten", false],
]} ]}
href_buy="/energieausweis-erstellen/verbrauchsausweis-gewerbe/" href_buy="/energieausweis-erstellen/verbrauchsausweis-gewerbe/"
href_overview="/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht/" href_overview="/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht/"
@@ -287,13 +290,14 @@ threeBOX = ((ausnahme === true) && (gebaeudetyp === "Mischgebäude") && (twoBo
alt="Gewerbe Bedarfsausweis" alt="Gewerbe Bedarfsausweis"
variant="fundiert" variant="fundiert"
empfehlung="ja" empfehlung="ja"
cta="Angebot anfragen"
services={[ services={[
["Mehrzonenmodell nach DIN 18599.", true], ["Mehrzonenmodell nach DIN 18599.", true],
["Zulässig bei Vermietung oder Verkauf.", true], ["Zulässig bei Vermietung oder Verkauf.", true],
["Grundlage für Sanierung-Varianten.", true], ["Grundlage für Sanierung-Varianten.", true],
["Objektiveres, besser vergleichbares Ergebnis.", true], ["Objektiveres, besser vergleichbares Ergebnis.", true],
["xxx", false], ["Zulässig bei Leerstand oder fehlenden Verbräuchen", true],
]} ]}
href_buy="/energieausweis-erstellen/bedarfsausweis-gewerbe/" href_buy="/energieausweis-erstellen/bedarfsausweis-gewerbe/"
href_overview="/energieausweis-erstellen/bedarfsausweis-gewerbe/produkt-uebersicht/" href_overview="/energieausweis-erstellen/bedarfsausweis-gewerbe/produkt-uebersicht/"
@@ -308,18 +312,19 @@ threeBOX = ((ausnahme === true) && (gebaeudetyp === "Mischgebäude") && (twoBo
> >
<WidgetCardTemplate <WidgetCardTemplate
name="GEG-Nachweis Wohngebäude" name="GEG-Nachweis Wohngebäude"
price={PRICES.BedarfsausweisGewerbe[0]} price=500
src="/images/immowelt/gewerbegebaeude_immowelt.svg" src="/images/immowelt/wohngebaeude_immowelt.svg"
alt="Gewerbe Bedarfsausweis" alt="Gewerbe Bedarfsausweis"
variant="Bauvorlage" variant="Bauvorlage"
empfehlung="nein" empfehlung="ja"
cta="Angebot anfragen"
services={[ services={[
["xxx", true], ["Nachweis fürs Bauamt bei Neubau oder Modernisierung.", true],
["xxx", true], ["Beinhaltet die Effizienz der Bauteile und Anlagentechnik.", true],
["xxx", false], ["Erstellung des Energieausweises nach Abschluss inklusive.", true],
["xxx", false], ["Berechnung und Bilanzierung nach aktueller DIN 18599.", true],
["xxx", false], ["Zonierung und Erstellung eines 3D Gebäudemodells.", true],
]} ]}
href_buy="/energieausweis-erstellen/bedarfsausweis-gewerbe/" href_buy="/energieausweis-erstellen/bedarfsausweis-gewerbe/"
href_overview="/energieausweis-erstellen/bedarfsausweis-gewerbe/produkt-uebersicht/" href_overview="/energieausweis-erstellen/bedarfsausweis-gewerbe/produkt-uebersicht/"
@@ -336,18 +341,19 @@ threeBOX = ((ausnahme === true) && (gebaeudetyp === "Mischgebäude") && (twoBo
> >
<WidgetCardTemplate <WidgetCardTemplate
name="GEG-Nachweis Gewerbegebäude" name="GEG-Nachweis Gewerbegebäude"
price={PRICES.BedarfsausweisGewerbe[0]} price=800
src="/images/immowelt/gewerbegebaeude_immowelt.svg" src="/images/immowelt/gewerbegebaeude_immowelt.svg"
alt="Gewerbe Bedarfsausweis" alt="Gewerbe Bedarfsausweis"
variant="Bauvorlage" variant="Bauvorlage"
empfehlung="nein" empfehlung="ja"
cta="Angebot anfragen"
services={[ services={[
["xxx", true], ["Nachweis fürs Bauamt bei Neubau oder Modernisierung.", true],
["xxx", true], ["Beinhaltet die Effizienz der Bauteile und Anlagentechnik.", true],
["xxx", false], ["Erstellung des Energieausweises nach Abschluss inklusive.", true],
["xxx", false], ["Berechnung und Bilanzierung nach aktueller DIN 18599.", true],
["xxx", false], ["Mehrzonenmodell inkl. Erstellung eines 3D Gebäudemodells.", true],
]} ]}
href_buy="/energieausweis-erstellen/bedarfsausweis-gewerbe/" href_buy="/energieausweis-erstellen/bedarfsausweis-gewerbe/"
href_overview="/energieausweis-erstellen/bedarfsausweis-gewerbe/produkt-uebersicht/" href_overview="/energieausweis-erstellen/bedarfsausweis-gewerbe/produkt-uebersicht/"

View File

@@ -85,7 +85,7 @@ window.addEventListener("scroll", (event) => {
<!--<SidebarLeft />--> <!--<SidebarLeft />-->
<article class="box rounded-tl-none p-2 lg:p-12"> <article class="p-0 lg:p-2">
<slot /> <slot />
</article> </article>

View File

@@ -0,0 +1,29 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionAufwandszahlErzeugungHeizungFernwaermeT102(suchSpalte: number, datenZeile: number) {
const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [1.008, 1.009, 1.009, 1.009, 1.009, 1.009, 1.010, 1.010, 1.010, 1.010] },
{ SuchSpalte: [10], DatenSpalte: [1.005, 1.005, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006, 1.006] },
{ SuchSpalte: [20], DatenSpalte: [1.003, 1.003, 1.004, 1.004, 1.004, 1.004, 1.004, 1.004, 1.004, 1.004] },
{ SuchSpalte: [30], DatenSpalte: [1.003, 1.003, 1.003, 1.003, 1.003, 1.003, 1.003, 1.003, 1.003, 1.003] },
{ SuchSpalte: [40], DatenSpalte: [1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.003, 1.003] },
{ SuchSpalte: [50], DatenSpalte: [1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002] },
{ SuchSpalte: [60], DatenSpalte: [1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002] },
{ SuchSpalte: [70], DatenSpalte: [1.001, 1.001, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002] },
{ SuchSpalte: [80], DatenSpalte: [1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.002, 1.002, 1.002, 1.002] },
{ SuchSpalte: [90], DatenSpalte: [1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001] },
{ SuchSpalte: [100], DatenSpalte: [1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001] },
{ SuchSpalte: [200], DatenSpalte: [1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001] },
{ SuchSpalte: [300], DatenSpalte: [1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001] },
{ SuchSpalte: [400], DatenSpalte: [1.000, 1.000, 1.000, 1.000, 1.001, 1.001, 1.001, 1.001, 1.001, 1.001] }
];
const dataZeile = [ { DatenZeile: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] } ];
const AufwandszahlErzeugungHeizungFernwaerme = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return AufwandszahlErzeugungHeizungFernwaerme;
}

View File

@@ -1,6 +1,6 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js"; import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionAufwandszahlErzeugungHeizungHilfsenergieT83(suchSpalte: number, datenZeile: number) { export function funktionHilfsenergieErzeugungHeizungT83(suchSpalte: number, datenZeile: number) {
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [0.0208, 0.0267, 0.0325, 0.0418, 0.0510, 0.0603, 0.0696, 0.0789, 0.0882, 0.0974] }, { SuchSpalte: [5], DatenSpalte: [0.0208, 0.0267, 0.0325, 0.0418, 0.0510, 0.0603, 0.0696, 0.0789, 0.0882, 0.0974] },
@@ -28,8 +28,8 @@ const dataBox = [
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ];
const AufwandszahlErzeugungHeizungHilfsenergie = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const HilfsenergieErzeugungHeizung = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return AufwandszahlErzeugungHeizungHilfsenergie; return HilfsenergieErzeugungHeizung;
} }

View File

@@ -1,6 +1,6 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js"; import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionAufwandszahlErzeugungPelletKesselHilfsenergieT85(suchSpalte: number, datenZeile: number) { export function funktionHilfsenergieErzeugungPelletKesselT85(suchSpalte: number, datenZeile: number) {
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [0.0070, 0.0080, 0.0090, 0.0149, 0.0207, 0.0266, 0.0324, 0.0383, 0.0441, 0.0500] }, { SuchSpalte: [5], DatenSpalte: [0.0070, 0.0080, 0.0090, 0.0149, 0.0207, 0.0266, 0.0324, 0.0383, 0.0441, 0.0500] },
@@ -28,8 +28,8 @@ const dataBox = [
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ]; const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ];
const AufwandszahlErzeugungPelletKesselHilfsenergie = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const HilfsenergieErzeugungPelletKessel = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return AufwandszahlErzeugungPelletKesselHilfsenergie; return HilfsenergieErzeugungPelletKessel;
} }

View File

@@ -0,0 +1,18 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionHilfsenergieErzeugungUmlaufWasserheizerT88(suchSpalte: number, datenZeile: number) {
const dataBox = [
{ SuchSpalte: [11], DatenSpalte: [0.0258, 0.0366, 0.0474, 0.0610, 0.0745, 0.0881, 0.1016, 0.1152, 0.1287, 0.1423] },
{ SuchSpalte: [18], DatenSpalte: [0.0300, 0.0450, 0.0601, 0.0772, 0.0944, 0.1115, 0.1287, 0.1459, 0.1630, 0.1802] },
{ SuchSpalte: [24], DatenSpalte: [0.0330, 0.0510, 0.0690, 0.0887, 0.1084, 0.1281, 0.1478, 0.1675, 0.1872, 0.2069] }
];
const dataZeile = [ { DatenZeile: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] } ];
const HilfsenergieErzeugungUmlaufWasserheizer = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return HilfsenergieErzeugungUmlaufWasserheizer;
}

View File

@@ -1,6 +1,6 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js"; import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionKorrekturfaktorErzeugungHolzhackSchnitzelHilfsenergieT86(suchSpalte: number, datenZeile: number) { export function funktionKorrekturfaktorHilfsenergieErzeugungHolzhackSchnitzelT86(suchSpalte: number, datenZeile: number) {
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [2.9, 3.1, 3.3, 2.3, 1.8, 1.5, 1.4, 1.3, 1.2, 1.1] }, { SuchSpalte: [5], DatenSpalte: [2.9, 3.1, 3.3, 2.3, 1.8, 1.5, 1.4, 1.3, 1.2, 1.1] },
@@ -14,8 +14,8 @@ const dataBox = [
const dataZeile = [ { DatenZeile: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] } ]; const dataZeile = [ { DatenZeile: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] } ];
const KorrekturfaktorErzeugungHolzhackSchnitzelHilfsenergie = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const KorrekturfaktorHilfsenergieErzeugungHolzhackSchnitzel = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return KorrekturfaktorErzeugungHolzhackSchnitzelHilfsenergie; return KorrekturfaktorHilfsenergieErzeugungHolzhackSchnitzel;
} }

View File

@@ -1,6 +1,6 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js"; import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionKorrekturfaktorErzeugungGasSpezialHeizkesselHilfsenergieT84(suchSpalte: number, datenZeile: number) { export function funktionKorrekturfaktorHilfsenergieErzeugungGasSpezialHeizkesselT84(suchSpalte: number, datenZeile: number) {
const dataBox = [ const dataBox = [
{ SuchSpalte: [5], DatenSpalte: [0.808, 0.700, 0.631, 0.564, 0.521, 0.491, 0.469, 0.452, 0.439, 0.428] }, { SuchSpalte: [5], DatenSpalte: [0.808, 0.700, 0.631, 0.564, 0.521, 0.491, 0.469, 0.452, 0.439, 0.428] },
@@ -15,8 +15,8 @@ export function funktionKorrekturfaktorErzeugungGasSpezialHeizkesselHilfsenergie
const dataZeile = [ { DatenZeile: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] } ]; const dataZeile = [ { DatenZeile: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] } ];
const KorrekturfaktorErzeugungGasSpezialHeizkesselHilfsenergie = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox); const KorrekturfaktorHilfsenergieErzeugungGasSpezialHeizkessel = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return KorrekturfaktorErzeugungGasSpezialHeizkesselHilfsenergie; return KorrekturfaktorHilfsenergieErzeugungGasSpezialHeizkessel;
} }

View File

@@ -0,0 +1,22 @@
import { funktionDoppelteInterpolation } from "#lib/Berechnungen/BedarfsausweisWohnen/funktionDoppelteInterpolation.js";
export function funktionKorrekturfaktorTemperaturDifferenzWaermePumpeT90(suchSpalte: number, datenZeile: number) {
const dataBox = [
{ SuchSpalte: [3], DatenSpalte: [1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898, 0.887, 0.877] },
{ SuchSpalte: [4], DatenSpalte: [1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898, 0.887] },
{ SuchSpalte: [5], DatenSpalte: [1.020, 1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908, 0.898] },
{ SuchSpalte: [6], DatenSpalte: [1.031, 1.020, 1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918, 0.908] },
{ SuchSpalte: [7], DatenSpalte: [1.041, 1.031, 1.020, 1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928, 0.918] },
{ SuchSpalte: [8], DatenSpalte: [1.051, 1.041, 1.031, 1.020, 1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939, 0.928] },
{ SuchSpalte: [9], DatenSpalte: [1.061, 1.051, 1.041, 1.031, 1.020, 1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949, 0.939] },
{ SuchSpalte: [10], DatenSpalte: [1.072, 1.061, 1.051, 1.041, 1.031, 1.020, 1.010, 1.000, 0.990, 0.980, 0.969, 0.959, 0.949] }
];
const dataZeile = [ { DatenZeile: [3,4,5,6,7,8,9,10,11,12,13,14,15] } ];
const KorrekturfaktorTemperaturDifferenzWaermePumpe = funktionDoppelteInterpolation(suchSpalte, datenZeile, dataZeile, dataBox);
return KorrekturfaktorTemperaturDifferenzWaermePumpe;
}

View File

@@ -25,10 +25,10 @@ export enum VALID_UUID_PREFIXES {
*/ */
export const PRICES: Record<Enums.Ausweisart, [number, number, number]> = { export const PRICES: Record<Enums.Ausweisart, [number, number, number]> = {
// per E-Mail , inkl.Beratung, offline // per E-Mail , inkl.Beratung, offline
BedarfsausweisWohnen: [135, 145, 290], BedarfsausweisWohnen: [95, 125, 295],
VerbrauchsausweisWohnen: [65, 75, 180], VerbrauchsausweisWohnen: [65, 95, 180],
VerbrauchsausweisGewerbe: [95, 115, 360], VerbrauchsausweisGewerbe: [95, 125, 360],
BedarfsausweisGewerbe: [400, 600, 900], BedarfsausweisGewerbe: [500, 700, 1000],
}; };
export const SERVICES: Record< export const SERVICES: Record<

View File

@@ -62,13 +62,13 @@ input[type="number"],
input[type="password"], input[type="password"],
input[type="file"], input[type="file"],
select{ select{
@apply min-h-[38px] ring-1 ring-black/15 rounded-sm} @apply p-1 min-h-[38px] ring-1 ring-black/15 rounded-sm}
input[type="file"]{@apply pt-[4px]} input[type="file"]{@apply pt-[4px]}
input[type="checkbox"],input[type="radio"]{@apply inline-block accent-secondary h-[13px]} input[type="checkbox"],input[type="radio"]{@apply inline-block accent-secondary h-[13px]}
input:disabled, input:read-only, select:disabled { input:disabled, input:read-only {
@apply bg-gray-200 border-gray-500/15; @apply bg-gray-200 border-gray-500/15;
} }