var idServicioLicencia = 15;
var accion = "tramite";
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope, $http) {
$scope.tiposTramite = [{'tipo': 'NUEVA'}, {'tipo': 'REFRENDO'}, {'tipo': 'CERTIFICACION'}];
$scope.getConceptos = function () {
$scope.conceptosList = JSON.parse($("#conceptosList").val());
}
$scope.getRutaFormato = function () {
var url_ws = $("#url_ws").val();
url_ws += "/parametro/URL_PAGO_VENTANILLA/";
$http.get(url_ws)
.then(function (rs) {
$scope.parametros = rs.data[0].valorstring;
});
}
$scope.getPagos = function (curp) {
var url_ws = $("#url_base").val();
url_ws += "/ws/pagos/byServicio/" + idServicioLicencia + "/" + curp;
$("#btnConsultar").hide();
$http.get(url_ws)
.then(function (rs) {
if (rs.data.estatus == "Ok") {
$scope.pagosList = rs.data.data;
}
if (rs.data.estatus == "Error") {
$scope.pagosList = [];
$("#mensaje").html("
" + rs.data.mensaje + "
");
}
$("#btnConsultar").show();
});
}
$scope.getUrlCfdi = function () {
var url_ws = $("#url_base").val();
url_ws += "/ws/urlCfdi";
$http.get(url_ws)
.then(function (rs) {
if (rs.status == "200") {
$scope.urlCfdi = rs.data
}
if (rs.data.estatus == "Error") {
$scope.urlCfdi = ""
}
});
}
$("#btnConsultar").click(function () {
$("#mensaje").html("");
if (!curpValida($("#curp").val())) {
$("#mensaje").html("CURP no válida
");
return false;
}
$scope.getPagos($("#curp").val());
});
$("#curp").on('change', function () {
$(this).val($(this).val().toUpperCase());
});
$("#btnPagar").click(function () {
switch ($('form')[0].id) {
case "frmLicencias":
if (isFormValid()) {
if ($('input:radio[name=aplicarDescuento]:checked').val() == 'true' && $('#concepto option').filter(':selected').attr("data-conceptoDescuento") != "0") {
$("#importe").val($('#concepto option').filter(':selected').attr("data-cuota"));
$("#conceptoDescuento").val($('#concepto option').filter(':selected').attr("data-conceptoDescuento"));
$("#descripcionConcepto").val($('#concepto option').filter(':selected').attr("data-descripcionConcepto"));
$scope.granTotal = Math.round($('#concepto option').filter(':selected').attr("data-cuota") * 1 + ($('#concepto option').filter(':selected').attr("data-descuento") * 1));
} else {
$("#importe").val($('#concepto option').filter(':selected').attr("data-cuota"));
$("#conceptoDescuento").val(0);
$("#descripcionConcepto").val($('#concepto option').filter(':selected').attr("data-descripcionConcepto"));
$scope.granTotal = $('#concepto option').filter(':selected').attr("data-cuota");
}
$scope.$apply();
$("#mdlFormaPago").modal();
}
break;
case "frmFIMJA":
$("#mdlFormaPago").modal();
break;
default:
// code block
}
});
$scope.getConceptos();
$scope.bancosList = getBancos();
$scope.getUrlCfdi();
});
var changeTab = function (tab) {
accion = tab;
if (tab == "tramite") {
$(".consulta").addClass("d-none");
$(".tramite").removeClass("d-none");
$("#btnConsultar").hide();
}
if (tab == "consulta") {
$(".consulta").removeClass("d-none");
$(".tramite").addClass("d-none");
$("#btnConsultar").show()();
}
};
changeTab("tramite");
var getComprobante = function (e) {
$("#folio").val(e.getAttribute("data-idpago"));
$("#foliotimbrado").val(e.getAttribute("data-folioTimbre"));
$("#srv").val(idServicioLicencia);
$('#frmLicencias').attr('action', $("#urlComprobante").text());
$('#frmLicencias').submit();
};
var getBancos = function () {
var strJson = $("#bancosList").html();
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");
$('#btnGenerarFormato').trigger("click");
};
var isFormValid = function () {
if (accion == 'tramite' && ($("#concepto").val().length == 0 || $("#nombre").val().length == 0)) {
$("#mensaje").html("Proporcione la información requerida
");
return false;
}
if (!curpValida($("#curp").val())) {
$("#mensaje").html("CURP no válida
");
i++;
}
return true;
}
var curpValida = function (curp) {
var re = /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0\d|1[0-2])(?:[0-2]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/;
validado = curp.match(re);
if (!validado) //Coincide con el formato general?
return false;
//Validar que coincida el dígito verificador
function digitoVerificador(curp17) {
//Fuente https://consultas.curp.gob.mx/CurpSP/
var diccionario = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ",
lngSuma = 0.0,
lngDigito = 0.0;
for (var i = 0; i < 17; i++)
lngSuma = lngSuma + diccionario.indexOf(curp17.charAt(i)) * (18 - i);
lngDigito = 10 - lngSuma % 10;
if (lngDigito == 10)
return 0;
return lngDigito;
}
if (validado[2] != digitoVerificador(validado[1]))
return false;
console.log(true);
return true; //Validado
}