@extends('index') @section('titulo', 'Equilibria | Consultas') @section('style') @endsection @section('menu') @include('MenuLayout.menu_clinica') @endsection @section('contenido')
{{-- Cabecera --}}

Gestión de Consultas

Visualiza y administra el estado de todas las consultas médicas
{{-- Tarjeta principal --}}
{{-- Filtros estado + mes --}}
{{-- Buscador en tiempo real --}}
{{-- Contador visible --}} {{ $consultas->count() }} consulta(s)
@if($consultas->isEmpty())

No se encontraron consultas con el filtro seleccionado.

@else
@foreach($consultas as $consulta) @php $slug = $consulta->estatus?->slug ?? ''; $color = $colores[$consulta->fk_estatus] ?? '#6b7280'; $horaStr = substr((string) $consulta->hora, 0, 5); $fechaFmt = \Carbon\Carbon::parse($consulta->fecha)->format('d/m/Y'); $doctor = $consulta->doctor?->nombre ?? 'Ambos médicos'; $nombrePac = $consulta->paciente?->nombre ?? 'Desconocido'; $folio = $consulta->paciente?->folio?->codigo_folio ?? '—'; $tipo = $consulta->tipoConsulta?->nombre ?? '—'; $esFuncional = $consulta->fk_tipo_consulta == \App\Models\TipoConsulta::FUNCIONAL; $duracion = \App\Models\TipoConsulta::duracionEnHoras((int) $consulta->fk_tipo_consulta); $pacienteId = $consulta->paciente?->id; $tzApp = config('app.timezone'); $dentroVentanaAusencia = false; if ($slug === 'no_presentado') { $fechaDiaNp = \Carbon\Carbon::parse($consulta->fecha, $tzApp)->format('Y-m-d'); $horaFinAus = \Carbon\Carbon::parse($fechaDiaNp.' '.$horaStr.':00', $tzApp)->addHours($duracion); $dentroVentanaAusencia = \Carbon\Carbon::now($tzApp)->lessThanOrEqualTo($horaFinAus->copy()->addMinutes(15)); } @endphp {{-- Paciente (enlace al expediente) --}} {{-- Folio --}} {{-- Médico --}} {{-- Fecha --}} {{-- Hora --}} {{-- Tipo — verde=Funcional, azul=General --}} {{-- Estatus --}} {{-- Acciones --}} @endforeach
Paciente Folio Médico Fecha Hora Tipo Estatus Acciones
@if($pacienteId) {{ $nombrePac }} @else {{ $nombrePac }} @endif {{ $folio }} {{ $doctor }} {{ $fechaFmt }} {{ $horaStr }} {{ $tipo }} {{ $consulta->estatus?->descripcion ?? '—' }}
{{-- activo: Iniciar + Baja + Reprogramable --}} @if($slug === 'activo') {{-- en_proceso: Completar + Baja --}} @elseif($slug === 'en_proceso') {{-- reprogramable: solo Reprogramar (con cambio de fecha/hora) --}} @elseif($slug === 'reprogramable') {{-- reprogramado: Iniciar + Baja + Reprogramable --}} @elseif($slug === 'reprogramado') {{-- no_presentado: Iniciar (15 min después de hora fin) + Baja + Reprogramable --}} @elseif($slug === 'no_presentado') @if($dentroVentanaAusencia) @endif {{-- completado / baja: sin acciones --}} @else @endif
@endif
@endsection @section('script') @endsection