/home/dvjjulio/softtrash/public/js/movil/route.js
var latitude;
var longitude;
$(function(){
if ("geolocation" in navigator){
navigator.geolocation.getCurrentPosition(function(position){
latitude = position.coords.latitude;
longitude = position.coords.longitude;
Route.cliente_select(latitude,longitude);
//Route.clientesNear(latitude,longitude);
});
}else{
$.bootstrapGrowl( 'Mensaje: Favor de Activar la Geoloalizacion' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
Route.checkbox();
});
var Route={
cliente_select:function(latitude,longitude){
Route.findGeoloation();
console.log('latitude:'+latitude+' longitude:'+longitude);
$.ajax({
data: {
'latitude':latitude,
'longitude':longitude
},
type: 'GET',
dataType: "json",
cache:false,
url:main_path+'/movil/clientesNear',
success: function( response ){
if(response.status == true){
$('#cliente-select').html('');
$('#cliente-select').append('<option value="0"> Selecciona </option>');
$.each(response.data, function(i, val){
console.log(val.id);
$('#cliente-select').append('<option value='+val.id+'>'+val.nombre_comercial+'</option>');
})
}else{
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
},
fail: function( response ) {
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
});
},
clientes_all:function(){
$.ajax({
data: {
'latitude':latitude,
'longitude':longitude
},
type: 'GET',
dataType: "json",
cache:false,
url:main_path+'/movil/clientes',
success: function( response ){
if(response.status == true){
$('#cliente-select').html('');
$('#cliente-select').append('<option value="0"> Selecciona </option>');
$.each(response.data, function(i, val){
console.log(val.id);
$('#cliente-select').append('<option value='+val.id+'>'+val.nombre_comercial+'</option>');
})
}else{
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
},
fail: function( response ) {
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
});
},
getInicio:function(e){
Route.findGeoloation();
var token = $('#csrf-token').val();
var user_id = $(e).data('userid');
var camion_id = $(e).data('camionid');
var fecha_ = $(e).data('fecha');
var orden = $('#orden-input').val();
var cliente_id = $('#cliente-select').val();
var cliente = $('#cliente-select :selected').text();
if(orden == '' | orden == null){
$('#orden-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Ingresa el No. de Orden' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
else if(cliente_id == '0' | cliente_id == null){
$('#cliente-select').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe seleccionar un Cliente' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}else if(latitude == '' | latitude==null | latitude == 'undefined'){
Route.findGeoloation();
}else if(longitude == '' | longitude==null | longitude == 'undefined'){
Route.findGeoloation();
}
else{
var data = new FormData();
data.append('_token' , token );
data.append('user_id' , user_id );
data.append('camion_id' , camion_id );
data.append('orden' , orden );
data.append('cliente_id' , cliente_id );
data.append('cliente' , cliente );
data.append('latitude' , latitude );
data.append('longitude' , longitude );
data.append('fecha_' , fecha_ );
/*for(var pair of data.entries()) {
console.log(pair[0]+ ', '+ pair[1]);
}*/
$('#orden-btn-div').append("<div id='spin'><i class='fa fa-spinner fa-2x fa-spin'></i></div>");
$("#orden-btn").attr("disabled",true);
Route.sendRoute(data);
}
},
getTermino:function(e){
Route.findGeoloation();
const data = new FormData();
const giro = $(e).data('giro')
const token = $('#csrf-token').val();
const id = $(e).data('id');
const observaciones = $('#observaciones-input').val();
const km = $('#km-input').val();
const km_inicio = $(e).data('km');
const km_dif = (km - km_inicio);
if(km == '' | km == null){
$('#km-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Ingresar el kilometraje' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
else if(km < km_inicio | km < 50){
$('#km-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: El Kilometraje debe de ser mayor al kilometraje pasado' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}else if(latitude == '' | latitude==null | latitude == 'undefined'){
Route.findGeoloation();
}else if(longitude == '' | longitude==null | longitude == 'undefined'){
Route.findGeoloation();
}
else{
data.append('_token', token );
data.append('id', id );
data.append('giro', giro);
data.append('km', km);
data.append('km_dif', km_dif );
data.append('observaciones', observaciones );
data.append('latitude_termino' , latitude );
data.append('longitude_termino', longitude );
console.log('giro', giro)
if (giro === 'Combustible') {
Route.checkCombustibleOrden(e, data);
} else if (giro === 'Vertedero') {
Route.checkVertederoOrden(e, data);
}
else {
Route.checkOrden(e, data);
}
Route.sendRouteTermino(data);
}
},
checkCombustibleOrden: function(e, data) {
const nota = $('#nota-input').val();
const litros = $('#litros-input').val();
const hora = $('#hora-input').val();
const precioLitro = $('#precio-input').val();
const tipo = $('#tipo-select').val();
if (nota === '' || nota === null) {
$('#nota-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar la Nota' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (hora === '' || hora === null) {
$('#litros-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar la hora' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (litros === '' || litros === null) {
$('#litros-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar los Litros' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (precioLitro === '' || precioLitro === null) {
$('#precio-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar el precio por litro' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (tipo === '' || tipo === null) {
$('#tipo-select').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar el tipo' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else {
data.append('nota', nota);
data.append('hora', hora);
data.append('litros', litros);
data.append('precio', precioLitro);
data.append('check_reciclable', false);
$('#orden2-btn-div').append("<div id='spin'><i class='fa fa-spinner fa-2x fa-spin'></i></div>");
$("#orden2-btn").attr("disabled",true);
return data;
}
},
checkVertederoOrden: function(e, data) {
const nota = $('#nota-input').val();
const peso = $('#peso-input').val();
const hora = $('#hora-input').val();
const precio = $('#precio-input').val();
if (nota === '' || nota === null) {
$('#nota-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar la Nota' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (hora === '' || hora === null) {
$('#litros-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar la hora' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (peso === '' || peso === null) {
$('#litros-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar los Litros' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else if (precio === '' || precio === null) {
$('#precio-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe agregar el precio por litro' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
} else {
data.append('nota', nota);
data.append('hora', hora);
data.append('peso', peso);
data.append('precio', precio);
data.append('check_reciclable', false);
$('#orden2-btn-div').append("<div id='spin'><i class='fa fa-spinner fa-2x fa-spin'></i></div>");
$("#orden2-btn").attr("disabled",true);
return data;
}
},
checkOrden:function(e, data){
if($('#reciclable-check').is(':checked') == true){
var reciclable = $('#reciclable-select').val();
var reciclable_cantidad = $('#cantidad-reciclable-input').val();
}
const cantidad = $('#cantidad-input').val();
if($('#reciclable-check').is(':checked') == true){
if(reciclable == '0' | reciclable == null){
$('#reciclable-select').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe seleccionar Reciclable' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}else if(reciclable_cantidad == '' | reciclable_cantidad == null | reciclable_cantidad > 500){
$('#cantidad-reciclable-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Debe ingresar Cantidad en Reciclable Correcta' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
}
if(cantidad == '' | cantidad == null){
$('#cantidad-input').css('border','1px solid red');
$.bootstrapGrowl( 'Mensaje: Ingresa la Cantidad' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
else {
if($('#reciclable-check').is(':checked') == true){
data.append('check_reciclable' , true );
data.append('reciclable' , reciclable );
data.append('reciclable_cantidad' , reciclable_cantidad );
}else{
data.append('check_reciclable' , false );
}
data.append('cantidad' , cantidad );
$('#orden2-btn-div').append("<div id='spin'><i class='fa fa-spinner fa-2x fa-spin'></i></div>");
$("#orden2-btn").attr("disabled",true);
return data
}
},
sendRoute:function(data){
$.ajax({
url:main_path+'/movil/saveRouteInicio',
data:data,
cache:false,
contentType: false,
processData: false,
type: 'POST',
dataType: "json",
success: function( response ){
if(response.status == true ){
$.bootstrapGrowl('Inicio de Ruta Guardado!', {
type: "success",
delay: 6500,
allow_dismiss: true
});
$('#spin').html('');
$("#orden-btn").attr("disabled",false);
Route.resetFields();
window.location.assign(main_path+'/movil/route');
}else{
$('#spin').html('');
$("#orden-btn").attr("disabled",false);
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
},
fail: function( response ) {
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
},
complete:function(){
}
});
},
sendRouteTermino:function(data){
$.ajax({
url:main_path+'/movil/saveRouteTermino',
data:data,
cache:false,
contentType: false,
processData: false,
type: 'POST',
dataType: "json",
success: function( response ){
if(response.status == true ){
$('#spin').html('');
$("#orden2-btn").attr("disabled",false);
$.bootstrapGrowl('Termino de Ruta Guardado!', {
type: "success",
delay: 6500,
allow_dismiss: true
});
Route.resetFields();
window.location.assign(main_path+'/movil/route');
}else{
$('#spin').html('');
$("#orden2-btn").attr("disabled",false);
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
},
fail: function( response ) {
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
},
complete:function(){
//window.location.assign(main_path+'/movil/route');
}
});
},
resetFields:function(){
$('#orden-input').val('');
$('#cliente-select').val('0').prop( 'selected', false ).trigger("chosen:updated");
$('#cantidad-input').val('');
$('#km-input').val('');
$('#observaciones-input').val('');
},
checkbox:function(e){
$('#reciclable-check').on('click',function(){
if($('#reciclable-check').is(':checked')=== true){
$('#reciclable-div').attr('class','form-group');
}else{
$('#reciclable-div').attr('class','form-group hide');
}
});
},
findGeoloation:function(){
if ("geolocation" in navigator){
navigator.geolocation.getCurrentPosition(function(position){
latitude = position.coords.latitude;
longitude = position.coords.longitude;
});
}else{
$.bootstrapGrowl( 'Mensaje: Favor de Activar la Geoloalizacion' , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
},
clientesNear:function(){
Route.findGeoloation();
console.log('latitude:'+latitude+' longitude:'+longitude);
$.ajax({
data: {
'latitude':latitude,
'longitude':longitude
},
type: 'GET',
dataType: "json",
cache:false,
url:main_path+'/movil/clientesNear',
success: function( response ){
if(response.status == true){
$('#cliente-select').html('');
$('#cliente-select').append('<option value="0"> Selecciona </option>');
$.each(response.data, function(i, val){
console.log(val.id);
$('#cliente-select').append('<option value='+val.id+'>'+val.nombre_comercial+'</option>');
})
}else{
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
},
fail: function( response ) {
$.bootstrapGrowl( 'Mensaje:'+response.message , {
type: "danger",
delay: 7500,
allow_dismiss: true
});
}
});
}
}