@@ -6,7 +6,8 @@
|
||||
import DashboardNachweis from "#components/Dashboard/DashboardNachweis.svelte";
|
||||
import NotificationProvider from "#components/NotificationProvider/NotificationProvider.svelte";
|
||||
import { Objekt } from "#lib/client/prisma.js";
|
||||
import { ChevronLeft, ChevronRight } from "radix-svelte-icons";
|
||||
import mime from "mime"
|
||||
import { ChevronLeft, ChevronRight, FileText } from "radix-svelte-icons";
|
||||
|
||||
export let user: BenutzerClient;
|
||||
export let aufnahme: AufnahmeKomplettClient;
|
||||
@@ -32,9 +33,9 @@
|
||||
{#if dropdownOpen}
|
||||
<div class="absolut mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" on:click|stopPropagation on:keydown|stopPropagation on:keyup|stopPropagation>
|
||||
<div class="py-1" role="menu" aria-orientation="vertical" aria-labelledby="options-menu">
|
||||
<a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?aufnahme={aufnahme.uid}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Wohnen Erstellen</a>
|
||||
<a href="/energieausweis-erstellen/verbrauchsausweis-gewerbe?aufnahme={aufnahme.uid}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Gewerbe Erstellen</a>
|
||||
<a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude?aufnahme={aufnahme.uid}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Bedarfsausweis Erstellen</a>
|
||||
<a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?aufnahme={aufnahme.id}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Wohnen Erstellen</a>
|
||||
<a href="/energieausweis-erstellen/verbrauchsausweis-gewerbe?aufnahme={aufnahme.id}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Gewerbe Erstellen</a>
|
||||
<a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude?aufnahme={aufnahme.id}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Bedarfsausweis Erstellen</a>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -44,15 +45,24 @@
|
||||
|
||||
<div class="relative bg-gray-100 rounded-md flex justify-center items-center">
|
||||
{#if aufnahme.bilder.length > 0}
|
||||
<h3 class="font-semibold">Bilder</h3>
|
||||
<Carousel perPage={3}>
|
||||
{#each aufnahme.bilder as bild, i (i)}
|
||||
<img src="/bilder/{bild.uid}.jpg" alt={bild.kategorie} class="max-h-[25vh] h-full w-full object-contain">
|
||||
<img src="/bilder/{bild.id}.jpg" alt={bild.kategorie} class="max-h-[25vh] h-full w-full object-contain">
|
||||
{/each}
|
||||
<span slot="left-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronLeft size={24}></ChevronLeft></span>
|
||||
<span slot="right-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronRight size={24}></ChevronRight></span>
|
||||
</Carousel>
|
||||
{/if}
|
||||
</div>
|
||||
{#if aufnahme.unterlagen.length > 0}
|
||||
<h3 class="font-semibold">Unterlagen</h3>
|
||||
<div class="grid grid-flow-col gap-4">
|
||||
{#each aufnahme.unterlagen as unterlage}
|
||||
<a href="/unterlagen/{unterlage.id}.{mime.getExtension(unterlage.mime)}" target="_blank" class="text-black flex flex-row items-center gap-2 bg-base-200 p-2 rounded-lg"><FileText size={32}></FileText> {unterlage.name}</a>
|
||||
{/each}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
|
||||
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||
import Bereich from "#components/labels/Bereich.svelte";
|
||||
import type { Bezahlmethoden } from "#lib/client/prisma.js";
|
||||
import type { Bezahlmethoden, Unterlage } from "#lib/client/prisma.js";
|
||||
import { Enums } from "#lib/client/prisma.js";
|
||||
import {
|
||||
API_ACCESS_TOKEN_COOKIE_NAME,
|
||||
@@ -36,7 +36,7 @@
|
||||
export let aufnahme: AufnahmeClient;
|
||||
export let objekt: ObjektClient;
|
||||
export let bilder: BildClient[];
|
||||
export let unterlagen: UnterlageClient[];
|
||||
export let unterlagen: Unterlage[];
|
||||
export let rechnung: RechnungClient | null = null;
|
||||
export let ausweisart: Enums.Ausweisart;
|
||||
export let aktiveBezahlmethode: Bezahlmethoden = Enums.Bezahlmethoden.paypal;
|
||||
@@ -134,20 +134,24 @@
|
||||
);
|
||||
|
||||
const zurueck = {
|
||||
[Enums.Ausweisart.VerbrauchsausweisWohnen]:
|
||||
`/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?uid=${ausweis.id}`,
|
||||
[Enums.Ausweisart.VerbrauchsausweisGewerbe]:
|
||||
`/energieausweis-erstellen/verbrauchsausweis-gewerbe?uid=${ausweis.id}`,
|
||||
[Enums.Ausweisart.BedarfsausweisWohnen]:
|
||||
`/energieausweis-erstellen/bedarfsausweis-wohnen?uid=${ausweis.id}`,
|
||||
[Enums.Ausweisart.GEGNachweisWohnen]:
|
||||
`/angebot-anfragen/geg-nachweis-wohnen-anfragen?uid=${ausweis.id}`,
|
||||
[Enums.Ausweisart.GEGNachweisGewerbe]:
|
||||
`/angebot-anfragen/geg-nachweis-gewerbe-anfragen?uid=${ausweis.id}`,
|
||||
[Enums.Ausweisart.BedarfsausweisGewerbe]:
|
||||
`/angebot-anfragen/bedarfsausweis-gewerbe-anfragen?uid=${ausweis.id}`,
|
||||
[Enums.Ausweisart.VerbrauchsausweisWohnen]:
|
||||
new URL("/energieausweis-erstellen/verbrauchsausweis-wohngebaeude", window.location.origin),
|
||||
[Enums.Ausweisart.VerbrauchsausweisGewerbe]:
|
||||
new URL("/energieausweis-erstellen/verbrauchsausweis-gewerbe", window.location.origin),
|
||||
[Enums.Ausweisart.BedarfsausweisWohnen]:
|
||||
new URL("/energieausweis-erstellen/bedarfsausweis-wohnen", window.location.origin),
|
||||
[Enums.Ausweisart.GEGNachweisWohnen]:
|
||||
new URL("/angebot-anfragen/geg-nachweis-wohnen-anfragen", window.location.origin),
|
||||
[Enums.Ausweisart.GEGNachweisGewerbe]:
|
||||
new URL("/angebot-anfragen/geg-nachweis-gewerbe-anfragen", window.location.origin),
|
||||
[Enums.Ausweisart.BedarfsausweisGewerbe]:
|
||||
new URL("/angebot-anfragen/bedarfsausweis-gewerbe-anfragen", window.location.origin),
|
||||
}[ausweisart];
|
||||
|
||||
if (ausweis.id) {
|
||||
zurueck.searchParams.append("id", ausweis.id)
|
||||
}
|
||||
|
||||
async function anfordern() {
|
||||
if (!form.checkValidity()) {
|
||||
addNotification({
|
||||
@@ -182,7 +186,7 @@
|
||||
}
|
||||
|
||||
try {
|
||||
const { uid } = await api.rechnung.anfordern.PUT.fetch(
|
||||
const { id } = await api.rechnung.anfordern.PUT.fetch(
|
||||
{
|
||||
email: email,
|
||||
empfaenger: empfaenger,
|
||||
@@ -206,7 +210,7 @@
|
||||
// Alle alten Ausweisdateien im localStorage löschen.
|
||||
localStorage.clear();
|
||||
|
||||
window.location.href = `/einpreisung/success?e=${uid}&a=${result.nachweis_id}`;
|
||||
window.location.href = `/einpreisung/success?e=${id}&a=${result.nachweis_id}`;
|
||||
} catch (e) {
|
||||
addNotification({
|
||||
dismissable: true,
|
||||
@@ -436,7 +440,7 @@
|
||||
active={1}
|
||||
steps={["Gebäudedaten", "Kundendaten", "Bestätigung"]}
|
||||
{ausweisart}
|
||||
ausweistyp={ausweis.ausweistyp}
|
||||
ausweistyp={"ausweistyp" in ausweis ? ausweis.ausweistyp : ausweis.nachweistyp}
|
||||
anliegen={"Angebot anfragen"}
|
||||
/>
|
||||
{:else}
|
||||
@@ -1026,7 +1030,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
|
||||
class="grid grid-cols-1 gap-x-2 gap-y-1 self-start mt-0
|
||||
sm:grid-cols-[min-content_min-content_min-content] sm:justify-self-end sm:mt-8"
|
||||
>
|
||||
<a class="order-3 sm:order-1 button cursor-pointer text-center sm:text-start" href={zurueck}>Zurück</a>
|
||||
<a class="order-3 sm:order-1 button cursor-pointer text-center sm:text-start" href={zurueck.toString()}>Zurück</a>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
// Falls die Daten im localStorage neuer sind als der Ausweis den wir von der Datenbank bekommen haben, benutzen wir lieber diese.
|
||||
// Wir schauen auch ob der Benutzer nicht vielleicht ein Admin ist, dann sollten wir nichts aus dem localStorage holen.
|
||||
if ((user && user.rolle !== Enums.BenutzerRolle.ADMIN) && !id && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
|
||||
if (((user && user.rolle !== Enums.BenutzerRolle.ADMIN) || !user) && !id && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
|
||||
const localStorageAusweis = localStorage.getItem("verbrauchsausweis-wohnen.ausweis");
|
||||
if (localStorageAusweis) {
|
||||
ausweis = JSON.parse(localStorageAusweis)
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
bind:user
|
||||
bind:objekt
|
||||
bind:aufnahme
|
||||
showHelpButton={false}
|
||||
ausweisart={Enums.Ausweisart.BedarfsausweisGewerbe}
|
||||
{form}
|
||||
{skala}
|
||||
|
||||
@@ -231,6 +231,7 @@
|
||||
bind:user
|
||||
bind:objekt
|
||||
bind:aufnahme
|
||||
showHelpButton={false}
|
||||
ausweisart={Enums.Ausweisart.GEGNachweisGewerbe}
|
||||
{form}
|
||||
{skala}
|
||||
|
||||
@@ -147,35 +147,6 @@
|
||||
</Bereich>
|
||||
|
||||
<Bereich bereich="D" title="Gebäudepläne & Unterlagen">
|
||||
<div
|
||||
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
|
||||
>
|
||||
<div class="md:box md:card mb-0">
|
||||
<div class="font-bold mb-2">Pläne</div>
|
||||
|
||||
<div>
|
||||
Hier können sie Grundrisspläne, Ansichtspläne und
|
||||
Schnitte hochladen. Die Dateien können entweder im PDF
|
||||
Format oder als Bild hochgeladen werden.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md:box md:card mb-0 mt-6 md:mt-0">
|
||||
<div>
|
||||
<strong
|
||||
>Bitte laden Sie hier mind. 1 Dokument hoch:</strong
|
||||
>
|
||||
</div>
|
||||
<FileGrid
|
||||
max={Infinity}
|
||||
min={1}
|
||||
name={"plaene"}
|
||||
bind:files={plaene}
|
||||
bind:ausweis={nachweis}
|
||||
bind:objekt
|
||||
></FileGrid>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
|
||||
>
|
||||
@@ -189,6 +160,14 @@
|
||||
können entweder im PDF Format oder als Bild hochgeladen
|
||||
werden.
|
||||
</div>
|
||||
|
||||
<div class="font-bold mb-2">Pläne</div>
|
||||
|
||||
<div>
|
||||
Hier können sie Grundrisspläne, Ansichtspläne und
|
||||
Schnitte hochladen. Die Dateien können entweder im PDF
|
||||
Format oder als Bild hochgeladen werden.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md:box md:card mb-0 mt-6 md:mt-0">
|
||||
@@ -212,6 +191,7 @@
|
||||
bind:user
|
||||
bind:objekt
|
||||
bind:aufnahme
|
||||
showHelpButton={false}
|
||||
ausweisart={Enums.Ausweisart.GEGNachweisWohnen}
|
||||
{form}
|
||||
{skala}
|
||||
|
||||
Reference in New Issue
Block a user