Agregar y editar abono cuotas.

This commit is contained in:
Juan Pablo Vial
2024-11-28 17:12:35 -03:00
parent 4f0a56c711
commit f4b8634cb4
10 changed files with 114 additions and 12 deletions

View File

@ -14,7 +14,7 @@
<th>UF</th>
<th rowspan="2">Estado</th>
<th class="right aligned">
<button class="ui green icon button" id="add_button">
<button class="ui tertiary green icon button" id="add_button">
<i class="plus icon"></i>
</button>
</th>
@ -50,13 +50,13 @@
$(document).ready(function () {
const addModal = new AddModal({
modal: '#add_cuota_modal',
form: '#add_cuota_form',
form: 'add_cuota_form',
fecha: '#add_fecha',
})
const editModal = new EditModal({
table: 'cuotas',
modal: '#edit_cuota_modal',
form: '#edit_cuota_form',
form: 'edit_cuota_form',
fecha: '#edit_fecha',
estado: '#edit_estado'
})

View File

@ -4,7 +4,7 @@
</div>
<div class="content">
<form class="ui form" id="add_cuota_form">
<input type="hidden" name="id" />
<input type="hidden" name="venta_id" value="{{$venta->id}}" />
<div class="two wide field">
<label>Número</label>
<input type="text" name="numero" />

View File

@ -36,11 +36,11 @@
<label>Estado</label>
<div class="ui selection search dropdown" id="edit_estado">
<i class="dropdown icon"></i>
<input type="hidden" name="estado" />
<input type="hidden" name="tipo_estado_id" />
<div class="default text">Estado</div>
<div class="menu">
@foreach($estados as $estado)
<div class="item" data-value="{{$estado->id}}">{{$estado->nombre}}</div>
<div class="item" data-value="{{$estado->id}}">{{$estado->descripcion}}</div>
@endforeach
</div>
</div>
@ -100,7 +100,7 @@
const body = new FormData(form)
const fecha = $(this.props.fecha).calendar('get date')
body.set('fecha', fecha.getFullYear() + '-' + (fecha.getMonth() + 1).toString().padStart(2, '0') + '-' + fecha.getDate().toString().padStart(2, '0'))
body.set('estado', $(this.props.estado).dropdown('get value'))
body.set('tipo_estado_id', $(this.props.estado).dropdown('get value'))
const url = `{{$urls->api}}/venta/{{$venta->id}}/escritura/cuota/${this.data.id}/edit`
const method = 'post'
APIClient.fetch(url, {method, body}).then(response => {

View File

@ -5,6 +5,13 @@
@endsection
@section('venta_content')
@if (count($venta->formaPago()->cuotasAbono) > 0)
<a href="{{$urls->base}}/venta/{{$venta->id}}/escritura/cuotas" class="ui small green button">Ver Cuotas</a>
<p>{{$format->pesos(array_reduce($venta->formaPago()->cuotas, function($sum, $cuota) {return $sum + $cuota->pago->valor;}, 0))}}</p>
<p>{{$format->ufs(array_reduce($venta->formaPago()->cuotas, function($sum, $cuota) {return $sum + $cuota->pago->valor();}, 0.0))}}</p>
@else
<a href="{{$urls->base}}/venta/{{$venta->id}}/escritura/cuotas" class="ui small green button"><i class="plus icon"></i> Agregar Cuotas</a>
@endif
<form class="ui form" id="edit_form">
<div class="three wide field">
<label for="fecha">Fecha</label>
@ -15,6 +22,26 @@
</div>
</div>
</div>
<div class="three wide field">
<label for="valor">Valor</label>
<div class="ui left labeled input">
<div class="ui basic label">$</div>
<input type="text" name="valor" value="{{$venta->formaPago()->escritura->pago->valor}}" />
</div>
</div>
<div class="three wide field">
<label>Estado</label>
<div class="ui selection dropdown" id="estado">
<input type="hidden" name="estado" />
<div class="default text">Estado</div>
<i class="dropdown icon"></i>
<div class="menu">
@foreach($estados as $estado)
<div class="item" data-value="{{$estado->id}}">{{ucwords($estado->descripcion)}}</div>
@endforeach
</div>
</div>
</div>
<button class="ui button">Guardar</button>
</form>
@endsection
@ -27,12 +54,13 @@
data.set('venta', {{$venta->id}})
const fecha = $('#fecha').calendar('get date')
data.set('fecha', fecha.toISOString())
data.set('estado', $('#estado').dropdown('get value'))
return fetchAPI(url, {method: 'post', body: data}).then(response => {
if (response.ok) {
return response.json()
}
}).then(json => {
if (!json.edited) {
if (!json.success) {
return
}
window.location = '{{$urls->base}}/venta/{{$venta->id}}'
@ -41,6 +69,8 @@
$(document).ready(() => {
calendar_date_options.initialDate = new Date({{$venta->currentEstado()->fecha->format('Y, m-1, j')}})
$('#fecha').calendar(calendar_date_options)
$('#estado').dropdown()
$('#estado').dropdown('set selected', '{{$venta->currentEstado()->id}}')
$('#edit_form').submit(event => {
event.preventDefault()
editEscritura()