netgescon-master/resources/views/admin/unita-immobiliari/show.blade.php

473 lines
25 KiB
PHP

@extends('admin.layouts.netgescon')
@section('title', 'Dettaglio Unità Immobiliare')
@section('content')
<div class="container mx-auto px-6 py-8">
<!-- Header -->
<div class="mb-8 flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold text-gray-900">
<i class="fas fa-home mr-3 text-blue-600"></i>
Unità {{ $unita->codice_unita }}
</h1>
<p class="text-gray-600 mt-2">
<i class="fas fa-building mr-2"></i>
{{ $unita->stabile->denominazione ?? 'Stabile ' . $unita->stabile->id }}
@if($unita->palazzinaObj)
- Palazzina {{ $unita->palazzinaObj->codice_palazzina }}
@endif
</p>
</div>
<div class="flex space-x-3">
<a href="{{ route('admin.unita-immobiliari.edit', $unita) }}"
class="netgescon-btn netgescon-btn-primary">
<i class="fas fa-edit mr-2"></i>
Modifica
</a>
@if($unita->palazzinaObj)
<a href="{{ route('admin.palazzine.show', $unita->palazzinaObj) }}"
class="netgescon-btn netgescon-btn-secondary">
<i class="fas fa-building mr-2"></i>
Palazzina
</a>
@endif
<a href="{{ route('admin.stabili.show', $unita->stabile) }}"
class="netgescon-btn netgescon-btn-secondary">
<i class="fas fa-arrow-left mr-2"></i>
Stabile
</a>
</div>
</div>
<!-- Statistiche Overview -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<!-- Superficie Totale -->
<div class="bg-blue-50 border border-blue-200 rounded-lg p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-blue-500 text-white">
<i class="fas fa-ruler-combined"></i>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-blue-600">Superficie Totale</p>
<p class="text-2xl font-bold text-blue-900">{{ $statistiche['superficie_totale'] }} </p>
</div>
</div>
</div>
<!-- Millesimi -->
<div class="bg-green-50 border border-green-200 rounded-lg p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-green-500 text-white">
<i class="fas fa-percentage"></i>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-green-600">Millesimi</p>
<p class="text-2xl font-bold text-green-900">{{ $unita->millesimi_proprieta ?? 0 }}/1000</p>
</div>
</div>
</div>
<!-- Rapporto Percentuale -->
<div class="bg-yellow-50 border border-yellow-200 rounded-lg p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-yellow-500 text-white">
<i class="fas fa-chart-pie"></i>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-yellow-600">Percentuale</p>
<p class="text-2xl font-bold text-yellow-900">{{ $statistiche['rapporto_millesimi'] }}%</p>
</div>
</div>
</div>
<!-- Valore Stimato -->
<div class="bg-purple-50 border border-purple-200 rounded-lg p-6">
<div class="flex items-center">
<div class="p-3 rounded-full bg-purple-500 text-white">
<i class="fas fa-euro-sign"></i>
</div>
<div class="ml-4">
<p class="text-sm font-medium text-purple-600">Valore Stimato</p>
<p class="text-2xl font-bold text-purple-900">{{ number_format($statistiche['valore_stimato'], 0, ',', '.') }}</p>
</div>
</div>
</div>
</div>
<!-- Tabs Container -->
<div class="bg-white rounded-lg shadow-sm border">
<!-- Tab Navigation -->
<div class="border-b border-gray-200 px-6 pt-6">
<nav class="-mb-px flex space-x-8" aria-label="Tabs" role="tablist">
<button class="netgescon-tab-btn active"
data-tab="dati-generali"
role="tab">
<i class="fas fa-info-circle mr-2"></i>
Dati Generali
</button>
<button class="netgescon-tab-btn"
data-tab="posizione"
role="tab">
<i class="fas fa-map-marker-alt mr-2"></i>
Posizione
</button>
<button class="netgescon-tab-btn"
data-tab="caratteristiche"
role="tab">
<i class="fas fa-list mr-2"></i>
Caratteristiche
</button>
<button class="netgescon-tab-btn"
data-tab="unita-vicine"
role="tab">
<i class="fas fa-users mr-2"></i>
Unità Vicine
</button>
<button class="netgescon-tab-btn"
data-tab="economico"
role="tab">
<i class="fas fa-calculator mr-2"></i>
Aspetti Economici
</button>
</nav>
</div>
<!-- Tab Content -->
<div class="p-6">
<!-- Tab Dati Generali -->
<div id="dati-generali" class="netgescon-tab-content">
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<!-- Identificazione -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-id-card mr-2 text-blue-600"></i>
Identificazione
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Codice Unità:</span>
<span class="text-gray-900 font-mono">{{ $unita->codice_unita }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Tipo Unità:</span>
<span class="text-gray-900">{{ ucfirst(str_replace('_', ' ', $unita->tipo_unita ?? 'abitazione')) }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Utilizzo Attuale:</span>
<span class="text-gray-900">{{ ucfirst(str_replace('_', ' ', $unita->utilizzo_attuale ?? 'abitazione_principale')) }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Stato Occupazione:</span>
<span class="px-2 py-1 rounded-full text-xs font-medium
@if($unita->stato_occupazione === 'occupata_proprietario') bg-green-100 text-green-800
@elseif($unita->stato_occupazione === 'libera') bg-blue-100 text-blue-800
@elseif($unita->stato_occupazione === 'in_vendita') bg-yellow-100 text-yellow-800
@else bg-gray-100 text-gray-800 @endif">
{{ ucfirst(str_replace('_', ' ', $unita->stato_occupazione ?? 'libera')) }}
</span>
</div>
</div>
</div>
<!-- Superfici -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-ruler-combined mr-2 text-green-600"></i>
Superfici
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Superficie Commerciale:</span>
<span class="text-gray-900">{{ $unita->superficie_commerciale ?? '-' }} </span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Superficie Accessori:</span>
<span class="text-gray-900">{{ $unita->superficie_accessori ?? '-' }} </span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Superficie Scoperta:</span>
<span class="text-gray-900">{{ $unita->superficie_scoperta ?? '-' }} </span>
</div>
<div class="flex justify-between border-t pt-2">
<span class="font-bold text-gray-900">Superficie Totale:</span>
<span class="font-bold text-gray-900">{{ $statistiche['superficie_totale'] }} </span>
</div>
</div>
</div>
</div>
</div>
<!-- Tab Posizione -->
<div id="posizione" class="netgescon-tab-content hidden">
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<!-- Posizione Fisica -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-map-marker-alt mr-2 text-blue-600"></i>
Posizione Fisica
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Palazzina:</span>
<span class="text-gray-900 font-mono">{{ $unita->palazzina }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Scala:</span>
<span class="text-gray-900 font-mono">{{ $unita->scala }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Piano:</span>
<span class="text-gray-900 font-mono">{{ $unita->piano }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Interno:</span>
<span class="text-gray-900 font-mono">{{ $unita->interno }}</span>
</div>
</div>
</div>
<!-- Dati Catastali -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-map mr-2 text-green-600"></i>
Dati Catastali
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Foglio:</span>
<span class="text-gray-900">{{ $unita->foglio ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Particella:</span>
<span class="text-gray-900">{{ $unita->particella ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Subalterno:</span>
<span class="text-gray-900">{{ $unita->subalterno ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Categoria:</span>
<span class="text-gray-900">{{ $unita->categoria_catastale ?? '-' }}</span>
</div>
</div>
</div>
</div>
</div>
<!-- Tab Caratteristiche -->
<div id="caratteristiche" class="netgescon-tab-content hidden">
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<!-- Caratteristiche Fisiche -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-home mr-2 text-purple-600"></i>
Caratteristiche Fisiche
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Numero Vani:</span>
<span class="text-gray-900">{{ $unita->numero_vani ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Numero Bagni:</span>
<span class="text-gray-900">{{ $unita->numero_bagni ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Ha Balconi:</span>
<span class="text-gray-900">{{ $unita->ha_balconi ? 'Sì' : 'No' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Ha Terrazzo:</span>
<span class="text-gray-900">{{ $unita->ha_terrazzo ? 'Sì' : 'No' }}</span>
</div>
</div>
</div>
<!-- Autorizzazioni -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-certificate mr-2 text-orange-600"></i>
Autorizzazioni
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">CIN:</span>
<span class="text-gray-900">{{ $unita->cin ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Licenza Commerciale:</span>
<span class="text-gray-900">{{ $unita->licenza_commerciale ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Autorizzazione Professionale:</span>
<span class="text-gray-900">{{ $unita->autorizzazione_professionale ?? '-' }}</span>
</div>
</div>
</div>
</div>
</div>
<!-- Tab Unità Vicine -->
<div id="unita-vicine" class="netgescon-tab-content hidden">
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2 mb-6">
<i class="fas fa-users mr-2 text-blue-600"></i>
Unità Vicine (per gestione problemi tecnici)
</h3>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<!-- Unità Sovrastante -->
<div class="bg-blue-50 border border-blue-200 rounded-lg p-6">
<h4 class="font-medium text-blue-800 mb-4 flex items-center">
<i class="fas fa-arrow-up mr-2"></i>
Unità Sovrastante
</h4>
@if($unita_vicine['sovrastante'])
<div class="space-y-2">
<p class="font-mono text-sm">{{ $unita_vicine['sovrastante']->codice_unita }}</p>
<p class="text-xs text-blue-600">Piano {{ $unita_vicine['sovrastante']->piano }}</p>
<a href="{{ route('admin.unita-immobiliari.show', $unita_vicine['sovrastante']) }}"
class="inline-flex items-center text-xs text-blue-600 hover:text-blue-800">
<i class="fas fa-eye mr-1"></i>Visualizza
</a>
</div>
@else
<p class="text-sm text-gray-500">Nessuna unità sovrastante</p>
@endif
</div>
<!-- Unità Sottostante -->
<div class="bg-green-50 border border-green-200 rounded-lg p-6">
<h4 class="font-medium text-green-800 mb-4 flex items-center">
<i class="fas fa-arrow-down mr-2"></i>
Unità Sottostante
</h4>
@if($unita_vicine['sottostante'])
<div class="space-y-2">
<p class="font-mono text-sm">{{ $unita_vicine['sottostante']->codice_unita }}</p>
<p class="text-xs text-green-600">Piano {{ $unita_vicine['sottostante']->piano }}</p>
<a href="{{ route('admin.unita-immobiliari.show', $unita_vicine['sottostante']) }}"
class="inline-flex items-center text-xs text-green-600 hover:text-green-800">
<i class="fas fa-eye mr-1"></i>Visualizza
</a>
</div>
@else
<p class="text-sm text-gray-500">Nessuna unità sottostante</p>
@endif
</div>
<!-- Unità Laterali -->
<div class="bg-yellow-50 border border-yellow-200 rounded-lg p-6">
<h4 class="font-medium text-yellow-800 mb-4 flex items-center">
<i class="fas fa-arrows-alt-h mr-2"></i>
Unità Laterali
</h4>
@if($unita_vicine['laterali']->count() > 0)
<div class="space-y-3">
@foreach($unita_vicine['laterali'] as $laterale)
<div class="border-b border-yellow-200 pb-2 last:border-b-0">
<p class="font-mono text-sm">{{ $laterale->codice_unita }}</p>
<p class="text-xs text-yellow-600">Interno {{ $laterale->interno }}</p>
<a href="{{ route('admin.unita-immobiliari.show', $laterale) }}"
class="inline-flex items-center text-xs text-yellow-600 hover:text-yellow-800">
<i class="fas fa-eye mr-1"></i>Visualizza
</a>
</div>
@endforeach
</div>
@else
<p class="text-sm text-gray-500">Nessuna unità laterale</p>
@endif
</div>
</div>
</div>
</div>
<!-- Tab Economico -->
<div id="economico" class="netgescon-tab-content hidden">
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<!-- Millesimi -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-percentage mr-2 text-blue-600"></i>
Millesimi di Proprietà
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Millesimi Proprietà:</span>
<span class="text-gray-900 font-mono">{{ $unita->millesimi_proprieta ?? 0 }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Percentuale:</span>
<span class="text-gray-900">{{ $statistiche['rapporto_millesimi'] }}%</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Millesimi Riscaldamento:</span>
<span class="text-gray-900">{{ $unita->millesimi_riscaldamento ?? '-' }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Millesimi Ascensore:</span>
<span class="text-gray-900">{{ $unita->millesimi_ascensore ?? '-' }}</span>
</div>
</div>
</div>
<!-- Valutazioni -->
<div class="space-y-6">
<h3 class="text-lg font-semibold text-gray-900 border-b pb-2">
<i class="fas fa-euro-sign mr-2 text-green-600"></i>
Valutazioni Economiche
</h3>
<div class="space-y-3">
<div class="flex justify-between">
<span class="font-medium text-gray-700">Valore Commerciale:</span>
<span class="text-gray-900">{{ number_format($unita->valore_commerciale_stimato ?? 0, 0, ',', '.') }}</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Valore al :</span>
<span class="text-gray-900">
@if($unita->superficie_commerciale && $unita->valore_commerciale_stimato)
{{ number_format($unita->valore_commerciale_stimato / $unita->superficie_commerciale, 0, ',', '.') }}/
@else
-
@endif
</span>
</div>
<div class="flex justify-between">
<span class="font-medium text-gray-700">Rendita Catastale:</span>
<span class="text-gray-900">{{ number_format($unita->rendita_catastale ?? 0, 2, ',', '.') }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script>
document.addEventListener('DOMContentLoaded', function() {
// Initialize tabs
const tabButtons = document.querySelectorAll('.netgescon-tab-btn');
const tabContents = document.querySelectorAll('.netgescon-tab-content');
tabButtons.forEach(button => {
button.addEventListener('click', function() {
const targetTab = this.getAttribute('data-tab');
// Remove active class from all buttons and contents
tabButtons.forEach(btn => btn.classList.remove('active'));
tabContents.forEach(content => content.classList.add('hidden'));
// Add active class to clicked button and show corresponding content
this.classList.add('active');
document.getElementById(targetTab).classList.remove('hidden');
});
});
});
</script>
@endpush
@endsection