Initial commit: Sistema de comisiones y gastos personales
This commit is contained in:
54
resources/views/sales/create.blade.php
Executable file
54
resources/views/sales/create.blade.php
Executable file
@@ -0,0 +1,54 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', 'Nueva Venta')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2 class="mb-4">Nueva Venta</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form method="POST" action="{{ route('sales.store') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="month_id" value="{{ $month->id }}">
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="date" class="form-label">Fecha</label>
|
||||
<input type="date" class="form-control" id="date" name="date"
|
||||
value="{{ old('date', now()->format('Y-m-d')) }}" required>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="user_sales" class="form-label">Ventas del Usuario</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">$</span>
|
||||
<input type="number" class="form-control" id="user_sales" name="user_sales"
|
||||
value="{{ old('user_sales') }}" step="0.01" min="0" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="system_sales" class="form-label">Ventas del Sistema (Opcional)</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">$</span>
|
||||
<input type="number" class="form-control" id="system_sales" name="system_sales"
|
||||
value="{{ old('system_sales', 0) }}" step="0.01" min="0">
|
||||
</div>
|
||||
<small class="text-muted">Ventas consolidadas del sistema</small>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="submit" class="btn btn-success">Guardar Venta</button>
|
||||
<a href="{{ route('sales.index', ['month_id' => $month->id]) }}" class="btn btn-secondary">Cancelar</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
53
resources/views/sales/edit.blade.php
Executable file
53
resources/views/sales/edit.blade.php
Executable file
@@ -0,0 +1,53 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', 'Editar Venta')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2 class="mb-4">Editar Venta</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form method="POST" action="{{ route('sales.update', $sale->id) }}">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="date" class="form-label">Fecha</label>
|
||||
<input type="date" class="form-control" id="date" name="date"
|
||||
value="{{ old('date', $sale->date->format('Y-m-d')) }}" required>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="user_sales" class="form-label">Ventas del Usuario</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">$</span>
|
||||
<input type="number" class="form-control" id="user_sales" name="user_sales"
|
||||
value="{{ old('user_sales', $sale->user_sales) }}" step="0.01" min="0" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="system_sales" class="form-label">Ventas del Sistema</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">$</span>
|
||||
<input type="number" class="form-control" id="system_sales" name="system_sales"
|
||||
value="{{ old('system_sales', $sale->system_sales) }}" step="0.01" min="0">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<button type="submit" class="btn btn-primary">Actualizar</button>
|
||||
<a href="{{ route('sales.index', ['month_id' => $sale->month_id]) }}" class="btn btn-secondary">Cancelar</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
109
resources/views/sales/index.blade.php
Executable file
109
resources/views/sales/index.blade.php
Executable file
@@ -0,0 +1,109 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', 'Ventas')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2 class="mb-4">Gestión de Ventas</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()">
|
||||
@foreach($months as $m)
|
||||
<option value="{{ $m->id }}" {{ $month->id == $m->id ? 'selected' : '' }}>
|
||||
{{ $m->name }} {{ $m->year }} ({{ $m->status }})
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<a href="{{ route('sales.create', ['month_id' => $month->id]) }}" class="btn btn-success">
|
||||
<i class="bi bi-plus-circle"></i> Nueva Venta
|
||||
</a>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-md-6 text-end">
|
||||
<div class="btn-group">
|
||||
<a href="{{ route('sales.index', ['month_id' => $month->id]) }}" class="btn btn-outline-secondary">Todas</a>
|
||||
<a href="{{ route('expenses.index', ['month_id' => $month->id]) }}" class="btn btn-outline-warning">Ver Gastos</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Resumen -->
|
||||
<div class="row mb-4">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="text-muted">Total Ventas Usuario</h6>
|
||||
<h3>${{ number_format($month->dailySales()->sum('user_sales'), 2) }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="text-muted">Total Ventas Sistema</h6>
|
||||
<h3>${{ number_format($month->dailySales()->sum('system_sales'), 2) }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Lista de ventas -->
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Fecha</th>
|
||||
<th>Venta Usuario</th>
|
||||
<th>Venta Sistema</th>
|
||||
<th>Diferencia</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse($sales as $sale)
|
||||
<tr>
|
||||
<td>{{ $sale->date->format('d/m/Y') }}</td>
|
||||
<td>${{ number_format($sale->user_sales, 2) }}</td>
|
||||
<td>${{ number_format($sale->system_sales, 2) }}</td>
|
||||
<td>
|
||||
@php $diff = $sale->user_sales - $sale->system_sales; @endphp
|
||||
@if($diff != 0)
|
||||
<span class="badge bg-{{ $diff > 0 ? 'warning' : 'danger' }}">
|
||||
${{ number_format($diff, 2) }}
|
||||
</span>
|
||||
@else
|
||||
<span class="badge bg-success">conciliada</span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ route('sales.edit', $sale->id) }}" class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-pencil"></i>
|
||||
</a>
|
||||
<form method="POST" action="{{ route('sales.destroy', $sale->id) }}" class="d-inline">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-outline-danger" onclick="return confirm('¿Eliminar esta venta?')">
|
||||
<i class="bi bi-trash"></i>
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="text-center text-muted">No hay ventas registradas.</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{ $sales->links() }}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user