philipp lang 2 years ago
parent
commit
d762d3f1ce
  1. 214
      assets/js/Stepper.vue

214
assets/js/Stepper.vue

@ -1,13 +1,11 @@
<template> <template>
<form action="#" method="POST" class="px-3 transition-all duration-300 mx-auto max-w-[960px]" @submit.prevent="submit"> <form action="#" method="POST" class="px-3 transition-all duration-300 mx-auto max-w-[960px]" @submit.prevent="submit">
<carousel v-model="innerStep" :per-page="1" :mouse-drag="false" :pagination-enabled="false" ref="carousel">
<carousel ref="carousel" v-model="innerStep" :per-page="1" :mouse-drag="false" :pagination-enabled="false">
<slide :key="0" class="py-8 sm:py-16 px-3 sm:px-6"> <slide :key="0" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 1</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 1</div>
<heading>Welche <span class="text-primary">Immobilie</span><br />möchten Sie verkaufen?</heading> <heading>Welche <span class="text-primary">Immobilie</span><br />möchten Sie verkaufen?</heading>
<radio-grid id="category" :modelValue="value.category" @update:modelValue="onUpdateCategory"
:options="categories"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :prev="false" :nextable="value.category !== null">
</pagination>
<radio-grid id="category" :model-value="value.category" :options="categories" @update:modelValue="onUpdateCategory"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :prev="false" :nextable="value.category !== null"> </pagination>
</slide> </slide>
<!-- ********************************* Haus ********************************** --> <!-- ********************************* Haus ********************************** -->
@ -26,14 +24,13 @@
<slide v-if="value.category == 'Haus'" :key="3" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Haus'" :key="3" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 4</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 4</div>
<heading>Wie viele<br /><span class="text-primary">Zimmer</span> hat das Haus?</heading> <heading>Wie viele<br /><span class="text-primary">Zimmer</span> hat das Haus?</heading>
<radio-grid id="house_number_of_rooms" v-model="value.number_of_floors"
:options="numbersOfRooms"></radio-grid>
<radio-grid id="house_number_of_rooms" v-model="value.number_of_floors" :options="numbersOfRooms"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :nextable="value.number_of_floors !== null"></pagination> <pagination v-model="innerStep" class="mt-5" :nextable="value.number_of_floors !== null"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Haus'" :key="4" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Haus'" :key="4" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 5</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 5</div>
<heading>Wann wurde das<br />Haus <span class="text-primary">erbaut?</span></heading> <heading>Wann wurde das<br />Haus <span class="text-primary">erbaut?</span></heading>
<v-slider :min="1900" :max="maxYear" v-model="value.construction_year"></v-slider>
<v-slider v-model="value.construction_year" :min="1900" :max="maxYear"></v-slider>
<pagination v-model="innerStep" class="mt-24"></pagination> <pagination v-model="innerStep" class="mt-24"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Haus'" :key="5" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Haus'" :key="5" class="py-8 sm:py-16 px-3 sm:px-6">
@ -52,22 +49,20 @@
</slide> </slide>
<slide v-if="value.category == 'Gewerbe'" :key="2" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Gewerbe'" :key="2" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 3</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 3</div>
<heading>Wie ist die gesamte<br /><span class="text-primary">Grundstücksfläche</span> des Gewerbes?
</heading>
<heading>Wie ist die gesamte<br /><span class="text-primary">Grundstücksfläche</span> des Gewerbes? </heading>
<radio-grid id="gewerbe_plot_area" v-model="value.plot_area" :options="plotPlotAreas"></radio-grid> <radio-grid id="gewerbe_plot_area" v-model="value.plot_area" :options="plotPlotAreas"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :nextable="value.plot_area !== null"></pagination> <pagination v-model="innerStep" class="mt-5" :nextable="value.plot_area !== null"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Gewerbe'" :key="3" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Gewerbe'" :key="3" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 4</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 4</div>
<heading>Wie viele<br /><span class="text-primary">Zimmer</span> hat das Gewerbe?</heading> <heading>Wie viele<br /><span class="text-primary">Zimmer</span> hat das Gewerbe?</heading>
<radio-grid id="gewerbe_number_of_rooms" v-model="value.number_of_floors"
:options="apartmentNumbersOfRooms"></radio-grid>
<radio-grid id="gewerbe_number_of_rooms" v-model="value.number_of_floors" :options="apartmentNumbersOfRooms"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :nextable="value.number_of_floors !== null"></pagination> <pagination v-model="innerStep" class="mt-5" :nextable="value.number_of_floors !== null"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Gewerbe'" :key="4" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Gewerbe'" :key="4" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 5</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 5</div>
<heading>Wann wurde das<br />Gewerbe <span class="text-primary">erbaut?</span></heading> <heading>Wann wurde das<br />Gewerbe <span class="text-primary">erbaut?</span></heading>
<v-slider :min="1900" :max="maxYear" v-model="value.construction_year"></v-slider>
<v-slider v-model="value.construction_year" :min="1900" :max="maxYear"></v-slider>
<pagination v-model="innerStep" class="mt-24"></pagination> <pagination v-model="innerStep" class="mt-24"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Gewerbe'" :key="5" class="py-8 sm:py-16 px-3 sm:px-6"> <slide v-if="value.category == 'Gewerbe'" :key="5" class="py-8 sm:py-16 px-3 sm:px-6">
@ -78,27 +73,25 @@
</slide> </slide>
<!-- ******************************** Wohnung ******************************** --> <!-- ******************************** Wohnung ******************************** -->
<slide v-if="value.category == 'Wohnung'" class="py-8 sm:py-16 px-3 sm:px-6" :key="2">
<slide v-if="value.category == 'Wohnung'" :key="2" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 2</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 2</div>
<heading>Wie ist die gesamte<br /><span class="text-primary">Wohnfläche</span> der Wohnung?</heading> <heading>Wie ist die gesamte<br /><span class="text-primary">Wohnfläche</span> der Wohnung?</heading>
<radio-grid id="apartment_living_area" v-model="value.living_area"
:options="apartmentLivingAreas"></radio-grid>
<radio-grid id="apartment_living_area" v-model="value.living_area" :options="apartmentLivingAreas"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :nextable="value.living_area !== null"></pagination> <pagination v-model="innerStep" class="mt-5" :nextable="value.living_area !== null"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Wohnung'" class="py-8 sm:py-16 px-3 sm:px-6" :key="3">
<slide v-if="value.category == 'Wohnung'" :key="3" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 3</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 3</div>
<heading>Wie viele<br /><span class="text-primary">Zimmer</span> hat die Wohnung?</heading> <heading>Wie viele<br /><span class="text-primary">Zimmer</span> hat die Wohnung?</heading>
<radio-grid id="apartment_number_of_rooms" v-model="value.number_of_floors"
:options="apartmentNumbersOfRooms"></radio-grid>
<radio-grid id="apartment_number_of_rooms" v-model="value.number_of_floors" :options="apartmentNumbersOfRooms"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :nextable="value.number_of_floors !== null"></pagination> <pagination v-model="innerStep" class="mt-5" :nextable="value.number_of_floors !== null"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Wohnung'" class="py-8 sm:py-16 px-3 sm:px-6" :key="4">
<slide v-if="value.category == 'Wohnung'" :key="4" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 4</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 4</div>
<heading>Wann wurde die<br />Wohnung <span class="text-primary">erbaut?</span></heading> <heading>Wann wurde die<br />Wohnung <span class="text-primary">erbaut?</span></heading>
<v-slider :min="1900" :max="maxYear" v-model="value.construction_year"></v-slider>
<v-slider v-model="value.construction_year" :min="1900" :max="maxYear"></v-slider>
<pagination v-model="innerStep" class="mt-24"></pagination> <pagination v-model="innerStep" class="mt-24"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Wohnung'" class="py-8 sm:py-16 px-3 sm:px-6" :key="5">
<slide v-if="value.category == 'Wohnung'" :key="5" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 5</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 5</div>
<heading>Wie ist der<br /><span class="text-primary">Zustand</span> der Wohnung?</heading> <heading>Wie ist der<br /><span class="text-primary">Zustand</span> der Wohnung?</heading>
<radio-grid id="apartment_condition" v-model="value.condition" :options="conditions"></radio-grid> <radio-grid id="apartment_condition" v-model="value.condition" :options="conditions"></radio-grid>
@ -106,13 +99,13 @@
</slide> </slide>
<!-- ******************************** Grundstueck ******************************** --> <!-- ******************************** Grundstueck ******************************** -->
<slide v-if="value.category == 'Grundstück'" class="py-8 sm:py-16 px-3 sm:px-6" :key="2">
<slide v-if="value.category == 'Grundstück'" :key="2" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 2</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 2</div>
<heading>Wie ist die <span class="text-primary">Fläche</span><br />des Grundstücks?</heading> <heading>Wie ist die <span class="text-primary">Fläche</span><br />des Grundstücks?</heading>
<radio-grid id="plot_plot_area" v-model="value.plot_area" :options="plotPlotAreas"></radio-grid> <radio-grid id="plot_plot_area" v-model="value.plot_area" :options="plotPlotAreas"></radio-grid>
<pagination v-model="innerStep" class="mt-5" :nextable="value.plot_area !== null"></pagination> <pagination v-model="innerStep" class="mt-5" :nextable="value.plot_area !== null"></pagination>
</slide> </slide>
<slide v-if="value.category == 'Grundstück'" class="py-8 sm:py-16 px-3 sm:px-6" :key="3">
<slide v-if="value.category == 'Grundstück'" :key="3" class="py-8 sm:py-16 px-3 sm:px-6">
<div class="text-center font-semibold text-gray-700 text-sm">Frage 3</div> <div class="text-center font-semibold text-gray-700 text-sm">Frage 3</div>
<heading>Wie ist der<br /><span class="text-primary">Zustand</span> des Grundstücks?</heading> <heading>Wie ist der<br /><span class="text-primary">Zustand</span> des Grundstücks?</heading>
<radio-grid id="plot_condition" v-model="value.condition" :options="conditions"></radio-grid> <radio-grid id="plot_condition" v-model="value.condition" :options="conditions"></radio-grid>
@ -129,58 +122,68 @@
<v-text v-model="value.lastname" name="lastname" label="Ihr Nachname" /> <v-text v-model="value.lastname" name="lastname" label="Ihr Nachname" />
<v-text v-model="value.email" name="email" label="Ihre E-Mail-Adresse" /> <v-text v-model="value.email" name="email" label="Ihre E-Mail-Adresse" />
<v-text v-model="value.phone" name="phone" label="Ihre Telefonnummer" /> <v-text v-model="value.phone" name="phone" label="Ihre Telefonnummer" />
<v-checkbox class="col-span-2" v-model="value.datenschutz" id="datenschutz" name="datenschutz"
label='Ich habe die <a href="/datenschutzerklaerung" class="text-primary" target="_BLANK">Datenschutzerklärung</a> zur Kenntnis genommen. <span class="text-red-800 ml-1">*</span>' />
<v-checkbox
id="datenschutz"
v-model="value.datenschutz"
class="col-span-2"
name="datenschutz"
label='Ich habe die <a href="/datenschutzerklaerung" class="text-primary" target="_BLANK">Datenschutzerklärung</a> zur Kenntnis genommen. <span class="text-red-800 ml-1">*</span>'
/>
</div> </div>
<pagination v-model="innerStep" class="mt-6" :nextable="
value.object_address.length > 0 &&
value.object_zip.length > 0 &&
value.object_location.length > 0 &&
value.firstname.length !== 0 &&
value.lastname.length !== 0 &&
value.email.length !== 0 &&
value.phone.length !== 0
" submit></pagination>
<pagination
v-model="innerStep"
class="mt-6"
:nextable="
value.object_address.length > 0 &&
value.object_zip.length > 0 &&
value.object_location.length > 0 &&
value.firstname.length !== 0 &&
value.lastname.length !== 0 &&
value.email.length !== 0 &&
value.phone.length !== 0
"
submit
></pagination>
</slide> </slide>
<slide v-if="value.category" :key="slideCount[value.category] + 1"> <slide v-if="value.category" :key="slideCount[value.category] + 1">
<div <div
class="w-full h-full bg-white ring-1 ring-gray-900/5 rounded-xl grid grid-cols-1 sm:grid-cols-[1fr_250px] grid-rows-[10rem_1fr] gap-6 overflow-hidden bg-gradient-to-bl from-white via-white to-black/10">
class="w-full h-full bg-white ring-1 ring-gray-900/5 rounded-xl grid grid-cols-1 sm:grid-cols-[1fr_250px] grid-rows-[10rem_1fr] gap-6 overflow-hidden bg-gradient-to-bl from-white via-white to-black/10"
>
<div class="bg-green-200 w-40 h-40 flex justify-center items-center [clip-path:circle(70%_at_30%_30%)]"> <div class="bg-green-200 w-40 h-40 flex justify-center items-center [clip-path:circle(70%_at_30%_30%)]">
<svg class="w-24 h-24 text-green-400 relative -left-3 -top-3" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd"
<svg
class="w-24 h-24 text-green-400 relative -left-3 -top-3"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
clip-rule="evenodd" />
clip-rule="evenodd"
/>
</svg> </svg>
</div> </div>
<div class="isolate self-center justify-self-end row-span-2 sm:pt-8 sm:pb-8 relative -right-3"> <div class="isolate self-center justify-self-end row-span-2 sm:pt-8 sm:pb-8 relative -right-3">
<div class="absolute right-0 top-0 h-full flex items-center justify-end"> <div class="absolute right-0 top-0 h-full flex items-center justify-end">
<div
class="bg-green-200 w-96 h-96 flex [clip-path:circle(50%_at_110%_50%)] sm:[clip-path:circle(50%_at_80%_50%)]">
</div>
<div class="bg-green-200 w-96 h-96 flex [clip-path:circle(50%_at_110%_50%)] sm:[clip-path:circle(50%_at_80%_50%)]"></div>
</div> </div>
<div class="overflow-hidden rounded-l-lg rotate-2 shadow relative z-10 -left-2"> <div class="overflow-hidden rounded-l-lg rotate-2 shadow relative z-10 -left-2">
<img class="w-64 h-32 object-cover"
src="https://deine-immobilienbewertung.de/wp-content/uploads/2022/05/haus-2.jpg" />
<img class="w-64 h-32 object-cover" src="https://deine-immobilienbewertung.de/wp-content/uploads/2022/05/haus-2.jpg" />
</div> </div>
<div class="overflow-hidden rounded-l-lg -rotate-2 shadow relative left-2"> <div class="overflow-hidden rounded-l-lg -rotate-2 shadow relative left-2">
<img class="w-64 h-32 object-cover"
src="https://deine-immobilienbewertung.de/wp-content/uploads/2022/05/haus-1.jpg" />
<img class="w-64 h-32 object-cover" src="https://deine-immobilienbewertung.de/wp-content/uploads/2022/05/haus-1.jpg" />
</div> </div>
</div> </div>
<div class="self-end flex-grow pb-8 pl-8 pr-8 sm:pr-0"> <div class="self-end flex-grow pb-8 pl-8 pr-8 sm:pr-0">
<div class="font-bold text-xl md:text-3xl">Vielen Dank für Ihre Anfrage</div> <div class="font-bold text-xl md:text-3xl">Vielen Dank für Ihre Anfrage</div>
<div class="text-sm mt-4 md:text-lg"> <div class="text-sm mt-4 md:text-lg">
In Kürze erhalten Sie eine Bestätigung per E-Mail.<br />Ein Mitarbeiter wird sich zeitnah bei
Ihnen melden.
In Kürze erhalten Sie eine Bestätigung per E-Mail.<br />Ein Mitarbeiter wird sich zeitnah bei Ihnen melden.
</div> </div>
<div class="flex justify-between mt-3 items-end"> <div class="flex justify-between mt-3 items-end">
<span class="text-sm font-semibold text-neutral-700">Viele Grüße<br />Deine
Immobilienbewertung</span>
<span class="text-sm font-semibold text-neutral-700">Viele Grüße<br />Deine Immobilienbewertung</span>
<div class="flex-none ml-3"> <div class="flex-none ml-3">
<img
src="https://deine-immobilienbewertung.de/wp-content/uploads/2022/05/logo-slider.png" />
<img src="https://deine-immobilienbewertung.de/wp-content/uploads/2022/05/logo-slider.png" />
</div> </div>
</div> </div>
</div> </div>
@ -191,7 +194,7 @@
</template> </template>
<script> <script>
import { nextTick } from 'vue';
import {nextTick} from 'vue';
import Heading from './components/Heading.vue'; import Heading from './components/Heading.vue';
import VSlider from './components/VSlider.vue'; import VSlider from './components/VSlider.vue';
import axios from 'axios'; import axios from 'axios';
@ -205,10 +208,10 @@ export default {
data: function () { data: function () {
return { return {
slideCount: { slideCount: {
'Haus': 6,
'Gewerbe': 6,
'Wohnung': 6,
'Grundstück': 3,
Haus: 6,
Gewerbe: 6,
Wohnung: 6,
Grundstück: 3,
}, },
finished: true, finished: true,
value: { value: {
@ -230,10 +233,10 @@ export default {
}, },
innerStep: 0, innerStep: 0,
categories: [ categories: [
{ key: 'Haus', label: 'Haus', icon: 'category-house' },
{ key: 'Grundstück', label: 'Grundstück', icon: 'category-plot' },
{ key: 'Wohnung', label: 'Wohnung', icon: 'category-apartment' },
{ key: 'Gewerbe', label: 'Gewerbe', icon: 'category-business' },
{key: 'Haus', label: 'Haus', icon: 'category-house'},
{key: 'Grundstück', label: 'Grundstück', icon: 'category-plot'},
{key: 'Wohnung', label: 'Wohnung', icon: 'category-apartment'},
{key: 'Gewerbe', label: 'Gewerbe', icon: 'category-business'},
], ],
kinds: { kinds: {
house: [ house: [
@ -260,71 +263,71 @@ export default {
], ],
}, },
livingAreas: [ livingAreas: [
{ key: 'bis 100 m²', label: 'bis 100 m²', icon: 'living-area-sm' },
{ key: '101 - 200 m²', label: 'bis 101 - 200 m²', icon: 'living-area-md' },
{ key: 'mehr als 200 m²', label: 'mehr als 200 m²', icon: 'living-area-lg' },
{ key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown' },
{key: 'bis 100 m²', label: 'bis 100 m²', icon: 'living-area-sm'},
{key: '101 - 200 m²', label: 'bis 101 - 200 m²', icon: 'living-area-md'},
{key: 'mehr als 200 m²', label: 'mehr als 200 m²', icon: 'living-area-lg'},
{key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown'},
], ],
apartmentLivingAreas: [ apartmentLivingAreas: [
{ key: 'bis 65 m²', label: 'bis 65 m²', icon: 'living-area-sm' },
{ key: '66 - 150 m²', label: 'bis 66 - 150 m²', icon: 'living-area-md' },
{ key: 'mehr als 150 m²', label: 'mehr als 150 m²', icon: 'living-area-lg' },
{ key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown' },
{key: 'bis 65 m²', label: 'bis 65 m²', icon: 'living-area-sm'},
{key: '66 - 150 m²', label: 'bis 66 - 150 m²', icon: 'living-area-md'},
{key: 'mehr als 150 m²', label: 'mehr als 150 m²', icon: 'living-area-lg'},
{key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown'},
], ],
gewerbeLivingAreas: [ gewerbeLivingAreas: [
{ key: 'bis 150 m²', label: 'bis 150 m²', icon: 'living-area-sm' },
{ key: '151 - 350 m²', label: 'bis 151 - 350 m²', icon: 'living-area-md' },
{ key: '351 - 1000 m²', label: '351 - 1000 m²', icon: 'living-area-lg' },
{ key: 'mehr als 1000 m²', label: 'mehr als 1000 m²', icon: 'living-area-lg' },
{ key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown' },
{key: 'bis 150 m²', label: 'bis 150 m²', icon: 'living-area-sm'},
{key: '151 - 350 m²', label: 'bis 151 - 350 m²', icon: 'living-area-md'},
{key: '351 - 1000 m²', label: '351 - 1000 m²', icon: 'living-area-lg'},
{key: 'mehr als 1000 m²', label: 'mehr als 1000 m²', icon: 'living-area-lg'},
{key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown'},
], ],
conditions: [ conditions: [
{ key: 'Sanierungsbedürftig', label: 'Sanierungsbedürftig', icon: 'living-area-md' },
{ key: 'Renovierungsbedürftig', label: 'Renovierungsbedürftig', icon: 'living-area-sm' },
{ key: 'Gepflegt', label: 'Gepflegt', icon: 'living-area-lg' },
{ key: 'Gehoben', label: 'Gehoben', icon: 'living-area-lg' },
{ key: 'Luxuroiös', label: 'Luxuriös', icon: 'living-area-lg' },
{key: 'Sanierungsbedürftig', label: 'Sanierungsbedürftig', icon: 'living-area-md'},
{key: 'Renovierungsbedürftig', label: 'Renovierungsbedürftig', icon: 'living-area-sm'},
{key: 'Gepflegt', label: 'Gepflegt', icon: 'living-area-lg'},
{key: 'Gehoben', label: 'Gehoben', icon: 'living-area-lg'},
{key: 'Luxuroiös', label: 'Luxuriös', icon: 'living-area-lg'},
], ],
plotAreas: [ plotAreas: [
{ key: 'bis 200 m²', label: 'bis 200 m²', icon: 'plot-area-sm' },
{ key: '201 - 800 m²', label: '201 - 800 m²', icon: 'plot-area-md' },
{ key: 'mehr als 800 m²', label: 'mehr als 800 m²', icon: 'plot-area-lg' },
{ key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown' },
{key: 'bis 200 m²', label: 'bis 200 m²', icon: 'plot-area-sm'},
{key: '201 - 800 m²', label: '201 - 800 m²', icon: 'plot-area-md'},
{key: 'mehr als 800 m²', label: 'mehr als 800 m²', icon: 'plot-area-lg'},
{key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown'},
], ],
plotPlotAreas: [ plotPlotAreas: [
{ key: 'bis 350 m²', label: 'bis 350 m²', icon: 'plot-area-sm' },
{ key: '351 - 1000 m²', label: '351 - 1000 m²', icon: 'plot-area-md' },
{ key: 'mehr als 1000 m²', label: 'mehr als 1000 m²', icon: 'plot-area-lg' },
{ key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown' },
{key: 'bis 350 m²', label: 'bis 350 m²', icon: 'plot-area-sm'},
{key: '351 - 1000 m²', label: '351 - 1000 m²', icon: 'plot-area-md'},
{key: 'mehr als 1000 m²', label: 'mehr als 1000 m²', icon: 'plot-area-lg'},
{key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown'},
], ],
numbersOfFloors: [ numbersOfFloors: [
{ key: '1', label: '1', icon: 'plot-area-sm' },
{ key: '2', label: '2', icon: 'plot-area-md' },
{ key: '3', label: '3', icon: 'plot-area-lg' },
{ key: 'mehr als 3', label: 'mehr als 3', icon: 'plot-area-lg' },
{key: '1', label: '1', icon: 'plot-area-sm'},
{key: '2', label: '2', icon: 'plot-area-md'},
{key: '3', label: '3', icon: 'plot-area-lg'},
{key: 'mehr als 3', label: 'mehr als 3', icon: 'plot-area-lg'},
], ],
numbersOfRooms: [ numbersOfRooms: [
{ key: '1-2', label: '1-2', icon: 'plot-area-sm' },
{ key: '3-5', label: '3-5', icon: 'plot-area-md' },
{ key: '5-8', label: '5-8', icon: 'plot-area-lg' },
{ key: 'mehr als 8', label: 'mehr als 8', icon: 'plot-area-lg' },
{key: '1-2', label: '1-2', icon: 'plot-area-sm'},
{key: '3-5', label: '3-5', icon: 'plot-area-md'},
{key: '5-8', label: '5-8', icon: 'plot-area-lg'},
{key: 'mehr als 8', label: 'mehr als 8', icon: 'plot-area-lg'},
], ],
apartmentNumbersOfRooms: [ apartmentNumbersOfRooms: [
{ key: '1-2', label: '1-2', icon: 'plot-area-sm' },
{ key: '3-5', label: '3-5', icon: 'plot-area-md' },
{ key: '6-8', label: '6-8', icon: 'plot-area-lg' },
{ key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown' },
{key: '1-2', label: '1-2', icon: 'plot-area-sm'},
{key: '3-5', label: '3-5', icon: 'plot-area-md'},
{key: '6-8', label: '6-8', icon: 'plot-area-lg'},
{key: 'nicht bekannt', label: 'nicht bekannt', icon: 'unknown'},
], ],
wohnflaechen: [{ label: 'bis 50 m²' }, { label: '51 - 150 m²' }, { label: 'mehr als 151 m²' }, { label: 'nicht bekannt' }],
etagen: [{ label: '1' }, { label: '2' }, { label: '3' }, { label: '4 oder mehr' }],
sellables: [{ label: '3 Monate' }, { label: '6 Monate' }, { label: '12 Monate oder später' }],
furnishings: [{ label: 'einfach' }, { label: 'gepflegt' }, { label: 'sehr gut' }, { label: 'luxuriös' }],
wohnflaechen: [{label: 'bis 50 m²'}, {label: '51 - 150 m²'}, {label: 'mehr als 151 m²'}, {label: 'nicht bekannt'}],
etagen: [{label: '1'}, {label: '2'}, {label: '3'}, {label: '4 oder mehr'}],
sellables: [{label: '3 Monate'}, {label: '6 Monate'}, {label: '12 Monate oder später'}],
furnishings: [{label: 'einfach'}, {label: 'gepflegt'}, {label: 'sehr gut'}, {label: 'luxuriös'}],
}; };
}, },
computed: { computed: {
maxYear() { maxYear() {
return dayjs().add(1, 'year').get('year'); return dayjs().add(1, 'year').get('year');
}
},
}, },
methods: { methods: {
onUpdateCategory(categoryId) { onUpdateCategory(categoryId) {
@ -345,4 +348,3 @@ export default {
}, },
}; };
</script> </script>

Loading…
Cancel
Save