var error = ""; var app = angular.module('myApp', []); app.controller('myCtrl', function ($scope, $http) { var init = function () { } $scope.granTotal = 0; $scope.totalGrupo = 0; $scope.numeroVehiculos = 0; $scope.adeudosList = getAdeudos(); $scope.bancosList = getBancos(); $scope.vehiculosSinAdeudo = []; $scope.vehiculosError = false; $scope.idServicio = 0; $scope.condonacion = 0; subTotal = 0; subGrupo = ""; for (i = 0; i < $scope.adeudosList.length; i++) { for (a = 0; a < $scope.adeudosList[i].conceptos.length; a++) { if ($scope.adeudosList[i].conceptos[a].descripcion.includes('CONDONAC')) { $scope.condonacion += $scope.adeudosList[i].conceptos[a].importe; } $scope.adeudosList[i].conceptos[a].condonacion = $scope.adeudosList[i].conceptos[a].descripcion.includes('CONDONAC') ? $scope.adeudosList[i].conceptos[a].importe : 0; if ($scope.adeudosList[i].conceptos[a].tipo == "P") { subGrupo = $scope.adeudosList[i].conceptos[a].idRow; } $scope.adeudosList[i].conceptos[a].idGrupo += "|" + subGrupo; switch ($scope.adeudosList[i].conceptos[a].grupo.trim()) { case "R": $scope.adeudosList[i].conceptos[a].grupo = "REFRENDO"; break; case "E": $scope.adeudosList[i].conceptos[a].grupo = "INFRACCIONES MUNICIPALES"; break; case "I": $scope.adeudosList[i].conceptos[a].grupo = "INFRACCIONES ESTATALES"; break; case "V": $scope.adeudosList[i].conceptos[a].grupo = "VERIFICACIÓN"; break; default: } } if ($scope.adeudosList[i].total > 0 || $scope.adeudosList[i].conceptos.length > 0) { $scope.granTotal = $scope.granTotal + $scope.adeudosList[i].total * 1; $scope.numeroVehiculos++; subTotal += $scope.adeudosList[i].total * 1; } else { $scope.vehiculosSinAdeudo.push({msg: $scope.adeudosList[i].placa + " - " + $scope.adeudosList[i].mensaje}); $scope.vehiculosError = true; } } $("#granTotal").val($scope.granTotal); var getPagos = function () { var strJson = $("#pagosList").text(); }; $(document).ready(function () { //----- Funcionalidad evento para check pagar ----- $("input[name=pagar]").click(function () { //----- Recalcula total a pagar----- recalcTotal(); //----- Recalcula total a pagar----- var idGrupo = $(this).attr('data-idgrupo'); var checked = $(this).prop("checked"); $("input:checkbox[name=pagar]").each(function () { if ($(this).attr('data-idgrupo') == idGrupo) { $(this).prop("checked", checked); } }); // if ($scope.condonacion != 0) { // $("#mdlQuestion").modal(); // } }); $("#btnConCondonacion").click(function () { $("input:checkbox[name=pagar]").each(function () { $(this).prop("checked", true); }); recalcTotal(); }); $("#btnSinCondonacion").click(function () { deleteCondonacion(); reload(); }); }); //----- Recalcula total a pagar----- var recalcTotal = function () { var total = 0; $("input:checkbox[name=pagar]:checked").each(function () { total += $(this).attr('data-subtotal') * 1; }); $("#granTotal").val(total); setTotalPagar(total); } var deleteCondonacion = function () { var condonacion = 0; for (i = 0; i < $scope.adeudosList.length; i++) { for (a = 0; a < $scope.adeudosList[i].conceptos.length; a++) { if ($scope.adeudosList[i].conceptos[a].descripcion.includes('CONDONAC')) { condonacion = $scope.adeudosList[i].conceptos[a].importe * 1; $scope.adeudosList[i].conceptos[a].importe = 0; } if ($scope.adeudosList[i].conceptos[a].totalGrupo > 0) { $scope.adeudosList[i].conceptos[a].totalGrupo += Math.abs(condonacion); $scope.adeudosList[i].total += Math.abs(condonacion) condonacion = 0; } } } } var reload = function () { $("#accion").val("recarba"); $("#adeudosList").val(JSON.stringify($scope.adeudosList)); $("#bancosList").val(JSON.stringify($scope.bancosList)); $('#frmAdeudos').attr('action', '/serviciosVehiculares/reload'); $('#frmAdeudos').submit(); } //--- Carga Información --- $scope.onInit = function () { } var url = $(location).attr('href'); if (url.includes("localhost") || url.includes("10.4.1.")) { $("#btnConsultar").removeClass("g-recaptcha"); } }); var goLogin = function (accion) { $("#accion").val(accion); $('#frmIndex').attr('action', '/serviciosVehiculares/login'); $('#frmIndex').submit(); }; var setTotalPagar = function (total) { $(".lblGranTotal").text("Total a pagar: $" + formatCurrency(total, 2)); } var getAdeudos = function () { try { var strJson = $("#adeudosList").val(); return JSON.parse(strJson); } catch (e) { } }; var getBancos = function () { var strJson = $("#bancosList").val(); return JSON.parse(strJson); }; var goPagar = function (e) { $("#idBanco").val(e.getAttribute("data-idbanco")); $("#idServicio").val(e.getAttribute("data-idservicio")); $("#formatoPago").val(e.getAttribute("data-idbanco") < "-1"); $("#accion").val("pagar"); $('#frmAdeudos').attr('action', '/serviciosVehiculares/goPagar'); $('#frmAdeudos').submit(); }; var goComprobanteEnCeros = function (e) { $("#idBanco").val(20); $("#idServicio").val(1); $("#accion").val("pagoEnCeros"); $('#frmAdeudos').attr('action', '/serviciosVehiculares/comprobanteEnCeros'); $('#frmAdeudos').submit(); }; var getComprobante = function (e) { $("#folio").val(e.getAttribute("data-idpago")); $("#foliotimbrado").val(e.getAttribute("data-foliotimbre")); $('#frmPagosList').attr('action', $("#urlComprobante").text()); $('#frmPagosList').submit(); }; var goOrigen = function () { switch ($('#origen').val()) { case "SEMADET": history.back(); return null; break; default : window.location = "./" + $('#origen').val(); } }; var isAdeudosFormValid = function () { // console.log(keyPress + " - " + $("#placa").val().length + " - " + $("#placa").val().length); if (keyPress < ($("#placa").val().length + $("#numeroSerie").val().length)) { return false; } return true; } var formIsValid = function () { var grupos = ""; var patron = new RegExp("^[a-zA-Z0-9]+$"); switch ($("#accion").val()) { case "getAdeudos": error = ""; if ($("#placa").val().trim().length == 0 || !$("#placa").val().match(patron)) { error = "Introduzca el número de placa de su vehículo válido"; } else if ($("#numeroSerie").val().trim().length == 0 || !$("#numeroSerie").val().match(patron)) { error = "Introduzca el número de serie de su vehículo válido"; } else if ($("#numeroSerie").val().trim().length < 5) { error = "Introduzca mínimo los últimos cinco caracterees de la seríe del vehículo"; } else if ($("#nombrePropietario").val().trim().length < 5) { error = "Introduzca nombre del propietario"; } break; case "cargaArchivo": if ($("#lblFileName").html() == "Seleccione un archivo") { error = "Seleccione un archivo!"; } if (document.getElementById("obligaciones").checked) { grupos = "1"; } else { grupos = "0"; } if (document.getElementById("estacionometro").checked) { grupos = grupos.concat("1"); } else { grupos = grupos.concat("0"); } if (document.getElementById("infracciones").checked) { grupos = grupos.concat("1"); } else { grupos = grupos.concat("0"); } if (document.getElementById("verificacion").checked) { grupos = grupos.concat("1"); } else { grupos = grupos.concat("0"); } if (grupos == "0000") { error = "Seleccione al menos una opción"; } if (error.length > 0) { break; } $('#gruposConceptos').val(grupos); $("#btnCargar").html(' Cargando...'); break; default: // code block } if (error.length > 0) { showMessage(error); return false; } else { return true; } }; var setHabilityChcks = function (tipo, trueFalse) { $("input[type=checkbox]").each(function () { if ($(this).attr("data-tipo") == tipo) { $(this).prop('checked', trueFalse); } }); } var keyPress = 0; $(document).ready(function () { // Valida el pago en orden $("input[type=checkbox]").click(function () { $("#mensaje").html(""); var unChck = false; var ok = true; $("input[type=checkbox]").each(function () { if (ok) { if ($(this).attr("data-tipo") == "REFRENDO") { if ($(this).prop('checked')) { ok = !unChck; } else { unChck = true; } } } }); if (!ok) { setHabilityChcks("REFRENDO", true); $("#mensaje").html("