1if (window.location.href.indexOf("crearEmpresa") > -1 || window.location.href.indexOf("crear-empresa-contable") > -1) { 2 class Empresas { 3 4 constructor() { 5 this.codigoEmpresa = ""; 6 this.codigoPlan = ""; 7 this.tipoPlan = ""; 8 } 9 /* -------------------------------------------------------------------------- */ 10 /* GUARDAR EMPRESA */ 11 /* -------------------------------------------------------------------------- */ 12 13 guardarEmpresa() { 14 $("#guardarEmpresa").click(function () { 15 16 $("#guardarEmpresa").prop("disabled", true); 17 var usuario = $("#usuarioEmpresa").val(); 18 var correo = $("#emailEmpresa").val(); 19 var sistema = $("#tipoSistema").val(); 20 21 22 var datos = new FormData(); 23 datos.append("validarUsuarioFacturacion", usuario); 24 datos.append("emailEmpresa", correo); 25 datos.append("sistema", sistema); 26 $.ajax({ 27 url: "ajax/empresas.ajax.php", 28 type: "POST", 29 data: datos, 30 cache: false, 31 contentType: false, 32 processData: false, 33 dataType: "json", 34 success: function (respuesta) { 35 if (respuesta) { 36 $("#guardarEmpresa").prop("disabled", false); 37 //USUARIO REPETIDO 38 $("#usuarioEmpresa").val(""); 39 $("#emailsUsuarioEmpresa").val(""); 40 toastr.error("Este usuario ya existe, intente con uno distinto!"); 41 } else { 42 if ($("#ruc").val() == '') { 43 toastr.info("Por favor ingrese el ruc es un campo obligatorio se encuentra en la primera pestaña", "Importante", { timeOut: 3000 }); 44 } 45 var datos = new FormData(); 46 datos.append("validarRUCEmpresa", true); 47 datos.append("ruc", $("#ruc").val()); 48 datos.append("sistema", $("#tipoSistema").val()); 49 $.ajax({ 50 url: "ajax/empresas.ajax.php", 51 type: "POST", 52 data: datos, 53 cache: false, 54 contentType: false, 55 processData: false, 56 dataType: "json", 57 success: function (respuesta) { 58 if (respuesta) { 59 toastr.info("Ya existe un registro con este RUC", "Importante", { timeOut: 3000 }); 60 $("#guardarEmpresa").prop("disabled", false); 61 $("#ruc").val(""); 62 } else { 63 const empresa = new Empresas(); 64 if ( 65 66 empresa.validarFormVacios("ruc") && 67 empresa.validarFormVacios("razon") && 68 empresa.validarFormVacios("nombreComercial") && 69 empresa.validarFormVacios("nombreMostrar") && 70 empresa.validarFormVacios("actividadEmpresa") && 71 empresa.validarFormVacios("ciudad") && 72 empresa.validarFormVacios("direccion") && 73 empresa.validarFormVacios("telefono1") && 74 empresa.validarFormVacios("emailEmpresa") && 75 empresa.validarFormVacios("llevarContabilidad") && 76 empresa.validarFormVacios("claveFirmaElectronica") && 77 empresa.validarFormVacios("tipoAmbienteConf") && 78 empresa.validarRuc("ruc") && 79 empresa.validarFormVacios("usuarioEmpresa") && 80 empresa.validarFormVacios("passwordCodificar") && 81 empresa.validarIdentificacion("identificacionUsuarioEmpresa") && 82 empresa.validarFormVacios("nombresUsuarioEmpresa") && 83 empresa.validarFormVacios("cant_facturas") 84 ) { 85 86 let email = document.getElementById('emailEmpresa').value; 87 let emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 88 if (!emailPattern.test(email)) { 89 toastr.info("Ingrese un correo electrónico de empresa válido", "Importante", { timeOut: 3000 }); 90 $("#guardarEmpresa").prop("disabled", false); 91 return; 92 }
93 if ($("#tipoPlanEmpresa").val() == "normal" && document.getElementById('seleccionPlanNormal').value == "") { 94 toastr.info("Seleccione la cantidad de documentos del plan", "Importante", { timeOut: 3000 }); 95 $("#guardarEmpresa").prop("disabled", false); 96 return; 97 } 98 if ($("#tipoSistema").val() == "") { 99 toastr.info("Seleccione la cantidad de documentos del plan", "Importante", { timeOut: 3000 }); 100 $("#guardarEmpresa").prop("disabled", false); 101 return; 102 } 103 104 105 var numeroArchivos = $("#comprobanteArchivoPago")[0].files; 106 var numcomprobante = $("#numeropago_solicitudSJ").val().trim(); 107 var bancocomprobante = $("#bancopago_solicitudSJ").val().trim(); 108 var valorcomprobante = $("#valorcomprobante").val().trim(); 109 var fechacomprobante = $("#fechacomprobante").val().trim(); 110 let jsonCliente = []; 111 let esPlanPruebas = document.getElementById('referenciaPlan').value.trim() == "PLAN PRUEBAS ILIMITADO"; 112 113 if ($("#tipoPlanEmpresa").val() == "normal" && esPlanPruebas) { 114 if ($("#idPlanSeleccionado").val().trim() == "") { 115 toastr.info("Seleccione el Plan Pruebas en la pestaña (Plan)", "Importante", { timeOut: 3000 }); 116 $("#guardarEmpresa").prop("disabled", false); 117 return; 118 } 119 let diasPrueba = $("#diasPrueba").val().trim(); 120 if (diasPrueba === "" || parseInt(diasPrueba, 10) <= 0) { 121 toastr.info("Ingrese los dÃas de prueba para este plan", "Importante", { timeOut: 3000 }); 122 $("#guardarEmpresa").prop("disabled", false); 123 return; 124 } 125 } else if ($("#tipoPlanEmpresa").val() == "normal") { 126 let terminosCondiciones = $("#aceptarCondiciones").is(":checked"); 127 if (!terminosCondiciones) { 128 toastr.info("Acepte los terminos y condiciones", "Importante", { timeOut: 3000 }); 129 $("#guardarEmpresa").prop("disabled", false); 130 return; 131 } 132 if ($("#idPlanSeleccionado").val().trim() == "") { 133 toastr.info("Seleccione la cantidad de documentos en la pestaña (Plan)", "Importante", { timeOut: 3000 }); 134 $("#guardarEmpresa").prop("disabled", false); 135 return; 136 } 137 138 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "" || numeroArchivos == '') { 139 toastr.info("Ingrese los campos para guardar el registro"); 140 $("#guardarEmpresa").prop("disabled", false); 141 142 return; 143 } else { 144 if (document.getElementById('referenciaPlan').value != "GRATUITO-ANUAL") { 145 if (numeroArchivos.length != 0) { 146 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 147 } else { 148 toastr.info("El documento cargado debe ser una Imagen o PDF"); 149 $("#guardarEmpresa").prop("disabled", false); 150 151 return false; 152 } 153 } else { 154 $("#guardarEmpresa").prop("disabled", false); 155 toastr.info("Cargue el documento pdf o imagen del comprobante de pago"); 156 return false;
157 } 158 } 159 } 160 161 let facturarEmpresa = document.getElementById('facturarEmpresaMisDatos').value; 162 163 if (facturarEmpresa == 0) { 164 toastr.info("Seleccione los datos de factura", "Importante", { timeOut: 3000 }); 165 $("#guardarEmpresa").prop("disabled", false); 166 return; 167 } 168 if (facturarEmpresa == 1) { 169 facturarEmpresa = true; 170 if ($("#identificacion_contador").val() == "") { 171 toastr.info("Ingrese la identificación del contador", "Importante", { timeOut: 3000 }); 172 $("#guardarEmpresa").prop("disabled", false); 173 return; 174 } 175 176 if ($("#nombre_contador").val() == "") { 177 toastr.info("Ingrese el nombre del contador", "Importante", { timeOut: 3000 }); 178 $("#guardarEmpresa").prop("disabled", false); 179 return; 180 } 181 if ($("#direcion_contador").val() == "") { 182 toastr.info("Ingrese la dirección del contador", "Importante", { timeOut: 3000 }); 183 $("#guardarEmpresa").prop("disabled", false); 184 return; 185 } 186 if ($("#telefono_contador").val() == "") { 187 toastr.info("ngrese el telefono del contador", "Importante", { timeOut: 3000 }); 188 $("#guardarEmpresa").prop("disabled", false); 189 return; 190 } 191 if ($("#correo_contador").val() == "") { 192 toastr.info("Ingrese el correo del contador", "Importante", { timeOut: 3000 }); 193 $("#guardarEmpresa").prop("disabled", false); 194 return; 195 } 196 197 } else { 198 facturarEmpresa = false; 199 if ($("#identificacion_cliente").val() == "") { 200 toastr.info("Ingrese la identificación del cliente para facturar", "Importante", { timeOut: 3000 }); 201 $("#guardarEmpresa").prop("disabled", false); 202 return; 203 } 204 205 if ($("#nombre_cliente").val() == "") { 206 toastr.info("Ingrese el nombre del cliente para facturar", "Importante", { timeOut: 3000 }); 207 $("#guardarEmpresa").prop("disabled", false); 208 return; 209 } 210 if ($("#direccion_cliente").val() == "") { 211 toastr.info("Ingrese la dirección del cliente para facturar", "Importante", { timeOut: 3000 }); 212 $("#guardarEmpresa").prop("disabled", false); 213 return; 214 } 215 if ($("#telefono_cliente").val() == "") { 216 toastr.info("Ingrese el teléfono del cliente para facturar", "Importante", { timeOut: 3000 }); 217 $("#guardarEmpresa").prop("disabled", false); 218 return; 219 } 220 if ($("#correo_cliente").val() == "") { 221 toastr.info("Ingrese el correo del cliente para facturar", "Importante", { timeOut: 3000 }); 222 $("#guardarEmpresa").prop("disabled", false); 223 return; 224 } 225 } 226 227 jsonCliente.push({ 228 identificacion_cliente: document.getElementById('identificacion_cliente').value, 229 nombre_cliente: document.getElementById('nombre_cliente').value, 230 direccion_cliente: document.getElementById('direccion_cliente').value, 231 telefono_cliente: document.getElementById('telefono_cliente').value, 232 correo_cliente: document.getElementById('correo_cliente').value, 233 observacion_cliente: document.getElementById('observacioncomprobante').value, 234 facturarConMisDatos: facturarEmpresa, 235 identificacion_contador: document.getElementById('identificacion_contador').value, 236 nombre_contador: document.getElementById('nombre_contador').value, 237 direcion_contador: document.getElementById('direcion_contador').value, 238 telefono_contador: document.getElementById('telefono_contador').value, 239 correo_contador: document.getElementById('correo_contador').value, 240 totalFactura: document.getElementById('valorcomprobante').value, 241 fechapago_solicitudSJ: document.getElementById('fechacomprobante').value, 242 bancopago_solicitudSJ: document.getElementById('bancopago_solicitudSJ').value, 243 numeropago_solicitudSJ: document.getElementById('numeropago_solicitudSJ').value, 244 }); 245 246 var precioContador = parseFloat(document.getElementById('valor_certificado').textContent.replace('$', '').replace(',', '')); 247 248 const valorFacturarNum = parseFloat(valor_facturar); 249 const precioContadorNum = parseFloat(precioContador); 250 251 if (valorFacturarNum < precioContadorNum) { 252 toastr.info("El valor a facturar no puede ser menor al precio contador.", "Importante", { timeOut: 3000 }); 253 return 254 } 255 256 } 257 258 259 260 261 262 263 var datos = new FormData(); 264 datos.append("guardarEmpresa", true); 265 datos.append("ruc", $("#ruc").val()); 266 datos.append("razon", $("#razon").val()); 267 datos.append("nombreComercial", $("#nombreComercial").val()); 268 datos.append("nombreMostrar", $("#nombreMostrar").val()); 269 datos.append("actividadEmpresa", $("#actividadEmpresa").val()); 270 datos.append("ciudad", $("#ciudad").val()); 271 datos.append("direccion", $("#direccion").val()); 272 datos.append("telefono1", $("#telefono1").val()); 273 datos.append("telefono2", $("#telefono2").val()); 274 datos.append("telefono3", $("#telefono3").val()); 275 datos.append("emailEmpresa", $("#emailEmpresa").val()); 276 datos.append("codigoArtesal", $("#codigoArtesal").val()); 277 datos.append("llevarContabilidad", $("#llevarContabilidad").val()); 278 datos.append("contribuyenteEspecial", $("#contribuyenteEspecial").val()); 279 datos.append("nuevaFoto", $("#nuevaFoto")[0].files[0]); 280 datos.append("idContador", $("#idContador").val()); 281 datos.append("nombreContador", $("#nombreContador").val()); 282 datos.append("nombreFirmaElectronica", $("#nombreFirmaElectronica")[0].files[0]); 283 datos.append("caducidadFirmaElectronica", $("#caducidadFirmaElectronica").val()); 284 datos.append("claveFirmaElectronica", $("#claveFirmaElectronica").val()); 285 datos.append("tipoAmbienteConf", $("#tipoAmbienteConf").val()); 286 datos.append("puntoEmisionT", $("#puntoEmisionT").val()); 287 datos.append("numeroEstablecimientoT", $("#numeroEstablecimientoT").val()); 288 datos.append("regimen", $("#regimen").val()); 289 datos.append("resolucion", $("#resolucion").val()); 290 datos.append("codigoCreador", $("#codigoUsuario").val()); 291 datos.append("codigoPlan", $("#codigoPlan").val()); 292 datos.append("tipoPlan", $("#tipoPlanEmpresa").val()); 293 datos.append("tipoSistema", $("#tipoSistema").val()); 294 datos.append("identificacionUsuarioEmpresa", $("#identificacionUsuarioEmpresa").val()); 295 datos.append("nombresUsuario", $("#nombresUsuarioEmpresa").val()); 296 datos.append("aliasUsuario", $("#usuarioEmpresa").val()); 297 datos.append("passwordUsuario", $("#passwordCodificar").val()); 298 datos.append("rolUsuario", $("#rolUsuarioEmpresa").val()); 299 datos.append("preciocontador", $("#contador").val()); 300 datos.append("preciopublico", $("#publico").val()); 301 datos.append("numdocumento", $("#numdocumento").val()); 302 datos.append("nombreplan", $("#nombreplan").val()); 303 datos.append("comision", $("#comision").val()); 304 datos.append("fotoUsuario", $("#nuevaFotoUsuarioEmpresa")[0].files[0]); 305 datos.append("idPlanSeleccionado", $("#idPlanSeleccionado").val());
306 if ($("#tipoPlanEmpresa").val() == "normal") { 307 datos.append("jsonCliente", JSON.stringify(jsonCliente)); 308 } 309 if (esPlanPruebas) { 310 datos.append("diasPrueba", $("#diasPrueba").val().trim()); 311 } 312 if ($("#tipoSistema").val() == "vendeFacil") { 313 datos.append("numfirma", $("#tipoSistema").val()); 314 } 315 $("#guardarEmpresa").prop("disabled", true); 316 if ($("#tipoPlanEmpresa").val() == "normal") { 317 $.ajax({ 318 url: "ajax/empresas.ajax.php", 319 type: "POST", 320 data: datos, 321 cache: false, 322 contentType: false, 323 processData: false, 324 success: function (respuesta) { 325 var respuesta = JSON.parse(respuesta); 326 $("#guardarEmpresa").prop("disabled", true); 327 if (respuesta.estado) { 328 setTimeout(() => { 329 if (respuesta.tipo == "normal") { 330 $("#idCodigoPlan").val(btoa(respuesta.codplan)); 331 $("#idCodigoEmpresa").val(btoa(respuesta.codempresa)); 332 if (!esPlanPruebas) { 333 subirArchivoComprobantePagoEmpresa(); 334 } 335 toastr.success("Empresa creada con exito!"); 336 toastr.success("Usuario creado con exito!"); 337 toastr.success("Plan creado con exito!"); 338 } else { 339 // location.reload(); 340 } 341 342 }, 1000); 343 } else { 344 toastr.error("Error al crear la empresa!"); 345 // setTimeout(() => { 346 // location.reload(); 347 // }, 1000); 348 } 349 }, 350 }); 351 } else if ($("#tipoPlanEmpresa").val() == "prepago") { 352 var data = new FormData(); 353 data.append("validarPlanUsuario", true); 354 $.ajax({ 355 url: "ajax/usuarios.ajax.php", 356 type: "POST", 357 data: data, 358 contentType: false, 359 processData: false, 360 success: function (respuesta) { 361 var data = JSON.parse(respuesta); 362 if (parseInt(data.cantidad) >= $("#codigoPlan").val()) { 363 $.ajax({ 364 url: "ajax/empresas.ajax.php", 365 type: "POST", 366 data: datos, 367 cache: false, 368 contentType: false, 369 processData: false, 370 success: function (respuesta) { 371 let data = JSON.parse(respuesta); 372 $("#guardarEmpresa").prop("disabled", true); 373 if (data.estado && data.estado == true) { 374 toastr.success("Empresa creada con exito!"); 375 toastr.success("Usuario creado con exito!"); 376 toastr.success("Plan creado con exito!"); 377 378 setTimeout(() => { 379 window.location = "empresas"; 380 }, 2000); 381 } else { 382 toastr.error("Error al crear la empresa!"); 383 $("#guardarEmpresa").prop("disabled", true); 384 // setTimeout(() => { 385 // window.location = "empresas"; 386 // }, 2000); 387 } 388 }, 389 }); 390 } else { 391 toastr.error("El número de documentos supera al total disponible del Plan Prepago"); 392 } 393 }, 394 }); 395 } 396 } else { 397 $("#guardarEmpresa").prop("disabled", false); 398 } 399 } 400 } 401 }) 402 } 403 }, 404 }); 405 }); 406 } 407 408 guardarEmpresaContamatic() { 409 $("#guardarEmpresaContamatic").click(function () { 410 411 $("#guardarEmpresaContamatic").prop("disabled", true); 412 413 /* if ($("#codigoUsuario").val() == "1") { 414 toastr.info("Este usuario no tiene permiso para el registro de sistema contables", "Importante", { timeOut: 3000 }); 415 return; 416 }*/ 417 418 const empresa = new Empresas(); 419 if ( 420 empresa.validarFormVacios("ruc") && 421 empresa.validarFormVacios("razon") && 422 empresa.validarFormVacios("nombreComercial") && 423 empresa.validarFormVacios("nombreMostrar") && 424 empresa.validarFormVacios("actividadEmpresa") && 425 empresa.validarFormVacios("ciudad") && 426 empresa.validarFormVacios("direccion") && 427 empresa.validarFormVacios("telefono1") && 428 empresa.validarFormVacios("emailEmpresa") && 429 empresa.validarFormVacios("llevarContabilidad") && 430 empresa.validarFormVacios("idReprensentante") && 431 empresa.validarFormVacios("nombreRepresentante") && 432 empresa.validarFormVacios("claveFirmaElectronica") && 433 empresa.validarFormVacios("tipoAmbienteConf") && 434 empresa.validarRuc("ruc") && 435 empresa.validarIdentificacion("idRepresentante") 436 ) { 437 438 if ($("#seleccionPlanEmpresa").val() == "") { 439 $("#guardarEmpresaContamatic").prop("disabled", false); 440 toastr.info("Seleccione el plan!", "Importante", { timeOut: 3000 }); 441 return; 442 } 443 444 var numeroArchivos = $("#comprobantePago")[0].files; 445 var numcomprobante = $("#numcomprobante").val().trim(); 446 var bancocomprobante = $("#bancocomprobante").val().trim(); 447 var valorcomprobante = $("#valorcomprobante").val().trim(); 448 var fechacomprobante = $("#fechacomprobante").val().trim(); 449 450 if (fechacomprobante == "") { 451 $("#guardarEmpresaContamatic").prop("disabled", false); 452 toastr.info("Ingrese la fecha de comprobante", "Importante", { timeOut: 3000 }); 453 return; 454 } 455 456 if (valorcomprobante == "") { 457 $("#guardarEmpresaContamatic").prop("disabled", false); 458 toastr.info("Ingrese el valor de comprobante", "Importante", { timeOut: 3000 }); 459 return; 460 } 461 462 if (bancocomprobante == "") { 463 $("#guardarEmpresaContamatic").prop("disabled", false); 464 toastr.info("Seleccione la entidad bancaria", "Importante", { timeOut: 3000 }); 465 return; 466 } 467 468 if (numcomprobante == "") { 469 $("#guardarEmpresaContamatic").prop("disabled", false); 470 toastr.info("Ingrese el número de comprobante", "Importante", { timeOut: 3000 }); 471 return; 472 } 473 474 if (numeroArchivos == "") { 475 $("#guardarEmpresaContamatic").prop("disabled", false); 476 toastr.info("Cargue el comprobante de pago", "Importante", { timeOut: 3000 }); 477 return; 478 } 479 480 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "" || numeroArchivos == '') { 481 $("#guardarEmpresaContamatic").prop("disabled", false); 482 toastr.info("Ingrese los datos de facturacion"); 483 $("#guardarEmpresaContamatic").prop("disabled", false); 484 485 return; 486 } else { 487 if (numeroArchivos.length != 0) { 488 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 489 } else { 490 $("#guardarEmpresaContamatic").prop("disabled", false); 491 toastr.info("El documento cargado debe ser una Imagen o PDF"); 492 $("#guardarEmpresaContamatic").prop("disabled", false); 493 494 return false;
495 } 496 } else { 497 $("#guardarEmpresaContamatic").prop("disabled", false); 498 toastr.info("Cargue el documento pdf o imagen del comprobante de pago"); 499 return false; 500 } 501 } 502 503 // validar monto contrato 504 if ($("#montoContrato").val().trim() === "" || Number($("#montoContrato").val().trim()) <= 0 || isNaN(Number($("#montoContrato").val().trim()))) { 505 $("#guardarEmpresaContamatic").prop("disabled", false); 506 toastr.info("Ingrese un monto válido para el contrato", "Importante", { timeOut: 3000 }); 507 return; 508 } 509 510 511 let jsonCliente = []; 512 let facturarEmpresa = document.getElementById('facturarEmpresaMisDatos').value; 513 if (facturarEmpresa == 1) { 514 facturarEmpresa = true; 515 if ($("#identificacion_contador").val() == "") { 516 $("#guardarEmpresaContamatic").prop("disabled", false); 517 toastr.info("Ingrese la identificación del contador", "Importante", { timeOut: 3000 }); 518 return; 519 } 520 521 if ($("#nombre_contador").val() == "") { 522 $("#guardarEmpresaContamatic").prop("disabled", false); 523 toastr.info("Ingrese el nombre del contador", "Importante", { timeOut: 3000 }); 524 return; 525 } 526 if ($("#direcion_contador").val() == "") { 527 $("#guardarEmpresaContamatic").prop("disabled", false); 528 toastr.info("Ingrese la dirección del contador", "Importante", { timeOut: 3000 }); 529 return; 530 } 531 if ($("#telefono_contador").val() == "") { 532 $("#guardarEmpresaContamatic").prop("disabled", false); 533 toastr.info("ngrese el telefono del contador", "Importante", { timeOut: 3000 }); 534 return; 535 } 536 if ($("#correo_contador").val() == "") { 537 $("#guardarEmpresaContamatic").prop("disabled", false); 538 toastr.info("Ingrese el correo del contador", "Importante", { timeOut: 3000 }); 539 return; 540 } 541 542 } else { 543 facturarEmpresa = false; 544 if ($("#identificacion_cliente").val() == "") { 545 $("#guardarEmpresaContamatic").prop("disabled", false); 546 toastr.info("Ingrese la identificación del cliente para facturar", "Importante", { timeOut: 3000 }); 547 return; 548 } 549 550 if ($("#nombre_cliente").val() == "") { 551 $("#guardarEmpresaContamatic").prop("disabled", false); 552 toastr.info("Ingrese el nombre del cliente para facturar", "Importante", { timeOut: 3000 }); 553 return; 554 } 555 if ($("#direccion_cliente").val() == "") { 556 $("#guardarEmpresaContamatic").prop("disabled", false); 557 toastr.info("Ingrese la dirección del cliente para facturar", "Importante", { timeOut: 3000 }); 558 return; 559 } 560 if ($("#telefono_cliente").val() == "") { 561 $("#guardarEmpresaContamatic").prop("disabled", false); 562 toastr.info("Ingrese el teléfono del cliente para facturar", "Importante", { timeOut: 3000 }); 563 return; 564 } 565 if ($("#correo_cliente").val() == "") { 566 $("#guardarEmpresaContamatic").prop("disabled", false); 567 toastr.info("Ingrese el correo del cliente para facturar", "Importante", { timeOut: 3000 }); 568 return; 569 } 570 } 571 572 let terminosCondiciones = $("#aceptarCondiciones").is(":checked"); 573 if (!terminosCondiciones) { 574 toastr.info("Acepte los terminos y condiciones", "Importante", { timeOut: 3000 }); 575 $("#guardarEmpresaContamatic").prop("disabled", false); 576 return; 577 } 578 579 if (Number($("#esGratuito").val()) == 1) { 580 if ($("#rolUsuarioContable").val().trim() == "") { 581 toastr.info("Ingrese el rol que cumple en la empresa", "Importante", { timeOut: 3000 }); 582 $("#guardarEmpresaContamatic").prop("disabled", false); 583 return; 584 } 585 } 586 587 const selectElement = document.getElementById('bancocomprobante'); 588 const selectedOption = selectElement.options[selectElement.selectedIndex];
589 const codigoBanco = selectedOption.getAttribute('codigoBanco'); 590 591 592 jsonCliente.push({ 593 identificacion_cliente: document.getElementById('identificacion_cliente').value, 594 nombre_cliente: document.getElementById('nombre_cliente').value, 595 direccion_cliente: document.getElementById('direccion_cliente').value, 596 telefono_cliente: document.getElementById('telefono_cliente').value, 597 correo_cliente: document.getElementById('correo_cliente').value, 598 observacion_cliente: document.getElementById('observacioncomprobante').value, 599 facturarConMisDatos: facturarEmpresa, 600 identificacion_contador: document.getElementById('identificacion_contador').value, 601 nombre_contador: document.getElementById('nombre_contador').value, 602 direcion_contador: document.getElementById('direcion_contador').value, 603 telefono_contador: document.getElementById('telefono_contador').value, 604 correo_contador: document.getElementById('correo_contador').value, 605 totalFactura: document.getElementById('valorcomprobante').value, 606 fechapago_solicitudSJ: document.getElementById('fechacomprobante').value, 607 bancopago_solicitudSJ: codigoBanco, 608 numeropago_solicitudSJ: document.getElementById('numcomprobante').value, 609 }); 610 611 612 var precioContador = parseFloat(document.getElementById('valor_certificado').textContent.replace('$', '').replace(',', '')); 613 614 const valorFacturarNum = parseFloat(valor_facturar); 615 const precioContadorNum = parseFloat(precioContador); 616 617 if (valorFacturarNum < precioContadorNum) { 618 $("#guardarEmpresaContamatic").prop("disabled", false); 619 toastr.info("El valor a facturar no puede ser menor al precio contador.", "Importante", { timeOut: 3000 }); 620 return 621 } 622 623 let tipoMensualidad = ''; 624 const valorMensualidad = parseFloat(document.getElementById('valor_certificado').textContent.replace('$', '').replace(',', ''));; 625 if ($("#tipoPlanEmpresaContable").val() === 'anual') { 626 tipoMensualidad = "12" 627 } else if ($("#tipoPlanEmpresaContable").val() === 'mensual') { 628 tipoMensualidad = "1" 629 } 630 631 var datos = new FormData(); 632 datos.append("guardarEmpresa", true); 633 datos.append("ruc", $("#ruc").val()); 634 datos.append("razon", $("#razon").val()); 635 datos.append("nombreComercial", $("#nombreComercial").val()); 636 datos.append("nombreMostrar", $("#nombreMostrar").val()); 637 datos.append("actividadEmpresa", $("#actividadEmpresa").val()); 638 datos.append("ciudad", $("#ciudad").val()); 639 datos.append("direccion", $("#direccion").val()); 640 datos.append("telefono1", $("#telefono1").val()); 641 datos.append("telefono2", $("#telefono2").val()); 642 datos.append("telefono3", $("#telefono3").val()); 643 datos.append("emailEmpresa", $("#emailEmpresa").val()); 644 datos.append("codigoArtesal", $("#codigoArtesal").val()); 645 datos.append("llevarContabilidad", $("#llevarContabilidad").val()); 646 datos.append( 647 "contribuyenteEspecial", 648 $("#contribuyenteEspecial").val() 649 ); 650 if ($("#nuevaFoto").val() != "") { 651 datos.append("nuevaFoto", $("#nuevaFoto")[0].files[0]); 652 } else { 653 datos.append("nuevaFoto", ""); 654 } 655 656 datos.append("idRepresentante", $("#idRepresentante").val()); 657 datos.append("nombreRepresentante", $("#nombreRepresentante").val()); 658 datos.append("idContador", $("#idContador").val()); 659 datos.append("nombreContador", $("#nombreContador").val()); 660 datos.append("fechaFacturarContable", $("#fechaDeFacturarContable").val()); 661 datos.append("montoContrato", $("#montoContrato").val()); 662 663 datos.append( 664 "nombreFirmaElectronica", 665 $("#nombreFirmaElectronica")[0].files[0] 666 ); 667 668 datos.append( 669 "comprobantePago", 670 $("#comprobantePago")[0].files[0] 671 ); 672 //Caducidad Firma Electronica 673 datos.append("caducidadFirmaElectronica", $("#caducidadFirmaElectronica").val()); 674 //datos.append("nombreFirmaElectronica", "firma"); 675 datos.append("claveFirmaElectronica", $("#claveFirmaElectronica").val()); 676 datos.append("tipoAmbienteConf", $("#tipoAmbienteConf").val()); 677 datos.append("puntoEmisionT", $("#puntoEmisionT").val()); 678 datos.append("numeroEstablecimientoT", $("#numeroEstablecimientoT").val()); 679 datos.append("regimen", $("#regimen").val()); 680 datos.append("resolucion", $("#resolucion").val()); 681 datos.append("codigoCreador", $("#codigoUsuario").val()); 682 //NUMERO DE DOCUMENTOS DEL PLAN 683 datos.append("tipoPlan", $("#tipoPlanEmpresaContable").val()); 684 //Guardar usuarios 685 datos.append("identificacionUsuarioEmpresa", $("#identificacionUsuarioEmpresa").val()); 686 datos.append("nombresUsuario", $("#nombresUsuarioEmpresa").val()); 687 datos.append("aliasUsuario", $("#usuarioEmpresa").val()); 688 datos.append("passwordUsuario", $("#passwordCodificar").val()); 689 datos.append("rolUsuario", $("#rolUsuarioEmpresa").val()); 690 //datos.append("emailUsuario", $("#emailsUsuarioEmpresa").val()); 691 692 datos.append("seleccionPlanEmpresa", $("#seleccionPlanEmpresa").val()); 693 datos.append("rolUsuarioCreaEmpresa", $("#rolUsuarioContable").val()); 694 datos.append("idPlanEmpresa", $("#idPlanEmpresa").val()); 695 datos.append("ilimitado", $("#ilimitado").val()); 696 697 698 datos.append("fotoUsuario", ""); 699 datos.append("bancocomprobante", $("#bancocomprobante").val()); 700 datos.append("codigoBanco", $("#bancocomprobante option:selected").attr("codigoBanco")) 701 datos.append("numcomprobante", $("#numcomprobante").val()); 702 datos.append("fechacomprobante", $("#fechacomprobante").val()); 703 datos.append("valorcomprobante", $("#valorcomprobante").val()); 704 datos.append("comentariocomprobante", $("#observacioncomprobante").val()); 705 datos.append("tipoMensualidad", tipoMensualidad); 706 datos.append("valorMensualidad", valorMensualidad); 707 //INFORMACIÃN ADICIONAL PARA LIGAR A UN CONTADOR A LAS EMPRESA 708 datos.append("codigoContadorPerteneciente", $("#codigoContadorPerteneciente").val()); 709 datos.append("nombreContadorPerteneciente", $("#nombreContadorPerteneciente").val()); 710 datos.append("checkInterbancaria", $("#toggleInterbancaria").prop("checked") ? 1 : 0); 711 datos.append("jsonCliente", JSON.stringify(jsonCliente)); 712 713 /**seccion para las comisiones */ 714 var valorFactura = parseFloat(document.getElementById('valorcomprobante').value); 715 var valorContadorElemt = document.getElementById("valor_certificado"); 716 var valorContador = valorContadorElemt.textContent.trim(); 717 valorContador = valorContador.replace(/[^0-9.]/g, ''); 718 var valorContadorNumerico = parseFloat(valorContador); 719 var valorComi = valorFactura - valorContadorNumerico; 720 721 var valorComiRedondeado = valorComi.toFixed(2); 722 var valorComiNumerico = parseFloat(valorComiRedondeado);
723 datos.append("comisionPlan", valorComiNumerico); 724 $("#guardarEmpresaContamatic").prop("disabled", true); 725 $.ajax({ 726 url: "ajax/empresa-contamatic.ajax.php", 727 type: "POST", 728 data: datos, 729 cache: false, 730 contentType: false, 731 processData: false, 732 success: function (respuesta) { 733 try { 734 $("#guardarEmpresaContamatic").prop("disabled", true); 735 if (JSON.parse(respuesta) == "ok") { 736 toastr.success("Solicitud enviada con exito!"); 737 setTimeout(() => { 738 window.location = "empresas"; 739 }, 2000); 740 } else { 741 toastr.error("Error al crear la empresa!"); 742 setTimeout(() => { 743 //window.location = "empresas"; 744 }, 2000); 745 } 746 } catch (e) { 747 toastr.error("Ocurrio un error inesperado!"); 748 return; 749 } 750 751 }, 752 }); 753 754 } else { 755 $("#guardarEmpresaContamatic").prop("disabled", false); 756 } 757 758 }); 759 } 760 761 /* -------------------------------------------------------------------------- */ 762 /* CARGAR IMAGEN EMPRESA */ 763 /* -------------------------------------------------------------------------- */ 764 cargarImagenEmpresa() { 765 $(".nuevaFoto").change(function () { 766 var imagen = this.files[0]; 767 768 // VALIDAMOS EL FORMATO DE LA IMAGEN SEA JPG O PNG 769 if (imagen["type"] != "image/jpeg" && imagen["type"] != "image/png") { 770 $(".nuevaFoto").val(""); 771 772 swal({ 773 icon: "error", 774 title: "!Error al subir la imagen", 775 text: "La imagen debe estar en formato JPG o PNG!", 776 showConfirmButton: true, 777 confirmButtonText: "Cerrar", 778 closeOnConfirm: false, 779 }); 780 } else if (imagen["size"] > 2000000) { 781 swal({ 782 icon: "error", 783 title: "!Error al subir la imagen", 784 text: "La imagen no debe pesar mas de 2MB!", 785 showConfirmButton: true, 786 confirmButtonText: "Cerrar", 787 closeOnConfirm: false, 788 }); 789 } else { 790 var datosImagen = new FileReader(); 791 datosImagen.readAsDataURL(imagen); 792 $(datosImagen).on("load", function (event) { 793 var rutaImagen = event.target.result; 794 $(".previsualizar").attr("src", rutaImagen); 795 }); 796 } 797 }); 798 } 799 800 /* -------------------------------------------------------------------------- */ 801 /* CARGAR IMAGEN USUARIO */ 802 /* -------------------------------------------------------------------------- */ 803 804 cargarImagenUsuario() { 805 $(".nuevaFotoUsuario").change(function () { 806 var imagen = this.files[0]; 807 808 // VALIDAMOS EL FORMATO DE LA IMAGEN SEA JPG O PNG 809 if (imagen["type"] != "image/jpeg" && imagen["type"] != "image/png") { 810 $(".nuevaFotoUsuario").val(""); 811 812 swal({ 813 icon: "error", 814 title: "!Error al subir la imagen", 815 text: "La imagen debe estar en formato JPG o PNG!", 816 showConfirmButton: true, 817 confirmButtonText: "Cerrar", 818 closeOnConfirm: false, 819 }); 820 } else if (imagen["size"] > 2000000) { 821 swal({ 822 icon: "error", 823 title: "!Error al subir la imagen", 824 text: "La imagen no debe pesar mas de 2MB!", 825 showConfirmButton: true, 826 confirmButtonText: "Cerrar", 827 closeOnConfirm: false, 828 }); 829 } else { 830 var datosImagen = new FileReader(); 831 datosImagen.readAsDataURL(imagen); 832 $(datosImagen).on("load", function (event) { 833 var rutaImagen = event.target.result; 834 $(".previsualizarFotoUsuario").attr("src", rutaImagen); 835 }); 836 } 837 }); 838 } 839 840 inhabilitarPlanesPorVences() { 841 842 } 843 844 845 /* -------------------------------------------------------------------------- */ 846 /* VALIDACION SOLO NUMEROS EN LOS CAMPOS */ 847 /* -------------------------------------------------------------------------- */ 848 849 SoloNumeroEmail() { 850 $("#ruc").on("input", function () { 851 this.value = this.value.replace(/[^0-9]/g, ""); 852 }); 853 $("#telefono1").on("input", function () { 854 this.value = this.value.replace(/[^0-9]/g, ""); 855 }); 856 857 $("#emailEmpresa").change(function (e) { 858 var caracteres = 859 /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 860 var IdEmail = this.value; 861 862 if (caracteres.test(IdEmail)) this.style.backgroundColor = ""; 863 else this.style.backgroundColor = "LightPink"; 864 }); 865 866 /* $("#telefono1").on("input", function () { 867 this.value = this.value.replace(/[^0-9]/g, ""); 868 }); 869 870 $("#telefono2").on("input", function () { 871 this.value = this.value.replace(/[^0-9]/g, ""); 872 }); 873 874 $("#telefono3").on("input", function () { 875 this.value = this.value.replace(/[^0-9]/g, ""); 876 }); */ 877 878 $("#idRepresentante").on("input", function () { 879 this.value = this.value.replace(/[^0-9]/g, ""); 880 }); 881 882 /*$("#idContador").on("input", function () { 883 this.value = this.value.replace(/[^0-9]/g, ""); 884 });*/ 885 886 $("#identificacionUsuarioEmpresa").on("input", function () { 887 this.value = this.value.replace(/[^0-9]/g, ""); 888 }); 889 $("#numeropago_solicitudSJ").on("input", function () { 890 this.value = this.value.replace(/[^0-9-]/g, ""); 891 }); 892 $("#valorcomprobante").on("input", function () { 893 //this.value = this.value.replace(/[^0-9.,]/g, "");
894 this.value = this.value.replace(/[^0-9.-]/g, "").replace(/(\..*)\./g, '$1').replace(/(?!^)-/g, ''); 895 896 }); 897 898 899 900 $("#cant_facturas").on("input", function () { 901 this.value = this.value.replace(/[^0-9]/g, ""); 902 }); 903 904 $("#codigoPlan").on("input", function () { 905 this.value = this.value.replace(/[^0-9]/g, ""); 906 }); 907 } 908 909 /* -------------------------------------------------------------------------- */ 910 /* MENSAJE PARA MOSTRAR AL USUARIO */ 911 /* -------------------------------------------------------------------------- */ 912 mensajeMostrar() { 913 const mensaje = { 914 ruc: "Por favor ingrese el ruc es un campo obligatorio se encuentra en la primera pestaña", 915 razon: 916 "Por favor ingrese la razon es un campo obligatorio se encuentra en la primera pestaña", 917 nombreComercial: 918 "Por favor ingrese el nombre comercial es un campo obligatorio se encuentra en la primera pestaña", 919 nombreMostrar: 920 "Por favor ingrese el nombre mostrar es un campo obligatorio se encuentra en la primera pestaña", 921 actividadEmpresa: 922 "Por favor ingrese la actividad de su empresa es un campo obligatorio se encuentra en la primera pestaña", 923 ciudad: 924 "Por favor ingrese la ciudad donde se encuentra su empresa es un campo obligatorio se encuentra en la primera pestaña", 925 direccion: 926 "Por favor ingrese la dirección su empresa es un campo obligatorio se encuentra en la primera pestaña", 927 telefono1: 928 "Por favor ingrese un numero de teléfono de la empresa es un campo obligatorio se encuentra en la primera pestaña", 929 emailEmpresa: 930 "Por favor ingrese un correo electrónico de la empresa es un campo obligatorio se encuentra en la primera pestaña", 931 llevarContabilidad: 932 "Por favor indique si es obligado o no a llevar contabilidad es un campo obligatorio se encuentra en la primera pestaña", 933 idReprensentante: 934 "Por favor ingrese la indentificacion del representante legal de la empresa es un campo obligatorio se encuentra en la primera pestaña", 935 nombreRepresentante: 936 "Por favor ingrese el nombre del representante legal de la empresa es un campo obligatorio se encuentra en la primera pestaña", 937 idContador: 938 "Por favor ingrese la identificacion del contador de la empresa es un campo obligatorio se encuentra en la primera pestaña", 939 nombreContador: 940 "Por favor ingrese el nombre del contador de la empresa es un campo obligatorio se encuentra en la primera pestaña", 941 claveFirmaElectronica: 942 "Por favor ingrese la clave de la firma electronica es un campo obligatorio se encuentra en la tercera pestaña", 943 tipoAmbienteConf: 944 "Por favor seleccione el tipo de ambiente es un campo obligatorio se encuentra en la tercera pestaña", 945 telefono1: 946 "Por favor ingrese correctamente el teléfono recuerde que contiene 10 digitos, se encuentra en la primera pestaña", 947 idRepresentante: 948 "Por favor ingrese correctamente la identificación del representante recuerde que contiene 13 digitos si es ruc o 10 digitos si es cedula, se encuentra en la primera pestaña", 949 idContador: 950 "Por favor ingrese correctamente la identificación del contador recuerde que contiene 13 digitos si es ruc o 10 digitos si es cedula, se encuentra en la primera pestaña", 951 usuarioEmpresa: 952 "Por favor ingrese un usuario es necesario para el ingreso al sistema", 953 passwordCodificar: 954 "Por favor ingrese una contraseña es necesario para el ingreso al sistema", 955 identificacionUsuarioEmpresa: 956 "Por favor ingrese correctamente la identificación del usuario recuerde que contiene 13 digitos si es ruc o 10 digitos si es cedula, se encuentra en la segunda pestaña", 957 nombresUsuarioEmpresa: 958 "Por favor ingrese el nombre del usuario es necesario para ingreso al sistema del se encuentra en la segunda pantalla", 959 /*emailsUsuarioEmpresa: 960 "Por favor ingrese el email del usuario es necesario para ingreso al sistema del se encuentra en la segunda pantalla", 961 */cant_facturas: "La cantidad de facturas es necesario para el sistema", 962 }; 963 return mensaje; 964 } 965 966 /* -------------------------------------------------------------------------- */ 967 /* VALIDAR LOS CAMPOS QUE ESTAN VACIOS */ 968 /* -------------------------------------------------------------------------- */ 969 validarFormVacios(idInput) { 970 if ($(`#${idInput}`).val() == "") { 971 toastr.info(this.mensajeMostrar()[`${idInput}`]); 972 973 return false;
974 } else { 975 return true; 976 } 977 } 978 979 /* -------------------------------------------------------------------------- */ 980 /* VALIDAR EL RUC DE LOS CAMPOS */ 981 /* -------------------------------------------------------------------------- */ 982 validarRuc(idInput) { 983 if ($(`#${idInput}`).val().length < 13) { 984 toastr.info( 985 "Por favor ingrese correctamente el ruc recuerde que contiene 13 digitos, se encuentra en la primera pestaña" 986 ); 987 988 return false; 989 } else { 990 return true; 991 } 992 } 993 994 /* -------------------------------------------------------------------------- */ 995 /* VALIDAR LA INDENTIFICACION DE LOS CAMPOS */ 996 /* -------------------------------------------------------------------------- */ 997 validarIdentificacion(idInput) { 998 if ($(`#${idInput}`).val().length < 10) { 999 toastr.info(this.mensajeMostrar()[`${idInput}`]); 1000 return false; 1001 } else { 1002 return true; 1003 } 1004 } 1005 1006 /* -------------------------------------------------------------------------- */ 1007 /* VALIDAR CARACTERES DE LA CADENA USUARIO / ALIAS */ 1008 /* -------------------------------------------------------------------------- */ 1009 1010 usuarioCredenciales() { 1011 1012 $('#usuarioEmpresa').on('keyup change paste', function (e) { 1013 1014 1015 var textojuntado = document.getElementById('usuarioEmpresa').value; 1016 document.getElementById('usuarioEmpresa').value = textojuntado.replace(/\s/g, ''); 1017 1018 }); 1019 } 1020 1021 /* -------------------------------------------------------------------------- */ 1022 /* VALIDAR USUARIO REPETIDO EN FACTURACION ELECTRONICA */ 1023 /* -------------------------------------------------------------------------- */ 1024 1025 usuariosRepetidoFacturacion() { 1026 $("#usuarioEmpresa").change(function () { 1027 1028 if (window.location.href.indexOf("crearEmpresa") > -1) { 1029 1030 /* var usuario = $(this).val(); 1031 1032 var datos = new FormData(); 1033 1034 datos.append("validarUsuarioFacturacion", usuario); 1035 datos.append("sistema", 'facturalo'); 1036 $.ajax({ 1037 url: "ajax/empresas.ajax.php", 1038 type: "POST", 1039 data: datos, 1040 cache: false, 1041 contentType: false, 1042 processData: false, 1043 dataType: "json", 1044 success: function (respuesta) { 1045 if (respuesta) { 1046 toastr.error("Este usuario ya existe, intente con uno distinto!"); 1047 $("#usuarioEmpresa").val(""); 1048 } 1049 }, 1050 });*/ 1051 1052 } 1053 else if (window.location.href.indexOf("crear-empresa-contable") > -1) { 1054 1055 var usuario = $(this).val(); 1056 1057 var datos = new FormData(); 1058 1059 datos.append("validarUsuarioContamatic", usuario); 1060 1061 $.ajax({ 1062 url: "ajax/empresas.ajax.php", 1063 type: "POST", 1064 data: datos, 1065 cache: false, 1066 contentType: false, 1067 processData: false, 1068 dataType: "json", 1069 success: function (respuesta) { 1070 if (respuesta) { 1071 toastr.error("Este usuario ya existe, intente con uno distinto!"); 1072 $("#usuarioEmpresa").val(""); 1073 } 1074 }, 1075 }); 1076 1077 } 1078 1079 1080 1081 }); 1082 } 1083 1084 /* -------------------------------------------------------------------------- */ 1085 /* VALIDAR QUE EL CORREO NO FUE REGISTRADO ANTERIORMENTE */ 1086 /* -------------------------------------------------------------------------- */ 1087 1088 1089 usuariosCorreoRepetidoCuenta() { 1090 $("#emailsUsuarioEmpresa").change(function () { 1091 var correo = $(this).val(); 1092 var datos = new FormData(); 1093 1094 datos.append("validarCorreoUsuario", true); 1095 datos.append("correoUsuario", correo); 1096 1097 $.ajax({ 1098 url: "ajax/empresas.ajax.php", 1099 type: "POST", 1100 data: datos, 1101 cache: false, 1102 contentType: false, 1103 processData: false, 1104 success: function (respuesta) { 1105 if (respuesta.trim() == "repetido") { 1106 toastr.error("Este correo ya fue registrado por otro usuario!"); 1107 $("#emailsUsuarioEmpresa").val(""); 1108 } 1109 }, 1110 }); 1111 }); 1112 } 1113 1114 1115 1116 1117 1118 empresaRepetidaFacturacion() { 1119 $("#nombreComercial").change(function () { 1120 var empresa = $(this).val(); 1121 var datos = new FormData(); 1122 1123 datos.append("validarEmpresa", empresa); 1124 1125 $.ajax({ 1126 url: "ajax/empresas.ajax.php", 1127 type: "POST", 1128 data: datos, 1129 cache: false, 1130 contentType: false, 1131 processData: false, 1132 dataType: "json", 1133 success: function (respuesta) { 1134 if (respuesta) { 1135 toastr.error("Esta empresa ya existe!"); 1136 $("#nombreComercial").val(""); 1137 } 1138 }, 1139 }); 1140 }); 1141 } 1142 1143 /*============================================= 1144 ACTIVAR Y DESACTIVAR ESTADO PLAN 1145 =============================================*/ 1146 1147 empresaPlanEstado() { 1148 $(document).ready(function () { 1149 $(".btnActivarEstado").click(function () { 1150 1151 1152 var codDetallePlan = $(this).attr("coddetalleplan"); 1153 var estadoPlan = $(this).attr("codestadodetalleplan"); 1154 1155 1156 }); 1157 }); 1158 } 1159 1160 /*============================================= 1161 MOSTRAR TIPO DE PLAN DEL USUARIO 1162 =============================================*/ 1163 1164 tipodeplan() { 1165 var datos = new FormData(); 1166 datos.append("validarPlanUsuario", true); 1167 $.ajax({ 1168 url: "ajax/usuarios.ajax.php", 1169 type: "POST", 1170 data: datos, 1171 contentType: false, 1172 processData: false, 1173 success: function (respuesta) { 1174 var datos = JSON.parse(respuesta); 1175 if (datos.tipo == "prepago") {
1176 $('#tipoPlanEmpresa').append(new Option("PLAN PREPAGO", "prepago")) 1177 } else { 1178 1179 $('#tipoPlanEmpresa').prop('disabled', true); 1180 1181 1182 1183 } 1184 }, 1185 }); 1186 } 1187 1188 /*========================================================================= 1189 VALIDAR EL NUMERO DE DOCUMENTOS DISPONIBLES PARA RECARAGAR POR PLAN PREPAGO 1190 ===========================================================================*/ 1191 1192 1193 numeroDocumentosPlanUsuario() { 1194 1195 $('#codigoPlan').on('keyup change paste', function (e) { 1196 1197 var option = $("#tipoPlanEmpresa").val(); 1198 var campo = $(this).val(); 1199 campo = campo < 50 && campo != "" ? 50 : campo; 1200 1201 if (option == "prepago") { 1202 1203 var datos = new FormData(); 1204 datos.append("validarPlanUsuario", true); 1205 $.ajax({ 1206 url: "ajax/usuarios.ajax.php", 1207 type: "POST", 1208 data: datos, 1209 contentType: false, 1210 processData: false, 1211 success: function (respuesta) { 1212 var datos = JSON.parse(respuesta); 1213 1214 if (parseInt(datos.cantidad) >= campo) { 1215 $("#mensaje-info-prepago").show(); 1216 $("#mensaje-documentos").show(); 1217 $("#mensaje-documentos").addClass("badge-info"); 1218 $("#mensaje-documentos").removeClass("badge-danger"); 1219 $("#mensaje-documentos").text("Documentos restantes de su Plan Prepago: " + (datos.cantidad - campo)); 1220 1221 1222 1223 1224 } else { 1225 $("#mensaje-info-prepago").show(); 1226 $("#mensaje-documentos").show(); 1227 $("#mensaje-documentos").removeClass("badge-info"); 1228 $("#mensaje-documentos").addClass("badge-danger"); 1229 $("#mensaje-documentos").text("La cantidad indicada sobrepasa el total de documentos electrónicos de su Plan Prepago"); 1230 } 1231 1232 1233 1234 }, 1235 }); 1236 1237 } 1238 else { 1239 1240 $("#mensaje-info-prepago").hide(); 1241 $("#mensaje-documentos").hide(); 1242 $("#mensaje-documentos").text(""); 1243 } 1244 1245 }); 1246 } 1247 1248 /*========================================================================= 1249 VALIDAR EL NUMERO DE DOCUMENTOS DISPONIBLES PARA RECARAGAR POR PLAN PREPAGO 1250 ===========================================================================*/ 1251 1252 numeroDocumentosPlanUsuario2() { 1253 1254 $('#tipoPlanEmpresa').on('change', function (e) { 1255 1256 var option = $("#tipoPlanEmpresa").val(); 1257 var campo = $("#codigoPlan").val(); 1258 campo = campo < 50 && campo != "" ? 50 : campo; 1259 if (option == "prepago") { 1260 $("#pills-facturacion-tab").parent().hide(); 1261 1262 // Si la pestaña de facturación está activa, desactivarla 1263 if ($('#pills-facturacion-tab').hasClass('active')) { 1264 $('#pills-facturacion-tab').removeClass('active'); 1265 $('#pills-facturacion').removeClass('active show'); 1266 } 1267 1268 // Seleccionar otra pestaña 1269 $('#pills-otra-tab').addClass('active'); 1270 $('#pills-otra').addClass('active show'); 1271 1272 var datos = new FormData(); 1273 datos.append("validarPlanUsuario", true); 1274 $.ajax({ 1275 url: "ajax/usuarios.ajax.php", 1276 type: "POST", 1277 data: datos, 1278 contentType: false, 1279 processData: false, 1280 success: function (respuesta) { 1281 var datos = JSON.parse(respuesta); 1282 1283 if (parseInt(datos.cantidad) >= campo) { 1284 1285 $("#campoIngresoPrepago").show(); 1286 $("#campoIngresoNormal").hide(); 1287 $("#mensaje-info-prepago").show(); 1288 $("#mensaje-documentos").show(); 1289 $("#mensaje-documentos").addClass("badge-info"); 1290 $("#mensaje-documentos").removeClass("badge-danger"); 1291 $("#mensaje-documentos").text("Documentos restantes de su Plan Prepago: " + (datos.cantidad - campo)); 1292 1293 } else { 1294 $("#campoIngresoPrepago").show(); 1295 $("#campoIngresoNormal").hide(); 1296 $("#mensaje-info-prepago").show(); 1297 $("#mensaje-documentos").show(); 1298 $("#mensaje-documentos").removeClass("badge-info"); 1299 $("#mensaje-documentos").addClass("badge-danger"); 1300 $("#mensaje-documentos").text("La cantidad indicada sobrepasa el total de documentos electrónicos de su Plan Prepago"); 1301 1302 } 1303 }, 1304 }); 1305 1306 } 1307 else { 1308 $("#pills-facturacion-tab").parent().show(); 1309 1310 $("#codigoPlan").val(""); 1311 $("#seleccionPlanNormal").val(""); 1312 $("#campoIngresoPrepago").hide(); 1313 $("#campoIngresoNormal").show(); 1314 $("#mensaje-info-prepago").hide(); 1315 $("#mensaje-documentos").hide(); 1316 $("#mensaje-documentos").text(""); 1317 } 1318 1319 }); 1320 } 1321 1322 1323 1324 1325 } 1326 1327 class Facturacion { 1328 1329 constructor() { 1330 1331 1332 1333 1334 } 1335 1336 async postRequest($url, parametros) {
1337 try { 1338 const resultado = await fetch($url, { 1339 method: 'POST', 1340 body: parametros 1341 }); 1342 const datos = resultado.json(); 1343 return datos; 1344 } catch (error) { 1345 throw error; 1346 } 1347 } 1348 1349 async obtenerInformacionPerfil() { 1350 1351 let url = 'ajax/facturacion/facturacion.ajax.php'; 1352 let parametros = new FormData(); 1353 parametros.append("informacionPerfil", true); 1354 let resultado = await this.postRequest(url, parametros); 1355 if (resultado.operacion) { 1356 //id, nombre, direccion, email, telefono 1357 document.getElementById('identificacion_contador').value = resultado.data.identificacion; 1358 document.getElementById('nombre_contador').value = resultado.data.nombre; 1359 document.getElementById('direcion_contador').value = resultado.data.direccion; 1360 document.getElementById('telefono_contador').value = resultado.data.telefono; 1361 document.getElementById('correo_contador').value = resultado.data.email; 1362 $("#facturarEmpresa").prop('checked', true); 1363 } else { 1364 toastr.error(resultado.mensaje); 1365 } 1366 1367 1368 } 1369 1370 async actualizarInformacionPerfil() { 1371 1372 let identificacion = document.getElementById('identificacion_contador').value; 1373 if (identificacion.length > 10) { 1374 let ruc_ = identificacion.substr(10); 1375 if (ruc_ != '001') { 1376 toastr.info( 1377 "El ruc es invalido", 1378 "Importante", 1379 { timeOut: 3000 } 1380 ); 1381 return false;; 1382 } 1383 } else { 1384 if (identificacion.length != 10) { 1385 toastr.info( 1386 "Identificación incorrecta", 1387 "Importante", 1388 { timeOut: 3000 } 1389 ); 1390 return false;; 1391 } 1392 } 1393 1394 let nombre = document.getElementById('nombre_contador').value; 1395 let direccion = document.getElementById('direcion_contador').value; 1396 let email = document.getElementById('correo_contador').value; 1397 let telefono = document.getElementById('telefono_contador').value; 1398 1399 let url = 'ajax/facturacion/facturacion.ajax.php'; 1400 let parametros = new FormData(); 1401 parametros.append("actualizarPerfil", true); 1402 parametros.append("identificacion", identificacion); 1403 parametros.append("nombre", nombre); 1404 parametros.append("direccion", direccion); 1405 parametros.append("email", email); 1406 parametros.append("telefono", telefono); 1407 1408 let resultado = await this.postRequest(url, parametros); 1409 if (resultado.operacion) { 1410 1411 toastr.success(resultado.mensaje); 1412 } else { 1413 toastr.error(resultado.mensaje); 1414 } 1415 } 1416 1417 1418 async actualizarInformacionPerfilMensualidad() { 1419 1420 let identificacion = document.getElementById('identificacion_contadorMensualidad').value; 1421 if (identificacion.length > 10) { 1422 let ruc_ = identificacion.substr(10); 1423 if (ruc_ != '001') { 1424 toastr.info( 1425 "El ruc es invalido", 1426 "Importante", 1427 { timeOut: 3000 } 1428 ); 1429 return false;; 1430 } 1431 } else { 1432 if (identificacion.length != 10) { 1433 toastr.info( 1434 "Identificación incorrecta", 1435 "Importante", 1436 { timeOut: 3000 } 1437 ); 1438 return false;; 1439 } 1440 } 1441 1442 let nombre = document.getElementById('nombre_contadorMensualidad').value; 1443 let direccion = document.getElementById('direcion_contadorMensualidad').value; 1444 let email = document.getElementById('correo_contadorMensualidad').value; 1445 let telefono = document.getElementById('telefono_contadorMensualidad').value; 1446 1447 let url = 'ajax/facturacion/facturacion.ajax.php'; 1448 let parametros = new FormData(); 1449 parametros.append("actualizarPerfil", true); 1450 parametros.append("identificacion", identificacion); 1451 parametros.append("nombre", nombre); 1452 parametros.append("direccion", direccion); 1453 parametros.append("email", email); 1454 parametros.append("telefono", telefono); 1455 1456 let resultado = await this.postRequest(url, parametros); 1457 if (resultado.operacion) { 1458 1459 toastr.success(resultado.mensaje); 1460 } else { 1461 toastr.error(resultado.mensaje); 1462 } 1463 1464 1465 } 1466 1467 1468 eventoChangeCampoTexto(id, limite, mensaje) { 1469 $(document).on("change", id, function () { 1470 if ($(this).val().length < limite) { 1471 $(`#mensaje_${$(this).attr("id")}`).html(mensaje); 1472 } else { 1473 $(`#mensaje_${$(this).attr("id")}`).html(""); 1474 $(".requerircampoletras").css("border", "1px solid #e9ecef"); 1475 $(".requerircamponumero").css("border", "1px solid #e9ecef"); 1476 $(".requerircorreo").css("border", "1px solid #e9ecef"); 1477 $(".requerircampo").css("border", "1px solid #e9ecef"); 1478 } 1479 }); 1480 } 1481 1482 eventoChangeCampoIdentificacion(id, limite, mensaje) { 1483 $(document).on("change", id, function () { 1484 let valor = $(this).val(); 1485 if (valor.length > 10) { 1486 let ruc_ = valor.substr(10); 1487 if (ruc_ != '001') { 1488 $(`#mensaje_${$(this).attr("id")}_solicitudSJ`).html(mensaje); 1489 $(`#mensaje_${$(this).attr("id")}_solicitudSJ`).css("color", "red"); 1490 } else { 1491 $(`#mensaje_${$(this).attr("id")}_solicitudSJ`).html(''); 1492 } 1493 } else { 1494 if (valor.length != 10) { 1495 $(`#mensaje_${$(this).attr("id")}_solicitudSJ`).html(mensaje); 1496 /* $(".requerircampoletras").css("border", "1px solid #e9ecef"); */ 1497 $(".requerircamponumero").css("border", "1px solid #e9ecef"); 1498 $(`#mensaje_${$(this).attr("id")}_solicitudSJ`).css("color", "red"); 1499 /* $(".requerircorreo").css("border", "1px solid #e9ecef"); 1500 $(".requerircampo").css("border", "1px solid #e9ecef"); */ 1501 } else { 1502 $(`#mensaje_${$(this).attr("id")}_solicitudSJ`).html(''); 1503 } 1504 } 1505 }); 1506 } 1507 1508 1509 } 1510 1511 var objetoFacturacion = new Facturacion(); 1512 document.addEventListener('DOMContentLoaded', async () => { 1513 objetoFacturacion.obtenerInformacionPerfil(); 1514 1515 objetoFacturacion.eventoChangeCampoIdentificacion( 1516 "#identificacion_contador", 1517 10, 1518 "¡Ingrese la identificación del contador valida!" 1519 ); 1520 1521 objetoFacturacion.eventoChangeCampoIdentificacion( 1522 "#identificacion_cliente", 1523 10, 1524 "¡Ingrese la identificación del cliente valida!" 1525 ); 1526 1527 $("#misDatos").hide(); 1528 $("#datosCliente").hide(); 1529 1530 }); 1531 1532 $(document).on("click", "#buscarContador", async function () { 1533 var dato = $("#identificacion_contador").val(); 1534 if (dato.trim().length < 10) { 1535 toastr.info("Ingrese la cédula correctamente", "Importante", { 1536 timeOut: 4000, 1537 }); 1538 return; 1539 } 1540 $(".cargandoInformacion").show(); 1541 var tipo = "cedula"; 1542 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 1543 $(".cargandoInformacion").hide(); 1544 document.getElementById('nombre_contador').value = respuesta.nombres + ' ' + respuesta.apellidos; 1545 }); 1546 1547 $(document).on("click", "#buscar_cliente", async function () { 1548 var dato = $("#identificacion_cliente").val(); 1549 if (dato.trim().length < 10) { 1550 toastr.info("Ingrese la cédula correctamente", "Importante", { 1551 timeOut: 4000, 1552 }); 1553 return; 1554 } 1555 $(".cargandoInformacion_cliente").show(); 1556 var tipo = "cedula"; 1557 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 1558 $(".cargandoInformacion_cliente").hide(); 1559 document.getElementById('nombre_cliente').value = respuesta.nombres + ' ' + respuesta.apellidos; 1560 }); 1561 1562 $(document).on("click", "#buscarContadorMensualidad", async function () { 1563 var dato = $("#identificacion_contadorMensualidad").val(); 1564 if (dato.trim().length < 10) { 1565 toastr.info("Ingrese la cédula correctamente", "Importante", { 1566 timeOut: 4000, 1567 }); 1568 return; 1569 } 1570 $(".cargandoInformacionMensualidad").show(); 1571 var tipo = "cedula"; 1572 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 1573 $(".cargandoInformacionMensualidad").hide(); 1574 document.getElementById('nombre_contadorMensualidad').value = respuesta.nombres + ' ' + respuesta.apellidos; 1575 }); 1576 1577 $(document).on("click", "#buscar_clienteMensualidad", async function () { 1578 var dato = $("#identificacion_clienteMensualidad").val(); 1579 if (dato.trim().length < 10) { 1580 toastr.info("Ingrese la cédula correctamente", "Importante", { 1581 timeOut: 4000, 1582 }); 1583 return; 1584 } 1585 $(".cargandoInformacion_clienteMensualidad").show(); 1586 var tipo = "cedula"; 1587 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 1588 $(".cargandoInformacion_clienteMensualidad").hide(); 1589 document.getElementById('nombre_clienteMensualidad').value = respuesta.nombres + ' ' + respuesta.apellidos; 1590 }); 1591 1592 1593 1594 $(document).on("change", "#vigenciafirma_solicitudSJ", async function () { 1595 let id = $(this).val(); 1596 let paquete_selecionado = interfaz.listadoVigenciaFirma.filter(function (planes) { 1597 return planes.id == id; 1598 }); 1599 1600 let tipoProveedorFirma = interfaz.proveedorFirma; 1601
1602 Object.entries(interfaz.listadoFirmas).forEach(([indice, elemento]) => { 1603 1604 if (parseInt(tipoProveedorFirma) === parseInt(elemento.firma.id)) { 1605 1606 document.getElementById('observacion_cliente').value = 'FIRMA DE ' + paquete_selecionado[0].nombre.split(' - ')[0] + ' - ' + elemento.firma.nombre; 1607 1608 } 1609 1610 }); 1611 let precioContador = paquete_selecionado[0].nombre.split(' - ')[1]; 1612 document.getElementById('valor_certificado').innerHTML = precioContador.split(' ')[0]; 1613 1614 1615 }); 1616 1617 1618 $(document).on("click", "#btnActualizarPerfil", async function () { 1619 objetoFacturacion.actualizarInformacionPerfil(); 1620 }); 1621 1622 $(document).on("click", "#btnActualizarPerfilMensualidad", async function () { 1623 objetoFacturacion.actualizarInformacionPerfilMensualidad(); 1624 }); 1625 1626 1627 1628 1629 1630 1631 1632 1633 const empresas = new Empresas(); 1634 empresas.SoloNumeroEmail(); 1635 empresas.guardarEmpresa(); 1636 empresas.guardarEmpresaContamatic(); 1637 empresas.validarFormVacios(); 1638 empresas.cargarImagenEmpresa(); 1639 empresas.cargarImagenUsuario(); 1640 1641 empresas.usuariosRepetidoFacturacion(); 1642 empresas.empresaRepetidaFacturacion(); 1643 empresas.empresaPlanEstado(); 1644 empresas.tipodeplan(); 1645 empresas.numeroDocumentosPlanUsuario(); 1646 empresas.numeroDocumentosPlanUsuario2(); 1647 empresas.usuarioCredenciales(); 1648 empresas.usuariosCorreoRepetidoCuenta(); 1649 /* -------------------------------------------------------------------------- */ 1650 /* SOLO LETRAS */ 1651 /* -------------------------------------------------------------------------- */ 1652 1653 function soloLetras(e) { 1654 key = e.keyCode || e.which; 1655 tecla = String.fromCharCode(key).toLowerCase(); 1656 letras = " áéÃóúabcdefghijklmnñopqrstuvwxyz"; 1657 especiales = "8-37-39-46"; 1658 1659 tecla_especial = false;
1660 for (var i in especiales) { 1661 if (key == especiales[i]) { 1662 tecla_especial = true; 1663 break; 1664 } 1665 } 1666 1667 if (letras.indexOf(tecla) == -1 && !tecla_especial) { 1668 return false; 1669 } 1670 } 1671} 1672 1673 1674if (window.location.href.indexOf("crearProyecto") > -1) { 1675 1676 $(document).on("click", "#informacionRucProyecto", function () { 1677 1678 1679 var ruc = $("#rucProyecto").val(); 1680 var datos = new FormData(); 1681 1682 datos.append("buscarRuc", true); 1683 datos.append("ruc", ruc); 1684 toastr.info("Consultando la información"); 1685 $.ajax({ 1686 url: "ajax/empresas_v2.ajax.php", 1687 type: "POST", 1688 data: datos, 1689 cache: false, 1690 contentType: false, 1691 processData: false, 1692 dataType: "json", 1693 timeout: 10000, 1694 1695 success: function (respuesta) { 1696 if (respuesta["estado"] == "ok") { 1697 toastr.success("Datos consultados correctamente"); 1698 $("#desarrolloEmpresa").val(respuesta["razonsocial"]); 1699 } else { 1700 toastr.info("No fue posible obtener información, intente nuevamente"); 1701 } 1702 1703 }, 1704 error: function (request, status, error) { 1705 1706 toastr.success("El servicio de información se encuentra en mantenimiento"); 1707 1708 } 1709 }); 1710 }); 1711 1712 1713 1714 async function postRequest($url, parametros) { 1715 try { 1716 const resultado = await fetch($url, { 1717 method: 'POST', 1718 body: parametros 1719 }); 1720 const datos = await resultado.json(); 1721 return datos; 1722 } catch (error) { 1723 throw error; 1724 } 1725 } 1726 1727 async function obtenerInformacionPerfil() { 1728 1729 let url = 'ajax/facturacion/facturacion.ajax.php'; 1730 let parametros = new FormData(); 1731 parametros.append("informacionPerfil", true); 1732 1733 try { 1734 let resultado = await postRequest(url, parametros); 1735 if (resultado && resultado.operacion) { 1736 document.getElementById('nombrecontador').value = resultado.data.nombre; 1737 } else { 1738 toastr.error(resultado ? resultado.mensaje : 'Error desconocido'); 1739 } 1740 } catch (error) { 1741 toastr.error('Hubo un problema al obtener la información del perfil'); 1742 } 1743 } 1744 1745 obtenerInformacionPerfil(); 1746 1747 1748 1749 1750 $("#guardarProyecto").click(function () { 1751 $("#guardarProyecto").prop("disabled", true); 1752 1753 if ($("#nombrecontador").val() == "") { 1754 toastr.info("Ingrese el nombre contador", "Importante", { timeOut: 3000 }); 1755 $("#guardarProyecto").prop("disabled", false); 1756 return; 1757 } 1758 1759 if ($("#rucProyecto").val() == "") { 1760 toastr.info("Ingrese el RUC", "Importante", { timeOut: 3000 }); 1761 $("#guardarProyecto").prop("disabled", false); 1762 return; 1763 } 1764 1765 if ($("#desarrolloEmpresa").val() == "") { 1766 toastr.info("Ingrese el nombre de la empresa a la que se le desarrolla el proyecto", "Importante", { timeOut: 3000 }); 1767 $("#guardarProyecto").prop("disabled", false); 1768 return; 1769 } 1770 1771 if ($("#nombreProyecto").val() == "") { 1772 toastr.info("Ingrese el nombre del proyecto", "Importante", { timeOut: 3000 }); 1773 $("#guardarProyecto").prop("disabled", false); 1774 return; 1775 } 1776 1777 1778 if ($("#reseniaaDesarrollo").val() == "") { 1779 toastr.info("Ingrese una pequeña reseña del proyecto", "Importante", { timeOut: 3000 }); 1780 $("#guardarProyecto").prop("disabled", false); 1781 return; 1782 } 1783 1784 if ($("#acuerdosDesarrollo").val() == "") { 1785 toastr.info("Ingrese los acuerdos del desarrollo", "Importante", { timeOut: 3000 }); 1786 $("#guardarProyecto").prop("disabled", false); 1787 return; 1788 } 1789 1790 var datos = new FormData(); 1791 datos.append("guardarProyecto", true); 1792 datos.append("nombrecontador", $("#nombrecontador").val()); 1793 datos.append("rucProyecto", $("#rucProyecto").val()); 1794 datos.append("desarrolloEmpresa", $("#desarrolloEmpresa").val()); 1795 datos.append("nombreProyecto", $("#nombreProyecto").val()); 1796 datos.append("reseniaaDesarrollo", $("#reseniaaDesarrollo").val()); 1797 datos.append("acuerdosDesarrollo", $("#acuerdosDesarrollo").val()); 1798 $("#guardarProyecto").prop("disabled", true); 1799 1800 $.ajax({ 1801 url: "ajax/empresas.ajax.php", 1802 type: "POST", 1803 data: datos, 1804 cache: false, 1805 contentType: false, 1806 processData: false, 1807 success: function (respuesta) { 1808 var respuesta = JSON.parse(respuesta); 1809 $("#guardarProyecto").prop("disabled", true); 1810 if (respuesta.estado) { 1811 setTimeout(() => { 1812 $("#idCodigoPlan_proyecto").val(btoa(respuesta.codplan)); 1813 location.reload(); 1814 toastr.success("Proyecto creado con exito!"); 1815 }, 1000); 1816 } else { 1817 toastr.error("Error al crear un Proyecto!"); 1818 setTimeout(() => { 1819 location.reload(); 1820 }, 1000); 1821 } 1822 }, 1823 }); 1824 }) 1825 1826 document.getElementById('precioDesarrollo').addEventListener('blur', function (e) { 1827 let value = e.target.value; 1828 value = value.replace(',', '.'); 1829 1830 let number = parseFloat(value); 1831 1832 if (!isNaN(number)) { 1833 e.target.value = number.toFixed(2); 1834 } 1835 1836 document.getElementById('valor_certificado_proyecto').innerHTML = `$ ${e.target.value}`; 1837 }); 1838 1839 document.getElementById('valorcomprobante_proyecto').addEventListener('blur', function (e) { 1840 let value = e.target.value; 1841 value = value.replace(',', '.'); 1842 1843 let number = parseFloat(value); 1844 1845 if (!isNaN(number)) { 1846 e.target.value = number.toFixed(2); 1847 } 1848 1849 document.getElementById('valor_facturar_proyecto').innerHTML = `$ ${e.target.value}`; 1850 }); 1851 1852} 1853 1854if (window.location.href.indexOf("administracion") > -1) { 1855 $(document).on('click', '.btnAbrirModalEditarSoporte', function (event) { 1856 var soporte = $(this).attr("codSoporte"); 1857 var codEmpresaSoporte = atob($(this).attr("codEmpresaSoporte")); 1858 var rucEmpresaSoporte = atob($(this).attr("rucEmpresaSoporte")); 1859 var telempresaSop = atob($(this).attr("telempresaSop")); 1860 var programador = atob($(this).attr("programador")); 1861 var areaSoporte = atob($(this).attr("areaSoporte")); 1862 var explicacion = atob($(this).attr("explicacion")); 1863 var responsable = atob($(this).attr("responsable")); 1864 1865 console.log(explicacion); 1866 1867 $("#idCodSoporte").val(soporte); 1868 $("#codEmpresaEdit").val(codEmpresaSoporte); 1869 $("#rucEmpresaEdit").val(rucEmpresaSoporte); 1870 $("#telefonoEmpresaEdit").val(telempresaSop); 1871 $("#programador_soporteEdit").val(programador); 1872 $("#areaErrorEdit").val(areaSoporte); 1873 $("#explicacionErrorEdit").val(explicacion); 1874 $("#responsableSoporte").val(responsable); 1875 1876 1877 $("#modalEditarSoporte").modal("show"); 1878 }); 1879 1880 const quill = new Quill('#editorSoporte', { 1881 modules: { 1882 toolbar: [ 1883 [{ header: [1, 2, false] }], 1884 ['bold', 'italic', 'underline'], 1885 ['image', 'code-block'], 1886 ], 1887 }, 1888 placeholder: 'Explicación ..', 1889 theme: 'snow', 1890 }); 1891 1892 $(document).on('click', '.btnAbrirModalEditarProgramacion', function (event) { 1893 var programacion = $(this).attr("codProgramacion"); 1894 var codEmpresaProgramacion = atob($(this).attr("codEmpresa")); 1895 var telempresaProgramacion = atob($(this).attr("telempresaPro")); 1896 var programador = atob($(this).attr("programador")); 1897 var temaProgramacion = atob($(this).attr("temaProgramacion")); 1898 var razon = atob($(this).attr("razon")); 1899 var responsable = atob($(this).attr("responsable")); 1900 1901 $("#idCodProgramacion").val(programacion); 1902 $("#responsableProgramacion").val(responsable); 1903 $("#codEmpresaProgramacionEdit").val(codEmpresaProgramacion); 1904 $("#telefonoEmpresaProgramacionEdit").val(telempresaProgramacion); 1905 $("#programador_programacionEdit").val(programador); 1906 $("#temaProgramacion").val(temaProgramacion); 1907 1908 1909 $("#modalEditarProgramacion").modal("show"); 1910 1911 }); 1912 1913 1914 1915 1916 1917 1918 $("#btnEditarSoporte").click(function () { 1919 1920 const explicacionError = quill.getText(); 1921 1922 const imagenes = []; 1923 const contenidoDelta = quill.getContents(); 1924 contenidoDelta.ops.forEach(op => { 1925 if (op.insert && op.insert.image) { 1926 imagenes.push(op.insert.image); 1927 } 1928 }); 1929 1930 1931 $("#btnEditarSoporte").prop("disabled", true); 1932 1933 if ($("#codEmpresaEdit").val() == "") { 1934 toastr.info("Ingrese el código de la empresa", "Importante", { timeOut: 3000 }); 1935 $("#btnEditarSoporte").prop("disabled", false); 1936 return; 1937 } 1938 if ($("#responsableSoporte").val() == "") { 1939 toastr.info("Ingrese el nombre responsable", "Importante", { timeOut: 3000 }); 1940 $("#guardarSoporte").prop("disabled", false); 1941 return; 1942 } 1943 if ($("#rucEmpresaEdit").val() == "") { 1944 toastr.info("Ingrese el ruc de la empresa", "Importante", { timeOut: 3000 }); 1945 $("#btnEditarSoporte").prop("disabled", false); 1946 return; 1947 } 1948 if ($("#telefonoEmpresaEdit").val() == "") { 1949 toastr.info("Ingrese el teléfono", "Importante", { timeOut: 3000 }); 1950 $("#btnEditarSoporte").prop("disabled", false); 1951 return; 1952 } 1953 if ($("#programador_soporteEdit").val() == "") { 1954 toastr.info("Seleccione el programador", "Importante", { timeOut: 3000 }); 1955 $("#btnEditarSoporte").prop("disabled", false); 1956 return; 1957 } 1958 if ($("#areaErrorEdit").val() == "") { 1959 toastr.info("Ingrese el area del error", "Importante", { timeOut: 3000 }); 1960 $("#btnEditarSoporte").prop("disabled", false); 1961 return; 1962 } 1963 if (explicacionError.trim() == "") { 1964 toastr.info("Ingrese la explicación del error", "Importante", { timeOut: 3000 }); 1965 $("#btnEditarSoporte").prop("disabled", false); 1966 return; 1967 } 1968 1969 var datos = new FormData(); 1970 datos.append("editarSoporte", true); 1971 datos.append("codigoSoporte", $("#idCodSoporte").val()); 1972 datos.append("responsableSoporte", $("#responsableSoporte").val()); 1973 datos.append("codEmpresa", $("#codEmpresaEdit").val()); 1974 datos.append("rucEmpresa", $("#rucEmpresaEdit").val()); 1975 datos.append("telefonoEmpresa", $("#telefonoEmpresaEdit").val()); 1976 datos.append("programador_soporte", $("#programador_soporteEdit").val()); 1977 datos.append("areaError", $("#areaErrorEdit").val()); 1978 datos.append("explicacionError", explicacionError.trim()); 1979 1980 if (imagenes.length > 0) { 1981 const promesas = imagenes.map((base64Img, index) => 1982 fetch(base64Img) 1983 .then(res => res.blob()) 1984 .then(blob => new File([blob], `imagen_${index}.png`, { type: 'image/png' })) 1985 ); 1986 1987 Promise.all(promesas).then(archivos => { 1988 archivos.forEach(file => { 1989 datos.append('archivoComprobante[]', file); 1990 }); 1991 1992 datos.append('archivo', true);
1993 enviarAjaxEditSoporte(datos); 1994 }); 1995 } else { 1996 datos.append('archivo', false); 1997 enviarAjaxEditSoporte(datos); 1998 } 1999 2000 2001 }); 2002 2003 2004 function enviarAjaxEditSoporte(datos) { 2005 2006 $("#btnEditarSoporte").prop("disabled", true); 2007 2008 $.ajax({ 2009 url: "ajax/empresas.ajax.php", 2010 type: "POST", 2011 data: datos, 2012 cache: false, 2013 contentType: false, 2014 processData: false, 2015 success: function (respuesta) { 2016 var respuesta = JSON.parse(respuesta); 2017 $("#btnEditarSoporte").prop("disabled", false); 2018 if (respuesta.estado) { 2019 setTimeout(() => { 2020 location.reload(); 2021 toastr.success("Soporte Editado correctamente !"); 2022 }, 1000); 2023 } else { 2024 toastr.error("Error al editar Soporte!"); 2025 setTimeout(() => { 2026 location.reload(); 2027 }, 1000); 2028 } 2029 }, 2030 }); 2031 } 2032 2033 2034 2035 2036 const quillProgrmacion = new Quill('#editorProgramacion', { 2037 modules: { 2038 toolbar: [ 2039 [{ header: [1, 2, false] }], 2040 ['bold', 'italic', 'underline'], 2041 ['image', 'code-block'], 2042 ], 2043 }, 2044 placeholder: 'Razón ..', 2045 theme: 'snow', 2046 }); 2047 2048 $("#btnEditarProgramacion").click(function () { 2049 2050 const razon = quillProgrmacion.getText(); 2051 2052 const imagenes = []; 2053 const contenidoDelta = quillProgrmacion.getContents(); 2054 contenidoDelta.ops.forEach(op => { 2055 if (op.insert && op.insert.image) { 2056 imagenes.push(op.insert.image); 2057 } 2058 }); 2059 2060 2061 2062 $("#btnEditarProgramacion").prop("disabled", true); 2063 2064 if ($("#responsableProgramacion").val() == "") { 2065 toastr.info("Ingrese el nombre responsable", "Importante", { timeOut: 3000 }); 2066 $("#btnEditarProgramacion").prop("disabled", false); 2067 return; 2068 } 2069 if ($("#codEmpresaProgramacionEdit").val() == "") { 2070 toastr.info("Ingrese el código de la empresa", "Importante", { timeOut: 3000 }); 2071 $("#btnEditarProgramacion").prop("disabled", false); 2072 return; 2073 } 2074 if ($("#telefonoEmpresaProgramacionEdit").val() == "") { 2075 toastr.info("Ingrese el telefono de la empresa", "Importante", { timeOut: 3000 }); 2076 $("#btnEditarProgramacion").prop("disabled", false); 2077 return; 2078 } 2079 if ($("#programador_programacionEdit").val() == "") { 2080 toastr.info("Seleccione el programador", "Importante", { timeOut: 3000 }); 2081 $("#btnEditarProgramacion").prop("disabled", false); 2082 return; 2083 } 2084 if ($("#temaProgramacion").val() == "") { 2085 toastr.info("Ingrese el tema", "Importante", { timeOut: 3000 }); 2086 $("#btnEditarProgramacion").prop("disabled", false); 2087 return; 2088 } 2089 if (razon.trim() == "") { 2090 toastr.info("Ingrese la razon", "Importante", { timeOut: 3000 }); 2091 $("#btnEditarProgramacion").prop("disabled", false); 2092 return; 2093 } 2094 2095 var datos = new FormData(); 2096 datos.append("editarProgramacion", true); 2097 datos.append("codigoProgramacion", $("#idCodProgramacion").val()); 2098 datos.append("responsableProgramacion", $("#responsableProgramacion").val()); 2099 datos.append("codEmpresaProgramacion", $("#codEmpresaProgramacionEdit").val()); 2100 datos.append("telefonoEmpresaProgramacion", $("#telefonoEmpresaProgramacionEdit").val()); 2101 datos.append("programador_programacion", $("#programador_programacionEdit").val()); 2102 datos.append("temaProgramacion", $("#temaProgramacion").val()); 2103 datos.append("razonProgramacion", razon.trim()); 2104 2105 2106 if (imagenes.length > 0) { 2107 const promesas = imagenes.map((base64Img, index) => 2108 fetch(base64Img) 2109 .then(res => res.blob()) 2110 .then(blob => new File([blob], `imagen_${index}.png`, { type: 'image/png' })) 2111 ); 2112 2113 Promise.all(promesas).then(archivos => { 2114 archivos.forEach(file => { 2115 datos.append('archivoComprobante[]', file); 2116 }); 2117 2118 datos.append('archivo', true); 2119 enviarAjaxEditProgramacion(datos); 2120 }); 2121 } else { 2122 datos.append('archivo', false); 2123 enviarAjaxEditProgramacion(datos); 2124 } 2125 2126 2127 2128 2129 }); 2130 2131 function enviarAjaxEditProgramacion(datos) { 2132 2133 $("#btnEditarProgramacion").prop("disabled", true); 2134 2135 $.ajax({ 2136 url: "ajax/empresas.ajax.php", 2137 type: "POST", 2138 data: datos, 2139 cache: false, 2140 contentType: false, 2141 processData: false, 2142 success: function (respuesta) { 2143 var respuesta = JSON.parse(respuesta); 2144 $("#btnEditarProgramacion").prop("disabled", false); 2145 if (respuesta.estado) { 2146 setTimeout(() => { 2147 location.reload(); 2148 toastr.success("Programación Editado correctamente !"); 2149 }, 1000); 2150 } else { 2151 toastr.error("Error al editar Soporte!"); 2152 setTimeout(() => { 2153 location.reload(); 2154 }, 1000); 2155 } 2156 }, 2157 }); 2158 } 2159 2160 2161 2162 $(document).on("click", ".btnActivarEstadoSoporte", function () { 2163 2164 var codsoporte = $(this).attr("codsoporte"); 2165 var estadoUsuario = $(this).attr("estadoUsuario"); 2166 2167 if (estadoUsuario === 'PENDIENTE') { 2168 swal({ 2169 title: '¿Está seguro de realizar esta acción?', 2170 type: 'warning', 2171 showCancelButton: true, 2172 confirmButtonColor: '#3085d6', 2173 cancelButtonColor: '#d33', 2174 cancelButtonText: 'Si, Cambiar a "Finalizado"', 2175 confirmButtonText: 'Si, Cambiar a "En proceso" !' 2176 }).then(function (result) { 2177 if (result.value) {
2178 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoSoporte": 'ENPROCESO' }, function (respuesta) { 2179 location.reload(); 2180 }); 2181 } else if (result.dismiss === 'cancel') { 2182 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoSoporte": 'FINALIZADO' }, function (respuesta) { 2183 location.reload(); 2184 }); 2185 } 2186 }); 2187 } else if (estadoUsuario === 'ENPROCESO') { 2188 swal({ 2189 title: '¿Está seguro de realizar esta acción?', 2190 type: 'warning', 2191 showCancelButton: true, 2192 confirmButtonColor: '#3085d6', 2193 cancelButtonColor: '#d33', 2194 cancelButtonText: 'Si, Cambiar a "Pendiente"', 2195 confirmButtonText: 'Si, Cambiar a "Finalizado" !' 2196 }).then(function (result) { 2197 if (result.value) { 2198 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoSoporte": 'FINALIZADO' }, function (respuesta) { 2199 location.reload(); 2200 }); 2201 } else if (result.dismiss === 'cancel') { 2202 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoSoporte": 'PENDIENTE' }, function (respuesta) { 2203 location.reload(); 2204 }); 2205 } 2206 }); 2207 } else if (estadoUsuario === 'FINALIZADO') { 2208 swal({ 2209 title: '¿Está seguro de realizar esta acción?', 2210 type: 'warning', 2211 showCancelButton: true, 2212 confirmButtonColor: '#3085d6', 2213 cancelButtonColor: '#d33', 2214 cancelButtonText: 'Si, Cambiar a "En proceso"', 2215 confirmButtonText: 'Si, Cambiar a "Pendiente" !' 2216 }).then(function (result) { 2217 if (result.value) { 2218 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoSoporte": 'PENDIENTE' }, function (respuesta) { 2219 location.reload(); 2220 }); 2221 } else if (result.dismiss === 'cancel') { 2222 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoSoporte": 'ENPROCESO' }, function (respuesta) { 2223 location.reload(); 2224 }); 2225 } 2226 }); 2227 2228 } 2229 }); 2230 2231 2232 2233 2234 2235 $(document).on("click", ".btnActivarEstadoProgramacion", function () { 2236 2237 var codsoporte = $(this).attr("codprogramacion"); 2238 var estadoUsuario = $(this).attr("estadoUsuario"); 2239 2240 if (estadoUsuario === 'PENDIENTE') { 2241 swal({ 2242 title: '¿Está seguro de realizar esta acción?', 2243 type: 'warning', 2244 showCancelButton: true, 2245 confirmButtonColor: '#3085d6', 2246 cancelButtonColor: '#d33', 2247 cancelButtonText: 'Si, Cambiar a "Rechazado"', 2248 confirmButtonText: 'Si, Cambiar a "Autorizado" !' 2249 }).then(function (result) { 2250 if (result.value) { 2251 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'AUTORIZADO' }, function (respuesta) { 2252 location.reload(); 2253 }); 2254 } else if (result.dismiss === 'cancel') { 2255 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'RECHAZADO' }, function (respuesta) { 2256 location.reload(); 2257 }); 2258 } 2259 }); 2260 } else if (estadoUsuario === 'AUTORIZADO') { 2261 swal({ 2262 title: '¿Está seguro de realizar esta acción?', 2263 type: 'warning', 2264 showCancelButton: true, 2265 confirmButtonColor: '#3085d6', 2266 cancelButtonColor: '#d33', 2267 cancelButtonText: 'Si, Cambiar a "Pendiente"', 2268 confirmButtonText: 'Si, Cambiar a "Finalizado" !' 2269 }).then(function (result) { 2270 if (result.value) { 2271 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'FINALIZADO' }, function (respuesta) { 2272 location.reload(); 2273 }); 2274 } else if (result.dismiss === 'cancel') { 2275 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'PENDIENTE' }, function (respuesta) { 2276 location.reload(); 2277 }); 2278 } 2279 }); 2280 } else if (estadoUsuario === 'RECHAZADO') { 2281 swal({ 2282 title: '¿Está seguro de realizar esta acción?', 2283 type: 'warning', 2284 showCancelButton: true, 2285 confirmButtonColor: '#3085d6', 2286 cancelButtonColor: '#d33', 2287 cancelButtonText: 'Si, Cambiar a "Autorizado"', 2288 confirmButtonText: 'Si, Cambiar a "Pendiente" !' 2289 }).then(function (result) { 2290 if (result.value) {
2291 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'PENDIENTE' }, function (respuesta) { 2292 location.reload(); 2293 }); 2294 } else if (result.dismiss === 'cancel') { 2295 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'AUTORIZADO' }, function (respuesta) { 2296 location.reload(); 2297 }); 2298 } 2299 }); 2300 2301 } else if (estadoUsuario === 'FINALIZADO') { 2302 swal({ 2303 title: '¿Está seguro de realizar esta acción?', 2304 type: 'warning', 2305 showCancelButton: true, 2306 confirmButtonColor: '#3085d6', 2307 cancelButtonColor: '#d33', 2308 cancelButtonText: 'Si, Cambiar a "Autorizado"', 2309 confirmButtonText: 'Si, Cambiar a "Pendiente" !' 2310 }).then(function (result) { 2311 if (result.value) { 2312 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'PENDIENTE' }, function (respuesta) { 2313 location.reload(); 2314 }); 2315 } else if (result.dismiss === 'cancel') { 2316 $.post("ajax/usuarios.ajax.php", { "activarId": codsoporte, "estadoProgramacion": 'AUTORIZADO' }, function (respuesta) { 2317 location.reload(); 2318 }); 2319 } 2320 }); 2321 2322 } 2323 2324 }); 2325 2326 2327 2328} 2329 2330/*============================================= 2331 ACTIVAR Y DESACTIVAR ESTADO PLAN 2332 =============================================*/ 2333 2334if (window.location.href.indexOf("empresas") > -1) { 2335 2336 $(document).on("click", ".btnActivarEstado", function () { 2337 2338 var codDetallePlan = $(this).attr("coddetalleplan"); 2339 var estadoPlan = $(this).attr("codestadodetalleplan"); 2340 var codigoEmpresa = $(this).attr("codigoEmpresa"); 2341 2342 if (estadoPlan == "INACTIVO") { 2343 2344 swal({ 2345 title: "¿Está seguro de desactivar el plan?", 2346 text: "¡Si no lo está puede cancelar la acción!", 2347 type: "warning", 2348 showCancelButton: true, 2349 confirmButtonColor: "#3085d6", 2350 cancelButtonColor: "#d33", 2351 cancelButtonText: "Cancelar", 2352 confirmButtonText: "Si, desactivar plan" 2353 }).then((result) => { 2354 2355 if (result.value) { 2356 estadoDetallePlan(codDetallePlan, estadoPlan, codigoEmpresa); 2357 } 2358 2359 2360 }); 2361 2362 } else { 2363 2364 swal({ 2365 title: "¿Está seguro de activar el plan?", 2366 text: "¡Si no lo está puede cancelar la acción!", 2367 type: "warning", 2368 showCancelButton: true, 2369 confirmButtonColor: "#3085d6", 2370 cancelButtonColor: "#d33", 2371 cancelButtonText: "Cancelar", 2372 confirmButtonText: "Si, activar plan" 2373 }).then((result) => { 2374 2375 if (result.value) { 2376 estadoDetallePlan(codDetallePlan, estadoPlan, codigoEmpresa); 2377 } 2378 }); 2379 } 2380 2381 }); 2382 2383 2384 $(document).on("click", ".btnActivarEstadoImprentas", function () { 2385 2386 2387 var idUsuario = $(this).attr("idUsuario"); 2388 var telefono = $(this).attr("telefono") == "" || $(this).attr("telefono") == null ? "" : "Teléfono : " + $(this).attr("telefono") + ". "; 2389 var estadoUsuario = $(this).attr("estadoUsuario"); 2390 2391 2392 swal({ 2393 title: '¿Está seguro de realizar esta acción?', 2394 text: telefono,//"¡Si no lo está puede cancelar la acción!" 2395 type: 'warning', 2396 showCancelButton: true, 2397 confirmButtonColor: '#3085d6', 2398 cancelButtonColor: '#d33', 2399 cancelButtonText: 'Cancelar', 2400 confirmButtonText: 'Si, Realizar!' 2401 }).then(function (result) { 2402 2403 if (result.value) { 2404 2405 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "activarUsuario": estadoUsuario }, function (respuesta) { 2406 2407 $('.tablaImprentas-todos').DataTable().ajax.reload(); 2408 $('.tablaImprentas-activas').DataTable().ajax.reload(); 2409 $('.tablaImprentas-inactivas').DataTable().ajax.reload(); 2410 2411 }); 2412 } 2413 }) 2414 }); 2415 2416 $(document).on("click", ".btnActivarEstadoProyectos", function () { 2417 2418 var idUsuario = $(this).attr("coddetalleplan"); 2419 var estadoUsuario = $(this).attr("estadoUsuario"); 2420 2421 if (estadoUsuario === 'PENDIENTE') { 2422 swal({ 2423 title: '¿Está seguro de realizar esta acción?', 2424 type: 'warning', 2425 showCancelButton: true, 2426 confirmButtonColor: '#3085d6', 2427 cancelButtonColor: '#d33', 2428 cancelButtonText: 'Si, Cambiar a "Rechazado"', 2429 confirmButtonText: 'Si, Cambiar a "En proceso" !' 2430 }).then(function (result) { 2431 if (result.value) {
2432 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'ENPROCESO' }, function (respuesta) { 2433 location.reload(); 2434 }); 2435 } else if (result.dismiss === 'cancel') { 2436 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'RECHAZADO' }, function (respuesta) { 2437 location.reload(); 2438 }); 2439 } 2440 }); 2441 } else if (estadoUsuario === 'RECHAZADO') { 2442 swal({ 2443 title: '¿Está seguro de realizar esta acción?', 2444 type: 'warning', 2445 showCancelButton: true, 2446 confirmButtonColor: '#3085d6', 2447 cancelButtonColor: '#d33', 2448 cancelButtonText: 'Si, Cambiar a "Pendiente"', 2449 confirmButtonText: 'Si, Cambiar a "En proceso" !' 2450 }).then(function (result) { 2451 if (result.value) { 2452 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'ENPROCESO' }, function (respuesta) { 2453 location.reload(); 2454 }); 2455 } else if (result.dismiss === 'cancel') { 2456 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'PENDIENTE' }, function (respuesta) { 2457 location.reload(); 2458 }); 2459 } 2460 }); 2461 } else if (estadoUsuario === 'ENPROCESO') { 2462 swal({ 2463 title: '¿Está seguro de realizar esta acción?', 2464 type: 'warning', 2465 showCancelButton: true, 2466 confirmButtonColor: '#3085d6', 2467 cancelButtonColor: '#d33', 2468 cancelButtonText: 'Si, Cambiar a "Pendiente"', 2469 confirmButtonText: 'Si, Cambiar a "Finalizado" !' 2470 }).then(function (result) { 2471 if (result.value) { 2472 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'FINALIZADO' }, function (respuesta) { 2473 location.reload(); 2474 }); 2475 } else if (result.dismiss === 'cancel') { 2476 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'PENDIENTE' }, function (respuesta) { 2477 location.reload(); 2478 }); 2479 } 2480 }); 2481 } else { 2482 swal({ 2483 title: '¿Está seguro de realizar esta acción?', 2484 type: 'warning', 2485 showCancelButton: true, 2486 confirmButtonColor: '#3085d6', 2487 cancelButtonColor: '#d33', 2488 cancelButtonText: 'Si, Cambiar a "En proceso"', 2489 confirmButtonText: 'Si, Cambiar a "Pendiente" !' 2490 }).then(function (result) { 2491 if (result.value) { 2492 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'PENDIENTE' }, function (respuesta) { 2493 location.reload(); 2494 }); 2495 } else if (result.dismiss === 'cancel') { 2496 $.post("ajax/usuarios.ajax.php", { "activarId": idUsuario, "estadoProyecto": 'ENPROCESO' }, function (respuesta) { 2497 location.reload(); 2498 }); 2499 } 2500 }); 2501 } 2502 }); 2503 2504 2505 2506 2507 2508 2509 2510 $(document).on("click", ".btnActivarEstadoFacturalo", function () { 2511 2512 var codDetallePlan = $(this).attr("coddetalleplan"); 2513 var estadoPlan = $(this).attr("codestadodetalleplan"); 2514 var codigoEmpresa = $(this).attr("codigoEmpresa"); 2515 2516 if (estadoPlan == "INACTIVO") { 2517 2518 swal({ 2519 title: "¿Está seguro de desactivar el plan?", 2520 text: "¡Si no lo está puede cancelar la acción!", 2521 type: "warning", 2522 showCancelButton: true, 2523 confirmButtonColor: "#3085d6", 2524 cancelButtonColor: "#d33", 2525 cancelButtonText: "Cancelar", 2526 confirmButtonText: "Si, desactivar plan" 2527 }).then((result) => { 2528 2529 if (result.value) { 2530 estadoDetallePlanFacturalo(codDetallePlan, estadoPlan, codigoEmpresa); 2531 } 2532 2533 2534 }); 2535 2536 } else { 2537 2538 swal({ 2539 title: "¿Está seguro de activar el plan?", 2540 text: "¡Si no lo está puede cancelar la acción!", 2541 type: "warning", 2542 showCancelButton: true, 2543 confirmButtonColor: "#3085d6", 2544 cancelButtonColor: "#d33", 2545 cancelButtonText: "Cancelar", 2546 confirmButtonText: "Si, activar plan" 2547 }).then((result) => { 2548 2549 if (result.value) { 2550 estadoDetallePlanFacturalo(codDetallePlan, estadoPlan, codigoEmpresa); 2551 } 2552 }); 2553 } 2554 2555 }); 2556 2557 2558 2559 /*============================================= 2560 MODIFICAR EL ESTADO 2561 =============================================*/ 2562 2563 function estadoDetallePlan(codDetallePlan, estadoPlan, codigoEmpresa) { 2564 2565 var datos = new FormData(); 2566 datos.append("activarId", codDetallePlan); 2567 datos.append("activarEstado", estadoPlan); 2568 datos.append("codigoEmpresa", codigoEmpresa); 2569 datos.append("tipoSistema", 'Contamatic'); 2570 2571 $.ajax({ 2572 url: "ajax/empresas.ajax.php", 2573 type: "POST", 2574 data: datos, 2575 cache: false, 2576 contentType: false, 2577 processData: false, 2578 dataType: "json", 2579 2580 success: function (respuesta) { 2581 if (respuesta.trim() == 'ok') { 2582 2583 location.reload(); 2584 2585 toastr.info('Actualizado con exito'); 2586 2587 } else { 2588 2589 toastr.info(respuesta.trim()); 2590 2591 } 2592 2593 2594 } 2595 }); 2596 2597 /* if (estadoPlan == "INACTIVO") { 2598 $(this).removeClass("btn-danger"); 2599 $(this).addClass("btn-success"); 2600 $(this).html("ACTIVO"); 2601 $(this).attr("codestadodetalleplan","ACTIVO"); 2602 } else { 2603 $(this).addClass("btn-danger"); 2604 $(this).removeClass("btn-success"); 2605 $(this).html("INACTIVO"); 2606 $(this).attr("codestadodetalleplan","INACTIVO"); 2607 } */ 2608 } 2609 2610 function estadoDetallePlanImprenta(codDetallePlan, estadoPlan, codigoEmpresa) { 2611 2612 var datos = new FormData(); 2613 datos.append("idDetallePlan", codDetallePlan); 2614 datos.append("activarEstadoImprenta", estadoPlan); 2615 datos.append("codigoEmpresa", codigoEmpresa); 2616 2617 $.ajax({ 2618 url: "ajax/empresas.ajax.php", 2619 type: "POST", 2620 data: datos, 2621 cache: false, 2622 contentType: false, 2623 processData: false, 2624 dataType: "json", 2625 2626 success: function (respuesta) { 2627 if (respuesta.trim() == 'ok') { 2628 2629 location.reload(); 2630 2631 toastr.info('Actualizado con exito'); 2632 2633 } else { 2634 2635 toastr.info(respuesta.trim()); 2636 2637 } 2638 2639 2640 } 2641 }); 2642 } 2643 2644 function estadoDetallePlanFacturalo(codDetallePlan, estadoPlan, codigoEmpresa) { 2645 2646 var datos = new FormData(); 2647 datos.append("activarId", codDetallePlan); 2648 datos.append("activarEstado", estadoPlan); 2649 datos.append("codigoEmpresa", codigoEmpresa); 2650 datos.append("tipoSistema", 'facturalo'); 2651 2652 $.ajax({ 2653 url: "ajax/empresas.ajax.php", 2654 type: "POST", 2655 data: datos, 2656 cache: false, 2657 contentType: false, 2658 processData: false, 2659 dataType: "json", 2660 2661 success: function (respuesta) { 2662 if (respuesta.trim() == 'ok') { 2663 2664 location.reload(); 2665 2666 toastr.info('Actualizado con exito'); 2667 2668 } else { 2669 2670 toastr.info(respuesta.trim()); 2671 2672 } 2673 2674 2675 } 2676 }); 2677 } 2678 2679 2680 /** 2681 * modificar el estado del usuario 2682 */ 2683 2684 /** activar o desactivar le estado del usiario */ 2685 $(document).on("click", ".btnActivarEstadoUsuario", function () { 2686 var estadoPlan = $(this).attr("codestadousuario"); 2687 var codigoUsuario = $(this).attr("codUsuario"); 2688 2689 if (estadoPlan == 'INACTIVO') { 2690 swal({ 2691 title: "¿Está seguro de desactivar el usuario?", 2692 text: "¡Si no lo está puede cancelar la acción!", 2693 type: "warning", 2694 showCancelButton: true, 2695 confirmButtonColor: "#3085d6", 2696 cancelButtonColor: "#d33", 2697 cancelButtonText: "Cancelar", 2698 confirmButtonText: "Si, desactivar usuario" 2699 }).then((result) => { 2700 2701 2702 if (result.value) { 2703 var valorEstado = 0; 2704 estadoUsuario(codigoUsuario, valorEstado); 2705 } 2706 2707 }); 2708 } else { 2709 swal({ 2710 title: "¿Está seguro de activar el usuario?", 2711 text: "¡Si no lo está puede cancelar la acción!", 2712 type: "warning", 2713 showCancelButton: true, 2714 confirmButtonColor: "#3085d6", 2715 cancelButtonColor: "#d33", 2716 cancelButtonText: "Cancelar", 2717 confirmButtonText: "Si, activar usuario" 2718 }).then((result) => { 2719 2720 if (result.value) { 2721 var valorEstado = 1; 2722 estadoUsuario(codigoUsuario, valorEstado); 2723 } 2724 }); 2725 } 2726 }); 2727 2728 2729 2730 $(document).on("click", ".btnActivarEstadoUsuarioFacturalo", function () { 2731 var estadoPlan = $(this).attr("codestadousuario"); 2732 var codigoUsuario = $(this).attr("codUsuario"); 2733 if (estadoPlan == 'INACTIVO') { 2734 swal({ 2735 title: "¿Está seguro de desactivar el usuario?", 2736 text: "¡Si no lo está puede cancelar la acción!", 2737 type: "warning", 2738 showCancelButton: true, 2739 confirmButtonColor: "#3085d6", 2740 cancelButtonColor: "#d33", 2741 cancelButtonText: "Cancelar", 2742 confirmButtonText: "Si, desactivar usuario" 2743 }).then((result) => { 2744 2745 2746 if (result.value) { 2747 var valorEstado = 0; 2748 estadoUsuarioFacturalo(codigoUsuario, valorEstado); 2749 } 2750 2751 }); 2752 } else { 2753 swal({ 2754 title: "¿Está seguro de activar el usuario?", 2755 text: "¡Si no lo está puede cancelar la acción!", 2756 type: "warning", 2757 showCancelButton: true, 2758 confirmButtonColor: "#3085d6", 2759 cancelButtonColor: "#d33", 2760 cancelButtonText: "Cancelar", 2761 confirmButtonText: "Si, activar usuario" 2762 }).then((result) => { 2763 2764 if (result.value) { 2765 var valorEstado = 1; 2766 estadoUsuarioFacturalo(codigoUsuario, valorEstado); 2767 } 2768 }); 2769 } 2770 }); 2771 2772 function estadoUsuario(codigoUsuario, valorUsuario) { 2773 var datos = new FormData(); 2774 datos.append("activarEstadoUsuario", true); 2775 datos.append("codigoUsuario", codigoUsuario); 2776 datos.append("valorUsuario", valorUsuario); 2777 datos.append("tipoSistema", 'Contamatic'); 2778 $.ajax({ 2779 url: "ajax/empresas.ajax.php", 2780 type: "POST", 2781 data: datos, 2782 cache: false, 2783 contentType: false, 2784 processData: false, 2785 dataType: "json", 2786 2787 success: function (respuesta) { 2788 if (respuesta.trim() == 'ok') { 2789 2790 $(".tablaEmpresa-todos").DataTable().ajax.reload(); 2791 toastr.info('Actualizado con exito'); 2792 2793 } else { 2794 2795 toastr.info(respuesta.trim()); 2796 2797 } 2798 2799 2800 } 2801 }); 2802 2803 } 2804 2805 function estadoUsuarioFacturalo(codigoUsuario, valorUsuario) { 2806 var datos = new FormData(); 2807 datos.append("activarEstadoUsuario", true); 2808 datos.append("codigoUsuario", codigoUsuario); 2809 datos.append("valorUsuario", valorUsuario); 2810 datos.append("tipoSistema", 'facturalo'); 2811 $.ajax({ 2812 url: "ajax/empresas.ajax.php", 2813 type: "POST", 2814 data: datos, 2815 cache: false, 2816 contentType: false, 2817 processData: false, 2818 dataType: "json", 2819 2820 success: function (respuesta) { 2821 if (respuesta.trim() == 'ok') { 2822 2823 $(".tablaEmpresaFacturalo-todos").DataTable().ajax.reload(); 2824 toastr.info('Actualizado con exito'); 2825 2826 } else { 2827 2828 toastr.info(respuesta.trim()); 2829 2830 } 2831 2832 2833 } 2834 }); 2835 2836 } 2837 2838 $("#codigoPlan").on("input", function () { 2839 this.value = this.value.replace(/[^0-9]/g, ""); 2840 }); 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 /*============================================= 2851 AGREGAR NUEVO PLAN 2852 =============================================*/ 2853 2854 $(document).on("click", ".btnNuevoPlan", function (e) { 2855 2856 var idDetallePlan = $(this).attr("coddetalleplan"); 2857 var estadoPlan = $(this).attr("estadoplan"); 2858 var idEmpresaPlan = $(this).attr("codempresaplan"); 2859 var nombreFinalEmpresa = $(this).attr("nombreEmpresa"); 2860 2861 2862 let nombreEmpresa = atob(nombreFinalEmpresa); 2863 2864 2865 $("#nombreEmpresa").val(nombreEmpresa.trim()); 2866 2867 $("#codEmpresa").val(idEmpresaPlan); 2868 $("#codEmpresa").attr("sucursal", $(this).attr("sucursalEmpresa")); 2869 2870 2871 2872 //SI EL PLAN SE ENCUENTRA ACTIVADO, NO SE PUEDE CREAR UNO NUEVO. 2873 2874 if (estadoPlan == "ACTIVO") { 2875 2876 toastr.info("¡No puede crear un nuevo plan mientras existe un plan activo!"); 2877 2878 } else { 2879 2880 $("#identificadorPlan").val(idDetallePlan); 2881 2882 $('#modalAgregarPlan').modal('show'); 2883 2884 mostrarNumeroDocumentosRestantes(); 2885 2886 } 2887 2888 /* $datosPlan = array( 2889 "cantidadFactura" => strip_tags($_POST["cantidad_Facturas"]), 2890 "codigoEmpresa" => '' 2891 ); */ 2892 2893 }); 2894 2895 2896 $(document).on("click", "#btnGuardarPlan", function () { 2897 2898 2899 var codigoEmpresa = $("#codEmpresa").val(); 2900 var sucursalEmpresa = $("#codEmpresa").attr("sucursal"); 2901 var codigoPlan = $("#codigoPlan").val(); 2902 let nombreEmpresa = $("#nombreEmpresa").val(); 2903 let tipoplan = $("#tipoPlanEmpresa").val(); 2904 let identificadorPlan = $("#identificadorPlan").val(); 2905 2906 if (codigoPlan != "") { 2907 var datos = new FormData(); 2908 2909 datos.append("agregarPlan", true); 2910 datos.append("codigoEmpresa", codigoEmpresa); 2911 datos.append("numeroFacturas", codigoPlan); 2912 datos.append("nombreEmpresa", nombreEmpresa); 2913 datos.append("tipoPlan", tipoplan); 2914 datos.append("idrestantes", identificadorPlan); 2915 datos.append("sucursalEmpresa", sucursalEmpresa); 2916 2917 swal({ 2918 title: '¿Está seguro de generar un nuevo plan?', 2919 text: "¡Si no lo está puede cancelar la accÃón!", 2920 type: 'warning', 2921 showCancelButton: true, 2922 confirmButtonColor: '#3085d6', 2923 cancelButtonColor: '#d33', 2924 cancelButtonText: 'Cancelar', 2925 confirmButtonText: 'Si, crear plan!' 2926 }).then(function (result) { 2927 2928 if (result.value) { 2929 2930 2931 $.ajax({ 2932 url: "ajax/empresas.ajax.php", 2933 type: "POST", 2934 data: datos, 2935 cache: false, 2936 contentType: false, 2937 processData: false, 2938 dataType: "json", 2939 2940 success: function (respuesta) { 2941 2942 if (respuesta.trim() == 'ok') { 2943 2944 $('#modalAgregarPlan').modal('hide'); 2945 2946 toastr.success('Plan Actualizado con exito'); 2947 2948 setTimeout(() => { 2949 location.reload(); 2950 }, 2000); 2951 2952 2953 } else if (respuesta.trim() == 'falta') { 2954 toastr.success('El número de domentos de su plan prepago es menor al indicado.'); 2955 2956 } 2957 2958 2959 else { 2960 2961 //respuesta.trim() 2962 2963 toastr.info('Error al generar nuevo plan, contacte con el administrador!'); 2964 2965 } 2966 2967 2968 } 2969 }) 2970 2971 2972 } 2973 2974 }); 2975 2976 } 2977 2978 else { 2979 toastr.info("Ingrese la cantidad de documentos del plan"); 2980 } 2981 2982 2983 2984 }); 2985 2986 2987 2988 $(document).on('click', '.btnHistorialPlanes', function (event) { 2989 var empresa = $(this).attr("codempresaplan"); 2990 var sistema = $(this).attr("sistematipo"); 2991 window.location.href = "index.php?ruta=historial-planes&sistema=" + sistema + "&plan=" + btoa(empresa); 2992 }); 2993 2994 $(document).on('click', '.btnHistorialPlanesImprenta', function (event) { 2995 var usuario = $(this).attr("codusuarios"); 2996 window.location.href = "index.php?ruta=historial-planes-imprenta&plan=" + btoa(usuario); 2997 }); 2998 2999 3000 3001 $(document).on('click', '.btnAbonarProyecto', function (event) { 3002 var abonoPlan = $(this).attr("abonoPlan"); 3003 var plan = $(this).attr("plan"); 3004 3005 $("#codPlan-proyecto").val(plan); 3006 $("#codPlanAbono-proyecto").val(abonoPlan); 3007 $("#modalAgregarPagoPlanProyecto").modal("show"); 3008 }); 3009 3010 $("#btnCancelaProyecto").click(function () { 3011 3012 $("#modalEditarProyecto").modal("hide"); 3013 3014 $("#rucProyecto").val(""); 3015 $("#desarrolloEmpresa").val(""); 3016 $("#nombreProyecto").val("");
3017 $("#reseniaaDesarrollo").val(""); 3018 $("#acuerdosDesarrollo").val(""); 3019 3020 $("#aprobadoProyecto").val(""); 3021 $("#precioDesarrolloProyecto").val(""); 3022 $("#tiempoEstimado").val(""); 3023 $("#fechainicioTiempoEstimado").val(""); 3024 $("#fechaFinTiempoEstimado").val(""); 3025 $("#adicionesDesarrollo").val(""); 3026 $("#precioAdicional").val(""); 3027 $("#tiempoEstimadoAdiciones").val(""); 3028 $("#fechainicioAdiciones").val(""); 3029 $("#fechaFinAdiciones").val(""); 3030 3031 $("#fechacomprobante_proyecto").val(""); 3032 $("#valorcomprobante_proyecto").val(""); 3033 $("#bancopago_solicitudSJ_proyecto").val(""); 3034 $("#numeropago_solicitudSJ_proyecto").val(""); 3035 $("#comprobanteArchivoPago_proyecto").val(""); 3036 $("#observacioncomprobante_proyecto").val(""); 3037 document.getElementById('valor_certificado_proyecto').innerHTML = `$0.0`; 3038 document.getElementById('valor_facturar_proyecto').innerHTML = `$0.0`; 3039 3040 $("#identificacion_cliente_proyecto").val(""); 3041 $("#nombre_cliente_proyecto").val(""); 3042 $("#direccion_cliente_proyecto").val(""); 3043 $("#telefono_cliente_proyecto").val(""); 3044 $("#correo_cliente_proyecto").val(""); 3045 }); 3046 3047 $("#btnCancelarSoporte").click(function () { 3048 3049 $("#modalEditarSoporte").modal("hide"); 3050 }) 3051 3052 $(document).on('click', '.btnAbrirModalEditarProyecto', function (event) { 3053 var plan = $(this).attr("codPlan"); 3054 var rucEmpresa = atob($(this).attr("rucEmpresa")); 3055 var empresa = atob($(this).attr("empresa")); 3056 var proyecto = atob($(this).attr("proyecto")); 3057 var resenia = atob($(this).attr("resenia")); 3058 var acuerdo = $(this).attr("acuerdo"); 3059 3060 var aprobado = atob($(this).attr("aprobado")); 3061 var preciodesarrollo = atob($(this).attr("preciodesarrollo")); 3062 var Testimado = $(this).attr("Testimado"); 3063 var inicio = atob($(this).attr("inicio")); 3064 var fin = atob($(this).attr("fin")); 3065 var adicionD = atob($(this).attr("adicionD")); 3066 var precioAdic = atob($(this).attr("precioAdic")); 3067 var TestimadoAdd = atob($(this).attr("TestimadoAdd")); 3068 var inicioAdd = atob($(this).attr("inicioAdd")); 3069 var finAdd = atob($(this).attr("finAdd")); 3070 var valorAb = atob($(this).attr("valorAb")); 3071 3072 $("#idCodigoPlan_proyecto").val(plan); 3073 document.getElementById('valor_certificado_proyecto').innerHTML = `$ ${valorAb}`; 3074 $("#rucProyecto").val(rucEmpresa); 3075 $("#desarrolloEmpresa").val(empresa); 3076 $("#nombreProyecto").val(proyecto); 3077 $("#reseniaaDesarrollo").val(resenia); 3078 $("#acuerdosDesarrollo").val(acuerdo); 3079 3080 $("#aprobadoProyecto").val(aprobado); 3081 $("#precioDesarrolloProyecto").val(preciodesarrollo); 3082 $("#tiempoEstimado").val(Testimado); 3083 $("#fechainicioTiempoEstimado").val(inicio); 3084 $("#fechaFinTiempoEstimado").val(fin); 3085 $("#adicionesDesarrollo").val(adicionD); 3086 $("#precioAdicional").val(precioAdic); 3087 $("#tiempoEstimadoAdiciones").val(TestimadoAdd); 3088 $("#fechainicioAdiciones").val(inicioAdd); 3089 $("#fechaFinAdiciones").val(finAdd); 3090 3091 obtenerInformacionPerfil(); 3092 3093 $("#modalEditarProyecto").modal("show"); 3094 }); 3095 3096 3097 async function postRequest($url, parametros) { 3098 try { 3099 const resultado = await fetch($url, { 3100 method: 'POST', 3101 body: parametros 3102 }); 3103 const datos = await resultado.json(); 3104 return datos; 3105 } catch (error) { 3106 throw error; 3107 } 3108 } 3109 3110 async function obtenerInformacionPerfil() { 3111 3112 let url = 'ajax/facturacion/facturacion.ajax.php'; 3113 let parametros = new FormData(); 3114 parametros.append("informacionPerfil", true); 3115 3116 try { 3117 let resultado = await postRequest(url, parametros); 3118 if (resultado && resultado.operacion) { 3119 document.getElementById('identificacion_contador_proyecto1').value = resultado.data.identificacion; 3120 document.getElementById('nombre_contador_proyecto1').value = resultado.data.nombre; 3121 document.getElementById('direcion_contador_proyecto1').value = resultado.data.direccion; 3122 document.getElementById('telefono_contador_proyecto1').value = resultado.data.telefono; 3123 document.getElementById('correo_contador_proyecto1').value = resultado.data.email; 3124 3125 document.getElementById('identificacion_contador_proyecto2').value = resultado.data.identificacion; 3126 document.getElementById('nombre_contador_proyecto2').value = resultado.data.nombre; 3127 document.getElementById('direcion_contador_proyecto2').value = resultado.data.direccion; 3128 document.getElementById('telefono_contador_proyecto2').value = resultado.data.telefono; 3129 document.getElementById('correo_contador_proyecto2').value = resultado.data.email; 3130 $("#facturarEmpresaMisDatos_proyecto").prop('checked', true); 3131 $("#facturarEmpresaMisDatos_proyecto1").prop('checked', true); 3132 } else { 3133 toastr.error(resultado ? resultado.mensaje : 'Error desconocido'); 3134 } 3135 } catch (error) { 3136 // toastr.error('Hubo un problema al obtener la información del perfil'); 3137 } 3138 } 3139 3140 3141 3142 $(document).on("click", "#buscarContador_proyecto2", async function () { 3143 var dato = $("#identificacion_contador_proyecto2").val(); 3144 if (dato.trim().length < 10) { 3145 toastr.info("Ingrese la cédula correctamente", "Importante", { 3146 timeOut: 4000, 3147 }); 3148 return; 3149 } 3150 $(".cargandoInformacion2").show(); 3151 var tipo = "cedula"; 3152 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 3153 $(".cargandoInformacion2").hide(); 3154 document.getElementById('nombre_contador_proyecto2').value = respuesta.nombres + ' ' + respuesta.apellidos; 3155 document.getElementById('direcion_contador_proyecto2').value = respuesta.ciudad; 3156 }); 3157 3158 $(document).on("click", "#buscar_cliente_proyecto", async function () { 3159 var dato = $("#identificacion_cliente_proyecto").val(); 3160 if (dato.trim().length < 10) { 3161 toastr.info("Ingrese la cédula correctamente", "Importante", { 3162 timeOut: 4000, 3163 }); 3164 return; 3165 } 3166 $(".cargandoInformacion_cliente_proyecto").show(); 3167 var tipo = "cedula"; 3168 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 3169 $(".cargandoInformacion_cliente_proyecto").hide(); 3170 document.getElementById('nombre_cliente_proyecto').value = respuesta.nombres + ' ' + respuesta.apellidos; 3171 document.getElementById('direccion_cliente_proyecto').value = respuesta.ciudad; 3172 }); 3173 3174 3175 $(document).on("click", "#buscarContador_proyecto1", async function () { 3176 var dato = $("#identificacion_contador_proyecto1").val(); 3177 if (dato.trim().length < 10) { 3178 toastr.info("Ingrese la cédula correctamente", "Importante", { 3179 timeOut: 4000, 3180 }); 3181 return; 3182 } 3183 $(".cargandoInformacion1").show(); 3184 var tipo = "cedula"; 3185 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 3186 $(".cargandoInformacion1").hide(); 3187 document.getElementById('nombre_contador_proyecto1').value = respuesta.nombres + ' ' + respuesta.apellidos; 3188 document.getElementById('direcion_contador_proyecto1').value = respuesta.ciudad; 3189 }); 3190 3191 $(document).on("click", "#buscar_cliente_proyecto1", async function () { 3192 var dato = $("#identificacion_cliente_proyecto1").val(); 3193 if (dato.trim().length < 10) { 3194 toastr.info("Ingrese la cédula correctamente", "Importante", { 3195 timeOut: 4000, 3196 }); 3197 return; 3198 } 3199 $(".cargandoInformacion_cliente_proyecto1").show(); 3200 var tipo = "cedula"; 3201 var respuesta = await interfaz.obtenerInformacionPersona(tipo, dato); 3202 $(".cargandoInformacion_cliente_proyecto1").hide(); 3203 document.getElementById('nombre_cliente_proyecto1').value = respuesta.nombres + ' ' + respuesta.apellidos; 3204 document.getElementById('direccion_cliente_proyecto1').value = respuesta.ciudad; 3205 }); 3206 3207 3208 3209 $("#btnEditarProyecto").click(function () { 3210 3211 $("#btnEditarProyecto").prop("disabled", true); 3212 3213 if ($("#rucProyecto").val() == "") { 3214 toastr.info("Ingrese el RUC", "Importante", { timeOut: 3000 }); 3215 $("#btnEditarProyecto").prop("disabled", false); 3216 return; 3217 } 3218 3219 if ($("#desarrolloEmpresa").val() == "") { 3220 toastr.info("Ingrese el nombre de la empresa a la que se le desarrolla el proyecto", "Importante", { timeOut: 3000 }); 3221 $("#btnEditarProyecto").prop("disabled", false); 3222 return; 3223 } 3224 3225 if ($("#nombreProyecto").val() == "") { 3226 toastr.info("Ingrese el nombre del proyecto", "Importante", { timeOut: 3000 }); 3227 $("#btnEditarProyecto").prop("disabled", false); 3228 return; 3229 } 3230
3231 if ($("#reseniaaDesarrollo").val() == "") { 3232 toastr.info("Ingrese una pequeña reseña del proyecto", "Importante", { timeOut: 3000 }); 3233 $("#btnEditarProyecto").prop("disabled", false); 3234 return; 3235 } 3236 3237 if ($("#acuerdosDesarrollo").val() == "") { 3238 toastr.info("Ingrese los acuerdos del desarrollo", "Importante", { timeOut: 3000 }); 3239 $("#btnEditarProyecto").prop("disabled", false); 3240 return; 3241 } 3242 3243 if ($("#aprobadoProyecto").val() == "") { 3244 toastr.info("Ingrese quien aprobo el proyecto", "Importante", { timeOut: 3000 }); 3245 $("#btnEditarProyecto").prop("disabled", false); 3246 return; 3247 } 3248 3249 if ($("#precioDesarrolloProyecto").val() == "") { 3250 toastr.info("Ingrese el precio del desarrollo del proyecto", "Importante", { timeOut: 3000 }); 3251 $("#btnEditarProyecto").prop("disabled", false); 3252 return; 3253 } 3254 if ($("#tiempoEstimado").val() == "") { 3255 toastr.info("Ingrese el tiempo estimado del desarrollo", "Importante", { timeOut: 3000 }); 3256 $("#btnEditarProyecto").prop("disabled", false); 3257 return; 3258 } 3259 if ($("#fechainicioTiempoEstimado").val() == "") { 3260 toastr.info("Ingrese la fecha de inicio estimada", "Importante", { timeOut: 3000 }); 3261 $("#btnEditarProyecto").prop("disabled", false); 3262 return; 3263 } 3264 if ($("#fechaFinTiempoEstimado").val() == "") { 3265 toastr.info("Ingrese la fecha fin estimada", "Importante", { timeOut: 3000 }); 3266 $("#btnEditarProyecto").prop("disabled", false); 3267 return; 3268 } 3269 3270 var numeroArchivos = $("#comprobanteArchivoPago_proyecto")[0].files; 3271 3272 var datos = new FormData(); 3273 datos.append("btnEditarProyecto", true); 3274 datos.append("rucProyecto", $("#rucProyecto").val()); 3275 datos.append("desarrolloEmpresa", $("#desarrolloEmpresa").val()); 3276 datos.append("nombreProyecto", $("#nombreProyecto").val()); 3277 datos.append("reseniaaDesarrollo", $("#reseniaaDesarrollo").val()); 3278 datos.append("acuerdosDesarrollo", $("#acuerdosDesarrollo").val()); 3279 datos.append("aprobadoProyecto", $("#aprobadoProyecto").val()); 3280 datos.append("precioDesarrolloProyecto", $("#precioDesarrolloProyecto").val()); 3281 datos.append("tiempoEstimado", $("#tiempoEstimado").val()); 3282 datos.append("fechainicioTiempoEstimado", $("#fechainicioTiempoEstimado").val()); 3283 datos.append("fechaFinTiempoEstimado", $("#fechaFinTiempoEstimado").val()); 3284 datos.append("adicionesDesarrollo", $("#adicionesDesarrollo").val()); 3285 datos.append("precioAdicional", $("#precioAdicional").val()); 3286 datos.append("tiempoEstimadoAdiciones", $("#tiempoEstimadoAdiciones").val()); 3287 datos.append("fechainicioAdiciones", $("#fechainicioAdiciones").val()); 3288 datos.append("fechaFinAdiciones", $("#fechaFinAdiciones").val()); 3289 datos.append('codPlan', $("#idCodigoPlan_proyecto").val()); 3290 3291 $("#btnEditarProyecto").prop("disabled", true); 3292 3293 $.ajax({ 3294 url: "ajax/empresas.ajax.php", 3295 type: "POST", 3296 data: datos, 3297 cache: false, 3298 contentType: false, 3299 processData: false, 3300 success: function (respuesta) { 3301 var respuesta = JSON.parse(respuesta); 3302 $("#btnEditarProyecto").prop("disabled", false); 3303 if (respuesta.estado) { 3304 setTimeout(() => { 3305 if (numeroArchivos.length != 0) { 3306 subirArchivoComprobantePagoComprobante() 3307 3308 } else { 3309 location.reload(); 3310 toastr.success("Proyecto Editado correctamente !"); 3311 } 3312 }, 1000); 3313 } else { 3314 toastr.error("Error al crear un Proyecto!"); 3315 setTimeout(() => { 3316 location.reload(); 3317 }, 1000); 3318 } 3319 }, 3320 }); 3321 3322 }); 3323 3324 3325 3326 3327 3328 3329 async function subirArchivoComprobantePagoComprobante() { 3330 let parametros = new FormData(); 3331 var numeroArchivos = $("#comprobanteArchivoPago_proyecto")[0].files; 3332 var codPlan = $("#idCodigoPlan_proyecto").val(); 3333 var numcomprobante = $("#numeropago_solicitudSJ_proyecto").val().trim(); 3334 var bancocomprobante = $("#bancopago_solicitudSJ_proyecto").val().trim(); 3335 var valorcomprobante = $("#valorcomprobante_proyecto").val().trim(); 3336 var observacioncomprobante = $("#observacioncomprobante_proyecto").val().trim(); 3337 var fechacomprobante = $("#fechacomprobante_proyecto").val().trim(); 3338 3339 if (bancocomprobante == '1') { 3340 bancocomprobante = 'BANCO PICHINCHA'; 3341 } else { 3342 bancocomprobante = 'BANCO DEL PACÃFICO'; 3343 } 3344 3345 if (fechacomprobante == '') { 3346 toastr.info("Ingrese la fecha de pago"); 3347 $("#btnEditarProyecto").prop("disabled", false); 3348 return; 3349 } 3350 if (valorcomprobante == '') { 3351 toastr.info("Ingrese el valor de pago"); 3352 $("#btnEditarProyecto").prop("disabled", false); 3353 return; 3354 } 3355 if (bancocomprobante == '') { 3356 toastr.info("Ingrese la fecha de pago"); 3357 $("#btnEditarProyecto").prop("disabled", false); 3358 return; 3359 } 3360 if (numcomprobante == '') { 3361 toastr.info("Ingrese el número de comprobante"); 3362 $("#btnEditarProyecto").prop("disabled", false); 3363 return; 3364 } 3365 if (numeroArchivos.length != 0) { 3366 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 3367 parametros.append('archivoComprobante', numeroArchivos[0]); 3368 } else { 3369 toastr.info("El documento cargado debe ser una Imagen o PDF"); 3370 $("#btnEditarProyecto").prop("disabled", false); 3371 3372 return false;
3373 } 3374 } else { 3375 $("#btnEditarProyecto").prop("disabled", false); 3376 toastr.info("Cargue el documento pdf o imagen del comprobante de pago"); 3377 return false; 3378 } 3379 3380 let jsonCliente = []; 3381 3382 let facturarEmpresa = document.getElementById('facturarEmpresaMisDatos_proyecto').value; 3383 3384 if (facturarEmpresa == 0) { 3385 toastr.info("Seleccione los datos de factura", "Importante", { timeOut: 3000 }); 3386 $("#btnEditarProyecto").prop("disabled", false); 3387 return; 3388 } 3389 3390 if (facturarEmpresa == 1) { 3391 facturarEmpresa = true; 3392 if ($("#identificacion_contador_proyecto1").val() == "") { 3393 toastr.info("Ingrese la identificación del contador", "Importante", { timeOut: 3000 }); 3394 $("#btnEditarProyecto").prop("disabled", false); 3395 return; 3396 } 3397 3398 if ($("#nombre_contador_proyecto1").val() == "") { 3399 toastr.info("Ingrese el nombre del contador", "Importante", { timeOut: 3000 }); 3400 $("#btnEditarProyecto").prop("disabled", false); 3401 return; 3402 } 3403 if ($("#direcion_contador_proyecto1").val() == "") { 3404 toastr.info("Ingrese la dirección del contador", "Importante", { timeOut: 3000 }); 3405 $("#btnEditarProyecto").prop("disabled", false); 3406 return; 3407 } 3408 if ($("#telefono_contador_proyecto1").val() == "") { 3409 toastr.info("ngrese el telefono del contador", "Importante", { timeOut: 3000 }); 3410 $("#btnEditarProyecto").prop("disabled", false); 3411 return; 3412 } 3413 if ($("#correo_contador_proyecto1").val() == "") { 3414 toastr.info("Ingrese el correo del contador", "Importante", { timeOut: 3000 }); 3415 $("#btnEditarProyecto").prop("disabled", false); 3416 return; 3417 } 3418 3419 } else { 3420 facturarEmpresa = false; 3421 if ($("#identificacion_cliente_proyecto1").val() == "") { 3422 toastr.info("Ingrese la identificación del cliente para facturar", "Importante", { timeOut: 3000 }); 3423 $("#btnEditarProyecto").prop("disabled", false); 3424 return; 3425 } 3426 3427 if ($("#nombre_cliente_proyecto1").val() == "") { 3428 toastr.info("Ingrese el nombre del cliente para facturar", "Importante", { timeOut: 3000 }); 3429 $("#btnEditarProyecto").prop("disabled", false); 3430 return; 3431 } 3432 if ($("#direccion_cliente_proyecto1").val() == "") { 3433 toastr.info("Ingrese la dirección del cliente para facturar", "Importante", { timeOut: 3000 }); 3434 $("#btnEditarProyecto").prop("disabled", false); 3435 return; 3436 } 3437 if ($("#telefono_cliente_proyecto1").val() == "") { 3438 toastr.info("Ingrese el teléfono del cliente para facturar", "Importante", { timeOut: 3000 }); 3439 $("#btnEditarProyecto").prop("disabled", false); 3440 return; 3441 } 3442 if ($("#correo_cliente_proyecto1").val() == "") { 3443 toastr.info("Ingrese el correo del cliente para facturar", "Importante", { timeOut: 3000 }); 3444 $("#btnEditarProyecto").prop("disabled", false); 3445 return; 3446 } 3447 } 3448 3449 3450 3451 3452 jsonCliente.push({ 3453 identificacion_cliente: document.getElementById('identificacion_cliente_proyecto1').value, 3454 nombre_cliente: document.getElementById('nombre_cliente_proyecto1').value, 3455 direccion_cliente: document.getElementById('direccion_cliente_proyecto1').value, 3456 telefono_cliente: document.getElementById('telefono_cliente_proyecto1').value, 3457 correo_cliente: document.getElementById('correo_cliente_proyecto1').value, 3458 observacion_cliente: document.getElementById('observacioncomprobante_proyecto').value, 3459 facturarConMisDatos: facturarEmpresa, 3460 identificacion_contador: document.getElementById('identificacion_contador_proyecto1').value, 3461 nombre_contador: document.getElementById('nombre_contador_proyecto1').value, 3462 direcion_contador: document.getElementById('direcion_contador_proyecto1').value, 3463 telefono_contador: document.getElementById('telefono_contador_proyecto1').value, 3464 correo_contador: document.getElementById('correo_contador_proyecto1').value, 3465 totalFactura: document.getElementById('valorcomprobante_proyecto').value, 3466 fechapago_solicitudSJ: document.getElementById('fechacomprobante_proyecto').value, 3467 bancopago_solicitudSJ: document.getElementById('bancopago_solicitudSJ_proyecto').value, 3468 numeropago_solicitudSJ: document.getElementById('numeropago_solicitudSJ_proyecto').value, 3469 }); 3470 3471 3472 3473 parametros.append('guardarPagoProyecto', true); 3474 parametros.append('codPlan', codPlan); 3475 parametros.append('comprobante', numcomprobante); 3476 parametros.append('bancocomprobante', bancocomprobante); 3477 parametros.append('valorcomprobante', valorcomprobante); 3478 parametros.append('observacioncomprobante', observacioncomprobante); 3479 parametros.append('fechacomprobante', fechacomprobante); 3480 parametros.append("jsonCliente", JSON.stringify(jsonCliente)); 3481 3482 3483 const resultado = await fetch("ajax/planes/planfacturero.ajax.php", { 3484 method: "POST", 3485 body: parametros, 3486 }); 3487 const datos = await resultado.json(); 3488 3489 if (datos.estado) { 3490 toastr.success(datos.mensaje); 3491 setTimeout(() => { 3492 location.reload(); 3493 }, 2000); 3494 3495 } else { 3496 toastr.error(datos.mensaje); 3497 setTimeout(() => { 3498 location.reload(); 3499 }, 2000); 3500 } 3501 3502 } 3503 3504 if (window.location.href.indexOf("empresas") > -1) { 3505 document.addEventListener('DOMContentLoaded', () => { 3506 let currentStep = 0; 3507 const steps = document.querySelectorAll(".step"); 3508 const contents = document.querySelectorAll(".step-content"); 3509 const prevBtn = document.getElementById("prevBtnProyectos"); 3510 const nextBtn = document.getElementById("nextBtnProyectos"); 3511 let guardarBtn = document.getElementById("btnEditarProyecto"); 3512 3513 function goToStep(stepIndex) { 3514 currentStep = stepIndex; 3515 steps.forEach((step, index) => { 3516 step.classList.remove("active", "completed"); 3517 if (index < stepIndex) step.classList.add("completed"); 3518 if (index === stepIndex) step.classList.add("active"); 3519 }); 3520
3521 contents.forEach((content, index) => { 3522 content.classList.toggle("active", index === stepIndex); 3523 }); 3524 3525 prevBtn.disabled = stepIndex === 0; 3526 3527 if (stepIndex === steps.length - 1) { 3528 nextBtn.style.display = "none"; 3529 guardarBtn.style.display = "inline-block"; 3530 } else { 3531 nextBtn.style.display = "inline-block"; 3532 guardarBtn.style.display = "none"; 3533 } 3534 } 3535 3536 3537 steps.forEach((step, index) => { 3538 step.addEventListener("click", () => goToStep(index)); 3539 }); 3540 3541 nextBtn.addEventListener("click", () => { 3542 if (currentStep < steps.length - 1) { 3543 goToStep(currentStep + 1); 3544 } else { 3545 alert("Formulario finalizado"); 3546 } 3547 }); 3548 3549 prevBtn.addEventListener("click", () => { 3550 if (currentStep > 0) { 3551 goToStep(currentStep - 1); 3552 } 3553 }); 3554 3555 document.getElementById("btnFactMisDatos_proyecto").addEventListener("click", () => { 3556 obtenerInformacionPerfil(); 3557 const btnMisDatos = document.getElementById("btnFactMisDatos_proyecto"); 3558 btnMisDatos.innerHTML = '<i class="fas fa-check-circle text-success"></i> <b>Facturar con mis datos</b>'; 3559 btnMisDatos.style.color = "#2cd07e"; 3560 btnMisDatos.style.borderColor = "#2cd07e"; 3561 3562 const btnDatosCli = document.getElementById("btnFactDatosCli_proyecto"); 3563 btnDatosCli.innerHTML = '<b>Facturar con otros datos</b>'; 3564 btnDatosCli.style.color = "#707cd2"; 3565 btnDatosCli.style.borderColor = "#707cd2"; 3566 3567 $("#misDatos_proyecto").show(); 3568 $("#datosCliente_proyecto").hide(); 3569 document.getElementById("seleccionarDatosFacturar_proyecto").value = 1; 3570 document.getElementById("facturarEmpresaMisDatos_proyecto").value = 1; 3571 }); 3572 3573 document.getElementById("btnFactDatosCli_proyecto").addEventListener("click", () => { 3574 const btnMisDatos = document.getElementById("btnFactMisDatos_proyecto"); 3575 btnMisDatos.innerHTML = '<b>Facturar con mis datos</b>'; 3576 btnMisDatos.style.color = "#707cd2"; 3577 btnMisDatos.style.borderColor = "#707cd2"; 3578 3579 3580 const btnDatosCli = document.getElementById("btnFactDatosCli_proyecto"); 3581 btnDatosCli.innerHTML = '<i class="fas fa-check-circle text-success"></i> <b>Facturar con otros datos</b>'; 3582 btnDatosCli.style.color = "#2cd07e"; 3583 btnDatosCli.style.borderColor = "#2cd07e"; 3584 3585 $("#misDatos_proyecto").hide(); 3586 $("#datosCliente_proyecto").show(); 3587 document.getElementById("seleccionarDatosFacturar_proyecto").value = 1; 3588 document.getElementById("facturarEmpresaMisDatos_proyecto").value = 2; 3589 }); 3590 3591 3592 document.getElementById("btnFactMisDatos_proyecto1").addEventListener("click", () => { 3593 obtenerInformacionPerfil(); 3594 const btnMisDatos = document.getElementById("btnFactMisDatos_proyecto1"); 3595 btnMisDatos.innerHTML = '<i class="fas fa-check-circle text-success"></i> <b>Facturar con mis datos</b>'; 3596 btnMisDatos.style.color = "#2cd07e"; 3597 btnMisDatos.style.borderColor = "#2cd07e"; 3598 3599 const btnDatosCli = document.getElementById("btnFactDatosCli_proyecto1"); 3600 btnDatosCli.innerHTML = '<b>Facturar con otros datos</b>'; 3601 btnDatosCli.style.color = "#707cd2"; 3602 btnDatosCli.style.borderColor = "#707cd2"; 3603 3604 $("#misDatos_proyecto1").show(); 3605 $("#datosCliente_proyecto1").hide(); 3606 document.getElementById("seleccionarDatosFacturar_proyecto1").value = 1; 3607 document.getElementById("facturarEmpresaMisDatos_proyecto1").value = 1; 3608 }); 3609 3610 document.getElementById("btnFactDatosCli_proyecto1").addEventListener("click", () => { 3611 const btnMisDatos = document.getElementById("btnFactMisDatos_proyecto1"); 3612 btnMisDatos.innerHTML = '<b>Facturar con mis datos</b>'; 3613 btnMisDatos.style.color = "#707cd2"; 3614 btnMisDatos.style.borderColor = "#707cd2"; 3615 3616 3617 const btnDatosCli = document.getElementById("btnFactDatosCli_proyecto1"); 3618 btnDatosCli.innerHTML = '<i class="fas fa-check-circle text-success"></i> <b>Facturar con otros datos</b>'; 3619 btnDatosCli.style.color = "#2cd07e"; 3620 btnDatosCli.style.borderColor = "#2cd07e"; 3621 3622 $("#misDatos_proyecto1").hide(); 3623 $("#datosCliente_proyecto1").show(); 3624 document.getElementById("seleccionarDatosFacturar_proyecto1").value = 1; 3625 document.getElementById("facturarEmpresaMisDatos_proyecto1").value = 2; 3626 }); 3627 3628 document.getElementById("fechainicioTiempoEstimado").addEventListener("change", calcularTiempoEstimado); 3629 document.getElementById("fechaFinTiempoEstimado").addEventListener("change", calcularTiempoEstimado); 3630 3631 function calcularTiempoEstimado() { 3632 const fechaInicio = document.getElementById("fechainicioTiempoEstimado").value; 3633 const fechaFin = document.getElementById("fechaFinTiempoEstimado").value; 3634 console.log(fechaInicio); 3635 console.log(fechaFin); 3636 if (fechaInicio && fechaFin) { 3637 const inicio = new Date(fechaInicio); 3638 const fin = new Date(fechaFin); 3639 const diferenciaTiempo = fin - inicio; 3640 const diferenciaDias = diferenciaTiempo / (1000 * 60 * 60 * 24); 3641 3642 let tiempoEstimado = ""; 3643 if (diferenciaDias <= 7) { 3644 tiempoEstimado = `${diferenciaDias} dÃa(s)`; 3645 } else { 3646 const semanas = (diferenciaDias / 7).toFixed(1); 3647 tiempoEstimado = `${semanas} semana(s)`; 3648 } 3649 3650 document.getElementById("tiempoEstimado").value = tiempoEstimado; 3651 } else { 3652 document.getElementById("tiempoEstimado").value = ""; 3653 } 3654 } 3655 3656 document.getElementById("fechainicioAdiciones").addEventListener("change", calcularTiempoEstimadoAdicionales); 3657 document.getElementById("fechaFinAdiciones").addEventListener("change", calcularTiempoEstimadoAdicionales); 3658 3659 3660 function calcularTiempoEstimadoAdicionales() { 3661 const fechaInicio = document.getElementById("fechainicioAdiciones").value; 3662 const fechaFin = document.getElementById("fechaFinAdiciones").value; 3663 3664 if (fechaInicio && fechaFin) { 3665 const inicio = new Date(fechaInicio); 3666 const fin = new Date(fechaFin); 3667 const diferenciaTiempo = fin - inicio; 3668 const diferenciaDias = diferenciaTiempo / (1000 * 60 * 60 * 24); 3669 3670 let tiempoEstimado = ""; 3671 if (diferenciaDias <= 7) { 3672 tiempoEstimado = `${diferenciaDias} dÃa(s)`; 3673 } else { 3674 const semanas = (diferenciaDias / 7).toFixed(1); 3675 tiempoEstimado = `${semanas} semana(s)`; 3676 } 3677 3678 document.getElementById("tiempoEstimadoAdiciones").value = tiempoEstimado; 3679 } else { 3680 document.getElementById("tiempoEstimadoAdiciones").value = ""; 3681 } 3682 } 3683 3684 document.getElementById('valorcomprobante_proyecto').addEventListener('blur', function (e) { 3685 let value = e.target.value; 3686 value = value.replace(',', '.'); 3687 3688 let number = parseFloat(value); 3689 3690 if (!isNaN(number)) { 3691 e.target.value = number.toFixed(2); 3692 } 3693 3694 document.getElementById('valor_facturar_proyecto').innerHTML = `$ ${e.target.value}`; 3695 }); 3696 3697 3698 }); 3699 3700 3701 } 3702 3703 3704 3705 3706 3707 3708 $(document).on('click', '.btnHistorialProyectos', function (event) { 3709 var plan = $(this).attr("plan"); 3710 window.location.href = "index.php?ruta=historial-abonos-proyectos&plan=" + btoa(plan); 3711 }); 3712 3713 /*============================================= 3714 AGREGAR NUEVO PLAN 3715 =============================================*/ 3716 if ($('#tipoPlanEmpresa').length) { 3717 var datos = new FormData(); 3718 datos.append("validarPlanUsuario", true); 3719 $.ajax({ 3720 url: "ajax/usuarios.ajax.php", 3721 type: "POST", 3722 data: datos, 3723 contentType: false, 3724 processData: false, 3725 success: function (respuesta) { 3726 3727 var datos = JSON.parse(respuesta); 3728 if (datos.tipo == "prepago") {
3729 $('#tipoPlanEmpresa').append(new Option("PLAN PREPAGO", "prepago")) 3730 } else { 3731 3732 $('#tipoPlanEmpresa').prop('disabled', true); 3733 3734 3735 3736 } 3737 }, 3738 }); 3739 } 3740 3741 /*=========================================================== 3742 ACTUALIZAR MENSAJE AL CAMBIAR OPCIONES DEL TIPO DE PLAN 3743 ============================================================*/ 3744 3745 $('#tipoPlanEmpresa').on('change', function (e) { 3746 3747 var option = $("#tipoPlanEmpresa").val(); 3748 var campo = $("#codigoPlan").val(); 3749 campo = campo < 50 && campo != "" ? 50 : campo; 3750 3751 if (option == "prepago") { 3752 3753 var datos = new FormData(); 3754 datos.append("validarPlanUsuario", true); 3755 $.ajax({ 3756 url: "ajax/usuarios.ajax.php", 3757 type: "POST", 3758 data: datos, 3759 contentType: false, 3760 processData: false, 3761 success: function (respuesta) { 3762 var datos = JSON.parse(respuesta); 3763 3764 if (parseInt(datos.cantidad) >= campo) { 3765 $("#campoIngresoPrepago").show(); 3766 $("#campoIngresoNormal").hide(); 3767 $("#mensaje-info-prepago").show(); 3768 $("#mensaje-documentos").show(); 3769 $("#mensaje-documentos").addClass("badge-info"); 3770 $("#mensaje-documentos").removeClass("badge-danger"); 3771 $("#mensaje-documentos").text("Documentos restantes de su Plan Prepago: " + (datos.cantidad - campo)); 3772 3773 } else { 3774 $("#campoIngresoPrepago").show(); 3775 $("#campoIngresoNormal").hide(); 3776 $("#mensaje-info-prepago").show(); 3777 $("#mensaje-documentos").show(); 3778 $("#mensaje-documentos").removeClass("badge-info"); 3779 $("#mensaje-documentos").addClass("badge-danger"); 3780 $("#mensaje-documentos").text("La cantidad indicada sobrepasa el total de documentos electrónicos de su Plan Prepago"); 3781 3782 } 3783 3784 3785 3786 }, 3787 }); 3788 3789 } 3790 else { 3791 3792 $("#codigoPlan").val(""); 3793 $("#seleccionPlanNormal").val(""); 3794 $("#campoIngresoPrepago").hide(); 3795 $("#campoIngresoNormal").show(); 3796 $("#mensaje-info-prepago").hide(); 3797 $("#mensaje-documentos").hide(); 3798 $("#mensaje-documentos").text(""); 3799 3800 3801 3802 } 3803 3804 }); 3805 3806 3807 3808 3809 3810 3811 3812 /*=================================================== 3813 ACTUALIZAR MENSAJE AL CAMBIAR CIFRA DE DOCUMENTOS 3814 =====================================================*/ 3815 3816 $('#codigoPlan').on('keyup change paste', function (e) { 3817 3818 var option = $("#tipoPlanEmpresa").val(); 3819 var campo = $(this).val(); 3820 campo = campo < 50 && campo != "" ? 50 : campo; 3821 3822 if (option == "prepago") { 3823 3824 var datos = new FormData(); 3825 datos.append("validarPlanUsuario", true); 3826 $.ajax({ 3827 url: "ajax/usuarios.ajax.php", 3828 type: "POST", 3829 data: datos, 3830 contentType: false, 3831 processData: false, 3832 success: function (respuesta) { 3833 var datos = JSON.parse(respuesta); 3834 3835 if (parseInt(datos.cantidad) >= campo) { 3836 $("#mensaje-info-prepago").show(); 3837 $("#mensaje-documentos").show(); 3838 $("#mensaje-documentos").addClass("badge-info"); 3839 $("#mensaje-documentos").removeClass("badge-danger"); 3840 $("#mensaje-documentos").text("Documentos restantes de su Plan Prepago: " + (datos.cantidad - campo)); 3841 3842 3843 3844 } else { 3845 $("#mensaje-info-prepago").show(); 3846 $("#mensaje-documentos").show(); 3847 $("#mensaje-documentos").removeClass("badge-info"); 3848 $("#mensaje-documentos").addClass("badge-danger"); 3849 $("#mensaje-documentos").text("La cantidad indicada sobrepasa el total de documentos electrónicos de su Plan Prepago"); 3850 } 3851 3852 3853 3854 }, 3855 }); 3856 3857 } 3858 else { 3859 $("#mensaje-info-prepago").hide(); 3860 $("#mensaje-documentos").hide(); 3861 $("#mensaje-documentos").text(""); 3862 } 3863 3864 }); 3865 3866 3867 /*=================================================== 3868 MOSTRAR LA CANTIDAD SOBRANTE DE UN PLAN 3869 =====================================================*/ 3870 3871 function mostrarNumeroDocumentosRestantes() { 3872 var datos = new FormData(); 3873 datos.append("mostrarDocumentosRestantes", true); 3874 datos.append("plan", $("#identificadorPlan").val()); 3875 $.ajax({ 3876 url: "ajax/empresas.ajax.php", 3877 type: "POST", 3878 data: datos, 3879 contentType: false, 3880 processData: false, 3881 success: function (respuesta) { 3882 var datos = JSON.parse(respuesta); 3883 var total = (datos.TOTAL) - (datos.DOCUMENTOS); 3884 if (total >= 0) { 3885 $("#totalRestantesPlan").val(total); 3886 } else { 3887 $("#totalRestantesPlan").val(0); 3888 } 3889 }, 3890 }); 3891 3892 } 3893 3894 3895 $(document).on("click", ".btnEnviarWsppEmpresa", function () { 3896 3897 var usuario = atob($(this).attr("usuario")); 3898 var pass = atob($(this).attr("pass")); 3899 var empresa = $(this).attr("empresa"); 3900 var telefono = $(this).attr("telefono"); 3901 3902 3903 var mensaje = "%0a%0a" + 3904 "*DESCARGAR* *APP* *CONTAMATIC:*" + 3905 "%0a%0a" + 3906 "*1.-GOOGLE* *PLAY* *(TELÃFONOS* *Y* *TABLETS* *ANDROID)*" + 3907 "%0a" + 3908 "https://play.google.com/store/apps/details?id=com.contamatic.facturacion" + 3909 "%0a%0a" + 3910 "*2.-APP* *STORE* *(TELÃFONOS* *IPHONE* *-* *IPAD)*" + 3911 "%0a" + 3912 "https://apps.apple.com/app/id6443858478" + 3913 "%0a%0a" + 3914 "*3.-HUAWEY* *GALLERY* *(TELÃFONOS* *HUAWEY)*" + 3915 "%0a" + 3916 "https://urldra.cloud.huawei.com/j0s0NlWNAA" + 3917 "%0a%0a" + 3918 "*4.-PC* *-* *SISTEMA* *WEB* *(NAVEGADORES* *WEB)*" + 3919 "%0a" + 3920 "https://facturacion-electronica.contamatic.ec/factumatic/" + 3921 "%0a%0a%0a" + 3922 "GRACIAS POR PREFERINOS. ðª *CONTAMATIC* *SISTEMA* *CONTABLE* *Y* *FACTURACIÃN* *ELECTRÃNICA*."; 3923 3924 3925 3926
3927 var mensaje = "https://api.whatsapp.com/send?phone=+593" + telefono + "&text=*GRACIAS POR USAR NUESTROS SERVICIOS. SOPORTE CONTAMATIC. LINK:* https://empresarial.contamatic.ec/sistema%0a*EMPRESA:* " + empresa.replaceAll('&', 'y') + "%0a*USUARIO:* " + usuario + "%0a*CLAVE:* " + pass; 3928 3929 window.open(mensaje, '_blank'); 3930 3931 }); 3932 3933 3934 $(document).on("click", ".btnEnviarWsppFacturero", function () { 3935 3936 var usuario = atob($(this).attr("usuario")); 3937 var pass = atob($(this).attr("pass")); 3938 var empresa = $(this).attr("empresa"); 3939 var telefono = $(this).attr("telefono"); 3940 3941 3942 var mensaje = "%0a%0a" + 3943 "*DESCARGAR* *APP* *CONTAMATIC:*" + 3944 "%0a%0a" + 3945 "*1.-GOOGLE* *PLAY* *(TELÃFONOS* *Y* *TABLETS* *ANDROID)*" + 3946 "%0a" + 3947 "https://play.google.com/store/apps/details?id=com.contamatic.facturacion" + 3948 "%0a%0a" + 3949 "*2.-APP* *STORE* *(TELÃFONOS* *IPHONE* *-* *IPAD)*" + 3950 "%0a" + 3951 "https://apps.apple.com/app/id6443858478" + 3952 "%0a%0a" + 3953 "*3.-HUAWEY* *GALLERY* *(TELÃFONOS* *HUAWEY)*" + 3954 "%0a" + 3955 "https://urldra.cloud.huawei.com/j0s0NlWNAA" + 3956 "%0a%0a" + 3957 "*4.-PC* *-* *SISTEMA* *WEB* *(NAVEGADORES* *WEB)*" + 3958 "%0a" + 3959 "https://facturacion-electronica.contamatic.ec/factumatic/" + 3960 "%0a%0a%0a" + 3961 "GRACIAS POR PREFERINOS. ðª *CONTAMATIC* *SISTEMA* *CONTABLE* *Y* *FACTURACIÃN* *ELECTRÃNICA*."; 3962 3963 3964 3965 3966 var mensaje = "https://api.whatsapp.com/send?phone=+593" + telefono + "&text=*GRACIAS POR USAR NUESTROS SERVICIOS. SOPORTE CONTAMATIC. LINK:* https://facturacion-electronica.contamatic.ec/factumatic%0a*EMPRESA:* " + empresa.replaceAll('&', 'y') + "%0a*USUARIO:* " + encodeURIComponent(usuario) + "%0a*CLAVE:* " + encodeURIComponent(pass); 3967 3968 window.open(mensaje, '_blank'); 3969 3970 }); 3971 3972 3973 $(document).on("click", ".btnEnviarWsppFactureroApp", function () { 3974 3975 var usuario = atob($(this).attr("usuario")); 3976 var pass = atob($(this).attr("pass")); 3977 var empresa = $(this).attr("empresa"); 3978 var telefono = $(this).attr("telefono"); 3979 3980 3981 var mensaje = "%0a%0a" + 3982 "*DESCARGAR* *APP* *CONTAMATIC:*" + 3983 "%0a%0a" + 3984 "*1.-GOOGLE* *PLAY* *(TELÃFONOS* *Y* *TABLETS* *ANDROID)*" + 3985 "%0a" + 3986 "https://play.google.com/store/apps/details?id=com.contamatic.facturacion" + 3987 "%0a%0a" + 3988 "*2.-APP* *STORE* *(TELÃFONOS* *IPHONE* *-* *IPAD)*" + 3989 "%0a" + 3990 "https://apps.apple.com/app/id6443858478" + 3991 "%0a%0a" + 3992 "*3.-HUAWEY* *GALLERY* *(TELÃFONOS* *HUAWEY)*" + 3993 "%0a" + 3994 "https://urldra.cloud.huawei.com/j0s0NlWNAA" + 3995 "%0a%0a" + 3996 "*4.-PC* *-* *SISTEMA* *WEB* *(NAVEGADORES* *WEB)*" + 3997 "%0a" + 3998 "https://facturacion-electronica.contamatic.ec/factumatic/" + 3999 "%0a%0a%0a" + 4000 "GRACIAS POR PREFERINOS. ðª *CONTAMATIC* *SISTEMA* *CONTABLE* *Y* *FACTURACIÃN* *ELECTRÃNICA*."; 4001 4002 4003 4004 4005 var mensaje = "https://api.whatsapp.com/send?phone=+593" + telefono + "&text=*GRACIAS POR USAR NUESTROS SERVICIOS. SOPORTE CONTAMATIC. LINK:* https://facturalo.com.ec/sistema%0a*EMPRESA:* " + empresa.replaceAll('&', 'y') + "%0a*USUARIO:* " + encodeURIComponent(usuario) + "%0a*CLAVE:* " + encodeURIComponent(pass); 4006 4007 window.open(mensaje, '_blank'); 4008 4009 }); 4010 4011 4012 4013 4014 $(document).on("click", ".btnEnviarWsppEmpresaContable", function () { 4015 4016 let usuario = atob($(this).attr("usuario")); 4017 let pass = atob($(this).attr("clave")); 4018 let empresa = $(this).attr("empresa"); 4019 let telefono = $(this).attr("telefono"); 4020 let mensaje = "https://api.whatsapp.com/send?phone=+593" + telefono + "&text=*GRACIAS POR USAR NUESTROS SERVICIOS. SOPORTE CONTAMATIC. LINK:* https://empresarial.contamatic.ec/sistema%0a*EMPRESA:* " + empresa.replaceAll('&', 'y') + "%0a*USUARIO:* " + encodeURIComponent(usuario) + "%0a*CLAVE:* " + encodeURIComponent(pass); 4021 4022 window.open(mensaje, '_blank'); 4023 4024 }); 4025 4026 4027 $(document).on("click", ".btnEnviarCredenciales", async function () { 4028 4029 let usuario = $(this).attr("usuario"); 4030 let pass = $(this).attr("clave"); 4031 let empresa = $(this).attr("empresa"); 4032 let ruc = $(this).attr("ruc");
4033 let correo = $(this).attr("correo"); 4034 4035 let parametros = new FormData(); 4036 parametros.append("envioCredenciales", true); 4037 parametros.append("correo", correo); 4038 parametros.append("usuario", usuario); 4039 parametros.append("pass", pass); 4040 parametros.append("empresa", empresa); 4041 parametros.append("ruc", ruc); 4042 parametros.append("url", 'https://empresarial.contamatic.ec/sistema/'); 4043 toastr.success("Enviando correo"); 4044 const resultado = await fetch("ajax/firma/solicitud.ajax.php", { 4045 method: "POST", 4046 body: parametros, 4047 }); 4048 4049 if (!resultado.ok) { 4050 throw new Error(`Error en peticion HTTP: ${resultado.status}`); 4051 } 4052 const datos = await resultado.json(); 4053 4054 if (!datos.operacion) { 4055 toastr.error("Error al enviar correo electronico"); 4056 } 4057 4058 toastr.success("Correo enviado correctamente"); 4059 }); 4060 4061} 4062 4063if (window.location.href.indexOf("crearEmpresa") > -1 || window.location.href.indexOf("crear-empresa-contable") > -1) { 4064 4065 /* -------------------------------------------------------------------------- */ 4066 /* TRAER DATOS DE LA EMPRESA */ 4067 /* -------------------------------------------------------------------------- */ 4068 4069 let currentStep = 0; 4070 const steps = document.querySelectorAll(".step"); 4071 const contents = document.querySelectorAll(".step-content"); 4072 const prevBtn = document.getElementById("prevBtn"); 4073 const nextBtn = document.getElementById("nextBtn"); 4074 let guardarBtn; 4075 4076 if (window.location.href.indexOf("crearEmpresa") > -1) { 4077 guardarBtn = document.getElementById("guardarEmpresa"); 4078 } else if (window.location.href.indexOf("crear-empresa-contable") > -1) { 4079 guardarBtn = document.getElementById("guardarEmpresaContamatic"); 4080 } 4081 4082 function goToStep(stepIndex) { 4083 currentStep = stepIndex; 4084 steps.forEach((step, index) => { 4085 step.classList.remove("active", "completed"); 4086 if (index < stepIndex) step.classList.add("completed"); 4087 if (index === stepIndex) step.classList.add("active"); 4088 }); 4089 4090 contents.forEach((content, index) => { 4091 content.classList.toggle("active", index === stepIndex); 4092 }); 4093 4094 prevBtn.disabled = stepIndex === 0; 4095 4096 if (stepIndex === steps.length - 1) { 4097 nextBtn.style.display = "none"; 4098 guardarBtn.style.display = "inline-block"; 4099 } else { 4100 nextBtn.style.display = "inline-block"; 4101 guardarBtn.style.display = "none"; 4102 } 4103 } 4104 4105 4106 steps.forEach((step, index) => { 4107 step.addEventListener("click", () => goToStep(index)); 4108 }); 4109 4110 nextBtn.addEventListener("click", () => { 4111 if (currentStep < steps.length - 1) { 4112 goToStep(currentStep + 1); 4113 } else { 4114 alert("Formulario finalizado"); 4115 } 4116 }); 4117 4118 prevBtn.addEventListener("click", () => { 4119 if (currentStep > 0) { 4120 goToStep(currentStep - 1); 4121 } 4122 }); 4123 4124 4125 $(document).on("click", "#informacionRuc", function () { 4126 4127 4128 var ruc = $("#ruc").val(); 4129 var datos = new FormData(); 4130 4131 datos.append("buscarRuc", true); 4132 datos.append("ruc", ruc); 4133 toastr.info("Consultando la información"); 4134 $.ajax({ 4135 url: "ajax/empresas_v2.ajax.php", 4136 type: "POST", 4137 data: datos, 4138 cache: false, 4139 contentType: false, 4140 processData: false, 4141 dataType: "json", 4142 timeout: 10000, 4143 4144 success: function (respuesta) { 4145 console.log(respuesta); 4146 if (respuesta["estado"] == "ok") { 4147 toastr.success("Datos consultados correctamente"); 4148 $("#razon").val(respuesta["razonsocial"]); 4149 $("#nombreComercial").val(respuesta["razonsocial"]) 4150 $("#nombreMostrar").val(respuesta["razonsocial"]) 4151 $("#nombre_cliente").val(respuesta["razonsocial"]) 4152 $("#idRepresentante").val(respuesta[""]) 4153 $("#nombreRepresentante").val(respuesta[""]) 4154 $("#idContador").val(respuesta[""]) 4155 $("#nombreContador").val(respuesta[""]) 4156 $("#identificacionUsuarioEmpresa").val(respuesta[""]) 4157 $("#nombresUsuarioEmpresa").val(respuesta[""]) 4158 } else { 4159 toastr.info("No fue posible obtener información, intente nuevamente"); 4160 } 4161 4162 }, 4163 error: function (request, status, error) { 4164 4165 toastr.success("El servicio de información se encuentra en mantenimiento"); 4166 4167 } 4168 }); 4169 }); 4170 4171 4172 $(document).on('keyup', '#ruc', function () { 4173 4174 var valor = $(this).val() 4175 4176 $("#usuarioEmpresa").val(valor); 4177 }); 4178 4179 $(document).on('keyup', '#idRepresentante', function () { 4180 4181 var valor = $(this).val() 4182 $("#identificacionUsuarioEmpresa").val(valor); 4183 4184 }); 4185 4186 $(document).on('keyup', '#nombreRepresentante', function () { 4187 var valor = $(this).val() 4188 $("#nombresUsuarioEmpresa").val(valor); 4189 }); 4190 4191 $(document).on('keyup', '#nombreComercial', function () { 4192 var valor = $(this).val() 4193 var fecha = new Date(); 4194 4195 4196 var texto = valor.toLowerCase(); 4197 var textoseparado = texto.split(" "); 4198 4199 //NICK 4200 var palabra = textoseparado[0]; 4201 var ano = fecha.getFullYear(); 4202 4203 var nick = palabra + ano; 4204 4205 $("#passwordCodificar").val(nick); 4206 4207 }); 4208 4209 $(document).on('click', '#mostrarPassword', function () { 4210 var tipo = document.getElementById("passwordCodificar"); 4211 4212 if (tipo.type == "password") { 4213 var input = $('#pass').attr('type'); 4214 // alert (input); 4215 $('#passwordCodificar').attr('type', 'text'); 4216 $('#mostrarPassword').text('OCULTAR'); 4217 } else { 4218 var input = $('#pass').attr('type'); 4219 // alert (input); 4220 $('#passwordCodificar').attr('type', 'password'); 4221 $('#mostrarPassword').text('MOSTRAR'); 4222 } 4223 }); 4224 4225 4226 4227 4228 4229 4230} 4231 4232 4233if (window.location.href.indexOf("historial-planes") > -1) { 4234 4235 $(document).ready(function () { 4236 const parametrosURL = new URLSearchParams(window.location.search); 4237 const empresaPlan = parametrosURL.get('plan'); 4238 const sistemaplan = parametrosURL.get('sistema'); 4239 4240 if (empresaPlan == null) { 4241 window.location.href = "empresas"; 4242 } else { 4243 4244 if (sistemaplan === 'facturalo') { 4245 $('.tablaHistorialPlanes').DataTable({ 4246 //"ajax": "ajax/datatable-empresas.ajax.php", 4247 "ajax": { 4248 'url': 'ajax/datatable-empresas.ajax.php', 4249 'data': { 'listarHistorialPlanesVendeFacil': true, 'empresaPlan': empresaPlan },
4250 'type': 'post' 4251 }, 4252 "columnDefs": [ 4253 { 4254 targets: [5], // Ãndice de la columna (segunda columna en este caso) 4255 className: 'text-center' // Clase CSS para centrar el texto 4256 } 4257 ], 4258 "deferRender": true, 4259 "retrieve": true, 4260 "processing": true, 4261 "columnDefs": [{ 4262 targets: "_all", 4263 sortable: false 4264 }], 4265 "columns": [ 4266 { data: 'codigo' }, 4267 { data: 'tipoplan' }, 4268 { data: 'plan' }, 4269 { data: 'detalle' }, 4270 { data: 'verifica' }, 4271 { data: 'comprobante' }, 4272 { data: 'facturado' }, 4273 { data: 'observacion' }, 4274 { data: 'opciones' }, 4275 ], 4276 "language": { 4277 4278 "sProcessing": "Procesando...", 4279 "sLengthMenu": "Mostrar _MENU_ registros", 4280 "sZeroRecords": "No se encontraron resultados", 4281 "sEmptyTable": "Ningún dato disponible en esta tabla", 4282 "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_", 4283 "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0", 4284 "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", 4285 "sInfoPostFix": "", 4286 "sSearch": "Buscar:", 4287 "sUrl": "", 4288 "sInfoThousands": ",", 4289 "sLoadingRecords": "Cargando...", 4290 "oPaginate": { 4291 "sFirst": "Primero", 4292 "sLast": "Ãltimo", 4293 "sNext": "Siguiente", 4294 "sPrevious": "Anterior" 4295 }, 4296 "oAria": { 4297 "sSortAscending": ": Activar para ordenar la columna de manera ascendente", 4298 "sSortDescending": ": Activar para ordenar la columna de manera descendente" 4299 }, 4300 4301 } 4302 }); 4303 4304 } else { 4305 $('.tablaHistorialPlanes').DataTable({ 4306 //"ajax": "ajax/datatable-empresas.ajax.php", 4307 "ajax": { 4308 'url': 'ajax/datatable-empresas.ajax.php', 4309 'data': { 'listarHistorialPlanes': true, 'empresaPlan': empresaPlan }, 4310 'type': 'post' 4311 }, 4312 "deferRender": true, 4313 "retrieve": true, 4314 "processing": true, 4315 "columnDefs": [ 4316 { 4317 targets: [5], // Ãndice de la columna (segunda columna en este caso) 4318 className: 'text-center' // Clase CSS para centrar el texto 4319 } 4320 ], 4321 "columns": [ 4322 { data: 'codigo' }, 4323 { data: 'tipoplan' }, 4324 { data: 'plan' }, 4325 { data: 'detalle' }, 4326 { data: 'verifica' }, 4327 { data: 'comprobante' }, 4328 { data: 'facturado' }, 4329 { data: 'observacion' }, 4330 { data: 'opciones' }, 4331 ], 4332 "language": { 4333 4334 "sProcessing": "Procesando...", 4335 "sLengthMenu": "Mostrar _MENU_ registros", 4336 "sZeroRecords": "No se encontraron resultados", 4337 "sEmptyTable": "Ningún dato disponible en esta tabla", 4338 "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_", 4339 "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0", 4340 "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", 4341 "sInfoPostFix": "", 4342 "sSearch": "Buscar:", 4343 "sUrl": "", 4344 "sInfoThousands": ",", 4345 "sLoadingRecords": "Cargando...", 4346 "oPaginate": { 4347 "sFirst": "Primero", 4348 "sLast": "Ãltimo", 4349 "sNext": "Siguiente", 4350 "sPrevious": "Anterior" 4351 }, 4352 "oAria": { 4353 "sSortAscending": ": Activar para ordenar la columna de manera ascendente", 4354 "sSortDescending": ": Activar para ordenar la columna de manera descendente" 4355 }, 4356 4357 }, 4358 dom: 'Bfrtip', 4359 buttons: [ 4360 4361 { 4362 extend: 'excel', 4363 title: 'Lista de usuarios', 4364 exportOptions: { 4365 modifier: { 4366 // DataTables core 4367 order: 'index', // 'current', 'applied', 4368 //'index', 'original' 4369 page: 'all', // 'all', 'current' 4370 search: 'none' // 'none', 'applied', 'removed' 4371 }, 4372 columns: [0, 1, 2, 3, 4, 5] 4373 } 4374 4375 }, 4376 { 4377 extend: 'pdfHtml5', 4378 text: 'PDF', 4379 title: 'Lista de Usuarios', 4380 customize: function (doc) { 4381 doc.styles.tableHeader.alignment = 'left'; //giustifica a sinistra titoli colonne 4382 doc.content[1].table.alignment = 'center'; 4383 doc.content[1].table.widths = [90, 220, 90, 90]; //costringe le colonne ad occupare un dato spazio per gestire il baco del 100% width che non si concretizza mai 4384 }, 4385 exportOptions: { 4386 4387 columns: [0, 1, 2, 3, 4, 5] 4388 }, 4389 className: "text-center", 4390 4391 }, 4392 4393 { 4394 extend: 'print', 4395 text: 'Imprimir', 4396 title: 'Lista de Usuarios', 4397 exportOptions: { 4398 modifier: { 4399 // DataTables core 4400 order: 'index', // 'current', 'applied', 4401 //'index', 'original' 4402 page: 'all', // 'all', 'current' 4403 search: 'none' // 'none', 'applied', 'removed' 4404 }, 4405 columns: [0, 1, 2, 3, 4, 5] 4406 } 4407 } 4408 ] 4409 4410 }); 4411 } 4412 4413 } 4414 }); 4415 4416} 4417 4418if (window.location.href.indexOf("historial-planes-imprenta") > -1) { 4419 4420 $(document).ready(function () { 4421 const parametrosURL = new URLSearchParams(window.location.search); 4422 const empresaPlan = parametrosURL.get('plan'); 4423 4424 if (empresaPlan == null) { 4425 window.location.href = "empresas"; 4426 } else { 4427 $('.tablaHistorialPlanesImprenta').DataTable({ 4428 //"ajax": "ajax/datatable-empresas.ajax.php", 4429 "ajax": { 4430 'url': 'ajax/datatable-empresas.ajax.php', 4431 'data': { 'listarHistorialPlanesImprenta': true, 'usuario': empresaPlan },
4432 'type': 'post' 4433 }, 4434 "deferRender": true, 4435 "retrieve": true, 4436 "processing": true, 4437 "columnDefs": [{ 4438 targets: "_all", 4439 sortable: false 4440 }], 4441 "columns": [ 4442 { data: 'codigo' }, 4443 { data: 'tipoplan' }, 4444 { data: 'plan' }, 4445 { data: 'detalle' }, 4446 { data: 'comprobante' }, 4447 { data: 'estado' }, 4448 { data: 'facturado' }, 4449 { data: 'observacion' }, 4450 { data: 'opciones' }, 4451 ], 4452 order: [[1, 'desc']], 4453 "language": { 4454 4455 "sProcessing": "Procesando...", 4456 "sLengthMenu": "Mostrar _MENU_ registros", 4457 "sZeroRecords": "No se encontraron resultados", 4458 "sEmptyTable": "Ningún dato disponible en esta tabla", 4459 "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_", 4460 "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0", 4461 "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", 4462 "sInfoPostFix": "", 4463 "sSearch": "Buscar:", 4464 "sUrl": "", 4465 "sInfoThousands": ",", 4466 "sLoadingRecords": "Cargando...", 4467 "oPaginate": { 4468 "sFirst": "Primero", 4469 "sLast": "Ãltimo", 4470 "sNext": "Siguiente", 4471 "sPrevious": "Anterior" 4472 }, 4473 "oAria": { 4474 "sSortAscending": ": Activar para ordenar la columna de manera ascendente", 4475 "sSortDescending": ": Activar para ordenar la columna de manera descendente" 4476 }, 4477 4478 }, 4479 dom: 'Bfrtip', 4480 buttons: [ 4481 4482 { 4483 extend: 'excel', 4484 title: 'Lista de usuarios', 4485 className: 'dt-button buttons-excel buttons-html5 btn btn-success', 4486 exportOptions: { 4487 modifier: { 4488 // DataTables core 4489 order: 'index', // 'current', 'applied', 4490 //'index', 'original' 4491 page: 'all', // 'all', 'current' 4492 search: 'none' // 'none', 'applied', 'removed' 4493 }, 4494 columns: [0, 1, 2, 3, 4, 5, 6] 4495 } 4496 4497 } 4498 ] 4499 4500 }); 4501 } 4502 }); 4503 4504 $(document).on("click", ".btnEliminarComprobantePlanImprenta", function () { 4505 4506 4507 var codplan = $(this).attr("plan"); 4508 var usuario = $(this).attr("planEmpresa"); 4509 var documento = $(this).attr("documento"); 4510 4511 var datos = new FormData(); 4512 4513 datos.append("eliminarComprobantePagoUsuario", true); 4514 datos.append("codPlan", codplan); 4515 datos.append("usuario", usuario); 4516 datos.append("documento", documento); 4517 4518 4519 4520 swal({ 4521 title: '¿Está seguro de eliminar el comprobante de pago?', 4522 text: "¡Si no lo está puede cancelar la accÃón!", 4523 type: 'warning', 4524 showCancelButton: true, 4525 confirmButtonColor: '#3085d6', 4526 cancelButtonColor: '#d33', 4527 cancelButtonText: 'Cancelar', 4528 confirmButtonText: 'Si, eliminar comprobante!' 4529 }).then(function (result) { 4530 4531 if (result.value) { 4532 4533 $.ajax({ 4534 url: "ajax/usuarios.ajax.php", 4535 type: "POST", 4536 data: datos, 4537 cache: false, 4538 contentType: false, 4539 processData: false, 4540 4541 4542 success: function (respuesta) { 4543 4544 if (respuesta.trim() == 'ok') { 4545 toastr.success('Comprobante eliminado con éxito'); 4546 } else { 4547 toastr.info('Error al generar eliminar comprobante, contacte con el administrador!'); 4548 } 4549 $('.tablaHistorialPlanesImprenta').DataTable().ajax.reload(); 4550 } 4551 }) 4552 4553 } 4554 4555 }) 4556 }); 4557 4558 4559 4560 $(document).on('click', '.btnHistorialAbonos', function (event) { 4561 var plan = $(this).attr("plan"); 4562 window.location.href = "index.php?ruta=historial-abonos-imprenta&plan=" + plan; 4563 }); 4564 4565 4566 $(document).on('click', '.btnAbonar', function (event) { 4567 var plan = $(this).attr("plan"); 4568 var usuario = $(this).attr("planempresa"); 4569 4570 $("#codPlan-abono").val(plan); 4571 $("#codPlanEmpresa-abono").val(usuario); 4572 $("#modalAgregarPagoPlanAbonar").modal("show"); 4573 }); 4574 4575 4576 async function postRequest($url, parametros) { 4577 try { 4578 const resultado = await fetch($url, { 4579 method: 'POST', 4580 body: parametros 4581 }); 4582 const datos = await resultado.json(); 4583 return datos; 4584 } catch (error) { 4585 throw error; 4586 } 4587 } 4588 4589 async function obtenerInformacionPerfil() { 4590 4591 let url = 'ajax/facturacion/facturacion.ajax.php'; 4592 let parametros = new FormData(); 4593 parametros.append("informacionPerfil", true); 4594 4595 try { 4596 let resultado = await postRequest(url, parametros); 4597 if (resultado && resultado.operacion) { 4598 document.getElementById('identificacion_contador_imprenta').value = resultado.data.identificacion; 4599 document.getElementById('nombre_contador_imprenta').value = resultado.data.nombre; 4600 document.getElementById('direcion_contador_imprenta').value = resultado.data.direccion; 4601 document.getElementById('telefono_contador_imprenta').value = resultado.data.telefono; 4602 document.getElementById('correo_contador_imprenta').value = resultado.data.email; 4603 $("#btnFactMisDatosImprenta").prop('checked', true); 4604 } else { 4605 toastr.error(resultado ? resultado.mensaje : 'Error desconocido'); 4606 } 4607 } catch (error) { 4608 // toastr.error('Hubo un problema al obtener la información del perfil'); 4609 } 4610 } 4611 4612 document.getElementById("btnFactMisDatosImprenta").addEventListener("click", () => { 4613 obtenerInformacionPerfil(); 4614 const btnMisDatos = document.getElementById("btnFactMisDatosImprenta"); 4615 btnMisDatos.innerHTML = '<i class="fas fa-check-circle text-success"></i> <b>Facturar con mis datos</b>'; 4616 btnMisDatos.style.color = "#2cd07e"; 4617 btnMisDatos.style.borderColor = "#2cd07e"; 4618 4619 const btnDatosCli = document.getElementById("btnFactDatosCliImprenta"); 4620 btnDatosCli.innerHTML = '<b>
4620Facturar con otros datos</b>'; 4621 btnDatosCli.style.color = "#707cd2"; 4622 btnDatosCli.style.borderColor = "#707cd2"; 4623 4624 $("#misDatosImprenta").show(); 4625 $("#datosClienteImprenta").hide(); 4626 document.getElementById("seleccionarDatosFacturarImprenta").value = 1; 4627 document.getElementById("facturarEmpresaMisDatosImprenta").value = 1; 4628 }); 4629 4630 document.getElementById("btnFactDatosCliImprenta").addEventListener("click", () => { 4631 const btnMisDatos = document.getElementById("btnFactMisDatosImprenta"); 4632 btnMisDatos.innerHTML = '<b>Facturar con mis datos</b>'; 4633 btnMisDatos.style.color = "#707cd2"; 4634 btnMisDatos.style.borderColor = "#707cd2"; 4635 4636 4637 const btnDatosCli = document.getElementById("btnFactDatosCliImprenta"); 4638 btnDatosCli.innerHTML = '<i class="fas fa-check-circle text-success"></i> <b>Facturar con otros datos</b>'; 4639 btnDatosCli.style.color = "#2cd07e"; 4640 btnDatosCli.style.borderColor = "#2cd07e"; 4641 4642 $("#misDatosImprenta").hide(); 4643 $("#datosClienteImprenta").show(); 4644 document.getElementById("seleccionarDatosFacturarImprenta").value = 1; 4645 document.getElementById("facturarEmpresaMisDatosImprenta").value = 2; 4646 }); 4647 4648 function subirArchivoComprobantePagoAbonoImprenta() { 4649 const parametros = new FormData(); 4650 4651 var numeroArchivos = $("#comprobantePago-abono")[0].files; 4652 var codPlan = $("#codPlan-abono").val(); 4653 var codPlanEmpresa = $("#codPlanEmpresa-abono").val(); 4654 var numcomprobante = $("#numcomprobante-abono").val(); 4655 var bancocomprobante = $("#bancocomprobante-abono").val(); 4656 var valorcomprobante = $("#valorcomprobante-abono").val(); 4657 var fechacomprobante = $("#fechacomprobante-abono").val(); 4658 var observacioncomprobante = $("#observacioncomprobante-abono").val(); 4659 4660 let jsonCliente = []; 4661 4662 let facturarEmpresa = document.getElementById('facturarEmpresaMisDatosImprenta').value; 4663 console.log(facturarEmpresa); 4664 4665 if (facturarEmpresa == 0) { 4666 toastr.info("Seleccione los datos de factura", "Importante", { timeOut: 3000 }); 4667 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4668 return; 4669 } 4670 4671 if (facturarEmpresa == 1) { 4672 facturarEmpresa = true; 4673 if ($("#identificacion_contador_imprenta").val() == "") { 4674 toastr.info("Ingrese la identificación del contador", "Importante", { timeOut: 3000 }); 4675 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4676 return; 4677 } 4678 4679 if ($("#nombre_contador_imprenta").val() == "") { 4680 toastr.info("Ingrese el nombre del contador", "Importante", { timeOut: 3000 }); 4681 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4682 return; 4683 } 4684 if ($("#direcion_contador_imprenta").val() == "") { 4685 toastr.info("Ingrese la dirección del contador", "Importante", { timeOut: 3000 }); 4686 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4687 return; 4688 } 4689 if ($("#telefono_contador_imprenta").val() == "") { 4690 toastr.info("ngrese el telefono del contador", "Importante", { timeOut: 3000 }); 4691 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4692 return; 4693 } 4694 if ($("#correo_contador_imprenta").val() == "") { 4695 toastr.info("Ingrese el correo del contador", "Importante", { timeOut: 3000 }); 4696 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4697 return; 4698 } 4699 4700 } else { 4701 facturarEmpresa = false; 4702 if ($("#identificacion_cliente_imprenta").val() == "") { 4703 toastr.info("Ingrese la identificación del cliente para facturar", "Importante", { timeOut: 3000 }); 4704 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4705 return; 4706 } 4707 4708 if ($("#nombre_cliente_imprenta").val() == "") { 4709 toastr.info("Ingrese el nombre del cliente para facturar", "Importante", { timeOut: 3000 }); 4710 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4711 return; 4712 } 4713 if ($("#direccion_cliente_imprenta").val() == "") { 4714 toastr.info("Ingrese la dirección del cliente para facturar", "Importante", { timeOut: 3000 }); 4715 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4716 return; 4717 } 4718 if ($("#telefono_cliente_imprenta").val() == "") { 4719 toastr.info("Ingrese el teléfono del cliente para facturar", "Importante", { timeOut: 3000 }); 4720 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4721 return; 4722 } 4723 if ($("#correo_cliente_imprenta").val() == "") { 4724 toastr.info("Ingrese el correo del cliente para facturar", "Importante", { timeOut: 3000 }); 4725 $("#btnGuardarComprobantePlanAbono").prop("disabled", false); 4726 return; 4727 } 4728 } 4729 4730 4731 4732 jsonCliente.push({ 4733 identificacion_cliente: document.getElementById('identificacion_cliente_imprenta').value, 4734 nombre_cliente: document.getElementById('nombre_cliente_imprenta').value, 4735 direccion_cliente: document.getElementById('direccion_cliente_imprenta').value, 4736 telefono_cliente: document.getElementById('telefono_cliente_imprenta').value, 4737 correo_cliente: document.getElementById('correo_cliente_imprenta').value, 4738 observacion_cliente: document.getElementById('observacioncomprobante-abono').value, 4739 facturarConMisDatos: facturarEmpresa, 4740 identificacion_contador: document.getElementById('identificacion_contador_imprenta').value, 4741 nombre_contador: document.getElementById('nombre_contador_imprenta').value, 4742 direcion_contador: document.getElementById('direcion_contador_imprenta').value, 4743 telefono_contador: document.getElementById('telefono_contador_imprenta').value, 4744 correo_contador: document.getElementById('correo_contador_imprenta').value, 4745 totalFactura: document.getElementById('valorcomprobante-abono').value, 4746 fechapago_solicitudSJ: document.getElementById('fechacomprobante-abono').value, 4747 bancopago_solicitudSJ: document.getElementById('bancocomprobante-abono').value, 4748 numeropago_solicitudSJ: document.getElementById('numcomprobante-abono').value, 4749 }); 4750 4751 4752 4753 parametros.append('cargarPagoPlanAbono', true); 4754 parametros.append('codPlan', codPlan); 4755 parametros.append('codPlanEmpresa', codPlanEmpresa); 4756 parametros.append('comprobante', numcomprobante); 4757 parametros.append('bancocomprobante', bancocomprobante); 4758 parametros.append('valorcomprobante', valorcomprobante); 4759 parametros.append('fechacomprobante', fechacomprobante); 4760 parametros.append('observacioncomprobante', observacioncomprobante); 4761 parametros.append("jsonCliente", JSON.stringify(jsonCliente)); 4762 4763 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "") { 4764 toastr.info("Ingrese los campos para guardar el registro"); 4765 } else { 4766 if (numeroArchivos.length != 0) { 4767 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 4768 parametros.append('archivo', "true"); 4769 parametros.append('tipo', numeroArchivos[0].type); 4770 parametros.append('file[]', numeroArchivos[0]); 4771 4772 } else { 4773 4774 toastr.info("El documento cargado debe ser una Imagen o PDF"); 4775 return false;
4776 } 4777 } else { 4778 parametros.append('archivo', false); 4779 } 4780 4781 $.ajax({ 4782 url: "ajax/usuarios.ajax.php", 4783 method: "POST", 4784 data: parametros, 4785 contentType: false, 4786 cache: false, 4787 processData: false, 4788 success: function (respuesta) { 4789 4790 var respuesta = JSON.parse(respuesta); 4791 4792 if (respuesta.operacion == "ok") { 4793 toastr.success(respuesta.mensaje); 4794 } else { 4795 toastr.error(respuesta.operacion.mensaje); 4796 } 4797 $("#comprobantePago-abono").val(''); 4798 $("#bancocomprobante-abono").val(''); 4799 $("#numcomprobante-abono").val(''); 4800 $("#fechacomprobante-abono").val(''); 4801 $("#valorcomprobante-abono").val(''); 4802 $("#modalAgregarPagoPlanAbonar").modal('hide'); 4803 $(".tablaHistorialPlanesImprenta").DataTable().ajax.reload(); 4804 } 4805 }) 4806 } 4807 } 4808 4809 4810 4811 $(document).on('click', '#btnGuardarComprobantePlanAbono', function (event) { 4812 subirArchivoComprobantePagoAbonoImprenta(); 4813 }); 4814 4815 $(document).on("click", ".btnAbrirModalComprobanteImprenta1", async function () { 4816 historialUsuarios.codigoPlanFactumatic = $(this).attr("codplan"); 4817 4818 var respuesta = await historialUsuarios.consultarComprobanteFacturaImprenta(historialUsuarios.codigoPlanFactumatic, 1); 4819 4820 llenarValoresComprobanteFactura(respuesta, 'facturar1_secuencial_imprenta', 'facturar2_secuencial_imprenta', 'facturar3_secuencial_imprenta', 'facturar_valor_imprenta') 4821 4822 $("#modalCrearSecuencialFactureroImprenta").modal("show"); 4823 }); 4824 4825 4826 $(document).on("click", "#btnAgregarComprobanteImprenta", async function (event) { 4827 4828 var facturar1_secuencial_fa = $("#facturar1_secuencial_imprenta").val();//facturar1_secuencial_c 4829 var facturar2_secuencial_fa = $("#facturar2_secuencial_imprenta").val(); 4830 var facturar3_secuencial_fa = $("#facturar3_secuencial_imprenta").val(); 4831 4832 var facturar_valor_fa = $("#facturar_valor_imprenta").val(); 4833 4834 if (validarSecuencialComprobante(facturar1_secuencial_fa, facturar2_secuencial_fa, facturar3_secuencial_fa)) { 4835 toastr.info("Ingrese correctamente el secuencial"); 4836 return; 4837 } 4838 4839 if (facturar_valor_fa.trim().length < 1) { 4840 toastr.info("Ingrese un valor total del comprobante"); 4841 return; 4842 } 4843 4844 let parametros = new FormData(); 4845 parametros.append("aceptarPagoPlanImprenta", true); 4846 parametros.append("plan", historialUsuarios.codigoPlanFactumatic); 4847 parametros.append("existeComprobante", true); 4848 parametros.append("sec1", facturar1_secuencial_fa); 4849 parametros.append("sec2", facturar2_secuencial_fa); 4850 parametros.append("sec3", facturar3_secuencial_fa); 4851 parametros.append("valorTotal", facturar_valor_fa); 4852 4853 const resultado = await fetch("ajax/historial.ajax.php", { 4854 method: 'POST', 4855 body: parametros 4856 }); 4857 const datos = await resultado.json(); 4858 if (datos.estado) { 4859 toastr.success(datos.mensaje); 4860 $("#modalCrearSecuencialFactureroImprenta").modal("hide"); 4861 4862 if ($.fn.DataTable.isDataTable('.tablaPlanes-pendientes')) { 4863 $('.tablaPlanes-pendientes').DataTable().ajax.reload(); 4864 } 4865 if ($.fn.DataTable.isDataTable('.tablaImprentas-todos')) { 4866 $(".tablaImprentas-todos").DataTable().ajax.reload(); 4867 } 4868 if ($.fn.DataTable.isDataTable('.tablaHistorialAbonoImprenta')) { 4869 $(".tablaHistorialAbonoImprenta").DataTable().ajax.reload(); 4870 } 4871 4872 if ($.fn.DataTable.isDataTable('.tablaHistorialPlanesImprenta')) { 4873 $(".tablaHistorialPlanesImprenta").DataTable().ajax.reload(); 4874 } 4875 4876 $(".secuencial").val(""); 4877 $(".valortotal").val(""); 4878 $("#activarInformacionComprobanteFactura").prop('checked', false).trigger("change"); 4879 calcularCantidadPlanesPendientes(); 4880 } else { 4881 toastr.info(datos.mensaje); 4882 } 4883 }); 4884 4885} 4886 4887 4888if (window.location.href.indexOf("historial-abonos-imprenta") > -1) { 4889 4890 $(document).ready(function () { 4891 const parametrosURL = new URLSearchParams(window.location.search); 4892 const empresaPlan = parametrosURL.get('plan'); 4893 4894 if (empresaPlan == null) { 4895 window.location.href = "empresas"; 4896 } else { 4897 $('.tablaHistorialAbonoImprenta').DataTable({ 4898 //"ajax": "ajax/datatable-empresas.ajax.php", 4899 "ajax": { 4900 'url': 'ajax/datatable-empresas.ajax.php', 4901 'data': { 'listarHistorialAbonosImprenta': true, 'plan': empresaPlan },
4902 'type': 'post' 4903 }, 4904 "deferRender": true, 4905 "retrieve": true, 4906 "processing": true, 4907 "columnDefs": [{ 4908 targets: "_all", 4909 sortable: false 4910 }], 4911 "columns": [ 4912 { data: 'codigo' }, 4913 { data: 'tipoplan' }, 4914 { data: 'detalle' }, 4915 { data: 'comprobante' }, 4916 { data: 'facturado' }, 4917 { data: 'observacion' }, 4918 { data: 'opciones' }, 4919 ], 4920 order: [[1, 'desc']], 4921 "language": { 4922 4923 "sProcessing": "Procesando...", 4924 "sLengthMenu": "Mostrar _MENU_ registros", 4925 "sZeroRecords": "No se encontraron resultados", 4926 "sEmptyTable": "Ningún dato disponible en esta tabla", 4927 "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_", 4928 "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0", 4929 "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", 4930 "sInfoPostFix": "", 4931 "sSearch": "Buscar:", 4932 "sUrl": "", 4933 "sInfoThousands": ",", 4934 "sLoadingRecords": "Cargando...", 4935 "oPaginate": { 4936 "sFirst": "Primero", 4937 "sLast": "Ãltimo", 4938 "sNext": "Siguiente", 4939 "sPrevious": "Anterior" 4940 }, 4941 "oAria": { 4942 "sSortAscending": ": Activar para ordenar la columna de manera ascendente", 4943 "sSortDescending": ": Activar para ordenar la columna de manera descendente" 4944 }, 4945 4946 }, 4947 dom: 'Bfrtip', 4948 buttons: [ 4949 4950 { 4951 extend: 'excel', 4952 title: 'Lista de usuarios', 4953 className: 'dt-button buttons-excel buttons-html5 btn btn-success', 4954 exportOptions: { 4955 modifier: { 4956 // DataTables core 4957 order: 'index', // 'current', 'applied', 4958 //'index', 'original' 4959 page: 'all', // 'all', 'current' 4960 search: 'none' // 'none', 'applied', 'removed' 4961 }, 4962 columns: [0, 1, 2, 3, 4, 5, 6] 4963 } 4964 4965 } 4966 ] 4967 4968 }); 4969 } 4970 }); 4971 4972 4973 $(document).on("click", ".btnEliminarComprobantePlanImprenta", function () { 4974 4975 4976 var codplan = $(this).attr("plan"); 4977 var usuario = $(this).attr("planEmpresa"); 4978 var documento = $(this).attr("documento"); 4979 4980 var datos = new FormData(); 4981 4982 datos.append("eliminarComprobantePagoUsuario", true); 4983 datos.append("codPlan", codplan); 4984 datos.append("usuario", usuario); 4985 datos.append("documento", documento); 4986 4987 4988 4989 swal({ 4990 title: '¿Está seguro de eliminar el comprobante de pago?', 4991 text: "¡Si no lo está puede cancelar la accÃón!", 4992 type: 'warning', 4993 showCancelButton: true, 4994 confirmButtonColor: '#3085d6', 4995 cancelButtonColor: '#d33', 4996 cancelButtonText: 'Cancelar', 4997 confirmButtonText: 'Si, eliminar comprobante!' 4998 }).then(function (result) { 4999 5000 if (result.value) { 5001 5002 $.ajax({ 5003 url: "ajax/usuarios.ajax.php", 5004 type: "POST", 5005 data: datos, 5006 cache: false, 5007 contentType: false, 5008 processData: false, 5009 5010 5011 success: function (respuesta) { 5012 5013 if (respuesta.trim() == 'ok') { 5014 toastr.success('Comprobante eliminado con éxito'); 5015 } else { 5016 toastr.info('Error al generar eliminar comprobante, contacte con el administrador!'); 5017 } 5018 $('.tablaHistorialAbonoImprenta').DataTable().ajax.reload(); 5019 } 5020 }) 5021 5022 } 5023 5024 }) 5025 }); 5026 5027 $(document).on("click", ".btnAbrirModalComprobanteImprenta1", async function () { 5028 historialUsuarios.codigoPlanFactumatic = $(this).attr("codplan"); 5029 5030 var respuesta = await historialUsuarios.consultarComprobanteFacturaImprenta(historialUsuarios.codigoPlanFactumatic, 1); 5031 5032 llenarValoresComprobanteFactura(respuesta, 'facturar1_secuencial_imprenta', 'facturar2_secuencial_imprenta', 'facturar3_secuencial_imprenta', 'facturar_valor_imprenta') 5033 5034 $("#modalCrearSecuencialFactureroImprenta").modal("show"); 5035 }); 5036 5037 5038 $(document).on("click", "#btnAgregarComprobanteImprenta", async function (event) { 5039 5040 var facturar1_secuencial_fa = $("#facturar1_secuencial_imprenta").val();//facturar1_secuencial_c 5041 var facturar2_secuencial_fa = $("#facturar2_secuencial_imprenta").val(); 5042 var facturar3_secuencial_fa = $("#facturar3_secuencial_imprenta").val(); 5043 5044 var facturar_valor_fa = $("#facturar_valor_imprenta").val(); 5045 5046 if (validarSecuencialComprobante(facturar1_secuencial_fa, facturar2_secuencial_fa, facturar3_secuencial_fa)) { 5047 toastr.info("Ingrese correctamente el secuencial"); 5048 return; 5049 } 5050 5051 if (facturar_valor_fa.trim().length < 1) { 5052 toastr.info("Ingrese un valor total del comprobante"); 5053 return; 5054 } 5055 5056 let parametros = new FormData(); 5057 parametros.append("aceptarPagoPlanImprenta", true); 5058 parametros.append("plan", historialUsuarios.codigoPlanFactumatic); 5059 parametros.append("existeComprobante", true); 5060 parametros.append("sec1", facturar1_secuencial_fa); 5061 parametros.append("sec2", facturar2_secuencial_fa); 5062 parametros.append("sec3", facturar3_secuencial_fa); 5063 parametros.append("valorTotal", facturar_valor_fa); 5064 5065 const resultado = await fetch("ajax/historial.ajax.php", { 5066 method: 'POST', 5067 body: parametros 5068 }); 5069 const datos = await resultado.json(); 5070 if (datos.estado) { 5071 toastr.success(datos.mensaje); 5072 $("#modalCrearSecuencialFactureroImprenta").modal("hide"); 5073 5074 if ($.fn.DataTable.isDataTable('.tablaPlanes-pendientes')) { 5075 $('.tablaPlanes-pendientes').DataTable().ajax.reload(); 5076 } 5077 if ($.fn.DataTable.isDataTable('.tablaImprentas-todos')) { 5078 $(".tablaImprentas-todos").DataTable().ajax.reload(); 5079 } 5080 if ($.fn.DataTable.isDataTable('.tablaHistorialAbonoImprenta')) { 5081 $(".tablaHistorialAbonoImprenta").DataTable().ajax.reload(); 5082 } 5083 5084 if ($.fn.DataTable.isDataTable('.tablaHistorialPlanesImprenta')) { 5085 $(".tablaHistorialPlanesImprenta").DataTable().ajax.reload(); 5086 } 5087 5088 $(".secuencial").val(""); 5089 $(".valortotal").val(""); 5090 $("#activarInformacionComprobanteFactura").prop('checked', false).trigger("change"); 5091 calcularCantidadPlanesPendientes(); 5092 } else { 5093 toastr.info(datos.mensaje); 5094 } 5095 }); 5096 5097 5098} 5099 5100 5101if (window.location.href.indexOf("historial-abonos-proyectos") > -1) { 5102 $(document).ready(function () { 5103 const parametrosURL = new URLSearchParams(window.location.search); 5104 const empresaPlan = parametrosURL.get('plan'); 5105 if (empresaPlan == null) { 5106 window.location.href = "empresas"; 5107 } else { 5108 $('.tablaHistorialAbonoProyectos').DataTable({ 5109 //"ajax": "ajax/datatable-empresas.ajax.php", 5110 "ajax": { 5111 'url': 'ajax/datatable-empresas.ajax.php', 5112 'data': { 'listarHistorialAbonosProyectos': true, 'plan': empresaPlan },
5113 'type': 'post' 5114 }, 5115 "deferRender": true, 5116 "retrieve": true, 5117 "processing": true, 5118 "columnDefs": [{ 5119 targets: "_all", 5120 sortable: false 5121 }], 5122 "columns": [ 5123 { data: 'codigo' }, 5124 { data: 'proyecto' }, 5125 { data: 'comprobante' }, 5126 { data: 'detalle' }, 5127 { data: 'facturado' }, 5128 { data: 'observacion' }, 5129 { data: 'opciones' }, 5130 ], 5131 order: [[1, 'desc']], 5132 "language": { 5133 5134 "sProcessing": "Procesando...", 5135 "sLengthMenu": "Mostrar _MENU_ registros", 5136 "sZeroRecords": "No se encontraron resultados", 5137 "sEmptyTable": "Ningún dato disponible en esta tabla", 5138 "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_", 5139 "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0", 5140 "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", 5141 "sInfoPostFix": "", 5142 "sSearch": "Buscar:", 5143 "sUrl": "", 5144 "sInfoThousands": ",", 5145 "sLoadingRecords": "Cargando...", 5146 "oPaginate": { 5147 "sFirst": "Primero", 5148 "sLast": "Ãltimo", 5149 "sNext": "Siguiente", 5150 "sPrevious": "Anterior" 5151 }, 5152 "oAria": { 5153 "sSortAscending": ": Activar para ordenar la columna de manera ascendente", 5154 "sSortDescending": ": Activar para ordenar la columna de manera descendente" 5155 }, 5156 5157 }, 5158 dom: 'Bfrtip', 5159 buttons: [ 5160 5161 { 5162 extend: 'excel', 5163 title: 'Lista de usuarios', 5164 className: 'dt-button buttons-excel buttons-html5 btn btn-success', 5165 exportOptions: { 5166 modifier: { 5167 // DataTables core 5168 order: 'index', // 'current', 'applied', 5169 //'index', 'original' 5170 page: 'all', // 'all', 'current' 5171 search: 'none' // 'none', 'applied', 'removed' 5172 }, 5173 columns: [0, 1, 2, 3, 4, 5, 6] 5174 } 5175 5176 } 5177 ] 5178 5179 }); 5180 } 5181 }); 5182 5183 $(document).on("click", ".btnEliminarComprobanteProyecto", function () { 5184 5185 5186 var codplan = $(this).attr("plan"); 5187 var documento = $(this).attr("documento"); 5188 5189 var datos = new FormData(); 5190 5191 datos.append("eliminarComprobanteProyecto", true); 5192 datos.append("codPlan", codplan); 5193 datos.append("documento", documento); 5194 5195 5196 5197 swal({ 5198 title: '¿Está seguro de eliminar el comprobante de pago?', 5199 text: "¡Si no lo está puede cancelar la accÃón!", 5200 type: 'warning', 5201 showCancelButton: true, 5202 confirmButtonColor: '#3085d6', 5203 cancelButtonColor: '#d33', 5204 cancelButtonText: 'Cancelar', 5205 confirmButtonText: 'Si, eliminar comprobante!' 5206 }).then(function (result) { 5207 5208 if (result.value) { 5209 5210 $.ajax({ 5211 url: "ajax/usuarios.ajax.php", 5212 type: "POST", 5213 data: datos, 5214 cache: false, 5215 contentType: false, 5216 processData: false, 5217 5218 5219 success: function (respuesta) { 5220 5221 if (respuesta.trim() == 'ok') { 5222 toastr.success('Comprobante eliminado con éxito'); 5223 } else { 5224 toastr.info('Error al generar eliminar comprobante, contacte con el administrador!'); 5225 } 5226 $('.tablaHistorialAbonoProyectos').DataTable().ajax.reload(); 5227 } 5228 }) 5229 5230 } 5231 5232 }) 5233 }); 5234 5235 5236} 5237 5238class Plan { 5239 /* -------------------------------------------------------------------------- */ 5240 /* GUARDAR EMPRESA */ 5241 /* -------------------------------------------------------------------------- */ 5242 5243 constructor() { 5244 this.secuenciaPlan = 0; 5245 } 5246 5247} 5248const empresas1 = new Plan(); 5249 5250 5251function subirArchivoComprobantePago(sistema) { 5252 const parametros = new FormData(); 5253 5254 var numeroArchivos = $("#comprobantePago")[0].files; 5255 //var codPlan= $("#codPlan").val(); 5256 var codPlan = empresas1.secuenciaPlan; 5257 var codPlanEmpresa = $("#codPlanEmpresa").val(); 5258 var numcomprobante = $("#numcomprobante").val(); 5259 var bancocomprobante = $("#bancocomprobante").val(); 5260 var valorcomprobante = $("#valorcomprobante").val(); 5261 var fechacomprobante = $("#fechacomprobante").val(); 5262 var sistema = $("#tipoSistemaApp").val(); 5263 var numFirma = ''; 5264 if (sistema == 'vendeFacil') { 5265 numFirma = $("#numeroFirma").val(); 5266 parametros.append('numFirma', numFirma); 5267 } 5268 5269 5270 parametros.append('cargarPago', true); 5271 parametros.append('codPlan', codPlan); 5272 parametros.append('documento', empresas1.documentoPlan); 5273 parametros.append('codPlanEmpresa', codPlanEmpresa); 5274 parametros.append('comprobante', numcomprobante); 5275 parametros.append('bancocomprobante', bancocomprobante); 5276 parametros.append('valorcomprobante', valorcomprobante); 5277 parametros.append('fechacomprobante', fechacomprobante); 5278 parametros.append('sistema', sistema); 5279 //for(var i=0; i<numeroArchivos.length; i++) 5280 //{ 5281 //} 5282 5283 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "") { 5284 toastr.info("Ingrese los campos para guardar el registro"); 5285 } else { 5286 if (numeroArchivos.length != 0) { 5287 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 5288 parametros.append('archivo', "true"); 5289 parametros.append('tipo', numeroArchivos[0].type); 5290 parametros.append('file[]', numeroArchivos[0]); 5291 5292 } else { 5293 5294 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5295 return false;
5296 } 5297 } else { 5298 parametros.append('archivo', false); 5299 } 5300 5301 5302 $.ajax({ 5303 url: "ajax/empresas.ajax.php", 5304 method: "POST", 5305 data: parametros, 5306 contentType: false, 5307 cache: false, 5308 processData: false, 5309 success: function (respuesta) { 5310 5311 var respuesta = JSON.parse(respuesta); 5312 5313 5314 if (respuesta.operacion) {//CAMBIOS 5315 toastr.success(respuesta.mensaje); 5316 5317 if (respuesta.verificado) { 5318 5319 //PONER MODAL DE CAMBIAR 5320 5321 swal({ 5322 title: "¿Desea activar su facturero?", 5323 text: "Si la empresa no se activa en este momento, deberá enviar un mensaje de activacion a soporte.", 5324 type: "info", 5325 confirmButtonColor: "#2cd07e", 5326 confirmButtonText: "SÃ, activar", 5327 showCancelButton: true, 5328 cancelButtonText: "Cancelar" 5329 }).then(async result => { 5330 if (result.value) { 5331 var respuesta = await habilitarAccesoEmpresa(sistema); 5332 if (respuesta.estado) { 5333 toastr.success(respuesta.mensaje, "LISTO", { timeOut: 4000 }); 5334 } else { 5335 toastr.info(respuesta.mensaje); 5336 } 5337 } 5338 }); 5339 } 5340 5341 } else { 5342 toastr.error(respuesta.mensaje); 5343 5344 } 5345 5346 $("#comprobantePago").val(''); 5347 $("#bancocomprobante").val(''); 5348 $("#numcomprobante").val(''); 5349 $("#fechacomprobante").val(''); 5350 $("#valorcomprobante").val(''); 5351 //$('#modalAgregarPagoPlan').modal('hide); 5352 //$('.tablaHistorialPlanes').DataTable().ajax.reload() 5353 $("#modalAgregarPagoPlan").modal('hide'); 5354 $('.tablaHistorialPlanes').DataTable().ajax.reload(); 5355 5356 5357 } 5358 }) 5359 } 5360 5361 5362 /*if(numeroArchivos.length !=0 ){ 5363 if(numeroArchivos[0].type=="application/pdf"||numeroArchivos[0].type=="image/png"||numeroArchivos[0].type=="image/jpeg"){ 5364 parametros.append('tipo', numeroArchivos[0].type); 5365 parametros.append('file[]', numeroArchivos[0]); 5366 5367 $.ajax({ 5368 url:"ajax/empresas.ajax.php", 5369 method:"POST", 5370 data:parametros, 5371 contentType:false, 5372 cache: false, 5373 processData: false, 5374 success:function(respuesta){ 5375 5376 var respuesta=JSON.parse(respuesta); 5377 5378 5379 if(respuesta.operacion=="ok"){ 5380 toastr.success(respuesta.mensaje); 5381 5382 }else{ 5383 toastr.error(respuesta.mensaje); 5384 5385 } 5386 5387 $("#comprobantePago").val(''); 5388 //$('#modalAgregarPagoPlan').modal('hide); 5389 //$('.tablaHistorialPlanes').DataTable().ajax.reload() 5390 $("#modalAgregarPagoPlan").modal('hide'); 5391 $('.tablaHistorialPlanes').DataTable().ajax.reload(); 5392 } 5393 }) 5394 5395 }else{ 5396 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5397 } 5398 5399 5400 }else{ 5401 toastr.info("Se necesita cargar un comprobante, Imagen o Pdf"); 5402 }*/ 5403 5404 5405 5406 5407} 5408 5409function subirArchivoComprobantePagoFacturero() { 5410 const parametros = new FormData(); 5411 5412 var numeroArchivos = $("#comprobantePagoFacturero")[0].files; 5413 //var codPlan= $("#codPlan").val(); 5414 var codPlan = empresas1.secuenciaPlan; 5415 var codPlanEmpresa = $("#codPlanEmpresa").val(); 5416 var numcomprobante = $("#numcomprobanteFacturero").val(); 5417 var bancocomprobante = $("#bancocomprobanteFacturero").val(); 5418 var valorcomprobante = $("#valorcomprobanteFacturero").val(); 5419 var fechacomprobante = $("#fechacomprobanteFacturero").val(); 5420 var sistema = $("#tiposistema").val(); 5421 var numFirma = $("#numeroFirma").val(); 5422 5423 5424 parametros.append('cargarPago', true); 5425 parametros.append('codPlan', codPlan); 5426 parametros.append('documento', empresas1.documentoPlan); 5427 parametros.append('codPlanEmpresa', codPlanEmpresa); 5428 parametros.append('comprobante', numcomprobante); 5429 parametros.append('bancocomprobante', bancocomprobante); 5430 parametros.append('valorcomprobante', valorcomprobante); 5431 parametros.append('fechacomprobante', fechacomprobante); 5432 parametros.append('sistema', sistema); 5433 parametros.append('numFirma', numFirma); 5434 5435 //for(var i=0; i<numeroArchivos.length; i++) 5436 //{ 5437 //} 5438 5439 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "") { 5440 toastr.info("Ingrese los campos para guardar el registro"); 5441 } else { 5442 if (numeroArchivos.length != 0) { 5443 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 5444 parametros.append('archivo', "true"); 5445 parametros.append('tipo', numeroArchivos[0].type); 5446 parametros.append('file[]', numeroArchivos[0]); 5447 5448 } else { 5449 5450 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5451 return false;
5452 } 5453 } else { 5454 parametros.append('archivo', false); 5455 } 5456 5457 5458 $.ajax({ 5459 url: "ajax/empresas.ajax.php", 5460 method: "POST", 5461 data: parametros, 5462 contentType: false, 5463 cache: false, 5464 processData: false, 5465 success: function (respuesta) { 5466 5467 var respuesta = JSON.parse(respuesta); 5468 5469 5470 if (respuesta.operacion) {//CAMBIOS 5471 toastr.success(respuesta.mensaje); 5472 5473 if (respuesta.verificado) { 5474 5475 //PONER MODAL DE CAMBIAR 5476 5477 swal({ 5478 title: "¿Desea activar su facturero?", 5479 text: "Si la empresa no se activa en este momento, deberá enviar un mensaje de activacion a soporte.", 5480 type: "info", 5481 confirmButtonColor: "#2cd07e", 5482 confirmButtonText: "SÃ, activar", 5483 showCancelButton: true, 5484 cancelButtonText: "Cancelar" 5485 }).then(async result => { 5486 if (result.value) { 5487 var respuesta = await habilitarAccesoEmpresa(); 5488 if (respuesta.estado) { 5489 toastr.success(respuesta.mensaje, "LISTO", { timeOut: 4000 }); 5490 } else { 5491 toastr.info(respuesta.mensaje); 5492 } 5493 } 5494 }); 5495 } 5496 } else { 5497 toastr.error(respuesta.mensaje); 5498 5499 } 5500 5501 $("#comprobantePago").val(''); 5502 $("#bancocomprobante").val(''); 5503 $("#numcomprobante").val(''); 5504 $("#fechacomprobante").val(''); 5505 $("#valorcomprobante").val(''); 5506 //$('#modalAgregarPagoPlan').modal('hide); 5507 //$('.tablaHistorialPlanes').DataTable().ajax.reload() 5508 $("#modalAgregarPagoPlan").modal('hide'); 5509 5510 if ($.fn.DataTable.isDataTable('.tablaHistorialPlanes')) { 5511 $('.tablaHistorialPlanes').DataTable().ajax.reload(); 5512 } 5513 if ($.fn.DataTable.isDataTable('.tablaPlanes-pendientes')) { 5514 $('.tablaPlanes-pendientes').DataTable().ajax.reload(); 5515 } 5516 if ($.fn.DataTable.isDataTable('.tablaPlanes-pendientes-facturalo')) { 5517 $('.tablaPlanes-pendientes-facturalo').DataTable().ajax.reload(); 5518 } 5519 } 5520 }) 5521 } 5522 5523 5524 5525 5526} 5527 5528async function habilitarAccesoEmpresa(sistema) { 5529 try { 5530 5531 let parametros = new FormData(); 5532 parametros.append("habilitarAccesoEmpresa", true); 5533 parametros.append("plan", empresas1.secuenciaPlan); 5534 parametros.append("sistema", sistema); 5535 5536 5537 const resultado = await fetch("ajax/historial.ajax.php", { 5538 method: 'POST', 5539 body: parametros 5540 }); 5541 const datos = resultado.json(); 5542 return datos; 5543 5544 } catch (error) { 5545 throw error; 5546 } 5547} 5548 5549 5550async function subirArchivoComprobantePagoEmpresa() { 5551 let parametros = new FormData(); 5552 var sistema = $("#tipoSistema").val(); 5553 var numeroArchivos = $("#comprobanteArchivoPago")[0].files; 5554 var codPlan = $("#idCodigoPlan").val(); 5555 var codPlanEmpresa = $("#idCodigoEmpresa").val(); 5556 var numcomprobante = $("#numeropago_solicitudSJ").val().trim(); 5557 var bancocomprobante = $("#bancopago_solicitudSJ").val().trim(); 5558 var valorcomprobante = $("#valorcomprobante").val().trim(); 5559 var observacioncomprobante = $("#observacioncomprobante").val().trim(); 5560 var fechacomprobante = $("#fechacomprobante").val().trim(); 5561 5562 if (bancocomprobante == '1') { 5563 bancocomprobante = 'BANCO PICHINCHA'; 5564 } else { 5565 bancocomprobante = 'BANCO DEL PACÃFICO'; 5566 } 5567 parametros.append('guardarPagoEmpresa', true); 5568 parametros.append('sistema', sistema); 5569 parametros.append('codPlan', codPlan); 5570 parametros.append('empresa', codPlanEmpresa); 5571 parametros.append('comprobante', numcomprobante); 5572 parametros.append('bancocomprobante', bancocomprobante); 5573 parametros.append('valorcomprobante', valorcomprobante); 5574 parametros.append('observacioncomprobante', observacioncomprobante); 5575 parametros.append('fechacomprobante', fechacomprobante); 5576 parametros.append('nombrePlan', document.getElementById('nombreplan').value); 5577 parametros.append('referenciaPlan', document.getElementById('referenciaPlan').value); 5578 5579 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "") { 5580 toastr.info("Ingrese los campos para guardar el registro"); 5581 return; 5582 } else { 5583 if (document.getElementById('referenciaPlan').value != "GRATUITO-ANUAL") { 5584 if (numeroArchivos.length != 0) { 5585 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 5586 parametros.append('archivoComprobante', numeroArchivos[0]); 5587 } else { 5588 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5589 return false;
5590 } 5591 } else { 5592 toastr.info("Cargue el documento pdf o imagen del comprobante de pago"); 5593 return false; 5594 } 5595 } 5596 } 5597 5598 const resultado = await fetch("ajax/planes/planfacturero.ajax.php", { 5599 method: "POST", 5600 body: parametros, 5601 }); 5602 const datos = await resultado.json(); 5603 5604 if (datos.estado) { 5605 toastr.success(datos.mensaje); 5606 setTimeout(() => { 5607 location.reload(); 5608 }, 2000); 5609 5610 } else { 5611 toastr.error(datos.mensaje); 5612 } 5613 5614} 5615 5616$(document).on('click', '#btnGuardarComprobantePlan', function (event) { 5617 subirArchivoComprobantePago('contamatic'); 5618}); 5619 5620$(document).on('click', '#btnGuardarComprobantePlanVendeFacil', function (event) { 5621 subirArchivoComprobantePago('vendeFacil'); 5622}); 5623 5624$(document).on('click', '#btnGuardarComprobantePlanEmpresa', async function (event) { 5625 await subirArchivoComprobantePagoEmpresa(); 5626}); 5627 5628$(document).on('click', '.cerrarModalComprobantePlanEmpresa', function (event) { 5629 $('#modalAgregarPagoPlan').modal('hide'); 5630 location.reload(); 5631 5632}); 5633 5634$(document).on('click', '#btnGuardarComprobantePlanFacturero', function (event) { 5635 subirArchivoComprobantePagoFacturero(); 5636}); 5637 5638function subirArchivoComprobantePagoPrepago() { 5639 const parametros = new FormData(); 5640 5641 var numeroArchivos = $("#comprobantePago-plan")[0].files; 5642 var codPlan = $("#codPlan-plan").val(); 5643 var codPlanEmpresa = $("#codPlanEmpresa-plan").val(); 5644 var numcomprobante = $("#numcomprobante-plan").val(); 5645 var bancocomprobante = null; 5646 var valorcomprobante = $("#valorcomprobante-plan").val(); 5647 var fechacomprobante = $("#fechacomprobante-plan").val(); 5648 5649 5650 parametros.append('cargarPago', true); 5651 parametros.append('codPlan', codPlan); 5652 parametros.append('codPlanEmpresa', codPlanEmpresa); 5653 parametros.append('comprobante', numcomprobante); 5654 parametros.append('bancocomprobante', bancocomprobante); 5655 parametros.append('valorcomprobante', valorcomprobante); 5656 parametros.append('fechacomprobante', fechacomprobante); 5657 //for(var i=0; i<numeroArchivos.length; i++) 5658 //{ 5659 //} 5660 5661 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "") { 5662 toastr.info("Ingrese los campos para guardar el registro"); 5663 } else { 5664 if (numeroArchivos.length != 0) { 5665 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 5666 parametros.append('archivo', "true"); 5667 parametros.append('tipo', numeroArchivos[0].type); 5668 parametros.append('file[]', numeroArchivos[0]); 5669 5670 } else { 5671 5672 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5673 return false; 5674 } 5675 } else { 5676 parametros.append('archivo', false); 5677 } 5678 5679 5680 $.ajax({ 5681 url: "ajax/empresas.ajax.php", 5682 method: "POST", 5683 data: parametros, 5684 contentType: false, 5685 cache: false, 5686 processData: false, 5687 success: function (respuesta) { 5688 5689 var respuesta = JSON.parse(respuesta); 5690 5691 5692 if (respuesta.operacion) { 5693 toastr.success(respuesta.mensaje); 5694 5695 } else { 5696 toastr.error(respuesta.mensaje); 5697 5698 } 5699 5700 $("#comprobantePago-plan").val(''); 5701 $("#bancocomprobante-plan").val(''); 5702 $("#numcomprobante-plan").val(''); 5703 $("#fechacomprobante-plan").val(''); 5704 $("#valorcomprobante-plan").val(''); 5705 //$('#modalAgregarPagoPlan').modal('hide); 5706 //$('.tablaHistorialPlanes').DataTable().ajax.reload() 5707 $("#modalAgregarPagoPlanPrepago").modal('hide'); 5708 $('.tablaHistorialPlanes').DataTable().ajax.reload(); 5709 5710 5711 } 5712 }) 5713 } 5714 5715 5716 /*if(numeroArchivos.length !=0 ){ 5717 if(numeroArchivos[0].type=="application/pdf"||numeroArchivos[0].type=="image/png"||numeroArchivos[0].type=="image/jpeg"){ 5718 parametros.append('tipo', numeroArchivos[0].type); 5719 parametros.append('file[]', numeroArchivos[0]); 5720 5721 $.ajax({ 5722 url:"ajax/empresas.ajax.php", 5723 method:"POST", 5724 data:parametros, 5725 contentType:false, 5726 cache: false, 5727 processData: false, 5728 success:function(respuesta){ 5729 5730 var respuesta=JSON.parse(respuesta); 5731 5732 5733 if(respuesta.operacion=="ok"){ 5734 toastr.success(respuesta.mensaje); 5735 5736 }else{ 5737 toastr.error(respuesta.mensaje); 5738 5739 } 5740 5741 $("#comprobantePago").val(''); 5742 //$('#modalAgregarPagoPlan').modal('hide); 5743 //$('.tablaHistorialPlanes').DataTable().ajax.reload() 5744 $("#modalAgregarPagoPlan").modal('hide'); 5745 $('.tablaHistorialPlanes').DataTable().ajax.reload(); 5746 } 5747 }) 5748 5749 }else{ 5750 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5751 } 5752 5753 5754 }else{ 5755 toastr.info("Se necesita cargar un comprobante, Imagen o Pdf"); 5756 }*/ 5757 5758 5759 5760 5761} 5762 5763 5764 5765function subirArchivoComprobantePagoPrepagoImprenta() { 5766 const parametros = new FormData(); 5767 5768 var numeroArchivos = $("#comprobantePago-imprenta")[0].files; 5769 var codPlan = $("#codPlan-imprenta").val(); 5770 var codPlanEmpresa = $("#codPlanEmpresa-imprenta").val(); 5771 var numcomprobante = $("#numcomprobante-imprenta").val(); 5772 var bancocomprobante = $("#bancocomprobante-imprenta").val(); 5773 var valorcomprobante = $("#valorcomprobante-imprenta").val(); 5774 var fechacomprobante = $("#fechacomprobante-imprenta").val(); 5775 var observacioncomprobante = $("#observacioncomprobante-imprenta").val(); 5776 5777 parametros.append('cargarPagoPlanUsuario', true); 5778 parametros.append('codPlan', codPlan); 5779 parametros.append('codPlanEmpresa', codPlanEmpresa); 5780 parametros.append('comprobante', numcomprobante); 5781 parametros.append('bancocomprobante', bancocomprobante); 5782 parametros.append('valorcomprobante', valorcomprobante); 5783 parametros.append('fechacomprobante', fechacomprobante); 5784 parametros.append('observacioncomprobante', observacioncomprobante); 5785 5786 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "") { 5787 toastr.info("Ingrese los campos para guardar el registro"); 5788 } else { 5789 if (numeroArchivos.length != 0) { 5790 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 5791 parametros.append('archivo', "true"); 5792 parametros.append('tipo', numeroArchivos[0].type); 5793 parametros.append('file[]', numeroArchivos[0]); 5794 5795 } else { 5796 5797 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5798 return false;
5799 } 5800 } else { 5801 parametros.append('archivo', false); 5802 } 5803 5804 $.ajax({ 5805 url: "ajax/usuarios.ajax.php", 5806 method: "POST", 5807 data: parametros, 5808 contentType: false, 5809 cache: false, 5810 processData: false, 5811 success: function (respuesta) { 5812 5813 var respuesta = JSON.parse(respuesta); 5814 5815 if (respuesta.operacion == "ok") { 5816 toastr.success(respuesta.mensaje); 5817 } else { 5818 toastr.error(respuesta.mensaje); 5819 } 5820 $("#comprobantePago-imprenta").val(''); 5821 $("#bancocomprobante-imprenta").val(''); 5822 $("#numcomprobante-imprenta").val(''); 5823 $("#fechacomprobante-imprenta").val(''); 5824 $("#valorcomprobante-imprenta").val(''); 5825 $("#modalAgregarPagoPlanPrepagoImprenta").modal('hide'); 5826 $('.tablaHistorialAbonoImprenta').DataTable().ajax.reload(); 5827 $('.tablaHistorialPlanesImprenta').DataTable().ajax.reload(); 5828 $('.tablaPlanes-pendientesImprentas').DataTable().ajax.reload(); 5829 } 5830 }) 5831 } 5832} 5833 5834function subirArchivoComprobantePagoProyecto() { 5835 const parametros = new FormData(); 5836 5837 var numeroArchivos = $("#comprobantePago-proyecto")[0].files; 5838 var codPlan = $("#codPlan-proyecto").val(); 5839 var numcomprobante = $("#numcomprobante-proyecto").val(); 5840 var bancocomprobante = $("#bancocomprobante-proyecto").val(); 5841 var valorcomprobante = $("#valorcomprobante-proyecto").val(); 5842 var fechacomprobante = $("#fechacomprobante-proyecto").val(); 5843 var observacioncomprobante = $("#observacioncomprobante-proyecto").val(); 5844 5845 parametros.append('cargarPagoPlanProyecto', true); 5846 parametros.append('codPlan', codPlan); 5847 parametros.append('comprobante', numcomprobante); 5848 parametros.append('bancocomprobante', bancocomprobante); 5849 parametros.append('valorcomprobante', valorcomprobante); 5850 parametros.append('fechacomprobante', fechacomprobante); 5851 parametros.append('observacioncomprobante', observacioncomprobante); 5852 5853 if (numcomprobante == "" || valorcomprobante == "" || fechacomprobante == "" || bancocomprobante == "") { 5854 toastr.info("Ingrese los campos para guardar el registro"); 5855 } else { 5856 if (numeroArchivos.length != 0) { 5857 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 5858 parametros.append('archivo', "true"); 5859 parametros.append('tipo', numeroArchivos[0].type); 5860 parametros.append('file[]', numeroArchivos[0]); 5861 5862 } else { 5863 5864 toastr.info("El documento cargado debe ser una Imagen o PDF"); 5865 return false; 5866 } 5867 } else { 5868 parametros.append('archivo', false); 5869 } 5870 5871 $.ajax({ 5872 url: "ajax/usuarios.ajax.php", 5873 method: "POST", 5874 data: parametros, 5875 contentType: false, 5876 cache: false, 5877 processData: false, 5878 success: function (respuesta) { 5879 5880 var respuesta = JSON.parse(respuesta); 5881 5882 if (respuesta.operacion == "ok") { 5883 toastr.success(respuesta.mensaje); 5884 } else { 5885 toastr.error(respuesta.mensaje); 5886 } 5887 $("#comprobantePago-proyecto").val(''); 5888 $("#bancocomprobante-proyecto").val(''); 5889 $("#numcomprobante-proyecto").val(''); 5890 $("#fechacomprobante-proyecto").val(''); 5891 $("#valorcomprobante-proyecto").val(''); 5892 $("#modalAgregarPagoPlanProyecto").modal('hide'); 5893 $('.tablaPlanes-pendientesProyectos').DataTable().ajax.reload(); 5894 $('.tablaHistorialAbonoProyectos').DataTable().ajax.reload(); 5895 } 5896 }) 5897 } 5898} 5899 5900function subirArchivoComprobanteAbonoProyecto() { 5901 const parametros = new FormData(); 5902 5903 var numeroArchivos = $("#comprobantePago-proyecto")[0].files; 5904 var codPlan = $("#codPlan-proyecto").val(); 5905 var codPlanAbono = $("#codPlanAbono-proyecto").val(); 5906 var numcomprobante = $("#numcomprobante-proyecto").val(); 5907 var bancocomprobante = $("#bancocomprobante-proyecto").val(); 5908 var valorcomprobante = $("#valorcomprobante-proyecto").val(); 5909 var fechacomprobante = $("#fechacomprobante-proyecto").val(); 5910 var observacioncomprobante = $("#observacioncomprobante-proyecto").val(); 5911 5912 if (bancocomprobante == '1') { 5913 bancocomprobante = 'BANCO PICHINCHA'; 5914 } else { 5915 bancocomprobante = 'BANCO DEL PACÃFICO'; 5916 } 5917 5918 if (fechacomprobante == '') { 5919 toastr.info("Ingrese la fecha de pago"); 5920 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5921 return; 5922 } 5923 if (valorcomprobante == '') { 5924 toastr.info("Ingrese el valor de pago"); 5925 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5926 return; 5927 } 5928 if (bancocomprobante == '') { 5929 toastr.info("Ingrese la fecha de pago"); 5930 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5931 return; 5932 } 5933 if (numcomprobante == '') { 5934 toastr.info("Ingrese el número de comprobante"); 5935 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5936 return; 5937 } 5938 5939 5940 5941 let jsonCliente = []; 5942 5943 let facturarEmpresa = document.getElementById('facturarEmpresaMisDatos_proyecto1').value; 5944 5945 if (facturarEmpresa == 0) { 5946 toastr.info("Seleccione los datos de factura", "Importante", { timeOut: 3000 }); 5947 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5948 return; 5949 } 5950 5951 if (facturarEmpresa == 1) { 5952 facturarEmpresa = true; 5953 if ($("#identificacion_contador_proyecto2").val() == "") { 5954 toastr.info("Ingrese la identificación del contador", "Importante", { timeOut: 3000 }); 5955 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5956 return; 5957 } 5958 5959 if ($("#nombre_contador_proyecto2").val() == "") {
5960 toastr.info("Ingrese el nombre del contador", "Importante", { timeOut: 3000 }); 5961 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5962 return; 5963 } 5964 if ($("#direcion_contador_proyecto2").val() == "") { 5965 toastr.info("Ingrese la dirección del contador", "Importante", { timeOut: 3000 }); 5966 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5967 return; 5968 } 5969 if ($("#telefono_contador_proyecto2").val() == "") { 5970 toastr.info("ngrese el telefono del contador", "Importante", { timeOut: 3000 }); 5971 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5972 return; 5973 } 5974 if ($("#correo_contador_proyecto2").val() == "") { 5975 toastr.info("Ingrese el correo del contador", "Importante", { timeOut: 3000 }); 5976 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5977 return; 5978 } 5979 5980 } else { 5981 facturarEmpresa = false; 5982 if ($("#identificacion_cliente_proyecto").val() == "") { 5983 toastr.info("Ingrese la identificación del cliente para facturar", "Importante", { timeOut: 3000 }); 5984 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5985 return; 5986 } 5987 5988 if ($("#nombre_cliente_proyecto").val() == "") { 5989 toastr.info("Ingrese el nombre del cliente para facturar", "Importante", { timeOut: 3000 }); 5990 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5991 return; 5992 } 5993 if ($("#direccion_cliente_proyecto").val() == "") { 5994 toastr.info("Ingrese la dirección del cliente para facturar", "Importante", { timeOut: 3000 }); 5995 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 5996 return; 5997 } 5998 if ($("#telefono_cliente_proyecto").val() == "") { 5999 toastr.info("Ingrese el teléfono del cliente para facturar", "Importante", { timeOut: 3000 }); 6000 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 6001 return; 6002 } 6003 if ($("#correo_cliente_proyecto").val() == "") { 6004 toastr.info("Ingrese el correo del cliente para facturar", "Importante", { timeOut: 3000 }); 6005 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 6006 return; 6007 } 6008 } 6009 6010 6011 6012 6013 jsonCliente.push({ 6014 identificacion_cliente: document.getElementById('identificacion_cliente_proyecto').value, 6015 nombre_cliente: document.getElementById('nombre_cliente_proyecto').value, 6016 direccion_cliente: document.getElementById('direccion_cliente_proyecto').value, 6017 telefono_cliente: document.getElementById('telefono_cliente_proyecto').value, 6018 correo_cliente: document.getElementById('correo_cliente_proyecto').value, 6019 observacion_cliente: document.getElementById('observacioncomprobante_proyecto').value, 6020 facturarConMisDatos: facturarEmpresa, 6021 identificacion_contador: document.getElementById('identificacion_contador_proyecto1').value, 6022 nombre_contador: document.getElementById('nombre_contador_proyecto1').value, 6023 direcion_contador: document.getElementById('direcion_contador_proyecto1').value, 6024 telefono_contador: document.getElementById('telefono_contador_proyecto1').value, 6025 correo_contador: document.getElementById('correo_contador_proyecto1').value, 6026 totalFactura: document.getElementById('valorcomprobante_proyecto').value, 6027 fechapago_solicitudSJ: document.getElementById('fechacomprobante_proyecto').value, 6028 bancopago_solicitudSJ: document.getElementById('bancopago_solicitudSJ_proyecto').value, 6029 numeropago_solicitudSJ: document.getElementById('numeropago_solicitudSJ_proyecto').value, 6030 }); 6031 6032 parametros.append('cargarPagoPlanAbonoProyecto', true); 6033 parametros.append('codPlan', codPlan); 6034 parametros.append('codPlanAbono', codPlanAbono); 6035 parametros.append('comprobante', numcomprobante); 6036 parametros.append('bancocomprobante', bancocomprobante); 6037 parametros.append('valorcomprobante', valorcomprobante); 6038 parametros.append('fechacomprobante', fechacomprobante); 6039 parametros.append('observacioncomprobante', observacioncomprobante); 6040 parametros.append("jsonCliente", JSON.stringify(jsonCliente)); 6041 6042 if (numeroArchivos.length != 0) { 6043 if (numeroArchivos[0].type == "application/pdf" || numeroArchivos[0].type == "image/png" || numeroArchivos[0].type == "image/jpeg") { 6044 parametros.append('archivo', true); 6045 parametros.append('tipo', numeroArchivos[0].type); 6046 parametros.append('file[]', numeroArchivos[0]); 6047 } else { 6048 toastr.info("El documento cargado debe ser una Imagen o PDF"); 6049 $("#btnGuardarComprobanteProyecto").prop("disabled", false); 6050 6051 return false;
6052 } 6053 } else { 6054 parametros.append('archivo', false); 6055 } 6056 6057 $.ajax({ 6058 url: "ajax/usuarios.ajax.php", 6059 method: "POST", 6060 data: parametros, 6061 contentType: false, 6062 cache: false, 6063 processData: false, 6064 success: function (respuesta) { 6065 6066 var respuesta = JSON.parse(respuesta); 6067 6068 if (respuesta.operacion == "ok") { 6069 setTimeout(() => { 6070 toastr.success(respuesta.mensaje); 6071 // location.reload(); 6072 }, 1000); 6073 6074 } else { 6075 toastr.error(respuesta.operacion.mensaje); 6076 } 6077 $("#comprobantePago-proyecto").val(''); 6078 $("#bancocomprobante-proyecto").val(''); 6079 $("#numcomprobante-proyecto").val(''); 6080 $("#fechacomprobante-proyecto").val(''); 6081 $("#valorcomprobante-proyecto").val(''); 6082 $("#modalAgregarPagoPlanProyecto").modal('hide'); 6083 6084 } 6085 }) 6086} 6087 6088 6089 6090$(document).on('click', '#btnGuardarComprobantePlanPrepago', function (event) { 6091 subirArchivoComprobantePagoPrepago(); 6092}); 6093 6094$(document).on('click', '#btnGuardarComprobantePlanPrepagoImprenta', function (event) { 6095 subirArchivoComprobantePagoPrepagoImprenta(); 6096}); 6097 6098$(document).on('click', '#btnGuardarComprobanteProyecto', function (event) { 6099 var site = $(this).attr("site"); 6100 6101 if (site == 'empresa') { 6102 subirArchivoComprobanteAbonoProyecto(); 6103 } else { 6104 subirArchivoComprobantePagoProyecto(); 6105 } 6106}); 6107 6108$(document).on('click', '.agregarPagoPlan', function (event) { 6109 6110 var plan = $(this).attr("plan"); 6111 var comprobante = $(this).attr("comprobante"); 6112 var bancocomprobanteAttr = $(this).attr("bancocomprobante"); 6113 var planEmpresa = $(this).attr("planEmpresa"); 6114 var valorcomprobante = $(this).attr("valorcomprobante"); 6115 var fechacomprobante = $(this).attr("fechacomprobante"); 6116 var documento = atob($(this).attr("documento")); 6117 var sistema = $(this).attr("sistema"); 6118 var firma = ''; 6119 if (sistema == 'vendeFacil') { 6120 firma = $(this).attr("numerofirma"); 6121 } 6122 6123 var decoded = atob(bancocomprobanteAttr); 6124 var bancocomprobante = decodeURIComponent(escape(decoded)); 6125 //$("#codPlan").val(plan); 6126 empresas1.secuenciaPlan = plan; 6127 empresas1.documentoPlan = documento; 6128 $("#bancocomprobante").val(bancocomprobante); 6129 $("#numcomprobante").val(comprobante != "n" ? atob(comprobante) : ""); 6130 $("#valorcomprobante").val(valorcomprobante != "n" ? atob(valorcomprobante) : ""); 6131 $("#fechacomprobante").val(fechacomprobante != "n" ? atob(fechacomprobante) : ""); 6132 $("#numeroFirma").val(firma != "n" ? atob(firma) : ""); 6133 6134 if (sistema == 'Contamatic') { 6135 $("#numeroFirmaGroup").hide(); 6136 } else { 6137 $("#numeroFirmaGroup").show(); 6138 } 6139 6140 $("#codPlanEmpresa").val(planEmpresa); 6141 $("#tipoSistemaApp").val(sistema); 6142 $("#modalAgregarPagoPlan").modal("show"); 6143 6144}); 6145 6146$(document).on('click', '.agregarPagoPlanFacturero', function (event) { 6147 6148 var plan = $(this).attr("plan"); 6149 var comprobante = $(this).attr("comprobante"); 6150 var bancocomprobanteAttr = $(this).attr("bancocomprobante"); 6151 var planEmpresa = $(this).attr("planEmpresa"); 6152 var valorcomprobante = $(this).attr("valorcomprobante"); 6153 var fechacomprobante = $(this).attr("fechacomprobante"); 6154 var documento = atob($(this).attr("documento")); 6155 var sistema = $(this).attr("sistema"); 6156 var firma = $(this).attr("numerofirma"); 6157 6158 var decoded = atob(bancocomprobanteAttr); 6159 var bancocomprobante = decodeURIComponent(escape(decoded)); 6160 6161 //$("#codPlan").val(plan); 6162 empresas1.secuenciaPlan = plan; 6163 empresas1.documentoPlan = documento; 6164 $("#bancocomprobanteFacturero").val(bancocomprobante); 6165 $("#numcomprobanteFacturero").val(comprobante != "n" ? atob(comprobante) : ""); 6166 $("#valorcomprobanteFacturero").val(valorcomprobante != "n" ? atob(valorcomprobante) : ""); 6167 $("#fechacomprobanteFacturero").val(fechacomprobante != "n" ? atob(fechacomprobante) : ""); 6168 var campoNumeroFirma = document.getElementById('NumeroFirmacampo'); 6169 6170 if (sistema == 'Contamatic') { 6171 if (campoNumeroFirma) { 6172 campoNumeroFirma.style.display = 'none'; 6173 } 6174 } else { 6175 if (campoNumeroFirma) { 6176 campoNumeroFirma.style.display = 'block'; 6177 $("#numeroFirma").val(firma != "n" ? atob(firma) : ""); 6178 } 6179 6180 } 6181 6182 6183 6184 $("#codPlanEmpresa").val(planEmpresa); 6185 $("#tiposistema").val(sistema); 6186 $("#modalAgregarPagoPlan").modal("show"); 6187}); 6188 6189 6190$(document).on('click', '.agregarPagoPlanPrepago', function (event) { 6191 6192 var plan = $(this).attr("plan"); 6193 var comprobante = $(this).attr("comprobante"); 6194 //var bancocomprobante=$(this).attr("bancocomprobante"); 6195 var planEmpresa = $(this).attr("planEmpresa"); 6196 var valorcomprobante = $(this).attr("valorcomprobante"); 6197 var fechacomprobante = $(this).attr("fechacomprobante"); 6198 6199 $("#codPlan-plan").val(plan); 6200 //$("#bancocomprobante").val(bancocomprobante!="n"?atob(bancocomprobante):""); 6201 $("#numcomprobante-plan").val(comprobante != "n" ? atob(comprobante) : ""); 6202 $("#valorcomprobante-plan").val(valorcomprobante != "n" ? atob(valorcomprobante) : ""); 6203 $("#fechacomprobante-plan").val(fechacomprobante != "n" ? atob(fechacomprobante) : ""); 6204 6205 $("#codPlanEmpresa-plan").val(planEmpresa); 6206 $("#modalAgregarPagoPlanPrepago").modal("show"); 6207}); 6208 6209 6210$(document).on('click', '.agregarPagoPlanPrepagoImprenta', function (event) { 6211 6212 var plan = $(this).attr("plan"); 6213 var comprobante = $(this).attr("comprobante"); 6214 var bancocomprobante = $(this).attr("bancocomprobante"); 6215 var usuario = $(this).attr("planempresa"); 6216 var valorcomprobante = $(this).attr("valorcomprobante"); 6217 var fechacomprobante = $(this).attr("fechacomprobante"); 6218 var observacioncomprobante = $(this).attr("observacioncomprobante"); 6219 6220 $("#codPlan-imprenta").val(plan); 6221 $("#bancocomprobante-imprenta").val(bancocomprobante != "n" ? atob(bancocomprobante) : ""); 6222 $("#numcomprobante-imprenta").val(comprobante != "n" ? atob(comprobante) : ""); 6223 $("#valorcomprobante-imprenta").val(valorcomprobante != "n" ? atob(valorcomprobante) : ""); 6224 $("#fechacomprobante-imprenta").val(fechacomprobante != "n" ? atob(fechacomprobante) : ""); 6225 $("#observacioncomprobante-imprenta").val(observacioncomprobante != "n" ? atob(observacioncomprobante) : ""); 6226 6227 $("#codPlanEmpresa-imprenta").val(usuario); 6228 $("#modalAgregarPagoPlanPrepagoImprenta").modal("show"); 6229}); 6230 6231 6232$(document).on('click', '.agregarPagoPlanPrepagoProyectos', function (event) { 6233 var plan = $(this).attr("plan"); 6234 var comprobante = $(this).attr("comprobante"); 6235 var bancocomprobante = $(this).attr("bancocomprobante"); 6236 var valorcomprobante = $(this).attr("valorcomprobante"); 6237 var fechacomprobante = $(this).attr("fechacomprobante"); 6238 var observacioncomprobante = $(this).attr("observacioncomprobante"); 6239 6240 var fecha = fechacomprobante != "n" ? atob(fechacomprobante) : ""; 6241 var fechaFormateada = fecha.split(" ")[0]; 6242 $("#codPlan-proyecto").val(plan); 6243 $("#bancocomprobante-proyecto").val(bancocomprobante != "n" ? atob(bancocomprobante) : ""); 6244 $("#numcomprobante-proyecto").val(comprobante != "n" ? atob(comprobante) : ""); 6245 $("#valorcomprobante-proyecto").val(valorcomprobante != "n" ? atob(valorcomprobante) : ""); 6246 $("#fechacomprobante-proyecto").val(fechaFormateada); 6247 $("#observacioncomprobante-proyecto").val(observacioncomprobante != "n" ? atob(observacioncomprobante) : ""); 6248 6249 $("#modalAgregarPagoPlanProyecto").modal("show"); 6250}); 6251 6252 6253 6254 6255 6256 6257 6258$(document).on('click', '.mostrarModalPDF', function (event) { 6259 6260 var planEmpresa = $(this).attr("planEmpresa"); 6261 var documentoPdf = $(this).attr("documento"); 6262 6263 $("#visorPdf").attr("src", "vistas/documentos/COMPROBANTE_PAGOS/" + atob(planEmpresa) + "/" + atob(documentoPdf)); 6264 $("#descargar-documento").attr("src", "vistas/documentos/COMPROBANTE_PAGOS/" + atob(planEmpresa) + "/" + atob(documentoPdf)); 6265 6266 6267 $("#modalVisorPDF").modal("show"); 6268}); 6269 6270$(document).on('click', '#descargar-documento', function (event) { 6271 var link = $(this).attr("src"); 6272 descargarLink(link, "comprobante.pdf"); 6273 6274}); 6275 6276 6277$(document).on('click', '.mostrarModalIMG', function (event) { 6278 6279 var planEmpresa = $(this).attr("planEmpresa"); 6280 var documentoImg = $(this).attr("documento"); 6281 $("#visorImagen").attr("src", "vistas/documentos/COMPROBANTE_PAGOS/" + atob(planEmpresa) + "/" + atob(documentoImg)); 6282 $("#modalVisorIMG").modal("show"); 6283}); 6284 6285$(document).on('click', '.mostrarModalIMGImprentas', function (event) { 6286 var planUsuario = $(this).attr("planEmpresa"); 6287 var documentoImg = $(this).attr("documento"); 6288 $("#visorImagen").attr("src", "vistas/documentos/COMPROBANTE_PAGOS_USUARIOS/" + atob(planUsuario) + "/" + atob(documentoImg)); 6289 $("#modalVisorIMG").modal("show"); 6290}); 6291 6292$(document).on('click', '.mostrarModalPDFImprentas', function (event) { 6293 6294 var planUsuario = $(this).attr("planEmpresa"); 6295 var documentoPdf = $(this).attr("documento"); 6296 $("#visorPdf").attr("src", "vistas/documentos/COMPROBANTE_PAGOS_USUARIOS/" + atob(planUsuario) + "/" + atob(documentoPdf)); 6297 $("#modalVisorPDF").modal("show"); 6298}); 6299 6300 6301$(document).on('click', '.mostrarModalIMGProyecto', function (event) { 6302 var documentoImg = $(this).attr("documento"); 6303 $("#visorImagen").attr("src", "vistas/documentos/COMPROBANTE_PAGOS_PROYECTOS/" + atob(documentoImg)); 6304 $("#modalVisorIMG").modal("show"); 6305}); 6306 6307$(document).on('click', '.mostrarModalPDFProyecto', function (event) { 6308 var documentoPdf = $(this).attr("documento"); 6309 $("#visorPdf").attr("src", "vistas/documentos/COMPROBANTE_PAGOS_PROYECTOS/" + atob(documentoPdf)); 6310 $("#descargar-documento").attr("src", "vistas/documentos/COMPROBANTE_PAGOS_PROYECTOS/" + atob(documentoPdf)); 6311 6312 $("#modalVisorPDF").modal("show"); 6313}); 6314 6315 6316$(document).on('click', '.mostrarModalIMGSoporte', function (event) { 6317 var imagenes = $(this).data("imagenes"); 6318 var explicacion = atob($(this).attr("explicacion")); 6319 var explicaciones = explicacion.split('\n').filter(function (item) { 6320 return item.trim() !== ''; 6321 }); 6322
6323 $("#galeriaItems").empty(); 6324 6325 if (imagenes.length === 0) { 6326 explicaciones.forEach(function (explicacionText, index) { 6327 $("#galeriaItems").append(` 6328 <div class="col-md-12 mb-4"> 6329 <div class="razon-text"> 6330 <p>${explicacionText}</p> 6331 </div> 6332 </div> 6333 `); 6334 }); 6335 } else { 6336 imagenes.forEach(function (imagen, index) { 6337 var explicacionesText = explicaciones[index] || ''; 6338 $("#galeriaItems").append(` 6339 <div class="col-md-6 mb-4"> 6340 <div class="d-flex flex-column align-items-center"> 6341 <img class="img-fluid" src="vistas/documentos/COMPROBANTE_IMG_SOPORTE/${imagen}" alt="Imagen ${index + 1}" style="max-width: 100px; margin-bottom: 10px;"> 6342 <div class="razon-text"> 6343 <p>${explicacionesText}</p> 6344 </div> 6345 </div> 6346 </div> 6347 `); 6348 }); 6349 } 6350 6351 $("#modalVisorIMG").modal("show"); 6352}); 6353 6354 6355$(document).on('click', '.mostrarModalIMGProgramacion', function (event) { 6356 var imagenes = $(this).data("imagenes"); 6357 var razon = atob($(this).attr("razon")); 6358 var razones = razon.split('\n').filter(function (item) { 6359 return item.trim() !== ''; 6360 }); 6361 $("#galeriaItemsPro").empty(); 6362 if (imagenes.length === 0) { 6363 razones.forEach(function (razonText, index) { 6364 $("#galeriaItems").append(` 6365 <div class="col-md-12 mb-4"> 6366 <div class="razon-text"> 6367 <p>${razonText}</p> 6368 </div> 6369 </div> 6370 `); 6371 }); 6372 } else { 6373 imagenes.forEach(function (imagen, index) { 6374 var razonText = razones[index] || ''; 6375 $("#galeriaItemsPro").append(` 6376 <div class="col-md-6 mb-4"> 6377 <div class="d-flex flex-column align-items-center"> 6378 <img class="img-fluid" src="vistas/documentos/COMPROBANTE_IMG_PROGRAMACION/${imagen}" alt="Imagen ${index + 1}" style="max-width: 100px; margin-bottom: 10px;"> 6379 <div class="razon-text"> 6380 <p>${razonText}</p> 6381 </div> 6382 </div> 6383 </div> 6384 `); 6385 }); 6386 6387 } 6388 6389 $("#modalVisorIMGProgramacion").modal("show"); 6390}); 6391 6392 6393$(document).on('click', '.mostrarModalPDFDoporte', function (event) { 6394 var documentoPdf = $(this).attr("documento"); 6395 $("#visorPdf").attr("src", "vistas/documentos/COMPROBANTE_IMG_SOPORTE/" + atob(documentoPdf)); 6396 $("#descargar-documento").attr("src", "vistas/documentos/COMPROBANTE_IMG_SOPORTE/" + atob(documentoPdf)); 6397 6398 $("#modalVisorPDF").modal("show"); 6399}); 6400 6401 6402 6403 6404$(document).on('click', '.mostrarModalIMGFacturalo', function (event) { 6405 6406 var planEmpresa = $(this).attr("planEmpresa"); 6407 var documentoImg = $(this).attr("documento"); 6408 $("#visorImagen").attr("src", "vistas/documentos/COMPROBANTE_PAGOS/" + atob(planEmpresa) + "/" + atob(documentoImg)); 6409 $("#modalVisorIMG").modal("show"); 6410}); 6411 6412$(document).on('click', '.mostrarModalPDFFacturalo', function (event) { 6413 6414 var planEmpresa = $(this).attr("planEmpresa"); 6415 var documentoPdf = $(this).attr("documento"); 6416 6417 $("#visorPdf").attr("src", "vistas/documentos/COMPROBANTE_PAGOS/" + atob(planEmpresa) + "/" + atob(documentoPdf)); 6418 $("#descargar-documento").attr("src", "vistas/documentos/COMPROBANTE_PAGOS/" + atob(planEmpresa) + "/" + atob(documentoPdf)); 6419 6420 6421 $("#modalVisorPDF").modal("show"); 6422}); 6423 6424$(document).on('click', '#descargar-documento', function (event) { 6425 var link = $(this).attr("src"); 6426 descargarLink(link, "comprobante.pdf"); 6427 6428}); 6429 6430$(document).on("click", ".mostrarContentPagoContable", function () { 6431 $("#modalContentPagoContable").modal("show"); 6432 let documento = atob($(this).attr("documento")); 6433 let extension = documento.split('.').pop(); 6434 if (extension != "pdf") { 6435 $("#pdfContentPago").hide(); 6436 $("#imgContentPago").show(); 6437 $("#imgContentPago").attr("src", documento); 6438 } else { 6439 $("#imgContentPago").hide() 6440 $("#pdfContentPago").show(); 6441 $("#pdfContentPago").attr("src", documento); 6442 } 6443}) 6444 6445$(document).on('click', '.mostrarModalImgContamatic', function (event) { 6446 6447 var planEmpresa = $(this).attr("planEmpresa"); 6448 var documentoImg = $(this).attr("documento"); 6449 6450 $("#visorImagen").attr("src", "https://empresarial.contamatic.ec/sistema/" + atob(documentoImg)); 6451 $("#modalVisorIMG").modal("show"); 6452}); 6453 6454$(document).on('click', '.verDocumentoPago', function (event) { 6455 6456 6457 var keyDocumento = $(this).attr("documento"); 6458 var tipoDocumento = $(this).attr("tipo"); 6459 var link = "drive/imprimir.php?key=" + keyDocumento + "&tipo=" + tipoDocumento; 6460 6461 window.open( 6462 link, 6463 "Documento", 6464 "width=800,height=700,toolbar=no,location=no,menubar=no,zoom=50" 6465 ); 6466}); 6467 6468 6469$(document).on("click", "#btnDescargarReporte", async function () { 6470 // Actualizar los valores de datatableSolicitudes y datatableTipoEstado 6471 var tipo = $("#filtrar_tipo_solicitud").val(); 6472 var estado = $("#filtrar_tipo_estado").val(); 6473 6474 window.open("RideSRI/libs/documentosticket/reporteExcel-FirmaElectronica.php?tipoSolicitud=" + tipo + "&tipoEstado=" + estado, "_blank"); 6475}); 6476 6477function descargarLink(uri, name) { 6478 var link = document.createElement("a");
6479 link.download = name; 6480 link.href = uri; 6481 link.click(); 6482} 6483 6484 6485$(document).on("click", ".btnEliminarComprobantePlan", function () { 6486 const parametrosURL = new URLSearchParams(window.location.search); 6487 6488 var codplan = $(this).attr("plan"); 6489 var planEmpresa = $(this).attr("planEmpresa"); 6490 var documento = $(this).attr("documento"); 6491 var sistema = $(this).attr("sistema"); 6492 6493 var datos = new FormData(); 6494 6495 datos.append("eliminarComprobantePago", true); 6496 datos.append("codPlan", codplan); 6497 datos.append("codPlanEmpresa", planEmpresa); 6498 datos.append("documento", documento); 6499 datos.append("sistema", sistema); 6500 6501 6502 6503 swal({ 6504 title: '¿Está seguro de eliminar el comprobante de pago?', 6505 text: "¡Si no lo está puede cancelar la accÃón!", 6506 type: 'warning', 6507 showCancelButton: true, 6508 confirmButtonColor: '#3085d6', 6509 cancelButtonColor: '#d33', 6510 cancelButtonText: 'Cancelar', 6511 confirmButtonText: 'Si, eliminar comprobante!' 6512 }).then(function (result) { 6513 6514 if (result.value) { 6515 6516 $.ajax({ 6517 url: "ajax/empresas.ajax.php", 6518 type: "POST", 6519 data: datos, 6520 cache: false, 6521 contentType: false, 6522 processData: false, 6523 6524 6525 success: function (respuesta) { 6526 var respuesta = JSON.parse(respuesta); 6527 if (respuesta.operacion) { 6528 toastr.success('Comprobante eliminado con éxito'); 6529 } else { 6530 toastr.info('Error al generar eliminar comprobante, contacte con el administrador!'); 6531 } 6532 $('.tablaHistorialPlanes').DataTable().ajax.reload(); 6533 } 6534 }) 6535 6536 } 6537 6538 }) 6539}) 6540 6541 6542$("#razon").change(function () { 6543 6544 $("#nombreComercial").val($(this).val()); 6545 6546 6547}); 6548 6549 6550 6551/*=============================================================================== 6552 MODIFICAR PLAN PREPAGO 6553=================================================================================*/ 6554 6555var documentosPrepago = 0; 6556var planSeleccionado = ""; 6557 6558async function TotalDocumentosImprenta(nombre) { 6559 6560 try { 6561 6562 let parametros = new FormData(); 6563 parametros.append("validarPlanUsuario", true); 6564 6565 const resultado = await fetch("ajax/usuarios.ajax.php", { 6566 method: 'POST', 6567 body: parametros 6568 }); 6569 const datos = resultado.json(); 6570 return datos; 6571 6572 } catch (error) { 6573 throw error; 6574 } 6575} 6576 6577async function ModificarDocumentosPlan(cantidad, plan) { 6578 6579 try { 6580 6581 let parametros = new FormData(); 6582 parametros.append("cantidad", cantidad); 6583 parametros.append("detalleplan", plan); 6584 parametros.append("modificarPlanEmpresa", true); 6585 6586 const resultado = await fetch("ajax/empresas.ajax.php", { 6587 method: 'POST', 6588 body: parametros 6589 }); 6590 const datos = resultado.json(); 6591 return datos; 6592 6593 } catch (error) { 6594 throw error; 6595 } 6596} 6597 6598 6599 6600$(document).on("click", ".btnModificarPlanEmpresa", async function () { 6601 6602 var empresaplan = $(this).attr("codempresaplan"); 6603 planSeleccionado = $(this).attr("coddetalleplan"); 6604 6605 let respuesta = await TotalDocumentosImprenta(); 6606 documentosPrepago = parseInt(respuesta.cantidad); 6607 $("#modalModificarPlan").modal("show"); 6608}); 6609 6610 6611$('#codigoModificarPlan').on('keyup paste', function (e) { 6612 6613 var campo = $(this).val(); 6614 campo = campo >= 0 && campo != "" ? campo : 0; 6615 6616 if (parseInt(documentosPrepago) >= campo) { 6617 6618 $("#mensaje-agregardocumentos").show(); 6619 $("#mensaje-agregardocumentos").addClass("badge-info"); 6620 $("#mensaje-agregardocumentos").removeClass("badge-danger"); 6621 $("#mensaje-agregardocumentos").text("Documentos restantes de su Plan Prepago: " + (documentosPrepago - campo)); 6622 6623 } else { 6624 6625 $("#mensaje-agregardocumentos").show(); 6626 $("#mensaje-agregardocumentos").removeClass("badge-info"); 6627 $("#mensaje-agregardocumentos").addClass("badge-danger"); 6628 $("#mensaje-agregardocumentos").text("La cantidad indicada sobrepasa el total de documentos electrónicos de su Plan Prepago"); 6629 } 6630 6631}); 6632 6633 6634$(document).on("click", "#btnModificarPlan", async function () { 6635 6636 var cantidad = $("#codigoModificarPlan").val(); 6637 if (cantidad < 0) { 6638 toastr.info("La cantidad de documentos es incorrecta"); 6639 return; 6640 } 6641 6642 let respuesta = await ModificarDocumentosPlan(cantidad, planSeleccionado); 6643 const datos = respuesta; 6644 6645 if (!respuesta.estado) { 6646 toastr.error(respuesta.mensaje); 6647 return; 6648 } 6649 6650 6651 6652 toastr.success(respuesta.mensaje); 6653 $("#codigoModificarPlan").val(""); 6654 $("#modalModificarPlan").modal("hide"); 6655 //$('.tablaEmpresa').DataTable().ajax.reload() 6656 6657 setTimeout(() => { 6658 window.location = "empresas"; 6659 }, 1000); 6660 6661}); 6662 6663 6664 6665 6666 6667 6668 6669 6670if (window.location.href.indexOf("crearEmpresa") > -1) { 6671 6672 const razonEmpresa = document.querySelector("#razon"); 6673 const nombreComercialEmpresa = document.querySelector("#nombreComercial"); 6674 const nombreMostrarEmpresa = document.querySelector("#nombreMostrar"); 6675 const nombreCiudadEmpresa = document.querySelector("#ciudad"); 6676 const nombreDireccionEmpresa = document.querySelector("#direccion"); 6677 6678 const telefonoEmpresa = document.querySelector("#telefono1"); 6679 const emailEmpresa = document.querySelector("#emailEmpresa"); 6680 const codigoEmpresa = document.querySelector("#codigoArtesal"); 6681 const docRepresentanteEmpresa = document.querySelector("#identificacionUsuarioEmpresa"); 6682 const nombreRepresentanteEmpresa = document.querySelector("#nombresUsuarioEmpresa"); 6683 6684 const nombreUsuarioEmpresa = document.querySelector("#nombresUsuarioEmpresa"); 6685 const emailUsuarioEmpresa = document.querySelector("#emailEmpresa"); 6686 const aliasUsuarioEmpresa = document.querySelector("#usuarioEmpresa"); 6687 const passUsuarioEmpresa = document.querySelector("#passwordCodificar"); 6688 6689 6690 6691 6692 razonEmpresa.addEventListener("input", (e) => { 6693 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 6694 }); 6695 nombreComercialEmpresa.addEventListener("input", (e) => { 6696 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 6697 }); 6698 nombreMostrarEmpresa.addEventListener("input", (e) => { 6699 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 6700 }); 6701 nombreCiudadEmpresa.addEventListener("input", (e) => { 6702 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 6703 }); 6704 nombreDireccionEmpresa.addEventListener("input", (e) => { 6705 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 6706 }); 6707 emailEmpresa.addEventListener("input", (e) => { 6708 e.target.value = e.target.value.replace(/['" %)(=?¿&]+/g, ''); 6709 });
6710 codigoEmpresa.addEventListener("input", (e) => { 6711 e.target.value = e.target.value.replace(/['"&%]+/g, ''); 6712 }); 6713 docRepresentanteEmpresa.addEventListener("input", (e) => { 6714 e.target.value = e.target.value.replace(/['" &%?¿]+/g, ''); 6715 }); 6716 nombreRepresentanteEmpresa.addEventListener("input", (e) => { 6717 e.target.value = e.target.value.replace(/['"&%?¿]+/g, ''); 6718 }); 6719 nombreUsuarioEmpresa.addEventListener("input", (e) => { 6720 e.target.value = e.target.value.replace(/['"%)(=?¿&]+/g, ''); 6721 }); 6722 emailUsuarioEmpresa.addEventListener("input", (e) => { 6723 e.target.value = e.target.value.replace(/['" %)(=?¿&]+/g, ''); 6724 }); 6725 6726 6727 6728 aliasUsuarioEmpresa.addEventListener("input", (e) => { 6729 e.target.value = e.target.value.replace(/['" %)(=?¿&`?¿!¡{}<>]+/g, ''); 6730 }); 6731 passwordCodificar.addEventListener("input", (e) => { 6732 e.target.value = e.target.value.replace(/['" %)(=?¿&`?¿!¡{}<>]+/g, ''); 6733 }); 6734 6735 6736 document.getElementById('valorcomprobante').addEventListener('blur', function (e) { 6737 let value = e.target.value; 6738 value = value.replace(',', '.'); 6739 6740 let number = parseFloat(value); 6741 6742 if (!isNaN(number)) { 6743 e.target.value = number.toFixed(2); 6744 } 6745 6746 let valorComprobante = $(this).val() || '0.00'; 6747 6748 document.getElementById('valor_facturar').innerHTML = '$' + valorComprobante; 6749 let valor_facturar = parseFloat(this.value); 6750 var precioContador = parseFloat(document.getElementById('valor_certificado').textContent.replace('$', '').replace(',', '')); 6751 6752 const valorFacturarNum = parseFloat(valor_facturar); 6753 const precioContadorNum = parseFloat(precioContador); 6754 if (valorFacturarNum < precioContadorNum) { 6755 document.getElementById('valorcomprobante').value = ""; 6756 document.getElementById('valor_facturar').innerHTML = "$0.00"; 6757 toastr.info("El valor a facturar no puede ser menor al precio contador.", "Importante", { timeOut: 3000 }); 6758 return; 6759 } 6760 6761 6762 let comision = valor_facturar - precioContador; 6763 document.getElementById('comision').value = comision.toFixed(2); 6764 document.getElementById('contador').value = precioContador.toFixed(2); 6765 document.getElementById('publico').value = valor_facturar.toFixed(2); 6766 }); 6767 6768 6769 $(document).on("change", "#valorpago_solicitudSJ", async function () { 6770 document.getElementById('valor_facturar').innerHTML = '$' + $(this).val(); 6771 }); 6772 6773 $(document).on("click", ".seleccionPlanFacturacion", function (e) { 6774 let numeroDocumentos = $(this).attr("data-documentos"); 6775 let referencia = $(this).attr("referencia"); 6776 let codigoPlan = $(this).attr("codigoPlan"); 6777 $('.seleccionPlanFacturacion').prop("style", "border:1px solid #ccc"); 6778 $(this).prop("style", "border:3px solid #70a3ff"); 6779 document.getElementById('seleccionPlanNormal').value = numeroDocumentos; 6780 document.getElementById('codigoPlan').value = numeroDocumentos; 6781 document.getElementById('idPlanSeleccionado').value = codigoPlan; 6782 // asignar nombre plan y precio contador 6783 const nombreplan = $(this).find(".nombrePlan").text(); 6784 let precioContador = $(this).find("#precioContador").text(); 6785 document.getElementById('valor_certificado').innerHTML = "$" + precioContador; 6786 document.getElementById('observacioncomprobante').value = "PLAN" + ' ' + nombreplan; 6787 document.getElementById('numdocumento').value = numeroDocumentos; 6788 document.getElementById('nombreplan').value = nombreplan; 6789 document.getElementById('referenciaPlan').value = referencia; 6790 if (referencia.trim() == "GRATUITO-ANUAL") { 6791 llenarValoresDefectoPlanGratis(); 6792 $("#contenedorDiasPrueba").hide(); 6793 $("#diasPrueba").val(""); 6794 } else if (referencia.trim() == "PLAN PRUEBAS ILIMITADO") { 6795 resetearValoresPagoPlan(); 6796 $("#contenedorDiasPrueba").show(); 6797 } else { 6798 resetearValoresPagoPlan(); 6799 $("#contenedorDiasPrueba").hide(); 6800 $("#diasPrueba").val(""); 6801 } 6802 }); 6803 6804 $(document).on("click", ".seleccionPlanFacturacionVendeFacil", function (e) { 6805 let valor = $(this).attr("data-doc"); 6806 $('.seleccionPlanFacturacionVendeFacil').prop("style", "border:1px solid #ccc"); 6807 $(this).prop("style", "border:3px solid #70a3ff"); 6808 document.getElementById('seleccionPlanNormal').value = valor; 6809 document.getElementById('codigoPlan').value = valor; 6810 6811 const tipoplan = $("#tipoPlanEmpresa").val().toUpperCase(); 6812 const documentos = $(this).find(".documentos").text(); 6813 const nombreplan = $(this).find(".nombrePlan").text(); 6814 var precioContador = $(this).find("#precioContador").text(); 6815 document.getElementById('valor_certificado').innerHTML = "$" + precioContador; 6816 document.getElementById('observacioncomprobante').value = "PLAN" + ' ' + nombreplan + ' - ' + documentos; 6817 }); 6818 6819 6820 function selecionFacturero(tipoSistema) {
6821 const tipoSistemaAnterior = document.getElementById('tipoSistema').value; 6822 document.getElementById('tipoSistema').value = tipoSistema; 6823 6824 document.getElementById('btnFacturero').classList.remove('active'); 6825 document.getElementById('btnFacturalo').classList.remove('active'); 6826 6827 if (tipoSistemaAnterior !== tipoSistema) { 6828 limpiarPlanSeleccionado(); 6829 } 6830 6831 if (tipoSistema === 'facturero') { 6832 document.getElementById('btnFacturero').classList.add('active'); 6833 consultarlistadoPlanesFacturacionElectronica(); 6834 } else { 6835 document.getElementById('btnFacturalo').classList.add('active'); 6836 consultarListadoPlanesFacturalo(); 6837 } 6838 } 6839 6840 function limpiarPlanSeleccionado() { 6841 document.getElementById('seleccionPlanNormal').value = ""; 6842 document.getElementById('codigoPlan').value = ""; 6843 document.getElementById('idPlanSeleccionado').value = ""; 6844 document.getElementById('numdocumento').value = ""; 6845 document.getElementById('nombreplan').value = ""; 6846 document.getElementById('referenciaPlan').value = ""; 6847 document.getElementById('valor_certificado').innerHTML = "$0.00"; 6848 document.getElementById('observacioncomprobante').value = ""; 6849 $("#contenedorDiasPrueba").hide(); 6850 $("#diasPrueba").val(""); 6851 } 6852 6853 6854 6855 6856 document.getElementById("btnFactMisDatos").addEventListener("click", () => { 6857 const btnMisDatos = document.getElementById("btnFactMisDatos"); 6858 btnMisDatos.innerHTML = '<i class="fas fa-check-circle" style="color:#2d2e5b"></i> <b>Facturar con mis datos</b>'; 6859 btnMisDatos.style.color = "#2d2e5b"; 6860 btnMisDatos.style.border = "3px solid rgb(41, 42, 99)"; 6861 6862 6863 const btnDatosCli = document.getElementById("btnFactDatosCli"); 6864 btnDatosCli.innerHTML = '<b>Facturar con otros datos</b>'; 6865 btnDatosCli.style.color = "#292a63"; 6866 btnDatosCli.style.border = "3px solid rgb(41, 42, 99)"; 6867 6868 $("#misDatos").show(); 6869 $("#datosCliente").hide(); 6870 document.getElementById("seleccionarDatosFacturar").value = 1; 6871 document.getElementById("facturarEmpresaMisDatos").value = 1; 6872 }); 6873 6874 document.getElementById("btnFactDatosCli").addEventListener("click", () => { 6875 6876 const btnMisDatos = document.getElementById("btnFactMisDatos"); 6877 btnMisDatos.innerHTML = '<b>Facturar con mis datos</b>'; 6878 btnMisDatos.style.color = "#292a63"; 6879 btnMisDatos.style.border = "3px solid rgb(41, 42, 99)"; 6880 6881 6882 const btnDatosCli = document.getElementById("btnFactDatosCli"); 6883 btnDatosCli.innerHTML = '<i class="fas fa-check-circle" style="color:#2d2e5b"></i> <b>Facturar con otros datos</b>'; 6884 btnDatosCli.style.color = "#2d2e5b"; 6885 btnDatosCli.style.border = "3px solid rgb(41, 42, 99)"; 6886 6887 $("#misDatos").hide(); 6888 $("#datosCliente").show(); 6889 document.getElementById("seleccionarDatosFacturar").value = 1; 6890 document.getElementById("facturarEmpresaMisDatos").value = 2; 6891 }); 6892 6893 document.getElementById('ruc').addEventListener('input', function () { 6894 document.getElementById('identificacion_cliente').value = this.value; 6895 }); 6896 document.getElementById('razon').addEventListener('input', function () { 6897 document.getElementById('nombre_cliente').value = this.value; 6898 }); 6899 6900 document.getElementById('direccion').addEventListener('input', function () { 6901 document.getElementById('direccion_cliente').value = this.value; 6902 }); 6903 6904 document.getElementById('telefono1').addEventListener('input', function () { 6905 document.getElementById('telefono_cliente').value = this.value; 6906 }); 6907 document.getElementById('emailEmpresa').addEventListener('input', function () { 6908 document.getElementById('correo_cliente').value = this.value; 6909 }); 6910 6911 document.addEventListener('DOMContentLoaded', async function () { 6912 selecionFacturero('facturero'); 6913 }) 6914 6915 async function consultarlistadoPlanesFacturacionElectronica() { 6916 try { 6917 let parametros = new FormData(); 6918 parametros.append("getPlanesFactureroElectronico", true) 6919 parametros.append("codigoUsuario", $("#codigoUsuario").val()) 6920 const response = await fetch("ajax/empresas.ajax.php", { 6921 method: "POST", 6922 body: parametros 6923 }); 6924 if (!response.ok) throw new Error("Error en la solicitud."); 6925 6926 const json = await response.json(); 6927 if (json.operacion == false) throw new Error(json.message); 6928 6929 const contenedorPlanesFactureroElectronico = document.getElementById("contenedorPlanesFactureroElectronico"); 6930 const contenedorPlanesFacturalo = document.getElementById("contenedorPlanesFacturalo"); 6931 const contenedorVerPlanes = document.getElementById("contenedorVerPlanes"); 6932 6933 6934 contenedorPlanesFactureroElectronico.innerHTML = ""; 6935 contenedorPlanesFacturalo.innerHTML = ""; 6936 contenedorVerPlanes.innerHTML = ""; 6937 6938 6939 6940 contenedorPlanesFactureroElectronico.removeAttribute("hidden"); 6941 contenedorPlanesFacturalo.setAttribute("hidden", true); 6942 6943 6944 json.datos.forEach((currentPlan, index) => { 6945 6946 let templatePrecio = currentPlan.REF_EMP == "GRATUITO-ANUAL" ? `Criterio - Contador: <b>$</b><b id="precioPublico" hidden>5.00</b> <b>0.00 , $5.00 o $10.00</b>` : `<b>$</b><b id="precioPublico">${currentPlan.PREC_PUBLICO}</b>`; 6947 6948 let plantillaPlanGratis = currentPlan.NOM_PLAN == "NORMAL" ? `<div id="planGratuitoContador"></div>` : ''; 6949 contenedorPlanesFactureroElectronico.insertAdjacentHTML("beforeend", ` 6950 <div class="opcioneContables seleccionPlanFacturacion" codigoPlan="${currentPlan.COD_PLAN}" data-documentos="${currentPlan.DOC_PLAN}" referencia="${currentPlan.REF_EMP}"> 6951 <div class="title d-flex align-items-center justify-content-between"> 6952 <div class="nombre-centrada"> 6953 <p class="nombrePlan text-center m-0">${currentPlan.NOM_PLAN} | ${currentPlan.DESC_PLAN}</p> 6954 </div> 6955 <div class="precios text-end"> 6956 <div>Precio Público:<b>${templatePrecio}</b></div> 6957 <div>Precio Contador: <b>$</b><b id="precioContador">${currentPlan.PREC_CONTADOR}</b></div> 6958 </div> 6959 </div> 6960 </div> ${plantillaPlanGratis}`); 6961 6962 if (currentPlan.REF_EMP != "GRATUITO-ANUAL") { 6963 contenedorVerPlanes.insertAdjacentHTML("beforeend", ` 6964 <li class="list-group-item flex-column align-items-start"> 6965 <div class="d-flex w-100 justify-content-between"> 6966 <h5 class="mb-1">${currentPlan.NOM_PLAN}</h5>
6967 <span class="badge badge-info badge-pill" style="font-weight:bold; font-size:0.8rem">$${currentPlan.PREC_PUBLICO}</span> 6968 </div> 6969 <small>${currentPlan.DESC_PLAN}</small> 6970 </li> 6971 `); 6972 } 6973 6974 }); 6975 6976 } catch (err) { 6977 console.error(err); 6978 toastr.error(`${err.message}`); 6979 } 6980 } 6981 6982 async function consultarListadoPlanesFacturalo() { 6983 try { 6984 let parametros = new FormData(); 6985 parametros.append("getPlanesFacturalo", true) 6986 parametros.append("codigoUsuario", $("#codigoUsuario").val()) 6987 const response = await fetch("ajax/empresas.ajax.php", { 6988 method: "POST", 6989 body: parametros 6990 }); 6991 if (!response.ok) throw new Error("Error en la solicitud."); 6992 6993 const json = await response.json(); 6994 6995 if (json.operacion == false) throw new Error(json.message); 6996 const contenedorPlanesFacturalo = document.getElementById("contenedorPlanesFacturalo"); 6997 const contenedorPlanesFactureroElectronico = document.getElementById("contenedorPlanesFactureroElectronico"); 6998 const contenedorVerPlanes = document.getElementById("contenedorVerPlanes"); 6999 7000 contenedorPlanesFactureroElectronico.innerHTML = ""; 7001 contenedorPlanesFacturalo.innerHTML = ""; 7002 contenedorVerPlanes.innerHTML = ""; 7003 7004 7005 contenedorPlanesFacturalo.removeAttribute("hidden"); 7006 contenedorPlanesFactureroElectronico.setAttribute("hidden", true); 7007 7008 7009 json.datos.forEach((currentPlan, index) => { 7010 7011 let templatePrecio = currentPlan.REF_EMP == "GRATUITO-ANUAL" ? `Criterio - Contador: <b>$</b><b id="precioPublico" hidden>5.00</b> <b>0.00 , $5.00 o $10.00</b>` : `<b>$</b><b id="precioPublico">${currentPlan.PREC_PUBLICO}</b>`; 7012 7013 contenedorPlanesFacturalo.insertAdjacentHTML("beforeend", ` 7014 <div class="opcioneContables seleccionPlanFacturacion" codigoPlan="${currentPlan.COD_PLAN}" data-documentos="${currentPlan.DOC_PLAN}" referencia="${currentPlan.REF_EMP}"> 7015 <div class="title d-flex align-items-center justify-content-between"> 7016 <div class="nombre-centrada"> 7017 <p class="nombrePlan text-center m-0">${currentPlan.NOM_PLAN} | ${currentPlan.DESC_PLAN}</p> 7018 </div> 7019 <div class="precios text-end"> 7020 <div>Precio Público:<b>${templatePrecio}</b></div> 7021 <div>Precio Contador: <b>$</b><b id="precioContador">${currentPlan.PREC_CONTADOR}</b></div> 7022 </div> 7023 </div> 7024 </div>`); 7025 7026 if (currentPlan.REF_EMP != "GRATUITO-ANUAL") { 7027 contenedorVerPlanes.insertAdjacentHTML("beforeend", ` 7028 <li class="list-group-item flex-column align-items-start"> 7029 <div class="d-flex w-100 justify-content-between"> 7030 <h5 class="mb-1">${currentPlan.NOM_PLAN}</h5> 7031 <span class="badge badge-info badge-pill" style="font-weight:bold; font-size:0.8rem">$${currentPlan.PREC_PUBLICO}</span> 7032 </div> 7033 <small>${currentPlan.DESC_PLAN}</small> 7034 </li> 7035 `); 7036 } 7037 7038 }); 7039 7040 } catch (err) { 7041 console.error(err); 7042 toastr.error(`${err.message}`); 7043 } 7044 } 7045 7046 7047 7048 7049 $(document).on("click", "#video_firma1", function (e) { 7050 const drivePreviewUrl = "https://drive.google.com/file/d/1zjlG_sRDxj1a-Na4kI8HSvaTqPgiVxA-/preview"; 7051 playVideo(drivePreviewUrl, e.currentTarget); 7052 }); 7053 7054 function playVideo(videoUrl, element) { 7055 const videoPlayer = document.getElementById("videoPlayer"); 7056 videoPlayer.innerHTML = ` 7057 <iframe src="${videoUrl}" width="100%" height="200" allow="autoplay" frameborder="0" allowfullscreen></iframe> 7058 `; 7059 7060 videoPlayer.style.paddingBottom = "56.25%"; 7061 7062 const videoItems = document.getElementsByClassName("videoItem"); 7063 for (let i = 0; i < videoItems.length; i++) { 7064 if (videoItems[i] !== element) { 7065 videoItems[i].style.paddingBottom = ""; 7066 } 7067 } 7068 } 7069 7070 7071 7072 7073 $(document).on("input", ".validarPlanRuc", async function () { 7074 if (this.value.substring(0, 10) == $("#identificacionUsuario").val().substring(0, 10)) {
7075 try { 7076 let parametros = new FormData(); 7077 parametros.append("getPlanesPorTipoFacturero", true) 7078 parametros.append("tipoPlan", "promocion") 7079 const response = await fetch("ajax/empresas.ajax.php", { 7080 method: "POST", 7081 body: parametros 7082 }); 7083 if (!response.ok) throw new Error("Error en la solicitud."); 7084 7085 const json = await response.json(); 7086 //verificar y listar los planes como se debe 7087 if (json.operacion == false) throw new Error(json.message); 7088 if (document.getElementById("planGratuitoContador")) { 7089 $("#planGratuitoContador").html(''); 7090 json.datos.forEach((currentPlan, index) => { 7091 document.getElementById("planGratuitoContador").insertAdjacentHTML("beforeend", ` 7092 <div class="custom-option seleccionPlanFacturacion" style="border: 1px solid rgb(204, 204, 204);" codigoPlan="${currentPlan.COD_PLAN}" data-documentos="${currentPlan.DOC_PLAN}" referencia="${currentPlan.REF_EMP}"> 7093 <div class="text-success d-flex"><p class="nombrePlan">${currentPlan.NOM_PLAN}</p> | <p class="documentos">${currentPlan.DESC_PLAN}</p></div> 7094 <div class="title-price"> 7095 <div class="left-message">Precio Público : <b>$</b><b id="precioPublico">${currentPlan.PREC_PUBLICO}</b></div> 7096 <div class="right-message">Precio Contador : <b>$</b><b id="precioContador">${currentPlan.PREC_CONTADOR}</b></div> 7097 </div> 7098 </div>`); 7099 }); 7100 } 7101 } catch (error) { 7102 console.error(err); 7103 toastr.error(`${err.message}`); 7104 } 7105 } else { 7106 $("#planGratuitoContador").html(''); 7107 } 7108 }); 7109} 7110 7111function llenarValoresDefectoPlanGratis() { 7112 let fechaActual = obtenerFechaActual(); 7113 $("#fechacomprobante").val(fechaActual); 7114 $("#valorcomprobante").val(0); 7115 $("#bancopago_solicitudSJ").val("1"); 7116 $("#numeropago_solicitudSJ").val("0"); 7117 // $("#contenedorPagoPlan").hide(); 7118 $("#btnFactMisDatos").trigger("click"); 7119 $("#aceptarCondiciones").prop("checked", true); 7120} 7121 7122function resetearValoresPagoPlan() { 7123 $("#valorcomprobante").val(""); 7124 $("#bancopago_solicitudSJ").val(""); 7125 $("#numeropago_solicitudSJ").val(""); 7126 // $("#contenedorPagoPlan").show(); 7127 $("#aceptarCondiciones").prop("checked", false); 7128} 7129 7130function obtenerFechaActual() { 7131 const fechaActual = new Date(); 7132 const anio = fechaActual.getFullYear(); 7133 const mes = String(fechaActual.getMonth() + 1).padStart(2, '0'); // Asegura que el mes tenga 2 dÃgitos 7134 const dia = String(fechaActual.getDate()).padStart(2, '0'); // Asegura que el dÃa tenga 2 dÃgitos 7135 const horas = String(fechaActual.getHours()).padStart(2, '0'); // Asegura que las horas tengan 2 dÃgitos 7136 const minutos = String(fechaActual.getMinutes()).padStart(2, '0'); // Asegura que los minutos tengan 2 dÃgitos 7137 const segundos = String(fechaActual.getSeconds()).padStart(2, '0'); // Asegura que los segundos tengan 2 dÃgitos 7138 const fechaHoraFormateada = `${anio}-${mes}-${dia} ${horas}:${minutos}:${segundos}`; 7139 return fechaHoraFormateada; 7140} 7141 7142if (window.location.href.indexOf("crear-empresa-contable") > -1) { 7143 const razonEmpresa = document.querySelector("#razon"); 7144 const nombreComercialEmpresa = document.querySelector("#nombreComercial"); 7145 const nombreMostrarEmpresa = document.querySelector("#nombreMostrar"); 7146 const nombreCiudadEmpresa = document.querySelector("#ciudad"); 7147 const nombreDireccionEmpresa = document.querySelector("#direccion"); 7148 const emailEmpresa = document.querySelector("#emailEmpresa"); 7149 const codigoEmpresa = document.querySelector("#codigoArtesal"); 7150 const docRepresentanteEmpresa = document.querySelector("#idRepresentante"); 7151 const nombreRepresentanteEmpresa = document.querySelector("#nombreRepresentante"); 7152 const aliasUsuarioEmpresa = document.querySelector("#usuarioEmpresa"); 7153 const passUsuarioEmpresa = document.querySelector("#passwordCodificar"); 7154 7155 razonEmpresa.addEventListener("input", (e) => { 7156 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 7157 }); 7158 nombreComercialEmpresa.addEventListener("input", (e) => { 7159 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 7160 }); 7161 nombreMostrarEmpresa.addEventListener("input", (e) => { 7162 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 7163 }); 7164 nombreCiudadEmpresa.addEventListener("input", (e) => { 7165 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 7166 }); 7167 nombreDireccionEmpresa.addEventListener("input", (e) => { 7168 e.target.value = e.target.value.replace(/['"&%`?¿!¡{}<>]+/g, ''); 7169 }); 7170 emailEmpresa.addEventListener("input", (e) => { 7171 e.target.value = e.target.value.replace(/['" %)(=?¿&]+/g, ''); 7172 });
7173 codigoEmpresa.addEventListener("input", (e) => { 7174 e.target.value = e.target.value.replace(/['"&%]+/g, ''); 7175 }); 7176 docRepresentanteEmpresa.addEventListener("input", (e) => { 7177 e.target.value = e.target.value.replace(/['" &%?¿]+/g, ''); 7178 }); 7179 nombreRepresentanteEmpresa.addEventListener("input", (e) => { 7180 e.target.value = e.target.value.replace(/['"&%?¿]+/g, ''); 7181 }); 7182 7183 aliasUsuarioEmpresa.addEventListener("input", (e) => { 7184 e.target.value = e.target.value.replace(/['" %)(=?¿&@`?¿.,!¡{}<>]+/g, ''); 7185 }); 7186 passUsuarioEmpresa.addEventListener("input", (e) => { 7187 e.target.value = e.target.value.replace(/['" %)(=?¿&@`?¿.,!¡{}<>]+/g, ''); 7188 }); 7189 7190 $(document).on('input', '.requerircamponumerico', function () { 7191 this.value = this.value.replace(/[^0-9,.]+/g, ''); 7192 }); 7193 7194 $(document).on("input", '#razon', function () { 7195 if ($(this).val().length >= 280) { 7196 $(this).val($(this).val().substr(0, 280)); 7197 } 7198 }); 7199 7200 $(document).on("input", '#nombreComercial', function () { 7201 if ($(this).val().length >= 280) { 7202 $(this).val($(this).val().substr(0, 280)); 7203 } 7204 }); 7205 $(document).on("input", '#nombreMostrar', function () { 7206 if ($(this).val().length >= 280) { 7207 $(this).val($(this).val().substr(0, 280)); 7208 } 7209 }); 7210 7211 $(document).on("input", '#ciudad', function () { 7212 if ($(this).val().length >= 280) { 7213 $(this).val($(this).val().substr(0, 280)); 7214 } 7215 }); 7216 7217 $(document).on("input", '#direccion', function () { 7218 if ($(this).val().length >= 280) { 7219 $(this).val($(this).val().substr(0, 280)); 7220 } 7221 }); 7222 7223 $(document).on("input", '#usuarioEmpresa', function () { 7224 if ($(this).val().length >= 20) { 7225 $(this).val($(this).val().substr(0, 20)); 7226 } 7227 }); 7228 7229 $(document).on("input", '#passwordCodificar', function () { 7230 if ($(this).val().length >= 20) { 7231 $(this).val($(this).val().substr(0, 20)); 7232 } 7233 }); 7234 7235 document.addEventListener('DOMContentLoaded', async function () { 7236 $("#tipoPlanEmpresaContable").val("anual"); 7237 $("#tipoPlanEmpresaContable").trigger("change"); 7238 }) 7239 7240 7241 $(document).on("change", "#tipoPlanEmpresaContable", async function () { 7242 let tipoPlan = $(this).val().toLowerCase(); 7243 listarPlanesEnSelect(tipoPlan); 7244 }); 7245 let documentos = ''; 7246 let tipoplan = ''; 7247 let precio = ''; 7248 7249 $(document).on("click", ".seleccionContable", function (e) { 7250 let planEmpresa = document.getElementById('tipoPlanEmpresaContable').value; 7251 let precio = $(this).attr("data-precioPublico"); 7252 let precioContador = $(this).attr("data-preciocontador"); 7253 let esgratuito = $(this).attr("data-esGratuito"); 7254 let idPlan = $(this).attr("data-idPlan"); 7255 let ilimitado = $(this).attr("data-ilimitado"); 7256 tipoplan = $(this).attr("data-nombrePlan"); 7257 numeroDocumentos = $(this).attr("data-documentos"); 7258 if (tipoplan === 'PLAN GRATUITO') { 7259 let parametros = new FormData(); 7260 parametros.append("obtenerUsoPlanGratuito", true); 7261 parametros.append("nombre", 'PLAN GRATUITO'); 7262 try { 7263 $.ajax({ 7264 url: "ajax/empresa-contamatic.ajax.php", 7265 type: "POST", 7266 data: parametros, 7267 cache: false, 7268 contentType: false, 7269 processData: false, 7270 dataType: "json", 7271 7272 success: function (respuesta) { 7273 if (respuesta.length > 0) { 7274 return toastr.warning("Ya utilizo el plan gratuito, seleccione otro plan"); 7275 } 7276 } 7277 }); 7278 } catch (error) { 7279 console.log(error); 7280 toastr.error('Hubo un problema al obtener la información del perfil'); 7281 } 7282 } 7283 $("#montoContrato").val(precio); 7284 7285 documentos = Number(ilimitado) == 1 ? "ILIMITADOS DOCUMENTOS" : numeroDocumentos + " DOCUMENTOS"; 7286 7287 $("#esGratuito").val(esgratuito); 7288 $("#idPlanEmpresa").val(idPlan); 7289 $("#ilimitado").val(ilimitado); 7290 let valor_certificado = 0; 7291 if (planEmpresa == 'mensual') { 7292 valor_certificado = precio; 7293 } else { 7294 valor_certificado = (precio / 2).toFixed(2); 7295 if (tipoplan.trim() === ".PRO") { 7296 valor_certificado = 97.54 7297 } else if (tipoplan === 'PLAN CONTADOR') { 7298 valor_certificado = precioContador; 7299 } 7300 } 7301 7302 if (parseInt(esgratuito) == 1) { 7303 $("#mensaje-info-gratuito").show(); 7304 $("#contenedorRolEmpresa").show(); 7305 } else { 7306 $("#mensaje-info-gratuito").hide(); 7307 $("#contenedorRolEmpresa").hide(); 7308 } 7309 7310 $('.seleccionContable').prop("style", "border:1px solid #ccc"); 7311 $(this).prop("style", "border:3px solid #292a63; background-color: #292a6317"); 7312 7313 document.getElementById('valor_certificado').innerHTML = "$" + valor_certificado; 7314 actualizarObservacion(); 7315 $("#seleccionPlanEmpresa").val(numeroDocumentos); 7316 }); 7317 7318 async function listarPlanesEnSelect(tipoPlan) { 7319 let planesContable = await obtenerPlanesContable(tipoPlan); 7320 if (!planesContable.operacion) { 7321 toastr.error("No se pudo obtener el listado de planes"); 7322 return; 7323 } 7324 let selectPlan = document.getElementById("itemsPlanesDisponibles"); 7325 const contenedorVerPlanes = document.getElementById("contenedorVerPlanes");
7326 let contenidoPlanes = ""; 7327 7328 planesContable.datos.forEach(plan => { 7329 if (plan.ESTADO == 1) { 7330 let numeroDocumentos = plan.ILIMITADO == 1 ? "ILIMITADOS DOCUMENTOS" : plan.NUM_DOCU + " DOCUMENTOS"; 7331 let esGratis = plan.NOMBRE == 'PLAN GRATUITO' ? 1 : 0; 7332 let precioPublico = plan.PREC_PUB; 7333 if (plan.NOMBRE === 'PLAN CONTADOR') { 7334 precioPublico = 'No hay'; 7335 } 7336 7337 7338 if (plan.NOMBRE != "PLAN GRATUITO CONTADOR REGISTRADO") { 7339 contenidoPlanes += ` 7340 <div class="opcioneContables seleccionContable" data-idPlan="${plan.COD_PLAN}" data-nombrePlan="${plan.NOMBRE}" data-documentos="${plan.NUM_DOCU}" data-ilimitado="${plan.ILIMITADO}" data-esGratuito="${esGratis}" data-precioPublico="${plan.PREC_PUB}" data-precioContador="${plan.PREC_CONT}"> 7341 <div class="title d-flex align-items-center justify-content-between"> 7342 <div class="nombre-centrada"> 7343 <p class="nombrePlan text-center m-0">${plan.NOMBRE} | ${numeroDocumentos}</p> 7344 </div> 7345 <div class="precios text-end"> 7346 <div>Precio Público: <b>$</b><b id="precioContador">${precioPublico}</b></div> 7347 <div>Precio Contador: <b>$</b><b id="precioContador">${plan.PREC_CONT}</b></div> 7348 </div> 7349 </div> 7350 </div> `; 7351 7352 if (plan.NOMBRE != 'PLAN CONTADOR') { 7353 contenedorVerPlanes.insertAdjacentHTML("beforeend", ` 7354 <li class="list-group-item flex-column align-items-start"> 7355 <div class="d-flex w-100 justify-content-between"> 7356 <h5 class="mb-1">${plan.NOMBRE}</h5> 7357 <span class="badge badge-info badge-pill" style="font-weight:bold; font-size:0.8rem">$${precioPublico}</span> 7358 </div> 7359 <small>${numeroDocumentos}</small> 7360 </li> 7361 `); 7362 } else { 7363 contenedorVerPlanes.insertAdjacentHTML("beforeend", ` 7364 <li class="list-group-item flex-column align-items-start"> 7365 <div class="d-flex w-100 justify-content-between"> 7366 <h5 class="mb-1">${plan.NOMBRE}</h5> 7367 <span class="badge badge-info badge-pill" style="font-weight:bold; font-size:0.8rem">$123.22</span> 7368 </div> 7369 <small>${numeroDocumentos}</small> 7370 </li> 7371 `); 7372 } 7373 } 7374 } 7375 }); 7376 selectPlan.innerHTML = contenidoPlanes; 7377 7378 $("#mensaje-info-gratuito").hide(); 7379 $("#contenedorRolEmpresa").hide(); 7380 } 7381 7382 7383 $(document).on("click", "#video_firma2", function (e) { 7384 const drivePreviewUrl = "https://drive.google.com/file/d/1w8lyR1woetJ4iuVvSYhz9qMePcKReOgi/preview"; 7385 playVideo(drivePreviewUrl, e.currentTarget); 7386 }); 7387 7388 function playVideo(videoUrl, element) { 7389 const videoPlayer = document.getElementById("videoPlayer"); 7390 videoPlayer.innerHTML = ` 7391 <iframe src="${videoUrl}" width="100%" height="200" allow="autoplay" frameborder="0" allowfullscreen></iframe> 7392 `; 7393 7394 videoPlayer.style.paddingBottom = "56.25%"; 7395 7396 const videoItems = document.getElementsByClassName("videoItem"); 7397 for (let i = 0; i < videoItems.length; i++) { 7398 if (videoItems[i] !== element) { 7399 videoItems[i].style.paddingBottom = ""; 7400 } 7401 } 7402 } 7403 7404 async function obtenerPlanesContable(planType) { 7405 try { 7406 let parametros = new FormData(); 7407 parametros.append("accoutingPlan", true); 7408 parametros.append("planType", planType); 7409 let resultado = await fetch(`ajax/empresas.ajax.php`, { 7410 method: "POST", 7411 body: parametros 7412 }); 7413 let datos = await resultado.json(); 7414 return datos; 7415 } catch (error) { 7416 console.error("obtenerPlanEmpresa() :" + error); 7417 } 7418 } 7419 7420 document.getElementById("btnFactMisDatos").addEventListener("click", () => { 7421 const btnMisDatos = document.getElementById("btnFactMisDatos"); 7422 btnMisDatos.innerHTML = '<i class="fas fa-check-circle" style="color:#2d2e5b"></i> <b>Facturar con mis datos</b>'; 7423 btnMisDatos.style.color = "#2d2e5b"; 7424 btnMisDatos.style.border = "3px solid rgb(41, 42, 99)"; 7425 7426 7427 const btnDatosCli = document.getElementById("btnFactDatosCli"); 7428 btnDatosCli.innerHTML = '<b>
7428Facturar con otros datos</b>'; 7429 btnDatosCli.style.color = "#292a63"; 7430 btnDatosCli.style.border = "3px solid rgb(41, 42, 99)"; 7431 7432 $("#misDatos").show(); 7433 $("#datosCliente").hide(); 7434 document.getElementById("seleccionarDatosFacturar").value = 1; 7435 document.getElementById("facturarEmpresaMisDatos").value = 1; 7436 }); 7437 7438 document.getElementById("btnFactDatosCli").addEventListener("click", () => { 7439 7440 const btnMisDatos = document.getElementById("btnFactMisDatos"); 7441 btnMisDatos.innerHTML = '<b>Facturar con mis datos</b>'; 7442 btnMisDatos.style.color = "#292a63"; 7443 btnMisDatos.style.border = "3px solid rgb(41, 42, 99)"; 7444 7445 7446 const btnDatosCli = document.getElementById("btnFactDatosCli"); 7447 btnDatosCli.innerHTML = '<i class="fas fa-check-circle" style="color:#2d2e5b"></i> <b>Facturar con otros datos</b>'; 7448 btnDatosCli.style.color = "#2d2e5b"; 7449 btnDatosCli.style.border = "3px solid rgb(41, 42, 99)"; 7450 7451 $("#misDatos").hide(); 7452 $("#datosCliente").show(); 7453 document.getElementById("seleccionarDatosFacturar").value = 1; 7454 document.getElementById("facturarEmpresaMisDatos").value = 2; 7455 }); 7456 7457 7458 document.getElementById('ruc').addEventListener('input', function () { 7459 document.getElementById('identificacion_cliente').value = this.value; 7460 }); 7461 document.getElementById('razon').addEventListener('input', function () { 7462 document.getElementById('nombre_cliente').value = this.value; 7463 }); 7464 7465 document.getElementById('direccion').addEventListener('input', function () { 7466 document.getElementById('direccion_cliente').value = this.value; 7467 }); 7468 7469 document.getElementById('telefono1').addEventListener('input', function () { 7470 document.getElementById('telefono_cliente').value = this.value; 7471 }); 7472 document.getElementById('emailEmpresa').addEventListener('input', function () { 7473 document.getElementById('correo_cliente').value = this.value; 7474 }); 7475 7476 7477 document.getElementById('seleccionPlanEmpresa').addEventListener('change', function () { 7478 let selectedOption = this.options[this.selectedIndex]; 7479 let text = selectedOption.text; 7480 let parts = text.split('|'); 7481 let precioCompleto = parts[2].trim(); 7482 let valor_certificado = 0; 7483 tipoplan = parts[0].trim().replace(/^\./, ''); 7484 documentos = parts[1].trim(); 7485 precio = precioCompleto.split(' ')[0]; 7486 let planEmpresa = document.getElementById('tipoPlanEmpresaContable').value; 7487 if (planEmpresa == 'contabilidad') { 7488 valor_certificado = precio; 7489 } else { 7490 valor_certificado = (precio / 2).toFixed(2); 7491 if (parts[0].trim() === ".PRO") { 7492 valor_certificado = 97.54 7493 } 7494 } 7495 if (Number(selectedOption.getAttribute("esgratuito")) == 1) { 7496 $("#mensaje-info-gratuito").show(); 7497 $("#contenedorRolEmpresa").show(); 7498 } else { 7499 $("#mensaje-info-gratuito").hide(); 7500 $("#contenedorRolEmpresa").hide(); 7501 7502 } 7503 7504 document.getElementById('valor_certificado').innerHTML = "$" + valor_certificado; 7505 actualizarObservacion(); 7506 }); 7507 7508 document.getElementById('valorcomprobante').addEventListener('blur', function (e) { 7509 let value = e.target.value; 7510 value = value.replace(',', '.'); 7511 7512 let number = parseFloat(value); 7513 7514 if (!isNaN(number)) { 7515 e.target.value = number.toFixed(2); 7516 } 7517 7518 let valorComprobante = $(this).val() || '0.00'; 7519 7520 document.getElementById('valor_facturar').innerHTML = '$' + valorComprobante; 7521 let valor_facturar = parseFloat(this.value).toFixed(2); 7522 var precioContador = parseFloat(document.getElementById('valor_certificado').textContent.replace('$', '').replace(',', '')); 7523 7524 const valorFacturarNum = parseFloat(valor_facturar); 7525 const precioContadorNum = parseFloat(precioContador); 7526 if (valorFacturarNum < precioContadorNum) { 7527 document.getElementById('valorcomprobante').value = ""; 7528 document.getElementById('valor_facturar').innerHTML = "$0.00"; 7529 toastr.info("El valor a facturar no puede ser menor al precio contado.", "Importante", { timeOut: 3000 }); 7530 return; 7531 } 7532 7533 }); 7534 7535 7536 function actualizarObservacion() { 7537 let selectedPlan = document.getElementById('tipoPlanEmpresaContable').value; 7538 if (selectedPlan === 'mensual') { 7539 document.getElementById('observacioncomprobante').value = tipoplan + ' - ' + documentos; 7540 } else { 7541 document.getElementById('observacioncomprobante').value = "PLAN" + ' ' + tipoplan + ' - ' + documentos; 7542 } 7543 7544 } 7545 7546 7547} 7548 7549$(document).on("input", ".requerircampodecimal", function () { 7550 let value = this.value; 7551 value = value.replace(/[^0-9\.]+/g, ''); 7552 let firstDotIndex = value.indexOf('.'); 7553 if (firstDotIndex !== -1) { 7554 value = value.substring(0, firstDotIndex + 1) + 7555 value.substring(firstDotIndex + 1).replace(/\./g, ''); 7556 } 7557 this.value = value; 7558});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.