Automatische Tests und Passwort Vergessen

This commit is contained in:
Moritz Utcke
2025-02-04 10:00:18 +07:00
parent 22cbe52935
commit 9d5867839b
50 changed files with 785 additions and 405 deletions

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
import ProgressBar from "#components/Ausweis/Progressbar.svelte";
import Bereich from "#labels/Bereich.svelte";
import Bereich from "#components/labels/Bereich.svelte";
import Ansprechpartner from "#components/Ausweis/Ansprechpartner.svelte";
import Rechnungsadresse from "#components/Ausweis/Rechnungsadresse.svelte";
import Bezahlung from "#components/Ausweis/Bezahlung.svelte";
@@ -14,12 +14,13 @@
import LoginDialog from "#components/LoginDialog.svelte";
import { PRICES } from "#lib/constants.js";
import {
AufnahmeClient,
AufnahmeClient,
BenutzerClient,
ObjektClient,
VerbrauchsausweisWohnenClient,
} from "#components/Ausweis/types.js";
import { validateAccessTokenClient } from "src/client/lib/validateAccessToken.js";
import ButtonZurueckSpeichernKaufabschluss from "#components/Ausweis/ButtonZurueckSpeichernKaufabschluss.svelte";
export let user: BenutzerClient;
export let ausweis: VerbrauchsausweisWohnenClient;
@@ -94,300 +95,277 @@
}
</script>
<div id="skala" class="bg-white grid grid-cols-1 gap-x-8 gap-y-4 p-4
<div
id="skala"
class="bg-white grid grid-cols-1 gap-x-8 gap-y-4 p-4
2xl:grid-cols-2 2xl:gap-x-8
">
<div id="performance-box" class="w-full box relative px-4 order-2 2xl:order-1 self-stretch grid grid-cols-1">
<PerformanceScore
bind:ausweis
bind:aufnahme
bind:objekt
/>
</div>
<div id="progress-box" class="w-full box relative px-4 py-3 text-center order-1 2xl:order-2 self-stretch">
<h1 class="text-secondary text-3xl m-0">Energiesausweis erstellen</h1>
<h2 class="text-primary text-xl">Verbrauchsausweis Wohnen {PRICES.VerbrauchsausweisWohnen[0]}</h2>
<ProgressBar progress={50}
/>
</div>
"
>
<div
id="performance-box"
class="w-full box relative px-4 order-2 2xl:order-1 self-stretch grid grid-cols-1"
>
<PerformanceScore bind:ausweis bind:aufnahme bind:objekt />
</div>
<div
id="progress-box"
class="w-full box relative px-4 py-3 text-center order-1 2xl:order-2 self-stretch"
>
<h1 class="text-secondary text-3xl m-0">Energiesausweis erstellen</h1>
<h2 class="text-primary text-xl">
Verbrauchsausweis Wohnen {PRICES.VerbrauchsausweisWohnen[0]}
</h2>
<ProgressBar progress={50} />
</div>
</div>
<form id="formInput-2" on:submit={speichern}>
<div id="formular-box" class="formular-boxen ring-0">
<Bereich
bind:user
bereich="1"
title="Eingabe des Ansprechpartners -> {user.email}"
>
<Ansprechpartner
bind:user
/></Bereich
>
<Ansprechpartner bind:user /></Bereich
>
<Bereich
bind:user
bereich="2"
title="Rechnungsadresse"
>
<Rechnungsadresse
bind:user
/></Bereich
<Bereich bereich="2" title="Rechnungsadresse">
<Rechnungsadresse bind:user /></Bereich
>
<Bereich
bind:selectedPaymentType
bereich="3"
title="Bezahlmethode"
>
<Bezahlung
bind:selectedPaymentType
/></Bereich
<Bereich bereich="3" title="Bezahlmethode">
<Bezahlung bind:selectedPaymentType /></Bereich
>
<div class="grid grid-cols-2 gap-x-6 my-6">
<div class="zusaetze bereich-box bg-white">
<h3>Zusatzleistungen:</h3>
<div class="grid grid-cols-2 gap-x-6 my-6">
<div class="zusaetze bereich-box bg-white ">
<h3>Zusatzleistungen:</h3>
{#each services as service}
{#each services as service}
<div class="zusatz">
<input
type="checkbox"
bind:checked={service.selected}
/>
<div class="text-right pr-6"><b>{@html service.price}</b> inkl. Mwst</div>
<div>{@html service.name}</div>
<input
type="checkbox"
bind:checked={service.selected}
/>
<div class="text-right pr-6">
<b>{@html service.price}</b> inkl. Mwst
</div>
<div>{@html service.name}</div>
</div>
{/each}
</div>
<div class=" bereich-box bg-white ring-primary/50 ring-2" >
<h3>Kosten:</h3>
<div class="ProduktKostenTabelle">
<div class="zeile betrag">
<div>Netto-Preis Energieausweis</div><div>:</div><div class="text-right"><b>{(price * 0.81).toFixed(2) + " €"}</b></div>
{/each}
</div>
<div class="zeile betrag">
<div>Zusatzleistung (Prüfung Mehraufwand)
</div><div>:</div><div class="text-right"><b>0.00 €</b></div>
</div>
<div class="zeile betrag">
<div>19% gesetzl. MwSt.
</div><div>:</div><div class="text-right"><b>{(price * 0.19).toFixed(2) + " €"}</b></div>
</div>
<div class="zeile betrag mt-4">
<div><b>Preis inkl. MwSt.</b>
</div><div>:</div><div class="text-right"><b>{price.toFixed(2) + " €"}</b></div>
</div>
<div class="zeile betrag mt-4 items-center">
<div><b>Bezahlmethode</b>
</div><div>:</div><div class="justify-self-end">
<img src="images/{selectedPaymentType}.png" alt="{selectedPaymentType}" />
<div class=" bereich-box bg-white ring-primary/50 ring-2">
<h3>Kosten:</h3>
<div class="ProduktKostenTabelle">
<div class="zeile betrag">
<div>Netto-Preis Energieausweis</div>
<div>:</div>
<div class="text-right">
<b>{(price * 0.81).toFixed(2) + " €"}</b>
</div>
</div>
<div class="zeile betrag">
<div>Zusatzleistung (Prüfung Mehraufwand)</div>
<div>:</div>
<div class="text-right"><b>0.00 €</b></div>
</div>
<div class="zeile betrag">
<div>19% gesetzl. MwSt.</div>
<div>:</div>
<div class="text-right">
<b>{(price * 0.19).toFixed(2) + " €"}</b>
</div>
</div>
<div class="zeile betrag mt-4">
<div><b>Preis inkl. MwSt.</b></div>
<div>:</div>
<div class="text-right">
<b>{price.toFixed(2) + " €"}</b>
</div>
</div>
<div class="zeile betrag mt-4 items-center">
<div><b>Bezahlmethode</b></div>
<div>:</div>
<div class="justify-self-end">
<img
src="images/{selectedPaymentType}.png"
alt={selectedPaymentType}
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<ButtonZurueckSpeichernKaufabschluss />
<ButtonZurueckSpeichernKaufabschluss />
<div class="bereich-box pr-12 mt-6">
<Pruefung
bereich="A"
title="Prüfung der Ausweisart"
bullets={[
["Vermietung, Verkauf oder sonstiges.", false],
["Baujahr Heizung nicht kleiner als Baujahr Gebäude.", false],
["Baujahr nach 1977 oder saniert oder mehr als 4 Wohneinheiten", false],
["Heizung min. 3 Jahre alt.", false],
["Verbrauchsausweis zulässig.", false]
]}>
</Pruefung>
<div class="bereich-box pr-12 mt-6">
<Pruefung
bereich="A"
title="Prüfung der Ausweisart"
bullets={[
["Vermietung, Verkauf oder sonstiges.", false],
[
"Baujahr Heizung nicht kleiner als Baujahr Gebäude.",
false,
],
[
"Baujahr nach 1977 oder saniert oder mehr als 4 Wohneinheiten",
false,
],
["Heizung min. 3 Jahre alt.", false],
["Verbrauchsausweis zulässig.", false],
]}
></Pruefung>
<Pruefung
<Pruefung
bereich="B"
title="Prüfung der Adresse, Wohnfläche, Keller und Dach"
bullets={[
["PLZ gültig.", false],
["Klimafaktorern.", false],
["Wohnfläche passt zu Wohneinheiten", false]
]}>
</Pruefung>
["Wohnfläche passt zu Wohneinheiten", false],
]}
></Pruefung>
<Pruefung
<Pruefung
bereich="C"
title="Prüfung der Verbrauchsangaben"
bullets={[
["Verbrauchsmenge schlüssig.", false],
["Verbrauchsabweichung im Rahmen.", false],
["Endenergieverbrauch schlüssig", false]
]}>
</Pruefung>
<Pruefung
["Endenergieverbrauch schlüssig", false],
]}
></Pruefung>
<Pruefung
bereich="D"
title="Prüfung Warmwasser und alternative Energieversorgung"
bullets={[
["Warmwasseranteil schlüssig.", false],
["Verbrauchsabweichung im Rahmen.", false],
["Endenergieverbrauch schlüssig", false]
]}>
</Pruefung>
["Endenergieverbrauch schlüssig", false],
]}
></Pruefung>
<Pruefung
<Pruefung
bereich="E"
title="Prüfung von Gebäudetyp, Lüftung, Kühlung und Leerstand"
bullets={[
["Leerstand nicht größer als 30%.", false]
]}>
</Pruefung>
bullets={[["Leerstand nicht größer als 30%.", false]]}
></Pruefung>
<Pruefung
<Pruefung
bereich="F"
title="Prüfung des Sanierungsstandes und der Gebäudebilder"
bullets={[
["Mindestens ein Bild pro Abschnitt vorhanden.", false],
["Angaben zum Sanierungsstand vorhanden.", false],
["Bei Baujahr vor 1978 Dach oder Geschossdecke min. 12 cm gedämmt.", false]
]}>
</Pruefung>
[
"Bei Baujahr vor 1978 Dach oder Geschossdecke min. 12 cm gedämmt.",
false,
],
]}
></Pruefung>
</div>
</div>
<div class="varianten bereich-box bg-white">
<h3>Hiermit bestelle ich folgende Version des Energieausweises:</h3>
<div class="variante">
<input
type="radio"
bind:group={basePrice}
value={prices[0]}
name="Preis"
checked
/>
<div class="text-right pr-4"><b>{prices[0]}</b> inkl. MwSt.</div>
<div>Verbrauchsausweis online als PDF per E-Mail</div>
</div>
<div class="variante">
<input
type="radio"
bind:group={basePrice}
value={prices[1]}
name="Preis"
/>
<div class="text-right pr-4"><b>{prices[1]}</b> inkl. MwSt.</div>
<div>
Verbrauchsausweis online inkl. Beratung als PDF per E-Mail
</div>
</div>
<div class="varianten bereich-box bg-white">
<h3>Hiermit bestelle ich folgende Version des Energieausweises:</h3>
<div class="variante">
<input
type="radio"
bind:group={basePrice}
value={prices[0]}
name="Preis"
checked
/>
<div class="text-right pr-4"><b>{prices[0]}</b> inkl. MwSt.</div>
<div>Verbrauchsausweis online als PDF per E-Mail</div>
</div>
<div class="variante">
<input
type="radio"
bind:group={basePrice}
value={prices[1]}
name="Preis"
/>
<div class="text-right pr-4"><b>{prices[1]}</b> inkl. MwSt.</div>
<div>Verbrauchsausweis online inkl. Beratung als PDF per E-Mail</div>
</div>
<div class="variante">
<input
type="radio"
bind:group={basePrice}
value={prices[2]}
name="Preis"
/>
<div class="text-right pr-4"><b>{prices[2]}</b> inkl. MwSt.</div>
<div>Verbrauchsausweis offline als PDF per E-Mail (Sie schicken uns 3 Verbrauchsabrechnungen)</div>
</div>
</div>
<div class="zusaetze bereich-box bg-white">
<h3>Zusatzleistungen</h3>
{#each services as service}
<div class="zusatz">
<input
type="checkbox"
bind:checked={service.selected}
/>
<div class="text-right pr-6"><b>{@html service.price}</b> inkl. Mwst</div>
<div>{@html service.name}</div>
</div>
{/each}
<div class="variante">
<input
type="radio"
bind:group={basePrice}
value={prices[2]}
name="Preis"
/>
<div class="text-right pr-4"><b>{prices[2]}</b> inkl. MwSt.</div>
<div>
Verbrauchsausweis offline als PDF per E-Mail (Sie schicken uns 3
Verbrauchsabrechnungen)
</div>
</div>
</div>
</div>
</div>
<!-- <ButtonZurueckSpeichernKaufabschluss bind:ausweis bind:aufnahme bind:objekt bind:bilder bind:user /> -->
<div class="zusaetze bereich-box bg-white">
<h3>Zusatzleistungen</h3>
{#each services as service}
<div class="zusatz">
<input type="checkbox" bind:checked={service.selected} />
<div class="text-right pr-6">
<b>{@html service.price}</b> inkl. Mwst
</div>
<div>{@html service.name}</div>
</div>
{/each}
</div>
<!-- <ButtonZurueckSpeichernKaufabschluss bind:ausweis bind:aufnahme bind:objekt bind:bilder bind:user /> -->
</form>
<style lang="postcss">
h3{@apply text-[1.25rem] ml-0 font-bold mb-6}
.ProduktKostenTabelle{@apply block;
.zeile{@apply grid grid-cols-[19rem_1rem_5rem_1fr];}
.betrag{@apply font-bold text-[1.15rem]}
h3 {
@apply text-[1.25rem] ml-0 font-bold mb-6;
}
.varianten{@apply block;
.variante{@apply grid grid-cols-[40px_8rem_1fr] items-start pb-4;
input{@apply mt-[5px]
.ProduktKostenTabelle {
@apply block;
.zeile {
@apply grid grid-cols-[19rem_1rem_5rem_1fr];
}
.betrag {
@apply font-bold text-[1.15rem];
}
}
}
.zusaetze{@apply block;
.zusatz{@apply grid grid-cols-[40px_8rem_1fr] items-start pb-3;
input{@apply mt-[4px]
.varianten {
@apply block;
.variante {
@apply grid grid-cols-[40px_8rem_1fr] items-start pb-4;
input {
@apply mt-[5px];
}
}
}
.zusaetze {
@apply block;
.zusatz {
@apply grid grid-cols-[40px_8rem_1fr] items-start pb-3;
input {
@apply mt-[4px];
}
}
}
}
</style>