246 lines
9.7 KiB
PHP
246 lines
9.7 KiB
PHP
|
@extends('layout.base')
|
||
|
|
||
|
@section('content')
|
||
|
<div class="row page-heading">
|
||
|
<h3>Editar Propietario</h3>
|
||
|
</div>
|
||
|
<br />
|
||
|
<form method="post" class="form-horizontal" action="{{url('', ['p' => 'propietarios', 'a' => 'editar', 'venta' => $venta->id])}}">
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-2">RUT</div>
|
||
|
<div class="col-md-2"><input type="text" name="rut" value="{{\App\Helper\Format::number($propietario->rut, 0)}}-{{$propietario->dv}}" class="form-control" /></div>
|
||
|
<div class="col-md-2 checkbox"><label><input type="checkbox" name="empresa" /> Empresa?</label></div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-2">Nombre</div>
|
||
|
<div class="col-md-3"><input type="text" name="nombres" value="{{$propietario->nombres}}" class="form-control" /></div>
|
||
|
<div class="col-md-3"><input type="text" name="apellido_paterno" value="{{$propietario->apellido_paterno}}" class="form-control" /></div>
|
||
|
<div class="col-md-3"><input type="text" name="apellido_materno" value="{{$propietario->apellido_materno}}" class="form-control" /></div>
|
||
|
</div>
|
||
|
@if ($propietario->direccion != 0)
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-2">Dirección</div>
|
||
|
<div class="col-md-4"><input type="text" name="calle" class="form-control" value="{{$propietario->direccion()->calle}}" /></div>
|
||
|
<div class="col-md-2"><input type="text" name="numero" class="form-control" value="{{$propietario->direccion()->numero}}" /></div>
|
||
|
<div class="col-md-3"><input type="text" name="extra" class="form-control" value="{{$propietario->direccion()->extra}}" /></div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||
|
@foreach ($regiones as $region)
|
||
|
<option value="{{$region->id}}"
|
||
|
@if ($region->id == $propietario->direccion()->comuna()->provincia()->region()->id)
|
||
|
selected="selected"
|
||
|
@endif
|
||
|
>{{$region->descripcion}}</option>
|
||
|
@endforeach
|
||
|
</select></div>
|
||
|
<div class="col-md-4"><select name="comuna" class="form-control" data-value="{{$propietario->direccion()->comuna()->id}}"></select></div>
|
||
|
</div>
|
||
|
@else
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-2">Dirección</div>
|
||
|
<div class="col-md-4"><input type="text" name="calle" class="form-control" /></div>
|
||
|
<div class="col-md-2"><input type="text" name="numero" class="form-control" /></div>
|
||
|
<div class="col-md-3"><input type="text" name="extra" class="form-control" /></div>
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-offset-2 col-md-5"><select name="region" class="form-control">
|
||
|
@foreach ($regiones as $region)
|
||
|
<option value="{{$region->id}}"
|
||
|
@if ($region->numeral == 'RM')
|
||
|
selected="selected"
|
||
|
@endif
|
||
|
>{{$region->descripcion}}</option>
|
||
|
@endforeach
|
||
|
</select></div>
|
||
|
<div class="col-md-4"><select name="comuna" class="form-control"></select></div>
|
||
|
</div>
|
||
|
@endif
|
||
|
<div class="form-group">
|
||
|
<div class="col-md-offset-2 col-md-3"><input type="submit" value="Editar" class="form-control" /></div>
|
||
|
</div>
|
||
|
</form>
|
||
|
@endsection
|
||
|
|
||
|
@push('scripts')
|
||
|
<script type="text/javascript">
|
||
|
var comuna = '';
|
||
|
$(document).ready(function() {
|
||
|
$("input[name='rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||
|
$(this).parent().next().next().remove();
|
||
|
$(this).parent().next().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||
|
}).on('rutValido', function(e, rut, dv) {
|
||
|
$(this).parent().next().next().remove();
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||
|
if (data.trim() != '' || data != 'false') {
|
||
|
info = $.parseJSON(data);
|
||
|
|
||
|
$("input[name='nombres']").val(info.nombres);
|
||
|
$("input[name='apellid_paterno']").val(info.apellido_paterno);
|
||
|
$("input[name='apellido_materno']").val(info.apellido_materno);
|
||
|
|
||
|
if (info.direccion) {
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'direccion', 'ajax' => true])!!}', {"direccion": info.direccion}, function(data) {
|
||
|
var info = $.parseJSON(data);
|
||
|
|
||
|
$("input[name='calle']").val(info.calle);
|
||
|
$("input[name='numero']").val(info.numero);
|
||
|
$("input[name='extra']").val(info.extra);
|
||
|
$("select[name='region']").val(info.comuna.provincia.region.id);
|
||
|
changeRegion().done(function() {
|
||
|
$("select[name='comuna']").val(info.comuna.id);
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
$("input[name='empresa']").click(function() {
|
||
|
if ($(this).is(':checked')) {
|
||
|
$("input[name='apellido_paterno']").hide();
|
||
|
$("input[name='apellido_materno']").hide();
|
||
|
$("input[name='nombres']").parent().removeClass('col-md-3').addClass('col-md-6');
|
||
|
|
||
|
addRepresentante();
|
||
|
} else {
|
||
|
$("input[name='apellido_paterno']").show();
|
||
|
$("input[name='apellido_materno']").show();
|
||
|
$("input[name='nombres']").parent().removeClass('col-md-6').addClass('col-md-3');
|
||
|
|
||
|
removeRepresentante();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||
|
$("input[name='nombres']").typeahead({
|
||
|
"source": data,
|
||
|
"updater": function(item) {
|
||
|
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||
|
},
|
||
|
"matcher": function (item) {
|
||
|
var tquery = extractor(this.query);
|
||
|
if(!tquery) return false;
|
||
|
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||
|
},
|
||
|
"highlighter": function (item) {
|
||
|
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||
|
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||
|
return '<strong>' + match + '</strong>'
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
}, 'json');
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||
|
$("input[name='apellido_paterno']").typeahead({"source": data});
|
||
|
$("input[name='apellido_materno']").typeahead({"source": data});
|
||
|
}, 'json');
|
||
|
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'calles', 'ajax' => true])!!}', function(data) {
|
||
|
$("input[name='calle']").typeahead({"source": data});
|
||
|
}, 'json');
|
||
|
|
||
|
$("input[name='extra']").typeahead({"source": ['Casa', 'Departamento', 'Oficina', 'Villa']});
|
||
|
|
||
|
$("select[name='region']").change(function(e) {
|
||
|
changeRegion($(this).val());
|
||
|
});
|
||
|
comuna = $("select[name='comuna']").attr('data-value');
|
||
|
changeRegion($("select[name='region']").val());
|
||
|
});
|
||
|
function changeRegion(region) {
|
||
|
var jq_comunas = $("select[name='comuna']");
|
||
|
var region = $("select[name='region']").val();
|
||
|
jq_comunas.html('');
|
||
|
return $.post('{!!url('', ['p' => 'ajax', 'a' => 'comunas', 'ajax' => true])!!}', {"region": region}, function(data) {
|
||
|
info = $.parseJSON(data);
|
||
|
$.each(info, function(i, e) {
|
||
|
var option = $('<option></option>').attr('value', e.id).html(e.descripcion);
|
||
|
if (e.id == comuna) {
|
||
|
option.attr('selected', 'selected');
|
||
|
}
|
||
|
jq_comunas.append(option);
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
function addRepresentante() {
|
||
|
$("select[name='comuna']").parent().parent().after(
|
||
|
$('<div></div>').attr('class', 'form-group').append(
|
||
|
$('<div></div>').attr('class', 'col-md-2').html('Nombre')
|
||
|
).append(
|
||
|
$('<div></div>').attr('class', 'col-md-3').append(
|
||
|
$('<input/>').attr('type', 'text').attr('name', 'rep_nombres').attr('class', 'form-control')
|
||
|
)
|
||
|
).append(
|
||
|
$('<div></div>').attr('class', 'col-md-3').append(
|
||
|
$('<input/>').attr('type', 'text').attr('name', 'rep_apaterno').attr('class', 'form-control')
|
||
|
)
|
||
|
).append(
|
||
|
$('<div></div>').attr('class', 'col-md-3').append(
|
||
|
$('<input/>').attr('type', 'text').attr('name', 'rep_amaterno').attr('class', 'form-control')
|
||
|
)
|
||
|
)
|
||
|
).after(
|
||
|
$('<div></div>').attr('class', 'form-group').append(
|
||
|
$('<div></div>').attr('class', 'col-md-2').html('RUT')
|
||
|
).append(
|
||
|
$('<div></div>').attr('class', 'col-md-2').append(
|
||
|
$('<input/>').attr('type', 'text').attr('name', 'rep_rut').attr('class', 'form-control')
|
||
|
)
|
||
|
)
|
||
|
).after(
|
||
|
$('<div></div>').attr('class', 'form-group').append(
|
||
|
$('<div></div>').attr('class', 'col-md-2').html('Representante')
|
||
|
)
|
||
|
);
|
||
|
$("input[name='rep_rut']").rut({"formatOn": 'keyup', "validateOn": 'blur'}).on('rutInvalido', function(e) {
|
||
|
$(this).parent().next().remove();
|
||
|
$(this).parent().after($('<div></div>').attr('class', 'col-md-2 alert-danger').html('Rut inválido'));
|
||
|
}).on('rutValido', function(e, rut, dv) {
|
||
|
$(this).parent().next().remove();
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'propietario', 'ajax' => true])!!}', {"rut": rut}, function(data) {
|
||
|
if (data.trim() != '' || data != 'false') {
|
||
|
info = $.parseJSON(data);
|
||
|
|
||
|
$("input[name='rep_nombres']").val(info.nombres);
|
||
|
$("input[name='rep_apaterno']").val(info.apellido_paterno);
|
||
|
$("input[name='rep_amaterno']").val(info.apellido_materno);
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'nombres', 'ajax' => true])!!}', function(data) {
|
||
|
$("input[name='rep_nombres']").typeahead({
|
||
|
"source": data,
|
||
|
"updater": function(item) {
|
||
|
return this.$element.val().replace(/[^ ]*$/,'') + item + ' ';
|
||
|
},
|
||
|
"matcher": function (item) {
|
||
|
var tquery = extractor(this.query);
|
||
|
if(!tquery) return false;
|
||
|
return ~item.toLowerCase().indexOf(tquery.toLowerCase())
|
||
|
},
|
||
|
"highlighter": function (item) {
|
||
|
var query = extractor(this.query).replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
|
||
|
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||
|
return '<strong>' + match + '</strong>'
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
}, 'json');
|
||
|
|
||
|
$.post('{!!url('', ['p' => 'ajax', 'a' => 'apellidos', 'ajax' => true])!!}', function(data) {
|
||
|
$("input[name='rep_apaterno']").typeahead({"source": data});
|
||
|
$("input[name='rep_amaterno']").typeahead({"source": data});
|
||
|
}, 'json');
|
||
|
}
|
||
|
function removeRepresentante() {
|
||
|
$("input[name='rep_rut']").parent().parent().next().remove();
|
||
|
$("input[name='rep_rut']").parent().parent().prev().remove();
|
||
|
$("input[name='rep_rut']").parent().parent().remove();
|
||
|
}
|
||
|
</script>
|
||
|
@endpush
|