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;
</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">
@@ -65,8 +65,6 @@
<DatenblattButton {ausweis} {aufnahme} {objekt} bilder={images} {ausweisart} />
</div>
</div>
</div>

View File

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

View File

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

View File

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

View File

@@ -27,7 +27,7 @@
class="bereich-box grid
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
xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8

View File

@@ -25,9 +25,9 @@
<div
id="sanierungszustand"
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
xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8
@@ -122,104 +122,5 @@
<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>

View File

@@ -1,6 +1,5 @@
<script lang="ts">
import DaemmungImage from "./DaemmungImage.svelte";
//import Label from "../Label.svelte";
import {
@@ -26,8 +25,8 @@
id="sanierungszustand"
class="bereich-box grid
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
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 -->
<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">
<Inputlabel title="Heizquellen"></Inputlabel>
<div class="input-checkboxen">
<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
id="primaere_heizquelle"
@@ -142,10 +142,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div>
<div class="input-standard">
<Inputlabel title="Heizquellen"></Inputlabel>
<div class="input-checkboxen">
<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}
<input

View File

@@ -26,7 +26,7 @@ $: {
<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
id="warmwasser_enthalten"
type="checkbox"
@@ -38,7 +38,7 @@ $: {
<label for="warmwasser_enthalten" class="cursor-pointer">Ja</label>
</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
id="warmwasser_anteil_bekannt"
type="checkbox"

View File

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

View File

@@ -5,15 +5,15 @@
let collapse: HTMLDivElement;
</script>
<div class="bereichs-label">
<div>
<div class="bereichs-label w-full">
<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-abschnitt2">{title}</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={() => {
open = !open
}}
@@ -26,7 +26,7 @@
</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>
</div>

View File

@@ -12,7 +12,7 @@
collapse.style.overflow = "hidden";
} else {
//y.classList.add('hidden');
collapse.style.maxHeight = "1500px";
collapse.style.maxHeight = "1800px";
collapse.style.overflow = "visible";
}
@@ -23,13 +23,13 @@
<div class="bereichs-label" bind:this={label}>
<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-abschnitt2"><slot></slot></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}
>
{#if open}

View File

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

View File

@@ -85,7 +85,7 @@ window.addEventListener("scroll", (event) => {
<!--<SidebarLeft />-->
<article class="box rounded-tl-none p-2 lg:p-12">
<article class="p-0 lg:p-2">
<slot />
</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";
export function funktionAufwandszahlErzeugungHeizungHilfsenergieT83(suchSpalte: number, datenZeile: number) {
export function funktionHilfsenergieErzeugungHeizungT83(suchSpalte: number, datenZeile: number) {
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] },
@@ -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 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";
export function funktionAufwandszahlErzeugungPelletKesselHilfsenergieT85(suchSpalte: number, datenZeile: number) {
export function funktionHilfsenergieErzeugungPelletKesselT85(suchSpalte: number, datenZeile: number) {
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] },
@@ -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 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";
export function funktionKorrekturfaktorErzeugungHolzhackSchnitzelHilfsenergieT86(suchSpalte: number, datenZeile: number) {
export function funktionKorrekturfaktorHilfsenergieErzeugungHolzhackSchnitzelT86(suchSpalte: number, datenZeile: number) {
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] },
@@ -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 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";
export function funktionKorrekturfaktorErzeugungGasSpezialHeizkesselHilfsenergieT84(suchSpalte: number, datenZeile: number) {
export function funktionKorrekturfaktorHilfsenergieErzeugungGasSpezialHeizkesselT84(suchSpalte: number, datenZeile: number) {
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] },
@@ -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 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]> = {
// per E-Mail , inkl.Beratung, offline
BedarfsausweisWohnen: [135, 145, 290],
VerbrauchsausweisWohnen: [65, 75, 180],
VerbrauchsausweisGewerbe: [95, 115, 360],
BedarfsausweisGewerbe: [400, 600, 900],
BedarfsausweisWohnen: [95, 125, 295],
VerbrauchsausweisWohnen: [65, 95, 180],
VerbrauchsausweisGewerbe: [95, 125, 360],
BedarfsausweisGewerbe: [500, 700, 1000],
};
export const SERVICES: Record<

View File

@@ -62,13 +62,13 @@ input[type="number"],
input[type="password"],
input[type="file"],
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="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;
}