64
.gitignore
vendored
64
.gitignore
vendored
@@ -1,32 +1,32 @@
|
|||||||
# build output
|
# build output
|
||||||
dist/
|
dist/
|
||||||
|
|
||||||
# generated types
|
# generated types
|
||||||
.astro/
|
.astro/
|
||||||
|
|
||||||
# log files
|
# log files
|
||||||
logs/
|
logs/
|
||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
# logs
|
# logs
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
pnpm-debug.log*
|
pnpm-debug.log*
|
||||||
|
|
||||||
# lockfile
|
# lockfile
|
||||||
pnpm-lock.yaml
|
pnpm-lock.yaml
|
||||||
bun.lockb
|
bun.lockb
|
||||||
|
|
||||||
# environment variables
|
# environment variables
|
||||||
.env
|
.env
|
||||||
.env.production
|
.env.production
|
||||||
|
|
||||||
# macOS-specific files
|
# macOS-specific files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
public/fonts/
|
public/fonts/
|
||||||
|
|
||||||
*.Identifier
|
*.Identifier
|
||||||
|
|||||||
173
package.json
173
package.json
@@ -1,87 +1,86 @@
|
|||||||
{
|
{
|
||||||
"name": "online-energieausweis",
|
"name": "online-energieausweis",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"license": "GPL V3.0",
|
"license": "GPL V3.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "bun astro dev",
|
"dev": "bun astro dev",
|
||||||
"build": "bun astro build",
|
"build": "bun astro build",
|
||||||
"preview": "bun astro preview",
|
"preview": "bun astro preview",
|
||||||
"astro": "astro",
|
"astro": "astro",
|
||||||
"test:e2e": "cypress run",
|
"test:e2e": "cypress run",
|
||||||
"test:unit": "bun test",
|
"test:unit": "bun test",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"build:production": "astro build && bun --bun server.ts",
|
"build:production": "astro build && bun --bun server.ts",
|
||||||
"i18n:generate": "bunx astro-i18next generate",
|
"i18n:generate": "bunx astro-i18next generate",
|
||||||
"prisma:studio": "bunx prisma studio --schema=./node_modules/@ibcornelsen/database/prisma/schema.prisma"
|
"prisma:studio": "bunx prisma studio --schema=./node_modules/@ibcornelsen/database/prisma/schema.prisma"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/mdx": "^3.1.9",
|
"@astrojs/mdx": "^3.1.9",
|
||||||
"@astrojs/node": "^8.3.4",
|
"@astrojs/node": "^8.3.4",
|
||||||
"@astrojs/svelte": "^2.2.0",
|
"@astrojs/svelte": "^2.2.0",
|
||||||
"@astrojs/tailwind": "^3.1.3",
|
"@astrojs/tailwind": "^3.1.3",
|
||||||
"@ibcornelsen/api": "link:@ibcornelsen/api",
|
"@ibcornelsen/api": "link:@ibcornelsen/api",
|
||||||
"@ibcornelsen/database": "link:@ibcornelsen/database",
|
"@ibcornelsen/database": "link:@ibcornelsen/database",
|
||||||
"@ibcornelsen/ui": "^0.0.2",
|
"@ibcornelsen/ui": "^0.0.2",
|
||||||
"@mollie/api-client": "^3.7.0",
|
"@mollie/api-client": "^3.7.0",
|
||||||
"@pdfme/common": "^5.1.7",
|
"@pdfme/common": "^5.1.7",
|
||||||
"@pdfme/generator": "^5.1.7",
|
"@pdfme/generator": "^5.1.7",
|
||||||
"@pdfme/ui": "^5.1.7",
|
"@pdfme/ui": "^5.1.7",
|
||||||
"@trpc/client": "^10.45.2",
|
"@trpc/client": "^10.45.2",
|
||||||
"@trpc/server": "^10.45.2",
|
"@trpc/server": "^10.45.2",
|
||||||
"astro": "^4.16.10",
|
"astro": "^4.16.10",
|
||||||
"astro-i18next": "1.0.0-beta.21",
|
"astro-i18next": "1.0.0-beta.21",
|
||||||
"body-scroll-lock": "^4.0.0-beta.0",
|
"body-scroll-lock": "^4.0.0-beta.0",
|
||||||
"buffer": "^6.0.3",
|
"buffer": "^6.0.3",
|
||||||
"bun": "^1.1.34",
|
"bun": "^1.1.34",
|
||||||
"caniuse-lite": "^1.0.30001684",
|
"caniuse-lite": "^1.0.30001684",
|
||||||
"csvtojson": "^2.0.10",
|
"csvtojson": "^2.0.10",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.1",
|
||||||
"flag-icons": "^6.15.0",
|
"flag-icons": "^6.15.0",
|
||||||
"fontkit": "^2.0.4",
|
"fontkit": "^2.0.4",
|
||||||
"i18next": "^23.16.5",
|
"i18next": "^23.16.5",
|
||||||
"i18next-fs-backend": "^2.3.2",
|
"i18next-fs-backend": "^2.3.2",
|
||||||
"i18next-http-backend": "^2.6.2",
|
"i18next-http-backend": "^2.6.2",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
"js-interpolate": "^1.0.1",
|
"js-interpolate": "^1.0.1",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"katex": "^0.16.11",
|
||||||
"katex": "^0.16.11",
|
"moment": "^2.30.1",
|
||||||
"moment": "^2.30.1",
|
"moment-timezone": "^0.5.46",
|
||||||
"moment-timezone": "^0.5.46",
|
"postcss-nested": "^7.0.2",
|
||||||
"postcss-nested": "^7.0.2",
|
"radix-svelte-icons": "^1.0.0",
|
||||||
"radix-svelte-icons": "^1.0.0",
|
"sass": "^1.80.6",
|
||||||
"sass": "^1.80.6",
|
"svelte": "^3.59.2",
|
||||||
"svelte": "^3.59.2",
|
"svelte-dialogs": "^1.2.2",
|
||||||
"svelte-dialogs": "^1.2.2",
|
"svelte-preprocess": "^5.1.4",
|
||||||
"svelte-preprocess": "^5.1.4",
|
"svelte-ripple-action": "^1.0.6",
|
||||||
"svelte-ripple-action": "^1.0.6",
|
"tailwindcss": "^3.4.14",
|
||||||
"tailwindcss": "^3.4.14",
|
"trpc-openapi": "^1.2.0",
|
||||||
"trpc-openapi": "^1.2.0",
|
"uuid": "^9.0.1",
|
||||||
"uuid": "^9.0.1",
|
"zod": "^3.23.8"
|
||||||
"zod": "^3.23.8"
|
},
|
||||||
},
|
"devDependencies": {
|
||||||
"devDependencies": {
|
"@faker-js/faker": "^8.4.1",
|
||||||
"@faker-js/faker": "^8.4.1",
|
"@tailwindcss/typography": "^0.5.15",
|
||||||
"@tailwindcss/typography": "^0.5.15",
|
"@types/body-scroll-lock": "^3.1.2",
|
||||||
"@types/body-scroll-lock": "^3.1.2",
|
"@types/express": "^5.0.0",
|
||||||
"@types/express": "^5.0.0",
|
"@types/fontkit": "^2.0.7",
|
||||||
"@types/fontkit": "^2.0.7",
|
"@types/js-cookie": "^3.0.6",
|
||||||
"@types/js-cookie": "^3.0.6",
|
"@types/uuid": "^9.0.8",
|
||||||
"@types/uuid": "^9.0.8",
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
"@typescript-eslint/parser": "^5.62.0",
|
||||||
"@typescript-eslint/parser": "^5.62.0",
|
"autoprefixer": "^10.4.20",
|
||||||
"autoprefixer": "^10.4.20",
|
"bun-types": "^1.1.34",
|
||||||
"bun-types": "^1.1.34",
|
"cypress": "^13.15.2",
|
||||||
"cypress": "^13.15.2",
|
"cypress-file-upload": "^5.0.8",
|
||||||
"cypress-file-upload": "^5.0.8",
|
"daisyui": "^4.12.14",
|
||||||
"daisyui": "^4.12.14",
|
"eslint": "~8.15.0",
|
||||||
"eslint": "~8.15.0",
|
"eslint-config-prettier": "8.1.0",
|
||||||
"eslint-config-prettier": "8.1.0",
|
"postcss": "^8.4.49",
|
||||||
"postcss": "^8.4.49",
|
"postcss-import": "^16.1.0",
|
||||||
"postcss-import": "^16.1.0",
|
"postcss-nesting": "^13.0.1",
|
||||||
"postcss-nesting": "^13.0.1",
|
"prettier": "^2.8.8",
|
||||||
"prettier": "^2.8.8",
|
"typescript": "^4.9.5"
|
||||||
"typescript": "^4.9.5"
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
import {
|
import {
|
||||||
BenutzerClient,
|
BenutzerClient,
|
||||||
GebaeudeAufnahmeClient,
|
GebaeudeAufnahmeClient,
|
||||||
GebaeudeClient,
|
GebaeudeClient,
|
||||||
UploadedGebaeudeBild,
|
UploadedGebaeudeBild,
|
||||||
VerbrauchsausweisWohnenClient,
|
VerbrauchsausweisWohnenClient,
|
||||||
} from "#components/Ausweis/types";
|
} from "#components/Ausweis/types.js";
|
||||||
|
|
||||||
import { exclude } from "#lib/exclude";
|
import { exclude } from "#lib/exclude.js";
|
||||||
import { client } from "src/trpc";
|
import { client } from "src/trpc.js";
|
||||||
import { bilderHochladen } from "./bilderHochladen";
|
import { bilderHochladen } from "./bilderHochladen.js";
|
||||||
import { addNotification } from "@ibcornelsen/ui";
|
import { addNotification } from "@ibcornelsen/ui";
|
||||||
|
|
||||||
export async function verbrauchsausweisWohnenSpeichern(
|
export async function verbrauchsausweisWohnenSpeichern(
|
||||||
ausweis: VerbrauchsausweisWohnenClient,
|
ausweis: VerbrauchsausweisWohnenClient,
|
||||||
gebaeude: GebaeudeClient,
|
gebaeude: GebaeudeClient,
|
||||||
gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient,
|
gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient,
|
||||||
images: (UploadedGebaeudeBild & { base64?: string })[],
|
images: (UploadedGebaeudeBild & { base64?: string })[],
|
||||||
user: BenutzerClient
|
user: BenutzerClient
|
||||||
) {
|
) {
|
||||||
if (ausweis.uid) {
|
if (ausweis.uid) {
|
||||||
// Anscheinend wurde der Ausweis bereits erstellt und hat eine UID.
|
// Anscheinend wurde der Ausweis bereits erstellt und hat eine UID.
|
||||||
// Jetzt müssen wir ihn nun nur noch abspeichern.
|
// Jetzt müssen wir ihn nun nur noch abspeichern.
|
||||||
try {
|
try {
|
||||||
await client.v1.verbrauchsausweisWohnen[2016].speichern.mutate({
|
await client.v1.verbrauchsausweisWohnen[2016].speichern.mutate({
|
||||||
...ausweis,
|
...ausweis,
|
||||||
gebaeude_aufnahme_allgemein: {
|
gebaeude_aufnahme_allgemein: {
|
||||||
...exclude(
|
...exclude(
|
||||||
gebaeude_aufnahme_allgemein,
|
gebaeude_aufnahme_allgemein,
|
||||||
["erstellungsdatum", "events", "ausstellungsdatum", "rechnungen"]
|
["erstellungsdatum", "events", "ausstellungsdatum", "rechnungen"]
|
||||||
),
|
),
|
||||||
gebaeude_stammdaten: {
|
gebaeude_stammdaten: {
|
||||||
...exclude(gebaeude, [
|
...exclude(gebaeude, [
|
||||||
"gebaeude_bilder",
|
"gebaeude_bilder",
|
||||||
]),
|
]),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
images = await bilderHochladen(images, gebaeude.uid);
|
images = await bilderHochladen(images, gebaeude.uid);
|
||||||
|
|
||||||
return { uid: ausweis.uid, gebaeude_uid: gebaeude.uid, gebaeude_aufnahme_uid: gebaeude_aufnahme_allgemein.uid };
|
return { uid: ausweis.uid, gebaeude_uid: gebaeude.uid, gebaeude_aufnahme_uid: gebaeude_aufnahme_allgemein.uid };
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// TODO: Ticket mit Fehldermeldung abschicken.
|
// TODO: Ticket mit Fehldermeldung abschicken.
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter.
|
// Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter.
|
||||||
try {
|
try {
|
||||||
const response =
|
const response =
|
||||||
await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({
|
await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({
|
||||||
...ausweis,
|
...ausweis,
|
||||||
gebaeude_aufnahme_allgemein: {
|
gebaeude_aufnahme_allgemein: {
|
||||||
...gebaeude_aufnahme_allgemein,
|
...gebaeude_aufnahme_allgemein,
|
||||||
gebaeude_stammdaten: {
|
gebaeude_stammdaten: {
|
||||||
...gebaeude,
|
...gebaeude,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
images = await bilderHochladen(images, response.gebaeude_uid);
|
images = await bilderHochladen(images, response.gebaeude_uid);
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
await client.v1.tickets.erstellen.mutate({
|
await client.v1.tickets.erstellen.mutate({
|
||||||
titel: "Ausweis konnte nicht gespeichert werden",
|
titel: "Ausweis konnte nicht gespeichert werden",
|
||||||
beschreibung: e.stack,
|
beschreibung: e.stack,
|
||||||
email: user.email ?? "",
|
email: user.email ?? "",
|
||||||
metadata: JSON.stringify({
|
metadata: JSON.stringify({
|
||||||
ausweis,
|
ausweis,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
// TODO: Ticket mit Fehldermeldung abschicken.
|
// TODO: Ticket mit Fehldermeldung abschicken.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addNotification({
|
addNotification({
|
||||||
dismissable: false,
|
dismissable: false,
|
||||||
message:
|
message:
|
||||||
"Ausweis konnte nicht gespeichert werden, bitte versuchen sie es erneut.",
|
"Ausweis konnte nicht gespeichert werden, bitte versuchen sie es erneut.",
|
||||||
subtext:
|
subtext:
|
||||||
"Sollte das Problem weiterhin bestehen, kontaktieren sie bitte den Support.",
|
"Sollte das Problem weiterhin bestehen, kontaktieren sie bitte den Support.",
|
||||||
timeout: 6000,
|
timeout: 6000,
|
||||||
type: "error",
|
type: "error",
|
||||||
});
|
});
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,234 +1,232 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import HelpLabel from "#labels/HelpLabel.svelte";
|
||||||
import HelpLabel from "#labels/HelpLabel.svelte";
|
import Inputlabel from "#labels/InputLabel.svelte";
|
||||||
import Inputlabel from "#labels/InputLabel.svelte";
|
|
||||||
|
//import Label from "#components/Label.svelte";
|
||||||
//import Label from "#components/Label.svelte";
|
|
||||||
|
import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
||||||
import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr";
|
import { addNotification, deleteNotification } from "@ibcornelsen/ui";
|
||||||
import { addNotification, deleteNotification } from "@ibcornelsen/ui";
|
import TagInput from "../TagInput.svelte";
|
||||||
import TagInput from "../TagInput.svelte";
|
import type {
|
||||||
import type {
|
BedarfsausweisWohnen,
|
||||||
BedarfsausweisWohnen,
|
VerbrauchsausweisGewerbe,
|
||||||
VerbrauchsausweisGewerbe,
|
} from "@ibcornelsen/database/client";
|
||||||
} from "@ibcornelsen/database/client";
|
import { Enums } from "@ibcornelsen/database/client";
|
||||||
import { Enums } from "@ibcornelsen/database/client"
|
import {
|
||||||
import { GebaeudeAufnahmeClient, GebaeudeClient, VerbrauchsausweisWohnenClient } from "./types";
|
GebaeudeAufnahmeClient,
|
||||||
|
GebaeudeClient,
|
||||||
export let gebaeude: GebaeudeClient;
|
VerbrauchsausweisWohnenClient,
|
||||||
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbe | BedarfsausweisWohnen;
|
} from "./types.js";
|
||||||
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
|
|
||||||
|
export let gebaeude: GebaeudeClient;
|
||||||
</script>
|
export let ausweis:
|
||||||
|
| VerbrauchsausweisWohnenClient
|
||||||
|
| VerbrauchsausweisGewerbe
|
||||||
|
| BedarfsausweisWohnen;
|
||||||
|
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="bereich-box relative grid
|
|
||||||
grid-cols-1 gap-x-4 gap-y-8
|
|
||||||
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8
|
|
||||||
xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|
||||||
">
|
|
||||||
|
<div class="bereich-box relative grid
|
||||||
|
grid-cols-1 gap-x-4 gap-y-8
|
||||||
|
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8
|
||||||
<!-- Anlass für Energieausweis -->
|
xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
||||||
|
"
|
||||||
<div class="input-standard order-1 md:order-1 xl:order-1">
|
>
|
||||||
<Inputlabel title="Anlass *"></Inputlabel>
|
<!-- Anlass für Energieausweis -->
|
||||||
|
|
||||||
<select id="ausstellgrund"
|
<<<<<<< HEAD
|
||||||
class="rounded-e-none"
|
|
||||||
name="ausstellgrund"
|
|
||||||
placeholder="Anlass"
|
<!-- Anlass für Energieausweis -->
|
||||||
required>
|
=======
|
||||||
|
<div class="input-standard order-1 md:order-1 xl:order-1">
|
||||||
{#each Object.entries(Enums.Ausstellgrund) as [name, ausstellgrund]}
|
<Inputlabel title="Anlass *"></Inputlabel>
|
||||||
<option value={ausstellgrund}>{name}</option>
|
>>>>>>> origin/UMBE
|
||||||
{/each}
|
|
||||||
|
<select
|
||||||
</select>
|
id="ausstellgrund"
|
||||||
|
class="rounded-e-none"
|
||||||
<div class="help-label">
|
name="ausstellgrund"
|
||||||
<HelpLabel>Bitte wählen Sie den Anlass.</HelpLabel>
|
placeholder="Anlass"
|
||||||
</div>
|
required
|
||||||
</div>
|
>
|
||||||
|
{#each Object.entries(Enums.Ausstellgrund) as [name, ausstellgrund]}
|
||||||
|
<option value={ausstellgrund}>{name}</option>
|
||||||
<!-- Gebäudetyp -->
|
{/each}
|
||||||
|
</select>
|
||||||
<div class="input-standard order-2 md:order-3 xl:order-2">
|
|
||||||
<Inputlabel title="Gebäudetyp *"></Inputlabel>
|
<div class="help-label">
|
||||||
|
<HelpLabel>Bitte wählen Sie den Anlass.</HelpLabel>
|
||||||
<select
|
</div>
|
||||||
name="gebaeudetyp"
|
</div>
|
||||||
data-test="gebaeudetyp"
|
|
||||||
required
|
<!-- Gebäudetyp -->
|
||||||
bind:value={gebaeude_aufnahme_allgemein.gebaeudetyp}
|
|
||||||
|
<div class="input-standard order-2 md:order-3 xl:order-2">
|
||||||
>
|
<Inputlabel title="Gebäudetyp *"></Inputlabel>
|
||||||
|
|
||||||
<option disabled>Bitte auswählen</option>
|
<select
|
||||||
<option value="Einfamilienhaus">Einfamilienhaus</option>
|
name="gebaeudetyp"
|
||||||
<option value="Freistehendes Einfamilienhaus">Freistehendes Einfamilienhaus</option>
|
data-test="gebaeudetyp"
|
||||||
<option value="Freistehendes Zweifamilienhaus">Freistehendes Zweifamilienhaus</option>
|
required
|
||||||
<option value="Doppelhaushälfte">Doppelhaushälfte</option>
|
bind:value={gebaeude_aufnahme_allgemein.gebaeudetyp}
|
||||||
<option value="Reihenendhaus">Reihenendhaus</option>
|
>
|
||||||
<option value="Reihenmittelhaus">Reihenmittelhaus</option>
|
<option disabled>Bitte auswählen</option>
|
||||||
<option value="Mehrfamilienhaus">Mehrfamilienhaus</option>
|
<option value="Einfamilienhaus">Einfamilienhaus</option>
|
||||||
<option value="Wohn- und Geschäftshaus">Wohn- und Geschäftshaus</option>
|
<option value="Freistehendes Einfamilienhaus"
|
||||||
<option value="Atrium-Bungalow">Atrium-Bungalow</option>
|
>Freistehendes Einfamilienhaus</option
|
||||||
<option value="Winkelbungalow">Winkelbungalow</option>
|
>
|
||||||
|
<option value="Freistehendes Zweifamilienhaus"
|
||||||
</select>
|
>Freistehendes Zweifamilienhaus</option
|
||||||
|
>
|
||||||
<div class="help-label">
|
<option value="Doppelhaushälfte">Doppelhaushälfte</option>
|
||||||
<HelpLabel>
|
<option value="Reihenendhaus">Reihenendhaus</option>
|
||||||
Bitte wählen Sie hier den Gebäudetyp aus.
|
<option value="Reihenmittelhaus">Reihenmittelhaus</option>
|
||||||
</HelpLabel>
|
<option value="Mehrfamilienhaus">Mehrfamilienhaus</option>
|
||||||
</div>
|
<option value="Wohn- und Geschäftshaus"
|
||||||
</div>
|
>Wohn- und Geschäftshaus</option
|
||||||
|
>
|
||||||
|
<option value="Atrium-Bungalow">Atrium-Bungalow</option>
|
||||||
<!-- Anzahl der Wohnungen -->
|
<option value="Winkelbungalow">Winkelbungalow</option>
|
||||||
|
</select>
|
||||||
<div class="input-standard order-3 md:order-5 xl:order-3">
|
|
||||||
<Inputlabel title="Anzahl Wohnungen *"></Inputlabel>
|
<div class="help-label">
|
||||||
|
<HelpLabel>Bitte wählen Sie hier den Gebäudetyp aus.</HelpLabel>
|
||||||
<input id="einheiten"
|
</div>
|
||||||
class="rounded-e-none"
|
</div>
|
||||||
name="einheiten"
|
|
||||||
type="number"
|
<!-- Anzahl der Wohnungen -->
|
||||||
required
|
|
||||||
autocomplete="off"
|
<div class="input-standard order-3 md:order-5 xl:order-3">
|
||||||
data-msg="Pflichtfeld"
|
<Inputlabel title="Anzahl Wohnungen *"></Inputlabel>
|
||||||
maxlength="3"
|
|
||||||
bind:value={gebaeude_aufnahme_allgemein.einheiten}
|
<input
|
||||||
|
id="einheiten"
|
||||||
>
|
class="rounded-e-none"
|
||||||
|
name="einheiten"
|
||||||
<div class="help-label">
|
type="number"
|
||||||
<HelpLabel>
|
required
|
||||||
Bitte geben Sie hier die Anzahl der Wohnungen ein, die sich im
|
autocomplete="off"
|
||||||
Gebäude befinden.
|
data-msg="Pflichtfeld"
|
||||||
</HelpLabel>
|
maxlength="3"
|
||||||
</div>
|
bind:value={gebaeude_aufnahme_allgemein.einheiten}
|
||||||
</div>
|
/>
|
||||||
|
|
||||||
|
<div class="help-label">
|
||||||
<!-- Sanierungsstatus -->
|
<HelpLabel>
|
||||||
|
Bitte geben Sie hier die Anzahl der Wohnungen ein, die sich im
|
||||||
<div class="input-standard order-4 md:order-2 xl:order-4">
|
Gebäude befinden.
|
||||||
<Inputlabel title="Sanierungsstatus *"></Inputlabel>
|
</HelpLabel>
|
||||||
|
</div>
|
||||||
<select
|
</div>
|
||||||
name="saniert"
|
|
||||||
class=""
|
<!-- Sanierungsstatus -->
|
||||||
required
|
|
||||||
bind:value={gebaeude_aufnahme_allgemein.saniert}
|
<div class="input-standard order-4 md:order-2 xl:order-4">
|
||||||
>
|
<Inputlabel title="Sanierungsstatus *"></Inputlabel>
|
||||||
|
|
||||||
<option disabled selected value={false}>Bitte auswählen</option>
|
<select
|
||||||
<option value={true}>saniert</option>
|
name="saniert"
|
||||||
<option value={false}>unsaniert</option>
|
class=""
|
||||||
|
required
|
||||||
</select>
|
bind:value={gebaeude_aufnahme_allgemein.saniert}
|
||||||
|
>
|
||||||
<div class="help-label">
|
<option disabled selected value={false}>Bitte auswählen</option>
|
||||||
<HelpLabel>
|
<option value={true}>saniert</option>
|
||||||
Bitte geben Sie an ob das Gebäude energetisch saniert oder unsaniert
|
<option value={false}>unsaniert</option>
|
||||||
ist. Wenn das Dach mindestens 12 cm gedämmt und Heizung sowie
|
</select>
|
||||||
Fenster nicht älter als 30 Jahre sind, können Sie saniert auswählen.
|
|
||||||
</HelpLabel>
|
<div class="help-label">
|
||||||
</div>
|
<HelpLabel>
|
||||||
</div>
|
Bitte geben Sie an ob das Gebäude energetisch saniert oder
|
||||||
|
unsaniert ist. Wenn das Dach mindestens 12 cm gedämmt und
|
||||||
|
Heizung sowie Fenster nicht älter als 30 Jahre sind, können Sie
|
||||||
<!-- Baujahr -->
|
saniert auswählen.
|
||||||
|
</HelpLabel>
|
||||||
<div class="input-standard order-5 md:order-4 xl:order-5">
|
</div>
|
||||||
<Inputlabel title="Baujahr *"></Inputlabel>
|
</div>
|
||||||
|
|
||||||
<TagInput
|
<!-- Baujahr -->
|
||||||
name="baujahr_gebaeude"
|
|
||||||
type="number"
|
<div class="input-standard order-5 md:order-4 xl:order-5">
|
||||||
onlyUnique={true}
|
<Inputlabel title="Baujahr *"></Inputlabel>
|
||||||
minChars={4}
|
|
||||||
onFocusIn={() => {
|
<TagInput
|
||||||
addNotification({
|
name="baujahr_gebaeude"
|
||||||
message: "Info",
|
type="number"
|
||||||
subtext:
|
onlyUnique={true}
|
||||||
"Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrem Gebäude durchgeführt wurden. Drücken sie dafür einfach <kbd>Enter</kbd> oder <kbd>Space</kbd> nach jedem Jahr.",
|
minChars={4}
|
||||||
dismissable: true,
|
onFocusIn={() => {
|
||||||
uid: "GEBAEUDE_BAUJAHR",
|
addNotification({
|
||||||
timeout: 0,
|
message: "Info",
|
||||||
type: "info",
|
subtext:
|
||||||
});
|
"Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrem Gebäude durchgeführt wurden. Drücken sie dafür einfach <kbd>Enter</kbd> oder <kbd>Space</kbd> nach jedem Jahr.",
|
||||||
}}
|
dismissable: true,
|
||||||
onFocusOut={() => {
|
uid: "GEBAEUDE_BAUJAHR",
|
||||||
deleteNotification("GEBAEUDE_BAUJAHR");
|
timeout: 0,
|
||||||
}}
|
type: "info",
|
||||||
className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein)
|
});
|
||||||
? "linked"
|
}}
|
||||||
: ""}
|
onFocusOut={() => {
|
||||||
bind:tags={gebaeude_aufnahme_allgemein.baujahr_gebaeude}
|
deleteNotification("GEBAEUDE_BAUJAHR");
|
||||||
/>
|
}}
|
||||||
|
className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein)
|
||||||
<div class="help-label">
|
? "linked"
|
||||||
<HelpLabel>
|
: ""}
|
||||||
Bitte geben Sie hier das Baujahr des Gebäudes ein. Sollte eine eine
|
bind:tags={gebaeude_aufnahme_allgemein.baujahr_gebaeude}
|
||||||
grundlegende Sanierung von Dach, Fenster und Heizung stattgefunden
|
/>
|
||||||
haben, dann berücksichtigen Sie das in dem Sie bei Sanierungsstatus
|
|
||||||
-saniert- angeben.
|
<div class="help-label">
|
||||||
</HelpLabel>
|
<HelpLabel>
|
||||||
</div>
|
Bitte geben Sie hier das Baujahr des Gebäudes ein. Sollte eine
|
||||||
</div>
|
eine grundlegende Sanierung von Dach, Fenster und Heizung
|
||||||
|
stattgefunden haben, dann berücksichtigen Sie das in dem Sie bei
|
||||||
|
Sanierungsstatus -saniert- angeben.
|
||||||
<!-- Baujahr Heizung -->
|
</HelpLabel>
|
||||||
|
</div>
|
||||||
<div class="input-standard order-6 md:order-6 xl:order-6">
|
</div>
|
||||||
<Inputlabel title="Baujahr Heizung *"></Inputlabel>
|
|
||||||
|
<!-- Baujahr Heizung -->
|
||||||
<TagInput
|
|
||||||
name="baujahr_heizung"
|
<div class="input-standard order-6 md:order-6 xl:order-6">
|
||||||
type="number"
|
<Inputlabel title="Baujahr Heizung *"></Inputlabel>
|
||||||
onlyUnique={true}
|
|
||||||
minChars={4}
|
<TagInput
|
||||||
onFocusIn={() => {
|
name="baujahr_heizung"
|
||||||
addNotification({
|
type="number"
|
||||||
message: "Info",
|
onlyUnique={true}
|
||||||
subtext:
|
minChars={4}
|
||||||
"Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrer Heizung durchgeführt wurden. Drücken sie dafür einfach <kbd>Enter</kbd> oder <kbd>Space</kbd> nach jedem Jahr.",
|
onFocusIn={() => {
|
||||||
dismissable: true,
|
addNotification({
|
||||||
uid: "HEIZUNG_BAUJAHR",
|
message: "Info",
|
||||||
timeout: 0,
|
subtext:
|
||||||
type: "info",
|
"Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrer Heizung durchgeführt wurden. Drücken sie dafür einfach <kbd>Enter</kbd> oder <kbd>Space</kbd> nach jedem Jahr.",
|
||||||
});
|
dismissable: true,
|
||||||
}}
|
uid: "HEIZUNG_BAUJAHR",
|
||||||
onFocusOut={() => {
|
timeout: 0,
|
||||||
deleteNotification("HEIZUNG_BAUJAHR");
|
type: "info",
|
||||||
}}
|
});
|
||||||
className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein)
|
}}
|
||||||
? "linked"
|
onFocusOut={() => {
|
||||||
: ""}
|
deleteNotification("HEIZUNG_BAUJAHR");
|
||||||
bind:tags={gebaeude_aufnahme_allgemein.baujahr_heizung}
|
}}
|
||||||
/>
|
className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein)
|
||||||
|
? "linked"
|
||||||
<div class="help-label">
|
: ""}
|
||||||
<HelpLabel>
|
bind:tags={gebaeude_aufnahme_allgemein.baujahr_heizung}
|
||||||
Bitte geben Sie hier das Baujahr der Heizungsanlage ein. Sollten
|
/>
|
||||||
unterschiedliche Baujahre vorliegen, dann geben Sie einen
|
|
||||||
Zeitbereich ein <br />z.B. 1994-2001.
|
<div class="help-label">
|
||||||
</HelpLabel>
|
<HelpLabel>
|
||||||
</div>
|
Bitte geben Sie hier das Baujahr der Heizungsanlage ein. Sollten
|
||||||
</div>
|
unterschiedliche Baujahre vorliegen, dann geben Sie einen
|
||||||
|
Zeitbereich ein <br />z.B. 1994-2001.
|
||||||
|
</HelpLabel>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,67 +1,67 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import ImageGrid from "../ImageGrid.svelte";;
|
import ImageGrid from "../ImageGrid.svelte";;
|
||||||
import { Enums, type BedarfsausweisWohnen, type VerbrauchsausweisGewerbe } from "@ibcornelsen/database/client";
|
import { Enums, type BedarfsausweisWohnen, type VerbrauchsausweisGewerbe } from "@ibcornelsen/database/client";
|
||||||
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./types";
|
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./types.js";
|
||||||
|
|
||||||
export let images: UploadedGebaeudeBild[] = [];
|
export let images: UploadedGebaeudeBild[] = [];
|
||||||
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbe | BedarfsausweisWohnen;
|
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbe | BedarfsausweisWohnen;
|
||||||
export let gebaeude: GebaeudeClient;
|
export let gebaeude: GebaeudeClient;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-4">
|
<div class="grid grid-cols-2 gap-4">
|
||||||
<div class="rounded-lg border-4 p-4 bg-white">
|
<div class="rounded-lg border-4 p-4 bg-white">
|
||||||
<input type="file" class="image_upload" multiple />
|
<input type="file" class="image_upload" multiple />
|
||||||
|
|
||||||
<p class="font-bold mb-2">
|
<p class="font-bold mb-2">
|
||||||
<span class="text-red-500">WICHTIG:</span>
|
<span class="text-red-500">WICHTIG:</span>
|
||||||
Bild Upload - Heizungsanlage bzw. des Wärmeerzeugers (1 bis 4 Bilder)
|
Bild Upload - Heizungsanlage bzw. des Wärmeerzeugers (1 bis 4 Bilder)
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in
|
Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in
|
||||||
Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude
|
Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude
|
||||||
zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür
|
zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür
|
||||||
müssen laut Gesetzgeber Detailbilder vom Sanierungszustand bzw. der
|
müssen laut Gesetzgeber Detailbilder vom Sanierungszustand bzw. der
|
||||||
Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur
|
Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur
|
||||||
Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem
|
Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem
|
||||||
Energieausweis.
|
Energieausweis.
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<ol>
|
<ol>
|
||||||
<li>1.Bild : Heizungsraum mit Heizkessel bzw. Heizungsanlage*</li>
|
<li>1.Bild : Heizungsraum mit Heizkessel bzw. Heizungsanlage*</li>
|
||||||
<li>
|
<li>
|
||||||
2.Bild : <em
|
2.Bild : <em
|
||||||
>(wenn möglich, Warmwasserleitungen bzw. die Heizungsrohre)</em
|
>(wenn möglich, Warmwasserleitungen bzw. die Heizungsrohre)</em
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
3.Bild : <em
|
3.Bild : <em
|
||||||
>(wenn möglich, Detailbild des Wärmeerzeugers bzw.
|
>(wenn möglich, Detailbild des Wärmeerzeugers bzw.
|
||||||
Heizkessel)</em
|
Heizkessel)</em
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
4.Bild : <em
|
4.Bild : <em
|
||||||
>(wenn möglich, Bild des Typenschildes der Heizung)</em
|
>(wenn möglich, Bild des Typenschildes der Heizung)</em
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>* erforderliches Bild</p>
|
<p>* erforderliches Bild</p>
|
||||||
<br />
|
<br />
|
||||||
<p>
|
<p>
|
||||||
Idealerweise sollte der Heizungsraum mit Heizkessel bzw.
|
Idealerweise sollte der Heizungsraum mit Heizkessel bzw.
|
||||||
Heizungsanlage fotografiert werden. Die Warmwasserleitungen bzw. die
|
Heizungsanlage fotografiert werden. Die Warmwasserleitungen bzw. die
|
||||||
Heizungsrohre sollten gut sichtbar sein und vorhandene bzw. nicht
|
Heizungsrohre sollten gut sichtbar sein und vorhandene bzw. nicht
|
||||||
vorhandene Dämmung sollte erkennbar sein.
|
vorhandene Dämmung sollte erkennbar sein.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="rounded-lg border-4 p-4 bg-white">
|
<div class="rounded-lg border-4 p-4 bg-white">
|
||||||
<p>
|
<p>
|
||||||
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf
|
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf
|
||||||
Ihrem Energieausweis!<br />
|
Ihrem Energieausweis!<br />
|
||||||
<strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong>
|
<strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong>
|
||||||
</p>
|
</p>
|
||||||
<ImageGrid name={"heizung_image"} kategorie={Enums.BilderKategorie.Heizung} max={4} bind:gebaeude bind:images bind:ausweis />
|
<ImageGrid name={"heizung_image"} kategorie={Enums.BilderKategorie.Heizung} max={4} bind:gebaeude bind:images bind:ausweis />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,56 @@
|
|||||||
|
<script>
|
||||||
|
import { PRICES } from "#lib/constants";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id ="card-BAG-promo" class="box card">
|
||||||
|
<div class="">
|
||||||
|
|
||||||
|
<h2>Bedarfsausweis Gewerbe</h2>
|
||||||
|
<hr class="mb-2">
|
||||||
|
|
||||||
|
<div class="flex flex-row mb-2 mt-2 w-full items-end">
|
||||||
|
<div>
|
||||||
|
<img class="w-[100%] !min-w-[100px]" src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" alt="Gewerbe Bedarfsausweis"/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p class="promo tracking-tighter text-2xl text-gray-700 pl-3">ab<span class="promo pl-2">{PRICES.BedarfsausweisGewerbe[0]}</span>€</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="white">
|
||||||
|
<div class="variante">fundiert (empfohlen)</div>
|
||||||
|
<div class="services"><div>Mehrzonenmodell nach DIN 18599.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Zulässig bei Vermietung oder Verkauf.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Grundlage für Sanierungsvarianten.</div><div class="check-no">✔</div></div>
|
||||||
|
<div class="services"><div>Objektiveres, besser vergleichbares Ergebnis.</div><div class="check-no">✔</div></div>
|
||||||
|
</div>
|
||||||
|
<a href="./energieausweis-erstellen/bedarfsausweis-gewerbe/" id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
" >jetzt online erstellen</a>
|
||||||
|
|
||||||
|
<a href="./energieausweis-erstellen/bedarfsausweis-gewerbe/" id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-primary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
" >zur Produktübersicht</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
#card-BAG-promo{
|
||||||
|
|
||||||
|
|
||||||
|
.white{@apply text-center text-black p-2 grid grid-rows-subgrid row-span-6}
|
||||||
|
|
||||||
|
.variante{@apply w-fit text-black justify-self-end mr-3}
|
||||||
|
.variante{@apply text-2xl}
|
||||||
|
|
||||||
|
.services{@apply text-start py-2 grid grid-cols-[1fr_minmax(10px,50px)]}
|
||||||
|
.services:not(:last-child){@apply border-b-[1px] border-gray-200}
|
||||||
|
.check{@apply justify-self-end font-bold text-green-700}
|
||||||
|
.check-no{@apply justify-self-end font-bold text-red-700}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<script>
|
||||||
|
import { PRICES } from "#lib/constants";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id ="card-BA-promo" class="box card">
|
||||||
|
<div class="">
|
||||||
|
|
||||||
|
<h2>Bedarfssausweis Wohngebäude</h2>
|
||||||
|
<hr class="mb-2">
|
||||||
|
|
||||||
|
<div class="flex flex-row mb-2 mt-2 w-full items-end">
|
||||||
|
<div>
|
||||||
|
<img class="w-[100%] !min-w-[100px]" src="/images/right-sidebar/UMBE_wohngebaeude.svg" alt="Wohnhaus Bedarfsausweis"/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p class="promo tracking-tighter text-2xl text-gray-700 pl-3">ab<span class="promo pl-2">{PRICES.BedarfsausweisWohnen[0]}</span>€</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="white">
|
||||||
|
<div class="variante">fundiert (empfohlen)</div>
|
||||||
|
<div class="services"><div>Erfassung der Gebäudegeometrie.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Für Vermietung, Verkauf und Finanzierung.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Zulässig auch für unsanierte Objekte.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Kann als Grundlage für den ISFP dienen.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Objektivere Berechnungsmethode nach DIN 18599.</div><div class="check">✔</div></div>
|
||||||
|
</div>
|
||||||
|
<a href="./energieausweis-erstellen/bedarfsausweis-wohngebaeude/" id="link-BA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
" >jetzt online erstellen</a>
|
||||||
|
|
||||||
|
<a href="./energieausweis-erstellen/bedarfsausweis-wohngebaeude/" id="link-BA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-primary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
" >zur Produktübersicht</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
#card-BA-promo{
|
||||||
|
|
||||||
|
|
||||||
|
.white{@apply text-center text-black p-2 grid grid-rows-subgrid row-span-6}
|
||||||
|
|
||||||
|
.variante{@apply w-fit text-black justify-self-end mr-3}
|
||||||
|
.variante{@apply text-2xl}
|
||||||
|
|
||||||
|
.services{@apply text-start py-2 grid grid-cols-[1fr_minmax(10px,50px)]}
|
||||||
|
.services:not(:last-child){@apply border-b-[1px] border-gray-200}
|
||||||
|
.check{@apply justify-self-end font-bold text-green-700}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<script>
|
||||||
|
import { PRICES } from "#lib/constants";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id ="card-VAG-promo" class="box card ">
|
||||||
|
<div class="">
|
||||||
|
|
||||||
|
<h2>Verbrauchsausweis Gewerbe</h2>
|
||||||
|
<hr class="mb-2">
|
||||||
|
|
||||||
|
<div class="flex flex-row mb-2 mt-2 w-full items-end">
|
||||||
|
<div>
|
||||||
|
<img class="w-[100%] !min-w-[100px]" src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" alt="Gewerbe Verbrauchsausweis"/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p class="promo tracking-tighter text-2xl text-gray-700 pl-3">ab<span class="promo pl-2">{PRICES.VerbrauchsausweisGewerbe[0]}</span>€</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="white">
|
||||||
|
<div class="variante">einfach</div>
|
||||||
|
<div class="services"><div>3 Jahresverbräuche von Heizung Gebäudestrom nötig.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Zulässig bei Vermietung oder Verkauf.</div><div class="check">✔</div></div>
|
||||||
|
<div class="services"><div>Für bauliche und energetische Maßnahmen ungeeignet.</div><div class="check-no">✘</div></div>
|
||||||
|
<div class="services"><div>Wird nicht immer bei den Banken akzeptiert.</div><div class="check-no">✘</div></div>
|
||||||
|
</div>
|
||||||
|
<a href="./energieausweis-erstellen/verbrauchsausweis-gewerbe/" id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
" >jetzt online erstellen</a>
|
||||||
|
|
||||||
|
<a href="./energieausweis-erstellen/verbrauchsausweis-gewerbe/" id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-primary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
" >zur Produktübersicht</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
#card-VAG-promo{
|
||||||
|
|
||||||
|
|
||||||
|
.white{@apply text-center text-black p-2 grid grid-rows-subgrid row-span-6}
|
||||||
|
|
||||||
|
.variante{@apply w-fit text-black justify-self-end mr-3}
|
||||||
|
.variante{@apply text-2xl}
|
||||||
|
|
||||||
|
.services{@apply text-start py-2 grid grid-cols-[1fr_minmax(10px,50px)]}
|
||||||
|
.services:not(:last-child){@apply border-b-[1px] border-gray-200}
|
||||||
|
.check{@apply justify-self-end font-bold text-green-700}
|
||||||
|
.check-no{@apply justify-self-end font-bold text-red-700}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
<script>
|
||||||
|
import { PRICES } from "#lib/constants";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id="card-VA-promo" class="box card bg-white px-6 py-4 mb-5">
|
||||||
|
<div class="">
|
||||||
|
<h2>Verbrauchsausweis Wohngebäude</h2>
|
||||||
|
<hr class="mb-2" />
|
||||||
|
|
||||||
|
<div class="flex flex-row mb-2 mt-2 w-full items-end">
|
||||||
|
<div>
|
||||||
|
<img
|
||||||
|
class="w-[100%] !min-w-[100px]"
|
||||||
|
src="/images/right-sidebar/UMBE_wohngebaeude.svg"
|
||||||
|
alt="Wohnhaus Verbrauchsausweis"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p class="promo tracking-tighter text-2xl text-gray-700 pl-3">
|
||||||
|
ab<span class="promo pl-2"
|
||||||
|
>{PRICES.VerbrauchsausweisWohnen[0]}</span
|
||||||
|
>€
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="white">
|
||||||
|
<div class="variante">einfach</div>
|
||||||
|
<div class="services">
|
||||||
|
<div>3 Jahresverbräuche der Heizung benötigt.</div>
|
||||||
|
<div class="check">✔</div>
|
||||||
|
</div>
|
||||||
|
<div class="services">
|
||||||
|
<div>Zulässig bei Vermietung oder Verkauf.</div>
|
||||||
|
<div class="check">✔</div>
|
||||||
|
</div>
|
||||||
|
<div class="services">
|
||||||
|
<div>Unzulässig bei unsanierten Gebäuden vor 1978.</div>
|
||||||
|
<div class="check-no">✘</div>
|
||||||
|
</div>
|
||||||
|
<div class="services">
|
||||||
|
<div>Ungenau durch individuelles Heizverhalten.</div>
|
||||||
|
<div class="check-no">✘</div>
|
||||||
|
</div>
|
||||||
|
<div class="services">
|
||||||
|
<div>Wird nicht immer bei den Banken akzeptiert.</div>
|
||||||
|
<div class="check-no">✘</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-row flex-wrap justify-center">
|
||||||
|
<a
|
||||||
|
href="./energieausweis-erstellen/verbrauchsausweis-wohngebaeude/"
|
||||||
|
id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
">jetzt online erstellen</a
|
||||||
|
>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="./energieausweis-erstellen/verbrauchsausweis-wohngebaeude/"
|
||||||
|
id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-primary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
">zur Produktübersicht</a
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
#card-VA-promo {
|
||||||
|
.white {
|
||||||
|
@apply text-center text-black p-2 grid grid-rows-subgrid row-span-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.variante {
|
||||||
|
@apply w-fit text-black justify-self-end mr-3;
|
||||||
|
}
|
||||||
|
.variante {
|
||||||
|
@apply text-2xl;
|
||||||
|
}
|
||||||
|
|
||||||
|
.services {
|
||||||
|
@apply text-start py-2 grid grid-cols-[1fr_minmax(10px,50px)];
|
||||||
|
}
|
||||||
|
.services:not(:last-child) {
|
||||||
|
@apply border-b-[1px] border-gray-200;
|
||||||
|
}
|
||||||
|
.check {
|
||||||
|
@apply justify-self-end font-bold text-green-700;
|
||||||
|
}
|
||||||
|
.check-no {
|
||||||
|
@apply justify-self-end font-bold text-red-700;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,25 +1,35 @@
|
|||||||
<script>
|
<script>
|
||||||
import { PRICES } from "#lib/constants";
|
import { PRICES } from "#lib/constants";
|
||||||
</script>
|
</script>
|
||||||
|
<<<<<<< HEAD:src/components/design/sidebars/cards/cardVApromo.svelte
|
||||||
<div id ="cardVApromo"
|
|
||||||
class=" box card">
|
<div id ="cardVApromo"
|
||||||
|
class=" box card">
|
||||||
<div class="grid">
|
=======
|
||||||
|
>>>>>>> origin/UMBE:src/components/design/sidebars/cards/card-VA-promo.svelte
|
||||||
<h2>Verbrauchsausweis Wohngebäude</h2>
|
|
||||||
<hr class="mb-4">
|
<div id="card-VA-promo" class=" box card bg-white px-6 py-4 mb-5">
|
||||||
<img class="w-[70%] justify-self-center !min-w-[100px] mb-[1rem]" src="/images/right-sidebar/UMBE_wohngebaeude.svg" alt="Wohnhaus Verbrauchsausweis"/>
|
<div class="grid">
|
||||||
<p class="promo tracking-tighter text-[2rem] text-gray-700 pl-6">ab<span class="promo pl-2">{PRICES.VerbrauchsausweisWohnen[0]}</span>€</p>
|
<h2>Verbrauchsausweis Wohngebäude</h2>
|
||||||
<a href="./energieausweis-erstellen/verbrauchsausweis-wohngebaeude/" id="link-VA-promo"
|
<hr class="mb-4" />
|
||||||
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
<img
|
||||||
hover:bg-primary
|
class="w-[70%] justify-self-center !min-w-[100px] mb-[1rem]"
|
||||||
" >jetzt Verbrauchsausweis erstellen</a>
|
src="/images/right-sidebar/UMBE_wohngebaeude.svg"
|
||||||
</div>
|
alt="Wohnhaus Verbrauchsausweis"
|
||||||
</div>
|
/>
|
||||||
|
<p class="promo tracking-tighter text-[2rem] text-gray-700 pl-6">
|
||||||
|
ab<span class="promo pl-2">{PRICES.VerbrauchsausweisWohnen[0]}</span
|
||||||
<style lang="scss">
|
>€
|
||||||
|
</p>
|
||||||
|
<a
|
||||||
</style>
|
href="./energieausweis-erstellen/verbrauchsausweis-wohngebaeude/"
|
||||||
|
id="link-VA-promo"
|
||||||
|
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
|
||||||
|
hover:bg-primary
|
||||||
|
">jetzt Verbrauchsausweis erstellen</a
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,222 +1,315 @@
|
|||||||
|
<script lang="ts">
|
||||||
<script lang="ts">
|
import CardVerbrauchsausweisWidget from "#content/CardVerbrauchsausweisWidget.svelte";
|
||||||
|
import CardVerbrauchsausweisGewerbeWidget from "#content/CardVerbrauchsausweisGewerbeWidget.svelte";
|
||||||
import cardVAwidget from "#content/cardVAwidget.svelte";
|
import CardBedarfsausweisWidget from "#content/CardBedarfsausweisWidget.svelte";
|
||||||
import cardVAGwidget from "#content/cardVAGwidget.svelte";
|
import CardBedarfsausweisGewerbeWidget from "#content/CardBedarfsausweisGewerbeWidget.svelte";
|
||||||
import cardBAwidget from "#content/cardBAwidget.svelte";
|
import { fade } from "svelte/transition";
|
||||||
import cardBAGwidget from "#content/cardBAGwidget.svelte";
|
|
||||||
import { fade } from 'svelte/transition';
|
<<<<<<< HEAD:src/components/widgets/welcherAusweisWidget.svelte
|
||||||
|
import cardVAwidget from "#content/cardVAwidget.svelte";
|
||||||
let selectedType: string = "";
|
import cardVAGwidget from "#content/cardVAGwidget.svelte";
|
||||||
let selectedReason: string = "";
|
import cardBAwidget from "#content/cardBAwidget.svelte";
|
||||||
let selectedUnits: string = "";
|
import cardBAGwidget from "#content/cardBAGwidget.svelte";
|
||||||
let selectedStatus: string = "";
|
import { fade } from 'svelte/transition';
|
||||||
let selectedYear: string = "";
|
=======
|
||||||
|
let gebaeudetyp: string;
|
||||||
let showBA: boolean = false;
|
let anlass: string;
|
||||||
let showVAG: boolean = false;
|
let einheiten: string;
|
||||||
let showBAG: boolean = false;
|
let sanierungsstatus: string;
|
||||||
let showVA: boolean = false;
|
let baujahr: string;
|
||||||
|
>>>>>>> origin/UMBE:src/components/Widget.svelte
|
||||||
function handleTypeChange(event: Event) {
|
|
||||||
selectedType = (event.target as HTMLSelectElement).value;
|
const allowedTypes = [
|
||||||
updateResultVisibility();
|
"Einfamilienhaus",
|
||||||
}
|
"Zweifamilienhaus",
|
||||||
|
"Mehrfamilienhaus",
|
||||||
function handleReasonChange(event: Event) {
|
"Mischgebäude",
|
||||||
selectedReason = (event.target as HTMLSelectElement).value;
|
];
|
||||||
updateResultVisibility();
|
const allowedTypesGewerbe = ["Gewerbegebäude", "Mischgebäude"];
|
||||||
}
|
const allowedReason = ["Vermietung/Verkauf", "sonstiges", "Aushangpflicht"];
|
||||||
|
|
||||||
function handleUnitsChange(event: Event) {
|
let showVerbrauchsausweis: boolean = false
|
||||||
selectedUnits = (event.target as HTMLSelectElement).value;
|
|
||||||
updateResultVisibility();
|
$: {
|
||||||
}
|
if (baujahr === "vor 1978") {
|
||||||
|
showVerbrauchsausweis =
|
||||||
function handleStatusChange(event: Event) {
|
allowedReason.includes(anlass) &&
|
||||||
selectedStatus = (event.target as HTMLSelectElement).value;
|
allowedTypes.includes(gebaeudetyp) &&
|
||||||
updateResultVisibility();
|
(einheiten === "mehr als 4 Wohneinheiten" ||
|
||||||
}
|
sanierungsstatus === "saniert");
|
||||||
|
} else {
|
||||||
function handleYearChange(event: Event) {
|
showVerbrauchsausweis =
|
||||||
selectedYear = (event.target as HTMLSelectElement).value;
|
allowedReason.includes(anlass) &&
|
||||||
updateResultVisibility();
|
allowedTypes.includes(gebaeudetyp);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
const allowedTypes = ["Einfamilienhaus", "Zweifamilienhaus", "Mehrfamilienhaus", "Mischgebäude"];
|
</script>
|
||||||
const allowedTypesGewerbe = ["Gewerbegebäude", "Mischgebäude"];
|
|
||||||
const allowedReason = ["Vermietung/Verkauf", "sonstiges", "Aushangpflicht"];
|
<<<<<<< HEAD:src/components/widgets/welcherAusweisWidget.svelte
|
||||||
// const allowedReasonBau = ["Modernisierung", "Neubau", "Erweiterung"];
|
<div id="OEA_widget">
|
||||||
|
<input id="recode" type="hidden" value="widgetvorlage">
|
||||||
function updateResultVisibility() {
|
|
||||||
// Die Bedingung, um das Ergebnis anzuzeigen
|
<div id="OEA_input">
|
||||||
|
|
||||||
// Zusätzliche Bedingung: Wenn "vor 1978" ausgewählt wurde
|
<div class="OEA_zeile1">
|
||||||
if (selectedYear === "vor 1978") {
|
<div class="OEA_item1">
|
||||||
showVA = (allowedReason.includes(selectedReason) && allowedTypes.includes(selectedType)) && (selectedUnits === "mehr als 4 Wohneinheiten" || selectedStatus === "saniert");
|
<div class="OEA_title1">Gebäudetyp</div>
|
||||||
}
|
<select class="OEA_auswahl1" id="OEA_changeTyp" on:change={handleTypeChange}>
|
||||||
else
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
{
|
<option value="Einfamilienhaus">Einfamilienhaus</option>
|
||||||
showVA = allowedReason.includes(selectedReason) && allowedTypes.includes(selectedType);
|
<option value="Zweifamilienhaus">Zweifamilienhaus</option>
|
||||||
}
|
<option value="Mehrfamilienhaus">Mehrfamilienhaus</option>
|
||||||
|
<option value="Gewerbegebäude">Gewerbegebäude</option>
|
||||||
showBA = allowedReason.includes(selectedReason) && allowedTypes.includes(selectedType);
|
<option value="Mischgebäude">Mischgebäude</option>
|
||||||
showVAG = allowedReason.includes(selectedReason) && allowedTypesGewerbe.includes(selectedType);
|
</select>
|
||||||
showBAG = allowedReason.includes(selectedReason) && allowedTypesGewerbe.includes(selectedType);
|
</div>
|
||||||
}
|
|
||||||
|
<div class="OEA_item2">
|
||||||
</script>
|
<div class="OEA_title1">Anlass</div>
|
||||||
|
<select class="OEA_auswahl1" id="OEA_changeAnlass" on:change={handleReasonChange}>
|
||||||
<div id="OEA_widget">
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
<input id="recode" type="hidden" value="widgetvorlage">
|
<option value="Vermietung/Verkauf">Vermietung/Verkauf</option>
|
||||||
|
<option value="Modernisierung">Modernisierung</option>
|
||||||
<div id="OEA_input">
|
<option value="Neubau">Neubau</option>
|
||||||
|
<option value="Erweiterung">Erweiterung</option>
|
||||||
<div class="OEA_zeile1">
|
<option value="Aushangpflicht">Aushangpflicht</option>
|
||||||
<div class="OEA_item1">
|
<option value="sonstiges">sonstiges z.B. Bank</option>
|
||||||
<div class="OEA_title1">Gebäudetyp</div>
|
</select>
|
||||||
<select class="OEA_auswahl1" id="OEA_changeTyp" on:change={handleTypeChange}>
|
</div>
|
||||||
<option value="" selected disabled>bitte auswählen</option>
|
</div>
|
||||||
<option value="Einfamilienhaus">Einfamilienhaus</option>
|
|
||||||
<option value="Zweifamilienhaus">Zweifamilienhaus</option>
|
<div class="OEA_zeile2">
|
||||||
<option value="Mehrfamilienhaus">Mehrfamilienhaus</option>
|
<div class="OEA_item3">
|
||||||
<option value="Gewerbegebäude">Gewerbegebäude</option>
|
<div class="OEA_title2">Baujahr</div>
|
||||||
<option value="Mischgebäude">Mischgebäude</option>
|
<select class="OEA_auswahl2" id="changeBaujahr" on:change={handleYearChange}>
|
||||||
</select>
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
</div>
|
<option value="vor 1978">vor 1978</option>
|
||||||
|
<option value="nach 1977">nach 1977</option>
|
||||||
<div class="OEA_item2">
|
</select>
|
||||||
<div class="OEA_title1">Anlass</div>
|
</div>
|
||||||
<select class="OEA_auswahl1" id="OEA_changeAnlass" on:change={handleReasonChange}>
|
|
||||||
<option value="" selected disabled>bitte auswählen</option>
|
<div class="OEA_item4">
|
||||||
<option value="Vermietung/Verkauf">Vermietung/Verkauf</option>
|
<div class="OEA_title2">Wohneinheiten</div>
|
||||||
<option value="Modernisierung">Modernisierung</option>
|
<select class="OEA_auswahl2" id="changeEinheiten" on:change={handleUnitsChange}>
|
||||||
<option value="Neubau">Neubau</option>
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
<option value="Erweiterung">Erweiterung</option>
|
<option value="bis 4 Wohneinheiten">bis 4 Wohneinheiten</option>
|
||||||
<option value="Aushangpflicht">Aushangpflicht</option>
|
<option value="mehr als 4 Wohneinheiten">mehr als 4 Wohneinheiten</option>
|
||||||
<option value="sonstiges">sonstiges z.B. Bank</option>
|
</select>
|
||||||
</select>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
<div class="OEA_item5">
|
||||||
|
<div class="OEA_title2">Sanierungsstatus</div>
|
||||||
<div class="OEA_zeile2">
|
<select class="OEA_auswahl2" id="changeStatus" on:change={handleStatusChange}>
|
||||||
<div class="OEA_item3">
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
<div class="OEA_title2">Baujahr</div>
|
<option value="saniert">saniert</option>
|
||||||
<select class="OEA_auswahl2" id="changeBaujahr" on:change={handleYearChange}>
|
<option value="unsaniert">unsaniert</option>
|
||||||
<option value="" selected disabled>bitte auswählen</option>
|
</select>
|
||||||
<option value="vor 1978">vor 1978</option>
|
</div>
|
||||||
<option value="nach 1977">nach 1977</option>
|
</div>
|
||||||
</select>
|
|
||||||
</div>
|
<div class="OEA_zeile3">
|
||||||
|
{#if showVA}
|
||||||
<div class="OEA_item4">
|
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
||||||
<div class="OEA_title2">Wohneinheiten</div>
|
<cardVAwidget client:load />
|
||||||
<select class="OEA_auswahl2" id="changeEinheiten" on:change={handleUnitsChange}>
|
</div>
|
||||||
<option value="" selected disabled>bitte auswählen</option>
|
{/if}
|
||||||
<option value="bis 4 Wohneinheiten">bis 4 Wohneinheiten</option>
|
|
||||||
<option value="mehr als 4 Wohneinheiten">mehr als 4 Wohneinheiten</option>
|
{#if showBA}
|
||||||
</select>
|
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
||||||
</div>
|
<cardBAwidget client:load />
|
||||||
|
</div>
|
||||||
<div class="OEA_item5">
|
{/if}
|
||||||
<div class="OEA_title2">Sanierungsstatus</div>
|
|
||||||
<select class="OEA_auswahl2" id="changeStatus" on:change={handleStatusChange}>
|
{#if showVAG}
|
||||||
<option value="" selected disabled>bitte auswählen</option>
|
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
||||||
<option value="saniert">saniert</option>
|
<cardVAGwidget client:load />
|
||||||
<option value="unsaniert">unsaniert</option>
|
</div>
|
||||||
</select>
|
{/if}
|
||||||
</div>
|
|
||||||
</div>
|
{#if showBAG}
|
||||||
|
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
||||||
<div class="OEA_zeile3">
|
<cardBAGwidget client:load />
|
||||||
{#if showVA}
|
</div>
|
||||||
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
{/if}
|
||||||
<cardVAwidget client:load />
|
</div>
|
||||||
</div>
|
=======
|
||||||
{/if}
|
<div id="OEA_widget">
|
||||||
|
<input id="recode" type="hidden" value="widgetvorlage" />
|
||||||
{#if showBA}
|
|
||||||
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
<div id="OEA_input">
|
||||||
<cardBAwidget client:load />
|
<div class="OEA_zeile1">
|
||||||
</div>
|
<div class="OEA_item1">
|
||||||
{/if}
|
<div class="OEA_title1">Gebäudetyp</div>
|
||||||
|
<select
|
||||||
{#if showVAG}
|
class="OEA_auswahl1"
|
||||||
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
bind:value={gebaeudetyp}
|
||||||
<cardVAGwidget client:load />
|
>
|
||||||
</div>
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
{/if}
|
<option value="Einfamilienhaus">Einfamilienhaus</option>
|
||||||
|
<option value="Zweifamilienhaus">Zweifamilienhaus</option>
|
||||||
{#if showBAG}
|
<option value="Mehrfamilienhaus">Mehrfamilienhaus</option>
|
||||||
<div class="OEA_item6 result" transition:fade={{ duration: 1000 }}>
|
<option value="Gewerbegebäude">Gewerbegebäude</option>
|
||||||
<cardBAGwidget client:load />
|
<option value="Mischgebäude">Mischgebäude</option>
|
||||||
</div>
|
</select>
|
||||||
{/if}
|
</div>
|
||||||
</div>
|
|
||||||
|
<div class="OEA_item2">
|
||||||
</div>
|
<div class="OEA_title1">Anlass</div>
|
||||||
</div>
|
<select
|
||||||
|
class="OEA_auswahl1"
|
||||||
|
bind:value={anlass}
|
||||||
<style lang="scss">
|
>
|
||||||
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
@tailwind base;
|
<option value="Vermietung/Verkauf"
|
||||||
@tailwind components;
|
>Vermietung/Verkauf</option
|
||||||
@tailwind utilities;
|
>
|
||||||
|
<option value="Modernisierung">Modernisierung</option>
|
||||||
#OEA_widget {
|
<option value="Neubau">Neubau</option>
|
||||||
@apply bg-gray-100 p-4 shadow-xl;
|
<option value="Erweiterung">Erweiterung</option>
|
||||||
|
<option value="Aushangpflicht">Aushangpflicht</option>
|
||||||
#OEA_input { @apply space-y-2;
|
<option value="sonstiges">sonstiges z.B. Bank</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
.OEA_zeile1, .OEA_zeile2 {
|
</div>
|
||||||
@apply flex flex-row space-x-2;
|
|
||||||
|
<div class="OEA_zeile2">
|
||||||
.OEA_item1, .OEA_item2, .OEA_item3, .OEA_item4, .OEA_item5 {
|
<div class="OEA_item3">
|
||||||
@apply w-full;
|
<div class="OEA_title2">Baujahr</div>
|
||||||
|
<select
|
||||||
.OEA_title1, .OEA_title2 {
|
class="OEA_auswahl2"
|
||||||
@apply font-bold text-lg text-white p-1.5 pl-2 rounded w-full;
|
bind:value={baujahr}
|
||||||
}
|
>
|
||||||
}
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
}
|
<option value="vor 1978">vor 1978</option>
|
||||||
|
<option value="nach 1977">nach 1977</option>
|
||||||
.OEA_title1 {
|
</select>
|
||||||
@apply bg-secondary;
|
</div>
|
||||||
}
|
>>>>>>> origin/UMBE:src/components/Widget.svelte
|
||||||
|
|
||||||
.OEA_title2 {
|
<div class="OEA_item4">
|
||||||
@apply bg-primary;
|
<div class="OEA_title2">Wohneinheiten</div>
|
||||||
}
|
<select
|
||||||
|
class="OEA_auswahl2"
|
||||||
.OEA_auswahl1, .OEA_auswahl2 {
|
bind:value={einheiten}
|
||||||
@apply w-full p-2 rounded focus:outline-none focus:ring-2 focus:ring-blue-500;
|
>
|
||||||
}
|
<option value="" selected disabled>bitte auswählen</option>
|
||||||
|
<option value="bis 4 Wohneinheiten"
|
||||||
#OEA_result {
|
>bis 4 Wohneinheiten</option
|
||||||
@apply rounded-lg text-gray-700;
|
>
|
||||||
}
|
<option value="mehr als 4 Wohneinheiten"
|
||||||
|
>mehr als 4 Wohneinheiten</option
|
||||||
|
>
|
||||||
.OEA_zeile3 {
|
</select>
|
||||||
@apply flex flex-row space-x-4 pt-6 items-center justify-center;
|
</div>
|
||||||
}
|
|
||||||
|
<div class="OEA_item5">
|
||||||
.OEA_item6 {
|
<div class="OEA_title2">Sanierungsstatus</div>
|
||||||
|
<select
|
||||||
.result {
|
class="OEA_auswahl2"
|
||||||
@apply opacity-0 transition-opacity duration-1000 ease-in-out;
|
bind:value={sanierungsstatus}
|
||||||
}
|
>
|
||||||
|
<option selected disabled>bitte auswählen</option>
|
||||||
.result[style*="opacity: 1"] {
|
<option value="saniert">saniert</option>
|
||||||
@apply opacity-100;
|
<option value="unsaniert">unsaniert</option>
|
||||||
}
|
</select>
|
||||||
}
|
</div>
|
||||||
|
</div>
|
||||||
}
|
|
||||||
}
|
<div class="OEA_zeile3">
|
||||||
|
{#if showVerbrauchsausweis}
|
||||||
|
<div
|
||||||
</style>
|
class="OEA_item6 result"
|
||||||
|
transition:fade={{ duration: 1000 }}
|
||||||
|
>
|
||||||
|
<CardVerbrauchsausweisWidget />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if allowedReason.includes(anlass) && allowedTypes.includes(gebaeudetyp)}
|
||||||
|
<div
|
||||||
|
class="OEA_item6 result"
|
||||||
|
transition:fade={{ duration: 1000 }}
|
||||||
|
>
|
||||||
|
<CardBedarfsausweisWidget />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if allowedReason.includes(anlass) && allowedTypesGewerbe.includes(gebaeudetyp)}
|
||||||
|
<div
|
||||||
|
class="OEA_item6 result"
|
||||||
|
transition:fade={{ duration: 1000 }}
|
||||||
|
>
|
||||||
|
<CardVerbrauchsausweisGewerbeWidget />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if allowedReason.includes(anlass) && allowedTypesGewerbe.includes(gebaeudetyp)}
|
||||||
|
<div
|
||||||
|
class="OEA_item6 result"
|
||||||
|
transition:fade={{ duration: 1000 }}
|
||||||
|
>
|
||||||
|
<CardBedarfsausweisGewerbeWidget />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
#OEA_widget {
|
||||||
|
@apply bg-gray-100 p-4 shadow-xl;
|
||||||
|
|
||||||
|
#OEA_input {
|
||||||
|
@apply space-y-2;
|
||||||
|
|
||||||
|
.OEA_zeile1,
|
||||||
|
.OEA_zeile2 {
|
||||||
|
@apply flex flex-row space-x-2;
|
||||||
|
|
||||||
|
.OEA_item1,
|
||||||
|
.OEA_item2,
|
||||||
|
.OEA_item3,
|
||||||
|
.OEA_item4,
|
||||||
|
.OEA_item5 {
|
||||||
|
@apply w-full;
|
||||||
|
|
||||||
|
.OEA_title1,
|
||||||
|
.OEA_title2 {
|
||||||
|
@apply font-bold text-lg text-white p-1.5 pl-2 rounded w-full;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.OEA_title1 {
|
||||||
|
@apply bg-secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.OEA_title2 {
|
||||||
|
@apply bg-primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.OEA_auswahl1,
|
||||||
|
.OEA_auswahl2 {
|
||||||
|
@apply w-full p-2 rounded focus:outline-none focus:ring-2 focus:ring-blue-500;
|
||||||
|
}
|
||||||
|
|
||||||
|
#OEA_result {
|
||||||
|
@apply rounded-lg text-gray-700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.OEA_zeile3 {
|
||||||
|
@apply flex flex-row space-x-4 pt-6 items-start justify-center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.OEA_item6 {
|
||||||
|
.result {
|
||||||
|
@apply opacity-0 transition-opacity duration-1000 ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result[style*="opacity: 1"] {
|
||||||
|
@apply opacity-100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,188 +1,238 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
//import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
|
//import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
|
||||||
//import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
//import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||||
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
||||||
|
|
||||||
import BereichLabel from "#labels/BereichLabel.svelte";
|
import BereichLabel from "#labels/BereichLabel.svelte";
|
||||||
import HelpLabel from "#labels/HelpLabel.svelte";
|
import HelpLabel from "#labels/HelpLabel.svelte";
|
||||||
import Inputlabel from "#labels/InputLabel.svelte";
|
import Inputlabel from "#labels/InputLabel.svelte";
|
||||||
import Label from "#components/Label.svelte";
|
import Label from "#components/Label.svelte";
|
||||||
|
|
||||||
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
||||||
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
||||||
|
|
||||||
import Verbrauch from "#components/Ausweis/Verbrauch.svelte";
|
import Verbrauch from "#components/Ausweis/Verbrauch.svelte";
|
||||||
//import ZipSearch from "#components/PlzSuche.svelte";
|
//import ZipSearch from "#components/PlzSuche.svelte";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import BilderZusatzsysteme from "#components/Ausweis/BilderZusatzsysteme.svelte";
|
import BilderZusatzsysteme from "#components/Ausweis/BilderZusatzsysteme.svelte";
|
||||||
import { RawNotificationWrapper, RawNotification, notifications } from "#components/Notifications/index.js";
|
import {
|
||||||
import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
RawNotificationWrapper,
|
||||||
import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js";
|
RawNotification,
|
||||||
import { auditZeitraumAktuell } from "#components/Verbrauchsausweis/audits/ZeitraumAktuell.js";
|
notifications,
|
||||||
import { auditKlimaFaktoren } from "#components/Verbrauchsausweis/audits/KlimaFaktoren.js";
|
} from "#components/Notifications/index.js";
|
||||||
import { auditWohnFlaeche } from "#components/Verbrauchsausweis/audits/WohnFlaeche.js";
|
import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
||||||
import { auditWarmWasser } from "#components/Verbrauchsausweis/audits/WarmWasser.js";
|
import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js";
|
||||||
import { auditLeerStand } from "#components/Verbrauchsausweis/audits/LeerStand.js";
|
import { auditZeitraumAktuell } from "#components/Verbrauchsausweis/audits/ZeitraumAktuell.js";
|
||||||
import { auditPlzNichtErkannt } from "#components/Verbrauchsausweis/audits/PlzNichtErkannt.js";
|
import { auditKlimaFaktoren } from "#components/Verbrauchsausweis/audits/KlimaFaktoren.js";
|
||||||
import { AuditType, hidden } from "#components/Verbrauchsausweis/audits/hidden.js";
|
import { auditWohnFlaeche } from "#components/Verbrauchsausweis/audits/WohnFlaeche.js";
|
||||||
import { auditBedarfsausweisBenoetigt } from "#components/Verbrauchsausweis/audits/BedarfsausweisBenoetigt.js";
|
import { auditWarmWasser } from "#components/Verbrauchsausweis/audits/WarmWasser.js";
|
||||||
import { auditVerbrauchAbweichung } from "#components/Verbrauchsausweis/audits/VerbrauchAbweichung.js";
|
import { auditLeerStand } from "#components/Verbrauchsausweis/audits/LeerStand.js";
|
||||||
import { auditEndEnergie } from "#components/Verbrauchsausweis/audits/EndEnergie.js";
|
import { auditPlzNichtErkannt } from "#components/Verbrauchsausweis/audits/PlzNichtErkannt.js";
|
||||||
import { auditWohnflaecheGroesserGesamtflaeche } from "#components/Verbrauchsausweis/audits/WohnflaecheGroesserGesamtflaeche.js";
|
import {
|
||||||
//import { Enums } from "@ibcornelsen/database/client"
|
AuditType,
|
||||||
import Overlay from "#components/Overlay.svelte";
|
hidden,
|
||||||
import AusweisGespeichertModule from "#modules/Ausweise/AusweisGespeichertModule.svelte";
|
} from "#components/Verbrauchsausweis/audits/hidden.js";
|
||||||
import { VerbrauchsausweisWohnenClient, BenutzerClient, UploadedGebaeudeBild } from "#components/Ausweis/types.js";
|
import { auditBedarfsausweisBenoetigt } from "#components/Verbrauchsausweis/audits/BedarfsausweisBenoetigt.js";
|
||||||
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
|
import { auditVerbrauchAbweichung } from "#components/Verbrauchsausweis/audits/VerbrauchAbweichung.js";
|
||||||
|
import { auditEndEnergie } from "#components/Verbrauchsausweis/audits/EndEnergie.js";
|
||||||
// TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann
|
import { auditWohnflaecheGroesserGesamtflaeche } from "#components/Verbrauchsausweis/audits/WohnflaecheGroesserGesamtflaeche.js";
|
||||||
// wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert...
|
//import { Enums } from "@ibcornelsen/database/client"
|
||||||
export let ausweis: VerbrauchsausweisWohnenClient;
|
import Overlay from "#components/Overlay.svelte";
|
||||||
export let user: BenutzerClient = {} as BenutzerClient;
|
import AusweisGespeichertModule from "#modules/Ausweise/AusweisGespeichertModule.svelte";
|
||||||
|
import {
|
||||||
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
VerbrauchsausweisWohnenClient,
|
||||||
let gebaeude = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
BenutzerClient,
|
||||||
let images: (UploadedGebaeudeBild & { base64?: string })[] = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten?.gebaeude_bilder || [];
|
UploadedGebaeudeBild,
|
||||||
|
} from "#components/Ausweis/types.js";
|
||||||
async function spaeterWeitermachen() {
|
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
|
||||||
const result = await verbrauchsausweisWohnenSpeichern(ausweis, gebaeude, gebaeude_aufnahme_allgemein, images, user);
|
|
||||||
|
// TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann
|
||||||
if (result !== null) {
|
// wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert...
|
||||||
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
export let ausweis: VerbrauchsausweisWohnenClient;
|
||||||
// Sonst müsste er alles neu eingeben...
|
export let user: BenutzerClient = {} as BenutzerClient;
|
||||||
ausweis.uid = result.uid
|
|
||||||
gebaeude.uid = result.gebaeude_uid
|
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
||||||
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid
|
let gebaeude =
|
||||||
window.history.pushState({}, "", `${location.pathname}?uid=${result.uid}`);
|
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
||||||
speichernOverlayHidden = false;
|
let images: (UploadedGebaeudeBild & { base64?: string })[] =
|
||||||
}
|
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten
|
||||||
}
|
?.gebaeude_bilder || [];
|
||||||
|
|
||||||
function automatischAusfüllen() {
|
async function spaeterWeitermachen() {
|
||||||
gebaeude_aufnahme_allgemein.baujahr_gebaeude = [1962];
|
const result = await verbrauchsausweisWohnenSpeichern(
|
||||||
gebaeude_aufnahme_allgemein.baujahr_heizung = [1952];
|
ausweis,
|
||||||
gebaeude_aufnahme_allgemein.saniert = true;
|
gebaeude,
|
||||||
gebaeude_aufnahme_allgemein.einheiten = 1;
|
gebaeude_aufnahme_allgemein,
|
||||||
ausweis.ausstellgrund = "Vermietung";
|
images,
|
||||||
ausweis.verbrauch_1 = 15000;
|
user
|
||||||
ausweis.verbrauch_2 = 14000;
|
);
|
||||||
ausweis.verbrauch_3 = 16000;
|
|
||||||
gebaeude_aufnahme_allgemein.flaeche = 152;
|
if (result !== null) {
|
||||||
gebaeude_aufnahme_allgemein.nutzflaeche = 172;
|
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||||
ausweis.keller_beheizt = true;
|
// Sonst müsste er alles neu eingeben...
|
||||||
gebaeude_aufnahme_allgemein.brennstoff_1 = "Erdgas H";
|
ausweis.uid = result.uid;
|
||||||
ausweis.einheit_1 = "kWh";
|
gebaeude.uid = result.gebaeude_uid;
|
||||||
ausweis.anteil_warmwasser_1 = 18;
|
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||||
ausweis.startdatum = moment("01.01.2019").toDate();
|
window.history.pushState(
|
||||||
gebaeude_aufnahme_allgemein.plz = "21039";
|
{},
|
||||||
gebaeude_aufnahme_allgemein.ort = "Hamburg";
|
"",
|
||||||
gebaeude_aufnahme_allgemein.adresse = "Curslacker Deich 170";
|
`${location.pathname}?uid=${result.uid}`
|
||||||
gebaeude_aufnahme_allgemein.gebaeudeteil = "Gesamtgebäude";
|
);
|
||||||
|
speichernOverlayHidden = false;
|
||||||
gebaeude = gebaeude;
|
}
|
||||||
ausweis = ausweis;
|
}
|
||||||
}
|
|
||||||
|
function automatischAusfüllen() {
|
||||||
|
gebaeude_aufnahme_allgemein.baujahr_gebaeude = [1962];
|
||||||
async function ausweisAbschicken(e: SubmitEvent) {
|
gebaeude_aufnahme_allgemein.baujahr_heizung = [1952];
|
||||||
if (e && e.preventDefault) e.preventDefault();
|
gebaeude_aufnahme_allgemein.saniert = true;
|
||||||
const result = await verbrauchsausweisWohnenSpeichern(ausweis, gebaeude, gebaeude_aufnahme_allgemein, images, user);
|
gebaeude_aufnahme_allgemein.einheiten = 1;
|
||||||
|
ausweis.ausstellgrund = "Vermietung";
|
||||||
if (result !== null) {
|
ausweis.verbrauch_1 = 15000;
|
||||||
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
ausweis.verbrauch_2 = 14000;
|
||||||
// Sonst müsste er alles neu eingeben...
|
ausweis.verbrauch_3 = 16000;
|
||||||
ausweis.uid = result.uid
|
gebaeude_aufnahme_allgemein.flaeche = 152;
|
||||||
gebaeude.uid = result.gebaeude_uid
|
gebaeude_aufnahme_allgemein.nutzflaeche = 172;
|
||||||
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid
|
ausweis.keller_beheizt = true;
|
||||||
window.history.pushState({}, "", `${location.pathname}?uid=${result.uid}`);
|
gebaeude_aufnahme_allgemein.brennstoff_1 = "Erdgas H";
|
||||||
window.location.href = `/kundendaten?uid=${result.uid}`;
|
ausweis.einheit_1 = "kWh";
|
||||||
}
|
ausweis.anteil_warmwasser_1 = 18;
|
||||||
}
|
ausweis.startdatum = moment("01.01.2019").toDate();
|
||||||
|
gebaeude_aufnahme_allgemein.plz = "21039";
|
||||||
let waitOverlayHidden = true;
|
gebaeude_aufnahme_allgemein.ort = "Hamburg";
|
||||||
let speichernOverlayHidden = true;
|
gebaeude_aufnahme_allgemein.adresse = "Curslacker Deich 170";
|
||||||
|
gebaeude_aufnahme_allgemein.gebaeudeteil = "Gesamtgebäude";
|
||||||
$: {
|
|
||||||
if (gebaeude_aufnahme_allgemein.saniert
|
gebaeude = gebaeude;
|
||||||
&& gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt === undefined
|
ausweis = ausweis;
|
||||||
&& gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt === undefined) {
|
}
|
||||||
|
|
||||||
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt = true;
|
async function ausweisAbschicken(e: SubmitEvent) {
|
||||||
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt = true;
|
if (e && e.preventDefault) e.preventDefault();
|
||||||
}
|
const result = await verbrauchsausweisWohnenSpeichern(
|
||||||
}
|
ausweis,
|
||||||
|
gebaeude,
|
||||||
</script>
|
gebaeude_aufnahme_allgemein,
|
||||||
|
images,
|
||||||
<Overlay bind:hidden={speichernOverlayHidden}>
|
user
|
||||||
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
);
|
||||||
<AusweisGespeichertModule uid={ausweis.uid}></AusweisGespeichertModule>
|
|
||||||
</div>
|
if (result !== null) {
|
||||||
</Overlay>
|
// Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||||
|
// Sonst müsste er alles neu eingeben...
|
||||||
<Overlay bind:hidden={waitOverlayHidden}>
|
ausweis.uid = result.uid;
|
||||||
<p class="text-white font-semibold text-4xl">
|
gebaeude.uid = result.gebaeude_uid;
|
||||||
Bitte warten sie, ihr Ausweis wird nun erstellt.
|
gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||||
</p>
|
window.history.pushState(
|
||||||
</Overlay>
|
{},
|
||||||
|
"",
|
||||||
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
`${location.pathname}?uid=${result.uid}`
|
||||||
|
);
|
||||||
<div id="formular-box" class="formular-boxen ring-0">
|
window.location.href = `/kundendaten?uid=${result.uid}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
<!-- Später weitermachen / Hilfe anfordern -->
|
let waitOverlayHidden = true;
|
||||||
|
let speichernOverlayHidden = true;
|
||||||
<div class="w-full grid gap-x-4 gap-y-2
|
|
||||||
grid-cols-1
|
$: {
|
||||||
xs:grid-cols-2
|
if (
|
||||||
">
|
gebaeude_aufnahme_allgemein.saniert &&
|
||||||
<div class="md:justify-self-start"><button class="button" type="button" on:click={spaeterWeitermachen}>Später Weitermachen</button></div>
|
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt ===
|
||||||
<div class="md:justify-self-end"><Hilfe /></div>
|
undefined &&
|
||||||
|
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt === undefined
|
||||||
</div>
|
) {
|
||||||
|
gebaeude_aufnahme_allgemein.oberste_geschossdecke_gedaemmt = true;
|
||||||
<div class="mt-2"><button class="button hidden" on:click={automatischAusfüllen} type="button" >Automatisch Ausfüllen</button></div>
|
gebaeude_aufnahme_allgemein.dachgeschoss_gedaemmt = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Overlay bind:hidden={speichernOverlayHidden}>
|
||||||
<!-- A Prüfung der Ausweisart -->
|
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
||||||
|
<AusweisGespeichertModule uid={ausweis.uid}></AusweisGespeichertModule>
|
||||||
<BereichLabel bereich="A">Prüfung der Ausweisart</BereichLabel>
|
</div>
|
||||||
<div class="collapseBereich">
|
</Overlay>
|
||||||
<Ausweisart
|
|
||||||
bind:gebaeude
|
<Overlay bind:hidden={waitOverlayHidden}>
|
||||||
bind:gebaeude_aufnahme_allgemein
|
<p class="text-white font-semibold text-4xl">
|
||||||
bind:ausweis
|
Bitte warten sie, ihr Ausweis wird nun erstellt.
|
||||||
/>
|
</p>
|
||||||
</div>
|
</Overlay>
|
||||||
|
|
||||||
|
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
||||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
<div id="formular-box" class="formular-boxen ring-0">
|
||||||
|
<!-- Später weitermachen / Hilfe anfordern -->
|
||||||
<BereichLabel bereich="B">Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss</BereichLabel>
|
|
||||||
<div class="collapseBereich">
|
<div
|
||||||
<GebaeudeDaten
|
class="w-full grid gap-x-4 gap-y-2
|
||||||
bind:gebaeude_aufnahme_allgemein
|
grid-cols-1
|
||||||
/>
|
xs:grid-cols-2
|
||||||
</div>
|
"
|
||||||
|
>
|
||||||
|
<div class="md:justify-self-start">
|
||||||
|
<button
|
||||||
|
class="button"
|
||||||
</div>
|
type="button"
|
||||||
|
on:click={spaeterWeitermachen}>Später Weitermachen</button
|
||||||
</form>
|
>
|
||||||
|
</div>
|
||||||
|
<div class="md:justify-self-end"><Hilfe /></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mt-2">
|
||||||
<style lang="scss">
|
<button
|
||||||
|
class="button hidden"
|
||||||
|
on:click={automatischAusfüllen}
|
||||||
|
type="button">Automatisch Ausfüllen</button
|
||||||
</style>
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- A Prüfung der Ausweisart -->
|
||||||
|
|
||||||
|
<BereichLabel bereich="A">Prüfung der Ausweisart</BereichLabel>
|
||||||
|
<Ausweisart
|
||||||
|
bind:gebaeude
|
||||||
|
bind:gebaeude_aufnahme_allgemein
|
||||||
|
bind:ausweis
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
=======
|
||||||
|
<BereichLabel bereich="B"
|
||||||
|
>Eingabe der Gebäudeadresse -
|
||||||
|
Angaben zu Wohnfläche, Keller und Dachgeschoss</BereichLabel
|
||||||
|
>
|
||||||
|
>>>>>>> origin/UMBE
|
||||||
|
|
||||||
|
<GebaeudeDaten bind:gebaeude_aufnahme_allgemein />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
</style>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,35 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
||||||
import BedarfsausweisContent from "#components/Bedarfsausweis/BedarfsausweisContent.svelte";
|
import BedarfsausweisContent from "#components/Bedarfsausweis/BedarfsausweisContent.svelte";
|
||||||
|
import { BedarfsausweisWohnenClient } from "#components/Ausweis/types";
|
||||||
|
import { createCaller } from "#lib/caller";
|
||||||
---
|
|
||||||
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
|
const uid = Astro.url.searchParams.get("uid");
|
||||||
<BedarfsausweisContent client:load></BedarfsausweisContent>
|
let ausweis: Partial<BedarfsausweisWohnenClient> = {
|
||||||
|
gebaeude_aufnahme_allgemein: { gebaeude_stammdaten: {} },
|
||||||
|
energiequelle_2_nutzung: []
|
||||||
|
} as Partial<BedarfsausweisWohnenClient>;
|
||||||
|
|
||||||
|
const caller = createCaller(Astro);
|
||||||
|
|
||||||
|
if (uid) {
|
||||||
|
ausweis = await caller.v1.bedarfsausweisWohen.get({
|
||||||
|
uid: uid,
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
if (!ausweis) {
|
||||||
|
// Der Ausweis scheint nicht zu existieren.
|
||||||
|
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
|
||||||
|
return Astro.redirect(
|
||||||
|
"/energieausweis-erstellen/bedarfsausweis-wohnen"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
|
||||||
|
<BedarfsausweisContent client:load ausweis={ausweis}></BedarfsausweisContent>
|
||||||
</AusweisLayout>
|
</AusweisLayout>
|
||||||
@@ -1,10 +1,33 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
||||||
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
|
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
|
||||||
|
import { VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
|
||||||
---
|
import { createCaller } from "#lib/caller";
|
||||||
|
|
||||||
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen">
|
const uid = Astro.url.searchParams.get("uid");
|
||||||
<VerbrauchsausweisGewerbeModule client:load></VerbrauchsausweisGewerbeModule>
|
let ausweis: VerbrauchsausweisGewerbeClient = {
|
||||||
|
gebaeude_aufnahme_allgemein: { gebaeude_stammdaten: {} },
|
||||||
|
} as VerbrauchsausweisGewerbeClient;
|
||||||
|
|
||||||
|
const caller = createCaller(Astro);
|
||||||
|
|
||||||
|
if (uid) {
|
||||||
|
ausweis = await caller.v1.verbrauchsausweisGewerbe.get({
|
||||||
|
uid: uid,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!ausweis) {
|
||||||
|
// Der Ausweis scheint nicht zu existieren.
|
||||||
|
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
|
||||||
|
return Astro.redirect(
|
||||||
|
"/energieausweis-erstellen/verbrauchsausweis-wohnen"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen">
|
||||||
|
<VerbrauchsausweisGewerbeModule client:load ausweis={ausweis}></VerbrauchsausweisGewerbeModule>
|
||||||
</AusweisLayout>
|
</AusweisLayout>
|
||||||
@@ -1,16 +1,24 @@
|
|||||||
---
|
---
|
||||||
import Layout from "#layouts/Layout.astro";
|
import Layout from "#layouts/Layout.astro";
|
||||||
import ProduktVergleich from "#content/produktVergleich.svelte";
|
<<<<<<< HEAD
|
||||||
|
import ProduktVergleich from "#content/produktVergleich.svelte";
|
||||||
---
|
=======
|
||||||
|
import BannerSaeule from "#content/BannerSaeule.svelte";
|
||||||
<Layout title="Energieausweis online erstellen - Online Energieausweis">
|
>>>>>>> origin/UMBE
|
||||||
|
|
||||||
<h1>Unsere Ausweise im Detail:</h1>
|
---
|
||||||
|
|
||||||
<!-- <ProduktVergleich /> -->
|
<Layout title="Energieausweis online erstellen - Online Energieausweis">
|
||||||
</Layout>
|
|
||||||
|
<h1>Unsere Ausweise im Detail:</h1>
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
<!-- <ProduktVergleich /> -->
|
||||||
|
=======
|
||||||
|
<BannerSaeule client:load />
|
||||||
|
>>>>>>> origin/UMBE
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
---
|
---
|
||||||
import Layout from "#layouts/Layout_1.astro";
|
import Layout from "#layouts/Layout_1.astro";
|
||||||
import BannerPrice from "#content/banner-saeule.svelte";
|
|
||||||
|
---
|
||||||
---
|
|
||||||
|
<Layout title="Energieausweis online erstellen - Online Energieausweis">
|
||||||
<Layout title="Energieausweis online erstellen - Online Energieausweis">
|
<h1>Energieausweis online erstellen</h1>
|
||||||
<h1>Energieausweis online erstellen</h1>
|
<!-- <BannerPrice client:load /> -->
|
||||||
<!-- <BannerPrice client:load /> -->
|
</Layout>
|
||||||
</Layout>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user