feat: listar propiedades y baja propiedad

Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
This commit is contained in:
2024-11-30 14:07:12 -03:00
parent 29f7dc4efe
commit 00cce75fad
12 changed files with 245 additions and 103 deletions

View File

@@ -0,0 +1,62 @@
<script lang="ts">
import { onMount } from "svelte";
import NavBarAutocompletable from "../Componentes/NavBarAutocompletable.svelte" ;
import { writable } from 'svelte/store';
import RowPropiedad from "../Componentes/RowPropiedad.svelte";
import type { PropiedadDto } from "../types";
let propiedades = writable<PropiedadDto[]>([]);
let email = localStorage.getItem("email");
let token = sessionStorage.getItem("token");
let fallo: boolean = $state(false);
onMount(async ()=> {
try {
const responce = await fetch("http://localhost:5007/api/propiedades/Propietario", {
method: "GET",
headers: {
'Auth': String(token),
'Email' : String(email),
'Content-Type' : "application/json"
},
});
if (responce.ok){
const json = await responce.json();
propiedades.set(json);
return;
}
if (!responce.ok){
fallo = true;
}
} catch (e){
console.error(e);
}
});
</script>
<NavBarAutocompletable/>
<div class="container table-responsive">
<table class="table-responsive table table-striped">
<thead>
<tr>
<th>#</th>
<th>ubicacion</th>
<th>Letra</th>
<th>Piso</th>
<th>Tipo</th>
</tr>
</thead>
<tbody>
{#each $propiedades as propiedad}
{@debug propiedad}
<RowPropiedad id={propiedad.id} ubicacion={propiedad.ubicacion} letra={propiedad.letra} piso={propiedad.piso} tipo={propiedad.tipo}/>
{/each}
</tbody>
</table>
</div>
{#if fallo}
<div class="container alert alert-danger">Fallo al intentar Obtener la lista de propiedades</div>
{/if}

View File

@@ -2,6 +2,7 @@
import { writable } from "svelte/store"; // Importar writable para los estados
import ModalEstatico from "../Componentes/ModalEstatico.svelte";
import NavBarAutocompletable from "../Componentes/NavBarAutocompletable.svelte";
import BarraHorizontalConTexto from "../Componentes/BarraHorizontalConTexto.svelte";
type Propiedad = {
ubicacion: string,
@@ -51,73 +52,85 @@
<NavBarAutocompletable />
<div class="container mt-4">
<h2>Registrar Propiedad</h2>
<form class="card card-body" onsubmit={submitForm}>
<div class="form-floating mb-3">
<input
type="text"
id="ubicacion"
class="form-control"
bind:value={propiedad.ubicacion}
placeholder="Ubicación"
required
/>
<label for="ubicacion">Ubicación</label>
</div>
<div class="form-floating mb-3">
<input
type="number"
id="canthabitaciones"
class="form-control"
bind:value={propiedad.canthabitaciones}
min="1"
placeholder="Cantidad de Habitaciones"
required
/>
<label for="canthabitaciones">Cantidad de Habitaciones</label>
</div>
<div class="form-floating mb-3">
<input
type="number"
id="piso"
class="form-control"
bind:value={propiedad.piso}
min="0"
placeholder="Piso"
/>
<label for="piso">Piso</label>
</div>
<div class="form-floating mb-3">
<input
type="text"
id="letra"
class="form-control"
bind:value={propiedad.letra}
maxlength="1"
placeholder="Letra"
/>
<label for="letra">Letra</label>
</div>
<div class="form-floating mb-3">
<select
id="idtipropiedad"
class="form-select"
bind:value={propiedad.idtipropiedad}
required
>
<option value="1">Casa</option>
<option value="2">Piso</option>
<option value="3">Departamento</option>
<option value="4">Galpon</option>
<option value="5">LocalComercial</option>
<option value="6">Oficina</option>
</select>
<label for="idtipropiedad">Tipo de Propiedad</label>
</div>
<button type="submit" class="btn btn-primary">Enviar</button>
</form>
<div class="container-fluid mt-4 row">
<div class="col-sm">
<BarraHorizontalConTexto text={"Formulario Alta propiedad"}/>
Este es un formulario con el objetivo de que usted pueda registrar las propiedades <b>suyas</b> que quiera hacer visibles a las busquedas de inquilinos.
<br><br>
<BarraHorizontalConTexto text={"Indicaciones"}/>
Para poder cargar la propiedad deberá especificar su ubicacion, la cantidad de habitaciones que posée, en caso de ser un edificio el piso, y letra, y que tipo de propiedad és (casa, departamento, oficina...).
</div>
<div class="col">
<h2>Registrar Propiedad</h2>
<form class="card card-body" onsubmit={submitForm}>
<div class="form-floating mb-3">
<input
type="text"
id="ubicacion"
class="form-control"
bind:value={propiedad.ubicacion}
placeholder="Ubicación"
required
/>
<label for="ubicacion">Ubicación</label>
</div>
<div class="form-floating mb-3">
<input
type="number"
id="canthabitaciones"
class="form-control"
bind:value={propiedad.canthabitaciones}
min="1"
placeholder="Cantidad de Habitaciones"
required
/>
<label for="canthabitaciones">Cantidad de Habitaciones</label>
</div>
<div class="form-floating mb-3">
<input
type="number"
id="piso"
class="form-control"
bind:value={propiedad.piso}
min="0"
placeholder="Piso"
/>
<label for="piso">Piso</label>
</div>
<div class="form-floating mb-3">
<input
type="text"
id="letra"
class="form-control"
bind:value={propiedad.letra}
maxlength="1"
placeholder="Letra"
/>
<label for="letra">Letra</label>
</div>
<div class="form-floating mb-3">
<select
id="idtipropiedad"
class="form-select"
bind:value={propiedad.idtipropiedad}
required
>
<option value="1">Casa</option>
<option value="2">Piso</option>
<option value="3">Departamento</option>
<option value="4">Galpon</option>
<option value="5">LocalComercial</option>
<option value="6">Oficina</option>
</select>
<label for="idtipropiedad">Tipo de Propiedad</label>
</div>
<button type="submit" class="btn btn-primary">Enviar</button>
</form>
</div>
</div>
{#if mostrarModal == true}
<ModalEstatico payload={datosModal} />
{/if}
{/if}

View File

@@ -6,9 +6,9 @@
<NavBarAutocompletable/>
<div class="container">
<div class="container-fluid">
<div class="row align-items-start">
<div class="col">
<div class="col-sm">
<br><br>
<TextBar text="Formulario Alta Inquilino" />
Este es un formulario para crear una cuenta de Propietario.

View File

@@ -6,9 +6,9 @@
<NavBarAutocompletable/>
<div class="container">
<div class="container-fluid">
<div class="row align-items-start">
<div class="col">
<div class="col-sm">
<br><br>
<TextBar text="Formulario Alta Propietario" />
Este es un formulario para crear una cuenta de Inquilino.