8 changed files with 17 additions and 329 deletions
			
			
		@ -1,28 +0,0 @@ | 
				
			|||
<?php | 
				
			|||
 | 
				
			|||
use Illuminate\Database\Migrations\Migration; | 
				
			|||
use Illuminate\Database\Schema\Blueprint; | 
				
			|||
use Illuminate\Support\Facades\Schema; | 
				
			|||
 | 
				
			|||
return new class extends Migration | 
				
			|||
{ | 
				
			|||
    /** | 
				
			|||
     * Run the migrations. | 
				
			|||
     */ | 
				
			|||
    public function up(): void | 
				
			|||
    { | 
				
			|||
        Schema::table('prestamos', function (Blueprint $table) { | 
				
			|||
            // | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * Reverse the migrations. | 
				
			|||
     */ | 
				
			|||
    public function down(): void | 
				
			|||
    { | 
				
			|||
        Schema::table('prestamos', function (Blueprint $table) { | 
				
			|||
            // | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
}; | 
				
			|||
@ -1,28 +0,0 @@ | 
				
			|||
<?php | 
				
			|||
 | 
				
			|||
use Illuminate\Database\Migrations\Migration; | 
				
			|||
use Illuminate\Database\Schema\Blueprint; | 
				
			|||
use Illuminate\Support\Facades\Schema; | 
				
			|||
 | 
				
			|||
return new class extends Migration | 
				
			|||
{ | 
				
			|||
    /** | 
				
			|||
     * Run the migrations. | 
				
			|||
     */ | 
				
			|||
    public function up(): void | 
				
			|||
    { | 
				
			|||
        Schema::table('prestamos', function (Blueprint $table) { | 
				
			|||
            // | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * Reverse the migrations. | 
				
			|||
     */ | 
				
			|||
    public function down(): void | 
				
			|||
    { | 
				
			|||
        Schema::table('prestamos', function (Blueprint $table) { | 
				
			|||
            // | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
}; | 
				
			|||
@ -1,28 +0,0 @@ | 
				
			|||
<?php | 
				
			|||
 | 
				
			|||
use Illuminate\Database\Migrations\Migration; | 
				
			|||
use Illuminate\Database\Schema\Blueprint; | 
				
			|||
use Illuminate\Support\Facades\Schema; | 
				
			|||
 | 
				
			|||
return new class extends Migration | 
				
			|||
{ | 
				
			|||
    /** | 
				
			|||
     * Run the migrations. | 
				
			|||
     */ | 
				
			|||
    public function up(): void | 
				
			|||
    { | 
				
			|||
        Schema::table('prestamos', function (Blueprint $table) { | 
				
			|||
            $table->string('estado')->default('pendiente'); // pendiente, aceptado, rechazado | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * Reverse the migrations. | 
				
			|||
     */ | 
				
			|||
    public function down(): void | 
				
			|||
    { | 
				
			|||
        Schema::table('prestamos', function (Blueprint $table) { | 
				
			|||
            $table->dropColumn('estado'); | 
				
			|||
        }); | 
				
			|||
    } | 
				
			|||
}; | 
				
			|||
@ -1,6 +0,0 @@ | 
				
			|||
                <x-nav-link :href="route('prestamos.index')" :active="request()->routeIs('prestamos.index')"> | 
				
			|||
                    {{ __('Préstamos') }} | 
				
			|||
                </x-nav-link> | 
				
			|||
                <x-nav-link :href="route('prestamos.aceptados')" :active="request()->routeIs('prestamos.aceptados')"> | 
				
			|||
                    {{ __('Préstamos Aceptados') }} | 
				
			|||
                </x-nav-link>  | 
				
			|||
@ -1,163 +0,0 @@ | 
				
			|||
@extends('layouts.dashboard') | 
				
			|||
 | 
				
			|||
@section('content') | 
				
			|||
<div class="container mx-auto px-4 py-6"> | 
				
			|||
    <!-- Mensajes de éxito y error --> | 
				
			|||
    @if(session('success')) | 
				
			|||
        <div id="success-message" class="bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded relative mb-4" role="alert"> | 
				
			|||
            <span class="block sm:inline">{{ session('success') }}</span> | 
				
			|||
        </div> | 
				
			|||
    @endif | 
				
			|||
 | 
				
			|||
    @if(session('error')) | 
				
			|||
        <div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative mb-4" role="alert"> | 
				
			|||
            <span class="block sm:inline">{{ session('error') }}</span> | 
				
			|||
        </div> | 
				
			|||
    @endif | 
				
			|||
 | 
				
			|||
    <div class="bg-white rounded-lg shadow-lg"> | 
				
			|||
        <!-- Encabezado con título y botones de acción --> | 
				
			|||
        <div class="p-4 border-b border-gray-200 flex justify-between items-center"> | 
				
			|||
            <h2 class="text-2xl font-bold">Préstamos Aceptados</h2> | 
				
			|||
            <div class="flex items-center space-x-6"> | 
				
			|||
                <!-- Íconos de exportación --> | 
				
			|||
                <div class="flex space-x-4"> | 
				
			|||
                    <!-- Exportar a Excel --> | 
				
			|||
                    <a href="{{ route('prestamos.excel') }}?estado=aceptado" class="text-green-600 hover:text-green-800 text-2xl"> | 
				
			|||
                        <i class="fas fa-file-excel"></i> | 
				
			|||
                    </a> | 
				
			|||
                    <!-- Exportar a PDF --> | 
				
			|||
                    <a href="{{ route('prestamos.pdf') }}?estado=aceptado" class="text-red-600 hover:text-red-800 text-2xl"> | 
				
			|||
                        <i class="fas fa-file-pdf"></i> | 
				
			|||
                    </a> | 
				
			|||
                </div> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <!-- Barra de búsqueda --> | 
				
			|||
        <div class="p-4 border-b border-gray-200 bg-gray-50"> | 
				
			|||
            <form action="{{ route('prestamos.aceptados') }}" method="GET" class="flex gap-2"> | 
				
			|||
                <div class="relative w-full sm:w-64"> | 
				
			|||
                    <input type="text" | 
				
			|||
                           name="busqueda" | 
				
			|||
                           placeholder="Buscar préstamo..." | 
				
			|||
                           value="{{ request('busqueda') }}" | 
				
			|||
                           class="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"> | 
				
			|||
                    <div class="absolute left-3 top-2.5 text-gray-400"> | 
				
			|||
                        <i class="fas fa-search"></i> | 
				
			|||
                    </div> | 
				
			|||
                </div> | 
				
			|||
                <button type="submit" class="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600"> | 
				
			|||
                    Buscar | 
				
			|||
                </button> | 
				
			|||
                @if(request('busqueda')) | 
				
			|||
                    <a href="{{ route('prestamos.aceptados') }}" class="px-4 py-2 bg-gray-500 text-white rounded-lg hover:bg-gray-600"> | 
				
			|||
                        Limpiar | 
				
			|||
                    </a> | 
				
			|||
                @endif | 
				
			|||
            </form> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <!-- Tabla de préstamos --> | 
				
			|||
        <div class="overflow-x-auto"> | 
				
			|||
            <table class="min-w-full divide-y divide-gray-200"> | 
				
			|||
                <thead class="bg-gray-50"> | 
				
			|||
                    <tr> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Número</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Nombre Solicitante</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Destino</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Fecha y Hora Salida</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Fecha y Hora Llegada</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Motivo</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Domicilio</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Número de Personas</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Chofer</th> | 
				
			|||
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Acciones</th> | 
				
			|||
                    </tr> | 
				
			|||
                </thead> | 
				
			|||
                <tbody class="bg-white divide-y divide-gray-200"> | 
				
			|||
                    @foreach($prestamos as $index => $prestamo) | 
				
			|||
                    <tr class="hover:bg-gray-50"> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500"> | 
				
			|||
                            <span class="font-medium">{{ $index + 1 }}</span> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-user text-blue-500 mr-2"></i> | 
				
			|||
                                {{ $prestamo->nombre_solicitante }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-map-marker-alt text-red-500 mr-2"></i> | 
				
			|||
                                {{ $prestamo->destino }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-clock text-green-500 mr-2"></i> | 
				
			|||
                                {{ \Carbon\Carbon::parse($prestamo->fecha_hora_salida)->format('d/m/Y H:i') }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-clock text-red-500 mr-2"></i> | 
				
			|||
                                {{ \Carbon\Carbon::parse($prestamo->fecha_hora_llegada)->format('d/m/Y H:i') }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-info-circle text-blue-500 mr-2"></i> | 
				
			|||
                                {{ $prestamo->motivo }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-home text-purple-500 mr-2"></i> | 
				
			|||
                                {{ $prestamo->domicilio }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-users text-yellow-500 mr-2"></i> | 
				
			|||
                                {{ $prestamo->numero_personas }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> | 
				
			|||
                            <div class="flex items-center"> | 
				
			|||
                                <i class="fas fa-id-card text-gray-500 mr-2"></i> | 
				
			|||
                                {{ $prestamo->chofer ? 'Sí' : 'No' }} | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                        <td class="px-6 py-4 whitespace-nowrap text-sm font-medium"> | 
				
			|||
                            <div class="flex space-x-2"> | 
				
			|||
                                <a href="{{ route('prestamos.edit', $prestamo->id) }}" class="text-blue-600 hover:text-blue-900"> | 
				
			|||
                                    <i class="fas fa-edit"></i> | 
				
			|||
                                </a> | 
				
			|||
                                <form action="{{ route('prestamos.destroy', $prestamo->id) }}" method="POST" class="inline"> | 
				
			|||
                                    @csrf | 
				
			|||
                                    @method('DELETE') | 
				
			|||
                                    <button type="submit" class="text-red-600 hover:text-red-900" onclick="return confirm('¿Estás seguro de que deseas eliminar este préstamo?')"> | 
				
			|||
                                        <i class="fas fa-trash"></i> | 
				
			|||
                                    </button> | 
				
			|||
                                </form> | 
				
			|||
                            </div> | 
				
			|||
                        </td> | 
				
			|||
                    </tr> | 
				
			|||
                    @endforeach | 
				
			|||
                </tbody> | 
				
			|||
            </table> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<script> | 
				
			|||
    // Ocultar el mensaje de éxito después de 3 segundos | 
				
			|||
    setTimeout(function() { | 
				
			|||
        const successMessage = document.getElementById('success-message'); | 
				
			|||
        if (successMessage) { | 
				
			|||
            successMessage.style.display = 'none'; | 
				
			|||
        } | 
				
			|||
    }, 3000); | 
				
			|||
</script> | 
				
			|||
@endsection  | 
				
			|||
					Loading…
					
					
				
		Reference in new issue