99 lines
3.6 KiB
PHP
Executable File
99 lines
3.6 KiB
PHP
Executable File
@extends('layouts.app')
|
|
|
|
@section('title', 'Gastos')
|
|
|
|
@section('content')
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<h2 class="mb-4">Gestión de Gastos</h2>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Selector de mes -->
|
|
<div class="row mb-4">
|
|
<div class="col-md-6">
|
|
<form method="GET" class="d-flex gap-2">
|
|
<select name="month_id" class="form-select" onchange="this.form.submit()">
|
|
<option value="">Todos los meses</option>
|
|
@foreach($months as $m)
|
|
<option value="{{ $m->id }}" {{ $month && $month->id == $m->id ? 'selected' : '' }}>
|
|
{{ $m->name }} {{ $m->year }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
<a href="{{ route('expenses.create', ['month_id' => $month?->id]) }}" class="btn btn-warning">
|
|
<i class="bi bi-plus-circle"></i> Nuevo Gasto
|
|
</a>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
@if($month)
|
|
<!-- Resumen -->
|
|
<div class="row mb-4">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h6 class="text-muted">Total Gastos del Mes</h6>
|
|
<h3>${{ number_format($month->expenses()->sum('amount'), 2) }}</h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
<!-- Lista de gastos -->
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>Fecha</th>
|
|
<th>Descripción</th>
|
|
<th>Monto</th>
|
|
<th>Quincena</th>
|
|
<th>Mes</th>
|
|
<th>Acciones</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@forelse($expenses as $expense)
|
|
<tr>
|
|
<td>{{ $expense->date->format('d/m/Y') }}</td>
|
|
<td>{{ $expense->description }}</td>
|
|
<td class="text-danger">-${{ number_format($expense->amount, 2) }}</td>
|
|
<td>
|
|
@if($expense->expense_type == 'q1')
|
|
<span class="badge bg-primary">Q1</span>
|
|
@elseif($expense->expense_type == 'q2')
|
|
<span class="badge bg-warning">Q2</span>
|
|
@else
|
|
<span class="badge bg-info">Mensual</span>
|
|
@endif
|
|
</td>
|
|
<td>{{ $expense->month->name }} {{ $expense->month->year }}</td>
|
|
<td>
|
|
<a href="{{ route('expenses.edit', $expense->id) }}" class="btn btn-sm btn-outline-primary">
|
|
<i class="bi bi-pencil"></i>
|
|
</a>
|
|
<form method="POST" action="{{ route('expenses.destroy', $expense->id) }}" class="d-inline">
|
|
@csrf
|
|
@method('DELETE')
|
|
<button type="submit" class="btn btn-sm btn-outline-danger" onclick="return confirm('¿Eliminar este gasto?')">
|
|
<i class="bi bi-trash"></i>
|
|
</button>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
@empty
|
|
<tr>
|
|
<td colspan="6" class="text-center text-muted">No hay gastos registrados.</td>
|
|
</tr>
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
|
|
{{ $expenses->links() }}
|
|
</div>
|
|
</div>
|
|
@endsection |