Resources

This commit is contained in:
2021-03-25 21:20:49 -03:00
parent cdf3ce9c21
commit 15e1eecc76
213 changed files with 19218 additions and 0 deletions

View 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&oacute;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&eacute;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&aacute;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&eacute;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&eacute;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

View 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

View 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

View 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&oacute;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&aacute;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

View 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&eacute;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&oacute;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&eacute;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&oacute;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&aacute;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&eacute;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&eacute;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

View 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&oacute;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&eacute;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&oacute;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&aacute;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&eacute;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&eacute;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

View 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&#0178;')
).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&oacute;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('&nbsp;')
)
)
}
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&#0178;')
).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&#0178;')
).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

View 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&#0178;)
</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&#0178;)
</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&#0178;)
</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

View 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&#0178;</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&#0178;</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&#0178;</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&#0178;
@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

View 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

View 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>

View File

@ -0,0 +1,13 @@
@extends('layout.base')
@section('content')
<h2>Consolidaci&oacute;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

View File

@ -0,0 +1,60 @@
@extends('layout.base')
@section('content')
<h2>Consolidaci&oacute;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

View File

@ -0,0 +1,31 @@
@extends('layout.base')
@section('content')
<div class="panel panel-default">
<div class="panel-heading">Abonar Cr&eacute;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&eacute;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

View 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

View 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

View File

@ -0,0 +1,31 @@
@extends('layout.base')
@section('content')
<div class="panel panel-default">
<div class="panel-heading">Pagar Cr&eacute;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&eacute;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

View File

@ -0,0 +1,35 @@
@extends('layout.base')
@section('content')
<div class="row page-heading">
<div class="col-md-12 h2">Cr&eacute;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

View 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&eacute;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

View 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&oacute;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

View 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&oacute;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

View 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&oacute;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&eacute;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&aacute;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&eacute;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&eacute;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

View 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

View 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

View 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&eacute;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&eacute;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

View 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

View 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&Eacute;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

View 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

View 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

View 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&eacute;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&eacute;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&oacute;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&oacute;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>

View 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&eacute;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])}}">&check;</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])}}">&check;</a>
@elseif ($venta->escritura()->pago()->estado()->estado == 0)
<a href="{{url('', ['p' => 'escrituras', 'a' => 'depositar', 'venta' => $venta->id])}}">&check;</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])}}">&check;</a>
@endif
</td>
</tr>
@endif
@if ($venta->credito != 0)
<tr>
<td>Cr&eacute;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])}}">&check;</a>
@elseif ($venta->credito()->pago()->estado()->estado < 2)
<a href="{{url('', ['p' => 'creditos', 'a' => 'abonar', 'venta' => $venta->id])}}">&check;</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&eacute;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 */ ?>

View 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&#0178;)</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

View File

@ -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&uacute;mero</th>
<th>Tipolog&iacute;a</th>
<th>m&#0178;</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

View 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&uacute;mero</th>
<th>Tipolog&iacute;a</th>
<th>m&#0178; Vendible</th>
<th>Fecha</th>
<th>Precio Lista</th>
<th>UF/m&#0178;</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

View 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

View File

@ -0,0 +1,268 @@
@extends('layout.base')
@section('content')
<h2>Pagos Pendientes</h2>
<div class="row">
<div class="col-md-2">Hist&oacute;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

View 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

View 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&aacute;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&aacute;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&oacute;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}}">&check;</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

View 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

View 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

View 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

View 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&iacute;a</th>
<th>Cuota</th>
<th><button onclick="javascript: pagarTodos();">&check;</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}})">&check;</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

View 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&uacute;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

View 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

View 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

View 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

View 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

View 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

View 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

View 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>

View 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

View 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

View 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&oacute;n</th>
<th rowspan="2">L&iacute;neas</th>
<th rowspan="2">m&#0178; 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&oacute;n</th>
<th>Piso</th>
<th>L&iacute;nea</th>
<th>Orientaci&oacute;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&iacute;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

View 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

View 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&iacute;a</th>
<th>L&iacute;neas</th>
<th>m&#0178; Vendibles</th>
<th>#</th>
<th>Precio Promedio</th>
<th>UF/m&#0178;</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&#0178;
@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&#0178;</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&iacute;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&#0178;</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&#0178;
@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

View 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

View 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&oacute;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&oacute;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&aacute;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&aacute;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

View 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

View 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&oacute;n</th>
<th>UF/m&#0178;</th>
<th>Anticipo [UF]</th>
<th>Anticipo [$]
<th>Devoluci&oacute;n [UF]</th>
<th>Devoluci&oacute;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

View 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&#0178;</th>
<th>Orientaci&oacute;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&#0178;</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&#0178;
@else
{{format('ufs', $venta->unidad()->valor / $venta->unidad()->m2(), null, true)}}/m&#0178;
@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&#0178;
@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&#0178;
@else
{{format('ufs', $unidad->unidad()->valor / $unidad->unidad()->m2(), null, true)}}/m&#0178;
@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&#0178;
</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&#0178;</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&#0178;</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

View 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>

View 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

View 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

View 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

View 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