@extends('layouts.app-layout') @section('title', 'Detalle de unidad - ' . config('app.name')) @section('navbar_suffix', 'Unidades') @section('content') @php use App\Enums\CantidadPersonasEnum; use App\Enums\FuncionarioRolEnum; use App\Enums\RolEnEmpresaEnum; use App\Enums\UserStatusEnum; $direccion = $unidadAtencion->direccion; $user = auth()->user(); $contactoActual = $user?->contacto; $esFuncionarioAdmin = $user?->funcionario && $user->funcionario->estado === UserStatusEnum::ACTIVO && $user->funcionario->rol === FuncionarioRolEnum::ADMIN; $rolPivot = $contactoActual ? $contactoActual->unidadesAtencion()->whereKey($unidadAtencion->id)->first()?->pivot?->rol_en_empresa : null; $esTitular = $rolPivot instanceof RolEnEmpresaEnum ? $rolPivot === RolEnEmpresaEnum::TITULAR : $rolPivot === RolEnEmpresaEnum::TITULAR->value; $puedeGestionarContactos = $esTitular || $esFuncionarioAdmin; $estadoLabel = $unidadAtencion->estado_formalizacion ? str_replace('_', ' ', $unidadAtencion->estado_formalizacion) : 'Sin definir'; $tipoLabel = $unidadAtencion->tipo_unidad ? ucfirst($unidadAtencion->tipo_unidad) : 'Sin definir'; $cantidadLabel = CantidadPersonasEnum::tryFrom($unidadAtencion->cantidad_personas ?? '')?->label() ?? 'Sin definir'; $canales = $unidadAtencion->canalVentas ?? collect(); $mostrarFormularioContacto = $puedeGestionarContactos && ( $errors->has('contacto_id') || $errors->has('rol_en_empresa') || $errors->has('unidad_atencion_id') || old('contacto_id') || old('rol_en_empresa') ); @endphp
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif

Unidad de atencion

{{ $unidadAtencion->nombre_comercial }}

{{ $unidadAtencion->descripcion ?: 'Sin descripcion registrada.' }}

@if($esTitular || $esFuncionarioAdmin) @endif
{{ $tipoLabel }} {{ $estadoLabel }} {{ $cantidadLabel }}

Informacion general

Razon social {{ $unidadAtencion->razon_social ?? '—' }}
RUT {{ $unidadAtencion->rut ?? '—' }}
Rubro CIU {{ $unidadAtencion->rubro_ciu ?? '—' }}
Ano de inicio {{ $unidadAtencion->anio_inicio ?? '—' }}
Ventas {{ $unidadAtencion->ventas ?? '—' }}
Canales de venta {{ $canales->map(fn($canal) => $canal->nombre)->implode(', ') ?: '—' }}
Observaciones {{ $unidadAtencion->observaciones ?: 'Sin observaciones.' }}

Direccion

@if($direccion)
Departamento {{ $direccion->departamento ?? '—' }}
Localidad {{ $direccion->localidad ?? '—' }}
Calle {{ $direccion->calle ?? '—' }}
Numero de puerta {{ $direccion->numero_puerta ?? '—' }}
Codigo postal {{ $direccion->codigo_postal ?? '—' }}
@else
Sin direccion registrada.
@endif

Equipo de la unidad

{{ $unidadAtencion->contactos->count() }} contacto(s) asociado(s).

@if($puedeGestionarContactos) @endif
@if($puedeGestionarContactos)
@csrf
Solo se aceptan coincidencias exactas.
{{ old('contacto_id') ? 'Contacto seleccionado' : '—' }}
@error('contacto_id')
{{ $message }}
@enderror
@error('rol_en_empresa')
{{ $message }}
@enderror
@error('unidad_atencion_id')
{{ $message }}
@enderror
@endif @if($unidadAtencion->contactos->isEmpty())
Sin contactos asociados por el momento.
@else
@foreach($unidadAtencion->contactos as $contactoUnidad) @php $userContacto = $contactoUnidad->user; $nombre = $userContacto->nombre ?? 'Sin nombre'; $apellido = $userContacto->apellido ?? ''; $cedula = $userContacto->cedula ?? 'N/A'; $email = $userContacto->email ?? 'N/A'; $telefono = $userContacto->telefono ?? 'N/A'; $iniciales = strtoupper(mb_substr($nombre, 0, 1) . mb_substr($apellido, 0, 1)); $rolEnEmpresa = $contactoUnidad->pivot?->rol_en_empresa; $rolEnEmpresaValue = $rolEnEmpresa instanceof RolEnEmpresaEnum ? $rolEnEmpresa->value : $rolEnEmpresa; $rolLabel = match($rolEnEmpresaValue) { 'titular' => 'Titular', 'socio' => 'Socio/a', 'encargado' => 'Encargado/a', 'otro' => 'Otro', default => '-' }; $esElMismo = $contactoActual?->id === $contactoUnidad->id; $puedeRemover = $puedeGestionarContactos && ! $esElMismo; @endphp
{{ $iniciales }}
{{ $nombre }} {{ $apellido }} {{ $rolLabel }} @if($contactoUnidad->estado === UserStatusEnum::INACTIVO) Suspendido @endif
{{ $cedula }} {{ $email }} {{ $telefono }}
@if($puedeRemover) @endif
@if($puedeRemover) @endif @endforeach
@endif
@endsection @push('scripts') @endpush