This commit is contained in:
2020-12-01 17:23:13 -03:00
parent 09e8c226bb
commit 9852a8cbdc
274 changed files with 24706 additions and 0 deletions

View File

@ -0,0 +1,110 @@
@extends('layout.base')
@section('content')
<div class="row page-heading">
<h3>Agregar Unidades - <a href="{{nUrl('proyectos', 'list_unidades', ['proyecto' => $tipo->proyecto()->id])}}">{{$tipo->proyecto()->descripcion}}</a> - {{$tipo->nombre}}</h3>
</div>
<br />
<div class="row">
<div class="col-md-2">Tipo</div>
<div class="col-md-3">{{$tipo->nombre}}</div>
<div class="col-md-2">
@if ($tipo->tipologia())
{{$tipo->tipologia()->descripcion}}
@else
{{$tipo->abreviacion}}
@endif
</div>
<div class="col-md-2">{{format('m2', $tipo->m2())}} m&#0178;</div>
</div>
<br />
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'unidades', 'a' => 'agregar', 'tipo' => $tipo->id])}}">
<div class="form-group">
<div class="col-md-2">Total Departamentos por Piso</div>
<div class="col-md-1"><input type="text" name="total" maxlength="2" class="form-control" /></div>
<div class="col-md-offset-7 col-md-1 text-right"><span class="glyphicon glyphicon-plus agregar" id="agregar_unidad"></span></div>
<div class="col-md-1"><input type="text" size="3" maxlength="3" id="unis" value="1" class="form-control" /></div>
<input type="hidden" name="unidades" value="[1]" />
</div>
<div class="form-group" id="primero">
<div class="col-md-2">L&iacute;nea</div>
<div class="col-md-1"><input type="text" name="linea1" maxlength="2" class="form-control" /></div>
<div class="col-md-2">Orientaci&oacute;n</div>
<div class="col-md-2">
<?php $orientaciones = ['N', 'NO', 'O', 'SO', 'S', 'SP', 'P', 'NP'] ?>
<select name="orientacion1" class="form-control">
@foreach ($orientaciones as $orientacion)
<option value="{{$orientacion}}">{{$orientacion}}</option>
@endforeach
</select>
</div>
<div class="col-md-2">Pisos</div>
<div class="col-md-1"><input type="text" name="piso_ini1" maxlength="3" class="form-control" /></div>
<div class="col-md-1"><input type="text" name="piso_end1" maxlength="3" class="form-control" /></div>
</div>
<div id="unidades"></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>
@endsection
@push('scripts')
<script type="text/javascript">
var unidades = [1];
$(document).ready(function() {
$('#agregar_unidad').click(function(e) {
var cnt = $('#unis').val();
for (var i = 0; i < cnt; i ++) {
addUnidad();
}
});
});
function addUnidad() {
var n = unidades[unidades.length - 1] + 1;
if (unidades.length == 0) {
n = 1
}
unidades[unidades.length] = n;
var orientaciones = $('<select></select>').attr('name', 'orientacion' + n).attr('class', 'form-control')
@foreach ($orientaciones as $orientacion)
orientaciones.append($('<option></option>').attr('value', '{{$orientacion}}').html('{{$orientacion}}'))
@endforeach
$('#unidades').append(
$('<div></div>').attr('class', 'form-group').append(
$('<div></div>').attr('class', 'col-md-2').html('L&iacute;nea')
).append(
$('<div></div>').attr('class', 'col-md-1').append($('<input/>').attr('type', 'text').attr('name', 'linea' + n).attr('maxlength', 2).attr('class', 'form-control'))
).append(
$('<div></div>').attr('class', 'col-md-2').html('Orientaci&oacute;n')
).append(
$('<div></div>').attr('class', 'col-md-2').append(orientaciones)
).append(
$('<div></div>').attr('class', 'col-md-2').html('Pisos')
).append(
$('<div></div>').attr('class', 'col-md-1').append($('<input/>').attr('type', 'text').attr('name', 'piso_ini' + n).attr('maxlength', 3).attr('class', 'form-control'))
).append(
$('<div></div>').attr('class', 'col-md-1').append($('<input/>').attr('type', 'text').attr('name', 'piso_end' + n).attr('maxlength', 3).attr('class', 'form-control'))
).append(
$('<div></div>').attr('class', 'col-md-1').append($('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remover_unidad' + n).attr('data-id', 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("input[name='linea" + n + "']").parent().parent().next().remove();
unis.find("input[name='linea" + n + "']").parent().parent().remove();
i = unidades.binaryIndexOf(n);
unidades.splice(i, 1);
$("input[name='unidades']").val(JSON.stringify(unidades));
}
</script>
@endpush

View File

@ -0,0 +1,86 @@
@extends('layout.base')
@section('content')
<div class="row page-heading">
<h3>Agregar Unidades - <a href="{{nUrl('proyectos', 'list_unidades', ['proyecto' => $tipo->proyecto()->id])}}">{{$tipo->proyecto()->descripcion}}</a> - {{$tipo->nombre}}</h3>
</div>
<br />
<div class="row">
<div class="col-md-2">Tipo</div>
<div class="col-md-3">{{$tipo->nombre}}</div>
<div class="col-md-2">{{$tipo->abreviacion}}</div>
<div class="col-md-2">{{format('m2', $tipo->m2())}} m&#0178;</div>
</div>
<br />
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'unidades', 'a' => 'agregar', 'tipo' => $tipo->id])}}">
<div class="form-group">
<div class="col-md-2">Unidades</div>
<div class="col-md-1" id="n_unidades"></div>
<div class="col-md-offset-7 col-md-1 text-right"><span class="glyphicon glyphicon-plus agregar" id="agregar_unidad"></span></div>
<div class="col-md-1"><input type="text" size="3" maxlength="3" id="unis" value="1" class="form-control" /></div>
<input type="hidden" name="unidades" value="[1]" />
</div>
<div class="form-group" id="primero">
<div class="col-md-2">Descripci&oacute;n</div>
<div class="col-md-2"><input type="text" name="descripcion1" class="form-control" /></div>
<div class="col-md-2">Piso</div>
<div class="col-md-1"><input type="text" name="piso1" maxlength="3" class="form-control" /></div>
</div>
<div id="unidades"></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>
@endsection
@push('scripts')
<script type="text/javascript">
var unidades = [1];
$(document).ready(function() {
$('#agregar_unidad').click(function(e) {
var cnt = $('#unis').val();
for (var i = 0; i < cnt; i ++) {
addUnidad();
}
});
$('#n_unidades').html(unidades.length)
});
function addUnidad() {
var n = unidades[unidades.length - 1] + 1;
if (unidades.length == 0) {
n = 1
}
unidades[unidades.length] = n;
$('#n_unidades').html(unidades.length)
$('#unidades').append(
$('<div></div>').attr('class', 'form-group').append(
$('<div></div>').attr('class', 'col-md-2').html('Descripci&oacute;n')
).append(
$('<div></div>').attr('class', 'col-md-2').append($('<input/>').attr('type', 'text').attr('name', 'descripcion' + n).attr('class', 'form-control'))
).append(
$('<div></div>').attr('class', 'col-md-2').html('Piso')
).append(
$('<div></div>').attr('class', 'col-md-1').append($('<input/>').attr('type', 'text').attr('name', 'piso' + n).attr('maxlength', 3).attr('class', 'form-control'))
).append(
$('<div></div>').attr('class', 'col-md-1').append($('<span></span>').attr('class', 'glyphicon glyphicon-minus remover').attr('id', 'remover_unidad' + n).attr('data-id', 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("input[name='descripcion" + n + "']").parent().parent().next().remove();
unis.find("input[name='descripcion" + n + "']").parent().parent().remove();
i = unidades.binaryIndexOf(n);
unidades.splice(i, 1);
$('#n_unidades').html(unidades.length)
$("input[name='unidades']").val(JSON.stringify(unidades));
}
</script>
@endpush

View File

@ -0,0 +1,38 @@
@extends('layout.base')
@section('content')
<div class="row page-heading">
<h2>Asignar Tipo a Unidades - <a href="{{nUrl('proyectos', 'list_unidades', ['proyecto', $proyecto->id])}}">{{$proyecto->descripcion}}</a></h2>
</div>
<form class="form-horizontal" method="post" action="{{nUrl('proyecto_tipo_unidades', 'asignar', ['proyecto' => $proyecto->id])}}">
<table class="table">
<thead>
<tr>
<th>Unidad</th>
<th>Tipo</th>
<th>PT</th>
</tr>
</thead>
<tbody>
@foreach ($libres as $unidad)
<tr>
<td>{{$unidad->descripcion}}</td>
<td>{{$unidad->tipo()->descripcion}}</td>
<td><select name="tipo{{$unidad->id}}" class="form-control">
<option value="0">---</option>
@foreach ($tipos as $tipo)
<option value="{{$tipo->id}}"
@if ($tipo->tipo == $unidad->tipo)
selected="selected"
@endif
>{{$tipo->descripcion}}</option>
@endforeach
</select></td>
@endforeach
</tbody>
</table>
<div class="form-group">
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="submit">Asignar</button></div>
</div>
</form>
@endsection

View File

@ -0,0 +1,52 @@
@extends('layout.base')
@section('content')
<div class="page-heading">
<h2>Editar Unidad - <a href="{{nUrl('proyectos', 'list_unidades', ['proyecto' => $unidad->proyecto()->id])}}">{{$unidad->proyecto()->descripcion}}</a> - {{$unidad->descripcion}}</h2>
</div>
<br />
<form class="form-horizontal" method="post" action="{{nUrl('unidades', 'editar', ['unidad' => $unidad->id])}}">
<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 ($tipo->id == $unidad->pt)
selected="selected"
@endif
>{{ucwords($tipo->tipo()->descripcion)}} {{$tipo->abreviacion}}</option>
@endforeach
</select></div>
</div>
<div class="form-group">
<div class="col-md-2">Descripci&oacute;n</div>
<div class="col-md-3"><input name="descripcion" type="text" class="form-control" value="{{$unidad->descripcion}}" /></div>
</div>
<div class="form-group">
<div class="col-md-2">Piso</div>
<div class="col-md-2"><input type="text" name="piso" class="form-control" value="{{$unidad->piso}}" /></div>
<div class="col-md-2">L&iacute;nea</div>
<div class="col-md-2"><input type="text" name="linea" class="form-control" value="{{$unidad->subtipo}}" /></div>
</div>
<div class="form-group">
<div class="col-md-2">Orientaci&oacute;n</div>
<div class="col-md-3"><select name="orientacion" class="form-control">
<option value=""
@if ("" == $unidad->orientacion)
selected="selected"
@endif
>---</option>
@foreach ($orientaciones as $orientacion)
<option value="{{$orientacion->abreviacion}}"
@if ($orientacion->abreviacion == $unidad->orientacion)
selected="selected"
@endif
>{{$orientacion->descripcion}}</option>
@endforeach
</select></div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-2"><button class="form-control" type="submit">Editar</button></div>
</div>
</form>
@endsection

View File

@ -0,0 +1,197 @@
@extends('layout.base')
@section('content')
<?php $cnt = []; $pisos = [] ?>
<div class="page-heading">
<h2>Unidades - <a href="{{nUrl('proyectos', 'show', ['proyecto' => $proyecto->id])}}">{{$proyecto->descripcion}}</a></h2>
</div>
<table class="table table-striped">
<thead>
<tr>
<th>Tipo</th>
<th>Nombre</th>
<th>Abreviaci&oacute;n</th>
<th>L&iacute;neas</th>
<th>m&#0178; &Uacute;til</th>
<th>m&#0178; Terraza</th>
<th>m&#0178; Vendible</th>
<th>m&#0178; Total</th>
<th>Descripci&oacute;n</th>
<th>#</th>
<th><a href="{{nUrl('proyectos', 'add_tipo_unidad', ['proyecto' => $proyecto->id])}}"><span class="glyphicon glyphicon-plus"></span></a></th>
</tr>
</thead>
<tbody>
@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>
@if ($tipo->tipologia())
{{$tipo->tipologia()->descripcion}}
@else
{{$tipo->abreviacion}}
@endif
</td>
<td>{{$tipo->lineas()}}</td>
<td>{{format('m2', $tipo->m2 + $tipo->logia)}}</td>
<td>{{format('m2', $tipo->terraza)}}</td>
<td>{{format('m2', $tipo->m2())}}</td>
<td>{{format('m2', $tipo->m2('total'))}}</td>
<td>
@if ($tipo->tipologia())
{{$tipo->tipologia()->detalle}}
@else
{{$tipo->descripcion}}
@endif
</td>
<td>{{count($tipo->unidades())}}</td>
<td><a href="{{nUrl('proyecto_tipo_unidades', 'edit', ['tipo_unidad' => $tipo->id])}}"><span class="glyphicon glyphicon-edit"></span></a></td>
</tr>
<tr class="unidades" data-tipo="{{$tipo->id}}">
<td></td>
<td colspan="8">
<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 class="text-right">
<a href="{{nUrl('proyecto_tipo_unidades', 'add_unidad', ['tipo_unidad' => $tipo->id])}}">
<span class="glyphicon glyphicon-plus"></span>
</a>
</th>
</tr>
</thead>
<tbody>
<?php $subtipo = '' ?>
@foreach ($tipo->unidades() as $unidad)
@if ($subtipo != $unidad->subtipo)
<?php $subtipo = $unidad->subtipo; $cnt[$tipo->nombre."-".$subtipo] = 0; $pisos[$tipo->nombre."-".$subtipo] = [] ?>
<tr data-id="{{$tipo->nombre}}-{{$subtipo}}" data-status="closed" class="subtipo">
<th>L&iacute;nea {{$subtipo}}</th>
<th class="pisos_subtipo" data-subtipo="{{$tipo->nombre}}-{{$subtipo}}"></th>
<th>{{$subtipo}}</th>
<th>{{$unidad->orientacion}}</th>
<th class="cantidad_subtipo" data-subtipo="{{$tipo->nombre}}-{{$subtipo}}"></th>
</tr>
@endif
<tr>
<td>{{$unidad->descripcion}}</td>
<td>{{$unidad->piso}}</td>
<td>{{$unidad->subtipo}}</td>
<td>{{$unidad->orientacion}}</td>
<td class="text-right">
<a href="{{nUrl('unidades', 'edit', ['unidad' => $unidad->id])}}"><span class="glyphicon glyphicon-edit"></span></a>
<a href="{{nUrl('unidades', 'remove', ['unidad' => $unidad->id, 'proyecto' => $proyecto->id])}}"><span class="glyphicon glyphicon-remove"></span></a>
</td>
</tr>
<?php
if ($subtipo != '') {
$cnt[$tipo->nombre."-".$subtipo] ++;
$pisos[$tipo->nombre."-".$subtipo] []= $unidad->piso;
}
?>
@endforeach
</tbody>
</table>
</td>
</tr>
@endforeach
@if (count($libres) > 0)
<tr class="show-unidades" data-status="closed" data-tipo="libres">
<td>Libres</td>
<td colspan="5"></td>
<td><a href="{{nUrl('proyecto_tipo_unidades', 'assign', ['proyecto' => $proyecto->id])}}"><span class="glyphicon glyphicon-chevron-right"></span></a></td>
</tr>
<tr class="unidades" data-tipo="libres">
<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>Valor</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach ($libres as $unidad)
<tr>
<td>{{$unidad->descripcion}}</td>
<td>{{$unidad->piso}}</td>
<td>{{$unidad->subtipo}}</td>
<td>{{$unidad->orientacion}}</td>
<td>{{format('ufs', $unidad->valor, null, true)}}</td>
<td>
<a href="{{nUrl('unidades', 'edit', ['unidad' => $unidad->id])}}"><span class="glyphicon glyphicon-edit"></span></a>
<a href="{{nUrl('unidades', 'remove', ['unidad' => $unidad->id, 'proyecto' => $proyecto->id])}}"><span class="glyphicon glyphicon-remove"></span></a>
</td>
</tr>
@endforeach
</tbody>
</table>
</td>
</tr>
@endif
</tbody>
</table>
@endsection
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
var cnt = {
@foreach ($cnt as $subtipo => $c)
"{{$subtipo}}": {{$c}},
@endforeach
}
var pisos = {
@foreach ($pisos as $subtipo => $piso)
"{{$subtipo}}": "{{min($piso)}} - {{max($piso)}}",
@endforeach
}
console.debug(pisos)
$('.unidades').hide()
$('.cantidad_subtipo').each(function(i, el) {
var id = $(this).attr('data-subtipo')
$(this).html(cnt[id])
})
$('.pisos_subtipo').each(function(i, el) {
var id = $(this).attr('data-subtipo')
$(this).html(pisos[id])
})
$('.show-unidades').css('cursor', 'pointer').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').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,29 @@
@extends('layout.base')
@section('content')
<div class="row page-heading">
<div class="h3">
<div class="row">
<div class="col-md-6">
Unidades de Proyectos
</div>
</div>
</div>
</div>
<table class="table table-hover">
<thead>
<tr>
<th>Proyecto</th>
<th>Inmobiliaria</th>
</tr>
</thead>
<tbody>
@foreach ($proyectos as $proyecto)
<tr>
<td><a href="{{url('', ['p' => 'proyectos', 'a' => 'unidades', 'proyecto' => $proyecto->id])}}">{{$proyecto->descripcion}}</a></td>
<td>{{$proyecto->inmobiliaria()->abreviacion}}</td>
</tr>
@endforeach
</tbody>
</table>
@endsection