GEG Nachweis
This commit is contained in:
@@ -10,14 +10,16 @@
|
||||
|
||||
<h1 class="text-4xl font-medium mb-8">{objekt.adresse}</h1>
|
||||
|
||||
<Carousel perPage={1}>
|
||||
{#each objekt.bilder as bild, i (i)}
|
||||
<img src="/bilder/{bild.uid}.webp" alt={bild.kategorie} class="max-h-[60vh] h-full w-full object-contain">
|
||||
{/each}
|
||||
|
||||
<span slot="left-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronLeft size={24}></ChevronLeft></span>
|
||||
<span slot="right-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronRight size={24}></ChevronRight></span>
|
||||
</Carousel>
|
||||
<div class="bg-white rounded-lg">
|
||||
<Carousel perPage={1}>
|
||||
{#each objekt.bilder as bild, i (i)}
|
||||
<img src="/bilder/{bild.uid}.webp" alt={bild.kategorie} class="max-h-[60vh] h-full w-full object-contain">
|
||||
{/each}
|
||||
|
||||
<span slot="left-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronLeft size={24}></ChevronLeft></span>
|
||||
<span slot="right-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronRight size={24}></ChevronRight></span>
|
||||
</Carousel>
|
||||
</div>
|
||||
|
||||
<div class="my-8 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
|
||||
{#each objekt.aufnahmen as aufnahme}
|
||||
|
||||
@@ -71,11 +71,7 @@
|
||||
export let bezahlmethode: Bezahlmethoden =
|
||||
Enums.Bezahlmethoden.paypal;
|
||||
|
||||
let prices: number[] = [];
|
||||
|
||||
if (aufnahme.ausweisart) {
|
||||
prices = PRICES[aufnahme.ausweisart];
|
||||
}
|
||||
let prices = PRICES[ausweisart];
|
||||
|
||||
let basePrice: number = prices[0];
|
||||
|
||||
@@ -91,6 +87,7 @@
|
||||
[Enums.Ausweisart.VerbrauchsausweisGewerbe]: `/energieausweis-erstellen/verbrauchsausweis-gewerbe?uid=${ausweis.uid}`,
|
||||
[Enums.Ausweisart.BedarfsausweisWohnen]: `/energieausweis-erstellen/bedarfsausweis-wohnen?uid=${ausweis.uid}`,
|
||||
[Enums.Ausweisart.BedarfsausweisGewerbe]: `/energieausweis-erstellen/bedarfsausweis-gewerbe?uid=${ausweis.uid}`,
|
||||
[Enums.Ausweisart.GEGNachweisWohnen]: `/angebot-anfragen/geg-nachweis-wohnen-anfragen?uid=${ausweis.uid}`,
|
||||
}[ausweisart]
|
||||
|
||||
async function speichern(e: SubmitEvent) {
|
||||
@@ -169,6 +166,7 @@
|
||||
bestellenNichtMoeglich = true
|
||||
}
|
||||
|
||||
const gegAnfrage = (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) || (ausweisart === Enums.Ausweisart.GEGNachweisBedarfsausweis) || (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe)
|
||||
</script>
|
||||
|
||||
<div
|
||||
@@ -178,7 +176,7 @@
|
||||
2xl:grid-cols-2 2xl:gap-x-8
|
||||
"
|
||||
>
|
||||
{#if !ausweis.geg_anfrage}
|
||||
{#if !gegAnfrage}
|
||||
<div id="performance-box" class="w-full box relative px-4 order-1 self-stretch grid grid-cols-1">
|
||||
<PerformanceScore
|
||||
bind:ausweis
|
||||
@@ -195,9 +193,9 @@
|
||||
>
|
||||
<h1 class="text-secondary text-3xl m-0">Energiesausweis erstellen</h1>
|
||||
<h2 class="text-primary text-xl">
|
||||
Verbrauchsausweis Wohnen {PRICES.VerbrauchsausweisWohnen[0]} €
|
||||
{ausweisart} {prices[0]} €
|
||||
</h2>
|
||||
{#if ausweis.geg_anfrage}
|
||||
{#if gegAnfrage}
|
||||
<Progressbar active={1} steps={["Gebäudedaten", "Kundendaten", "Bestätigung"]}/>
|
||||
{:else}
|
||||
<Progressbar active={1}/>
|
||||
@@ -218,7 +216,7 @@
|
||||
<Rechnungsadresse bind:user bind:rechnung /></Bereich
|
||||
>
|
||||
|
||||
{#if !ausweis.geg_anfrage}
|
||||
{#if !gegAnfrage}
|
||||
<Bereich bereich="3" title="Bezahlmethode">
|
||||
<Bezahlung bind:selectedPaymentType={bezahlmethode} /></Bereich
|
||||
>
|
||||
@@ -296,7 +294,7 @@
|
||||
|
||||
<button class="button">Speichern</button>
|
||||
|
||||
{#if ausweis.geg_anfrage}
|
||||
{#if gegAnfrage}
|
||||
<button class="button cursor-pointer" data-cy="bestellen" on:click={anfordern} >Angebot anfordern</button>
|
||||
{:else}
|
||||
<button class="button cursor-pointer" data-cy="bestellen" on:click={bestellen} >Kostenpflichtig bestellen</button>
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
BenutzerClient,
|
||||
UploadedGebaeudeBild,
|
||||
UnterlageClient,
|
||||
BedarfsausweisWohnenClient,
|
||||
VerbrauchsausweisGewerbeClient,
|
||||
GEGNachweisWohnenClient,
|
||||
} from "#components/Ausweis/types.js";
|
||||
import Bereich from "#components/labels/Bereich.svelte";
|
||||
import { Enums } from "@ibcornelsen/database/client";
|
||||
@@ -26,12 +25,11 @@
|
||||
import { exclude } from "#lib/exclude.js";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
export async function ausweisSpeichern(
|
||||
ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient,
|
||||
export async function nachweisSpeichern(
|
||||
nachweis: GEGNachweisWohnenClient,
|
||||
objekt: ObjektClient,
|
||||
aufnahme: AufnahmeClient,
|
||||
unterlagen: (UnterlageClient & { data?: string })[],
|
||||
ausweisart: Enums.Ausweisart
|
||||
unterlagen: (UnterlageClient & { data?: string })[]
|
||||
) {
|
||||
if (objekt.uid) {
|
||||
await api.objekt._uid.PATCH.fetch({
|
||||
@@ -82,36 +80,21 @@
|
||||
aufnahme.uid = uid
|
||||
}
|
||||
|
||||
let patchRoute: any;
|
||||
let putRoute: any;
|
||||
if (ausweisart == Enums.Ausweisart.VerbrauchsausweisWohnen) {
|
||||
patchRoute = api["verbrauchsausweis-wohnen"]._uid.PATCH
|
||||
putRoute = api["verbrauchsausweis-wohnen"].PUT
|
||||
} else if (ausweisart == Enums.Ausweisart.VerbrauchsausweisGewerbe) {
|
||||
patchRoute = api["verbrauchsausweis-gewerbe"]._uid.PATCH
|
||||
putRoute = api["verbrauchsausweis-gewerbe"].PUT
|
||||
} else if (ausweisart == Enums.Ausweisart.BedarfsausweisWohnen) {
|
||||
patchRoute = api["bedarfsausweis-wohnen"]._uid.PATCH
|
||||
putRoute = api["bedarfsausweis-wohnen"].PUT
|
||||
} else if (ausweisart == Enums.Ausweisart.GEGNachweisVerbrauchsausweisWohnen) {
|
||||
patchRoute = api["geg-nachweis-verbrauchsausweis-wohnen"]._uid.PATCH
|
||||
putRoute = api["geg-nachweis-verbrauchsausweis-wohnen"].PUT
|
||||
}
|
||||
if (nachweis.uid) {
|
||||
await api["geg-nachweis-wohnen"]._uid.PATCH.fetch({
|
||||
|
||||
if (ausweis.uid) {
|
||||
await patchRoute.fetch({
|
||||
...exclude(ausweis, ["uid"])
|
||||
...exclude(nachweis, ["uid"])
|
||||
}, {
|
||||
params: {
|
||||
uid: ausweis.uid
|
||||
uid: nachweis.uid
|
||||
},
|
||||
headers: {
|
||||
"Authorization": `Bearer ${Cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)}`
|
||||
}
|
||||
})
|
||||
} else {
|
||||
const { uid } = await putRoute.fetch({
|
||||
ausweis,
|
||||
const { uid } = await api["geg-nachweis-wohnen"].PUT.fetch({
|
||||
nachweis: nachweis,
|
||||
uid_aufnahme: aufnahme.uid
|
||||
}, {
|
||||
headers: {
|
||||
@@ -119,7 +102,7 @@
|
||||
}
|
||||
})
|
||||
|
||||
ausweis.uid = uid;
|
||||
nachweis.uid = uid;
|
||||
}
|
||||
|
||||
for (const unterlage of unterlagen) {
|
||||
@@ -145,20 +128,20 @@
|
||||
}
|
||||
|
||||
return {
|
||||
uid_ausweis: ausweis.uid,
|
||||
uid_ausweis: nachweis.uid,
|
||||
uid_aufnahme: aufnahme.uid,
|
||||
uid_objekt: objekt.uid
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function ausweisAbschicken() {
|
||||
async function nachweisAbschicken() {
|
||||
if (!(await validateAccessTokenClient())) {
|
||||
loginOverlayHidden = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const result = await ausweisSpeichern(ausweis, objekt, aufnahme, unterlagen, Enums.Ausweisart.GEGNachweisVerbrauchsausweisWohnen)
|
||||
const result = await nachweisSpeichern(nachweis, objekt, aufnahme, unterlagen)
|
||||
|
||||
if (result !== null) {
|
||||
window.history.pushState(
|
||||
@@ -183,7 +166,7 @@
|
||||
|
||||
let loginOverlayHidden = true;
|
||||
|
||||
export let ausweis: VerbrauchsausweisWohnenClient;
|
||||
export let nachweis: GEGNachweisWohnenClient;
|
||||
export let objekt: ObjektClient;
|
||||
export let aufnahme: AufnahmeClient;
|
||||
export let user: BenutzerClient = {} as BenutzerClient;
|
||||
@@ -195,10 +178,10 @@
|
||||
})[] = [];
|
||||
|
||||
|
||||
if (Object.keys(ausweis).length === 0) {
|
||||
if (Object.keys(nachweis).length === 0) {
|
||||
const localStorageAusweis = localStorage.getItem("ausweis");
|
||||
if (localStorageAusweis) {
|
||||
ausweis = JSON.parse(localStorageAusweis)
|
||||
nachweis = JSON.parse(localStorageAusweis)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,20 +201,18 @@
|
||||
|
||||
|
||||
$: {
|
||||
if (ausweis.uid && objekt.uid && aufnahme.uid) {
|
||||
localStorage.setItem(ausweis.uid, JSON.stringify(ausweis))
|
||||
if (nachweis.uid && objekt.uid && aufnahme.uid) {
|
||||
localStorage.setItem(nachweis.uid, JSON.stringify(nachweis))
|
||||
localStorage.setItem(objekt.uid, JSON.stringify(objekt))
|
||||
localStorage.setItem(aufnahme.uid, JSON.stringify(aufnahme))
|
||||
} else {
|
||||
localStorage.setItem("ausweis", JSON.stringify(ausweis))
|
||||
localStorage.setItem("ausweis", JSON.stringify(nachweis))
|
||||
localStorage.setItem("aufnahme", JSON.stringify(aufnahme))
|
||||
localStorage.setItem("objekt", JSON.stringify(objekt))
|
||||
}
|
||||
}
|
||||
|
||||
const ausweisart = Enums.Ausweisart.GEGNachweisVerbrauchsausweisWohnen;
|
||||
|
||||
function automatischAusfüllen() {}
|
||||
</script>
|
||||
|
||||
<div
|
||||
@@ -253,7 +234,7 @@
|
||||
|
||||
<form
|
||||
id="formInput-1"
|
||||
on:submit={ausweisAbschicken}
|
||||
on:submit={nachweisAbschicken}
|
||||
name="ausweis"
|
||||
data-test="ausweis"
|
||||
>
|
||||
@@ -261,7 +242,7 @@
|
||||
<!-- A Prüfung der Ausweisart -->
|
||||
|
||||
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
||||
<Ausweisart bind:objekt bind:aufnahme bind:ausweis {ausweisart} />
|
||||
<Ausweisart bind:objekt bind:aufnahme bind:ausweis={nachweis} {ausweisart} />
|
||||
</Bereich>
|
||||
|
||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||
@@ -279,7 +260,7 @@
|
||||
title="Angaben zur Heizung, Lüftung, Energieerezugung, Qualität und Aufbau der Gebäudehülle usw."
|
||||
></InputLabel>
|
||||
|
||||
<textarea class="rounded-e-none" rows="10" bind:value={ausweis.beschreibung}></textarea>
|
||||
<textarea class="rounded-e-none" rows="10" bind:value={nachweis.beschreibung}></textarea>
|
||||
|
||||
<div class="help-label">
|
||||
<HelpLabel>
|
||||
@@ -317,7 +298,7 @@
|
||||
min={1}
|
||||
name={"plaene"}
|
||||
bind:files={plaene}
|
||||
bind:ausweis
|
||||
bind:ausweis={nachweis}
|
||||
bind:objekt
|
||||
></FileGrid>
|
||||
</div>
|
||||
@@ -343,7 +324,7 @@
|
||||
min={0}
|
||||
name={"unterlagen"}
|
||||
bind:files={unterlagen}
|
||||
bind:ausweis
|
||||
bind:ausweis={nachweis}
|
||||
bind:objekt
|
||||
></FileGrid>
|
||||
</div>
|
||||
@@ -365,13 +346,13 @@
|
||||
<div>
|
||||
<Overlay bind:hidden={loginOverlayHidden}>
|
||||
<div class="bg-white w-full max-w-screen-sm py-8">
|
||||
<EmbeddedAuthFlowModule onLogin={ausweisAbschicken}
|
||||
<EmbeddedAuthFlowModule onLogin={nachweisAbschicken}
|
||||
></EmbeddedAuthFlowModule>
|
||||
</div>
|
||||
</Overlay>
|
||||
|
||||
<button
|
||||
on:click={ausweisAbschicken}
|
||||
on:click={nachweisAbschicken}
|
||||
type="button"
|
||||
class="button"
|
||||
data-cy="weiter">Weiter</button
|
||||
Reference in New Issue
Block a user