Resources
This commit is contained in:
542
resources/views/ventas/add.blade.php
Normal file
542
resources/views/ventas/add.blade.php
Normal file
@ -0,0 +1,542 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-12 h3">Nueva Venta</div>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'ventas', 'a' => 'agregar'])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha de Venta</div>
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="section-heading">PROPIETARIO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">RUT</div>
|
||||
<div class="col-md-2"><input type="text" name="rut" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Nombre</div>
|
||||
<div class="col-md-3"><input type="text" name="nombres" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="paterno" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="materno" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-1"><input type="checkbox" name="otro" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($region->numeral == 'RM')
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||||
</div>
|
||||
<div class="section-heading">PROPIEDAD</div>
|
||||
</br>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Proyecto</div>
|
||||
<div class="col-md-4"><select name="proyecto" class="form-control">
|
||||
<option value="0">---</option>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<option value="{{$proyecto->id}}">{{$proyecto->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div id="unidades">
|
||||
<input type="hidden" name="unidades" value="0" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Unidades</div>
|
||||
<div class="col-md-4">
|
||||
<div class="btn-group" role="group" id="tipo_unidad"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section-heading">FORMA DE PAGO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control"/></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
<div class="form-group" id="pie">
|
||||
<div class="col-md-2">Pie</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_pie"></span></div>
|
||||
</div>
|
||||
<div class="form-group" id="subsidio">
|
||||
<div class="col-md-2">Subsidio</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_subsidio"></span></div>
|
||||
</div>
|
||||
<div class="form-group" id="credito">
|
||||
<div class="col-md-2">Crédito</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_credito"></span></div>
|
||||
</div>
|
||||
<div class="section-heading">OTRAS CONDICIONES</div>
|
||||
<br />
|
||||
<div class="form-group" id="bono">
|
||||
<div class="col-md-2">Bono Pie</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_bono"></span></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Operador</div>
|
||||
<div class="col-md-3"><select name="operador" class="form-control">
|
||||
</select></div>
|
||||
</div>
|
||||
<div id="promociones">
|
||||
<input type="hidden" name="promociones" value="0" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Promociones</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_promocion"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" value="Agregar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var unidades = [];
|
||||
var pie = false;
|
||||
var subsidio = false;
|
||||
var credito = false;
|
||||
var bono = false;
|
||||
var promociones = [];
|
||||
$(document).ready(function() {
|
||||
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().remove();
|
||||
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().remove();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data);
|
||||
|
||||
$("input[name='nombres']").val(info.nombres);
|
||||
$("input[name='paterno']").val(info.apellido_paterno);
|
||||
$("input[name='materno']").val(info.apellido_materno);
|
||||
|
||||
if (info.direccion) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(info) {
|
||||
$("input[name='calle']").val(info.calle);
|
||||
$("input[name='numero']").val(info.numero);
|
||||
$("input[name='extra']").val(info.extra);
|
||||
$("select[name='region']").val(info.comuna.provincia.region.id);
|
||||
changeRegion().done(function() {
|
||||
$("select[name='comuna']").val(info.comuna.id);
|
||||
});
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='paterno']").typeahead({"source": data});
|
||||
$("input[name='materno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='calle']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||||
|
||||
$("select[name='region']").change(function(e) {
|
||||
changeRegion($(this).val());
|
||||
});
|
||||
changeRegion($("select[name='region']").val());
|
||||
|
||||
$("select[name='proyecto']").change(function(e) {
|
||||
changeProyecto();
|
||||
});
|
||||
changeProyecto();
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
$('#agregar_subsidio').click(function(e) {
|
||||
agregarSubsidio();
|
||||
});
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
$('#agregar_bono').click(function(e) {
|
||||
agregarBonoPie();
|
||||
});
|
||||
$('#agregar_promocion').click(function(e) {
|
||||
agregarPromocion();
|
||||
});
|
||||
});
|
||||
function extractor(query) {
|
||||
var result = /([^ ]+)$/.exec(query);
|
||||
if(result && result[1])
|
||||
return result[1].trim();
|
||||
return '';
|
||||
}
|
||||
function changeProyecto() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
return;
|
||||
}
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'tipo_unidades', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var tipo = $("#tipo_unidad");
|
||||
tipo.html('');
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
tipo.append($('<button></button>')
|
||||
.attr('data-value', e.id)
|
||||
.attr('class', 'btn btn-default tipo_unidad_')
|
||||
.html('<span class="glyphicon glyphicon-plus"></span><br />' + e.descripcion.ucwords())
|
||||
);
|
||||
});
|
||||
$('.tipo_unidad_').click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var val = $(this).attr('data-value');
|
||||
var name = $(this).text();
|
||||
agregarUnidad(val, name);
|
||||
|
||||
return false;
|
||||
});
|
||||
$('#unidades').show();
|
||||
});
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'operadores', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var operadores = $("select[name='operador']");
|
||||
operadores.html('').append($('<option></option>').attr('value', 0).html('---'));
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
operadores.append($('<option></option>').attr('value', e.id).html(e.abreviacion));
|
||||
});
|
||||
});
|
||||
}
|
||||
function agregarUnidad(tipo, name) {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
}
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'unidades', 'ajax' => true])!!}', {"proyecto": proyecto, "tipo": tipo}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var unis = $('#unidades');
|
||||
var n = unidades[unidades.length - 1] + 1;
|
||||
if (unidades.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
unidades[unidades.length] = n;
|
||||
var select = $('<select></select>').attr('name', 'unidad' + n).attr('class', 'form-control');
|
||||
|
||||
$.each(info, function(i, e) {
|
||||
select.append($('<option></option>').attr('value', e.id).html(e.descripcion + ' - ' + e.tipologia.tipologia.descripcion));
|
||||
});
|
||||
ntipo = name;
|
||||
unis.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(ntipo)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_unidad' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
$('#remover_unidad' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeUnidad(i);
|
||||
});
|
||||
});
|
||||
}
|
||||
function removeUnidad(n) {
|
||||
var unis = $('#unidades');
|
||||
unis.find("select[name='unidad" + n + "']").parent().parent().remove();
|
||||
i = unidades.binaryIndexOf(n);
|
||||
unidades.splice(i, 1);
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
}
|
||||
function agregarPie() {
|
||||
if (pie) {
|
||||
return;
|
||||
}
|
||||
pie = true;
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'pie').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).after(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Cuotas')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'cuotas').attr('maxlength', '2').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remover_pie')
|
||||
)
|
||||
)
|
||||
);
|
||||
$('#remover_pie').click(function(e) {
|
||||
removePie();
|
||||
});
|
||||
}
|
||||
function removePie() {
|
||||
if (!pie) {
|
||||
return;
|
||||
}
|
||||
pie = false;
|
||||
$('#pie').next().remove();
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_pie')
|
||||
)
|
||||
);
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
}
|
||||
function agregarSubsidio() {
|
||||
if (subsidio) {
|
||||
return;
|
||||
}
|
||||
subsidio = true;
|
||||
$('#subsidio').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Subsidio')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'subsidio').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_subsidio')
|
||||
)
|
||||
);
|
||||
$('#remove_subsidio').click(function(e) {
|
||||
removeSubsidio();
|
||||
});
|
||||
}
|
||||
function removeSubsidio() {
|
||||
if (!subsidio) {
|
||||
return;
|
||||
}
|
||||
subsidio = false;
|
||||
$('#subsidio').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Subsidio')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_subsidio')
|
||||
)
|
||||
);
|
||||
$('#agregar_subsidio').click(function(e) {
|
||||
agregarSubsidio();
|
||||
});
|
||||
}
|
||||
function agregarCredito() {
|
||||
if (credito) {
|
||||
return;
|
||||
}
|
||||
credito = true;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'credito').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_credito')
|
||||
)
|
||||
);
|
||||
$('#remove_credito').click(function(e) {
|
||||
removeCredito();
|
||||
});
|
||||
}
|
||||
function removeCredito() {
|
||||
if (!credito) {
|
||||
return;
|
||||
}
|
||||
credito = false;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_credito')
|
||||
)
|
||||
);
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
}
|
||||
function agregarBonoPie() {
|
||||
if (bono) {
|
||||
return;
|
||||
}
|
||||
bono = true;
|
||||
$('#bono').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Bono Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'bono_pie').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_bono')
|
||||
)
|
||||
);
|
||||
$('#remove_bono').click(function(e) {
|
||||
removeBonoPie();
|
||||
});
|
||||
}
|
||||
function removeBonoPie() {
|
||||
if (!bono) {
|
||||
return;
|
||||
}
|
||||
bono = false;
|
||||
$('#bono').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Bono Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_bono')
|
||||
)
|
||||
);
|
||||
$('#agregar_bono').click(function(e) {
|
||||
agregarBonoPie();
|
||||
});
|
||||
}
|
||||
function changeRegion(region) {
|
||||
var jq_comunas = $("select[name='comuna']");
|
||||
var region = $("select[name='region']").val();
|
||||
jq_comunas.html('');
|
||||
return $.post('{!!url('', ['p' => 'ajax', 'a' => 'comunas', 'ajax' => true])!!}', {"region": region}, function(data) {
|
||||
info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
jq_comunas.append(
|
||||
$('<option></option>').attr('value', e.id).html(e.descripcion)
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
function agregarPromocion() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
return;
|
||||
}
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'promociones', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var promos = $('#promociones');
|
||||
var n = promociones[promociones.length - 1] + 1;
|
||||
if (promociones.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
promociones[promociones.length] = n;
|
||||
|
||||
var select = $('<select></select>').attr('name', 'promocion' + n).attr('class', 'form-control');
|
||||
$.each(info, function(i, e) {
|
||||
select.append($('<option></option>').attr('value', e.id).html(e.titulo));
|
||||
});
|
||||
|
||||
promos.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'promo' + n).attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_promociones' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='promociones']").val(JSON.stringify(promociones));
|
||||
$('#remover_promociones' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removePromocion(i);
|
||||
});
|
||||
});
|
||||
}
|
||||
function removePromocion(n) {
|
||||
var promos = $('#promociones');
|
||||
promos.find("select[name='promocion" + n + "']").parent().parent().remove();
|
||||
i = promociones.binaryIndexOf(n);
|
||||
promociones.splice(i, 1);
|
||||
$("input[name='promociones']").val(JSON.stringify(promociones));
|
||||
}
|
||||
</script>
|
||||
@endpush
|
16
resources/views/ventas/archivar.blade.php
Normal file
16
resources/views/ventas/archivar.blade.php
Normal file
@ -0,0 +1,16 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Archivar Venta {{$venta->unidad()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form class="form form-horizontal" action="{{nUrl('ventas', 'archivando', ['venta' => $venta->id])}}" method="post">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control">Archivar</button></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
29
resources/views/ventas/bonos/add.blade.php
Normal file
29
resources/views/ventas/bonos/add.blade.php
Normal file
@ -0,0 +1,29 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h2>Agregar Bono Pie</h2>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('bonos', 'do_add', ['venta' => $venta->id])}}">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Pie</div>
|
||||
<div class="col-md-2">
|
||||
@if ($venta->pie())
|
||||
{{format('ufs', $venta->pie()->valor, null, true)}}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" /></div>
|
||||
<div class="col-md-2">UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2">
|
||||
<button class="form-control" type="submit">Agregar</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
0
resources/views/ventas/bonos/edit.blade.php
Normal file
0
resources/views/ventas/bonos/edit.blade.php
Normal file
143
resources/views/ventas/ceder.blade.php
Normal file
143
resources/views/ventas/ceder.blade.php
Normal file
@ -0,0 +1,143 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Ceder - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'ventas', 'a' => 'cediendo', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="section-heading">NUEVO PROPIETARIO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">RUT</div>
|
||||
<div class="col-md-2"><input type="text" name="rut" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Nombre</div>
|
||||
<div class="col-md-3"><input type="text" name="nombres" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="paterno" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="materno" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-1"><input type="checkbox" name="otro" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($region->numeral == 'RM')
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" class="form-control" value="Ceder" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(() => {
|
||||
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().remove()
|
||||
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'))
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().remove()
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data)
|
||||
|
||||
$("input[name='nombres']").val(info.nombres)
|
||||
$("input[name='paterno']").val(info.apellido_paterno)
|
||||
$("input[name='materno']").val(info.apellido_materno)
|
||||
|
||||
if (info.direccion) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(info) {
|
||||
$("input[name='calle']").val(info.calle)
|
||||
$("input[name='numero']").val(info.numero)
|
||||
$("input[name='extra']").val(info.extra)
|
||||
$("select[name='region']").val(info.comuna.provincia.region.id)
|
||||
changeRegion().done(function() {
|
||||
$("select[name='comuna']").val(info.comuna.id)
|
||||
})
|
||||
}, 'json')
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='paterno']").typeahead({"source": data});
|
||||
$("input[name='materno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='calle']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||||
|
||||
$("select[name='region']").change(function(e) {
|
||||
changeRegion($(this).val());
|
||||
});
|
||||
changeRegion($("select[name='region']").val());
|
||||
})
|
||||
</script>
|
||||
@endpush
|
374
resources/views/ventas/cierres/add.blade.php
Normal file
374
resources/views/ventas/cierres/add.blade.php
Normal file
@ -0,0 +1,374 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Nuevo Cierre</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'cierres', 'a' => 'agregar'])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="section-heading">PROPIEDAD</div>
|
||||
</br>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Proyecto</div>
|
||||
<div class="col-md-4"><select name="proyecto" class="form-control">
|
||||
<option value="0">---</option>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<option value="{{$proyecto->id}}">{{$proyecto->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Agente</div>
|
||||
<div class="col-md-4"><select name="agente" class="form-control" id="agente">
|
||||
</select></div>
|
||||
</div>
|
||||
<div id="unidades">
|
||||
<input type="hidden" name="unidades" value="0" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Unidades</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_unidad"></span></div>
|
||||
<div class="col-md-2"><select name="tipo_unidad" class="form-control"></select></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section-heading">FORMA DE PAGO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control"/></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
<div class="form-group" id="pie">
|
||||
<div class="col-md-2">Pie</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_pie"></span></div>
|
||||
</div>
|
||||
<div class="form-group" id="credito">
|
||||
<div class="col-md-2">Crédito</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_credito"></span></div>
|
||||
</div>
|
||||
<div class="section-heading">PROPIETARIO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">RUT</div>
|
||||
<div class="col-md-2"><input type="text" name="rut" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Nombre</div>
|
||||
<div class="col-md-3"><input type="text" name="nombres" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="paterno" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="materno" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Sexo</div>
|
||||
<div class="col-md-1"><input type="radio" name="sexo" value="m" class="form-radio" /> Hombre</div>
|
||||
<div class="col-md-1"><input type="radio" name="sexo" value="f" class="form-radio" /> Mujer</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Estado Civil</div>
|
||||
<div class="col-md-3"><select name="estado_civil" class="form-control">
|
||||
<option value="soltero">Soltero/a</option>
|
||||
<option value="casado">Casado/a</option>
|
||||
<option value="divorciado">Divorciado/a</option>
|
||||
<option value="viudo">Viudo/a</option>
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Profesión</div>
|
||||
<div class="col-md-3"><input type="text" name="profesion" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Teléfono</div>
|
||||
<div class="col-md-1">+56</div>
|
||||
<div class="col-md-1"><input type="text" name="codigo_telefono" maxlength="1" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="telefono" class="form-control" maxlength="8" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">E-Mail</div>
|
||||
<div class="col-md-3"><input type="text" name="email" class="form-control" /></div>
|
||||
<div class="col-md-1">@</div>
|
||||
<div clasS="col-md-3"><input type="text" name="email_domain" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle" class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($region->numeral == 'RM')
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" value="Agregar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var unidades = [];
|
||||
var pie = false;
|
||||
var credito = false;
|
||||
$(document).ready(function() {
|
||||
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().remove();
|
||||
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().remove();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data);
|
||||
|
||||
$("input[name='nombres']").val(info.nombres);
|
||||
$("input[name='paterno']").val(info.apellido_paterno);
|
||||
$("input[name='materno']").val(info.apellido_materno);
|
||||
|
||||
if (info.direccion) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(info) {
|
||||
$("input[name='calle']").val(info.calle);
|
||||
$("input[name='numero']").val(info.numero);
|
||||
$("input[name='extra']").val(info.extra);
|
||||
$("select[name='region']").val(info.comuna.provincia.region.id);
|
||||
changeRegion().done(function() {
|
||||
$("select[name='comuna']").val(info.comuna.id);
|
||||
});
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='paterno']").typeahead({"source": data});
|
||||
$("input[name='materno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='calle']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||||
|
||||
$("select[name='region']").change(function(e) {
|
||||
changeRegion($(this).val());
|
||||
});
|
||||
changeRegion($("select[name='region']").val());
|
||||
|
||||
$("select[name='proyecto']").change(function(e) {
|
||||
changeProyecto();
|
||||
});
|
||||
changeProyecto();
|
||||
$('#agregar_unidad').click(function(e) {
|
||||
agregarUnidad();
|
||||
});
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
});
|
||||
function extractor(query) {
|
||||
var result = /([^ ]+)$/.exec(query);
|
||||
if(result && result[1])
|
||||
return result[1].trim();
|
||||
return '';
|
||||
}
|
||||
function changeProyecto() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
return;
|
||||
}
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'tipo_unidades', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var tipo = $("select[name='tipo_unidad']");
|
||||
tipo.html('');
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
tipo.append($('<option></option>').attr('value', e.id).html(e.descripcion.ucwords()));
|
||||
});
|
||||
$('#unidades').show();
|
||||
});
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'operadores', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var operadores = $("select[name='agente']");
|
||||
operadores.html('').append($('<option></option>').attr('value', 0).html('---'));
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
operadores.append($('<option></option>').attr('value', e.id).html(e.abreviacion));
|
||||
});
|
||||
});
|
||||
}
|
||||
function agregarUnidad() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
}
|
||||
var tipo = $("select[name='tipo_unidad']").val();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'unidades', 'ajax' => true])!!}', {"proyecto": proyecto, "tipo": tipo}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var unis = $('#unidades');
|
||||
var n = unidades[unidades.length - 1] + 1;
|
||||
if (unidades.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
unidades[unidades.length] = n;
|
||||
var select = $('<select></select>').attr('name', 'unidad' + n).attr('class', 'form-control');
|
||||
|
||||
$.each(info, function(i, e) {
|
||||
select.append($('<option></option>').attr('value', e.id).html(e.descripcion + ' - ' + e.abreviacion));
|
||||
});
|
||||
var ntipo = $("select[name='tipo_unidad'] option[value='" + tipo + "']").text();
|
||||
unis.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(ntipo)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_unidad' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
$('#remover_unidad' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeUnidad(i);
|
||||
});
|
||||
});
|
||||
}
|
||||
function removeUnidad(n) {
|
||||
var unis = $('#unidades');
|
||||
unis.find("select[name='unidad" + n + "']").parent().parent().remove();
|
||||
i = unidades.binaryIndexOf(n);
|
||||
unidades.splice(i, 1);
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
}
|
||||
function agregarPie() {
|
||||
if (pie) {
|
||||
return;
|
||||
}
|
||||
pie = true;
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'pie').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remover_pie')
|
||||
)
|
||||
);
|
||||
$('#remover_pie').click(function(e) {
|
||||
removePie();
|
||||
});
|
||||
}
|
||||
function removePie() {
|
||||
if (!pie) {
|
||||
return;
|
||||
}
|
||||
pie = false;
|
||||
$('#pie').next().remove();
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_pie')
|
||||
)
|
||||
);
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
}
|
||||
function agregarCredito() {
|
||||
if (credito) {
|
||||
return;
|
||||
}
|
||||
credito = true;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'credito').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_credito')
|
||||
)
|
||||
);
|
||||
$('#remove_credito').click(function(e) {
|
||||
removeCredito();
|
||||
});
|
||||
}
|
||||
function removeCredito() {
|
||||
if (!credito) {
|
||||
return;
|
||||
}
|
||||
credito = false;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_credito')
|
||||
)
|
||||
);
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
}
|
||||
function changeRegion(region) {
|
||||
var jq_comunas = $("select[name='comuna']");
|
||||
var region = $("select[name='region']").val();
|
||||
jq_comunas.html('');
|
||||
return $.post('{!!url('', ['p' => 'ajax', 'a' => 'comunas', 'ajax' => true])!!}', {"region": region}, function(data) {
|
||||
info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
jq_comunas.append(
|
||||
$('<option></option>').attr('value', e.id).html(e.descripcion)
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
473
resources/views/ventas/cierres/edit.blade.php
Normal file
473
resources/views/ventas/cierres/edit.blade.php
Normal file
@ -0,0 +1,473 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Editar Cierre</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('cierres', 'do_edit', ['cierre' => $cierre->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Proyecto</div>
|
||||
<div class="col-md-3"><select name="proyecto" id="proyecto" class="form-control">
|
||||
<option value="">---</option>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<option value="{{$proyecto->id}}"
|
||||
@if ($proyecto->id == $cierre->proyecto)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$proyecto->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = $cierre->fecha() ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Departamento</div>
|
||||
<div class="col-md-3">
|
||||
<select name="departamento" id="departamento" class="form-control">
|
||||
@foreach ($cierre->proyecto()->unidades('departamento') as $unidad)
|
||||
<option value="{{$unidad->id}}"
|
||||
@if ($unidad->id == $cierre->unidadPrincipal()->unidad()->id)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$unidad->descripcion}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Precio</div>
|
||||
<div class="col-md-3"><input type="text" name="precio" value="{{$cierre->precio}}" class="form-control" /></div>
|
||||
</div>
|
||||
@foreach ($cierre->unidades() as $unidad)
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">{{ucwords($unidad->unidad()->tipo()->descripcion)}}</div>
|
||||
<div class="col-md-3">
|
||||
<select name="departamento" id="departamento" class="form-control">
|
||||
@foreach ($cierre->proyecto()->unidades($unidad->unidad()->tipo()->descripcion) as $u)
|
||||
<option value="{{$u->id}}"
|
||||
@if ($u->id == $unidad->unidad()->id)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$u->descripcion}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@foreach ($valores as $valor)
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">{{ucwords($valor->descripcion)}}</div>
|
||||
<div class="col-md-3">
|
||||
<input type="text" name="{{$valor->descripcion}}"
|
||||
@if ($cierre->valor($valor->descripcion))
|
||||
value="{{$cierre->valor($valor->descripcion)->valor}}"
|
||||
@endif
|
||||
class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
<div class="section-heading">PROPIETARIO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">RUT</div>
|
||||
<div class="col-md-2"><input type="text" name="rut"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->rut()}}"
|
||||
@endif
|
||||
class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Nombre</div>
|
||||
<div class="col-md-3"><input type="text" name="nombres"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->nombres}}"
|
||||
@endif
|
||||
class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="paterno"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->apellido_paterno}}"
|
||||
@endif
|
||||
class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-3"><input type="text" name="materno"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->apellido_materno}}"
|
||||
@endif
|
||||
class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Sexo</div>
|
||||
<div class="col-md-1"><input type="radio" name="sexo" value="m"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->sexo == 'm')
|
||||
selected="selected"
|
||||
@endif
|
||||
class="form-radio" /> Hombre</div>
|
||||
<div class="col-md-1"><input type="radio" name="sexo" value="f"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->sexo == 'f')
|
||||
selected="selected"
|
||||
@endif
|
||||
class="form-radio" /> Mujer</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Estado Civil</div>
|
||||
<div class="col-md-3"><select name="estado_civil" class="form-control">
|
||||
<option value="soltero"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->estado_civil == 'soltero')
|
||||
selected="selected"
|
||||
@endif
|
||||
>Soltero/a</option>
|
||||
<option value="casado"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->estado_civil == 'casado')
|
||||
selected="selected"
|
||||
@endif
|
||||
>Casado/a</option>
|
||||
<option value="divorciado"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->estado_civil == 'divorciado')
|
||||
selected="selected"
|
||||
@endif
|
||||
>Divorciado/a</option>
|
||||
<option value="viudo"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->estado_civil == 'viudo')
|
||||
selected="selected"
|
||||
@endif
|
||||
>Viudo/a</option>
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Profesión</div>
|
||||
<div class="col-md-3"><input type="text" name="profesion"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->profesion}}"
|
||||
@endif
|
||||
class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Teléfono</div>
|
||||
<div class="col-md-1">+56</div>
|
||||
<div class="col-md-1"><input type="text" name="codigo_telefono"
|
||||
@if ($cierre->propietario())
|
||||
value="{{substr($cierre->propietario()->telefono, 0, 1)}}"
|
||||
@endif
|
||||
maxlength="1" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="telefono"
|
||||
@if ($cierre->propietario())
|
||||
value="{{substr($cierre->propietario()->telefono, 1)}}"
|
||||
@endif
|
||||
class="form-control" maxlength="8" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">E-Mail</div>
|
||||
<div class="col-md-3"><input type="text" name="email"
|
||||
@if ($cierre->propietario())
|
||||
value="{{explode('@', $cierre->propietario()->email)[0]}}"
|
||||
@endif
|
||||
class="form-control" /></div>
|
||||
<div class="col-md-1">@</div>
|
||||
<div clasS="col-md-3"><input type="text" name="email_domain"
|
||||
@if ($cierre->propietario())
|
||||
value="{{explode('@', $cierre->propietario()->email)[1]}}"
|
||||
@endif
|
||||
class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->direccion()->calle}}"
|
||||
@endif
|
||||
class="form-control" autocomplete="off" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->direccion()->numero}}"
|
||||
@endif
|
||||
class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra"
|
||||
@if ($cierre->propietario())
|
||||
value="{{$cierre->propietario()->direccion()->extra}}"
|
||||
@endif
|
||||
class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($cierre->propietario() and $cierre->propietario()->direccion()->comuna()->provincia()->region()->id == $region->id)
|
||||
selected="selected"
|
||||
@else
|
||||
@if ($region->numeral == 'RM')
|
||||
selected="selected"
|
||||
@endif
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2">
|
||||
<button class="form-control">Editar</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var unidades = [];
|
||||
var pie = false;
|
||||
var credito = false;
|
||||
$(document).ready(function() {
|
||||
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().remove();
|
||||
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().remove();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data);
|
||||
|
||||
$("input[name='nombres']").val(info.nombres);
|
||||
$("input[name='paterno']").val(info.apellido_paterno);
|
||||
$("input[name='materno']").val(info.apellido_materno);
|
||||
|
||||
if (info.direccion) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(info) {
|
||||
$("input[name='calle']").val(info.calle);
|
||||
$("input[name='numero']").val(info.numero);
|
||||
$("input[name='extra']").val(info.extra);
|
||||
$("select[name='region']").val(info.comuna.provincia.region.id);
|
||||
changeRegion().done(function() {
|
||||
$("select[name='comuna']").val(info.comuna.id);
|
||||
});
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='paterno']").typeahead({"source": data});
|
||||
$("input[name='materno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='calle']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||||
|
||||
$("select[name='region']").change(function(e) {
|
||||
changeRegion($(this).val());
|
||||
});
|
||||
changeRegion($("select[name='region']").val());
|
||||
|
||||
$("select[name='proyecto']").change(function(e) {
|
||||
changeProyecto();
|
||||
});
|
||||
changeProyecto();
|
||||
$('#agregar_unidad').click(function(e) {
|
||||
agregarUnidad();
|
||||
});
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
});
|
||||
function extractor(query) {
|
||||
var result = /([^ ]+)$/.exec(query);
|
||||
if(result && result[1])
|
||||
return result[1].trim();
|
||||
return '';
|
||||
}
|
||||
function changeProyecto() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
return;
|
||||
}
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'tipo_unidades', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var tipo = $("select[name='tipo_unidad']");
|
||||
tipo.html('');
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
tipo.append($('<option></option>').attr('value', e.id).html(e.descripcion.ucwords()));
|
||||
});
|
||||
$('#unidades').show();
|
||||
});
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'operadores', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var operadores = $("select[name='agente']");
|
||||
operadores.html('').append($('<option></option>').attr('value', 0).html('---'));
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
operadores.append($('<option></option>').attr('value', e.id).html(e.abreviacion));
|
||||
});
|
||||
});
|
||||
}
|
||||
function agregarUnidad() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
}
|
||||
var tipo = $("select[name='tipo_unidad']").val();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'unidades', 'ajax' => true])!!}', {"proyecto": proyecto, "tipo": tipo}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var unis = $('#unidades');
|
||||
var n = unidades[unidades.length - 1] + 1;
|
||||
if (unidades.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
unidades[unidades.length] = n;
|
||||
var select = $('<select></select>').attr('name', 'unidad' + n).attr('class', 'form-control');
|
||||
|
||||
$.each(info, function(i, e) {
|
||||
select.append($('<option></option>').attr('value', e.id).html(e.descripcion + ' - ' + e.abreviacion));
|
||||
});
|
||||
var ntipo = $("select[name='tipo_unidad'] option[value='" + tipo + "']").text();
|
||||
unis.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(ntipo)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_unidad' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
$('#remover_unidad' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeUnidad(i);
|
||||
});
|
||||
});
|
||||
}
|
||||
function removeUnidad(n) {
|
||||
var unis = $('#unidades');
|
||||
unis.find("select[name='unidad" + n + "']").parent().parent().remove();
|
||||
i = unidades.binaryIndexOf(n);
|
||||
unidades.splice(i, 1);
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
}
|
||||
function agregarPie() {
|
||||
if (pie) {
|
||||
return;
|
||||
}
|
||||
pie = true;
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'pie').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remover_pie')
|
||||
)
|
||||
);
|
||||
$('#remover_pie').click(function(e) {
|
||||
removePie();
|
||||
});
|
||||
}
|
||||
function removePie() {
|
||||
if (!pie) {
|
||||
return;
|
||||
}
|
||||
pie = false;
|
||||
$('#pie').next().remove();
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_pie')
|
||||
)
|
||||
);
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
}
|
||||
function agregarCredito() {
|
||||
if (credito) {
|
||||
return;
|
||||
}
|
||||
credito = true;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'credito').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_credito')
|
||||
)
|
||||
);
|
||||
$('#remove_credito').click(function(e) {
|
||||
removeCredito();
|
||||
});
|
||||
}
|
||||
function removeCredito() {
|
||||
if (!credito) {
|
||||
return;
|
||||
}
|
||||
credito = false;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_credito')
|
||||
)
|
||||
);
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
}
|
||||
function changeRegion(region) {
|
||||
var jq_comunas = $("select[name='comuna']");
|
||||
var region = $("select[name='region']").val();
|
||||
jq_comunas.html('');
|
||||
return $.post('{!!url('', ['p' => 'ajax', 'a' => 'comunas', 'ajax' => true])!!}', {"region": region}, function(data) {
|
||||
info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
jq_comunas.append(
|
||||
$('<option></option>').attr('value', e.id).html(e.descripcion)
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
449
resources/views/ventas/cierres/evaluar.blade.php
Normal file
449
resources/views/ventas/cierres/evaluar.blade.php
Normal file
@ -0,0 +1,449 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Evaluar Cierre</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="#">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Proyecto</div>
|
||||
<div class="col-md-3"><select name="proyecto" id="proyecto" class="form-control">
|
||||
<option value="">---</option>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<option value="{{$proyecto->id}}">{{$proyecto->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Departamento</div>
|
||||
<div class="col-md-3"><select name="departamento" id="departamento" class="form-control">
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Precio</div>
|
||||
<div class="col-md-3"><input type="text" name="precio" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Estacionamientos</div>
|
||||
<div class="col-md-1"><button class="btn" type="button" onClick="javascript: agregarUnidad(2)"><span class="glyphicon glyphicon-plus"></span></button></div>
|
||||
<div class="col-md-2">Bodegas</div>
|
||||
<div class="col-md-1"><button class="btn" type="button" onClick="javascript: agregarUnidad(3)"><span class="glyphicon glyphicon-plus"></span></button></div>
|
||||
</div>
|
||||
<span id="unidades">
|
||||
<input type="hidden" name="unidades" value="0" />
|
||||
</span>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Pie</div>
|
||||
<div class="col-md-2"><input type="text" name="pie" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Bono Pie</div>
|
||||
<div class="col-md-2"><input type="text" name="bono" class="form-control" /></div>
|
||||
<div class="col-md-2">Promocion</div>
|
||||
<div class="col-md-2"><input type="text" name="promocion" class="form-control" /></div>
|
||||
<div class="col-md-2">Relacionado<br />Subrelacionado</div>
|
||||
<div class="col-md-1">
|
||||
<input type="radio" name="relacionado" value="1" class="form-checkbox" />
|
||||
<br />
|
||||
<input type="radio" name="relacionado" value="2" class="form-checkbox" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Operador</div>
|
||||
<div class="col-md-2"><input type="text" name="operador" class="form-control" /></div>
|
||||
<div class="col-md-1 text-left">%</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="button" id="evaluar">Evaluar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
<div id="results" class="panel panel-default">
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
function findUnidades(proyecto) {
|
||||
$.getJSON('{!!api('unidades', 'unidades_no_reservadas')!!}&proyecto=' + proyecto + '&tipo=1', function(data) {
|
||||
//$.post('{!!nUrl('ajax', 'unidades', ['ajax' => true])!!}', {proyecto: proyecto, tipo: 1}, function(data) {
|
||||
var unidades = $('#departamento')
|
||||
unidades.html('')
|
||||
$.each(data, function(i, el) {
|
||||
if (el.tipo != 1) {
|
||||
return
|
||||
}
|
||||
unidades.append($('<option></option>').attr('value', el.id).html(el.descripcion));
|
||||
})
|
||||
})//, 'json')
|
||||
}
|
||||
var unis = []
|
||||
function agregarUnidad(tipo) {
|
||||
var proyecto = $('#proyecto').val()
|
||||
$.getJSON('{!!api('unidades', 'unidades_no_reservadas')!!}&proyecto=' + proyecto + '&tipo=' + tipo, function(data) {
|
||||
//$.post('{!!nUrl('ajax', 'unidades', ['ajax' => true])!!}', {proyecto: proyecto, tipo: tipo}, function(data) {
|
||||
var unidades = $('#unidades')
|
||||
var n = unis[unis.length - 1] + 1;
|
||||
if (unis.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
unis[unis.length] = n;
|
||||
|
||||
var select = $('<select></select>').attr('name', 'unidad' + n).attr('class', 'form-control');
|
||||
|
||||
$.each(data, function(i, el) {
|
||||
if (el.tipo != tipo) {
|
||||
return
|
||||
}
|
||||
select.append($('<option></option>').attr('value', el.id).html(el.descripcion + ' - ' + el.abreviacion));
|
||||
})
|
||||
|
||||
var name = ''
|
||||
if (tipo == 2) {
|
||||
name = 'Estacionamiento'
|
||||
} else if (tipo == 3) {
|
||||
name = 'Bodega'
|
||||
}
|
||||
|
||||
unidades.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2 col-md-offset-1').html(name)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_unidad' + n)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
$("input[name='unidades']").val(JSON.stringify(unis));
|
||||
$('#remover_unidad' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeUnidad(i);
|
||||
});
|
||||
})//, 'json')
|
||||
}
|
||||
function removeUnidad(n) {
|
||||
var unidades = $('#unidades');
|
||||
unidades.find("select[name='unidad" + n + "']").parent().parent().remove();
|
||||
i = unis.binaryIndexOf(n);
|
||||
unis.splice(i, 1);
|
||||
$("input[name='unidades']").val(JSON.stringify(unis));
|
||||
}
|
||||
String.prototype.formatCL = function() {
|
||||
var newStr = parseFloat(this).toFixed(2).split('.')
|
||||
newStr[0] = newStr[0].split('').reverse().join('').match(/.{1,3}/g).join('.').split('').reverse().join('')
|
||||
return newStr.join(',')
|
||||
}
|
||||
var desface = 4
|
||||
function oferta(data) {
|
||||
var output = $('<div></div>').attr('class', 'panel-body')
|
||||
var col = 3
|
||||
output.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Departamento')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html($("select[name='departamento']").find(':selected').html())
|
||||
)
|
||||
)
|
||||
if (unis.length > 0) {
|
||||
var estacionamientos = []
|
||||
var bodegas = []
|
||||
$.each(unis, function(i, k) {
|
||||
var select = $("select[name='unidad" + k + "']")
|
||||
var tipo = select.parent().prev().text().toLowerCase()
|
||||
var descripcion = select.find(':selected').html()
|
||||
switch (tipo) {
|
||||
case 'estacionamiento':
|
||||
estacionamientos.push(descripcion)
|
||||
break;
|
||||
case 'bodega':
|
||||
bodegas.push(descripcion)
|
||||
break;
|
||||
}
|
||||
})
|
||||
if (estacionamientos.length > 0) {
|
||||
desface ++
|
||||
output.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Estacionamiento' + ((estacionamientos.length > 1) ? 's' : ''))
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(estacionamientos.join(', '))
|
||||
)
|
||||
)
|
||||
}
|
||||
if (bodegas.length > 0) {
|
||||
desface ++
|
||||
output.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Bodega' + ((estacionamientos.length > 1) ? 's' : ''))
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(bodegas.join(', '))
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
if ($("input[name='relacionado']").is(':checked')) {
|
||||
desface ++
|
||||
output.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-12').html('Relacionado')
|
||||
)
|
||||
)
|
||||
}
|
||||
var valor = $("input[name='precio']").val()
|
||||
resultado = valor.formatCL() + ' UF'
|
||||
//sum = $("input[name='precio']").val()
|
||||
if ($("input[name='bono']").val() != '') {
|
||||
resultado += ' - ' + $("input[name='bono']").val().formatCL() + ' UF'
|
||||
//sum -= $("input[name='bono']").val()
|
||||
}
|
||||
if ($("input[name='promocion']").val() != '') {
|
||||
resultado += ' - ' + $("input[name='promocion']").val().formatCL() + ' UF'
|
||||
//sum -= $("input[name='promocion']").val()
|
||||
}
|
||||
if ($("input[name='operador']").val() != '') {
|
||||
v = "" + (parseFloat($("input[name='operador']").val()) * parseFloat(valor) / 100)
|
||||
resultado += ' - ' + v.formatCL() + ' UF'
|
||||
}
|
||||
//resultado = resultado.replace(new RegExp('.', 'g'), ',')
|
||||
/*if (sum != $("input[name='precio']").val()) {
|
||||
resultado += ' = ' + sum + ' UF'
|
||||
}*/
|
||||
output.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Valor')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(resultado)
|
||||
)
|
||||
)
|
||||
output.append($('<hr />'))
|
||||
output.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Neto')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(data.oferta.neto)
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('UF/m²')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(data.oferta.uf_m2)
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('% Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html((data.pie / valor * 100).toFixed(2).split('.').join(',') + ' %')
|
||||
)
|
||||
)
|
||||
return $('<div></div>').attr('class', 'panel panel-default').append(
|
||||
$('<div></div>').attr('class', 'panel-heading').html('Oferta')
|
||||
).append(output)
|
||||
}
|
||||
function evaluar() {
|
||||
var unidades = [];
|
||||
$.each(unis, function(i, k) {
|
||||
unidades.push($("select[name='unidad" + k + "']").val())
|
||||
})
|
||||
$('#results').html('')
|
||||
$.post('{!!nUrl('cierres', 'evaluar', ['ajax' => true])!!}', {
|
||||
proyecto: $("select[name='proyecto']").val(),
|
||||
year: $("select[name='year']").val(),
|
||||
month: $("select[name='month']").val(),
|
||||
day: $("select[name='day']").val(),
|
||||
departamento: $("select[name='departamento']").val(),
|
||||
unidades: JSON.stringify(unidades),
|
||||
precio: $("input[name='precio']").val(),
|
||||
bono: $("input[name='bono']").val(),
|
||||
promocion: $("input[name='promocion']").val(),
|
||||
relacionado: (($("input[name='relacionado']:checked").val() == 1) ? true : false),
|
||||
subrelacionado: (($("input[name='relacionado']:checked").val() == 2) ? true : false),
|
||||
operador: $("input[name='operador']").val()
|
||||
}, function(data) {
|
||||
data.pie = $("input[name='pie']").val()
|
||||
var results = $('#results')
|
||||
results.html('')
|
||||
var descripcion = $('<div></div>').attr('class', 'panel-body').append(
|
||||
$('<div></div>').attr('class', 'col-md-offset-2 col-md-4').html(data.unidad.tipo.tipologia)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-4').html(data.unidad.superficie)
|
||||
)
|
||||
results.append(
|
||||
$('<div></div>').attr('class', 'panel-heading').html('Evaluación')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'panel-body').append(
|
||||
$('<div></div>').attr('class', 'panel panel-default').append(
|
||||
$('<div></div>').attr('class', 'panel-heading').html('Tipo - ' + data.unidad.tipo.nombre)
|
||||
).append(descripcion)
|
||||
)
|
||||
)
|
||||
var resultado = oferta(data)
|
||||
var col = 3
|
||||
var lbody = $('<div></div>')
|
||||
for (i = 0; i < desface; i ++) {
|
||||
lbody.append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-12').html(' ')
|
||||
)
|
||||
)
|
||||
}
|
||||
var lista = $('<div></div>').attr('class', 'panel panel-default').append(
|
||||
$('<div></div>').attr('class', 'panel-heading').html('Lista (' + data.oferta.fecha + ')')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'panel-body').append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Precio')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(data.lista.precio)
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('UF/m²')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(data.lista.uf_m2)
|
||||
)
|
||||
)
|
||||
)
|
||||
if (data.relacionado) {
|
||||
lista.append(
|
||||
$('<div></div>').attr('class', 'panel-heading').html('Relacionado')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'panel-body').append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('Precio')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(data.relacionado.precio)
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'row').append(
|
||||
$('<div></div>').attr('class', 'col-md-' + col).html('UF/m²')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-' + (12 - col)).html(data.relacionado.uf_m2)
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
results.append(
|
||||
$('<div></div>').attr('class', 'panel-body').append(
|
||||
$('<div></div>').attr('class', 'col-md-5').append(resultado)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-offset-2 col-md-5').append(lbody).append(lista)
|
||||
)
|
||||
)
|
||||
var conclusion = $('<div></div>').attr('class', 'panel-body').append(
|
||||
$('<div></div>').attr('class', 'alert alert-' + ((data.evaluacion) ? 'success' : 'danger')).html(
|
||||
((data.evaluacion) ? 'Precio del cierre es <strong>aceptable</strong>.' : 'Precio del cierre <strong>no cumple</strong> con los requisitos.')
|
||||
)
|
||||
)
|
||||
results.append(conclusion)
|
||||
|
||||
if (data.estado.descripcion != 'aprobado' && data.estado.descripcion != 'rechazado') {
|
||||
var opciones = $('<div></div>').attr('class', 'panel-body').attr('id', 'message').append(
|
||||
$('<div></div>').attr('class', 'col-md-6 text-center').append(
|
||||
$('<button></button>').attr('class', 'btn btn-success').html('Aprobar').click(aprobar)
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-6 text-center').append(
|
||||
$('<button></button>').attr('class', 'btn btn-danger').html('Rechazar').click(rechazar)
|
||||
)
|
||||
)
|
||||
results.append(opciones)
|
||||
} else {
|
||||
results.append($('<div></div>').attr('class', 'panel-body').attr('id', 'message').append(
|
||||
$('<div></div>').attr('class', 'alert alert-' + ((data.estado.descripcion == 'aprobado') ? 'success' : 'danger')).append(
|
||||
$('<a></a>').attr('href', '{!!nUrl('cierres', 'show', ['cierre' => ''])!!}' + data.estado.cierre).html(
|
||||
((data.estado.descripcion == 'aprobado') ? 'Aprobado.' : 'Rechazado.') + ' (' + data.estado.fecha + ')'
|
||||
)
|
||||
)
|
||||
))
|
||||
}
|
||||
}, 'json')
|
||||
}
|
||||
function aprobar() {
|
||||
var unidades = [];
|
||||
$.each(unis, function(i, k) {
|
||||
unidades.push($("select[name='unidad" + k + "']").val())
|
||||
})
|
||||
$.post('{!!nUrl('cierres', 'guardar', ['ajax' => true])!!}', {
|
||||
proyecto: $("select[name='proyecto']").val(),
|
||||
year: $("select[name='year']").val(),
|
||||
month: $("select[name='month']").val(),
|
||||
day: $("select[name='day']").val(),
|
||||
departamento: $("select[name='departamento']").val(),
|
||||
unidades: JSON.stringify(unidades),
|
||||
precio: $("input[name='precio']").val(),
|
||||
pie: $("input[name='pie']").val(),
|
||||
bono: $("input[name='bono']").val(),
|
||||
promocion: $("input[name='promocion']").val(),
|
||||
operador: $("input[name='operador']").val(),
|
||||
relacionado: (($("input[name='relacionado']:checked").val() == 1) ? true : false),
|
||||
subrelacionado: (($("input[name='relacionado']:checked").val() == 2) ? true : false)
|
||||
}, function(data) {
|
||||
if (data.status == 'ok') {
|
||||
$.post('{!!nUrl('cierres', 'aprobar', ['ajax' => true])!!}', {'cierre': data.cierre.id}, function(data2) {
|
||||
if (data2.estado == 'aprobado') {
|
||||
$('#message').html('')
|
||||
$('#message').append(
|
||||
$('<div></div>').attr('class', 'alert alert-success').html('Aprobado.')
|
||||
)
|
||||
}
|
||||
}, 'json')
|
||||
}
|
||||
}, 'json')
|
||||
}
|
||||
function rechazar() {
|
||||
var unidades = [];
|
||||
$.each(unis, function(i, k) {
|
||||
unidades.push($("select[name='unidad" + k + "']").val())
|
||||
})
|
||||
|
||||
$.post('{!!nUrl('cierres', 'guardar', ['ajax' => true])!!}', {
|
||||
proyecto: $("select[name='proyecto']").val(),
|
||||
year: $("select[name='year']").val(),
|
||||
month: $("select[name='month']").val(),
|
||||
day: $("select[name='day']").val(),
|
||||
departamento: $("select[name='departamento']").val(),
|
||||
unidades: JSON.stringify(unidades),
|
||||
precio: $("input[name='precio']").val(),
|
||||
pie: $("input[name='pie']").val(),
|
||||
bono: $("input[name='bono']").val(),
|
||||
promocion: $("input[name='promocion']").val(),
|
||||
operador: $("input[name='operador']").val(),
|
||||
relacionado: (($("input[name='relacionado']").is(':checked')) ? true : false)
|
||||
}, function(data) {
|
||||
if (data.status == 'ok') {
|
||||
$.post('{!!nUrl('cierres', 'rechazar', ['ajax' => true])!!}', {'cierre': data.cierre.id}, function(data2) {
|
||||
if (data2.estado == 'rechazado') {
|
||||
$('#message').html('')
|
||||
$('#message').append(
|
||||
$('<div></div>').attr('class', 'alert alert-danger').html('Rechazado.')
|
||||
)
|
||||
}
|
||||
}, 'json')
|
||||
}
|
||||
}, 'json')
|
||||
}
|
||||
$(document).ready(function() {
|
||||
findUnidades($('#proyecto').val())
|
||||
$('#proyecto').change(function(e) {
|
||||
var self = $(this)
|
||||
$.each(unis, function(i, el) {
|
||||
removeUnidad(el)
|
||||
})
|
||||
findUnidades(self.val())
|
||||
})
|
||||
$('#evaluar').click(function() {
|
||||
evaluar()
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
190
resources/views/ventas/cierres/list.blade.php
Normal file
190
resources/views/ventas/cierres/list.blade.php
Normal file
@ -0,0 +1,190 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Cierres</h3>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="5">Proyecto</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<tr>
|
||||
<td class="openProyecto" data-id="{{$proyecto->id}}" data-status="closed" colspan="5">
|
||||
{{$proyecto->descripcion}}
|
||||
<span class="glyphicon arrow glyphicon-chevron-down"></span>
|
||||
[{{count($proyecto->cierres())}}]
|
||||
</td>
|
||||
</tr>
|
||||
@if (count($proyecto->cierres(2)) > 0)
|
||||
<tr class="estado-cierres warning" data-status="closed" data-proyecto="{{$proyecto->id}}" data-estado="2">
|
||||
<th></th>
|
||||
<th colspan="4">
|
||||
Aprobado
|
||||
<span class="glyphicon arrow glyphicon-chevron-down"></span>
|
||||
[{{count($proyecto->cierres(2))}}] {{format('percent', count($proyecto->cierres(2)) / count($proyecto->cierres()) * 100, null, true)}}
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="cierre" data-id="{{$proyecto->id}}" data-estado="2">
|
||||
<th></th>
|
||||
<th>Departamento</th>
|
||||
<th>Fecha</th>
|
||||
<th>Valor</th>
|
||||
<th>Estado</th>
|
||||
</tr>
|
||||
@foreach ($proyecto->cierres(2) as $cierre)
|
||||
<tr class="cierre warning" data-id="{{$proyecto->id}}" data-estado="2">
|
||||
<td></td>
|
||||
<td>
|
||||
<a href="{{nUrl('cierres', 'show', ['cierre' => $cierre->id])}}">
|
||||
{{$cierre->unidadPrincipal()->unidad()->descripcion}}
|
||||
({{$cierre->unidadPrincipal()->unidad()->tipologia()->tipologia()->descripcion}})
|
||||
</a>
|
||||
</td>
|
||||
<td>{{format('shortDate', $cierre->fecha)}}</td>
|
||||
<td>
|
||||
{{format('ufs', $cierre->neto(), null, true)}}
|
||||
({{format('ufs', $cierre->uf_m2(), null, true)}}/m²)
|
||||
</td>
|
||||
<td>
|
||||
{{ucfirst($cierre->estado()->tipo()->descripcion)}}
|
||||
@if (!$cierre->propietario())
|
||||
(Sin propietario)
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@if (count($proyecto->cierres(3)) > 0)
|
||||
<tr class="estado-cierres success" data-status="closed" data-proyecto="{{$proyecto->id}}" data-estado="3">
|
||||
<td></td>
|
||||
<th colspan="4">
|
||||
Promesado
|
||||
<span class="glyphicon arrow glyphicon-chevron-down"></span>
|
||||
[{{count($proyecto->cierres(3))}}] {{format('percent', count($proyecto->cierres(3)) / count($proyecto->cierres()) * 100, null, true)}}
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="cierre" data-id="{{$proyecto->id}}" data-estado="3">
|
||||
<th></th>
|
||||
<th>Departamento</th>
|
||||
<th>Fecha</th>
|
||||
<th>Valor</th>
|
||||
<th>Estado</th>
|
||||
</tr>
|
||||
@foreach ($proyecto->cierres(3) as $cierre)
|
||||
<tr class="cierre success" data-id="{{$proyecto->id}}" data-estado="3">
|
||||
<td></td>
|
||||
<td>
|
||||
<a href="{{url('', ['p' => 'cierres', 'a' => 'show', 'cierre' => $cierre->id])}}">
|
||||
{{$cierre->unidadPrincipal()->unidad()->descripcion}}
|
||||
({{$cierre->unidadPrincipal()->unidad()->tipologia()->tipologia()->descripcion}})
|
||||
</a>
|
||||
</td>
|
||||
<td>{{format('shortDate', $cierre->fecha)}}</td>
|
||||
<td>
|
||||
{{format('ufs', $cierre->precio, null, true)}}
|
||||
({{format('ufs', $cierre->precio / $cierre->unidadPrincipal()->unidad()->m2(), null, true)}}/m²)
|
||||
</td>
|
||||
<td>
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'promesado')
|
||||
<a href="{{nUrl('ventas', 'show', ['venta' => $cierre->promesa()->id])}}">
|
||||
@endif
|
||||
{{ucfirst($cierre->estado()->tipo()->descripcion)}}
|
||||
@if (!$cierre->propietario())
|
||||
(Sin propietario)
|
||||
@endif
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'promesado')
|
||||
<span class="glyphicon small glyphicon-chevron-right"></span>
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@if (count($proyecto->cierres(-1)))
|
||||
<tr class="estado-cierres danger" data-status="closed" data-proyecto="{{$proyecto->id}}" data-estado="-1">
|
||||
<td></td>
|
||||
<th colspan="4">
|
||||
Abandonado/Rechazado
|
||||
<span class="glyphicon arrow glyphicon-chevron-down"></span>
|
||||
[{{count($proyecto->cierres(-1))}}] {{format('percent', count($proyecto->cierres(-1)) / count($proyecto->cierres()) * 100, null, true)}}
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="cierre" data-id="{{$proyecto->id}}" data-estado="-1">
|
||||
<th></th>
|
||||
<th>Departamento</th>
|
||||
<th>Fecha</th>
|
||||
<th>Valor</th>
|
||||
<th>Estado</th>
|
||||
</tr>
|
||||
@foreach ($proyecto->cierres(-1) as $cierre)
|
||||
<tr class="cierre danger" data-id="{{$proyecto->id}}" data-estado="-1">
|
||||
<td></td>
|
||||
<td>
|
||||
<a href="{{url('', ['p' => 'cierres', 'a' => 'show', 'cierre' => $cierre->id])}}">
|
||||
{{$cierre->unidadPrincipal()->unidad()->descripcion}}
|
||||
({{$cierre->unidadPrincipal()->unidad()->tipologia()->tipologia()->descripcion}})
|
||||
</a>
|
||||
</td>
|
||||
<td>{{format('shortDate', $cierre->fecha)}}</td>
|
||||
<td>
|
||||
{{format('ufs', $cierre->precio, null, true)}}
|
||||
({{format('ufs', $cierre->precio / $cierre->unidadPrincipal()->unidad()->m2(), null, true)}}/m²)
|
||||
</td>
|
||||
<td>
|
||||
{{ucfirst($cierre->estado()->tipo()->descripcion)}}
|
||||
@if (!$cierre->propietario())
|
||||
(Sin propietario)
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.cierre').hide()
|
||||
$('.estado-cierres').hide()
|
||||
$('.openProyecto').css('cursor', 'pointer').click(function() {
|
||||
var id = $(this).attr('data-id')
|
||||
var status = $(this).attr('data-status')
|
||||
|
||||
if (status == 'closed') {
|
||||
$(this).attr('data-status', 'open')
|
||||
$('.estado-cierres[data-proyecto=' + id + ']').show()
|
||||
$(this).find('.glyphicon.arrow').attr('class', 'glyphicon arrow glyphicon-chevron-up')
|
||||
} else {
|
||||
$(this).attr('data-status', 'closed')
|
||||
$('.estado-cierres[data-proyecto=' + id + ']').hide()
|
||||
$('.estado-cierres[data-proyecto=' + id + ']').attr('data-status', 'closed')
|
||||
$('.estado-cierres[data-proyecto=' + id + ']').find('.glyphicon.arrow').attr('class', 'glyphicon arrow glyphicon-chevron-down')
|
||||
$('.cierre[data-id=' + id + ']').hide()
|
||||
$(this).find('.glyphicon.arrow').attr('class', 'glyphicon arrow glyphicon-chevron-down')
|
||||
}
|
||||
})
|
||||
$('.estado-cierres').css('cursor', 'pointer').click(function() {
|
||||
var proyecto = $(this).attr('data-proyecto')
|
||||
var estado = $(this).attr('data-estado')
|
||||
var status = $(this).attr('data-status')
|
||||
|
||||
if (status == 'closed') {
|
||||
$(this).attr('data-status', 'open')
|
||||
$('.cierre[data-id=' + proyecto + '][data-estado=' + estado + ']').show()
|
||||
$(this).find('.glyphicon.arrow').attr('class', 'glyphicon arrow glyphicon-chevron-up')
|
||||
} else {
|
||||
$(this).attr('data-status', 'closed')
|
||||
$('.cierre[data-id=' + proyecto + '][data-estado=' + estado + ']').hide()
|
||||
$(this).find('.glyphicon.arrow').attr('class', 'glyphicon arrow glyphicon-chevron-down')
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
168
resources/views/ventas/cierres/show.blade.php
Normal file
168
resources/views/ventas/cierres/show.blade.php
Normal file
@ -0,0 +1,168 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-10 h3">
|
||||
<a href="{{nUrl('cierres', 'list')}}"><span class="glyphicon small glyphicon-chevron-left"></span></a>
|
||||
Cierre {{$cierre->unidadPrincipal()->unidad()->descripcion}} - {{$cierre->proyecto()->descripcion}}
|
||||
</div>
|
||||
<div class="col-md-2 h3 text-right">
|
||||
<a href="{{nUrl('cierres', 'edit', ['cierre' => $cierre->id])}}"><span class="glyphicon small glyphicon-edit"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">Fecha</div>
|
||||
<div class="col-md-3">{{format('shortDate', $cierre->fecha)}}</div>
|
||||
</div>
|
||||
@if ($cierre->propietario())
|
||||
<div class="section-heading">PROPIETARIO</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">{{$cierre->propietario()->rut()}}</div>
|
||||
<div class="col-md-5">{{$cierre->propietario()->nombreCompleto()}}</div>
|
||||
<div class="col-md-5">{{$cierre->propietario()->direccion()->completa(true)}}</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="section-heading">PROPIEDAD</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">{{ucwords($cierre->unidadPrincipal()->unidad()->tipologia()->tipo()->descripcion)}}</div>
|
||||
<div class="col-md-2">{{$cierre->unidadPrincipal()->unidad()->descripcion}}</div>
|
||||
<div class="col-md-1">{{$cierre->unidadPrincipal()->unidad()->tipologia()->nombre}}</div>
|
||||
<div class="col-md-2">{{$cierre->unidadPrincipal()->unidad()->tipologia()->tipologia()->descripcion}}</div>
|
||||
<div class="col-md-2">{!!format('m2', $cierre->unidadPrincipal()->unidad()->m2(), null, true)!!}</div>
|
||||
</div>
|
||||
@foreach ($cierre->unidades() as $unidad)
|
||||
<div class="row">
|
||||
<div class="col-md-2">{{ucwords($unidad->unidad()->tipologia()->tipo()->descripcion)}}</div>
|
||||
<div class="col-md-2">{{$unidad->unidad()->descripcion}}</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $unidad->unidad()->precio($cierre->fecha())->valor, null, true)}}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
<div class="section-heading">Lista</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">Fecha</div>
|
||||
<div class="col-md-3">{{format('shortDate', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->estado()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">Valor</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor, null, true)}}</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor / $cierre->unidadPrincipal()->unidad()->m2(), null, true)}}/m²</div>
|
||||
</div>
|
||||
@if ($cierre->isRelacionado())
|
||||
<div class="row">
|
||||
<div class="col-md-3">Valor Relacionado</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (1-6/100), null, true)}}</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (1-6/100) / $cierre->unidadPrincipal()->unidad()->m2(), null, true)}}/m²</div>
|
||||
</div>
|
||||
@endif
|
||||
@if ($cierre->isSubrelacionado())
|
||||
<div class="row">
|
||||
<div class="col-md-3">Valor Relacionado</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (1-3/100), null, true)}}</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (1-3/100) / $cierre->unidadPrincipal()->unidad()->m2(), null, true)}}/m²</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="section-heading">Oferta</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">Precio</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->precio, null, true)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<strong>
|
||||
<div class="col-md-3">Neto</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->neto(), null, true)}}</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->uf_m2(), null, true)}}/m²
|
||||
@if ($cierre->uf_m2() >= ($cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (($cierre->isRelacionado()) ? (1 - 6/100) : 1) * (($cierre->isSubrelacionado()) ? (1 - 3/100) : 1)) / $cierre->unidadPrincipal()->unidad()->m2())
|
||||
<span class="label label-success"><span class="glyphicon glyphicon-ok"></span></span>
|
||||
@elseif ($cierre->uf_m2() < ($cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (($cierre->isRelacionado()) ? (1 - 6/100) : 1) * (($cierre->isSubrelacionado()) ? (1 - 3/100) : 1)) / $cierre->unidadPrincipal()->unidad()->m2())
|
||||
<span class="label label-danger"><span class="glyphicon glyphicon-remove"></span></span>
|
||||
@endif
|
||||
</div>
|
||||
</strong>
|
||||
</div>
|
||||
@if ($cierre->valores())
|
||||
@foreach ($cierre->valores() as $valor)
|
||||
<div class="row">
|
||||
<div class="col-md-3">{{ucwords($valor->tipo()->descripcion)}}</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $valor->valor, null, true)}}</div>
|
||||
<div class="col-md-1 text-right">{{format('percent', $valor->valor / $cierre->precio * 100)}} %</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
<div class="section-heading">Diferencia</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">Neto</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->neto() - $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor, null, true)}}</div>
|
||||
</div>
|
||||
@if ($cierre->isRelacionado())
|
||||
<div class="row">
|
||||
<div class="col-md-3">Neto Relacionado</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->neto() - $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (1 - 6/100), null, true)}}</div>
|
||||
</div>
|
||||
@endif
|
||||
@if ($cierre->isSubrelacionado())
|
||||
<div class="row">
|
||||
<div class="col-md-3">Neto Relacionado</div>
|
||||
<div class="col-md-2 text-right">{{format('ufs', $cierre->neto() - $cierre->unidadPrincipal()->unidad()->precio($cierre->fecha())->valor * (1 - 3/100), null, true)}}</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="section-heading">Estado</div>
|
||||
<div class="alert
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'aprobado' or $cierre->estado()->tipo()->descripcion == 'promesado')
|
||||
alert-success
|
||||
@elseif ($cierre->estado()->tipo()->descripcion == 'rechazado')
|
||||
alert-danger
|
||||
@else
|
||||
alert-warning
|
||||
@endif
|
||||
">
|
||||
<div class="row">
|
||||
<div class="col-md-10">
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'promesado')
|
||||
<a href="{{nUrl('ventas', 'show', ['venta' => $cierre->promesa()->id])}}">
|
||||
@endif
|
||||
{{ucwords($cierre->estado()->tipo()->descripcion)}}
|
||||
(
|
||||
{{format('shortDate', $cierre->estado()->fecha)}}
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'promesado')
|
||||
/ {{format('shortDate', $cierre->promesa()->fecha)}}
|
||||
@endif
|
||||
)
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'promesado')
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
@if ($cierre->estado()->tipo()->descripcion == 'aprobado')
|
||||
<div class="col-md-1"><a href="{{nUrl('cierres', 'promesar', ['cierre' => $cierre->id])}}"><span class="glyphicon glyphicon-ok"></span></a></div>
|
||||
<div class="col-md-1"><a href="{{nUrl('cierres', 'abandonar', ['cierre' => $cierre->id])}}"><span class="glyphicon glyphicon-remove"></span></a></div>
|
||||
@elseif ($cierre->estado()->tipo()->descripcion == 'rechazado')
|
||||
<div class="col-md-1">
|
||||
<a href="#">
|
||||
<span class="glyphicon glyphicon-ok" id="aprobar"></span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<a href="{{nUrl('cierres', 'abandonar', ['cierre' => $cierre->id])}}">
|
||||
<span class="glyphicon glyphicon-remove"></span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
function aprobar() {
|
||||
$.post('{!!nUrl('cierres', 'aprobar', ['ajax' => true])!!}', {cierre: {{$cierre->id}}}, function(data) {
|
||||
if (data.estado == 'aprobado') {
|
||||
window.location.reload()
|
||||
}
|
||||
}, 'json')
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$('#aprobar').click(function() {
|
||||
aprobar()
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
23
resources/views/ventas/comentarios/add.blade.php
Normal file
23
resources/views/ventas/comentarios/add.blade.php
Normal file
@ -0,0 +1,23 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-12 h3">{{$venta->proyecto()->descripcion}} - {{$venta->unidad()->descripcion}}</div>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('comentarios', 'agregar', ['venta' => $venta->id])}}">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-4">{{\Carbon\Carbon::now(config('app.timezone'))->format('d-m-Y')}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Comentario</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-7 col-md-offset-1"><textarea rows="5" class="form-control" name="comentario"></textarea></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button type="submit" class="form-control">Agregar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
12
resources/views/ventas/consolidacion/pago.blade.php
Normal file
12
resources/views/ventas/consolidacion/pago.blade.php
Normal file
@ -0,0 +1,12 @@
|
||||
<tr>
|
||||
<td>{{format('shortDate', $pago->estado()->fecha)}}</td>
|
||||
<td>{{$glosa}} ({{format('ufs', $pago->valor('ufs'))}} UF)</td>
|
||||
<td></td>
|
||||
<td class="text-right">$ {{format('pesos', $pago->valor())}}</td>
|
||||
<td class="text-right">$ {{format('pesos', $sum)}}</td>
|
||||
<td>
|
||||
@if ($pago->estado()->estado < 2)
|
||||
No esta abonado.
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
13
resources/views/ventas/consolidacion/proyectos.blade.php
Normal file
13
resources/views/ventas/consolidacion/proyectos.blade.php
Normal file
@ -0,0 +1,13 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<h2>Consolidación de Ventas</h2>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Proyectos</div>
|
||||
<ul class="list-group">
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<li class="list-group-item"><a href="{{url('', ['p' => 'ventas', 'a' => 'consolidacion', 'proyecto' => $proyecto->id])}}">{{$proyecto->descripcion}}</a></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endsection
|
60
resources/views/ventas/consolidacion/show.blade.php
Normal file
60
resources/views/ventas/consolidacion/show.blade.php
Normal file
@ -0,0 +1,60 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<h2>Consolidación de Ventas - {{$ventas[0]->proyecto()->descripcion}} <a href="{{url('', ['p' => 'informes', 'a' => 'consolidacion', 'proyecto' => get('proyecto')])}}">Excel</a></h2>
|
||||
<h3>{{strftime('%d de %B de %Y', $f->timestamp)}}</h3>
|
||||
<br />
|
||||
@foreach ($ventas as $venta)
|
||||
<h4><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Departamento {{$venta->unidad()->descripcion}} ({{format('ufs', $venta->valor_uf)}} UF)</a></h4>
|
||||
<?php $sum = 0; $debe = 0; $haber = 0; $ufs = 0 ?>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Fecha</th>
|
||||
<th>Glosa</th>
|
||||
<th>Debe</th>
|
||||
<th>Haber</th>
|
||||
<th>Saldo</th>
|
||||
<th>Comentario</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($venta->pie != 0)
|
||||
@foreach ($venta->pie()->cuotas() as $cuota)
|
||||
<?php $glosa = 'Pie - Cuota ' . $cuota->numero() . ' - ' . $venta->pie()->cuotas; $pago = $cuota->pago() ?>
|
||||
<?php $debe += $pago->valor(); $ufs += $pago->valor('ufs'); $sum += $pago->valor() ?>
|
||||
@include('ventas.consolidacion.pago')
|
||||
@endforeach
|
||||
@if ($venta->pie()->reajuste != 0)
|
||||
<?php $glosa = 'Reajuste'; $pago = $venta->pie()->reajuste() ?>
|
||||
<?php $debe += $pago->valor(); $ufs += $pago->valor('ufs'); $sum += $pago->valor() ?>
|
||||
@include('ventas.consolidacion.pago')
|
||||
@endif
|
||||
@endif
|
||||
@if ($venta->escritura != 0)
|
||||
<?php $glosa = 'Abono Escritura'; $pago = $venta->escritura()->pago() ?>
|
||||
<?php $debe += $pago->valor(); $ufs += $pago->valor('ufs'); $sum += $pago->valor() ?>
|
||||
@include('ventas.consolidacion.pago')
|
||||
@endif
|
||||
@if ($venta->credito != 0)
|
||||
<?php $glosa = 'Crédito'; $pago = $venta->credito()->pago() ?>
|
||||
<?php $debe += $pago->valor(); $ufs += $pago->valor('ufs'); $sum += $pago->valor() ?>
|
||||
@include('ventas.consolidacion.pago')
|
||||
@endif
|
||||
@if ($venta->devolucion != 0)
|
||||
<?php $glosa = 'Devolución'; $pago = $venta->devolucion() ?>
|
||||
<?php $haber += $pago->valor(); $ufs -= $pago->valor('ufs'); $sum -= $pago->valor() ?>
|
||||
@include('ventas.consolidacion.pago')
|
||||
@endif
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="text-bold">TOTAL ({{format('ufs', $ufs)}} UF)</td>
|
||||
<td class="text-bold text-right">$ {{format('pesos', $debe)}}</td>
|
||||
<td class="text-bold text-right">$ {{format('pesos', $haber)}}</td>
|
||||
<td class="text-bold text-right">$ {{format('pesos', $sum)}}</td>
|
||||
<td class="text-bold"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@endforeach
|
||||
@endsection
|
31
resources/views/ventas/creditos/abonar.blade.php
Normal file
31
resources/views/ventas/creditos/abonar.blade.php
Normal file
@ -0,0 +1,31 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Abonar Crédito - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'creditos', 'a' => 'abonando', 'venta' => $venta->id])}}">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Crédito</div>
|
||||
<div class="col-md-3">{{format('ufs', $venta->credito()->pago()->valor('ufs'))}} UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Pago</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->credito()->pago()->estado()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" value="{{$venta->credito()->pago()->valor}}" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Abono</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->credito()->pago()->estado()->fecha) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Abonar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
61
resources/views/ventas/creditos/add.blade.php
Normal file
61
resources/views/ventas/creditos/add.blade.php
Normal file
@ -0,0 +1,61 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Agregar Crédito - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form action="{{url('', ['p' => 'creditos', 'a' => 'agregado', 'venta' => $venta->id])}}" method="post" class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-5"><input type="text" name="banco" class="form-control" id="banco" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [UF]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" /></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-1">
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<select name="d" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="m" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="y" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Agregar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('#banco').typeahead({"source": data});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
42
resources/views/ventas/creditos/edit.blade.php
Normal file
42
resources/views/ventas/creditos/edit.blade.php
Normal file
@ -0,0 +1,42 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Editar Crédito - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form action="{{url('', ['p' => 'creditos', 'a' => 'editado', 'venta' => $venta->id])}}" method="post" class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-5"><input type="text" name="banco" class="form-control" id="banco" autocomplete="off"
|
||||
@if ($venta->credito()->pago()->banco != 0)
|
||||
value="{{$venta->credito()->pago()->banco()->nombre}}"
|
||||
@endif
|
||||
/></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [UF]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" value="{{$venta->credito()->pago()->valor('ufs')}}" /></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->credito()->pago()->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('#banco').typeahead({"source": data});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
31
resources/views/ventas/creditos/pagar.blade.php
Normal file
31
resources/views/ventas/creditos/pagar.blade.php
Normal file
@ -0,0 +1,31 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Pagar Crédito - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'creditos', 'a' => 'pagando', 'venta' => $venta->id])}}">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Crédito</div>
|
||||
<div class="col-md-3">{{format('ufs', $venta->credito()->pago()->valor('ufs'))}} UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Escritura</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->credito()->pago()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" value="{{$venta->credito()->pago()->valor}}" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Pago</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->credito()->pago()->fecha) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Pagar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
35
resources/views/ventas/creditos/pendientes.blade.php
Normal file
35
resources/views/ventas/creditos/pendientes.blade.php
Normal file
@ -0,0 +1,35 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-12 h2">Créditos Pendientes</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right"><a href="{{url('', ['p' => 'informes', 'a' => 'creditos_pendientes'])}}">Exportar a Excel</a></div>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Proyecto</th>
|
||||
<th>Departamento</th>
|
||||
<th>Valor [$]</th>
|
||||
<th>Valor [UF]</th>
|
||||
<th>Fecha Escritura</th>
|
||||
<th>Estado</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($creditos as $credito)
|
||||
<tr>
|
||||
<td>{{$credito->venta()->proyecto()->descripcion}}</td>
|
||||
<td><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $credito->venta()->id])}}">{{$credito->venta()->unidad()->descripcion}}</a></td>
|
||||
<td>{{format('pesos', $credito->pago()->valor('pesos'), null, true)}}</td>
|
||||
<td>{{format('ufs', $credito->pago()->valor('ufs'), null, true)}}</td>
|
||||
<td>{{format('shortDate', (($credito->venta()->escriturado) ? $credito->venta()->escriturado : $credito->pago()->estado()->fecha))}}</td>
|
||||
<td>{{ucwords($credito->pago()->estado()->tipo()->descripcion)}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
53
resources/views/ventas/creditos/show.blade.php
Normal file
53
resources/views/ventas/creditos/show.blade.php
Normal file
@ -0,0 +1,53 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h2>
|
||||
<div class="row">
|
||||
<div class="col-md-10">
|
||||
Crédito - <a href="{{nUrl('ventas', 'show', ['venta' => $venta->id])}}">{{$venta->unidad()->descripcion}}</a> - {{$venta->proyecto()->descripcion}}
|
||||
</div>
|
||||
<div class="col-md-2 text-right">
|
||||
<a href="{{nUrl('creditos', 'edit', ['venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit')
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-3">
|
||||
@if ($venta->credito()->pago()->banco != 0)
|
||||
{{$venta->credito()->pago()->banco()->nombre}}
|
||||
@else
|
||||
---
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-2">{{format('ufs', $venta->credito()->pago()->valor('ufs'), null, true)}}</div>
|
||||
<div class="col-md-3">{{format('pesos', $venta->credito()->pago()->valor('pesos'), null, true)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->credito()->pago()->fecha)}}</div>
|
||||
</div>
|
||||
<table class="table">
|
||||
@foreach ($venta->credito()->pago()->estados() as $estado)
|
||||
<tr
|
||||
@if ($estado->tipo()->active == 0)
|
||||
class="danger"
|
||||
@endif
|
||||
>
|
||||
<td>{{ucwords($estado->tipo()->descripcion)}}</td>
|
||||
<td>{{format('shortDate', $estado->fecha)}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
44
resources/views/ventas/desist.blade.php
Normal file
44
resources/views/ventas/desist.blade.php
Normal file
@ -0,0 +1,44 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Desistir - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'ventas', 'a' => 'desistiendo', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Devolución [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="pago" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" class="form-control" value="Desistir" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
63
resources/views/ventas/devolucion.blade.php
Normal file
63
resources/views/ventas/devolucion.blade.php
Normal file
@ -0,0 +1,63 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-12 h2"><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Devolución - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></div>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'ventas', 'a' => 'devolver', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Saldo</div>
|
||||
<div class="col-md-2">{{format('ufs', $venta->saldo('ufs'), null, true)}}</div>
|
||||
<div class="col-md-2" id="pesos">{{format('pesos', $valor, null, true)}}</div>
|
||||
<div class="col-md-2" id="uf">$ {{format('ufs', $uf)}}</div>
|
||||
</div>
|
||||
<div class="form-group" id="fecha">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Identificador)</div>
|
||||
<div class="col-md-4"><input type="text" name="identificador" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Banco)</div>
|
||||
<div class="col-md-3"><input type="text" name="banco" id="banco" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" value="Devolver" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('#banco').typeahead({"source": data});
|
||||
});
|
||||
$('#fecha').find('select').change(function(e) {
|
||||
var val = {{$venta->saldo('ufs')}};
|
||||
var d = $("select[name='day']").val();
|
||||
var m = $("select[name='month']").val();
|
||||
var y = $("select[name='year']").val();
|
||||
$.getJSON('http://localhost/money/api/', {"p": 'uf', "cmd": 'value', "day": d, "month": m, "year": y}, function(data) {
|
||||
var uf = {{$uf}};
|
||||
if (typeof data != 'undefined') {
|
||||
uf = data.uf.value;
|
||||
}
|
||||
var formatter = Intl.NumberFormat('es-Cl', {"minimumFractionDigits": 2, "maximumFractionDigits": 2});
|
||||
var str = '$ ' + formatter.format(uf);
|
||||
$('#uf').html(str);
|
||||
formatter = Intl.NumberFormat('es-Cl', {"maximumFractionDigits": 0});
|
||||
str = '$ ' + formatter.format(uf * val);
|
||||
$('#pesos').html(str);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
546
resources/views/ventas/edit.blade.php
Normal file
546
resources/views/ventas/edit.blade.php
Normal file
@ -0,0 +1,546 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-12 h3">Editar Venta - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'ventas', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha de Venta</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="section-heading">PROPIETARIO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">RUT</div>
|
||||
<div class="col-md-2"><input type="text" name="rut" class="form-control" value="{{$venta->propietario()->rut}}{{$venta->propietario()->dv}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Nombre</div>
|
||||
<div class="col-md-3"><input type="text" name="nombres" class="form-control" autocomplete="off" value="{{$venta->propietario()->nombres}}" /></div>
|
||||
<div class="col-md-3"><input type="text" name="paterno" class="form-control" autocomplete="off" value="{{$venta->propietario()->apellido_paterno}}" /></div>
|
||||
<div class="col-md-3"><input type="text" name="materno" class="form-control" autocomplete="off" value="{{$venta->propietario()->apellido_materno}}" /></div>
|
||||
<div class="col-md-1"><input type="checkbox" name="otro" value="{{$venta->propietario()->otro}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle" class="form-control" autocomplete="off" value="{{$venta->propietario()->direccion()->calle}}" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero" class="form-control" value="{{$venta->propietario()->direccion()->numero}}" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra" class="form-control" autocomplete="off" value="{{$venta->propietario()->direccion()->extra}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($region->numeral == $venta->propietario()->direccion()->comuna()->provincia()->region()->numeral)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||||
</div>
|
||||
<div class="section-heading">PROPIEDAD</div>
|
||||
</br>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Proyecto</div>
|
||||
<div class="col-md-4"><select name="proyecto" class="form-control">
|
||||
<option value="0">---</option>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<option value="{{$proyecto->id}}"
|
||||
@if ($venta->proyecto()->id == $proyecto->id)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$proyecto->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div id="unidades">
|
||||
<input type="hidden" name="unidades" value="0" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Unidades</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_unidad"></span></div>
|
||||
<div class="col-md-2"><select name="tipo_unidad" class="form-control"></select></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section-heading">FORMA DE PAGO</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" value="{{$venta->valor_uf}}" /></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
<div class="form-group" id="pie">
|
||||
<div class="col-md-2">Pie</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_pie"></span></div>
|
||||
</div>
|
||||
<div class="form-group" id="credito">
|
||||
<div class="col-md-2">Crédito</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_credito"></span></div>
|
||||
</div>
|
||||
<div class="section-heading">OTRAS CONDICIONES</div>
|
||||
<br />
|
||||
<div class="form-group" id="bono">
|
||||
<div class="col-md-2">Bono Pie</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_bono"></span></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Operador</div>
|
||||
<div class="col-md-3"><select name="operador" class="form-control">
|
||||
</select></div>
|
||||
</div>
|
||||
<div id="promociones">
|
||||
<input type="hidden" name="promociones" value="0" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Promociones</div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_promocion"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var unidades = [];
|
||||
var pie = false;
|
||||
var credito = false;
|
||||
var bono = false;
|
||||
var promociones = [];
|
||||
$(document).ready(function() {
|
||||
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().remove();
|
||||
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().remove();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data);
|
||||
|
||||
$("input[name='nombres']").val(info.nombres);
|
||||
$("input[name='paterno']").val(info.apellido_paterno);
|
||||
$("input[name='materno']").val(info.apellido_materno);
|
||||
|
||||
if (info.direccion) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(info) {
|
||||
$("input[name='calle']").val(info.calle);
|
||||
$("input[name='numero']").val(info.numero);
|
||||
$("input[name='extra']").val(info.extra);
|
||||
$("select[name='region']").val(info.comuna.provincia.region.id);
|
||||
changeRegion().done(function() {
|
||||
$("select[name='comuna']").val(info.comuna.id);
|
||||
});
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='paterno']").typeahead({"source": data});
|
||||
$("input[name='materno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='calle']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||||
|
||||
$("select[name='region']").change(function(e) {
|
||||
changeRegion($(this).val());
|
||||
});
|
||||
changeRegion($("select[name='region']").val());
|
||||
|
||||
$("select[name='proyecto']").change(function(e) {
|
||||
changeProyecto();
|
||||
});
|
||||
changeProyecto();
|
||||
$('#agregar_unidad').click(function(e) {
|
||||
agregarUnidad();
|
||||
});
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
$('#agregar_bono').click(function(e) {
|
||||
agregarBonoPie();
|
||||
});
|
||||
$('#agregar_promocion').click(function(e) {
|
||||
agregarPromocion();
|
||||
});
|
||||
|
||||
setup();
|
||||
});
|
||||
function extractor(query) {
|
||||
var result = /([^ ]+)$/.exec(query);
|
||||
if(result && result[1])
|
||||
return result[1].trim();
|
||||
return '';
|
||||
}
|
||||
function changeProyecto() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
return;
|
||||
}
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'tipo_unidades', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var tipo = $("select[name='tipo_unidad']");
|
||||
tipo.html('');
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
tipo.append($('<option></option>').attr('value', e.id).html(e.descripcion.ucwords()));
|
||||
});
|
||||
$('#unidades').show();
|
||||
});
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'operadores', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var operadores = $("select[name='operador']");
|
||||
operadores.html('').append($('<option></option>').attr('value', 0).html('---'));
|
||||
var info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
operadores.append($('<option></option>').attr('value', e.id).html(e.abreviacion));
|
||||
});
|
||||
});
|
||||
}
|
||||
function agregarUnidad() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
$('#unidades').hide();
|
||||
}
|
||||
var tipo = $("select[name='tipo_unidad']").val();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'unidades', 'ajax' => true])!!}', {"proyecto": proyecto, "tipo": tipo}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var unis = $('#unidades');
|
||||
var n = unidades[unidades.length - 1] + 1;
|
||||
if (unidades.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
unidades[unidades.length] = n;
|
||||
var select = $('<select></select>').attr('name', 'unidad' + n).attr('class', 'form-control');
|
||||
|
||||
$.each(info, function(i, e) {
|
||||
select.append($('<option></option>').attr('value', e.id).html(e.descripcion + ' - ' + e.abreviacion));
|
||||
});
|
||||
var ntipo = $("select[name='tipo_unidad'] option[value='" + tipo + "']").text();
|
||||
unis.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(ntipo)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_unidad' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
$('#remover_unidad' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeUnidad(i);
|
||||
});
|
||||
});
|
||||
}
|
||||
function removeUnidad(n) {
|
||||
var unis = $('#unidades');
|
||||
unis.find("select[name='unidad" + n + "']").parent().parent().remove();
|
||||
i = unidades.binaryIndexOf(n);
|
||||
unidades.splice(i, 1);
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
}
|
||||
function agregarPie() {
|
||||
if (pie) {
|
||||
return;
|
||||
}
|
||||
pie = true;
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'pie').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).after(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Cuotas')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'cuotas').attr('maxlength', '2').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remover_pie')
|
||||
)
|
||||
)
|
||||
);
|
||||
$('#remover_pie').click(function(e) {
|
||||
removePie();
|
||||
});
|
||||
}
|
||||
function removePie() {
|
||||
if (!pie) {
|
||||
return;
|
||||
}
|
||||
pie = false;
|
||||
$('#pie').next().remove();
|
||||
$('#pie').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_pie')
|
||||
)
|
||||
);
|
||||
$('#agregar_pie').click(function(e) {
|
||||
agregarPie();
|
||||
});
|
||||
}
|
||||
function agregarCredito() {
|
||||
if (credito) {
|
||||
return;
|
||||
}
|
||||
credito = true;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'credito').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_credito')
|
||||
)
|
||||
);
|
||||
$('#remove_credito').click(function(e) {
|
||||
removeCredito();
|
||||
});
|
||||
}
|
||||
function removeCredito() {
|
||||
if (!credito) {
|
||||
return;
|
||||
}
|
||||
credito = false;
|
||||
$('#credito').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Crédito')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_credito')
|
||||
)
|
||||
);
|
||||
$('#agregar_credito').click(function(e) {
|
||||
agregarCredito();
|
||||
});
|
||||
}
|
||||
function agregarBonoPie() {
|
||||
if (bono) {
|
||||
return;
|
||||
}
|
||||
bono = true;
|
||||
$('#bono').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Bono Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'bono_pie').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').html('UF')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remove_bono')
|
||||
)
|
||||
);
|
||||
$('#remove_bono').click(function(e) {
|
||||
removeBonoPie();
|
||||
});
|
||||
}
|
||||
function removeBonoPie() {
|
||||
if (!bono) {
|
||||
return;
|
||||
}
|
||||
bono = false;
|
||||
$('#bono').html('').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Bono Pie')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-plus agregar').attr('id', 'agregar_bono')
|
||||
)
|
||||
);
|
||||
$('#agregar_bono').click(function(e) {
|
||||
agregarBonoPie();
|
||||
});
|
||||
}
|
||||
function changeRegion(region) {
|
||||
var jq_comunas = $("select[name='comuna']");
|
||||
var region = $("select[name='region']").val();
|
||||
jq_comunas.html('');
|
||||
return $.post('{!!url('', ['p' => 'ajax', 'a' => 'comunas', 'ajax' => true])!!}', {"region": region}, function(data) {
|
||||
info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
jq_comunas.append(
|
||||
$('<option></option>').attr('value', e.id).html(e.descripcion)
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
function agregarPromocion() {
|
||||
var proyecto = $("select[name='proyecto']").val();
|
||||
if (proyecto == '0') {
|
||||
return;
|
||||
}
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'promociones', 'ajax' => true])!!}', {"proyecto": proyecto}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var promos = $('#promociones');
|
||||
var n = promociones[promociones.length - 1] + 1;
|
||||
if (promociones.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
promociones[promociones.length] = n;
|
||||
|
||||
var select = $('<select></select>').attr('name', 'promocion' + n).attr('class', 'form-control');
|
||||
$.each(info, function(i, e) {
|
||||
select.append($('<option></option>').attr('value', e.id).html(e.titulo));
|
||||
});
|
||||
|
||||
promos.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'promo' + n).attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_promociones' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='promociones']").val(JSON.stringify(promociones));
|
||||
$('#remover_promociones' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removePromocion(i);
|
||||
});
|
||||
});
|
||||
}
|
||||
function removePromocion(n) {
|
||||
var promos = $('#promociones');
|
||||
promos.find("select[name='promocion" + n + "']").parent().parent().remove();
|
||||
i = promociones.binaryIndexOf(n);
|
||||
promociones.splice(i, 1);
|
||||
$("input[name='promociones']").val(JSON.stringify(promociones));
|
||||
}
|
||||
function setup() {
|
||||
$("input[name='rut']").keyup();
|
||||
var proyecto = {{$venta->proyecto()->id}};
|
||||
|
||||
agregarUnidadTipo(proyecto, 1, $.parseJSON('{!!json_encode($venta->unidad()->as_array())!!}'));
|
||||
|
||||
@if ($venta->propiedad()->estacionamientos != '')
|
||||
var ests = [];
|
||||
@foreach ($venta->propiedad()->estacionamientos() as $e)
|
||||
ests.push($.parseJSON('{!!json_encode($e->as_array())!!}'));
|
||||
@endforeach
|
||||
|
||||
$.each(ests, function(i, e) {
|
||||
agregarUnidadTipo(proyecto, 2, e);
|
||||
});
|
||||
@endif
|
||||
@if ($venta->propiedad()->bodegas != '')
|
||||
var bods = [];
|
||||
@foreach ($venta->propiedad()->bodegas() as $b)
|
||||
bods.push($.parseJSON('{!!json_encode($b->as_array())!!}'));
|
||||
@endforeach
|
||||
|
||||
$.each(bods, function(i, b) {
|
||||
agregarUnidadTipo(proyecto, 3, b);
|
||||
});
|
||||
@endif
|
||||
|
||||
@if ($venta->pie != 0)
|
||||
agregarPie();
|
||||
$("input[name='pie']").val({{$venta->pie()->valor}});
|
||||
$("input[name='cuotas']").val({{$venta->pie()->cuotas}});
|
||||
@endif
|
||||
@if ($venta->credito != 0)
|
||||
agregarCredito();
|
||||
$("input[name='credito']").val({{$venta->credito()->pago()->valor('ufs')}});
|
||||
@endif
|
||||
}
|
||||
function agregarUnidadTipo(proyecto, tipo, unidad) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'unidades', 'ajax' => true])!!}', {"proyecto": proyecto, "tipo": tipo}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
var unis = $('#unidades');
|
||||
var n = unidades[unidades.length - 1] + 1;
|
||||
if (unidades.length == 0) {
|
||||
n = 1
|
||||
}
|
||||
unidades[unidades.length] = n;
|
||||
var select = $('<select></select>').attr('name', 'unidad' + n).attr('class', 'form-control');
|
||||
|
||||
info.push(unidad);
|
||||
$.each(info, function(i, e) {
|
||||
var option = $('<option></option>').attr('value', e.id).html(e.descripcion + ' - ' + e.abreviacion);
|
||||
select.append(option);
|
||||
});
|
||||
var ntipo = $("select[name='tipo_unidad'] option[value='" + tipo + "']").text();
|
||||
unis.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(ntipo)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
select
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_unidad' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='unidades']").val(JSON.stringify(unidades));
|
||||
$('#remover_unidad' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeUnidad(i);
|
||||
});
|
||||
$("select[name='unidad" + n + "']").val(unidad.id);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
125
resources/views/ventas/entregar.blade.php
Normal file
125
resources/views/ventas/entregar.blade.php
Normal file
@ -0,0 +1,125 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Entregar - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'entregas', 'a' => 'agregar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Mediciones</div>
|
||||
<input type="hidden" name="mediciones" value="[]" />
|
||||
<div class="col-md-3"><select name="tipo_medicion" class="form-control">
|
||||
@foreach ($venta->proyecto()->tiposMediciones() as $tipo)
|
||||
<option value="{{$tipo->id}}">{{ucwords($tipo->descripcion)}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_medicion"></span></div>
|
||||
<div id="mediciones" class="col-md-6"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Observaciones</div>
|
||||
<input type="hidden" name="observaciones" value="[]" />
|
||||
<div class="col-md-1"><span class="glyphicon glyphicon-plus agregar" id="agregar_observacion"></span></div>
|
||||
<div id="observaciones" class="col-md-9"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Entregar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var mediciones = [];
|
||||
var observaciones = [];
|
||||
$(document).ready(function() {
|
||||
$('#agregar_medicion').click(function(e) {
|
||||
agregarMedicion();
|
||||
});
|
||||
$('#agregar_observacion').click(function(e) {
|
||||
agregarObservacion();
|
||||
});
|
||||
});
|
||||
function agregarMedicion() {
|
||||
var mds = $('#mediciones');
|
||||
var n = mediciones[mediciones.length - 1] + 1;
|
||||
if (mediciones.length == 0) {
|
||||
n = 1;
|
||||
}
|
||||
var tipo = $("select[name='tipo_medicion']").val();
|
||||
mediciones[mediciones.length] = n;
|
||||
var input = $('<input/>').attr('type', 'text').attr('name', 'medicion' + n).attr('class', 'form-control');
|
||||
var tinput = $('<input/>').attr('type', 'hidden').attr('name', 'tipo_medicion' + n).attr('class', 'form-control').val(tipo);
|
||||
|
||||
mds.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(tinput)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-9').append(
|
||||
input
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_medicion' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='mediciones']").val(JSON.stringify(mediciones));
|
||||
$('#remover_medicion' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeMedicion(i);
|
||||
});
|
||||
}
|
||||
function removeMedicion(n) {
|
||||
var mds = $('#mediciones');
|
||||
mds.find("input[name='medicion" + n + "']").parent().parent().remove();
|
||||
i = mediciones.binaryIndexOf(n);
|
||||
mediciones.splice(i, 1);
|
||||
$("input[name='mediciones']").val(JSON.stringify(mediciones));
|
||||
}
|
||||
function agregarObservacion() {
|
||||
var obs = $('#observaciones');
|
||||
var submit = $('#submit');
|
||||
var n = observaciones[observaciones.length - 1] + 1;
|
||||
if (observaciones.length == 0) {
|
||||
n = 1;
|
||||
}
|
||||
observaciones[observaciones.length] = n;
|
||||
var input = $('<input/>').attr('type', 'text').attr('name', 'observacion' + n).attr('class', 'form-control');
|
||||
|
||||
obs.append(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(n)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-9').append(
|
||||
input
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_observacion' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='observaciones']").val(JSON.stringify(observaciones));
|
||||
$('#remover_observacion' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeObservacion(i);
|
||||
});
|
||||
}
|
||||
function removeObservacion(n) {
|
||||
var obs = $('#observaciones');
|
||||
console.debug(obs.find("input[name='observacion" + n + "']"));
|
||||
obs.find("input[name='observacion" + n + "']").parent().parent().remove();
|
||||
i = observaciones.binaryIndexOf(n);
|
||||
observaciones.splice(i, 1);
|
||||
$("input[name='observaciones']").val(JSON.stringify(observaciones));
|
||||
}
|
||||
</script>
|
||||
@endpush
|
25
resources/views/ventas/escrituras/abonar.blade.php
Normal file
25
resources/views/ventas/escrituras/abonar.blade.php
Normal file
@ -0,0 +1,25 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Abonar Escritura - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'escrituras', 'a' => 'abonado', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Pago</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->escritura()->pago()->estado()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->escritura()->pago()->estado()->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor Abonado [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" value="{{$venta->escritura()->pago()->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Abonar" class="form-control" /></div>
|
||||
</div>
|
||||
@endsection
|
219
resources/views/ventas/escrituras/add.blade.php
Normal file
219
resources/views/ventas/escrituras/add.blade.php
Normal file
@ -0,0 +1,219 @@
|
||||
@extends('layout.base', ['titulo' => 'Escriturar'])
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Escriturar - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></h3>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-2">Faltante</div>
|
||||
<div class="col-md-3">$ {{format('pesos', -$venta->saldo('pesos'))}}</div>
|
||||
<div class="col-md-3">{{format('ufs', -$venta->saldo())}} UF</div>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'escrituras', 'a' => 'agregar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<div class="col-md-1">
|
||||
<select name="escritura_day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<select name="escritura_month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<select name="escritura_year" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@if ($venta->pie != 0 and $venta->pie()->reajuste == 0)
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading fp-title" id="reajuste">Reajuste <span class="small glyphicon glyphicon-plus"></span></div>
|
||||
<div class="panel-body fp-body">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor_reajuste" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-1">
|
||||
<select name="reajuste_day" class="form-control fp-day">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<select name="reajuste_month" class="form-control fp-month">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<select name="reajuste_year" class="form-control fp-year">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@if ($venta->escritura == 0)
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading fp-title" id="escritura">Pago en Escritura <span class="small glyphicon glyphicon-plus"></span></div>
|
||||
<div class="panel-body fp-body">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="escritura_valor" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Valor [UF])</div>
|
||||
<div class="col-md-4"><input type="text" name="escritura_valor_uf" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-1">
|
||||
<select name="pago_escritura_day" class="form-control fp-day">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<select name="pago_escritura_month" class="form-control fp-month">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<select name="pago_escritura_year" class="form-control fp-year">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@if ($venta->subsidio == 0)
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading fp-title" id="subsidio">Subsidio <span class="small glyphicon glyphicon-plus"></span></div>
|
||||
<div class="panel-body fp-body">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor Ahorrado [UF]</div>
|
||||
<div class="col-md-4"><input type="text" name="subsidio_ahorrado" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor Subsidio [UF]</div>
|
||||
<div class="col-md-4"><input type="text" name="subsidio_valor" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Total</div>
|
||||
<div class="col-md-4" id="subsidio_total"></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@if ($venta->credito == 0)
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading fp-title" id="credito">Crédito <span class="small glyphicon glyphicon-plus"></span></div>
|
||||
<div class="panel-body fp-body">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-5"><input type="text" name="credito_banco" id="credito_banco" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [UF]</div>
|
||||
<div class="col-md-4"><input type="text" name="credito_valor" class="form-control" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@elseif ($venta->credito()->pago()->banco == 0)
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Crédito</div>
|
||||
<div class="panel-body">
|
||||
<div class="row form-group">
|
||||
<div class="col-md-2">Valor [UF]</div>
|
||||
<div class="col-md-4">{{format('ufs', $venta->credito()->pago()->valor('ufs'), null, true)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-5"><input type="text" name="credito_banco" id="credito_banco" class="form-control" autocomplete="off" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Escriturar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.fp-body').toggle();
|
||||
$('.fp-title').click(function(e) {
|
||||
var body = $(this).next('.fp-body');
|
||||
body.toggle();
|
||||
body.find('input').val('');
|
||||
body.find('select.fp-day').val({{$f->day}});
|
||||
body.find('select.fp-month').val({{$f->month}});
|
||||
body.find('select.fp-year').val({{$f->year}});
|
||||
});
|
||||
$('#subsidio').parent().find('input').change(function() {
|
||||
changeSubsidio();
|
||||
});
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('#credito_banco').typeahead({"source": data});
|
||||
});
|
||||
});
|
||||
function changeSubsidio() {
|
||||
var ahorro = parseFloat($("input[name='subsidio_ahorrado']").val()) || 0;
|
||||
var valor = parseFloat($("input[name='subsidio_valor']").val()) || 0;
|
||||
var total = ahorro + valor;
|
||||
$('#subsidio_total').html(total);
|
||||
}
|
||||
</script>
|
||||
@endpush
|
53
resources/views/ventas/escrituras/edit.blade.php
Normal file
53
resources/views/ventas/escrituras/edit.blade.php
Normal file
@ -0,0 +1,53 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Editar Pago de Escritura - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'escrituras', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" value="{{$venta->escritura()->pago()->valor}}" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Valor [UF])</div>
|
||||
<div class="col-md-4"><input type="text" name="valor_uf" value="{{$venta->escritura()->pago()->valor('ufs')}}" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->escritura()->pago()->fecha, config('app.timezone')) ?>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $f->year + 1; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}"
|
||||
@if ($i == $f->year)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
95
resources/views/ventas/escrituras/informe.blade.php
Normal file
95
resources/views/ventas/escrituras/informe.blade.php
Normal file
@ -0,0 +1,95 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Escritura - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></div>
|
||||
<div class="panel-body">
|
||||
El departamento {{$venta->unidad()->descripcion}}:<br />
|
||||
@if (count($venta->propiedad()->estacionamientos()) > 0)
|
||||
@if (count($venta->propiedad()->estacionamientos()) > 1)
|
||||
tiene los estacionamientos
|
||||
@foreach ($venta->propiedad()->estacionamientos() as $i => $est)
|
||||
@if ($i == count($venta->propiedad()->estacionamientos()) - 1)
|
||||
y
|
||||
@elseif ($i > 0)
|
||||
,
|
||||
@endif
|
||||
{{$est->descripcion}}
|
||||
@endforeach
|
||||
@else
|
||||
tiene el estacionamiento {{$venta->propiedad()->estacionamientos()[0]->descripcion}}
|
||||
@endif
|
||||
@else
|
||||
no tiene estacionamientos
|
||||
@endif
|
||||
y
|
||||
@if (count($venta->propiedad()->bodegas()) > 0)
|
||||
@if (count($venta->propiedad()->bodegas()) > 1)
|
||||
tiene las bodegas
|
||||
@foreach ($venta->propiedad()->bodegas() as $i => $est)
|
||||
@if ($i == count($venta->propiedad()->bodegas()) - 1)
|
||||
y
|
||||
@elseif ($i > 0)
|
||||
,
|
||||
@endif
|
||||
{{$est->descripcion}}
|
||||
@endforeach
|
||||
@else
|
||||
tiene la bodega {{$venta->propiedad()->bodegas()[0]->descripcion}}.
|
||||
@endif
|
||||
@else
|
||||
no tiene bodegas.
|
||||
@endif
|
||||
<br />
|
||||
<br />
|
||||
<b>PRECIO</b> {{format('ufs', $venta->valor('ufs'))}} UF.<br/>
|
||||
@if ($venta->pie != 0)
|
||||
<b>PIE</b> {{count($venta->pie()->cuotas())}} cuota{{(count($venta->pie()->cuotas()) > 1) ? 's que suman' : ' de'}}
|
||||
$ {{format('pesos', $venta->pie()->valorPagado('pesos'))}} equivalente a {{format('ufs', $venta->pieReajustado())}} UF.<br />
|
||||
@if ($venta->pie()->reajuste != 0)
|
||||
<b>REAJUSTE</b>
|
||||
@if ($venta->pie()->reajuste()->estado()->estado >= 1)
|
||||
$ {{format('pesos', $venta->pie()->reajuste()->valor)}} el {{format('shortDate', $venta->pie()->reajuste()->fecha)}}
|
||||
equivalente a {{format('ufs', $venta->pie()->reajuste()->valor('ufs'))}} UF.
|
||||
@else
|
||||
{{format('ufs', $venta->pie()->reajuste()->valor('ufs'))}} UF por pagar.
|
||||
@endif
|
||||
<br />
|
||||
@endif
|
||||
@endif
|
||||
@if ($venta->escritura != 0)
|
||||
<b>ESCRITURA</b>
|
||||
@if ($venta->escritura()->pago()->estado()->estado >= 1)
|
||||
$ {{format('pesos', $venta->escritura()->pago()->valor)}} el {{format('shortDate', $venta->escritura()->pago()->fecha)}}
|
||||
equivalente a {{format('ufs', $venta->escritura()->pago()->valor('ufs'))}} UF.
|
||||
@else
|
||||
{{format('ufs', $venta->escritura()->pago()->valor('ufs'))}} UF por pagar.
|
||||
@endif
|
||||
<br />
|
||||
@endif
|
||||
@if ($venta->saldo() / $venta->valor_uf > 0.01)
|
||||
(DEVOLVER {{format('ufs', $venta->saldo())}} UF).<br />
|
||||
@endif
|
||||
@if ($venta->anticipo() > 0)
|
||||
<b>TOTAL ANTICIPO</b> {{format('ufs', $venta->anticipo())}} UF.<br />
|
||||
@endif
|
||||
@if ($venta->bono_pie != 0)
|
||||
<b>BONO</b> {{format('ufs', $venta->bonoPie()->pago()->valor('ufs'))}} UF.<br />
|
||||
@endif
|
||||
@if ($venta->subsidio != 0)
|
||||
<b>SUBSIDIO</b> {{format('ufs', $venta->subsidio()->pago()->valor('ufs'))}} UF con ahorro y
|
||||
{{format('ufs', $venta->subsidio()->subsidio()->valor('ufs'))}} UF con subsidio.<br />
|
||||
@endif
|
||||
@if ($venta->credito != 0)
|
||||
Saldo {{format('ufs', $venta->credito()->pago()->valor('ufs'))}} UF con <b>CRÉDITO</b> en {{$venta->credito()->pago()->banco()->nombreCompleto()}}.<br />
|
||||
@endif
|
||||
<b>TOTAL</b> {{format('ufs', $venta->pagado())}} UF.
|
||||
|
||||
@if ($venta->saldo() > 0.0001)
|
||||
<br />
|
||||
<br />
|
||||
Diferencia {{format('ufs', $venta->saldo())}} UF ({{\App\Helper\Format::number(($venta->saldo()) / $venta->valor_uf * 100, 2)}}%).
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
24
resources/views/ventas/escrituras/pagar.blade.php
Normal file
24
resources/views/ventas/escrituras/pagar.blade.php
Normal file
@ -0,0 +1,24 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Pagar Escritura - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'escrituras', 'a' => 'pagado', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Pago</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->escritura()->pago()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor Pagado [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" value="{{$venta->escritura()->pago()->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Pagar" class="form-control" /></div>
|
||||
</div>
|
||||
@endsection
|
16
resources/views/ventas/firmar.blade.php
Normal file
16
resources/views/ventas/firmar.blade.php
Normal file
@ -0,0 +1,16 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Firmar Venta {{$venta->unidad()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form class="form form-horizontal" action="{{nUrl('ventas', 'firmando', ['venta' => $venta->id])}}" method="post">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control">Firmar</button></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
283
resources/views/ventas/forma_pago.blade.php
Normal file
283
resources/views/ventas/forma_pago.blade.php
Normal file
@ -0,0 +1,283 @@
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th colspan="5">FORMA DE PAGO</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($venta->pie != 0)
|
||||
<tr>
|
||||
<td>Pie <a href="{{url('', ['p' => 'pies', 'a' => 'edit', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit', ['small' => true])
|
||||
</a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->pie()->valor)}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->pie()->valorPesos())}}</td>
|
||||
<td>Cuotas</td>
|
||||
<td>
|
||||
<a href="{{url('', ['p' => 'pies', 'action' => 'resumen', 'pie' => $venta->pie()->id])}}">
|
||||
{{count($venta->pie()->pagadas())}} / {{$venta->pie()->cuotas}}
|
||||
@if (count($venta->pie()->rebotadas()) > 0)
|
||||
[-{{count($venta->pie()->rebotadas())}}]
|
||||
@endif
|
||||
</a>
|
||||
@if (count($venta->pie()->cuotas()) < $venta->pie()->cuotas)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'add', 'pie' => $venta->pie()->id])}}">
|
||||
@include('layout.icons.add', ['small' => true])
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-top: 1px dashed #ddd;">Pagado</td>
|
||||
<td style="border-top: 1px dashed #ddd;" class="text-right">
|
||||
{{format('ufs', $venta->pieReajustado())}} UF
|
||||
</td>
|
||||
<td style="border-top: 1px dashed #ddd;" class="text-right">
|
||||
$ {{format('pesos', $venta->pie()->valorPagado('pesos'))}}
|
||||
</td>
|
||||
@if ($venta->pie()->reajuste == 0)
|
||||
@if ($venta->escriturado == 0)
|
||||
<td style="border-top: 1px dashed #ddd;">
|
||||
<a class="small" href="{{url('', ['p' => 'pies', 'a' => 'reajustar', 'venta' => $venta->id])}}">
|
||||
Reajustar @include('layout.icons.add')
|
||||
</a>
|
||||
</td>
|
||||
<td style="border-top: 1px dashed #ddd;"></td>
|
||||
@else
|
||||
<td style="border-top: 1px dashed #ddd;" colspan="2"></td>
|
||||
@endif
|
||||
@else
|
||||
<td style="border-top: 1px dashed #ddd;" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reajuste <a href="{{url('', ['p' => 'reajustes', 'a' => 'edit', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit', ['small' => true])
|
||||
</a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->pie()->reajuste()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->pie()->reajuste()->valor)}}</td>
|
||||
<td>{{format('shortDate', $venta->pie()->reajuste()->estado()->fecha)}}
|
||||
@if ($venta->pie()->reajuste()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'reajustes', 'a' => 'pagar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@elseif ($venta->pie()->reajuste()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'reajustes', 'a' => 'abonar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@else
|
||||
<a href="{{url('', ['p' => 'pagos', 'a' => 'edit', 'pago' => $venta->pie()->reajuste()->id, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->escritura != 0)
|
||||
<tr>
|
||||
<td>Escritura <a href="{{url('', ['p' => 'escrituras', 'a' => 'edit', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit', ['small' => true])
|
||||
</a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->escritura()->pago()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->escritura()->pago()->valor())}}</td>
|
||||
<td>{{format('shortDate', $venta->escritura()->pago()->estado()->fecha)}}
|
||||
@if ($venta->escritura()->pago()->estado()->estado == 1)
|
||||
<a href="{{url('', ['p' => 'escrituras', 'a' => 'abonar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@elseif ($venta->escritura()->pago()->estado()->estado == 0)
|
||||
<a href="{{url('', ['p' => 'escrituras', 'a' => 'pagar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td><b>Anticipo</b></td>
|
||||
<td class="text-right"><b>{{format('ufs', $venta->anticipo())}} UF</b></td>
|
||||
<td class="text-right"><b>$ {{format('pesos', $venta->anticipo('pesos'))}}</b></td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
@if ($venta->bono_pie != 0)
|
||||
<tr>
|
||||
<td>Bono Pie <a href="{{url('', ['p' => 'bonos', 'a' => 'edit', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit', ['small' => true])
|
||||
</a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->bonoPie()->pago()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->bonoPie()->pago()->valor)}}</td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="5">Bono Pie <a href="{{url('', ['p' => 'bonos', 'a' => 'add', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.add', ['small' => true])
|
||||
</a></td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->subsidio != 0)
|
||||
<tr>
|
||||
<td rowspan="2">Subsidio <a href="{{url('', ['p' => 'subsidios', 'a' => 'edit', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit', ['small' => true])
|
||||
</a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->subsidio()->subsidio()->valor('ufs'))}} UF </td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->subsidio()->subsidio()->valor())}}</td>
|
||||
<td>{{format('shortDate', $venta->subsidio()->subsidio()->estado()->fecha)}}
|
||||
@if ($venta->subsidio()->subsidio()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'subsidios', 'a' => 'pagar', 'venta' => $venta->id, 'tipo' => 'subsidio'])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@elseif($venta->subsidio()->subsidio()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'subsidios', 'a' => 'abonar', 'venta' => $venta->id, 'tipo' => 'subsidio'])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
Subsidio
|
||||
<a href="{{nUrl('pagos', 'show', ['pago' => $venta->subsidio()->subsidio, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
<span class="glyphicon small glyphicon-eye-open"></span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-right">{{format('ufs', $venta->subsidio()->pago()->valor('ufs'))}} UF </td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->subsidio()->pago()->valor())}}</td>
|
||||
<td>{{format('shortDate', $venta->subsidio()->pago()->estado()->fecha)}}
|
||||
@if ($venta->subsidio()->pago()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'subsidios', 'a' => 'pagar', 'venta' => $venta->id, 'tipo' => 'pago'])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@elseif ($venta->subsidio()->pago()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'subsidios', 'a' => 'abonar', 'venta' => $venta->id, 'tipo' => 'pago'])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
Libreta de Ahorro
|
||||
<a href="{{nUrl('pagos', 'show', ['pago' => $venta->subsidio()->pago, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
<span class="glyphicon small glyphicon-eye-open"></span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="5">Subsidio <a href="{{url('', ['p' => 'subsidios', 'a' => 'add', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.add', ['small' => true])
|
||||
</a></td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->credito != 0)
|
||||
<tr>
|
||||
<td>
|
||||
Crédito
|
||||
<a href="{{nUrl('creditos', 'show', ['venta' => $venta->id])}}">
|
||||
@include('layout.icons.show', ['icon' => 'eye-open', 'small' => true])
|
||||
</a>
|
||||
<a href="{{url('', ['p' => 'creditos', 'a' => 'remove', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.remove', ['small' => true])
|
||||
</a>
|
||||
</td>
|
||||
<td class="text-right">{{format('ufs', $venta->credito()->pago()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->credito()->pago()->valor)}}</td>
|
||||
<td>{{format('shortDate', $venta->credito()->pago()->estado()->fecha)}}
|
||||
@if ($venta->credito()->pago()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'creditos', 'a' => 'pagar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@elseif ($venta->credito()->pago()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'creditos', 'a' => 'abonar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>Banco: @if ($venta->credito()->pago()->banco != 0) {{$venta->credito()->pago()->banco()->nombre}} @endif</td>
|
||||
@elseif ($venta->escriturado == null and $venta->estado == 1)
|
||||
<tr>
|
||||
<td>Crédito</td>
|
||||
<td class="danger text-right">{{format('ufs', $venta->valor_uf - $venta->pagado())}} UF</td>
|
||||
<td><a href="{{url('', ['p' => 'creditos', 'a' => 'agregar', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.add')
|
||||
</a></td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->saldo() / $venta->valor_uf > 0.01 or $venta->devolucion)
|
||||
<tr
|
||||
@if (!$venta->devolucion)
|
||||
class="warning"
|
||||
@endif
|
||||
>
|
||||
<td>Devolución
|
||||
@if (!$venta->devolucion)
|
||||
<a href="{{url('', ['p' => 'devoluciones', 'a' => 'liquidacion', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-print" title="Imprimir"></span></a>
|
||||
@else
|
||||
<a href="{{nUrl('pagos', 'edit', ['pago' => $venta->devolucion, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.edit')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
@if (!$venta->devolucion)
|
||||
<td class="text-right">-{{format('ufs', $venta->saldo('ufs'))}} UF</td>
|
||||
<td class="text-right">-$ {{format('pesos', $venta->saldo('pesos'))}}</td>
|
||||
<td><a href="{{url('', ['p' => 'ventas', 'a' => 'devolucion', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.add')
|
||||
</a></td>
|
||||
<td></td>
|
||||
@else
|
||||
<td class="text-right">-{{format('ufs', $venta->devolucion()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">-$ {{format('pesos', $venta->devolucion()->valor('pesos'))}}</td>
|
||||
<td>{{format('shortDate', $venta->devolucion()->estado()->fecha)}}
|
||||
@if ($venta->devolucion()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'pagos', 'a' => 'pagar', 'pago' => $venta->devolucion, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@elseif ($venta->devolucion()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'pagos', 'a' => 'abonar', 'pago' => $venta->devolucion, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->estado == 0)
|
||||
<tr>
|
||||
<td>Resciliación</td>
|
||||
<td class="text-right">-{{format('ufs', (($venta->resciliacion) ? $venta->resciliacion()->valor('ufs') : $venta->anticipo('ufs')), null, true)}}</td>
|
||||
<td class="text-right">-{{format('pesos', (($venta->resciliacion) ? $venta->resciliacion()->valor('pesos') : $venta->anticipo('pesos')), null, true)}}</td>
|
||||
@if ($venta->resciliacion)
|
||||
<td>
|
||||
@if ($venta->resciliacion()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'pagos', 'a' => 'pagar', 'pago' => $venta->resciliacion, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.pagar')
|
||||
</a>
|
||||
@elseif ($venta->resciliacion()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'pagos', 'a' => 'abonar', 'pago' => $venta->resciliacion, 'asociado' => 'venta', 'venta' => $venta->id])}}">
|
||||
@include('layout.icons.abonar')
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
@else
|
||||
<td colspan="2"></td>
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
<tr class="
|
||||
@if (abs($venta->saldo()) / $venta->valor_uf < 0.01)
|
||||
success
|
||||
@elseif (abs($venta->saldo()) / $venta->valor_uf < 0.02)
|
||||
warning
|
||||
@else
|
||||
danger
|
||||
@endif">
|
||||
<td>Total</td>
|
||||
<td class="text-right">{{format('ufs', $venta->pagado())}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->pagado('pesos'))}}</td>
|
||||
<td class="text-right">{{format('ufs', $venta->saldo())}} UF</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
227
resources/views/ventas/forma_pago/edit.blade.php
Normal file
227
resources/views/ventas/forma_pago/edit.blade.php
Normal file
@ -0,0 +1,227 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Editar Forma de Pago - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</h3>
|
||||
</div>
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'forma_pago', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||||
@if ($venta->pie != 0)
|
||||
<div class="row section-heading">
|
||||
<div class="col-md-12 h2">Pie</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [UF]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor_pie" class="form-control" value="{{$venta->pie()->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Cuotas</div>
|
||||
<div class="col-md-2"><input type="text" name="cuotas_pie" class="form-control" value="{{$venta->pie()->cuotas}}" /></div>
|
||||
</div>
|
||||
@if ($venta->pie()->reajuste != 0)
|
||||
<div class="row section-heading">
|
||||
<div class="col-md-12 h2">Reajuste</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $id = '_reajuste'; $f = \Carbon\Carbon::parse($venta->pie()->reajuste()->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor_reajuste" class="form-control" value="{{$venta->pie()->reajuste()->valor}}" /></div>
|
||||
</div>
|
||||
@else
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $id = '_reajuste' ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
<div class="row section-heading">
|
||||
<div class="col-md-12 h2">Escritura</div>
|
||||
</div>
|
||||
<br />
|
||||
@if ($venta->escritura != 0)
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $id = '_escritura'; $f = \Carbon\Carbon::parse($venta->escritura()->pago()->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor_escritura" class="form-control" value="{{$venta->escritura()->pago()->valor}}" /></div>
|
||||
</div>
|
||||
@else
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $id = '_escritura'; unset($f) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor_escritura" class="form-control" /></div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="row section-heading">
|
||||
<div class="col-md-12 h2">Crédito</div>
|
||||
</div>
|
||||
<br />
|
||||
@if ($venta->credito != 0)
|
||||
|
||||
@endif
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
<?php
|
||||
/*
|
||||
$total = 0; $total_uf = 0; $anticipo = 0; $anticipo_uf = 0 ?>
|
||||
<tbody>
|
||||
@if ($venta->pie != 0)
|
||||
<tr>
|
||||
<td>Pie <a href="{{url('', ['p' => 'pies', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-edit small"></span></a></td>
|
||||
<?php
|
||||
$total += $venta->pie()->valorPagado('pesos');
|
||||
$total_uf = $venta->pie()->valorPagado();
|
||||
$anticipo += $venta->pie()->valorPagado('pesos');
|
||||
$anticipo_uf += $venta->pie()->valorPagado()
|
||||
?>
|
||||
<td class="text-right">{{format('ufs', $venta->pie()->valor)}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->pie()->valorPesos())}}</td>
|
||||
<td>Cuotas</td>
|
||||
<td>
|
||||
<a href="{{url('', ['p' => 'pies', 'action' => 'resumen', 'pie' => $venta->pie()->id])}}">{{count($venta->pie()->pagadas())}} / {{$venta->pie()->cuotas}}</a>
|
||||
@if (count($venta->pie()->cuotas()) < $venta->pie()->cuotas)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'add', 'pie' => $venta->pie()->id])}}"><span class="small glyphicon glyphicon-plus"></span></a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-top: 1px dashed #ddd;">Pagado</td>
|
||||
<td style="border-top: 1px dashed #ddd;" class="text-right">{{format('ufs', $venta->pie()->valorPagado())}} UF</td>
|
||||
<td style="border-top: 1px dashed #ddd;" class="text-right">$ {{format('pesos', $venta->pie()->valorPagado('pesos'))}}</td>
|
||||
@if ($venta->pie()->reajuste == 0)
|
||||
@if ($venta->escriturado == 0)
|
||||
<td style="border-top: 1px dashed #ddd;"><a class="small" href="{{url('', ['p' => 'pies', 'a' => 'reajustar', 'venta' => $venta->id])}}">Reajustar <span class="glyphicon glyphicon-plus"></span></a></td>
|
||||
<td style="border-top: 1px dashed #ddd;"></td>
|
||||
@else
|
||||
<td style="border-top: 1px dashed #ddd;" colspan="2"></td>
|
||||
@endif
|
||||
@else
|
||||
<?php
|
||||
$total += $venta->pie()->reajuste()->valor;
|
||||
$total_uf += $venta->pie()->reajuste()->valor('ufs');
|
||||
$anticipo += $venta->pie()->reajuste()->valor;
|
||||
$anticipo_uf += $venta->pie()->reajuste()->valor('ufs');
|
||||
?>
|
||||
<td style="border-top: 1px dashed #ddd;" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reajuste <a href="{{url('', ['p' => 'reajustes', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="small glyphicon glyphicon-edit"></span></a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->pie()->reajuste()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->pie()->reajuste()->valor)}}</td>
|
||||
<td>{{format('shortDate', $venta->pie()->reajuste()->estado()->fecha)}}
|
||||
@if ($venta->pie()->reajuste()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'reajustes', 'a' => 'abonar', 'venta' => $venta->id])}}">✓</a>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->bono_pie != 0)
|
||||
<tr>
|
||||
<td>Bono Pie <a href="{{url('', ['p' => 'bonos', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="small glyphicon glyphicon-edit"></span></a></td>
|
||||
<?php
|
||||
$total += $venta->bonoPie()->pago()->valor;
|
||||
$total_uf += $venta->bonoPie()->pago()->valor('ufs');
|
||||
$anticipo += $venta->bonoPie()->pago()->valor;
|
||||
$anticipo_uf += $venta->bonoPie()->pago()->valor('ufs');
|
||||
?>
|
||||
<td class="text-right">{{format('ufs', $venta->bonoPie()->pago()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->bonoPie()->pago()->valor)}}</td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->escritura != 0)
|
||||
<?php
|
||||
$total += $venta->escritura()->pago()->valor;
|
||||
$total_uf += $venta->escritura()->pago()->valor('ufs');
|
||||
$anticipo += $venta->escritura()->pago()->valor;
|
||||
$anticipo_uf += $venta->escritura()->pago()->valor('ufs');
|
||||
?>
|
||||
<tr>
|
||||
<td>Escritura <a href="{{url('', ['p' => 'escrituras', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="small glyphicon glyphicon-edit"></span></a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->escritura()->pago()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->escritura()->pago()->valor)}}</td>
|
||||
<td>{{format('shortDate', $venta->escritura()->pago()->estado()->fecha)}}
|
||||
@if ($venta->escritura()->pago()->estado()->estado == 1)
|
||||
<a href="{{url('', ['p' => 'escrituras', 'a' => 'abonar', 'venta' => $venta->id])}}">✓</a>
|
||||
@elseif ($venta->escritura()->pago()->estado()->estado == 0)
|
||||
<a href="{{url('', ['p' => 'escrituras', 'a' => 'depositar', 'venta' => $venta->id])}}">✓</a>
|
||||
@endif
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td><b>Anticipo</b></td>
|
||||
<td class="text-right"><b>{{format('ufs', $anticipo_uf)}} UF</b></td>
|
||||
<td class="text-right"><b>$ {{format('pesos', $anticipo)}}</b></td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
@if ($venta->subsidio != 0)
|
||||
<?php $total+= $venta->subsidio()->total(); $total_uf += $venta->subsidio()->total('ufs') ?>
|
||||
<tr>
|
||||
<td>Subsidio <a href="{{url('', ['p' => 'subsidios', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="small glyphicon glyphicon-edit"></span></a></td>
|
||||
<td class="text-right">{{format('ufs', $venta->subsidio()->total('ufs'))}} UF </td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->subsidio()->total())}}</td>
|
||||
<td>{{format('shortDate', $venta->subsidio()->pago()->fecha)}}
|
||||
@if ($venta->subsidio()->pago()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'subsidios', 'a' => 'abonar', 'venta' => $venta->id])}}">✓</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if ($venta->credito != 0)
|
||||
<tr>
|
||||
<td>Crédito @if ($venta->credito != 0) <a href="{{url('', ['p' => 'creditos', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="small glyphicon glyphicon-edit"></span></a>@endif </td>
|
||||
<?php $total += $venta->credito()->pago()->valor; $total_uf += $venta->credito()->pago()->valor('ufs') ?>
|
||||
<td class="text-right">{{format('ufs', $venta->credito()->pago()->valor('ufs'))}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $venta->credito()->pago()->valor)}}</td>
|
||||
<td>{{format('shortDate', $venta->credito()->pago()->estado()->fecha)}}
|
||||
@if ($venta->credito()->pago()->estado()->estado < 1)
|
||||
<a href="{{url('', ['p' => 'creditos', 'a' => 'pagar', 'venta' => $venta->id])}}">✓</a>
|
||||
@elseif ($venta->credito()->pago()->estado()->estado < 2)
|
||||
<a href="{{url('', ['p' => 'creditos', 'a' => 'abonar', 'venta' => $venta->id])}}">✓</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>Banco: @if ($venta->credito()->pago()->banco != 0) {{$venta->credito()->pago()->banco()->nombre}} @endif</td>
|
||||
@elseif ($venta->escriturado == null)
|
||||
<tr>
|
||||
<td>Crédito @if ($venta->credito != 0) <a href="{{url('', ['p' => 'creditos', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="small glyphicon glyphicon-edit"></span></a>@endif </td>
|
||||
<td class="danger text-right">{{format('ufs', $venta->valor_uf - $total_uf)}} UF</td>
|
||||
<td><a href="{{url('', ['p' => 'creditos', 'a' => 'agregar', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-plus"></span></a></td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr class="
|
||||
@if (abs($total_uf - $venta->valor_uf) / $venta->valor_uf < 0.01)
|
||||
success
|
||||
@elseif (abs($total_uf - $venta->valor_uf) / $venta->valor_uf < 0.02)
|
||||
warning
|
||||
@else
|
||||
danger
|
||||
@endif">
|
||||
<td>Total</td>
|
||||
<td class="text-right">{{format('ufs', $total_uf)}} UF</td>
|
||||
<td class="text-right">$ {{format('pesos', $total)}}</td>
|
||||
<td class="text-right">{{format('ufs', $total_uf - $venta->valor_uf)}} UF</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php */ ?>
|
42
resources/views/ventas/list.blade.php
Normal file
42
resources/views/ventas/list.blade.php
Normal file
@ -0,0 +1,42 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Ventas de <a href="{{url('', ['p' => 'proyectos', 'a' => 'show', 'proyecto' => $proyecto->id])}}">{{$proyecto->descripcion}}</a> [{{count($ventas)}}]</h3>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th>@include('ventas.sort_title', ['title' => 'Departamento'])</th>
|
||||
<th>@include('ventas.sort_title', ['title' => 'Propietario'])</th>
|
||||
<th>@include('ventas.sort_title', ['title' => 'Valor [UF]'])</th>
|
||||
<th>@include('ventas.sort_title', ['title' => 'Tipología'])</th>
|
||||
<th>@include('ventas.sort_title', ['title' => 'UF/m²'])</th>
|
||||
<th>@include('ventas.sort_title', ['title' => 'Fecha Venta'])</th>
|
||||
<th>@include('ventas.sort_title', ['title' => 'Estado'])</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($ventas as $venta)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="?p=ventas&a=show&venta={{$venta->id}}">
|
||||
{{trim(array_reduce($venta->propiedad()->departamentos(), function($carry, $item) {
|
||||
return implode(' - ', [$carry, $item->descripcion]);
|
||||
}), ' -')}}
|
||||
{{(count($venta->propiedad()->estacionamientos('array')) > 0) ? ' - E' . implode(', ', $venta->propiedad()->estacionamientos('array')) : ''}}
|
||||
{{(count($venta->propiedad()->bodegas('array')) > 0) ? ' - B' . implode(', ', $venta->propiedad()->bodegas('array')) : ''}}
|
||||
<span class="glyphicon glyphicon-chevron-right small"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td><a href="?p=search&q={{urlencode('"' . $venta->propietario()->nombreCompleto() . '"')}}">{{$venta->propietario()->nombreCompleto()}} <span class="glyphicon glyphicon-search small"></span></a></td>
|
||||
<td>{{\App\Helper\Format::ufs($venta->valor_uf)}}</td>
|
||||
<td>{{$venta->propiedad()->unidad()->tipologia()->tipologia()->descripcion}} ({{format('m2', $venta->propiedad()->unidad()->tipologia()->m2())}} m²)</td>
|
||||
<td>{{\App\Helper\Format::ufs($venta->uf_m2())}}</td>
|
||||
<td>{{$venta->fecha()->format('d-m-Y')}}</td>
|
||||
<td>{{ucwords($venta->estado()->tipo()->descripcion)}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
@ -0,0 +1,61 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Bloquear Unidades - {{$operador->proyecto()->descripcion}}</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Operador</div>
|
||||
<div class="col-md-3">{{$operador->agente()->agente()->abreviacion}}</div>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('unidades_bloqueadas', 'do_bloquear', ['operador' => $operador->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Departamentos</div>
|
||||
<div class="col-md-3"><textarea name="departamentos" class="form-control"></textarea></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Estacionamientos</div>
|
||||
<div class="col-md-3"><textarea name="estacionamientos" class="form-control"></textarea></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Bodegas</div>
|
||||
<div class="col-md-3"><textarea name="bodegas" class="form-control"></textarea></div>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tipo</th>
|
||||
<th>Número</th>
|
||||
<th>Tipología</th>
|
||||
<th>m²</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($operador->proyecto()->unidadesDisponibles() as $unidad)
|
||||
<tr>
|
||||
<td>{{ucwords($unidad->tipo()->descripcion)}}</td>
|
||||
<td>{{$unidad->descripcion}}</td>
|
||||
<td>
|
||||
@if ($unidad->tipologia()->tipologia())
|
||||
{{$unidad->tipologia()->tipologia()->descripcion}}
|
||||
@endif
|
||||
</td>
|
||||
<td>{!!format('m2', $unidad->m2(), null, true)!!}</td>
|
||||
<td><input type="checkbox" name="unidad[]" value="{{$unidad->id}}" /></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3">
|
||||
<button class="form-control" type="submit">Bloquear</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
82
resources/views/ventas/operadores/unidades/list.blade.php
Normal file
82
resources/views/ventas/operadores/unidades/list.blade.php
Normal file
@ -0,0 +1,82 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Unidades Bloqueadas</h3>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Proyecto</th>
|
||||
<th>Operadores</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<tr>
|
||||
<td>{{$proyecto->descripcion}}</td>
|
||||
<td>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nombre</th>
|
||||
<th>Unidades</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($proyecto->operadoresVigentes() as $operador)
|
||||
<tr>
|
||||
<td>
|
||||
{{$operador->agente()->agente()->abreviacion}}
|
||||
</td>
|
||||
<td>
|
||||
@if ($operador->unidadesBloqueadas())
|
||||
<a href="{{nUrl('unidades_bloqueadas', 'bloquear', ['operador' => $operador->id])}}">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
</a>
|
||||
[{{count($operador->unidadesBloqueadas())}}]
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tipo</th>
|
||||
<th>Número</th>
|
||||
<th>Tipología</th>
|
||||
<th>m² Vendible</th>
|
||||
<th>Fecha</th>
|
||||
<th>Precio Lista</th>
|
||||
<th>UF/m²</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($operador->unidadesBloqueadas() as $unidad)
|
||||
<tr>
|
||||
<td>
|
||||
{{ucwords($unidad->unidad()->tipo()->descripcion)}}
|
||||
</td>
|
||||
<td>{{$unidad->unidad()->descripcion}}</td>
|
||||
<td>{{$unidad->unidad()->tipologia()->tipologia()->descripcion}}</td>
|
||||
<td>{{$unidad->unidad()->m2()}}</td>
|
||||
<td>{{format('shortDate', $unidad->estado()->fecha())}}</td>
|
||||
<td>{{format('ufs', $unidad->unidad()->precio($unidad->estado()->fecha())->valor)}} UF</td>
|
||||
<td>{{format('ufs', $unidad->unidad()->precio($unidad->estado()->fecha())->valor / $unidad->unidad()->m2())}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@else
|
||||
No hay unidades bloqueadas.
|
||||
<a href="{{nUrl('unidades_bloqueadas', 'bloquear', ['operador' => $operador->id])}}">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</thead>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
77
resources/views/ventas/pagos/edit.blade.php
Normal file
77
resources/views/ventas/pagos/edit.blade.php
Normal file
@ -0,0 +1,77 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Editar Pago</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'pagos', 'a' => 'editar', 'pago' => $pago->id, 'asociado' => $asociado, $asociado => $id_asociado])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($pago->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Tipo</div>
|
||||
<div class="col-md-3"><select name="tipo" class="form-control">
|
||||
@foreach ($tipos as $tipo)
|
||||
<option value="{{$tipo->id}}"
|
||||
@if ($pago->tipo() and $tipo->id == $pago->tipo()->id)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{ucwords($tipo->descripcion)}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Identificador)</div>
|
||||
<div class="col-md-4"><input type="text" name="identificador" class="form-control" value="{{$pago->identificador}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-3"><input type="text" name="banco" class="form-control"
|
||||
@if ($pago->banco())
|
||||
value="{{$pago->banco()->nombre}}"
|
||||
@endif
|
||||
id="banco" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" value="{{$pago->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Pagador)</div>
|
||||
<div class="col-md-5"><input type="text" name="pagador" class="form-control" value="{{$pago->pagador}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Estado</div>
|
||||
<div class="col-md-3"><select name="estado" class="form-control">
|
||||
@foreach ($estados as $estado)
|
||||
<option value="{{$estado->id}}"
|
||||
@if ($estado->id == $pago->estado()->estado)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{ucwords($estado->descripcion)}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Estado</div>
|
||||
<?php $f = \Carbon\Carbon::parse($pago->estado()->fecha, config('app.timezone')); $id = 'estado' ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('#banco').typeahead({"source": data});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
268
resources/views/ventas/pagos/pendientes.blade.php
Normal file
268
resources/views/ventas/pagos/pendientes.blade.php
Normal file
@ -0,0 +1,268 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<h2>Pagos Pendientes</h2>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Históricos</div>
|
||||
<div class="col-md-10" id="historicos"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="loader" id="graph_spinner"></div>
|
||||
<canvas id="pagos_pendientes" width="400" height="200"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<h2>Para Abonar [<span id="total_pendientes"><div class="loader" style="display: inline-block; width: 26px; height: 26px;"></div></span>]</h2>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Proyecto</th>
|
||||
<th>Departamento</th>
|
||||
<th>Propietario</th>
|
||||
<th>Tipo</th>
|
||||
<th>Fecha Deposito</th>
|
||||
<th>Valor</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="depositos">
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>Pagos Rebotados Pendientes [<span id="total_rebotes"><div class="loader" style="display: inline-block; width: 26px; height: 26px;"></div></span>]</h2>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Proyecto</th>
|
||||
<th>Departamento</th>
|
||||
<th>Propietario</th>
|
||||
<th>Tipo</th>
|
||||
<th>Fecha Rebote</th>
|
||||
<th>Valor</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="rebotes">
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
.loader {
|
||||
border: 8px solid #f3f3f3; /* Light grey */
|
||||
border-top: 8px solid #3498db; /* Blue */
|
||||
border-radius: 50%;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
animation: spin 2s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
function createChart(ctx, labels, data1, data2) {
|
||||
var chart = new Chart(ctx, {
|
||||
"type": 'bar',
|
||||
"data": {
|
||||
"labels": labels,
|
||||
"datasets": [{
|
||||
"label": 'Pagos',
|
||||
"data": data1.data,
|
||||
"backgroundColor": data1.backgroundColor
|
||||
},
|
||||
{
|
||||
"label": 'Abonos',
|
||||
"data": data2.data,
|
||||
"backgroundColor": data2.backgroundColor
|
||||
}]
|
||||
},
|
||||
"options": {
|
||||
"legend": {
|
||||
"display": false
|
||||
},
|
||||
"scales": {
|
||||
"xAxes": [{
|
||||
"stacked": true
|
||||
}],
|
||||
"yAxes": [{
|
||||
"stacked": true
|
||||
}]
|
||||
},
|
||||
"plugins": {
|
||||
"chartJSPluginBarchartBackground": {
|
||||
"color": 'rgb(100, 100, 100)'
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
function formatNumber(number) {
|
||||
return (new Intl.NumberFormat('es-ES', {style: 'decimal'}).format(number))
|
||||
}
|
||||
var total_pendientes = 0
|
||||
var sum_pendientes = 0
|
||||
var total_rebotes = 0
|
||||
var sum_rebotes = 0
|
||||
function sortTr(div) {
|
||||
var trs = div.children('tr')
|
||||
objs = []
|
||||
$.each (trs, function(i, el) {
|
||||
var tds = $(el).find('td')
|
||||
var proyecto = $(tds.get(0)).text()
|
||||
var departamento = parseInt($(tds.get(1)).text())
|
||||
objs.push({
|
||||
'tr': el,
|
||||
'proyecto': proyecto,
|
||||
'departamento': departamento
|
||||
})
|
||||
})
|
||||
objs.sort((a, b) => {
|
||||
if (a.proyecto === b.proyecto) {
|
||||
return a.departamento - b.departamento
|
||||
}
|
||||
return (a.proyecto > b.proyecto) ? 1 : -1
|
||||
})
|
||||
div.html('')
|
||||
$.each(objs, function(i, el) {
|
||||
div.append(el.tr)
|
||||
})
|
||||
}
|
||||
function getDatos(type) {
|
||||
var promises = []
|
||||
var ventas = []
|
||||
@foreach ($ventas as $i => $venta)
|
||||
ventas.push({{$venta->id}})
|
||||
@if ($i % $lots->size == 0 and $i > 0)
|
||||
if (type == 'pendientes') {
|
||||
promises.push(getPendiente(ventas))
|
||||
}
|
||||
if (type == 'rebotes') {
|
||||
promises.push(getRebote(ventas))
|
||||
}
|
||||
ventas = []
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if ($lots->rest->size > 0)
|
||||
ventas = []
|
||||
@for ($i = $lots->rest->start; $i < count($ventas); $i ++)
|
||||
ventas.push({{$ventas[$i]->id}})
|
||||
@endfor
|
||||
if (type == 'pendientes') {
|
||||
promises.push(getPendiente(ventas))
|
||||
}
|
||||
if (type == 'rebotes') {
|
||||
promises.push(getRebote(ventas))
|
||||
}
|
||||
@endif
|
||||
|
||||
promises.reduce((promiseChain, currentTask) => {
|
||||
return promiseChain.then(chainResults => currentTask.then(currentResult => [ ...chainResults, currentResult]))
|
||||
}, Promise.resolve([])).then(arrayOfResults => {
|
||||
if (type == 'rebotes') {
|
||||
$('#total_rebotes').html(total_rebotes)
|
||||
sortTr($('#rebotes'))
|
||||
div = $('#rebotes')
|
||||
sum = sum_rebotes
|
||||
}
|
||||
if (type == 'pendientes') {
|
||||
$('#total_pendientes').html(total_pendientes)
|
||||
sortTr($('#depositos'))
|
||||
div = $('#depositos')
|
||||
sum = sum_pendientes
|
||||
}
|
||||
div.append(
|
||||
$('<tr></tr>').append(
|
||||
$('<td></td>').append(
|
||||
$('<strong></strong>').html('TOTAL')
|
||||
)
|
||||
).append(
|
||||
$('<td></td>').attr('colspan', '4')
|
||||
).append(
|
||||
$('<td></td>').append(
|
||||
$('<strong></strong>').html('$ ' + formatNumber(sum))
|
||||
)
|
||||
)
|
||||
)
|
||||
})
|
||||
}
|
||||
function getPendiente(list) {
|
||||
return $.post('{!!nUrl('pagos', 'para_abonar', ['ajax' => true])!!}', {ids: JSON.stringify(list)}, function(data) {
|
||||
$.each (data, function(i, venta) {
|
||||
if (venta.status == 1) {
|
||||
$.each(venta.pagos, function(i, el) {
|
||||
$('#depositos').append(
|
||||
$('<tr></tr>').append(
|
||||
$('<td></td>').html(venta.proyecto)
|
||||
).append(
|
||||
$('<td></td>').append(
|
||||
$('<a></a>').attr('href', '{!!nUrl('ventas', 'show', ['venta' => ''])!!}' + venta.venta).html(venta.departamento)
|
||||
)
|
||||
).append(
|
||||
$('<td></td>').html(venta.propietario)
|
||||
).append(
|
||||
$('<td></td>').html(el.tipo)
|
||||
).append(
|
||||
$('<td></td>').html(el.fecha)
|
||||
).append(
|
||||
$('<td></td>').html('$ ' + el.valor)
|
||||
)
|
||||
)
|
||||
sum_pendientes += parseInt(el.valor.replace('.', ''))
|
||||
total_pendientes ++
|
||||
})
|
||||
}
|
||||
});
|
||||
}, 'json')
|
||||
}
|
||||
function getRebote(list) {
|
||||
return $.post('{!!nUrl('pagos', 'rebotes', ['ajax' => true])!!}', {ids: JSON.stringify(list)}, function(data) {
|
||||
$.each(data, function(i, rebote) {
|
||||
if (rebote.status == 1) {
|
||||
$.each(rebote.rebotes, function(i, el) {
|
||||
$('#rebotes').append(
|
||||
$('<tr></tr>').attr('data-id', el.id).append(
|
||||
$('<td></td>').html(el.proyecto)
|
||||
).append(
|
||||
$('<td></td>').append(
|
||||
$('<a></a>').attr('href', '{!!nUrl('ventas', 'show', ['venta' => ''])!!}' + el.venta).html(el.departamento)
|
||||
)
|
||||
).append(
|
||||
$('<td></td>').html(el.propietario)
|
||||
).append(
|
||||
$('<td></td>').html(el.tipo)
|
||||
).append(
|
||||
$('<td></td>').html(el.fecha)
|
||||
).append(
|
||||
$('<td></td>').html('$ ' + el.valor)
|
||||
)
|
||||
)
|
||||
sum_rebotes += parseInt(el.valor.replace('.', ''))
|
||||
total_rebotes ++
|
||||
})
|
||||
}
|
||||
})
|
||||
}, 'json')
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$.post('{!!nUrl('pagos', 'para_pendientes', ['ajax' => true])!!}', function(data) {
|
||||
$('#historicos').append(
|
||||
$('<a></a>').attr('href', '{!!nUrl('cuotas', 'pendientes')!!}').html(data.pagos.historico)
|
||||
).append(
|
||||
$('<br />')
|
||||
).append(
|
||||
$('<a></a>').attr('href', '{!!nUrl('cuotas', 'para_abonar')!!}').html(data.abonos.historico)
|
||||
)
|
||||
$('#graph_spinner').remove()
|
||||
var ctx = $('#pagos_pendientes')
|
||||
createChart(ctx, data.fechas, data.pagos, data.abonos)
|
||||
}, 'json')
|
||||
getDatos('pendientes')
|
||||
getDatos('rebotes')
|
||||
});
|
||||
</script>
|
||||
@endpush
|
61
resources/views/ventas/pagos/show.blade.php
Normal file
61
resources/views/ventas/pagos/show.blade.php
Normal file
@ -0,0 +1,61 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-10 h2">Pago</div>
|
||||
<div class="col-md-2 text-right h2"><a href="{{url('', ['p' => 'pagos', 'a' => 'edit', 'pago' => $pago->id, 'asociado' => $asociado, $asociado => $id_asociado])}}">
|
||||
<span class="glyphicon glyphicon-edit"></span>
|
||||
</a></div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-2">Tipo</div>
|
||||
<div class="col-md-3">
|
||||
@if ($pago->tipo())
|
||||
{{ucwords($pago->tipo()->descripcion)}}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-3">{{format('shortDate', $pago->fecha)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3">{{format('pesos', $pago->valor('pesos'), null, true)}}</div>
|
||||
<div class="col-md-3">{{format('ufs', $pago->valor('ufs'), null, true)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Valor de UF</div>
|
||||
<div class="col-md-3">{{format('pesos', $pago->uf, null, true)}}</div>
|
||||
</div>
|
||||
@if ($pago->banco != 0)
|
||||
<div class="row">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-3">{{$pago->banco()->descripcion}}</div>
|
||||
</div>
|
||||
@endif
|
||||
@if ($pago->identificador != '')
|
||||
<div class="row">
|
||||
<div class="col-md-2">Identificador</div>
|
||||
<div class="col-md-4">{{$pago->identificador}}</div>
|
||||
</div>
|
||||
@endif
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Estado</th>
|
||||
<th>Fecha</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($pago->estados() as $estado)
|
||||
<tr>
|
||||
<td>{{ucwords($estado->tipo()->descripcion)}}</td>
|
||||
<td>{{format('shortDate', $estado->fecha)}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<a href="{{url('', ['p' => $asociado . 's', 'a' => 'show', $asociado => $id_asociado])}}">Volver</a>
|
||||
@endsection
|
197
resources/views/ventas/pies/cuotas/abonar.blade.php
Normal file
197
resources/views/ventas/pies/cuotas/abonar.blade.php
Normal file
@ -0,0 +1,197 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Abonar Cuotas</div>
|
||||
<div class="panel-body">
|
||||
Hay {{$total}} cuotas para abonar.<br />
|
||||
<div class="row">
|
||||
<div class="col-md-2">Se están viendo de ha</div>
|
||||
<div class="col-md-1"><input type="text" name="step" class="form-control" value="{{((get('step')) ? get('step') : 30)}}" /></div>
|
||||
<div class="col-md-3"> en {{$pages}} páginas.</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-offset-6 col-md-2 text-right">Filtro</div>
|
||||
<div class="col-md-4"><input type="text" class="form-control focus" id="tableFilter" /></div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
@if (get('start') > 0)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => 0, 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-left"></span><span class="glyphicon glyphicon-chevron-left"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@if (get('start') > 0)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => max(0, get('start') - ((get('step')) ? get('step') : 30)), 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-left"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-8 text-center">{{$current}} / {{$pages}}</div>
|
||||
<div class="col-md-1 text-right">
|
||||
@if (get('start') + ((get('step')) ? get('step') : 30) < $total)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => max(0, get('start')) + ((get('step')) ? get('step') : 30), 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-right"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-1 text-right">
|
||||
@if (get('start') + ((get('step')) ? get('step') : 30) < $total)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => (((get('step')) ? get('step') : 30) * floor($total / ((get('step')) ? get('step') : 30))), 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-right"></span><span class="glyphicon glyphicon-chevron-right"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped" id="filteredTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">Proyecto</th>
|
||||
<th>Departamento</th>
|
||||
<th>Valor Cuota</th>
|
||||
<th>Fecha Depositada</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Propietario</th>
|
||||
<th>Fecha Cuota</th>
|
||||
<th>Fecha Abono / Devolución</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
@foreach ($cuotas as $cuota)
|
||||
<tr>
|
||||
<td rowspan="2">{{$cuota->pie()->venta()->proyecto()->descripcion}}</td>
|
||||
<td><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $cuota->pie()->venta()->id])}}">{{$cuota->pie()->venta()->unidad()->descripcion}}</a></td>
|
||||
<td>$ {{format('pesos', $cuota->pago()->valor)}}</td>
|
||||
<td>{{format('shortDate', $cuota->pago()->estado()->fecha)}}</td>
|
||||
<td><a href="#" class="abonar" data-id="{{$cuota->id}}">✓</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{$cuota->pie()->venta()->propietario()->nombreCompleto()}}</td>
|
||||
<td>{{format('shortDate', $cuota->pago()->fecha)}}</td>
|
||||
<td>
|
||||
<div class="row">
|
||||
<div class="col-md-3"><select name="d{{$cuota->id}}" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-3"><select name="m{{$cuota->id}}" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="y{{$cuota->id}}" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
</td>
|
||||
<td><a href="#" class="rebote" data-id="{{$cuota->id}}">X</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
@if (get('start') > 0)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => 0, 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-left"></span><span class="glyphicon glyphicon-chevron-left"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@if (get('start') > 0)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => max(0, get('start') - ((get('step')) ? get('step') : 30)), 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-left"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-8 text-center">{{$current}} / {{$pages}}</div>
|
||||
<div class="col-md-1 text-right">
|
||||
@if (get('start') + ((get('step')) ? get('step') : 30) < $total)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => max(0, get('start')) + ((get('step')) ? get('step') : 30), 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-right"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-1 text-right">
|
||||
@if (get('start') + ((get('step')) ? get('step') : 30) < $total)
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'para_abonar', 'start' => (((get('step')) ? get('step') : 30) * floor($total / ((get('step')) ? get('step') : 30))), 'step' => ((get('step')) ? get('step') : 30)])}}"><span class="glyphicon glyphicon-chevron-right"></span><span class="glyphicon glyphicon-chevron-right"></span></a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.focus').focus();
|
||||
$("input[name='step']").change(function(e) {
|
||||
var step = $(this).val();
|
||||
var qs = parseQS();
|
||||
qs.step = step;
|
||||
var url = window.location;
|
||||
console.debug(url);
|
||||
url.search = stringifyQS(qs);
|
||||
});
|
||||
$('#tableFilter').filterTable({"table": 'filteredTable', "height": 2, "excludes": ['Fecha Abono / Devolución', '']});
|
||||
$('.abonar').click(function(e) {
|
||||
var id = $(this).attr('data-id');
|
||||
var fy = $("select[name='y" + id + "']").val();
|
||||
var fm = $("select[name='m" + id + "']").val();
|
||||
var fd = $("select[name='d" + id + "']").val();
|
||||
var fecha = fy + '-' + fm + '-' + fd;
|
||||
$.post('{!!url('', ['p' => 'cuotas', 'a' => 'abonar'])!!}', {"cuota": id, "fecha": fecha}, function(data) {
|
||||
if (data == 'ok') {
|
||||
window.location.reload();
|
||||
} else {
|
||||
console.debug(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
$('.rebote').click(function(e) {
|
||||
var id = $(this).attr('data-id');
|
||||
var fy = $("select[name='y" + id + "']").val();
|
||||
var fm = $("select[name='m" + id + "']").val();
|
||||
var fd = $("select[name='d" + id + "']").val();
|
||||
var fecha = fy + '-' + fm + '-' + fd;
|
||||
$.post('{!!url('', ['p' => 'cuotas', 'a' => 'rebotar'])!!}', {"cuota": id, "fecha": fecha}, function(data) {
|
||||
if (data == 'ok') {
|
||||
window.location.reload();
|
||||
} else {
|
||||
console.debug(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
function parseQS() {
|
||||
var url = window.location;
|
||||
var qs = url.search;
|
||||
var parsed = qs.substring(1).split('&');
|
||||
var output = {};
|
||||
$.each(parsed, function(i, e) {
|
||||
var data = e.split('=');
|
||||
output[data[0]] = data[1];
|
||||
});
|
||||
return output;
|
||||
}
|
||||
function stringifyQS(qsObj) {
|
||||
return '?' + joinObj(qsObj, '=', '&');
|
||||
}
|
||||
function joinObj(obj, glue, separator) {
|
||||
var object = obj;
|
||||
|
||||
if (glue == undefined)
|
||||
glue = '=';
|
||||
|
||||
if (separator == undefined)
|
||||
separator = ',';
|
||||
|
||||
return $.map(Object.getOwnPropertyNames(object), function(k) { return [k, object[k]].join(glue) }).join(separator);
|
||||
}
|
||||
</script>
|
||||
@endpush
|
123
resources/views/ventas/pies/cuotas/add.blade.php
Normal file
123
resources/views/ventas/pies/cuotas/add.blade.php
Normal file
@ -0,0 +1,123 @@
|
||||
@extends('layout.base') @section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Agregar Cuotas - <a href="{{url('', ['p' => 'pies', 'a' => 'resumen', 'pie' => $pie->id])}}">Departamento {{$pie->venta()->unidad()->descripcion}}</a> - {{$pie->venta()->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
@if (count($pie->venta()->propietario()->ventas()) > 1)
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'pies', 'a' => 'asociar', 'pie' => $pie->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-3">
|
||||
<select name="asociado" class="form-control">
|
||||
@foreach ($pie->venta()->propietario()->ventas() as $v)
|
||||
@if ($v->unidad()->id == $pie->venta()->unidad()->id)
|
||||
@continue
|
||||
@endif
|
||||
<option value="{{$v->pie()->id}}">
|
||||
{{$v->unidad()->descripcion}} - {{$v->proyecto()->descripcion}}
|
||||
@if ($v->pie()->asociado == 0)
|
||||
({{count($v->pie()->cuotas())}})
|
||||
@endif
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-2"><input type="submit" class="form-control" value="Asociar" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endif
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'cuotas', 'a' => 'agregar', 'pie' => $pie->id])}}">
|
||||
<?php $t = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th colspan="3">Fecha</th>
|
||||
<th>Banco</th>
|
||||
<th>Identificador</th>
|
||||
<th>Valor [$]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $cant = $pie->cuotas - count($pie->cuotas()); $ini = count($pie->cuotas()) + 1 ?>
|
||||
@for ($n = 0; $n < $cant; $n ++)
|
||||
<tr>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" size="2" maxlength="2" name="numero{{$n}}" class="form-control" value="{{$ini + $n}}" />
|
||||
<span class="input-group-addon glyphicon glyphicon-copy" data-name="numero" data-n="{{$n}}"></span>
|
||||
</div>
|
||||
</td>
|
||||
<td><select name="day{{$n}}" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $t->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></td>
|
||||
<td><select name="month{{$n}}" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $t->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select name="year{{$n}}" class="form-control">
|
||||
@for ($i = $t->year + 4; $i > $t->year - 5; $i --)
|
||||
<option value="{{$i}}"
|
||||
@if ($i == $t->year)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$i}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
<span class="input-group-addon glyphicon glyphicon-copy" data-n="{{$n}}" data-name="fecha"></span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" name="banco{{$n}}" class="banco form-control" autocomplete="off" />
|
||||
<span class="input-group-addon glyphicon glyphicon-copy" data-n="{{$n}}" data-name="banco"></span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" name="identificador{{$n}}" class="form-control" />
|
||||
<span class="input-group-addon glyphicon glyphicon-copy" data-n="{{$n}}" data-name="identificador"></span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" name="valor{{$n}}" class="form-control" />
|
||||
<span class="input-group-addon glyphicon glyphicon-copy" data-n="{{$n}}" data-name="valor"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="hidden" name="cuotas" value="{{$cant}}" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-3"><input type="submit" value="Agregar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('.banco').each(function(i, e) {
|
||||
$(this).typeahead({"source": data});
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" src="{!!url('js/ventas/pies/cuotas/add.js')!!}"></script>
|
||||
@endpush
|
69
resources/views/ventas/pies/cuotas/edit.blade.php
Normal file
69
resources/views/ventas/pies/cuotas/edit.blade.php
Normal file
@ -0,0 +1,69 @@
|
||||
@extends('layout.base') @section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Editar Cuota - <a href="{{url('', ['p' => 'pies', 'a' => 'resumen', 'pie' => $cuota->pie()->id])}}">Departamento {{$cuota->pie()->venta()->unidad()->descripcion}}</a> - {{$cuota->pie()->venta()->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'cuotas', 'a' => 'editar', 'cuota' => $cuota->id])}}">
|
||||
<?php $f = \Carbon\Carbon::parse($cuota->fecha, config('app.timezone')); $t = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">#</div>
|
||||
<div class="col-md-2"><input type="text" size="2" maxlength="2" class="form-control" name="numero" value="{{$cuota->numero}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $t->year + 4; $i > $t->year - 5; $i --)
|
||||
<option value="{{$i}}"
|
||||
@if ($i == $f->year)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-5"><input type="text" name="banco" id="banco" class="form-control" value="{{($cuota->pago()->banco != 0) ? $cuota->pago()->banco()->nombre : ''}}" autocomplete="off" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Identificador</div>
|
||||
<div class="col-md-5"><input type="text" name="identificador" class="form-control" value="{{$cuota->pago()->identificador}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" value="{{$cuota->pago()->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.getJSON('{!!url('', ['p' => 'ajax', 'a' => 'buscar', 't' => 'bancos'])!!}', function(data, status, xhr) {
|
||||
$('#banco').typeahead({"source": data});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
10
resources/views/ventas/pies/cuotas/estado.blade.php
Normal file
10
resources/views/ventas/pies/cuotas/estado.blade.php
Normal file
@ -0,0 +1,10 @@
|
||||
@if ($cuota->pago()->estado()->tipo()->descripcion == 'abonado')
|
||||
success
|
||||
@elseif ($cuota->pago()->estado()->tipo()->descripcion == 'depositado')
|
||||
warning
|
||||
@elseif ($cuota->pago()->estado()->tipo()->descripcion == 'devuelto')
|
||||
error
|
||||
@elseif ($cuota->pago()->estado()->tipo()->descripcion == 'no pagado')
|
||||
@else
|
||||
danger
|
||||
@endif
|
139
resources/views/ventas/pies/cuotas/pendientes.blade.php
Normal file
139
resources/views/ventas/pies/cuotas/pendientes.blade.php
Normal file
@ -0,0 +1,139 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Cuotas Pendientes</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Total</div>
|
||||
<div class="col-md-1">{{count($cuotas)}}</div>
|
||||
<div class="col-md-8">$ {{format('pesos', $sum)}}</div>
|
||||
<div class="col-md-1 text-right"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-offset-8 col-md-4"><input type="text" class="form-control focus" id="tableFilter" /></div>
|
||||
</div>
|
||||
<table class="table table-striped" id="filteredTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">Proyecto</th>
|
||||
<th>Departamento</th>
|
||||
<th>$</th>
|
||||
<th>Día</th>
|
||||
<th>Cuota</th>
|
||||
<th><button onclick="javascript: pagarTodos();">✓</button></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Propietario</th>
|
||||
<th>Banco</th>
|
||||
<th>Fecha Cheque</th>
|
||||
<th>Depositar</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $t = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
@foreach ($cuotas as $cuota)
|
||||
<?php
|
||||
$f = \Carbon\Carbon::parse($cuota->pago()->fecha, config('app.timezone'));
|
||||
if ($f->dayOfWeek == \Carbon\Carbon::SATURDAY or $f->dayOfWeek == \Carbon\Carbon::SUNDAY) {
|
||||
$f->next(\Carbon\Carbon::MONDAY);
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td rowspan="2">{{$cuota->pie()->venta()->proyecto()->descripcion}}</td>
|
||||
<td class="text-center"><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $cuota->pie()->venta()->id])}}">{{$cuota->pie()->venta()->unidad()->descripcion}}</a></td>
|
||||
<td class="text-right">$ {{format('pesos', $cuota->pago()->valor)}}</td>
|
||||
<td>{{format('localDate', $f, 'EEEE dd')}}</td>
|
||||
<td>{{str_pad($cuota->numero, 2, '0', STR_PAD_LEFT)}} - {{str_pad($cuota->pie()->cuotas, 2, '0', STR_PAD_LEFT)}}</td>
|
||||
<td><input type="checkbox" name="chk" data-value="{{$cuota->id}}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{$cuota->pie()->venta()->propietario()->nombreCompleto()}}</td>
|
||||
<td>@if ($cuota->pago()->banco()) {{$cuota->pago()->banco()->nombre}} @endif</td>
|
||||
<td
|
||||
@if ($f < $t)
|
||||
class="danger"
|
||||
@endif
|
||||
>{{format('shortDate', $cuota->pago()->fecha)}}</td>
|
||||
<td>
|
||||
<select name="d{{$cuota->id}}">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $t->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
<select name="m{{$cuota->id}}">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $t->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
<select name="y{{$cuota->id}}">
|
||||
@for ($i = $t->year; $i > $t->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select>
|
||||
</td>
|
||||
<td><a href="#" onclick="javascript: pagar({{$cuota->id}})">✓</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.focus').focus();
|
||||
});
|
||||
$('#tableFilter').filterTable({"table": 'filteredTable', "height": 2, "excludes": ['Depositar', '']});
|
||||
function pagar(id_cuota) {
|
||||
var fy = $("select[name='y" + id_cuota + "']").val();
|
||||
var fm = $("select[name='m" + id_cuota + "']").val();
|
||||
var fd = $("select[name='d" + id_cuota + "']").val();
|
||||
var fecha = fy + '-' + fm + '-' + fd;
|
||||
$.post('{!!nUrl('cuotas', 'depositar')!!}', {"cuota": id_cuota, "fecha": fecha} , function(data) {
|
||||
if (data == 'ok') {
|
||||
window.location.reload();
|
||||
}
|
||||
console.debug(data);
|
||||
});
|
||||
}
|
||||
function pagarTodos()
|
||||
{
|
||||
var cnt = 0;
|
||||
var ok = 0;
|
||||
$("input[name='chk']").each(function(e, i) {
|
||||
if (!$(this).is(':checked')) {
|
||||
return;
|
||||
}
|
||||
cnt ++;
|
||||
var id = $(this).attr('data-value');
|
||||
var fy = $("select[name='y" + id + "']").val();
|
||||
var fm = $("select[name='m" + id + "']").val();
|
||||
var fd = $("select[name='d" + id + "']").val();
|
||||
var fecha = fy + '-' + fm + '-' + fd;
|
||||
$.post('{!!nUrl('cuotas', 'depositar')!!}', {"cuota": id, "fecha": fecha}, function(data) {
|
||||
if (data == 'ok') {
|
||||
ok ++;
|
||||
} else {
|
||||
console.debug(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (ok == cnt) {
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endpush
|
64
resources/views/ventas/pies/cuotas/show.blade.php
Normal file
64
resources/views/ventas/pies/cuotas/show.blade.php
Normal file
@ -0,0 +1,64 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-11 h3"><a href="{{url('', ['p' => 'pies', 'a' => 'resumen', 'pie' => $cuota->pie()->id])}}">Cuota - {{$cuota->pie()->venta()->unidad()->descripcion}} - {{$cuota->pie()->venta()->proyecto()->descripcion}}</a></div>
|
||||
<div class="col-md-1 h3"><a href="{{url('', ['p' => 'cuotas', 'a' => 'edit', 'cuota' => $cuota->id])}}"><span class="glyphicon glyphicon-edit"></span></a></div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-2">Número</div>
|
||||
<div class="col-md-1">{{$cuota->numero()}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<div class="col-md-5">{{format('shortDate', $cuota->pago()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Identificador</div>
|
||||
<div class="col-md-5">{{$cuota->pago()->identificador}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Banco</div>
|
||||
<div class="col-md-4">{{($cuota->pago()->banco != 0) ? $cuota->pago()->banco()->nombre : ''}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3">$ {{format('pesos', $cuota->pago()->valor())}}</div>
|
||||
<div class="col-md-3">{{format('ufs', $cuota->pago()->valor('ufs'))}} UF</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 h4">Historial</div>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Fecha</th>
|
||||
<th>Estado</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($cuota->pago()->estados() as $estado)
|
||||
<tr class="
|
||||
@switch ($estado->tipo()->descripcion)
|
||||
@case ('abonado')
|
||||
success
|
||||
@break
|
||||
@case ('depositado')
|
||||
warning
|
||||
@break
|
||||
@case ('devuelto')
|
||||
danger
|
||||
@break
|
||||
@case ('en observacion')
|
||||
info
|
||||
@break
|
||||
@endswitch
|
||||
">
|
||||
<td>{{format('shortDate', $estado->fecha)}}</td>
|
||||
<td>{{ucwords($estado->tipo()->descripcion)}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
23
resources/views/ventas/pies/edit.blade.php
Normal file
23
resources/views/ventas/pies/edit.blade.php
Normal file
@ -0,0 +1,23 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Editar Pie - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'pies', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Monto</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" value="{{$venta->pie()->valor}}" class="form-control" /></div>
|
||||
<div class="col-md-1">UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Cuotas</div>
|
||||
<div class="col-md-2"><input type="text" maxlength="2" name="cuotas" class="form-control" value="{{$venta->pie()->cuotas}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
48
resources/views/ventas/pies/reajustar.blade.php
Normal file
48
resources/views/ventas/pies/reajustar.blade.php
Normal file
@ -0,0 +1,48 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Reajustar - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form method="post" action="{{url('', ['p' => 'pies', 'a' => 'reajuste', 'venta' => $venta->id])}}" class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Pie Pagado</div>
|
||||
<div class="col-md-4">$ {{format('pesos', $venta->pie()->valorPagado('pesos'))}}</div>
|
||||
<div class="col-md-4">{{format('ufs', $venta->pie()->valorPagado())}} UF</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Reajuste</div>
|
||||
<div class="col-md-1">$</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" /></div>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
<?php $f = \Carbon\Carbon::today(config('app.timezone')) ?>
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $f->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}">{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Reajustar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
25
resources/views/ventas/pies/reajustes/abonar.blade.php
Normal file
25
resources/views/ventas/pies/reajustes/abonar.blade.php
Normal file
@ -0,0 +1,25 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Abonar Reajuste - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'reajustes', 'a' => 'abonado', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Pago</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->pie()->reajuste()->estado()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->pie()->reajuste()->estado()->fecha, config('app.timezone')) ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor Abonado [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" value="{{$venta->pie()->reajuste()->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Abonar" class="form-control" /></div>
|
||||
</div>
|
||||
@endsection
|
53
resources/views/ventas/pies/reajustes/edit.blade.php
Normal file
53
resources/views/ventas/pies/reajustes/edit.blade.php
Normal file
@ -0,0 +1,53 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Editar Reajuste - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" method="post" action="{{url('', ['p' => 'reajustes', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" value="{{$venta->pie()->reajuste()->valor}}" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">(Valor [UF])</div>
|
||||
<div class="col-md-4"><input type="text" name="valor_uf" value="{{$venta->pie()->reajuste()->valor('ufs')}}" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->pie()->reajuste()->fecha, config('app.timezone')) ?>
|
||||
<div class="col-md-1"><select name="day" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->day)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><select name="month" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"
|
||||
@if ($i + 1 == $f->month)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-2"><select name="year" class="form-control">
|
||||
@for ($i = $f->year + 1; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}"
|
||||
@if ($i == $f->year)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
24
resources/views/ventas/pies/reajustes/pagar.blade.php
Normal file
24
resources/views/ventas/pies/reajustes/pagar.blade.php
Normal file
@ -0,0 +1,24 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">Pagar Reajuste - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</a></h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'reajustes', 'a' => 'pagado', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha Pago</div>
|
||||
<div class="col-md-3">{{format('shortDate', $venta->pie()->reajuste()->fecha)}}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor Pagado [$]</div>
|
||||
<div class="col-md-4"><input type="text" name="valor" class="form-control" value="{{$venta->pie()->reajuste()->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Pagar" class="form-control" /></div>
|
||||
</div>
|
||||
@endsection
|
276
resources/views/ventas/pies/resumen.blade.php
Normal file
276
resources/views/ventas/pies/resumen.blade.php
Normal file
@ -0,0 +1,276 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h2>
|
||||
<a href="{{url('', ['p' => 'ventas', 'action' => 'show', 'venta' => $venta->id])}}">{{$venta->unidad()->descripcion}} - {{$venta->unidad()->proyecto()->descripcion}}</a>
|
||||
@if ($venta->pie()->asociados() != null)
|
||||
<br />
|
||||
@foreach ($venta->pie()->asociados() as $asociado)
|
||||
<small><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $asociado->venta()->id])}}">{{$asociado->venta()->unidad()->descripcion}}</a></small>
|
||||
@endforeach
|
||||
@elseif ($venta->pie()->asociado() != null)
|
||||
<br />
|
||||
<small><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->pie()->asociado()->venta()->id])}}">{{$venta->pie()->asociado()->venta()->unidad()->descripcion}}</a></small>
|
||||
@foreach ($venta->pie()->asociado()->asociados() as $asociado)
|
||||
@if ($asociado->venta()->id == $venta->id)
|
||||
@continue
|
||||
@endif
|
||||
<small><a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $asociado->venta()->id])}}">{{$asociado->venta()->unidad()->descripcion}}</a></small>
|
||||
@endforeach
|
||||
@endif
|
||||
</h2>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="info">
|
||||
<th colspan="7" class="text-center">PIE</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Fecha</td>
|
||||
<td>{{\App\Helper\Format::shortDate($venta->pie()->fecha)}}</td>
|
||||
<td>Valor</td>
|
||||
<td>{{\App\Helper\Format::ufs($venta->pie()->valor)}} UF</td>
|
||||
<td>$ {{\App\Helper\Format::pesos($venta->pie()->valorPesos())}}</td>
|
||||
<td>Cuotas</td>
|
||||
<td>({{count($venta->pie()->abonadas())}}) {{count($venta->pie()->pagadas())}} / {{$venta->pie()->cuotas}}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr class="info">
|
||||
<th>#</th>
|
||||
<th>Fecha</th>
|
||||
<th>Banco</th>
|
||||
<th>Identificador</th>
|
||||
<th class="text-right">Valor</th>
|
||||
<th class="text-right">UF</th>
|
||||
<th>
|
||||
<div class="row">
|
||||
<div class="col-md-6">Fecha</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row">Deposito</div>
|
||||
<div class="row">Abono</div>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
Depositar<br />
|
||||
Abonar
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$cnt = 0;
|
||||
$total = (object) [
|
||||
'pagado' => 0,
|
||||
'pagado_uf' => 0,
|
||||
'por_pagar' => 0,
|
||||
'por_pagar_uf' => 0,
|
||||
'cuotas' => 0,
|
||||
'cuotas_uf' => 0,
|
||||
'dif' => 0,
|
||||
'dif_uf' => 0
|
||||
];
|
||||
$t = \Carbon\Carbon::today(config('app.timezone'));
|
||||
?>
|
||||
@foreach ($venta->pie()->cuotas() as $cuota)
|
||||
<tr>
|
||||
<td class="@include('ventas.pies.cuotas.estado')">
|
||||
<a href="{{url('', ['p' => 'cuotas', 'a' => 'show', 'cuota' => $cuota->id])}}">{{++$cnt}} <span class="glyphicon glyphicon-edit small"></span></a>
|
||||
</td>
|
||||
<td>{{\App\Helper\Format::shortDate($cuota->pago()->fecha)}}</td>
|
||||
<td>{{($cuota->pago()->banco()) ? $cuota->pago()->banco()->nombre : ''}}</td>
|
||||
<td>
|
||||
@if ($cuota->pago()->identificador == '')
|
||||
<form action="#" method="post"><input type="text" name="identificador{{$cuota->id}}" /></form>
|
||||
@else
|
||||
{{$cuota->pago()->identificador}}
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-right">$ {{\App\Helper\Format::pesos($cuota->valor())}}</td>
|
||||
<td class="text-right">{{\App\Helper\Format::ufs($cuota->valor('ufs'))}} UF</td>
|
||||
<td class="text-center @include('ventas.pies.cuotas.estado')">
|
||||
{{\App\Helper\Format::shortDate($cuota->pago()->estado()->fecha)}}
|
||||
<a href="{{url('', ['p' => 'pagos', 'a' => 'edit', 'pago' => $cuota->pago()->id, 'asociado' => 'venta', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-edit small"></span></a>
|
||||
</td>
|
||||
<td>
|
||||
@if ($cuota->pago()->estado()->estado == 0 or $cuota->pago()->estado()->estado == -1)
|
||||
<?php
|
||||
$total->por_pagar += $cuota->valor();
|
||||
$total->por_pagar_uf += $cuota->valor('ufs');
|
||||
?>
|
||||
<form action="#" method="post">
|
||||
<div class="row">
|
||||
<div class="col-md-3"><select name="d{{$cuota->id}}" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"{{($i + 1 == $t->day) ? ' selected="selected"' : ''}}>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-3"><select name="m{{$cuota->id}}" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"{{($i + 1 == $t->month) ? ' selected="selected"' : ''}}>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="y{{$cuota->id}}" class="form-control">
|
||||
@for ($i = $t->year; $i > $t->year - 5; $i --)
|
||||
<option value="{{$i}}"{{($i == $t->year) ? ' selected="selected"' : ''}}>{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1"><a><span class="glyphicon glyphicon-ok depositar click" data-id="{{$cuota->id}}"></span></a></div>
|
||||
</div>
|
||||
</form>
|
||||
@elseif ($cuota->pago()->estado()->estado == 1)
|
||||
<?php
|
||||
$total->pagado += $cuota->pago()->valor;
|
||||
$total->pagado_uf += $cuota->pago()->valor('ufs');
|
||||
?>
|
||||
<form action="#" method="post">
|
||||
<div class="row">
|
||||
<?php $f = \Carbon\Carbon::parse($cuota->pago()->estado()->fecha, config('app.timezone')) ?>
|
||||
<div class="col-md-3"><select name="d{{$cuota->id}}" class="form-control">
|
||||
@for ($i = 0; $i < 31; $i ++)
|
||||
<option value="{{$i + 1}}"{{($i + 1 == $f->day) ? ' selected="selected"' : ''}}>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-3"><select name="m{{$cuota->id}}" class="form-control">
|
||||
@for ($i = 0; $i < 12; $i ++)
|
||||
<option value="{{$i + 1}}"{{($i + 1 == $f->month) ? ' selected="selected"' : ''}}>{{str_pad($i + 1, 2, '0', STR_PAD_LEFT)}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="y{{$cuota->id}}" class="form-control">
|
||||
@for ($i = $t->year; $i > $f->year - 5; $i --)
|
||||
<option value="{{$i}}"{{($i == $f->year) ? ' selected="selected"' : ''}}>{{$i}}</option>
|
||||
@endfor
|
||||
</select></div>
|
||||
<div class="col-md-1">
|
||||
<a><span class="glyphicon glyphicon-ok abonar click" data-id="{{$cuota->id}}"></span></a><br />
|
||||
<a><span class="glyphicon glyphicon-remove rebotar click" data-id="{{$cuota->id}}"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@else
|
||||
<?php
|
||||
$total->pagado += $cuota->pago()->valor;
|
||||
$total->pagado_uf += $cuota->pago()->valor('ufs');
|
||||
?>
|
||||
@endif
|
||||
<?php
|
||||
$total->cuotas += $cuota->pago()->valor;
|
||||
$total->cuotas_uf += $cuota->pago()->valor('ufs');
|
||||
?>
|
||||
</td>
|
||||
<td><a class="remove-cuota" data-id="{{$cuota->id}}" href="#"><span class="glyphicon glyphicon-remove"></span></a>
|
||||
</tr>
|
||||
@endforeach
|
||||
<?php
|
||||
$total->dif = $venta->pie()->valorPesos() - $total->cuotas;
|
||||
$total->dif_uf = $venta->pie()->valor - $total->cuotas_uf;
|
||||
|
||||
$valores = (object) [
|
||||
'titulo' => 'Total Pagado',
|
||||
'pesos' => $total->pagado,
|
||||
'ufs' => $total->pagado_uf
|
||||
];
|
||||
?>
|
||||
@include('ventas.pies.totales')
|
||||
<?php
|
||||
$valores->titulo = 'Por Pagar';
|
||||
$valores->pesos = $total->por_pagar;
|
||||
$valores->ufs = $total->por_pagar_uf;
|
||||
?>
|
||||
@include('ventas.pies.totales')
|
||||
<?php
|
||||
$valores->titulo = 'Total Cuotas';
|
||||
$valores->pesos = $total->cuotas;
|
||||
$valores->ufs = $total->cuotas_uf;
|
||||
?>
|
||||
@include('ventas.pies.totales')
|
||||
<?php
|
||||
$valores->titulo = 'Diferencia c/Pie';
|
||||
$valores->pesos = $total->dif;
|
||||
$valores->ufs = $total->dif_uf;
|
||||
?>
|
||||
@include('ventas.pies.totales')
|
||||
</tbody>
|
||||
</table>
|
||||
<a href="{{nUrl('informes', 'cuotas', ['venta' => $venta->id])}}">Exportar</a>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("[name^='identificador']").change(function() {
|
||||
var name = $(this).attr('name');
|
||||
var id = parseInt(name.substr('identificador'.length, name.length));
|
||||
var url = '?p=cuotas&a=edited&cuota=' + id;
|
||||
var value = $(this).val();
|
||||
|
||||
var promise = $.post(url, {"identificador": value});
|
||||
promise.done(function(data) {
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
$('.remove-cuota').click(function(e) {
|
||||
var choice = confirm('Estás seguro?');
|
||||
if (choice) {
|
||||
window.location = '{!!url('', ['p' => 'cuotas', 'a' => 'remove'])!!}&cuota=' + $(this).attr('data-id');
|
||||
}
|
||||
});
|
||||
$('.depositar').click(function(e) {
|
||||
var cuota = $(this).attr('data-id');
|
||||
|
||||
var d = $("select[name='d" + cuota + "']").val();
|
||||
var m = $("select[name='m" + cuota + "']").val();
|
||||
var y = $("select[name='y" + cuota + "']").val();
|
||||
var f = y + '-' + m + '-' + d;
|
||||
|
||||
$.post('{!!url('', ['p' => 'cuotas', 'a' => 'depositar', 'ajax' => 'true'])!!}', {'cuota': cuota, 'fecha': f}, function(data) {
|
||||
if (data == 'ok') {
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
});
|
||||
});
|
||||
$('.abonar').click(function(e) {
|
||||
var cuota = $(this).attr('data-id');
|
||||
|
||||
var d = $("select[name='d" + cuota + "']").val();
|
||||
var m = $("select[name='m" + cuota + "']").val();
|
||||
var y = $("select[name='y" + cuota + "']").val();
|
||||
var f = y + '-' + m + '-' + d;
|
||||
|
||||
$.post('{!!url('', ['p' => 'cuotas', 'a' => 'abonar', 'ajax' => 'true'])!!}', {'cuota': cuota, 'fecha': f}, function(data) {
|
||||
if (data == 'ok') {
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
});
|
||||
});
|
||||
$('.rebotar').click(function(e) {
|
||||
var cuota = $(this).attr('data-id');
|
||||
|
||||
var d = $("select[name='d" + cuota + "']").val();
|
||||
var m = $("select[name='m" + cuota + "']").val();
|
||||
var y = $("select[name='y" + cuota + "']").val();
|
||||
var f = y + '-' + m + '-' + d;
|
||||
|
||||
$.post('{!!url('', ['p' => 'cuotas', 'a' => 'rebotar', 'ajax' => 'true'])!!}', {'cuota': cuota, 'fecha': f}, function(data) {
|
||||
console.debug(data);
|
||||
if (data == 'ok') {
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
15
resources/views/ventas/pies/totales.blade.php
Normal file
15
resources/views/ventas/pies/totales.blade.php
Normal file
@ -0,0 +1,15 @@
|
||||
<tr
|
||||
@if ($valores->titulo == 'Diferencia c/Pie')
|
||||
@if ($valores->ufs > 0)
|
||||
class="danger"
|
||||
@else
|
||||
class="success"
|
||||
@endif
|
||||
@endif >
|
||||
<td></td>
|
||||
<td colspan="3"><b>{{$valores->titulo}}</b></td>
|
||||
<td class="text-right"><b>$ {{format('pesos', $valores->pesos)}}</b></td>
|
||||
<td class="text-right"><b>{{format('ufs', $valores->ufs)}} UF</b></td>
|
||||
<td class="text-center"><b>{{format('percent', $valores->ufs / $venta->valor_uf * 100)}} %</b></td>
|
||||
<td></td>
|
||||
</tr>
|
71
resources/views/ventas/postventas/add.blade.php
Normal file
71
resources/views/ventas/postventas/add.blade.php
Normal file
@ -0,0 +1,71 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Agregar Postventa</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'postventas', 'a' => 'agregar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<input type="hidden" name="observaciones" value="[]" />
|
||||
<div class="form-group" id="observaciones">
|
||||
<div class="col-md-6">Observaciones</div>
|
||||
<div class="col-md-6 text-right"><span class="glyphicon glyphicon-plus agregar" id="agregar_observacion"></span></div>
|
||||
</div>
|
||||
<div class="form-group" id="submit">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" class="form-control" value="Agregar" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var observaciones = [];
|
||||
$(document).ready(function() {
|
||||
$('#agregar_observacion').click(function(e) {
|
||||
agregarObservacion();
|
||||
});
|
||||
});
|
||||
function agregarObservacion() {
|
||||
var obs = $('#observaciones').parent();
|
||||
var submit = $('#submit');
|
||||
var n = observaciones[observaciones.length - 1] + 1;
|
||||
if (observaciones.length == 0) {
|
||||
n = 1;
|
||||
}
|
||||
observaciones[observaciones.length] = n;
|
||||
var input = $('<input/>').attr('type', 'text').attr('name', 'observacion' + n).attr('class', 'form-control');
|
||||
|
||||
submit.before(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html(n)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-9').append(
|
||||
input
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-1').append(
|
||||
$('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('data-id', n).attr('id', 'remover_observacion' + n)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$("input[name='observaciones']").val(JSON.stringify(observaciones));
|
||||
$('#remover_observacion' + n).click(function(e) {
|
||||
i = $(this).attr('data-id');
|
||||
removeObservacion(i);
|
||||
});
|
||||
}
|
||||
function removeObservacion(n) {
|
||||
var obs = $('#observaciones').parent();
|
||||
console.debug(obs.find("input[name='observacion" + n + "']"));
|
||||
obs.find("input[name='observacion" + n + "']").parent().parent().remove();
|
||||
i = observaciones.binaryIndexOf(n);
|
||||
observaciones.splice(i, 1);
|
||||
$("input[name='observaciones']").val(JSON.stringify(observaciones));
|
||||
}
|
||||
</script>
|
||||
@endpush
|
26
resources/views/ventas/postventas/show.blade.php
Normal file
26
resources/views/ventas/postventas/show.blade.php
Normal file
@ -0,0 +1,26 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Postventa - <a href="{{url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id])}}">{{$venta->unidad()->descripcion}}</a> - {{$venta->proyecto()->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-6">Estado</div>
|
||||
<div class="col-md-2">{{ucwords($postventa->estado()->tipo()->descripcion)}}</div>
|
||||
<div class="col-md-2">{{format('shortDate', $postventa->estado()->fecha)}}</div>
|
||||
<div class="col-md-1"><a href="{{url('', ['p' => 'postventas', 'a' => 'advance', 'postventa' => $postventa->id])}}"><span class="glyphicon glyphicon-chevron-right"></span></a></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">Observaciones</div>
|
||||
<div class="col-md-2">[{{count($postventa->observacionesPendientes())}} / {{count($postventa->observaciones())}}]</div>
|
||||
</div>
|
||||
@foreach ($postventa->observaciones() as $observacion)
|
||||
<div class="row">
|
||||
<div class="col-md-6">{{$observacion->texto}}</div>
|
||||
<div class="col-md-2">{{ucwords($observacion->estado()->tipo()->descripcion)}}</div>
|
||||
<div class="col-md-2">{{format('shortDate', $observacion->estado()->fecha)}}</div>
|
||||
<div class="col-md-1"><a href="{{url('', ['p' => 'observaciones', 'a' => 'advance', 'observacion' => $observacion->id])}}"><span class="glyphicon glyphicon-chevron-right"></span></a></div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endsection
|
130
resources/views/ventas/precios/add.blade.php
Normal file
130
resources/views/ventas/precios/add.blade.php
Normal file
@ -0,0 +1,130 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Agregar Precios - {{$proyecto->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('precios', 'agregar', ['proyecto' => $proyecto->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2" style="vertical-align: middle;">Tipo</th>
|
||||
<th rowspan="2">Nombre</th>
|
||||
<th rowspan="2">Abreviación</th>
|
||||
<th rowspan="2">Líneas</th>
|
||||
<th rowspan="2">m² Vendible</th>
|
||||
<th rowspan="2">#</th>
|
||||
<th colspan="2">Precio</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Anterior</th>
|
||||
<th>Nuevo</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tipo_unidades">
|
||||
@foreach ($proyecto->proyectoTipoUnidades() as $tipo)
|
||||
<tr class="show-unidades" data-status="closed" data-tipo="{{$tipo->id}}">
|
||||
<td>{{ucwords($tipo->tipo()->descripcion)}}</td>
|
||||
<td>{{$tipo->nombre}}</td>
|
||||
<td>{{$tipo->abreviacion}}</td>
|
||||
<td>{{$tipo->lineas()}}</td>
|
||||
<td>{{$tipo->m2()}}</td>
|
||||
<td>{{count($tipo->unidades())}}</td>
|
||||
<td>{{format('ufs', $tipo->precio(), true)}}</td>
|
||||
<td><input type="text" name="precio_tipo:{{$tipo->id}}" class="form-control" /></td>
|
||||
</tr>
|
||||
<tr class="unidades" data-tipo="{{$tipo->id}}">
|
||||
<td></td>
|
||||
<td colspan="7">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Descripción</th>
|
||||
<th>Piso</th>
|
||||
<th>Línea</th>
|
||||
<th>Orientación</th>
|
||||
<th colspan="2">Precio</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4"></th>
|
||||
<th>Anterior</th>
|
||||
<th>Nuevo</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $subtipo = ''; ?>
|
||||
@foreach ($tipo->unidades() as $unidad)
|
||||
@if ($subtipo != $unidad->subtipo)
|
||||
<?php $subtipo = $unidad->subtipo; ?>
|
||||
<tr data-id="{{$subtipo}}" data-status="closed" class="subtipo">
|
||||
<th colspan="4">Línea {{$subtipo}}</th>
|
||||
<th>{{format('ufs', $tipo->precioSubtipo($subtipo), true)}}</th>
|
||||
<th><input type="text" name="precio_sub:{{$tipo->id}}-{{$subtipo}}" class="form-control" /></th>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td>{{$unidad->descripcion}}</td>
|
||||
<td>{{$unidad->piso}}</td>
|
||||
<td>{{$unidad->subtipo}}</td>
|
||||
<td>{{$unidad->orientacion}}</td>
|
||||
<td>
|
||||
@if ($unidad->precio())
|
||||
{{format('ufs', $unidad->precio()->valor, true)}}
|
||||
@else
|
||||
--
|
||||
@endif
|
||||
</td>
|
||||
<td><input type="text" name="precio:{{$tipo->id}}-{{$subtipo}}-{{$unidad->id}}" class="form-control" /></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="submit">Agregar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.unidades').hide()
|
||||
$('.show-unidades').click(function(e) {
|
||||
var id = $(this).attr('data-tipo')
|
||||
var status = $(this).attr('data-status')
|
||||
if (status == 'open') {
|
||||
$(".unidades[data-tipo='" + id + "']").hide()
|
||||
$(this).attr('data-status', 'closed')
|
||||
} else {
|
||||
$(".unidades[data-tipo='" + id + "']").show()
|
||||
if ($(".unidades[data-tipo='" + id + "']").find('.subtipo').length > 0) {
|
||||
$(".unidades[data-tipo='" + id + "']").find('tbody tr').hide()
|
||||
$(".unidades[data-tipo='" + id + "']").find('.subtipo').show()
|
||||
}
|
||||
$(this).attr('data-status', 'open')
|
||||
}
|
||||
})
|
||||
$('.subtipo').click(function(e) {
|
||||
var id = $(this).attr('data-id')
|
||||
var status = $(this).attr('data-status')
|
||||
if (status == 'open') {
|
||||
$(this).nextUntil('.subtipo').hide()
|
||||
$(this).attr('data-status', 'closed')
|
||||
} else {
|
||||
$(this).nextUntil('.subtipo').show()
|
||||
$(this).attr('data-status', 'open')
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
37
resources/views/ventas/precios/import.blade.php
Normal file
37
resources/views/ventas/precios/import.blade.php
Normal file
@ -0,0 +1,37 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Importar Precios</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('precios', 'importar')}}" enctype="multipart/form-data">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Proyecto</div>
|
||||
<div class="col-md-3"><select name="proyecto" class="form-control">
|
||||
<option value="">---</option>
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<option value="{{$proyecto->id}}">{{$proyecto->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Archivo CSV *</div>
|
||||
<div class="col-md-5"><input type="file" name="archivo" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<p class="small col-md-5 col-md-offset-2">
|
||||
(*) Columnas: tipo [departamento, estacionamiento, bodega], numeracion, valor
|
||||
<br />
|
||||
<a href="{{url('precios.csv')}}">Muestra</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="submit">Importar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
134
resources/views/ventas/precios/list.blade.php
Normal file
134
resources/views/ventas/precios/list.blade.php
Normal file
@ -0,0 +1,134 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
Precios - {{$proyecto->descripcion}}
|
||||
</div>
|
||||
<div class="col-md-6 text-right"><a href="{{nUrl('precios', 'add', ['proyecto' => $proyecto->id])}}"><span class="glyphicon glyphicon-plus"></span></a></div>
|
||||
</div>
|
||||
</h3>
|
||||
</div>
|
||||
<br />
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tipo</th>
|
||||
<th>Nombre</th>
|
||||
<th>Tipología</th>
|
||||
<th>Líneas</th>
|
||||
<th>m² Vendibles</th>
|
||||
<th>#</th>
|
||||
<th>Precio Promedio</th>
|
||||
<th>UF/m²</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($proyecto->ProyectoTipoUnidades() as $tipo)
|
||||
<tr class="show-unidades" data-status="closed" data-id="{{$tipo->id}}">
|
||||
<td>{{ucwords($tipo->tipo()->descripcion)}}</td>
|
||||
<td>{{$tipo->nombre}}</td>
|
||||
<td>
|
||||
@if ($tipo->tipologia())
|
||||
{{$tipo->tipologia()->descripcion}}
|
||||
@else
|
||||
{{$tipo->abreviacion}}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{$tipo->lineas()}}</td>
|
||||
<td>{{$tipo->m2()}}</td>
|
||||
<td>{{count($tipo->unidades())}}</td>
|
||||
<td>{{format('ufs', $tipo->precio(), true)}}</td>
|
||||
<th>
|
||||
@if ($tipo->m2() > 0)
|
||||
{{format('ufs', $tipo->precio() / $tipo->m2(), true)}}/m²
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="unidades" data-tipo="{{$tipo->id}}">
|
||||
<td></td>
|
||||
<td colspan="7">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Unidad</th>
|
||||
<th>Desde</th>
|
||||
<th>Precio</th>
|
||||
<th>UF/m²</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $subtipo = ''; ?>
|
||||
@foreach ($tipo->unidades() as $unidad)
|
||||
@if ($subtipo != $unidad->subtipo)
|
||||
<?php $subtipo = $unidad->subtipo; ?>
|
||||
<tr data-id="{{$subtipo}}" data-status="closed" class="subtipo">
|
||||
<th>Línea {{$subtipo}}</th>
|
||||
<th></th>
|
||||
<th>{{format('ufs', $tipo->precioSubtipo($subtipo), null, true)}}</th>
|
||||
<th>{{format('ufs', $tipo->precioSubtipo($subtipo) / $tipo->m2(), null, true)}}/m²</th>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td>{{$unidad->descripcion}}</td>
|
||||
@if ($unidad->precio())
|
||||
<td>{{format('shortDate', $unidad->precio()->estado()->fecha)}}</td>
|
||||
<td>{{format('ufs', $unidad->precio()->valor, null, true)}}</td>
|
||||
<td>
|
||||
@if ($unidad->m2('vendible') > 0)
|
||||
{{format('ufs', $unidad->precio()->valor / $unidad->m2('vendible'), null, true)}}/m²
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
@else
|
||||
<td colspan="3">--</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.unidades').hide()
|
||||
$('.show-unidades').css('cursor', 'pointer').click(function(e) {
|
||||
var id = $(this).attr('data-id')
|
||||
var status = $(this).attr('data-status')
|
||||
if (status == 'open') {
|
||||
$(".unidades[data-tipo='" + id + "']").hide()
|
||||
$(this).attr('data-status', 'closed')
|
||||
} else {
|
||||
$(".unidades[data-tipo='" + id + "']").show()
|
||||
if ($(".unidades[data-tipo='" + id + "']").find('.subtipo').length > 0) {
|
||||
$(".unidades[data-tipo='" + id + "']").find('tbody tr').hide()
|
||||
$(".unidades[data-tipo='" + id + "']").find('.subtipo').show()
|
||||
}
|
||||
$(this).attr('data-status', 'open')
|
||||
}
|
||||
})
|
||||
$('.subtipo').css('cursor', 'pointer').click(function(e) {
|
||||
var id = $(this).attr('data-id')
|
||||
var status = $(this).attr('data-status')
|
||||
if (status == 'open') {
|
||||
$(this).nextUntil('.subtipo').hide()
|
||||
$(this).attr('data-status', 'closed')
|
||||
} else {
|
||||
$(this).nextUntil('.subtipo').show()
|
||||
$(this).attr('data-status', 'open')
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@endpush
|
14
resources/views/ventas/precios/proyectos.blade.php
Normal file
14
resources/views/ventas/precios/proyectos.blade.php
Normal file
@ -0,0 +1,14 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Precios</h3>
|
||||
</div>
|
||||
<table class="table">
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<tr>
|
||||
<td><a href="{{nUrl('precios', 'list', ['proyecto' => $proyecto->id])}}">{{$proyecto->descripcion}}</a>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endsection
|
246
resources/views/ventas/propietarios/edit.blade.php
Normal file
246
resources/views/ventas/propietarios/edit.blade.php
Normal file
@ -0,0 +1,246 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Editar Propietario</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'propietarios', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">RUT</div>
|
||||
<div class="col-md-2"><input type="text" name="rut" value="{{\App\Helper\Format::number($propietario->rut, 0)}}-{{$propietario->dv}}" class="form-control" /></div>
|
||||
<div class="col-md-2 checkbox"><label><input type="checkbox" name="empresa" /> Empresa?</label></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Nombre</div>
|
||||
<div class="col-md-3"><input type="text" name="nombres" value="{{$propietario->nombres}}" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="apellido_paterno" value="{{$propietario->apellido_paterno}}" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="apellido_materno" value="{{$propietario->apellido_materno}}" class="form-control" /></div>
|
||||
</div>
|
||||
@if ($propietario->direccion != 0)
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle" class="form-control" value="{{$propietario->direccion()->calle}}" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero" class="form-control" value="{{$propietario->direccion()->numero}}" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra" class="form-control" value="{{$propietario->direccion()->extra}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($region->id == $propietario->direccion()->comuna()->provincia()->region()->id)
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control" data-value="{{$propietario->direccion()->comuna()->id}}"></select></div>
|
||||
</div>
|
||||
@else
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Dirección</div>
|
||||
<div class="col-md-4"><input type="text" name="calle" class="form-control" /></div>
|
||||
<div class="col-md-2"><input type="text" name="numero" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="extra" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||||
@foreach ($regiones as $region)
|
||||
<option value="{{$region->id}}"
|
||||
@if ($region->numeral == 'RM')
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$region->descripcion}}</option>
|
||||
@endforeach
|
||||
</select></div>
|
||||
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
var comuna = '';
|
||||
$(document).ready(function() {
|
||||
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().next().remove();
|
||||
$(this).parent().next().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().next().remove();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data);
|
||||
|
||||
$("input[name='nombres']").val(info.nombres);
|
||||
$("input[name='apellid_paterno']").val(info.apellido_paterno);
|
||||
$("input[name='apellido_materno']").val(info.apellido_materno);
|
||||
|
||||
if (info.direccion) {
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(data) {
|
||||
var info = $.parseJSON(data);
|
||||
|
||||
$("input[name='calle']").val(info.calle);
|
||||
$("input[name='numero']").val(info.numero);
|
||||
$("input[name='extra']").val(info.extra);
|
||||
$("select[name='region']").val(info.comuna.provincia.region.id);
|
||||
changeRegion().done(function() {
|
||||
$("select[name='comuna']").val(info.comuna.id);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
$("input[name='empresa']").click(function() {
|
||||
if ($(this).is(':checked')) {
|
||||
$("input[name='apellido_paterno']").hide();
|
||||
$("input[name='apellido_materno']").hide();
|
||||
$("input[name='nombres']").parent().removeClass('col-md-3').addClass('col-md-6');
|
||||
|
||||
addRepresentante();
|
||||
} else {
|
||||
$("input[name='apellido_paterno']").show();
|
||||
$("input[name='apellido_materno']").show();
|
||||
$("input[name='nombres']").parent().removeClass('col-md-6').addClass('col-md-3');
|
||||
|
||||
removeRepresentante();
|
||||
}
|
||||
});
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='apellido_paterno']").typeahead({"source": data});
|
||||
$("input[name='apellido_materno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='calle']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
|
||||
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||||
|
||||
$("select[name='region']").change(function(e) {
|
||||
changeRegion($(this).val());
|
||||
});
|
||||
comuna = $("select[name='comuna']").attr('data-value');
|
||||
changeRegion($("select[name='region']").val());
|
||||
});
|
||||
function changeRegion(region) {
|
||||
var jq_comunas = $("select[name='comuna']");
|
||||
var region = $("select[name='region']").val();
|
||||
jq_comunas.html('');
|
||||
return $.post('{!!url('', ['p' => 'ajax', 'a' => 'comunas', 'ajax' => true])!!}', {"region": region}, function(data) {
|
||||
info = $.parseJSON(data);
|
||||
$.each(info, function(i, e) {
|
||||
var option = $('<option></option>').attr('value', e.id).html(e.descripcion);
|
||||
if (e.id == comuna) {
|
||||
option.attr('selected', 'selected');
|
||||
}
|
||||
jq_comunas.append(option);
|
||||
});
|
||||
});
|
||||
}
|
||||
function addRepresentante() {
|
||||
$("select[name='comuna']").parent().parent().after(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Nombre')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'rep_nombres').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'rep_apaterno').attr('class', 'form-control')
|
||||
)
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-3').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'rep_amaterno').attr('class', 'form-control')
|
||||
)
|
||||
)
|
||||
).after(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('RUT')
|
||||
).append(
|
||||
$('<div></div>').attr('class', 'col-md-2').append(
|
||||
$('<input/>').attr('type', 'text').attr('name', 'rep_rut').attr('class', 'form-control')
|
||||
)
|
||||
)
|
||||
).after(
|
||||
$('<div></div>').attr('class', 'form-group').append(
|
||||
$('<div></div>').attr('class', 'col-md-2').html('Representante')
|
||||
)
|
||||
);
|
||||
$("input[name='rep_rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||||
$(this).parent().next().remove();
|
||||
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||||
}).on('rutValido', function(e, rut, dv) {
|
||||
$(this).parent().next().remove();
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||||
if (data.trim() != '' || data != 'false') {
|
||||
info = $.parseJSON(data);
|
||||
|
||||
$("input[name='rep_nombres']").val(info.nombres);
|
||||
$("input[name='rep_apaterno']").val(info.apellido_paterno);
|
||||
$("input[name='rep_amaterno']").val(info.apellido_materno);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='rep_nombres']").typeahead({
|
||||
"source": data,
|
||||
"updater": function(item) {
|
||||
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||||
},
|
||||
"matcher": function (item) {
|
||||
var tquery = extractor(this.query);
|
||||
if(!tquery) return false;
|
||||
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||||
},
|
||||
"highlighter": function (item) {
|
||||
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
|
||||
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||||
$("input[name='rep_apaterno']").typeahead({"source": data});
|
||||
$("input[name='rep_amaterno']").typeahead({"source": data});
|
||||
}, 'json');
|
||||
}
|
||||
function removeRepresentante() {
|
||||
$("input[name='rep_rut']").parent().parent().next().remove();
|
||||
$("input[name='rep_rut']").parent().parent().prev().remove();
|
||||
$("input[name='rep_rut']").parent().parent().remove();
|
||||
}
|
||||
</script>
|
||||
@endpush
|
18
resources/views/ventas/proyectos.blade.php
Normal file
18
resources/views/ventas/proyectos.blade.php
Normal file
@ -0,0 +1,18 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<h3>Ventas de Proyectos</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table table-striped">
|
||||
@foreach ($proyectos as $proyecto)
|
||||
<tr>
|
||||
<td><a href="{{url('', ['p' => 'ventas', 'a' => 'list', 'proyecto' => $proyecto->id])}}">{{$proyecto->descripcion}}</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
38
resources/views/ventas/resciliaciones.blade.php
Normal file
38
resources/views/ventas/resciliaciones.blade.php
Normal file
@ -0,0 +1,38 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-12 h2">Resciliaciones [{{count($resciliaciones)}}]</div>
|
||||
</div>
|
||||
<br />
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Proyecto</th>
|
||||
<th>Departamento</th>
|
||||
<th>Fecha Promesa</th>
|
||||
<th>Fecha Resciliación</th>
|
||||
<th>UF/m²</th>
|
||||
<th>Anticipo [UF]</th>
|
||||
<th>Anticipo [$]
|
||||
<th>Devolución [UF]</th>
|
||||
<th>Devolución [$]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($resciliaciones as $resciliacion)
|
||||
<tr>
|
||||
<td>{{$resciliacion->proyecto()->descripcion}}</td>
|
||||
<td>{{$resciliacion->unidad()->descripcion}}</td>
|
||||
<td>{{format('shortDate', $resciliacion->fecha)}}</td>
|
||||
<td>{{(($resciliacion->resciliacion) ? format('shortDate', $resciliacion->resciliacion()->estado()->fecha) : '')}}</td>
|
||||
<td class="text-right">{{format('ufs', $resciliacion->uf_m2())}}</td>
|
||||
<td class="text-right">{{format('ufs', $resciliacion->anticipo())}}</td>
|
||||
<td class="text-right">{{format('pesos', $resciliacion->anticipo('pesos'))}}</td>
|
||||
<td class="text-right">{{(($resciliacion->resciliacion) ? format('ufs', $resciliacion->resciliacion()->valor('ufs')) : '')}}</td>
|
||||
<td class="text-right">{{(($resciliacion->resciliacion) ? format('pesos', $resciliacion->resciliacion()->valor('pesos')) : '')}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
287
resources/views/ventas/show.blade.php
Normal file
287
resources/views/ventas/show.blade.php
Normal file
@ -0,0 +1,287 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="row page-heading">
|
||||
<div class="col-md-6 h3">Venta - {{$venta->unidad()->descripcion}} - {{$venta->proyecto()->descripcion}}</div>
|
||||
<div class="col-md-6 text-right h3"><a href="{{url('', ['p' => 'ventas', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-edit"></span></a></div>
|
||||
</div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th>PROYECTO</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="{{url('', ['p' => 'proyectos', 'a' => 'show', 'proyecto' => $venta->proyecto()->id])}}">{{$venta->proyecto()->descripcion}}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th>PROPIETARIO</th>
|
||||
<th class="text-right"><a href="{{url('', ['p' => 'propietarios', 'a' => 'edit', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-edit"></span></a>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{\App\Helper\Format::number($venta->propietario()->rut, 0)}}-{{$venta->propietario()->dv}}</td>
|
||||
<td>{{($venta->propietario()->direccion()) ? $venta->propietario()->direccion()->completa() : ''}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{url('', ['p' => 'buscar', 'q' => urlencode('"' . $venta->propietario()->nombreCompleto() . '"')])}}">
|
||||
{{$venta->propietario()->nombreCompleto()}} <span class="small glyphicon glyphicon-search"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>{{($venta->propietario()->direccion()) ? $venta->propietario()->direccion()->comuna()->descripcion : ''}}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row small">
|
||||
@if ($venta->estado()->tipo()->activa())
|
||||
<div class="col-md-2">
|
||||
<a href="{{url('', ['p' => 'ventas', 'a' => 'desistir', 'venta' => $venta->id])}}">Desistir <span class="glyphicon glyphicon-minus"></span></a>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<a href="{{url('', ['p' => 'ventas', 'a' => 'ceder', 'venta' => $venta->id])}}">Ceder <span class="glyphicon glyphicon-chevron-right"></span></a>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-md-2">
|
||||
@if (!$venta->estado()->tipo()->activa() and $venta->estado()->tipo()->descripcion == 'desistida')
|
||||
Desistida <span class="glyphicon glyphicon-ban-circle"></span>
|
||||
@if ($venta->resciliacion != null)
|
||||
(<a href="{{url('', ['p' => 'pagos', 'a' => 'show', 'pago' => $venta->resciliacion, 'asociado' => 'venta', 'venta' => $venta->id])}}">$ {{format('pesos', $venta->resciliacion()->valor)}}</a>)
|
||||
@endif
|
||||
@elseif (!$venta->estado()->tipo()->activa() and $venta->estado()->tipo()->descripcion == 'cedida')
|
||||
Cedida <span class="glyphicon glyphicon-share-alt"></span>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th colspan="7">PROPIEDAD</th>
|
||||
</tr>
|
||||
<tr class="subsection-heading">
|
||||
<th colspan="2">Unidad</th>
|
||||
<th>Piso</th>
|
||||
<th>Metros Vendibles</th>
|
||||
<th class="text-right">Valor Base</th>
|
||||
<th>UF/m²</th>
|
||||
<th>Orientación</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ucwords($venta->unidad()->tipo()->descripcion)}} {{$venta->unidad()->tipologia()->tipologia()->descripcion}}</td>
|
||||
<td>{{$venta->unidad()->descripcion}}</td>
|
||||
<td>{{$venta->unidad()->piso}}</td>
|
||||
<td>{{\App\Helper\Format::number($venta->unidad()->m2(), 2)}} m²</td>
|
||||
<td class="text-right">
|
||||
@if ($venta->unidad()->precio($venta->fecha()))
|
||||
{{format('ufs', $venta->unidad()->precio($venta->fecha())->valor)}} UF
|
||||
@else
|
||||
{{format('ufs', $venta->unidad()->valor)}} UF
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($venta->unidad()->precio($venta->fecha()))
|
||||
{{format('ufs', $venta->unidad()->precio($venta->fecha())->valor / $venta->unidad()->m2(), null, true)}}/m²
|
||||
@else
|
||||
{{format('ufs', $venta->unidad()->valor / $venta->unidad()->m2(), null, true)}}/m²
|
||||
@endif
|
||||
</td>
|
||||
<td>{{$venta->unidad()->orientacion}}</td>
|
||||
</tr>
|
||||
@foreach ($venta->propiedad()->unidades() as $unidad)
|
||||
@if ($unidad->unidad()->id == $venta->unidad()->id)
|
||||
@continue
|
||||
@endif
|
||||
<tr>
|
||||
<td>
|
||||
{{ucwords($unidad->unidad()->tipo()->descripcion)}}
|
||||
@if ($unidad->unidad()->tipo()->descripcion == 'departamento')
|
||||
{{$unidad->unidad()->tipologia()->tipologia()->descripcion}}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{$unidad->unidad()->descripcion}}</td>
|
||||
<td>{{$unidad->unidad()->piso}}</td>
|
||||
<td>
|
||||
@if ($unidad->unidad()->tipo()->descripcion == 'departamento')
|
||||
{{\App\Helper\Format::number($unidad->unidad()->m2(), 2)}} m²
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-right">
|
||||
@if ($unidad->unidad()->precio($venta->fecha()))
|
||||
{{format('ufs', $unidad->unidad()->precio($venta->fecha())->valor, null, true)}}
|
||||
@else
|
||||
{{format('ufs', $unidad->unidad()->valor, null, true)}}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($unidad->unidad()->tipo()->descripcion == 'departamento')
|
||||
@if ($unidad->unidad()->precio($venta->fecha()))
|
||||
{{format('ufs', $unidad->unidad()->precio($venta->fecha())->valor / $unidad->unidad()->m2(), null, true)}}/m²
|
||||
@else
|
||||
{{format('ufs', $unidad->unidad()->valor / $unidad->unidad()->m2(), null, true)}}/m²
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($unidad->unidad()->tipo()->descripcion == 'departamento')
|
||||
{{$unidad->unidad()->orientacion}}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
<tr>
|
||||
<td colspan="4"><b>Total</b></td>
|
||||
<td class="text-right">
|
||||
<b>
|
||||
{{format('ufs', $venta->valorUnidades(), null, true)}}
|
||||
</b>
|
||||
</td>
|
||||
<td>
|
||||
<b>
|
||||
{{format('ufs', $venta->valorDepartamentos() / $venta->superficie(), null, true)}}/m²
|
||||
</b>
|
||||
</td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th colspan="5">VENTA</th>
|
||||
</tr>
|
||||
<tr class="subsection-heading">
|
||||
<th>Valor Total</th>
|
||||
<th>Valor Util</th>
|
||||
<th>UF/m²</th>
|
||||
<th>Operador</th>
|
||||
<th>Fecha Promesa<br />Fecha Ingreso</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{format('ufs', $venta->valor_uf)}} UF</td>
|
||||
<td>{{format('ufs', $venta->valorFinal())}} UF</td>
|
||||
<td>{{format('ufs', $venta->uf_m2(), null, true)}}/m²</td>
|
||||
<td>{{format('ufs', $venta->valorComision())}} UF ({{\App\Helper\Format::number($venta->comision() * 100, 2)}}%)
|
||||
@if ($venta->agente != 0)
|
||||
<br />
|
||||
{{$venta->agente()->agente()->agente()->descripcion}}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{format('shortDate', $venta->fecha)}}<br />{{format('shortDate', $venta->fecha_ingreso)}}</td>
|
||||
</tr>
|
||||
@if (count($venta->promociones()) > 0)
|
||||
@foreach ($venta->promociones() as $promo)
|
||||
<tr>
|
||||
<td>{{$promo->promocion()->descripcion}}</td>
|
||||
<td>{{format('ufs', $promo->valor, null, true)}}</td>
|
||||
<td colspan="3"></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
@include('ventas.forma_pago')
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th>ESCRITURA</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
@if ($venta->escriturado == 0)
|
||||
<a href="{{url('', ['p' => 'escrituras', 'a' => 'add', 'venta' => $venta->id])}}">Escriturar <span class="small glyphicon glyphicon-chevron-right"></span></a>
|
||||
@elseif ($venta->estado()->tipo()->activa())
|
||||
Escriturado {{format('shortDate', $venta->estado('escriturando')->fecha)}} <a href="{{url('', ['p' => 'escrituras', 'a' => 'informe', 'venta' => $venta->id])}}">Informe <span class="small glyphicon glyphicon-chevron-right"></span></a>
|
||||
@if ($venta->estado()->tipo()->descripcion == 'escriturando')
|
||||
<br /><a href="{{nUrl('ventas', 'firmar', ['venta' => $venta->id])}}">Firmar</a>
|
||||
@elseif ($venta->estado()->tipo()->descripcion == 'firmado por inmobiliaria')
|
||||
<br />Firmado {{format('shortDate', $venta->estado('firmado por inmobiliaria')->fecha)}}
|
||||
<br /><a href="{{nUrl('ventas', 'archivar', ['venta' => $venta->id])}}">Archivar</a>
|
||||
@elseif ($venta->estado()->tipo()->descripcion == 'archivado')
|
||||
<br />Archivado {{format('shortDate', $venta->estado('archivado')->fecha)}}
|
||||
@endif
|
||||
@if ($venta->saldo() / $venta->valor_uf > 0.01)
|
||||
<br />Devolver: $ {{format('pesos', $venta->saldo('pesos'))}} ({{format('ufs', $venta->saldo())}} UF)
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th>
|
||||
@if ($venta->entregado == 0)
|
||||
ENTREGA
|
||||
@else
|
||||
ENTREGADO
|
||||
@endif
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
@if ($venta->entregado == 0)
|
||||
<a href="{{url('', ['p' => 'ventas', 'a' => 'entregar', 'venta' => $venta->id])}}">No <span class="glyphicon glyphicon-chevron-right"></span></a>
|
||||
@else
|
||||
<a href="{{url('', ['p' => 'entregas', 'a' => 'add', 'venta' => $venta->id])}}">Agregar observaciones de entrega.</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@if ($venta->entregado != 0)
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th>POSTVENTA</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="{{url('', ['p' => 'postventas', 'a' => 'add', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-plus"></span></a>
|
||||
</tr>
|
||||
@if ($venta->postventas() != null)
|
||||
@foreach ($venta->postventas() as $postventa)
|
||||
<tr>
|
||||
<td><a href="{{url('', ['p' => 'postventas', 'a' => 'show', 'postventa' => $postventa->id])}}">({{format('shortDate', $postventa->estado()->fecha)}}) [{{count($postventa->observacionesPendientes())}} / {{count($postventa->observaciones())}}]</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="section-heading">
|
||||
<th colspan="2">COMENTARIOS</th>
|
||||
<th class="text-right"><a href="{{url('', ['p' => 'comentarios', 'a' => 'add', 'venta' => $venta->id])}}"><span class="glyphicon glyphicon-plus"></span></a>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($venta->comentarios() as $comentario)
|
||||
@if ($comentario->estado == 1)
|
||||
<tr>
|
||||
<td>{{format('shortDate', $comentario->fecha)}}</td>
|
||||
<td>{{$comentario->texto}}</td>
|
||||
<td><a href="{{nUrl('comentarios', 'delete', ['comentario' => $comentario->id])}}"><span class="glyphicon glyphicon-minus"></span></a></td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endsection
|
24
resources/views/ventas/sort_title.blade.php
Normal file
24
resources/views/ventas/sort_title.blade.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
$name = str_replace(['[', ']', ' ', '²', '/'], ['', '', '_', '2', '_'], strtolower($title));
|
||||
$url_base = ['p' => 'ventas', 'a' => 'list', 'proyecto' => $proyecto->id, 'sort' => $name];
|
||||
if (get('sort') == $name or (get('sort') == null and $name == 'departamento')) {
|
||||
if (get('sort_dir')) {
|
||||
$url_base['sort_dir'] = get('sort_dir');
|
||||
} else {
|
||||
$url_base['sort_dir'] = 1;
|
||||
}
|
||||
$url_base['sort_dir'] *= -1;
|
||||
}
|
||||
?>
|
||||
<a href="{{url('', $url_base)}}">
|
||||
{{$title}}
|
||||
@if (get('sort') == $name or (get('sort') == null and $name == 'departamento'))
|
||||
@if (get('sort_dir') == 1 or get('sort_dir') == null)
|
||||
<span class="caret"></span>
|
||||
@else
|
||||
<span class="dropup">
|
||||
<span class="caret"></span>
|
||||
</span>
|
||||
@endif
|
||||
@endif
|
||||
</a>
|
23
resources/views/ventas/subsidios/abonar.blade.php
Normal file
23
resources/views/ventas/subsidios/abonar.blade.php
Normal file
@ -0,0 +1,23 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Abonar Subsidio - {{$venta->proyecto()->descripcion}} - {{$venta->unidad()->descripcion}} - {{ucwords(get('tipo'))}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('subsidios', 'do_abonar', ['venta' => $venta->id])}}">
|
||||
<input type="hidden" name="tipo" value="{{get('tipo')}}" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($pago->fecha, config('app.timezone')); ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" value="{{$pago->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="submit">Abonar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
32
resources/views/ventas/subsidios/add.blade.php
Normal file
32
resources/views/ventas/subsidios/add.blade.php
Normal file
@ -0,0 +1,32 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Agregar Subsidio - {{$venta->proyecto()->descripcion}} - {{$venta->unidad()->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{nUrl('subsidios', 'do_add', ['venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->fecha, config('app.timezone')); ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-offset-2 col-md-3 text-center"><b>$</b></div>
|
||||
<div class="col-md-3 text-center"><b>UF</b></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Subsidio</div>
|
||||
<div class="col-md-3"><input type="text" name="subsidio" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="subsidio_uf" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Ahorro</div>
|
||||
<div class="col-md-3"><input type="text" name="ahorro" class="form-control" /></div>
|
||||
<div class="col-md-3"><input type="text" name="ahorro_uf" class="form-control" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button type="submit" class="form-control">Agregar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
32
resources/views/ventas/subsidios/edit.blade.php
Normal file
32
resources/views/ventas/subsidios/edit.blade.php
Normal file
@ -0,0 +1,32 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Subsidio - {{$venta->proyecto()->descripcion}} - {{$venta->unidad()->descripcion}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form method="post" class="form-horizontal" action="{{nUrl('subsidios', 'do_edit', ['venta' => $venta->id])}}">
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($venta->subsidio()->pago()->fecha, config('app.timezone')); ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-offset-2 col-md-3 text-center"><b>$</b></div>
|
||||
<div class="col-md-3 text-center"><b>UF</b></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Subsidio</div>
|
||||
<div class="col-md-3"><input type="text" name="subsidio" class="form-control" value="{{round($venta->subsidio()->subsidio()->valor(), 0)}}" /></div>
|
||||
<div class="col-md-3"><input type="text" name="subsidio_uf" class="form-control" value="{{round($venta->subsidio()->subsidio()->valor('ufs'), 2)}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Ahorro</div>
|
||||
<div class="col-md-3"><input type="text" name="ahorro" class="form-control" value="{{round($venta->subsidio()->pago()->valor(), 0)}}" /></div>
|
||||
<div class="col-md-3"><input type="text" name="ahorro_uf" class="form-control" value="{{round($venta->subsidio()->pago()->valor('ufs'), 2)}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button type="submit" class="form-control">Editar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
23
resources/views/ventas/subsidios/pagar.blade.php
Normal file
23
resources/views/ventas/subsidios/pagar.blade.php
Normal file
@ -0,0 +1,23 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('content')
|
||||
<div class="page-heading">
|
||||
<h3>Pagar Subsidio - {{$venta->proyecto()->descripcion}} - {{$venta->unidad()->descripcion}} - {{ucwords(get('tipo'))}}</h3>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-horizontal" method="post" action="{{nUrl('subsidios', 'do_pagar', ['venta' => $venta->id])}}">
|
||||
<input type="hidden" name="tipo" value="{{get('tipo')}}" />
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Fecha</div>
|
||||
<?php $f = \Carbon\Carbon::parse($pago->fecha, config('app.timezone')); ?>
|
||||
@include('form.fecha')
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-2">Valor</div>
|
||||
<div class="col-md-3"><input type="text" name="valor" class="form-control" value="{{$pago->valor}}" /></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="submit">Pagar</button></div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
Reference in New Issue
Block a user