@@ -24,19 +24,19 @@
|
||||
|
||||
var sanierungsoptionen =[
|
||||
|
||||
{"id":1,"name":"zentralheizung","value":"ZH","bindchecked":"gebaeude_aufnahme_allgemein.zentralheizung","label":"Zentral/Etage"},
|
||||
{"id":2,"name":"einzelofen","value":"EO","bindchecked":"{gebaeude_aufnahme_allgemein.einzelofen}","label":"Einzelofen"},
|
||||
{"id":3,"name":"durchlauf_erhitzer","value":"DH","bindchecked":"{gebaeude_aufnahme_allgemein.durchlauf_erhitzer}","label":"Durchlauferhitzer"},
|
||||
{"id":4,"name":"standard_kessel","value":"SK","bindchecked":"{gebaeude_aufnahme_allgemein.standard_kessel}","label":"Standardkessel"},
|
||||
{"id":5,"name":"solarsystem_warmwasser","value":"SSWW","bindchecked":"{gebaeude_aufnahme_allgemein.solarsystem_warmwasser}","label":"Solarsystem für Warmwasser"},
|
||||
{"id":6,"name":"waermepumpe","value":"WP","bindchecked":"{gebaeude_aufnahme_allgemein.waermepumpe}","label":"Wärmepumpe"},
|
||||
{"id":1,"name":"zentralheizung","value":"ZH","bindchecked":gebaeude_aufnahme_allgemein.zentralheizung,"label":"Zentral/Etage"},
|
||||
{"id":2,"name":"einzelofen","value":"EO","bindchecked":gebaeude_aufnahme_allgemein.einzelofen,"label":"Einzelofen"},
|
||||
{"id":3,"name":"durchlauf_erhitzer","value":"DH","bindchecked":gebaeude_aufnahme_allgemein.durchlauf_erhitzer,"label":"Durchlauferhitzer"},
|
||||
{"id":4,"name":"standard_kessel","value":"SK","bindchecked":gebaeude_aufnahme_allgemein.standard_kessel,"label":"Standardkessel"},
|
||||
{"id":5,"name":"solarsystem_warmwasser","value":"SSWW","bindchecked":gebaeude_aufnahme_allgemein.solarsystem_warmwasser,"label":"Solarsystem für Warmwasser"},
|
||||
{"id":6,"name":"waermepumpe","value":"WP","bindchecked":gebaeude_aufnahme_allgemein.waermepumpe,"label":"Wärmepumpe"},
|
||||
|
||||
{"id":7,"name":"niedertemperatur_kessel","value":"NK","bindchecked":"{gebaeude_aufnahme_allgemein.niedertemperatur_kessel}","label":"Niedertemperaturkessel"},
|
||||
{"id":8,"name":"brennwert_kessel","value":"BWK","bindchecked":"{gebaeude_aufnahme_allgemein.brennwert_kessel}","label":"Brennwertkessel"},
|
||||
{"id":9,"name":"warmwasser_rohre_gedaemmt","value":"BWK","bindchecked":"{gebaeude_aufnahme_allgemein.warmwasser_rohre_gedaemmt}","label":"Warmwasserrohre gedämmt"},
|
||||
{"id":10,"name":"heizungsrohre_gedaemmt","value":"HRGD","bindchecked":"{gebaeude_aufnahme_allgemein.heizungsrohre_gedaemmt}","label":"Heizungsrohre gedämmt"},
|
||||
{"id":11,"name":"zirkulation","value":"ZK","bindchecked":"{gebaeude_aufnahme_allgemein.zirkulation}","label":"Zirkulation"},
|
||||
{"id":12,"name":"raum_temperatur_regler","value":"RTR","bindchecked":"{gebaeude_aufnahme_allgemein.raum_temperatur_regler}","label":"Raumtemperaturregler"}
|
||||
{"id":7,"name":"niedertemperatur_kessel","value":"NK","bindchecked":gebaeude_aufnahme_allgemein.niedertemperatur_kessel,"label":"Niedertemperaturkessel"},
|
||||
{"id":8,"name":"brennwert_kessel","value":"BWK","bindchecked":gebaeude_aufnahme_allgemein.brennwert_kessel,"label":"Brennwertkessel"},
|
||||
{"id":9,"name":"warmwasser_rohre_gedaemmt","value":"BWK","bindchecked":gebaeude_aufnahme_allgemein.warmwasser_rohre_gedaemmt,"label":"Warmwasserrohre gedämmt"},
|
||||
{"id":10,"name":"heizungsrohre_gedaemmt","value":"HRGD","bindchecked":gebaeude_aufnahme_allgemein.heizungsrohre_gedaemmt,"label":"Heizungsrohre gedämmt"},
|
||||
{"id":11,"name":"zirkulation","value":"ZK","bindchecked":gebaeude_aufnahme_allgemein.zirkulation,"label":"Zirkulation"},
|
||||
{"id":12,"name":"raum_temperatur_regler","value":"RTR","bindchecked":gebaeude_aufnahme_allgemein.raum_temperatur_regler,"label":"Raumtemperaturregler"}
|
||||
];
|
||||
|
||||
|
||||
@@ -69,8 +69,6 @@ xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{/each}
|
||||
|
||||
</div>
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
import HeaderLogin from "#header/headerLogin.svelte";
|
||||
---
|
||||
|
||||
<header>
|
||||
<header id="header">
|
||||
|
||||
<div class="grid relative bg-white items-center gap-4 pt-4 px-0
|
||||
<div id="header-grid" class="grid relative bg-white items-center gap-x-4 pt-4 px-0
|
||||
|
||||
grid-cols-1
|
||||
sm:grid-cols-1
|
||||
md:grid-cols-1
|
||||
|
||||
lg:grid-cols-[1fr_minmax(450px,450px)] lg:gap-3 lg:px-4 lg:py-4
|
||||
xl:grid-cols-[1fr_minmax(450px,450px)] xl:gap-4 xl:px-6 xl:py-4
|
||||
2xl:grid-cols-[1fr_minmax(450px,450px)] 2xl:gap-5 2xl:px-6 2xl:py-4">
|
||||
lg:grid-cols-[1fr_minmax(450px,450px)] lg:gap-x-3 lg:px-4 lg:py-4
|
||||
xl:grid-cols-[1fr_minmax(450px,450px)] xl:gap-x-4 xl:px-6 xl:py-4
|
||||
2xl:grid-cols-[1fr_minmax(450px,450px)] 2xl:gap-x-5 2xl:px-6 2xl:py-4">
|
||||
|
||||
<div class="justify-self-center xs:justify-self-start">
|
||||
|
||||
@@ -23,7 +23,7 @@ lg:px-0 lg:gap-x-4">
|
||||
|
||||
<div class="self-start justify-self-start">
|
||||
<a href="/">
|
||||
<img class="w-full
|
||||
<img id="header-logo" class="w-full
|
||||
xs:max-w-[64px]
|
||||
sm:max-w-[64px]
|
||||
md:max-w-[64px] md:ml-6
|
||||
@@ -35,7 +35,8 @@ lg:px-0 lg:gap-x-4">
|
||||
</div>
|
||||
|
||||
<div class="self-center justify-self-center md:justify-self-start xs:mt-[20px] md:mt-[18px]">
|
||||
<div class="text-secondary justify-self-center
|
||||
|
||||
<div id="header-text-1"class="text-secondary justify-self-center
|
||||
xs:[font-size:_clamp(15px,5vw,36px)] xs:justify-self-start xs:leading-[36px]
|
||||
|
||||
lg:[font-size:_clamp(15px,3vw,26px)]
|
||||
@@ -43,7 +44,8 @@ lg:px-0 lg:gap-x-4">
|
||||
xl:[font-size:_clamp(15px,3vw,36px)]
|
||||
xl:leading-[4.5rem] pt-[0px]">
|
||||
Energieausweis online erstellen</div>
|
||||
<div class="text-primary justify-self-center
|
||||
|
||||
<div id="header-text-2"class="text-primary justify-self-center
|
||||
xs:[font-size:_clamp(15px,4vw,28px)] xs:justify-self-start xs:leading-[20px]
|
||||
|
||||
lg:[font-size:_clamp(15px,3vw,20px)]
|
||||
@@ -67,10 +69,8 @@ lg:px-0 lg:gap-x-4">
|
||||
</div>
|
||||
|
||||
<div class="col-start-1 col-span-3">
|
||||
<div class="px-2 flex flex-row w-full justify-end items-center bg-primary
|
||||
lg:h-[12px] xl:h-[12px]"></div>
|
||||
<div class="px-2 flex flex-row w-full justify-end items-center bg-secondary
|
||||
lg:h-[0px] xl:h-[0px]"></div>
|
||||
<div id="header-line" class="px-2 flex flex-row w-full justify-end items-center bg-primary
|
||||
lg:h-[12px] xl:h-[12px]"></div>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="grid grid-cols-1 lg:grid-cols-[3fr_2fr] gap-2">
|
||||
<div id="passwort-vergessen" class="grid grid-cols-1 lg:grid-cols-[3fr_2fr] gap-2">
|
||||
|
||||
|
||||
<div class="w-full text-left self-center">
|
||||
|
||||
@@ -12,9 +12,67 @@ export interface Props {
|
||||
}
|
||||
|
||||
const { title } = Astro.props;
|
||||
|
||||
---
|
||||
|
||||
<script>
|
||||
window.addEventListener("scroll", (event) => {
|
||||
let scroll = window.scrollY;
|
||||
|
||||
if(scroll>=144){
|
||||
console.log(scroll);
|
||||
document.getElementById('header').style.position = 'fixed';
|
||||
document.getElementById('header').style.zIndex = '1000';
|
||||
document.getElementById('header').style.width = '100%';
|
||||
document.getElementById('header').style.top = '0';
|
||||
|
||||
document.getElementById('header-grid')?.classList.add('2xl:py-0');
|
||||
document.getElementById('header-grid')?.classList.remove('2xl:py-4')
|
||||
document.getElementById('header-grid')?.classList.remove('bg-white');
|
||||
|
||||
document.getElementById('header-grid')?.classList.add('bg-secondary');
|
||||
document.getElementById('header-text-1')?.classList.add('text-white');
|
||||
document.getElementById('header-text-1')?.classList.add('hidden');
|
||||
document.getElementById('header-text-2')?.classList.add('hidden');
|
||||
document.getElementById('header-line')?.classList.add('xl:h-[6px]');
|
||||
document.getElementById('header-logo').style.height = '62px';
|
||||
document.getElementById('header-logo')?.classList.add('xl:bg-white','xl:px-2');
|
||||
;
|
||||
document.getElementById('card-login')?.classList.remove('lg:ring-2');
|
||||
document.getElementById('passwort-vergessen')?.classList.add('hidden');
|
||||
|
||||
document.getElementById('main').style.marginTop = '211px';
|
||||
|
||||
}else{
|
||||
|
||||
document.getElementById('header').style.position = 'relative';
|
||||
document.getElementById('header').style.zIndex = '0';
|
||||
document.getElementById('header').style.top = '0';
|
||||
|
||||
document.getElementById('header-grid')?.classList.add('2xl:py-4');
|
||||
document.getElementById('header-grid')?.classList.remove('2xl:py-0');
|
||||
|
||||
document.getElementById('header-grid')?.classList.add('bg-white');
|
||||
document.getElementById('header-grid')?.classList.remove('bg-secondary');
|
||||
|
||||
document.getElementById('header-text-1')?.classList.remove('text-white');
|
||||
document.getElementById('header-text-1')?.classList.remove('hidden');
|
||||
document.getElementById('header-text-2')?.classList.remove('hidden');
|
||||
document.getElementById('header-line')?.classList.remove('xl:h-[6px]');
|
||||
document.getElementById('header-logo').style.height = '107.53px';
|
||||
document.getElementById('header-logo')?.classList.remove('xl:bg-white','xl:px-2');
|
||||
|
||||
document.getElementById('card-login')?.classList.add('lg:ring-2');
|
||||
document.getElementById('passwort-vergessen')?.classList.remove('hidden');
|
||||
|
||||
document.getElementById('main').style.marginTop = '0px';
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
@@ -34,7 +92,7 @@ const { title } = Astro.props;
|
||||
|
||||
<Header />
|
||||
|
||||
<main
|
||||
<main id="main"
|
||||
class="w-full p-0 grid
|
||||
xs:grid-cols-[minmax(1fr,1fr)] xs:gap-1 xs:p-0
|
||||
sm:grid-cols-[minmax(1fr,1fr)] sm:gap-1 sm:p-0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,265 +1,265 @@
|
||||
<script lang="ts">
|
||||
//import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
|
||||
//import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
||||
|
||||
import BereichLabel from "#labels/BereichLabel.svelte";
|
||||
//import HelpLabel from "#labels/HelpLabel.svelte";
|
||||
//import Inputlabel from "#labels/InputLabel.svelte";
|
||||
//import Label from "#components/Label.svelte";
|
||||
|
||||
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
||||
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
||||
import Warmwasseranteil from "#components/Ausweis/Warmwasseranteil.svelte";
|
||||
import Verbrauch from "#components/Ausweis/Verbrauch.svelte";
|
||||
import LueftungundLeerstand from "#components/Ausweis/LueftungundLeerstand.svelte";
|
||||
|
||||
//import ZipSearch from "#components/PlzSuche.svelte";
|
||||
import moment from "moment";
|
||||
import BilderZusatzsysteme from "#components/Ausweis/BilderZusatzsysteme.svelte";
|
||||
import {
|
||||
RawNotificationWrapper,
|
||||
RawNotification,
|
||||
notifications,
|
||||
} from "#components/Notifications/index.js";
|
||||
import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
||||
import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js";
|
||||
import { auditZeitraumAktuell } from "#components/Verbrauchsausweis/audits/ZeitraumAktuell.js";
|
||||
import { auditKlimaFaktoren } from "#components/Verbrauchsausweis/audits/KlimaFaktoren.js";
|
||||
import { auditWohnFlaeche } from "#components/Verbrauchsausweis/audits/WohnFlaeche.js";
|
||||
import { auditWarmWasser } from "#components/Verbrauchsausweis/audits/WarmWasser.js";
|
||||
import { auditLeerStand } from "#components/Verbrauchsausweis/audits/LeerStand.js";
|
||||
import { auditPlzNichtErkannt } from "#components/Verbrauchsausweis/audits/PlzNichtErkannt.js";
|
||||
import {
|
||||
AuditType,
|
||||
hidden,
|
||||
} from "#components/Verbrauchsausweis/audits/hidden.js";
|
||||
import { auditBedarfsausweisBenoetigt } from "#components/Verbrauchsausweis/audits/BedarfsausweisBenoetigt.js";
|
||||
import { auditVerbrauchAbweichung } from "#components/Verbrauchsausweis/audits/VerbrauchAbweichung.js";
|
||||
import { auditEndEnergie } from "#components/Verbrauchsausweis/audits/EndEnergie.js";
|
||||
import { auditWohnflaecheGroesserGesamtflaeche } from "#components/Verbrauchsausweis/audits/WohnflaecheGroesserGesamtflaeche.js";
|
||||
//import { Enums } from "@ibcornelsen/database/client"
|
||||
import Overlay from "#components/Overlay.svelte";
|
||||
import AusweisGespeichertModule from "#modules/Ausweise/AusweisGespeichertModule.svelte";
|
||||
import {
|
||||
VerbrauchsausweisWohnenClient,
|
||||
BenutzerClient,
|
||||
UploadedGebaeudeBild,
|
||||
} from "#components/Ausweis/types.js";
|
||||
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
|
||||
|
||||
// TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann
|
||||
// wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert...
|
||||
export let ausweis: VerbrauchsausweisWohnenClient;
|
||||
export let user: BenutzerClient = {} as BenutzerClient;
|
||||
|
||||
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
||||
let gebaeude =
|
||||
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
||||
let images: (UploadedGebaeudeBild & { base64?: string })[] =
|
||||
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten
|
||||
?.gebaeude_bilder || [];
|
||||
|
||||
async function spaeterWeitermachen() {
|
||||
const result = await verbrauchsausweisWohnenSpeichern(
|
||||
ausweis,
|
||||
gebaeude,
|
||||
gebaeude_aufnahme_allgemein,
|
||||
images,
|
||||
user
|
||||
);
|
||||
|
||||
if (result !== null) {
|
||||
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||
// Sonst müsste er alles neu eingeben...
|
||||
ausweis.uid = result.uid;
|
||||
gebaeude.uid = result.gebaeude_uid;
|
||||
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||
window.history.pushState(
|
||||
{},
|
||||
"",
|
||||
`${location.pathname}?uid=${result.uid}`
|
||||
);
|
||||
speichernOverlayHidden = false;
|
||||
}
|
||||
}
|
||||
|
||||
function automatischAusfüllen() {
|
||||
gebaeude_aufnahme_allgemein.baujahr_gebaeude = [1962];
|
||||
gebaeude_aufnahme_allgemein.baujahr_heizung = [1952];
|
||||
gebaeude_aufnahme_allgemein.saniert = true;
|
||||
gebaeude_aufnahme_allgemein.einheiten = 1;
|
||||
ausweis.ausstellgrund = "Vermietung";
|
||||
ausweis.verbrauch_1 = 15000;
|
||||
ausweis.verbrauch_2 = 14000;
|
||||
ausweis.verbrauch_3 = 16000;
|
||||
gebaeude_aufnahme_allgemein.flaeche = 152;
|
||||
gebaeude_aufnahme_allgemein.nutzflaeche = 172;
|
||||
ausweis.keller_beheizt = true;
|
||||
gebaeude_aufnahme_allgemein.brennstoff_1 = "Erdgas H";
|
||||
ausweis.einheit_1 = "kWh";
|
||||
ausweis.anteil_warmwasser_1 = 18;
|
||||
ausweis.startdatum = moment("01.01.2019").toDate();
|
||||
gebaeude_aufnahme_allgemein.plz = "21039";
|
||||
gebaeude_aufnahme_allgemein.ort = "Hamburg";
|
||||
gebaeude_aufnahme_allgemein.adresse = "Curslacker Deich 170";
|
||||
gebaeude_aufnahme_allgemein.gebaeudeteil = "Gesamtgebäude";
|
||||
|
||||
gebaeude = gebaeude;
|
||||
ausweis = ausweis;
|
||||
}
|
||||
|
||||
async function ausweisAbschicken(e: SubmitEvent) {
|
||||
if (e && e.preventDefault) e.preventDefault();
|
||||
const result = await verbrauchsausweisWohnenSpeichern(
|
||||
ausweis,
|
||||
gebaeude,
|
||||
gebaeude_aufnahme_allgemein,
|
||||
images,
|
||||
user
|
||||
);
|
||||
|
||||
if (result !== null) {
|
||||
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||
// Sonst müsste er alles neu eingeben...
|
||||
ausweis.uid = result.uid;
|
||||
gebaeude.uid = result.gebaeude_uid;
|
||||
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||
window.history.pushState(
|
||||
{},
|
||||
"",
|
||||
`${location.pathname}?uid=${result.uid}`
|
||||
);
|
||||
window.location.href = `/kundendaten?uid=${result.uid}`;
|
||||
}
|
||||
}
|
||||
|
||||
let waitOverlayHidden = true;
|
||||
let speichernOverlayHidden = true;
|
||||
|
||||
$: {
|
||||
if (
|
||||
gebaeude_aufnahme_allgemein.saniert &&
|
||||
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt ===
|
||||
undefined &&
|
||||
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt === undefined
|
||||
) {
|
||||
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt = true;
|
||||
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt = true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<Overlay bind:hidden={speichernOverlayHidden}>
|
||||
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
||||
<AusweisGespeichertModule uid={ausweis.uid}></AusweisGespeichertModule>
|
||||
</div>
|
||||
</Overlay>
|
||||
|
||||
<Overlay bind:hidden={waitOverlayHidden}>
|
||||
<p class="text-white font-semibold text-4xl">
|
||||
Bitte warten sie, ihr Ausweis wird nun erstellt.
|
||||
</p>
|
||||
</Overlay>
|
||||
|
||||
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
||||
<div id="formular-box" class="formular-boxen ring-0">
|
||||
<!-- Später weitermachen / Hilfe anfordern -->
|
||||
|
||||
<div
|
||||
class="w-full grid gap-x-4 gap-y-2
|
||||
grid-cols-1
|
||||
xs:grid-cols-2
|
||||
"
|
||||
>
|
||||
<div class="md:justify-self-start">
|
||||
<button
|
||||
class="button"
|
||||
type="button"
|
||||
on:click={spaeterWeitermachen}>Später Weitermachen</button
|
||||
>
|
||||
</div>
|
||||
<div class="md:justify-self-end"><Hilfe /></div>
|
||||
</div>
|
||||
|
||||
<div class="mt-2">
|
||||
<button
|
||||
class="button hidden"
|
||||
on:click={automatischAusfüllen}
|
||||
type="button">Automatisch Ausfüllen</button
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- A Prüfung der Ausweisart -->
|
||||
<BereichLabel bereich="A">Prüfung der Ausweisart</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<Ausweisart
|
||||
bind:gebaeude
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||
|
||||
<BereichLabel bereich="B">Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<GebaeudeDaten
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- C Eingabe von 3 zusammenhängenden Verbrauchsjahren -->
|
||||
|
||||
<BereichLabel bereich="C">Eingabe von 3 zusammenhängenden Verbrauchsjahren</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<Verbrauch
|
||||
bind:gebaeude
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- D Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen -->
|
||||
|
||||
<BereichLabel bereich="D">Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<Warmwasseranteil
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- E Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand -->
|
||||
|
||||
<BereichLabel bereich="E">Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<LueftungundLeerstand
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- F Angaben zum Sanierungszustand des Gebäudes -->
|
||||
|
||||
<BereichLabel bereich="F">Angaben zum Sanierungszustand des Gebäudes</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<BilderZusatzsysteme
|
||||
bind:images
|
||||
bind:gebaeude
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<style lang="scss">
|
||||
</style>
|
||||
<script lang="ts">
|
||||
//import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
|
||||
//import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
||||
|
||||
import BereichLabel from "#labels/BereichLabel.svelte";
|
||||
//import HelpLabel from "#labels/HelpLabel.svelte";
|
||||
//import Inputlabel from "#labels/InputLabel.svelte";
|
||||
//import Label from "#components/Label.svelte";
|
||||
|
||||
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
||||
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
||||
import Warmwasseranteil from "#components/Ausweis/Warmwasseranteil.svelte";
|
||||
import Verbrauch from "#components/Ausweis/Verbrauch.svelte";
|
||||
import LueftungundLeerstand from "#components/Ausweis/LueftungundLeerstand.svelte";
|
||||
|
||||
//import ZipSearch from "#components/PlzSuche.svelte";
|
||||
import moment from "moment";
|
||||
import BilderZusatzsysteme from "#components/Ausweis/BilderZusatzsysteme.svelte";
|
||||
import {
|
||||
RawNotificationWrapper,
|
||||
RawNotification,
|
||||
notifications,
|
||||
} from "#components/Notifications/index.js";
|
||||
import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
||||
import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js";
|
||||
import { auditZeitraumAktuell } from "#components/Verbrauchsausweis/audits/ZeitraumAktuell.js";
|
||||
import { auditKlimaFaktoren } from "#components/Verbrauchsausweis/audits/KlimaFaktoren.js";
|
||||
import { auditWohnFlaeche } from "#components/Verbrauchsausweis/audits/WohnFlaeche.js";
|
||||
import { auditWarmWasser } from "#components/Verbrauchsausweis/audits/WarmWasser.js";
|
||||
import { auditLeerStand } from "#components/Verbrauchsausweis/audits/LeerStand.js";
|
||||
import { auditPlzNichtErkannt } from "#components/Verbrauchsausweis/audits/PlzNichtErkannt.js";
|
||||
import {
|
||||
AuditType,
|
||||
hidden,
|
||||
} from "#components/Verbrauchsausweis/audits/hidden.js";
|
||||
import { auditBedarfsausweisBenoetigt } from "#components/Verbrauchsausweis/audits/BedarfsausweisBenoetigt.js";
|
||||
import { auditVerbrauchAbweichung } from "#components/Verbrauchsausweis/audits/VerbrauchAbweichung.js";
|
||||
import { auditEndEnergie } from "#components/Verbrauchsausweis/audits/EndEnergie.js";
|
||||
import { auditWohnflaecheGroesserGesamtflaeche } from "#components/Verbrauchsausweis/audits/WohnflaecheGroesserGesamtflaeche.js";
|
||||
//import { Enums } from "@ibcornelsen/database/client"
|
||||
import Overlay from "#components/Overlay.svelte";
|
||||
import AusweisGespeichertModule from "#modules/Ausweise/AusweisGespeichertModule.svelte";
|
||||
import {
|
||||
VerbrauchsausweisWohnenClient,
|
||||
BenutzerClient,
|
||||
UploadedGebaeudeBild,
|
||||
} from "#components/Ausweis/types.js";
|
||||
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
|
||||
|
||||
// TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann
|
||||
// wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert...
|
||||
export let ausweis: VerbrauchsausweisWohnenClient;
|
||||
export let user: BenutzerClient = {} as BenutzerClient;
|
||||
|
||||
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
||||
let gebaeude =
|
||||
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
||||
let images: (UploadedGebaeudeBild & { base64?: string })[] =
|
||||
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten
|
||||
?.gebaeude_bilder || [];
|
||||
|
||||
async function spaeterWeitermachen() {
|
||||
const result = await verbrauchsausweisWohnenSpeichern(
|
||||
ausweis,
|
||||
gebaeude,
|
||||
gebaeude_aufnahme_allgemein,
|
||||
images,
|
||||
user
|
||||
);
|
||||
|
||||
if (result !== null) {
|
||||
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||
// Sonst müsste er alles neu eingeben...
|
||||
ausweis.uid = result.uid;
|
||||
gebaeude.uid = result.gebaeude_uid;
|
||||
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||
window.history.pushState(
|
||||
{},
|
||||
"",
|
||||
`${location.pathname}?uid=${result.uid}`
|
||||
);
|
||||
speichernOverlayHidden = false;
|
||||
}
|
||||
}
|
||||
|
||||
function automatischAusfüllen() {
|
||||
gebaeude_aufnahme_allgemein.baujahr_gebaeude = [1962];
|
||||
gebaeude_aufnahme_allgemein.baujahr_heizung = [1952];
|
||||
gebaeude_aufnahme_allgemein.saniert = true;
|
||||
gebaeude_aufnahme_allgemein.einheiten = 1;
|
||||
ausweis.ausstellgrund = "Vermietung";
|
||||
ausweis.verbrauch_1 = 15000;
|
||||
ausweis.verbrauch_2 = 14000;
|
||||
ausweis.verbrauch_3 = 16000;
|
||||
gebaeude_aufnahme_allgemein.flaeche = 152;
|
||||
gebaeude_aufnahme_allgemein.nutzflaeche = 172;
|
||||
ausweis.keller_beheizt = true;
|
||||
gebaeude_aufnahme_allgemein.brennstoff_1 = "Erdgas H";
|
||||
ausweis.einheit_1 = "kWh";
|
||||
ausweis.anteil_warmwasser_1 = 18;
|
||||
ausweis.startdatum = moment("01.01.2019").toDate();
|
||||
gebaeude_aufnahme_allgemein.plz = "21039";
|
||||
gebaeude_aufnahme_allgemein.ort = "Hamburg";
|
||||
gebaeude_aufnahme_allgemein.adresse = "Curslacker Deich 170";
|
||||
gebaeude_aufnahme_allgemein.gebaeudeteil = "Gesamtgebäude";
|
||||
|
||||
gebaeude = gebaeude;
|
||||
ausweis = ausweis;
|
||||
}
|
||||
|
||||
async function ausweisAbschicken(e: SubmitEvent) {
|
||||
if (e && e.preventDefault) e.preventDefault();
|
||||
const result = await verbrauchsausweisWohnenSpeichern(
|
||||
ausweis,
|
||||
gebaeude,
|
||||
gebaeude_aufnahme_allgemein,
|
||||
images,
|
||||
user
|
||||
);
|
||||
|
||||
if (result !== null) {
|
||||
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||
// Sonst müsste er alles neu eingeben...
|
||||
ausweis.uid = result.uid;
|
||||
gebaeude.uid = result.gebaeude_uid;
|
||||
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||
window.history.pushState(
|
||||
{},
|
||||
"",
|
||||
`${location.pathname}?uid=${result.uid}`
|
||||
);
|
||||
window.location.href = `/kundendaten?uid=${result.uid}`;
|
||||
}
|
||||
}
|
||||
|
||||
let waitOverlayHidden = true;
|
||||
let speichernOverlayHidden = true;
|
||||
|
||||
$: {
|
||||
if (
|
||||
gebaeude_aufnahme_allgemein.saniert &&
|
||||
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt ===
|
||||
undefined &&
|
||||
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt === undefined
|
||||
) {
|
||||
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt = true;
|
||||
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt = true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<Overlay bind:hidden={speichernOverlayHidden}>
|
||||
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
||||
<AusweisGespeichertModule uid={ausweis.uid}></AusweisGespeichertModule>
|
||||
</div>
|
||||
</Overlay>
|
||||
|
||||
<Overlay bind:hidden={waitOverlayHidden}>
|
||||
<p class="text-white font-semibold text-4xl">
|
||||
Bitte warten sie, ihr Ausweis wird nun erstellt.
|
||||
</p>
|
||||
</Overlay>
|
||||
|
||||
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
||||
<div id="formular-box" class="formular-boxen ring-0">
|
||||
<!-- Später weitermachen / Hilfe anfordern -->
|
||||
|
||||
<div
|
||||
class="w-full grid gap-x-4 gap-y-2
|
||||
grid-cols-1
|
||||
xs:grid-cols-2
|
||||
"
|
||||
>
|
||||
<div class="md:justify-self-start">
|
||||
<button
|
||||
class="button"
|
||||
type="button"
|
||||
on:click={spaeterWeitermachen}>Später Weitermachen</button
|
||||
>
|
||||
</div>
|
||||
<div class="md:justify-self-end"><Hilfe /></div>
|
||||
</div>
|
||||
|
||||
<div class="mt-2">
|
||||
<button
|
||||
class="button hidden"
|
||||
on:click={automatischAusfüllen}
|
||||
type="button">Automatisch Ausfüllen</button
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- A Prüfung der Ausweisart -->
|
||||
<BereichLabel bereich="A">Prüfung der Ausweisart</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<Ausweisart
|
||||
bind:gebaeude
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||
|
||||
<BereichLabel bereich="B">Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<GebaeudeDaten
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- C Eingabe von 3 zusammenhängenden Verbrauchsjahren -->
|
||||
|
||||
<BereichLabel bereich="C">Eingabe von 3 zusammenhängenden Verbrauchsjahren</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<Verbrauch
|
||||
bind:gebaeude
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- D Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen -->
|
||||
|
||||
<BereichLabel bereich="D">Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<Warmwasseranteil
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- E Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand -->
|
||||
|
||||
<BereichLabel bereich="E">Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<LueftungundLeerstand
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- F Angaben zum Sanierungszustand des Gebäudes -->
|
||||
|
||||
<BereichLabel bereich="F">Angaben zum Sanierungszustand des Gebäudes</BereichLabel>
|
||||
<div class="collapseBereich">
|
||||
<BilderZusatzsysteme
|
||||
bind:images
|
||||
bind:gebaeude
|
||||
bind:gebaeude_aufnahme_allgemein
|
||||
bind:ausweis
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<style lang="scss">
|
||||
</style>
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
|
||||
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
||||
import BedarfsausweisContent from "#components/Bedarfsausweis/BedarfsausweisContent.svelte";
|
||||
import BedarfsausweisContent from "#modules/BedarfsausweisWohnen/BedarfsausweisContent.svelte";
|
||||
import { BedarfsausweisWohnenClient } from "#components/Ausweis/types";
|
||||
import { createCaller } from "#lib/caller";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
||||
import VerbrauchsausweisWohnenModule from "#modules/Ausweise/VerbrauchsausweisWohnenModule.svelte";
|
||||
import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte";
|
||||
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
|
||||
import { createCaller } from "#lib/caller";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user