Ausweis Verbrauchsausweis Gewerbe + Skala + Berechnung

This commit is contained in:
Moritz Utcke
2025-02-10 16:20:55 +07:00
parent 18ad4aa855
commit c7b1bc7958
14 changed files with 789 additions and 14 deletions

View File

@@ -1,11 +1,13 @@
<script lang="ts">
import { Buffer } from "buffer";
import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./Ausweis/types.js";
import { Enums } from "@ibcornelsen/database/client";
export let ausweis: VerbrauchsausweisWohnenClient;
export let objekt: ObjektClient;
export let aufnahme: AufnahmeClient;
export let bilder: UploadedGebaeudeBild[];
export let ausweisart: Enums.Ausweisart
function openWindowWithPost(url: string, data: Record<string, any>) {
var form = document.createElement("form");
@@ -32,7 +34,8 @@
ausweis: JSON.stringify(ausweis),
aufnahme: JSON.stringify(aufnahme),
objekt: JSON.stringify(objekt),
bilder: JSON.stringify(bilder)
bilder: JSON.stringify(bilder),
ausweisart
})
}}>
<img src="/images/ausweis.webp" alt="Ausweis" />

View File

@@ -21,6 +21,7 @@
export let aufnahme: AufnahmeClient;
export let objekt: ObjektClient;
export let images: UploadedGebaeudeBild[] = [];
export let ausweisart: Enums.Ausweisart;
</script>
<div class="grid grid-cols-2 gap-x-6 mt-6">
@@ -60,8 +61,8 @@
</div>
<div class="flex flex-row gap-4 mt-4">
<AnsichtsausweisButton {ausweis} {aufnahme} {objekt} bilder={images} />
<DatenblattButton {ausweis} {aufnahme} {objekt} bilder={images} />
<AnsichtsausweisButton {ausweis} {aufnahme} {objekt} bilder={images} {ausweisart} />
<DatenblattButton {ausweis} {aufnahme} {objekt} bilder={images} {ausweisart} />
</div>

View File

@@ -9,12 +9,20 @@
VerbrauchsausweisWohnenClient,
} from "./types.js";
import ThickArrowUp from "radix-svelte-icons/src/lib/icons/ThickArrowUp.svelte";
import { Enums } from "@ibcornelsen/database/client";
import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016 } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.js";
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient;
export let aufnahme: AufnahmeClient;
export let objekt: ObjektClient;
export let ausweisart: Enums.Ausweisart;
let maxPerformance = 250;
let maxPerformance = {
[Enums.Ausweisart.VerbrauchsausweisGewerbe]: 1000,
[Enums.Ausweisart.VerbrauchsausweisWohnen]: 250,
[Enums.Ausweisart.BedarfsausweisWohnen]: 250,
[Enums.Ausweisart.BedarfsausweisGewerbe]: 250
}[ausweisart];
/**
* We use linear interpolation to scale the value between the given boundaries.
@@ -54,7 +62,12 @@
let translation_2 = 0;
$: {
(async () => {
const result = await endEnergieVerbrauchVerbrauchsausweis_2016(ausweis, aufnahme, objekt);
let result;
if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) {
result = await endEnergieVerbrauchVerbrauchsausweis_2016(ausweis, aufnahme, objekt);
} else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) {
result = await endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis, aufnahme, objekt);
}
if (!result) {
return;
@@ -71,7 +84,11 @@
}
</script>
<div class="self-center relative">
<img id="skalaImage" class="w-full" src="/images/formular/SKALA-910.png" alt="Energieeffizienz Skala" />
{#if ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen}
<img id="skalaImage" class="w-full" src="/images/formular/skala-verbrauchsausweis-wohnen.png" alt="Energieeffizienz Skala" />
{:else if ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe}
<img id="skalaImage" class="w-full" src="/images/formular/skala-verbrauchsausweis-gewerbe.png" alt="Energieeffizienz Skala" />
{/if}
<ThickArrowDown
size={28}
class="fill-base-content absolute top-0 transition-left duration-1000 ease-in-out"