11 changed files with 247 additions and 74 deletions
@ -0,0 +1,28 @@ |
|||
<?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->enum('estado', ['pendiente', 'aceptado', 'rechazado'])->default('pendiente')->after('chofer'); |
|||
}); |
|||
} |
|||
|
|||
/** |
|||
* Reverse the migrations. |
|||
*/ |
|||
public function down(): void |
|||
{ |
|||
Schema::table('prestamos', function (Blueprint $table) { |
|||
$table->dropColumn('estado'); |
|||
}); |
|||
} |
|||
}; |
@ -1,20 +0,0 @@ |
|||
use Illuminate\Database\Migrations\Migration; |
|||
use Illuminate\Database\Schema\Blueprint; |
|||
use Illuminate\Support\Facades\Schema; |
|||
|
|||
class AddFechaAceptacionToPrestamosTable extends Migration |
|||
{ |
|||
public function up() |
|||
{ |
|||
Schema::table('prestamos', function (Blueprint $table) { |
|||
$table->timestamp('fecha_aceptacion')->nullable()->after('estado'); |
|||
}); |
|||
} |
|||
|
|||
public function down() |
|||
{ |
|||
Schema::table('prestamos', function (Blueprint $table) { |
|||
$table->dropColumn('fecha_aceptacion'); |
|||
}); |
|||
} |
|||
} |
@ -0,0 +1,47 @@ |
|||
@extends('layouts.dashboard') |
|||
|
|||
@section('content') |
|||
<div class="container mx-auto px-4 py-6"> |
|||
<div class="bg-white rounded-lg shadow-lg"> |
|||
<div class="p-4 border-b border-gray-200 flex justify-between items-center"> |
|||
<h2 class="text-2xl font-bold">Préstamos Pendientes</h2> |
|||
</div> |
|||
<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">#</th> |
|||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">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 Salida</th> |
|||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Fecha 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">Personas</th> |
|||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Chofer</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody class="bg-white divide-y divide-gray-200"> |
|||
@forelse($prestamos as $index => $prestamo) |
|||
<tr class="hover:bg-gray-50"> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{{ $index + 1 }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->nombre_solicitante }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->destino }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->fecha_hora_salida }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->fecha_hora_llegada }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->motivo }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->domicilio }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->numero_personas }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">{{ $prestamo->chofer ? 'Sí' : 'No' }}</td> |
|||
</tr> |
|||
@empty |
|||
<tr> |
|||
<td colspan="9" class="px-6 py-4 text-center text-gray-500">No hay préstamos pendientes.</td> |
|||
</tr> |
|||
@endforelse |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,91 @@ |
|||
@extends('layouts.dashboard') |
|||
|
|||
@section('content') |
|||
<div class="container mx-auto px-4 py-6"> |
|||
<div class="bg-white rounded-lg shadow-lg"> |
|||
<div class="p-4 border-b border-gray-200 flex justify-between items-center"> |
|||
<h2 class="text-2xl font-bold">Préstamos Rechazados</h2> |
|||
</div> |
|||
<!-- Barra de búsqueda --> |
|||
<div class="p-4 border-b border-gray-200 bg-gray-50"> |
|||
<form action="{{ route('prestamos.rechazados') }}" 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.rechazados') }}" class="px-4 py-2 bg-gray-500 text-white rounded-lg hover:bg-gray-600"> |
|||
Limpiar |
|||
</a> |
|||
@endif |
|||
</form> |
|||
</div> |
|||
<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">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 Salida</th> |
|||
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Fecha 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">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">Estado</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody class="bg-white divide-y divide-gray-200"> |
|||
@forelse($prestamos as $prestamo) |
|||
<tr class="hover:bg-gray-50"> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{{ $prestamo->id }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> |
|||
<i class="fas fa-user text-blue-500 mr-2"></i> |
|||
{{ $prestamo->nombre_solicitante }} |
|||
</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm"> |
|||
<i class="fas fa-map-marker-alt text-red-500 mr-2"></i> |
|||
{{ $prestamo->destino }} |
|||
</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm"> |
|||
<i class="fas fa-calendar text-green-500 mr-2"></i> |
|||
{{ \Carbon\Carbon::parse($prestamo->fecha_hora_salida)->format('d/m/Y H:i') }} |
|||
</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm"> |
|||
<i class="fas fa-calendar-check text-yellow-500 mr-2"></i> |
|||
{{ \Carbon\Carbon::parse($prestamo->fecha_hora_llegada)->format('d/m/Y H:i') }} |
|||
</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm">{{ $prestamo->motivo }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm">{{ $prestamo->domicilio }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm text-center">{{ $prestamo->numero_personas }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm">{{ $prestamo->chofer ? 'Sí' : 'No' }}</td> |
|||
<td class="px-6 py-4 whitespace-nowrap text-sm"> |
|||
<span class="inline-flex items-center px-3 py-1 rounded-full bg-red-50"> |
|||
<span class="flex items-center justify-center w-5 h-5 rounded-full bg-red-700 mr-2"> |
|||
<i class="fas fa-times text-white text-xs"></i> |
|||
</span> |
|||
<span class="text-red-700 font-semibold">Rechazado</span> |
|||
</span> |
|||
</td> |
|||
</tr> |
|||
@empty |
|||
<tr> |
|||
<td colspan="10" class="px-6 py-4 text-center text-gray-500">No hay préstamos rechazados.</td> |
|||
</tr> |
|||
@endforelse |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
@ -0,0 +1,23 @@ |
|||
@extends('layouts.dashboard') |
|||
|
|||
@section('content') |
|||
<div class="container mx-auto px-4 py-6"> |
|||
<div class="max-w-lg mx-auto bg-white rounded-lg shadow-lg p-6"> |
|||
<h2 class="text-2xl font-bold mb-4 text-gray-800">Detalle del Préstamo</h2> |
|||
<ul class="divide-y divide-gray-200"> |
|||
<li class="py-2"><strong>Solicitante:</strong> {{ $prestamo->nombre_solicitante }}</li> |
|||
<li class="py-2"><strong>Destino:</strong> {{ $prestamo->destino }}</li> |
|||
<li class="py-2"><strong>Fecha y Hora de Salida:</strong> {{ $prestamo->fecha_hora_salida }}</li> |
|||
<li class="py-2"><strong>Fecha y Hora de Llegada:</strong> {{ $prestamo->fecha_hora_llegada }}</li> |
|||
<li class="py-2"><strong>Motivo:</strong> {{ $prestamo->motivo }}</li> |
|||
<li class="py-2"><strong>Domicilio:</strong> {{ $prestamo->domicilio }}</li> |
|||
<li class="py-2"><strong>Número de Personas:</strong> {{ $prestamo->numero_personas }}</li> |
|||
<li class="py-2"><strong>Chofer:</strong> {{ $prestamo->chofer ? 'Sí' : 'No' }}</li> |
|||
<li class="py-2"><strong>Estado:</strong> {{ $prestamo->estado }}</li> |
|||
</ul> |
|||
<div class="mt-6"> |
|||
<a href="{{ route('prestamos.index') }}" class="px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700">Volver</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endsection |
Loading…
Reference in new issue