{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.html","./src/app/components/admin/home/home.component.html","./src/app/components/admin/menu-perfil/menu-perfil.component.html","./src/app/components/admin/reenviar-correo/reenviar-correo.component.html","./src/app/components/admin/registro-docsarch/registro-docsarch.component.html","./src/app/components/admin/registro-usuarios/registro-usuarios.component.html","./src/app/components/admin/registro/registro.component.html","./src/app/components/admin/restablecer-contrasena/restablecer-contrasena.component.html","./src/app/components/admin/restablecer/restablecer.component.html","./src/app/components/admin/verificar/verificar.component.html","./src/app/components/generales/count-down/count-down.component.html","./src/app/components/negocio/adquisiciones/adquisiciones.component.html","./src/app/components/negocio/aviso-priv-log/aviso-priv-log.component.html","./src/app/components/negocio/aviso-privacidad/aviso-privacidad.component.html","./src/app/components/negocio/padron-proveedores/padron-proveedores.component.html","./src/app/components/negocio/participa/flujo-obra/info-gral-obra/info-gral-obra.component.html","./src/app/components/negocio/participa/flujo-obra/menu-obra/menu-obra.component.html","./src/app/components/negocio/participa/flujo-obra/plazofec-obra/plazofec-obra.component.html","./src/app/components/negocio/participa/flujo-obra/propuesta-obra/propuesta-obra.component.html","./src/app/components/negocio/participa/flujo-obra/subir-propuesta-obra/subir-propuesta-obra.component.html","./src/app/components/negocio/participa/flujo-producto/infoGral-producto/infoGral-producto.component.html","./src/app/components/negocio/participa/flujo-producto/menu-producto/menu-producto.component.html","./src/app/components/negocio/participa/flujo-producto/ordenCompra-producto/ordenCompra-producto.component.html","./src/app/components/negocio/participa/flujo-producto/subirCotizacion-producto/subirCotizacion-producto.component.html","./src/app/components/negocio/participa/procedimientos/procs.component.html","./src/app/components/negocio/principal/principal.component.html","./src/app/components/negocio/procedimientos-det-obra/procedimientos-det-obra.component.html","./src/app/components/negocio/procedimientos-detalle/procedimientos-detalle.component.html","./src/app/components/negocio/procedimientos/procedimientos.component.html","./src/app/components/page-not-found/page-not-found.component.html","./src/app/app-routing.module.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/admin/home/home.component.css","./src/app/components/admin/home/home.component.ts","./src/app/components/admin/menu-perfil/menu-perfil.component.css","./src/app/components/admin/menu-perfil/menu-perfil.component.ts","./src/app/components/admin/reenviar-correo/reenviar-correo.component.css","./src/app/components/admin/reenviar-correo/reenviar-correo.component.ts","./src/app/components/admin/registro-docsarch/registro-docsarch.component.css","./src/app/components/admin/registro-docsarch/registro-docsarch.component.ts","./src/app/components/admin/registro-usuarios/registro-usuarios.component.css","./src/app/components/admin/registro-usuarios/registro-usuarios.component.ts","./src/app/components/admin/registro/registro.component.css","./src/app/components/admin/registro/registro.component.ts","./src/app/components/admin/restablecer-contrasena/restablecer-contrasena.component.css","./src/app/components/admin/restablecer-contrasena/restablecer-contrasena.component.ts","./src/app/components/admin/restablecer/restablecer.component.css","./src/app/components/admin/restablecer/restablecer.component.ts","./src/app/components/admin/verificar/verificar.component.css","./src/app/components/admin/verificar/verificar.component.ts","./src/app/components/generales/count-down/count-down.component.css","./src/app/components/generales/count-down/count-down.component.ts","./src/app/components/negocio/adquisiciones/adquisiciones.component.css","./src/app/components/negocio/adquisiciones/adquisiciones.component.ts","./src/app/components/negocio/aviso-priv-log/aviso-priv-log.component.css","./src/app/components/negocio/aviso-priv-log/aviso-priv-log.component.ts","./src/app/components/negocio/aviso-privacidad/aviso-privacidad.component.css","./src/app/components/negocio/aviso-privacidad/aviso-privacidad.component.ts","./src/app/components/negocio/padron-proveedores/padron-proveedores.component.css","./src/app/components/negocio/padron-proveedores/padron-proveedores.component.ts","./src/app/components/negocio/participa/flujo-obra/info-gral-obra/info-gral-obra.component.css","./src/app/components/negocio/participa/flujo-obra/info-gral-obra/info-gral-obra.component.ts","./src/app/components/negocio/participa/flujo-obra/menu-obra/menu-obra.component.css","./src/app/components/negocio/participa/flujo-obra/menu-obra/menu-obra.component.ts","./src/app/components/negocio/participa/flujo-obra/plazofec-obra/plazofec-obra.component.css","./src/app/components/negocio/participa/flujo-obra/plazofec-obra/plazofec-obra.component.ts","./src/app/components/negocio/participa/flujo-obra/propuesta-obra/propuesta-obra.component.css","./src/app/components/negocio/participa/flujo-obra/propuesta-obra/propuesta-obra.component.ts","./src/app/components/negocio/participa/flujo-obra/subir-propuesta-obra/subir-propuesta-obra.component.css","./src/app/components/negocio/participa/flujo-obra/subir-propuesta-obra/subir-propuesta-obra.component.ts","./src/app/components/negocio/participa/flujo-producto/infoGral-producto/infoGral-producto.component.css","./src/app/components/negocio/participa/flujo-producto/infoGral-producto/infoGral-producto.component.ts","./src/app/components/negocio/participa/flujo-producto/menu-producto/menu-producto.component.css","./src/app/components/negocio/participa/flujo-producto/menu-producto/menu-producto.component.ts","./src/app/components/negocio/participa/flujo-producto/ordenCompra-producto/ordenCompra-producto.component.css","./src/app/components/negocio/participa/flujo-producto/ordenCompra-producto/ordenCompra-producto.component.ts","./src/app/components/negocio/participa/flujo-producto/subirCotizacion-producto/subirCotizacion-producto.component.css","./src/app/components/negocio/participa/flujo-producto/subirCotizacion-producto/subirCotizacion-producto.component.ts","./src/app/components/negocio/participa/procedimientos/procs.component.css","./src/app/components/negocio/participa/procedimientos/procs.component.ts","./src/app/components/negocio/principal/principal.component.css","./src/app/components/negocio/principal/principal.component.ts","./src/app/components/negocio/procedimientos-det-obra/procedimientos-det-obra.component.css","./src/app/components/negocio/procedimientos-det-obra/procedimientos-det-obra.component.ts","./src/app/components/negocio/procedimientos-detalle/procedimientos-detalle.component.css","./src/app/components/negocio/procedimientos-detalle/procedimientos-detalle.component.ts","./src/app/components/negocio/procedimientos/procedimientos.component.css","./src/app/components/negocio/procedimientos/procedimientos.component.ts","./src/app/components/page-not-found/page-not-found.component.css","./src/app/components/page-not-found/page-not-found.component.ts","./src/app/globals.ts","./src/app/guards/can-aviso.guard.ts","./src/app/guards/can-docs.guard.ts","./src/app/guards/can-menu-perfil.guard.ts","./src/app/guards/can-prereg.guard.ts","./src/app/guards/can-proced.guard.ts","./src/app/guards/can-procedproved.guard.ts","./src/app/guards/can-reg.guard.ts","./src/app/pipes/date-long.pipe.ts","./src/app/pipes/filtro-items.pipe.ts","./src/app/services/api-auth.service.ts","./src/app/services/api-download-file.service.ts","./src/app/services/api-parametros.service.ts","./src/app/services/api-procedimientos.service.ts","./src/app/services/api-registry.service.ts","./src/app/services/api-upload-file.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.4549d4bc2b692ede7006.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","module.exports = \"\\n\\n\\n\\n
\\n \\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Su información ha quedado pre-registrada exitosamente!
\\n

Para continuar con el registro es necesario entregar la documentación adjunta en esta solicitud para su cotejo, realizando cita según sea el caso:

\\n

Para continuar con el registro es necesario entregar el Manifiesto de conformidad para pago de honorarios por Transferencia Electrónica, realizando cita

\\n\\n

\\n Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF,
Ed. 222, Ciudad Universitaria.
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx\\n

\\n

\\n Lic. Erika del Carmen Cabrera Reyes,
Encargada de Honorarios,
Edificio de Vinculación, Piso 2 , Ciudad Universitaria.
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
Estimado Proveedor:
\\n

Mediante el presente y a nombre de la Universidad Autónoma de Aguascalientes lo invitamos a realizar su Refrendo Anual 2024. Para el cual requerirá:

\\n

1. En Perfil, revisar y si es el caso actualizar la Información General.

\\n

2.\\tSubir en Documentación y Archivos :

\\n

Para el proveedor de Bienes y Servicios:

\\n
    \\n
  • 1.\\tOpinión de Cumplimiento de Obligaciones Fiscales del mes actual.
  • \\n
  • 2. Opinión de Situación Fiscal de Cumplimiento de Obligaciones Estatales del mes actual.
  • \\n
\\n\\n

Para el proveedor tipo Ambos agregar los puntos 1, 2 y :

\\n
    \\n
  • 3.\\tConstancia del Padrón Estatal de Contratistas de Obra Pública, del año actual.
  • \\n
  • 4. Acuse y Declaración anual presentada en el año actual.
  • \\n
\\n

Para cambios en la Información General favor de actualizarla y si se trata de alguno de los siguientes supuestos, agregar la documentación que se indica:

\\n
    \\n
  • Cambio de Domicilio: agregar Constancia de Situación Fiscal de fecha reciente.
  • \\n
  • Cambio de Representante legal: agregar INE (ambos lados) y poder legal, manifiesto de pagos y manifiesto bajo protesta firmados.
  • \\n
  • Cambio de Cuenta bancaria: agregar formato de Manifiesto para pagos y estado de cuenta correspondiente.
  • \\n
\\n\\n

3.\\tDar clic en Finalizar.

\\n Para dudas y/o comentarios.\\n

\\n Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF,
Edificio 222 planta baja, Ciudad Universitaria.
(449) 910 74 00 ext. 32212
carmen.esparza@edu.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Su información para refrendo anual ha quedado capturada exitosamente, se encuentra en revisión por parte del personal de la UAA!
\\n Dudas y/o comentarios:\\n

\\n Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF,
Edificio 222 planta baja, Ciudad Universitaria.
(449) 910 74 00 ext. 32212
mcesparza@correo.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
Su registro se encuentra detenido, debido a que no se cumplió en tiempo con la entrega de la documentación para su contratación como Prestador de Servicios en la Universidad Autonóma de Aguascalientes.
\\n Dudas y/o comentarios:\\n

\\n Lic. Erika del Carmen Cabrera Reyes,
Encargada de Honorarios,
Edificio de Vinculación, Piso 2 , Ciudad Universitaria.
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Adquisiciones y Obra Pública

\\n
\\n
\\n
\\n
\\n

\\n Bienvenido al portal público de Adquisiciones, Arrendamientos, Servicios y Obra Pública de la Universidad Autónoma de Aguascalientes, en donde podrás presentar tus propuestas a los diferentes procedimientos que realice el Departamento de Compras de la\\n DGF y el Departamento de Construcciones de la DGIU, da click en “Ver Procedimientos” para conocer las solicitudes de la Universidad.\\n

\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n REGÍSTRATE COMO PROVEEDOR\\n \\n \\n Para ofertar tus productos o servicios debes estar registrado en el padrón de proveedores de la Universidad Autónoma de Aguascalientes conoce los requisitos y trámite para ser proveedor de la UAA.\\n \\n
\\n\\n \\n
\\n \\n \\n ADQUISICIONES Y CONTRATACIONES\\n \\n \\n Consulta las contrataciones y adquisiciones de la UAA.\\n \\n
\\n\\n \\n \\n \\n
\\n
\\n
\\n \\n\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n \\n \\n REGISTRO PARA HONORARIOS \\n\\n \\n \\n Conoce los requisitos y trámites para ser Prestador de Servicios Profesionales en la UAA.\\n \\n
\\n Manual de Registro Prestadores de Servicios\\n
\\n Consultar aviso de privacidad \\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Reenviar correo de verificación

\\n
\\n
\\n\\n
\\n
\\n

\\n Por favor, ingresa el correo con el cual te has registrado. En seguida recibirás un correo con las instrucciones para verificar tu correo.\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCorreo}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{ errorNoExiste }}
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
!Por favor, verifique su correo!
\\n

Se ha enviado un correo con el procedimiento correspondiente para la verificación de su correo. En caso de no verlo dentro de su buzón de entrada, verifique si no ha sido detectado como spam.

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Error!
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

{{ etiquetaTitulo }}

\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n

\\n Registre la información de este formulario para iniciar su proceso de solicitud de ingreso y activación al Padrón de Proveedores y Contratistas de la UAA\\n

\\n
\\n
\\n\\n
\\n
\\n
DOCUMENTACIÓN Y ARCHIVOS
\\n
\\n
\\n * Estos campos son obligatorios\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVO ANEXADOCOMENTARIOSACCIONES
{{ i +1 }}{{ registro.DESCDOCTO }}*\\n \\n {{ registro.ARC_CARGADO }}{{ registro.COMENTARIOS }}\\n \\n\\n \\n\\n \\n\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Su información ha quedado pre-registrada exitosamente!
\\n

Para continuar con el registro es necesario entregar la documentación adjunta en esta solicitud para su cotejo, realizando cita según sea el caso:

\\n

Para continuar con el registro es necesario entregar el Manifiesto de conformidad para pago de honorarios por Transferencia Electrónica, realizando cita

\\n

\\n Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF,
Ed. 222, Ciudad Universitaria.
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx\\n

\\n

\\n Lic. Erika del Carmen Cabrera Reyes,
Encargada de Honorarios,
Edificio de Vinculación, Piso 2 , Ciudad Universitaria.
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Su información ha quedado capturada exitosamente, para revisión por parte del personal de la UAA!
\\n\\n

\\n Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF,
Ed. 222, Ciudad Universitaria.
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx\\n

\\n

\\n Lic. Erika del Carmen Cabrera Reyes,
Encargada de Honorarios,
Edificio de Vinculación, Piso 2 , Ciudad Universitaria.
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Carga de archivos
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n

La plataforma únicamente permite agregar archivos de un tamaño menor a 10 MB.

\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeAlerta }}

\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeExito }}

\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

¡No se ha seleccionado ningun archivo!

\\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

{{ etiquetaTitulo }}

\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n

\\n Registre la información de este formulario para iniciar su proceso de solicitud de ingreso y activación al Padrón de Proveedores, Contratistas y Prestadores de Servicio de la UAA\\n

\\n * Estos campos son obligatorios\\n
\\n
\\n\\n
\\n
\\n
Campos incorrectos o vacíos.
\\n
\\n
\\n\\n
\\n
\\n
DATOS GENERALES
\\n
\\n
\\n CLAVE:{{ etiquetCveProv }}\\n
\\n
\\n ESTATUS: {{ etiquetaEstatus | uppercase}}\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n {{errorCurp}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n
\\n
REPRESENTANTES
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n {{errorCurpRl}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCorreoRl}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n {{errorCurpRt}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCorreoRt}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
DATOS ACÁDEMICOS
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
DOMICILIO FISCAL
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
CONTACTO
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCorreo}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCorreoEmp}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
DATOS BANCARIOS
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCuenta}}\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCLABE}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

¡Su información ha quedado guardada exitosamente!

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

¡Su información ha quedado registrada exitosamente!

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n

\\n Intente nuevamente realizar el registro.\\n

NOTA: en caso de que el error continue, favor de contactar a:\\n

\\n
\\n

\\n Lic. María del Carmen Esparza Pérez
Asistente del Departamento de Compras de la DGF
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx\\n

\\n

\\n Lic. Erika del Carmen Cabrera Reyes
Encargada de Honorarios
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Pre-Registro de Proveedor Bienes y Servicios, Obra o Ambos

\\n

Pre-Registro de Prestador de Servicios Profesionales

\\n
\\n

\\n (Personal de Honorarios)\\n

\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n

\\n Registre la información de este formulario para iniciar su proceso de solicitud de ingreso y activación al Padrón de Proveedores y Contratistas de la UAA\\n
\\n NOTA: De preferencia no utilizar cuentas @hotmail.com\\n

\\n
\\n
\\n
\\n
\\n \\n
\\n\\n \\n \\n
\\n {{errorRfc}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{errorCorreo}}\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{errorCorreoConf}}\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{errorPass}}\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{errorPassRep}}\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{errorCelular}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
Las contraseñas o correos no coinciden
\\n
Complete el CAPTCHA
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n

Estimado Prestador de Servicios
El periodo de Registro se encuentra Cerrado
\\n
\\n Dudas y/o comentarios:\\n

\\n Lic. Erika del Carmen Cabrera Reyes,
Encargada de Honorarios,
Edificio de Vinculación, Piso 2 , Ciudad Universitaria.
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n

\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

\\n Lo sentimos, ha ocurrido un error al guardar su información\\n
Recargue la página e intente nuevamente realizar el registro.
\\n

NOTA: en caso de que el error continue, favor de contactar a:\\n

\\n

\\n Lic. María del Carmen Esparza Pérez
Asistente del Departamento de Compras de la DGF
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx\\n

\\n

\\n Lic. Erika del Carmen Cabrera Reyes
Encargada de Honorarios
(449) 910 74 00 ext 32520
honorarios@edu.uaa.mx\\n

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

Su cuenta ha sido registrada exitosamente. Para continuar con el proceso de registro se ha enviado un mensaje a su correo para realizar la verificación de su cuenta.

\\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Restablecer contraseña

\\n
\\n
\\n\\n
\\n
\\n

\\n Ingrese nueva contraseña\\n

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{ errorContra }}\\n
\\n
\\n
\\n \\n \\n
\\n {{ errorNuevaContra }}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Las contraseñas no coinciden
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

¡Se ha cambiado su contraseña exitosamente!

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Restablecer contraseña

\\n
\\n
\\n\\n
\\n
\\n

\\n Por favor, ingresa el correo con el cual te has registrado. En seguida recibirás un correo con las instrucciones para reestablecer tu contraseña.\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n {{errorCorreo}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{ errorNoExiste }}
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
!Por favor, verifique su correo!
\\n

Se ha enviado un correo con el procedimiento correspondiente para la restauración de su contraseña. En caso de no verlo dentro de su buzón de entrada, verifique si no ha sido detectado como spam.

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Error!
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
{{mensaje}}
\\r\\n
\\r\\n
\"","module.exports = \" 0\\\">{{days}}d : {{hours}}h : {{minutes}}m : {{seconds}}s \\n\\n El tiempo se agotó\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Adquisiciones realizadas

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
NÚMERO DE SOLICITUDDESCRIPCIÓNTIPOPROVEEDORMONTO
{{ registro.PK_ANIO }}-{{ registro.NUMSOL }}{{ registro.DESCRIPCION }}{{ registro.TIPOPROC }}{{ registro.PROVEEDOR }}{{ registro.MONTO }}{{ registro.INDTIP }}
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Error!
\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Aviso de privacidad

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Aviso de privacidad

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n\\n \\n \\n\\n \\n
\\n Si ya realizó este paso seleccionar INGRESAR.\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n\\n \\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Padrón de Proveedores

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
CLAVERAZÓN SOCIALNOMBRE COMERCIALGIROCORREOESTADO
{{ registro.CLAVE_PROVEEDOR }}{{ registro.RAZON_SOCIAL }}{{ registro.NOMBRE_COMERCIAL }}{{ registro.GIRO }}{{ registro.CORREO_ELECTRONICO }}{{ registro.ESTATUS }}
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\"","module.exports = \"
0\\\">\\n
\\n

Obra pública: {{anio + '-' + idProc}}

\\n

\\n \\n TIEMPO RESTANTE: \\n |\\n \\n ÚLTIMA RESPUESTA ENVIADA: {{datosGrales[0].MAXFECHAPARTICIPA | date: 'dd/MM/yyyy'}}\\n \\n |\\n \\n ESTATUS: {{datosGrales[0].FKDPRPR_ESTADO}}\\n

\\n
\\n
\\n\\n
0\\\">\\n
\\n
\\n
\\n
\\n
DATOS GENERALES
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
ANÉXOS
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVOCOMENTARIOS
{{item+1}}{{anexo.DESCDOCTO}}{{anexo.ARC_DESCARGA}}{{anexo.COMENTARIOS}}
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

Ingresa a la opción \\\"Subir Cotización\\\" para presentar su propuesta.

\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
0\\\">\\n
\\n

Obra pública: {{anio + '-' + idProc}}

\\n

\\n \\n TIEMPO RESTANTE: \\n |\\n \\n ÚLTIMA RESPUESTA ENVIADA: {{datosGrales[0].MAXFECHAPARTICIPA | date: 'dd/MM/yyyy'}}\\n \\n |\\n \\n ESTATUS: {{datosGrales[0].FKDPRPR_ESTADO}}\\n

\\n
\\n
\\n\\n
0\\\">\\n
\\n
\\n
\\n
\\n
PLAZOS Y FECHAS
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n
EVENTOFECHALUGAR
{{ plazo.DESCRI }}{{ plazo.FECHA }} {{plazo.HORA}}{{ plazo.LUGAR }}
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

Ingresa a la opción \\\"Subir Cotización\\\" para presentar su propuesta.

\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
0\\\">\\n
\\n

Obra pública: {{anio + '-' + idProc}}

\\n

\\n \\n TIEMPO RESTANTE: \\n |\\n \\n ÚLTIMA RESPUESTA ENVIADA: {{datosGrales[0].MAXFECHAPARTICIPA | date: 'dd/MM/yyyy'}}\\n \\n |\\n \\n ESTATUS: {{datosGrales[0].FKDPRPR_ESTADO}}\\n

\\n
\\n
\\n\\n\\n
0\\\">\\n
\\n
\\n
\\n
\\n
PROPUESTA
\\n
\\n
\\n NO. PROCEDIMIENTO: {{datosGrales[0].PK_ANIO}}-{{datosGrales[0].PK_CONSEC}}\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVOCOMENTARIO
{{ item+1 }}{{ doc.DESCRI }}{{doc.ARCHIVO}}{{doc.COMENTARIO}}
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
0\\\">\\n
\\n

Obra pública: {{anio + '-' + idProc}}

\\n

\\n \\n TIEMPO RESTANTE: \\n |\\n \\n ÚLTIMA RESPUESTA ENVIADA: {{datosGrales[0].MAXFECHAPARTICIPA | date: 'dd/MM/yyyy'}}\\n \\n |\\n \\n ESTATUS: {{datosGrales[0].FKDPRPR_ESTADO}}\\n

\\n
\\n
\\n\\n
0\\\">\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n {{errorMonto}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
PROPUESTA DE COTIZACIÓN PARA OBRA
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVO ANEXADOCOMENTARIOSACCIONES
{{ item + 1 }}{{ propuest.DESCDOCTO }}*\\n \\n {{ propuest.ARC_CARGADO }}{{propuest.COMENTARIOS}}\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Carga de archivos
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n

La plataforma únicamente permite agregar archivos de un tamaño menor a 10 MB

\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeExito }}

\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeAlerta }}

\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

¡No se ha seleccionado ningun archivo!

\\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
0\\\">\\n
\\n

Solicitud de cotización: {{datosGrales[0].CVEINT}} ({{datosGrales[0].PK_ANIO + '-' + datosGrales[0].PK_CONSEC}})

\\n

\\n \\n TIEMPO RESTANTE: \\n \\n |\\n \\n ÚLTIMA RESPUESTA ENVIADA: {{datosGrales[0].MAXFECHAPARTICIPA | date: 'dd/MM/yyyy'}}\\n \\n |\\n \\n ESTATUS: {{datosGrales[0].FKDPRPR_ESTADO}}\\n \\n

\\n
\\n
\\n\\n
0\\\">\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
DATOS GENERALES
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].DESCRI}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].FKDPROC_ESTATUS_PROV}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].GIRO}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].TIPOADQ}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].NUMPROC}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].AREARE1}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].RESPONSABLE}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].COMENTA}}\\n
\\n
\\n \\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n
PARTIDAS
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
#CANTIDADU. MEDIDADESC. SOLICITADADESC. OFERTADAPRECIO UNITARIOANÉXO TÉCNICOTIEMPO DE ENTREGAGARANTÍAACCIONES
{{indice+1}}{{articulo.CANTSOL}}{{articulo.UNIDADMEDIDA}}{{articulo.ARTICULOSOL}}{{articulo.DESCOFERTADA}}{{articulo.PRECIOUNITARIO | currency}}{{articulo.ANEXOTECNICO}}{{articulo.TIEMPOENTREGA}} DÍAS NATS. {{articulo.GARANTIA}}\\n DECLINADA\\n
\\n
\\n
\\n
\\n
\\n
\\n
ANÉXOS
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVOCOMENTARIOS
{{item+1}}{{anexo.DESCDOCTO}}{{anexo.ARC_DESCARGA}}{{anexo.COMENTARIOS}}
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Estimado proveedor, además de realizar su solicitud de cotización conforme a lo solicitado en cada enunciado, favor de considerar lo siguiente:
\\n

\\n 1. Adecuar la propuesta de lo mínimo requerido por la Universidad con su propuesta real de cotización, incluyendo marca, modelo y especificaciones (en su caso incluir la información adicional solicitada).

\\n 2. En caso de dudas, comentarios y/o aclaraciones, comunicarse al Departamento de Compras con la persona asignada en la solicitud.

\\n 3. Vencido el plazo de recepción de \\\"solicitudes de cotización\\\" en la Plataforma de Adquisiciones y Obra Pública, al amparo de lo previsto en la Normatividad aplicable, la UAA definirá el procedimiento\\n a seguir para la contratación del bien o servicio, pudiendo ser: 1. Orden de Compra (pedido), 2. Declaración de solicitud de cotización desierto (total o por partida), 3. Cambio de procedimiento a Licitación Pública y/o Invitación a cuando menos tres personas según los montos cotizados.

\\n 4. La cotización presentada y el estatus de pre-asignado no genera obligación para la Universidad. No se deberá considerar una orden de compra (pedido) al estatus de pre-asignado, este solo indica que\\n realizó la mejor propuesta en la investigación de mercado o solicitud de cotización.

\\n 5. Las ordenes de compra (pedido) que se generen de un proceso de “Solicitud de cotización”, se notificaran a través de la Plataforma de Adquisiciones y Obra Pública, empezando a correr el plazo de\\n entrega, al día siguiente en que fue capturada en dicha plataforma.

\\n 6. Las solicitudes de cotización de 300 a 3,000 UMA, que no deriven de un procedimiento de licitación pública o invitación a cuando menos tres personas, requieren contar con un cuadro comparativo mínimo\\n de 3 cotizaciones, por lo que en caso de no contarse con ellas el proceso tendrá una segunda vuelta de conformidad a lo establecido en el Manual Único de Adquisiciones, Arrendamientos y Servicios de la Universidad Autónoma\\n de Aguascalientes.

\\n 7. Para las “solicitudes de cotización” que deriven en una orden de compra (pedido) que superen las 300 Unidades de Medida y Actualización, con fuente de financiamiento federal, se generará un Contrato\\n por escrito formal y se deberá constituir la garantía de cumplimiento correspondiente por un monto del 10% antes de IVA.

\\n 8. Por regla general no se otorgarán anticipos, sin embargo, en caso de requerirse, se deberán garantizar solicitar expresamente por el Proveedor asignado, y deberá garantizarse conforme a la normatividad\\n aplicable.

\\n 9. Los incumplimientos a las órdenes de compra o pedidos (calidad, especificaciones, tiempo de entrega, etc.), se sancionarán conforme a lo indicado en la normatividad de adquisiciones, pudiendo ser\\n una penalización del 1% diario del monto total incumplido o bien una calificación de incumplimiento, según el monto de cada pedido.

\\n 10. Toda información y documentación enviada por los Proveedores a la Universidad Autónoma de Aguascalientes, se considerara emitida de buena fe y bajo protesta de decir verdad.

\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Estimado proveedor, además de realizar su solicitud de cotización conforme a lo solicitado en cada enunciado, favor de considerar lo siguiente:
\\n

\\n 1. Adecuar la propuesta de lo mínimo requerido por la Universidad con su propuesta real de cotización, incluyendo marca, modelo y especificaciones (en su caso incluir la información adicional solicitada).

\\n 2. En caso de dudas, comentarios y/o aclaraciones, comunicarse al Departamento de Compras con la persona asignada en la solicitud.

\\n 3. Vencido el plazo de recepción de \\\"solicitudes de cotización\\\" en la Plataforma de Adquisiciones y Obra Pública, al amparo de lo previsto en la Normatividad aplicable, la UAA definirá el procedimiento\\n a seguir para la contratación del bien o servicio, pudiendo ser: 1. Orden de Compra (pedido), 2. Declaración de solicitud de cotización desierto (total o por partida), 3. Cambio de procedimiento a Licitación Pública y/o Invitación a cuando menos tres personas según los montos cotizados.

\\n 4. La cotización presentada y el estatus de pre-asignado no genera obligación para la Universidad. No se deberá considerar una orden de compra (pedido) al estatus de pre-asignado, este solo indica que\\n realizó la mejor propuesta en la investigación de mercado o solicitud de cotización.

\\n 5. Las ordenes de compra (pedido) que se generen de un proceso de “Solicitud de cotización”, se notificaran a través de la Plataforma de Adquisiciones y Obra Pública, empezando a correr el plazo de\\n entrega, al día siguiente en que fue capturada en dicha plataforma.

\\n 6. Las solicitudes de cotización de 300 a 3,000 UMA, que no deriven de un procedimiento de licitación pública o invitación a cuando menos tres personas, requieren contar con un cuadro comparativo mínimo\\n de 3 cotizaciones, por lo que en caso de no contarse con ellas el proceso tendrá una segunda vuelta de conformidad a lo establecido en el Manual Único de Adquisiciones, Arrendamientos y Servicios de la Universidad Autónoma\\n de Aguascalientes.

\\n 7. Para las “solicitudes de cotización” que deriven en una orden de compra (pedido) que superen las 300 Unidades de Medida y Actualización, con fuente de financiamiento federal, se generará un Contrato\\n por escrito formal y se deberá constituir la garantía de cumplimiento correspondiente por un monto del 10% antes de IVA.

\\n 8. Por regla general no se otorgarán anticipos, sin embargo, en caso de requerirse, se deberán garantizar solicitar expresamente por el Proveedor asignado, y deberá garantizarse conforme a la normatividad\\n aplicable.

\\n 9. Los incumplimientos a las órdenes de compra o pedidos (calidad, especificaciones, tiempo de entrega, etc.), se sancionarán conforme a lo indicado en la normatividad de adquisiciones, pudiendo ser\\n una penalización del 1% diario del monto total incumplido o bien una calificación de incumplimiento, según el monto de cada pedido.

\\n 10. Toda información y documentación enviada por los Proveedores a la Universidad Autónoma de Aguascalientes, se considerara emitida de buena fe y bajo protesta de decir verdad.

\\n

\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Soporte de Declinación
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n

La plataforma únicamente permite agregar archivos de un tamaño menor a 10 MB

\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

Si declina ésta Partida, renunciará su participación de forma definitiva. Este cambio NO se puede revertir.

\\n
¿Está seguro que desea continuar?
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

Si declina éste Proceso, renunciará su participación de forma definitiva en TODAS las partidas incluidas. Este cambio NO se puede revertir.

\\n
¿Está seguro que desea continuar?
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Declinación realizada exitosamente.
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Alerta de captura
\\n

\\n\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
MENSAJE DE CORREO
\\n\\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n

ENVIAR CORREO

\\n

¿Desea enviar correo?

\\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

ÉXITO

\\n
Correo enviado exitosamente
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n

ERROR

\\n
Ocurrio un error al enviar el correo
\\n\\n \\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"\\n\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
ÓRDENES DE COMPRA
\\n
\\n
\\n CLAVE PROVEEDOR: {{claveProveedor}}\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
#NÚM. SOLICITUDNÚM. PEDIDODESCRIPCIÓNARCHIVOFECHA PEDIDOESTATUSTIPO SOL.IND. SOL.
{{indice+1}}{{orden.FOLIOSOLIC}}\\n \\n \\n \\n {{orden.FOLIOPEDIDO}}{{orden.DESCRIPCION}}{{orden.FECHA_ARCHIVO}}{{orden.ESTADO_PEDIDO}}{{orden.DESCRILIC}}{{orden.INDLIC}}
\\n
\\n
\\n
\\n\\n
\\n
\\n
FACTURAS
\\n
\\n
\\n NÚMERO DE SOLICITUD: {{solicitud}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
#TIMBRE FISCALSUBTOTALI.V.A.TOTALESTATUSTIPO DOCTO.ACCIONES
{{indice+1}}{{factura.TIMBRE}}{{factura.SUBTOT | currency }}{{factura.IVA | currency}}{{factura.TOTAL | currency}}{{factura.ESTADOPAGO}}{{factura.TIPODOC}}\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Alerta de captura
\\n

\\n\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
0\\\">\\n
\\n

Solicitud de cotización: {{datosGrales[0].CVEINT}} ({{datosGrales[0].PK_ANIO + '-' + datosGrales[0].PK_CONSEC}})

\\n

\\n \\n TIEMPO RESTANTE: \\n \\n |\\n \\n ÚLTIMA RESPUESTA ENVIADA: {{datosGrales[0].MAXFECHAPARTICIPA | date: 'dd/MM/yyyy'}}\\n \\n |\\n \\n ESTATUS: {{datosGrales[0].FKDPRPR_ESTADO}}\\n \\n

\\n
\\n
\\n\\n
0\\\">\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
DATOS GENERALES
\\n
\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].TIPOADQ}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].UBICACI}}\\n
\\n
\\n
\\n
\\n *\\n \\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].CONDPAG}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].INSTALA}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].CAPACITA}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].COMENTA}}\\n
\\n
\\n
\\n \\n
\\n
\\n
ANÉXOS
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
#DOCUMENTOARCHIVOCOMENTARIOSARCHIVO CARGADOACCIONES
{{item+1}}{{anexo.DESCDOCTO}}*{{anexo.ARC_DESCARGA}}{{anexo.COMENTARIOS}}{{anexo.ARC_CARGADO}}\\n \\n\\n \\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
PARTIDAS
\\n
\\n
\\n PARTICIPANDO EN: {{countPartipa}}\\n
\\n
\\n Para participar selecciona la partida y captura los campos obligatorios (*)\\n
\\n
\\n *Los precios son antes de IVA\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n
PARTICIPAR#CANTIDADU. MEDIDADESC. SOLICITADADESCRIPCIÓN OFERTADA*PRECIO UNITARIO*TIEMPO DE ENTREGA*GARANTÍA OFERTADA*ANÉXO TÉCNICOACCIONES
\\n \\n\\n \\n {{articulo.get('partida_id').value}}{{articulo.get('cantidad').value}}{{articulo.get('descripcion').value}}{{articulo.get('desc_solicitada').value}}\\n \\n \\n (ANTES DE IVA)\\n \\n \\n \\n MESES\\n\\n \\n \\n {{articulo.get('anexo_tecnico').value}}\\n \\n \\n \\n \\n\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Alerta de captura
\\n

\\n\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Carga de archivos
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n

La plataforma únicamente permite agregar archivos de un tamaño menor a 10 MB

\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¿Está seguro que desea eliminar el documento?
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
MENSAJE DE CORREO
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n

ENVIAR CORREO

\\n

¿Desea enviar correo?

\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n

ÉXITO

\\n

Correo enviado exitosamente

\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n

ERROR

\\n

Ocurrio un error al enviar el correo

\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Carga de archivos
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n

La plataforma únicamente permite agregar archivos de un tamaño menor a 10 MB

\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¿Está seguro que desea eliminar el documento?
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
#NUM. SOL.IDDESCRIPCIÓNTIPOTIEMPO RESTANTEESTATUSACCIONES
{{ i +1 }}{{procedimiento.NUMCOT}}{{procedimiento.PK_ANIO + '-' + procedimiento.NUMSOL}}{{procedimiento.DESCRIPCION}}{{procedimiento.DESCTIPOPROC}}{{procedimiento.DIASRESTAN}}{{procedimiento.EDOPROV}}{{procedimiento.INDPARTICIPA}}{{procedimiento.INDGANADOR}}
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Procedimientos

\\n
\\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
IDDESCRIPCIÓNTIPODÍAS RESTANTESESTATUSACCIONES
2019-001Servicios de asesoríaServicios2 DíasAbierto
2019-002Rehabilitación Aula en Edificio 1BObra Pública-Cerrado
2019-003Mesas y Sillas para Cafetería Ed. 44Adquisición-Concluido
2019-004Equipo visual en tercera dimensionArrendamientos-Cerrado
2019-005Impresión de gran formatoServicios4 DíasAbierto
2019-006Servicios de asesoríaServicios-Cerrado
2019-002Rehabilitación Aula en Edificio 1BObra Pública-Concluido
2019-003Mesas y Sillas para Cafetería Ed. 44Adquisición-Cerrado
2019-004Equipo visual en tercera dimensionArrendamientos-Concluido
2019-005Impresión de gran formatoServicios-Cerrado
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
¡Su información ha quedado guardada exitosamente!
\\n

Para continuar con el registro como proveedor de la UAA, es necesario entregar la documentación adjunta en esta solicitud realizando una cita al los siguientes contactos según sea el caso:

\\n PARA PRODUCTOS Y SERVICIOS:\\n

INFORMACION DE CONTACTO PARA COMPRAS Y ADQUISIONES

\\n PARA OBRA PUBLICA Y CONSTRUCCIÓN:\\n

INFORMACION DE CONTACTO PARA COMPRAS Y ADQUISIONES

\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

OBRA PÚBLICA: {{anio + '-' + idProc}}

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
DATOS GENERALES
\\n
\\n
\\n
0\\\">\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n {{feclimcot}}\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].FEINIOB}}\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
ANÉXOS
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVOCOMENTARIOS
{{indice+1}}{{anexo.DESCDOCTO}}{{anexo.ARC_DESCARGA}}{{anexo.COMENTARIOS}}
\\n
\\n
\\n
\\n\\n
\\n
\\n
PLAZOS Y FECHAS
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n
EVENTOFECHA Y HORALUGAR
{{plazo.DESCRI}}{{plazo.FECHA}} {{plazo.HORA}}{{plazo.LUGAR}}
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
{{mensajeError}}
\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

NÚMERO DE SOLICITUD: {{anio + '-' + idProc}}

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
DATOS GENERALES
\\n
\\n
\\n
0\\\">\\n
\\n
\\n \\n {{datosGrales[0].DESCRI}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].ESTATUS_PROV}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].GIRO}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].TIPOADQ}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].NUMPROC}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].AREARE1}}\\n
\\n
\\n
\\n
\\n \\n {{datosGrales[0].RESPONSABLE}}\\n
\\n
\\n
\\n\\n
\\n
\\n
PARTIDAS
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n
#ARTÍCULOCANTIDADUNID. MEDIDADESC. SOLICITADA
{{indice+1}}{{articulo.PK_CLAVE + ' - ' + articulo.ARTICULO}}{{articulo.CANTSOL}}{{articulo.UNME}}{{articulo.DESCSOL}}
\\n
\\n
\\n
\\n\\n
\\n
\\n
ANÉXOS
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n
#DOCUMENTOARCHIVOCOMENTARIOS
{{item+1}}{{anexo.DESCDOCTO}}{{anexo.ARC_DESCARGA}}{{anexo.COMENTARIOS}}
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
Ocurrió un error al obtener el procedimiento.
\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Procedimientos

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
NÚMERO DE SOLICITUDÁREA REQUIRIENTEDESCRIPCIÓNTIPOFECHA LÍMITE P/COTIZARPROCEDIMIENTOACCIONES
{{ registro.PK_ANIO }}-{{ registro.NUMSOL }}{{ registro.AREAREQ }}{{ registro.DESCRIPCION }}{{ registro.TIPOPROC }}{{ registro.FECFINPUB }}{{ registro.PROCEDIMIENTO }}{{ registro.INDTIP }}
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n

{{ mensajeError }}

\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

\\n Pagina no encontrada\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \"","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\nimport { CanAvisoGuard } from './guards/can-aviso.guard';\nimport { CanPreregGuard } from './guards/can-prereg.guard';\nimport { RegistroComponent } from './components/admin/registro/registro.component';\nimport { HomeComponent } from './components/admin/home/home.component';\nimport { AvisoPrivacidadComponent } from './components/negocio/aviso-privacidad/aviso-privacidad.component';\nimport { RegistroUsuariosComponent } from './components/admin/registro-usuarios/registro-usuarios.component';\nimport { RegistroDocsarchComponent } from './components/admin/registro-docsarch/registro-docsarch.component';\nimport { PrincipalComponent } from './components/negocio/principal/principal.component';\nimport { AdquisicionesComponent } from './components/negocio/adquisiciones/adquisiciones.component';\nimport { RestablecerComponent } from './components/admin/restablecer/restablecer.component';\nimport { RestablecerContrasenaComponent } from './components/admin/restablecer-contrasena/restablecer-contrasena.component';\nimport { ProcedimientosComponent } from './components/negocio/procedimientos/procedimientos.component';\nimport { ProcedimientosDetalleComponent } from './components/negocio/procedimientos-detalle/procedimientos-detalle.component';\nimport { ProcsComponent } from './components/negocio/participa/procedimientos/procs.component';\nimport { CountDownComponent } from './components/generales/count-down/count-down.component';\nimport { CanRegGuard } from './guards/can-reg.guard';\nimport { CanDocsGuard } from './guards/can-docs.guard';\nimport { CanProcedGuard } from './guards/can-proced.guard';\nimport { CanProcedprovedGuard } from './guards/can-procedproved.guard';\nimport { AvisoPrivLogComponent } from './components/negocio/aviso-priv-log/aviso-priv-log.component';\nimport { MenuProductoComponent } from './components/negocio/participa/flujo-producto/menu-producto/menu-producto.component';\nimport { MenuObraComponent } from './components/negocio/participa/flujo-obra/menu-obra/menu-obra.component';\nimport { MenuPerfilComponent } from './components/admin/menu-perfil/menu-perfil.component';\nimport { CanMenuPerfilGuard } from './guards/can-menu-perfil.guard';\nimport { VerificarComponent } from './components/admin/verificar/verificar.component';\nimport { ProcedimientosDetObraComponent } from './components/negocio/procedimientos-det-obra/procedimientos-det-obra.component';\nimport { ReenviarCorreoComponent } from './components/admin/reenviar-correo/reenviar-correo.component';\n\nimport { PadronProveedoresComponent } from './components/negocio/padron-proveedores/padron-proveedores.component';\n\nconst routes: Routes = [\n {path: '', redirectTo: 'home', pathMatch: 'full'},\n {path: 'home', component: HomeComponent},\n {path: 'registro/:tipo', component: RegistroComponent, canActivate: [CanPreregGuard]},\n {path: 'registro-usuarios/:id', component: RegistroUsuariosComponent, canActivate: [CanRegGuard]},\n {path: 'registro-docsarch', component: RegistroDocsarchComponent, canActivate: [CanDocsGuard]},\n {path: 'aviso-privacidad/:tipo', component: AvisoPrivacidadComponent, canActivate: [CanAvisoGuard]},\n {path: 'aviso-priv-log/:tipo', component: AvisoPrivLogComponent},\n {path: 'principal', component: PrincipalComponent},\n {path: 'adquisiciones', component: AdquisicionesComponent},\n {path: 'procedimientos', component: ProcedimientosComponent, canActivate: [CanProcedGuard]},\n {path: 'procedimientos-detalle/:anio/:idProc', component: ProcedimientosDetalleComponent, canActivate: [CanProcedGuard]},\n {path: 'procedimientos-det-obra/:anio/:idProc', component: ProcedimientosDetObraComponent, canActivate: [CanProcedGuard]},\n {path: 'procs', component: ProcsComponent, canActivate: [CanProcedprovedGuard]},\n {path: 'restablecer', component: RestablecerComponent},\n {path: 'restablecer-contrasena/:token', component: RestablecerContrasenaComponent },\n {path: 'verificar/:token/:id', component: VerificarComponent },\n {path: 'reenviar-correo', component: ReenviarCorreoComponent},\n {path: 'not-found', component: PageNotFoundComponent},\n {path: 'CountDown', component: CountDownComponent},\n {path: 'menu-producto', component: MenuProductoComponent},\n {path: 'menu-obra', component: MenuObraComponent},\n {path: 'menu-perfil', component: MenuPerfilComponent, canActivate: [CanMenuPerfilGuard]},\n {path: 'padron-proveedores', component: PadronProveedoresComponent},\n {path: '**', redirectTo: 'not-found'}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { useHash: true })],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule {\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, AfterViewInit, ViewChild, ElementRef, OnInit, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiAuthService } from './services/api-auth.service';\nimport { Proveedor } from './models/Proveedor';\nimport { ApiParametrosService } from './services/api-parametros.service';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\n\nexport class AppComponent implements AfterViewInit{\n @ViewChild('rfcRef', {static: false}) rfc: ElementRef;\n public email: string = ''; //Variable para guadar la clase is-invalid que se agrega a las propiedades de los input\n public pass: string = ''; //Variable para guadar la clase is-invalid que se agrega a las propiedades de los input\n public alerta: boolean = false; //Variable que se usa para mostrar o no el div de contraseña o correo incorrecto.\n public ingresar: boolean = true; //Controla el boton de ingresar donde se loguea el usuario\n public checkLogin: boolean = false; //Variable que se utiliza para saber si se encuntra logueado algun usuario o no\n public RFC: string = ''; //Guarda el RFC del usuario logueado para mostrar el parte superior derecha\n public url_activa: string; //Guarda la url del componente actual en la que se encuentra\n\n public activaDrop: number = 0; // //Controla el dropdown para que no haga conflicto\n public spinner: boolean = false; //Controla el comportamiento del spinner al estar cargando el inicio de sesion\n public btnIngresar: boolean = true; //Controla el comportamiento del boton de ingresar\n\n public errorEmail: string = ''; //Mensaje de error para el email\n public errorPass: string = ''; //Mensaje de error para el password\n\n public botonNoActivo: number = 0; //Controla el boton de perfil en la parte superior derecha, cuando el usuario se encuentra logueado\n public indtip:string ='0';\n //Patron que se ejecuta en el ingreso del email en el input\n emailPattern: any = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n public data = [\n {name: 'test', email: 'test@gmail.com', website:'test.com'},\n {name: 'test', email: 'test@gmail.com', website:'test.com'},\n {name: 'test', email: 'test@gmail.com', website:'test.com'},\n {name: 'test', email: 'test@gmail.com', website:'test.com'},\n];\ntitle = 'angulardatatables';\n\n //Creacion del FormGroup con sus determinados campos y sus validators.\n createFormGroup() {\n return new FormGroup({\n email: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)]),\n password: new FormControl('', [Validators.required])\n });\n }\n\n contactForm: FormGroup;\n constructor(private router: Router, private apiAuth: ApiAuthService, private apiParam: ApiParametrosService) {\n this.contactForm = this.createFormGroup();\n }\n\n ngAfterViewInit(){\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n //this.indtip = proveedor.TipoProv;\n //Condifion para controlar el comportamiento del boton de perfil, dependiento del estatus(proveedor.Tipo) de la cuenta.\n if (proveedor !== null ){\n if (proveedor.Tipo === '2' || proveedor.Tipo === '1' || proveedor.Tipo === '3') {\n this.botonNoActivo = 1;\n }\n this.actualizaRFC(proveedor.RFC);\n }\n //Inicializa el evento click para que no se cierre el dropdwon al momento de dar click en ingresar.\n $(document).ready(function() {\n $('.dropdown-menu').on('click', function (e) {\n e.stopPropagation();\n });\n });\n }\n\n //Actualiza el dropdown de la parte superior derecha para mostrar el RFC del usuario logueado\n actualizaRFC(rfc) {\n this.rfc.nativeElement.innerText = rfc;\n //Para volver a cargar el dropdown y no haga conflicto\n if (this.activaDrop === 0) {\n $(document).ready(function() {\n $('.dropdown-toggle').click(function() {\n $(this).next('.dropdown-menu').slideToggle(200);\n });\n $('.dropdown-toggle').focusout(function() {\n $(this).next('.dropdown-menu').slideUp(400);\n });\n });\n this.activaDrop = 1;\n }\n }\n\n //Checa si se encuentra logueado algun usuario\n checaLogin() {\n if (this.apiAuth.getToken() == null) {\n this.checkLogin = false;\n } else {\n this.checkLogin = true;\n }\n }\n\n //Login\n onLogin() {\n /*Valida campos*/\n if (this.validaCampos()) {\n this.btnIngresar = false;\n this.spinner = true;\n let email = this.contactForm.get('email').value;\n let pass = this.contactForm.get('password').value;\n /*Valida credenciales*/\n this.apiAuth.onLogin(email, pass).subscribe(data =>\n {\n /*Si las credenciales son válidas*/\n if (data[0].success == true) {\n this.spinner = false;\n this.btnIngresar = true;\n this.alerta = false;\n this.checkLogin = true;\n this.apiAuth.setToken(data[0].info);\n /*Obtiene info del proveedor para mostrar el RFC en el botón \"Ingresar\" */\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n //this.indtip = proveedor.TipoProv;\n this.actualizaRFC(proveedor.RFC);\n console.log(\"Estado: \"+proveedor.Tipo);\n if (proveedor.Tipo === '0') {\n this.botonNoActivo = 0;\n //console.error('No activo');\n this.router.navigate(['/registro-usuarios', '1']);\n } else if (proveedor.Tipo === '1') {\n this.botonNoActivo = 1;\n $('#app_mod_alerta').modal('show');\n //this.router.navigate(['/procs']);\n } else if (proveedor.Tipo === '2') {\n this.botonNoActivo = 1;\n $('#app_mod_alerta').modal('show');\n //console.error('No activo');\n } else if (proveedor.Tipo === '3') {\n this.router.navigate(['/home']);\n this.botonNoActivo = 1;\n } else if (proveedor.Tipo === '99') {\n this.botonNoActivo = 0;\n //Modal de error con mensaje de no se puede loguear\n $('#app_mod_error').modal('show');\n console.error('Error no se puede loguear');\n } else if (proveedor.Tipo === '4') {\n this.botonNoActivo = 0;\n console.error('Refrendo anual');\n //this.router.navigate(['/registro-usuarios', '0']);\n $('#app_mod_referendum').modal('show');\n\n }else if (proveedor.Tipo === '6') {\n this.botonNoActivo = 1;\n $('#success_refrendo').modal('show');\n //this.router.navigate(['/procs']);\n }else if (proveedor.Tipo === '5') {\n this.botonNoActivo = 0;\n this.router.navigate(['/registro-docsarch']);\n }else if (proveedor.Tipo === '7') {//asoledad 22/11/2022 Estatus solicitado por Erika Cabrera\n this.botonNoActivo = 0;\n $('#sin_contratacion').modal('show');\n }else if (proveedor.Tipo === '98') {//asoledad: 16/03/2023 Condicionados y en Baja\n this.botonNoActivo = 0;\n this.router.navigate(['/registro-docsarch']);\n }\n } else {\n this.spinner = false;\n this.btnIngresar = true;\n this.alerta = true;\n }\n },\n error => {\n this.spinner = false;\n this.btnIngresar = true;\n this.alerta = true;\n });\n } else {\n this.alerta = true;\n }\n }\n//Enviar a captura de datos\n refrendo(){\n $('#app_mod_referendum').modal('hide');\n this.botonNoActivo = 0;\n this.router.navigate(['/registro-usuarios', '1']);\n }\n\n //Cerrar sesion\n cerrarSesion() {\n this.apiAuth.deleteToken();\n setTimeout(() => {\n window.location.reload();\n }, 500);\n }\n\n\n cerrarError() {\n this.cerrarSesion();\n }\n\n //Validacion que los campos sean ingresados correctamente\n validaCampos() {\n let bandValida = true;\n if (this.contactForm.controls.email.hasError('required')) {\n this.email = 'is-invalid';\n bandValida = false;\n this.errorEmail = 'Ingrese un correo';\n } else if (this.contactForm.controls.email.hasError('pattern')) {\n this.email = 'is-invalid';\n this.errorEmail = 'Ingrese un correo valido';\n bandValida = false;\n } else {\n this.email = '';\n this.errorEmail = '';\n }\n\n if (this.contactForm.controls.password.hasError('required')) {\n this.pass = 'is-invalid';\n bandValida = false;\n this.errorPass = 'Ingrese la contraseña';\n } else {\n this.pass = '';\n this.errorPass = '';\n }\n\n return bandValida;\n }\n\n //Controla el comportamiento de mostrar o no el dropdown de login, dependiento de la vista en que se encuentre\n onActivate(evento) {\n let url = evento.router.routerState.snapshot.url;\n this.url_activa = url;\n switch(url) {\n case '/aviso-privacidad':\n this.ingresar = true;\n break;\n case '/registro':\n this.ingresar = false;\n break;\n case '/login':\n this.ingresar = false;\n break;\n case '/restablecer':\n this.ingresar = false;\n break;\n case '/restablecer-contrasena':\n this.ingresar = false;\n break;\n case '/reenviar-correo':\n this.ingresar = false;\n break;\n default:\n this.ingresar = true;\n }\n this.checaLogin();\n if (this.ingresar) {\n setTimeout( () => {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n if (proveedor !== null ){\n this.actualizaRFC(proveedor.RFC);\n }\n }, 1);\n }\n }\n\n //Se loguea cuando se hace el preregistro de algun usuario\n onLoginRegistro(correo: string, pass: string) {\n this.apiAuth.onLogin(correo, pass).subscribe(data =>\n {\n /*Si las credenciales son válidas*/\n if (data[0].success == true) {\n this.alerta = false;\n this.checkLogin = false;\n this.apiAuth.setToken(data[0].info);\n /*Obtiene info del proveedor para mostrar el RFC en el botón \"Ingresar\" */\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n this.actualizaRFC(proveedor.RFC);\n this.checaLogin();\n }\n });\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { RecaptchaModule, RecaptchaSettings, RECAPTCHA_SETTINGS } from 'ng-recaptcha';\nimport { AppRoutingModule } from './app-routing.module';\nimport { Globals } from './globals';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskModule } from 'ngx-mask'; //npm install --save ngx-mask\nimport { DataTablesModule} from 'angular-datatables';\n\n/*Importación para Culture Español*/\nimport localeEs from '@angular/common/locales/es';\nimport { registerLocaleData } from '@angular/common';\n\nimport { AppComponent } from './app.component';\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\nimport { RegistroComponent } from './components/admin/registro/registro.component';\nimport { HomeComponent } from './components/admin/home/home.component';\nimport { AvisoPrivacidadComponent } from './components/negocio/aviso-privacidad/aviso-privacidad.component';\nimport { RegistroUsuariosComponent } from './components/admin/registro-usuarios/registro-usuarios.component';\nimport { RegistroDocsarchComponent } from './components/admin/registro-docsarch/registro-docsarch.component';\nimport { PrincipalComponent } from './components/negocio/principal/principal.component';\nimport { AdquisicionesComponent } from './components/negocio/adquisiciones/adquisiciones.component';\nimport { RestablecerComponent } from './components/admin/restablecer/restablecer.component';\nimport { RestablecerContrasenaComponent } from './components/admin/restablecer-contrasena/restablecer-contrasena.component';\nimport { ProcedimientosComponent } from './components/negocio/procedimientos/procedimientos.component';\nimport { ProcedimientosDetalleComponent } from './components/negocio/procedimientos-detalle/procedimientos-detalle.component';\nimport { ProcsComponent } from './components/negocio/participa/procedimientos/procs.component';\nimport { InfoGralProductoComponent } from './components/negocio/participa/flujo-producto/infoGral-producto/infoGral-producto.component';\nimport { DateLongPipe } from './pipes/date-long.pipe';\nimport { CountDownComponent } from './components/generales/count-down/count-down.component';\nimport { OrdenCompraProductoComponent } from './components/negocio/participa/flujo-producto/ordenCompra-producto/ordenCompra-producto.component';\nimport { SubirCotizacionProductoComponent } from './components/negocio/participa/flujo-producto/subirCotizacion-producto/subirCotizacion-producto.component';\nimport { MenuProductoComponent } from './components/negocio/participa/flujo-producto/menu-producto/menu-producto.component';\nimport { AvisoPrivLogComponent } from './components/negocio/aviso-priv-log/aviso-priv-log.component';\nimport { MenuObraComponent } from './components/negocio/participa/flujo-obra/menu-obra/menu-obra.component';\nimport { InfoGralObraComponent } from './components/negocio/participa/flujo-obra/info-gral-obra/info-gral-obra.component';\nimport { PlazofecObraComponent } from './components/negocio/participa/flujo-obra/plazofec-obra/plazofec-obra.component';\nimport { SubirPropuestaObraComponent } from './components/negocio/participa/flujo-obra/subir-propuesta-obra/subir-propuesta-obra.component';\nimport { MenuPerfilComponent } from './components/admin/menu-perfil/menu-perfil.component';\nimport { VerificarComponent } from './components/admin/verificar/verificar.component';\nimport { PropuestaObraComponent } from './components/negocio/participa/flujo-obra/propuesta-obra/propuesta-obra.component';\nimport { ProcedimientosDetObraComponent } from './components/negocio/procedimientos-det-obra/procedimientos-det-obra.component';\nimport { ReenviarCorreoComponent } from './components/admin/reenviar-correo/reenviar-correo.component';\nimport { FiltroItemsPipe } from './pipes/filtro-items.pipe';\nimport { PadronProveedoresComponent } from './components/negocio/padron-proveedores/padron-proveedores.component';\n\nregisterLocaleData(localeEs, 'es');\n\nconst globalSettings: RecaptchaSettings = { siteKey: '6Ld-KrQUAAAAAIq5oj4Gs6HPJG4sTWMdpR5tdVIp' };\n\n@NgModule({\n declarations: [\n AppComponent,\n PageNotFoundComponent,\n RegistroComponent,\n HomeComponent,\n AvisoPrivacidadComponent,\n RegistroUsuariosComponent,\n RegistroDocsarchComponent,\n PrincipalComponent,\n AdquisicionesComponent,\n RestablecerComponent,\n RestablecerContrasenaComponent,\n ProcedimientosComponent,\n ProcedimientosDetalleComponent,\n ProcsComponent,\n InfoGralProductoComponent,\n DateLongPipe,\n CountDownComponent,\n MenuProductoComponent,\n OrdenCompraProductoComponent,\n SubirCotizacionProductoComponent,\n AvisoPrivLogComponent,\n MenuObraComponent,\n InfoGralObraComponent,\n PlazofecObraComponent,\n SubirPropuestaObraComponent,\n MenuPerfilComponent,\n VerificarComponent,\n PropuestaObraComponent,\n ProcedimientosDetObraComponent,\n ReenviarCorreoComponent,\n FiltroItemsPipe,\n PadronProveedoresComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RecaptchaModule.forRoot(),\n NgxMaskModule.forRoot()\n ,DataTablesModule\n ],\n providers: [Globals,\n {\n provide: RECAPTCHA_SETTINGS,\n useValue: globalSettings,\n },\n [ { provide: localeEs, useValue: 'es' } ],\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vaG9tZS9ob21lLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiAuthService } from '../../../services/api-auth.service';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { isNullOrUndefined } from 'util';\nimport { ApiDownloadFileService } from '../../../services/api-download-file.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n\n public lock: boolean = false;\n\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n\n constructor(private router: Router, private apiAuth: ApiAuthService,private apiDownload: ApiDownloadFileService) {\n }\n\n ngOnInit() {\n }\n\n revisaLogin() {\n /*Si el proveedor esta logueado accede a proced-proveedor, sino solo procedimientos. */\n let rutaProc: string = '/procedimientos';\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n return rutaProc;\n }\n\n //Descargar del Manual\n descargaManual() {\n window.open('/assets/pdf/AD-CR-IT-01 Manual de Operación de Plataforma Adquisiciones y Obra Pública.pdf', '_blank');\n }\n\n //Descargar del Manual\n descargaManualPrest() {\n window.open('/assets/pdf/AD-CR-IT-03 Manual de Registro.pdf', '_blank');\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vbWVudS1wZXJmaWwvbWVudS1wZXJmaWwuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-menu-perfil',\n templateUrl: './menu-perfil.component.html',\n styleUrls: ['./menu-perfil.component.css']\n})\nexport class MenuPerfilComponent implements OnInit {\n\n /*Opciones Menu*/\n public info: boolean = true; //Controla si se muestra el componente registro-usuarios\n public docs: boolean = false; //Controla si se muestra el componente registro-docsarch\n\n constructor(private router: Router) { }\n\n ngOnInit() {\n }\n\n ActualizaView(opcion: string){\n /*Refresca los componentes que se deben mostrar al usuario*/\n if (opcion === 'info') {\n this.info = true;\n this.docs = false;\n }\n\n if (opcion === 'docs') {\n this.info = false;\n this.docs = true;\n }\n\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vcmVlbnZpYXItY29ycmVvL3JlZW52aWFyLWNvcnJlby5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ApiAuthService } from '../../../services/api-auth.service';\ndeclare var $: any;\n\n\n@Component({\n selector: 'app-reenviar-correo',\n templateUrl: './reenviar-correo.component.html',\n styleUrls: ['./reenviar-correo.component.css']\n})\nexport class ReenviarCorreoComponent implements OnInit {\n\n public txtCorreo: string = '';\n public correo: string = ''; //Variable para guadar la clase is-invalid que se agrega a las propiedades de los input\n public alerta: boolean = false; //Controla el comportamiento del mensaje de error.\n\n public errorCorreo: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorNoExiste: string = ''; //Mensaje de error en caso de que no exista el correo\n\n //Patron que se ejecuta en el ingreso del email en el input\n emailPattern: any = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n //Creacion del FormGroup con sus determinados campos y sus validators.\n createFormGroup() {\n return new FormGroup({\n correo: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)])\n });\n }\n\n contactForm: FormGroup;\n constructor(private router: Router, private apiAuth: ApiAuthService) { \n this.contactForm = this.createFormGroup();\n }\n\n ngOnInit() {\n }\n\n //Enviar correo de verificacion\n enviar() {\n if (this.validaCampos()) {\n $('#procesando').modal('show');\n let correo = this.contactForm.get('correo').value;\n this.apiAuth.reenviarCorreo(correo).subscribe(data => {\n if (data[0].success) {\n this.alerta = false;\n setTimeout(() => {\n $('#procesando').modal('hide');\n $('#success').modal('show');\n }, 500);\n } else {\n this.alerta = true;\n this.errorNoExiste = data[0].msgRespuesta;\n }\n });\n }\n }\n\n //Validaciones de campos completos\n validaCampos() {\n let bandValida = true;\n if (this.contactForm.controls.correo.hasError('required')) {\n this.correo = 'is-invalid';\n this.errorCorreo = 'Campo sin completar';\n bandValida = false;\n } else if (this.contactForm.controls.correo.hasError('pattern')){\n bandValida = false;\n this.correo = 'is-invalid';\n this.errorCorreo = 'Formato correo incorrecto';\n } else {\n this.correo = '';\n this.errorCorreo = '';\n }\n\n return bandValida;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vcmVnaXN0cm8tZG9jc2FyY2gvcmVnaXN0cm8tZG9jc2FyY2guY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, ViewChild, ElementRef, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Proveedor } from '../../../models/Proveedor';\nimport { ApiAuthService } from '../../../services/api-auth.service';\nimport { ApiUploadFileService } from '../../../services/api-upload-file.service';\nimport { ApiDownloadFileService } from '../../../services/api-download-file.service';\nimport { ApiRegistryService } from '../../../services/api-registry.service';\nimport { ApiParametrosService } from '../../../services/api-parametros.service';\nimport { Globals } from '../../../globals';\n\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-registro-docsarch',\n templateUrl: './registro-docsarch.component.html',\n styleUrls: ['./registro-docsarch.component.css']\n})\nexport class RegistroDocsarchComponent implements OnInit {\n\n registros: any [] = [];\n pk_proveedor: string = '';\n vpnGoddocs: string = '';\n comentarios: string = '';\n\n public files: FileList; // Variable para guardar el archivo que se va a cargar\n public vpnMov; //Movimiento a realizar -> 1 - Guardar. 2 - Eliminar\n public vpsTipoProv; //Tipo de proveedor\n public vpsCveDoc; //Clave del documento\n public cveReporteSol: string; //Clave del reporte de solicitud que se puede imprimir\n public cveReporCons: string; //Clave del reporte de constancia que se puede imprimir\n\n public mensajeAlerta: string = ''; //Mensaje que se muestra en el modal de alerta\n public mensajeExito: string = ''; //Mensaje que se muestra en el modal de exito\n public tipoAlerta: number; //Indicador del modal de alerta, segun la opción correspondiente -> 0-Eliminar Archivo. 1-Finalizar proceso. 3-Alerta.\n public tipoMov: number = 0; //Guarda el movimiento que se hizo, guardar-eliminar archivo o finalizar proceso, para recargar o redirigir a otro componente dependiendo del movimiento.\n public bloqueaNoActiv: number = 0; //Variable para el comportamiento de la pagina, mostrar y ocultar botones, si el estado del proveedor ya esta en captura finalizada.\n public estado: string;\n public cveProvedor: string = ''; //Guarda la clave del proveedor\n\n public PK_TIPO_PROVEEDOR: string = '';\n public etiquetaTitulo: string = 'Pre-registro de Proveedores, Contratistas y Prestadores de Servicio'; //Titulo principal de la pagina\n\n public mensajeError: string = '';//Mensaje que se muestra en el modal de error\n public error: number; //Guardar el estatus del error cuando se presenta uno.\n requiredFileType:string = \".pdf, image/jpeg, image/png\";\n public indtip:string = '0';\n @Input() public titulo: number; //Variable para controlar el titulo de la pagina\n @ViewChild('myInput', {static: false}) myInput: ElementRef; //Controla el input file\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef; //Propiedad para la descarga de un archivo\n constructor(private router: Router, private apiRegistry: ApiRegistryService, private apiAuth: ApiAuthService,\n private apiUpload: ApiUploadFileService, private apiDownload: ApiDownloadFileService,\n public globals: Globals) { }\n\n ngOnInit() {\n if (this.titulo === 1){\n this.etiquetaTitulo = 'Perfil';\n }\n $('#mod_procesando').modal('show');\n this.getInfoProv();\n }\n\n //Obtiene la plantilla que se muestra en la tabla\n getPlantillaDoc() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();//Decodifica token\n this.estado = proveedor.Tipo;//Estado del proveedor\n this.indtip = proveedor.TipoProv;\n\n this.apiRegistry.getPlantillaDoc(proveedor.Correo, this.pk_proveedor).subscribe(data => {\n if (data[0].success) {\n if (data[0].info !== '{}' && data[0].info !== '[]') {\n let datos = data[0].info;\n datos = JSON.parse(datos);\n this.registros = datos;\n $(document).ready(function() {\n $('[data-toggle=\"tooltip\"]').tooltip();\n });\n this.noActivo();//Checar si esta en NO ACTIVO\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n //Error 401, token esta caducado\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene la información del proveedor\n getInfoProv() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded(); //Decodifica token\n this.indtip = proveedor.TipoProv;\n\n this.apiRegistry.getInformacionRfc(proveedor.RFC).subscribe(data => {\n if (data[0].success) {\n if (data[0].info !== '{}' && data[0].info !== '[]') {\n let datos = data[0].info;\n datos = JSON.parse(datos);\n this.cveProvedor = datos[0].CLAVEPROV;\n this.pk_proveedor = datos[0].PK_FKCPRCO;\n this.cveReporteSol = datos[0].CVESOLINSC;//Cve reporte solicitud\n this.cveReporCons = datos[0].CVECONSTA;//Cve reporte constancia\n this.PK_TIPO_PROVEEDOR = datos[0].PK_TIPO_PROVEEDOR;\n if(this.PK_TIPO_PROVEEDOR === '4'){\n this.requiredFileType = 'application/pdf, image/jpg, image/jpeg, image/png';\n }else{\n this.requiredFileType = '*';\n }\n this.getPlantillaDoc();//Obtener plantilla de los documentos\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n //Error 401, token esta caducado\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Al detectar el change en el input file.\n cargarArchivo(files: FileList) {\n console.log(\"File: \"+files[0].type);\n if(this.PK_TIPO_PROVEEDOR === '4'){\n if(files[0].type === \"application/pdf\" || files[0].type === \"image/jpeg\" || files[0].type === \"image/jpg\" || files[0].type === \"image/png\"){\n this.files = files;//Asigna el archivo que se seleccionó en el input file a la variable files.\n }else{///Quitar el documento\n this.myInput.nativeElement.value = '';\n }\n }else{\n this.files = files;//Asigna el archivo que se seleccionó en el input file a la variable files.\n }\n }\n\n\n //Guardar archivo\n guardarArchivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();//Decodifica el token\n //Si hay archivos seleccionados\n if (this.files !== undefined && this.files.length > 0) {\n $('#mod_procesando').modal('show');\n this.apiUpload.postFile(proveedor.Correo,this.vpnMov,this.pk_proveedor,this.vpsTipoProv,this.vpsCveDoc,this.vpnGoddocs,this.comentarios,this.files[0]).subscribe(data => {\n if (data[0].success) {\n this.tipoMov = 0;\n setTimeout( () => {\n this.mensajeExito = '¡El documento ha sido cargado correctamente!';\n $('#mod_procesando').modal('hide');\n $('#success_exito').modal('show');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n //Error 401, token esta caducado\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n $('#info').modal('show');\n }\n }\n\n //Eliminar Archivo\n eliminarArchivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();//Decodifica el token\n $('#mod_procesando').modal('show');\n this.apiUpload.deleteFile(proveedor.Correo,this.vpnMov,this.pk_proveedor,this.vpsTipoProv,this.vpsCveDoc,this.vpnGoddocs).subscribe(data => {\n if (data[0].success) {\n this.tipoMov = 0;\n setTimeout( () => {\n this.mensajeExito = '¡El documento ha sido eliminado correctamente!';\n $('#mod_procesando').modal('hide');\n $('#success_exito').modal('show');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n //Error 401, token esta caducado\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Asigna los valores a las variables correspondientes, para realizar guardado o eliminado de archivos.\n arch(mov: string, cvedoc: string, goddocs: string, tipodocto: string) {\n this.myInput.nativeElement.value = ''; //Limpia el input file\n this.comentarios = '', //Limpia los comentarios\n this.vpnMov = mov;\n this.vpsCveDoc = cvedoc;\n this.vpnGoddocs = goddocs;\n this.vpsTipoProv = tipodocto;\n this.mensajeAlerta = '¿Estás seguro que desea eliminar el documento?';\n this.tipoAlerta = 0;\n }\n\n\n //Revisa que todos los documentos obligatorios esten cargados, en caso contrario se mostrara una alerta con el mensaje correspondiente.\n finalizar() {\n let bandValida = true;\n for (let i =0; i {\n if (data[0].success) {\n this.tipoMov = 1;\n setTimeout( () => {\n if(this.estado !== this.globals.ESTATUS_REFRENDO){\n this.mensajeExito = '¡El preregistro se realizó exitosamente!';\n }else{\n this.mensajeExito = '¡Refrendo completado!';\n }\n $('#mod_procesando').modal('hide');\n $('#success_exito').modal('show');\n }, 500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n //Error 401, token esta caducado\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Recargar al plantilla de los documentos(tabla).\n recargar() {\n this.getPlantillaDoc();\n }\n\n //Muestra modal de exito, despues de finalizar el proceso\n exito() {\n\n if(this.estado !== this.globals.ESTATUS_REFRENDO){\n $('#success').modal('show');\n }else{\n $('#success_refrendo').modal('show');\n }\n\n }\n\n descargaArchivo(cvedoc: string, nombre: string) {\n this.apiDownload.downloadFile(cvedoc).subscribe( result => {\n let url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n imprimirConstancia() {\n window.open(this.globals.BASE_URL_REPORTE + `ViewerExt.aspx?cverep=${ this.cveReporCons }`, '_blank');\n }\n\n imprimirSolicitud() {\n window.open(this.globals.BASE_URL_REPORTE + `ViewerExt.aspx?cverep=${ this.cveReporteSol }`, '_blank');\n }\n\n\n reemplazaCaracter(evento) {\n let cadena = evento.target.value;\n cadena = cadena.replace(/[\"/\\\\]/g, '');\n cadena = cadena.replace(/[&\\\\]/g, ' and ');\n evento.target.value = cadena;\n this.comentarios = cadena;\n }\n\n noActivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n if (proveedor.Tipo === '1' || proveedor.Tipo === '2' || proveedor.Tipo === '3') {\n this.bloqueaNoActiv = 1;\n } else {\n this.bloqueaNoActiv = 0;\n }\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vcmVnaXN0cm8tdXN1YXJpb3MvcmVnaXN0cm8tdXN1YXJpb3MuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiRegistryService } from '../../../services/api-registry.service';\nimport { ApiParametrosService } from '../../../services/api-parametros.service';\nimport { ApiAuthService } from '../../../services/api-auth.service';\nimport { Proveedor } from '../../../models/Proveedor';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { FiltroItemsPipe } from '../../../pipes/filtro-items.pipe';\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-registro-usuarios',\n templateUrl: './registro-usuarios.component.html',\n styleUrls: ['./registro-usuarios.component.css']\n})\nexport class RegistroUsuariosComponent implements OnInit {\n\n tipoPersona: string = 'M';\n radioProveedor: string = 'S';\n //Para los input de Datos Generales\n txtRazonSocial: string = '';\n txtNombreComercial: string = '';\n selGiro: string = '-1';\n ///GRADO DE ESTUDIOS\n selNivel:string = '6';\n ///GRADO DE ESTUDIOS\n txtNumCedula:string = '';\n ///PAIS\n selPais:string = '1';\n classPais:string = '';\n datapaises: any[] = [];\n //Estado\n selEstado:string = '1';\n classEdo:string = '';\n dataestados: any[] = [];\n //Ciudad\n selCiud:string = '';\n classCiud:string = '';\n dataciud: any[] = [];\n ciudDescri:string='';\n classciudDescri:string='';\n //\n radioSexo:string = '1';\n //\n fechaNacimiento:string = '';\n fecha = new Date();\n año = this.fecha.getFullYear()-18;//Para que sea mayor de edad\n maxfechaNac = this.año+'-12-31';\n classfechaNac:string = '';\n\n selEstratificacion: string = '-1';\n selRepresentante: string = '1';\n selAsentamiento: string = '';\n selVialidad: string = '1';\n subcontratacion: string = '0';\n txtObjetoSocial: string = '';\n txtNoCeduPadr: string = '';\n txtRepreLeg: string = '';\n txtCurpRepTec: string = '';\n txtCurpRepLegal: string = '';\n txtApePatRepreLeg: string = '';\n txtApeMatRepreLeg: string = '';\n txtRepreTec: string = '';\n txtApePatRepreTec: string = '';\n txtApeMatRepreTec: string = '';\n txtCurpF: string = '';\n txtNombreF: string = '';\n txtApePatF: string = '';\n txtApeMatF: string = '';\n txtActiEmp: string = '';\n txtNoCeduPadrF: string = '';\n //Para los inputs de la informacion de usuarios\n //Domicilio Fiscal\n txtCalle: string = '';\n txtNumero: string = '';\n txtInterior: string = '';\n txtCP: string = '';\n txtNumTel1: string = '';\n selColonia: string = '-1';\n selCiudadMuni: string = '-1';\n selEstados: string = '-1';\n //Contacto\n txtCurp: string = '';\n txtNombre: string = '';\n txtApePat: string = '';\n txtApeMat: string = '';\n txtCorreElec: string = '';\n txtTelef: string = '';\n txtMovil: string = '';\n txtCorreEmpre: string = '';\n txtPaginaWeb: string = '';\n //Datos Bancarios\n txtCuenta: string = '';\n txtCuentaClabe: string = '';\n selBanco: string = '-1';\n //Para las clases de inputs vacios\n razonSocial: string = '';\n nombreComercial: string = '';\n giro: string = '';\n //ASOLEDAD 04/02/2022 gRADO DE ESTUDIOS\n grado: string = '';\n //asoledad 19/05/2022 Cedula Profesional\n numcedula: string = '';\n ocultaCed: boolean = false;\n\n estrati: string = '';\n colon: string = '';\n objetoSocial: string = '';\n noCeduPadr: string = '';\n repreLeg: string = '';\n apePatRepreLeg: string = '';\n apeMatRepreLeg: string = '';\n curpRepTec: string = '';\n curpRepLegal: string = '';\n correoRepL: string ='';\n telefonoRepL: string = '';\n telcelRepL: string = '';\n correoRepT: string = '';\n telefonoRepT: string = '';\n telcelRepT: string = '';\n repreTec: string = '';\n apePatRepreTec: string = '';\n apeMatRepreTec: string = '';\n curpF: string = '';\n nombreF: string = '';\n apePatF: string = '';\n apeMatF: string = '';\n actiEmp: string = '';\n noCeduPadrF: string = '';\n //Para las clases en en Domicilio Fiscal\n calle: string = '';\n numero: string = '';\n interior: string = '';\n cp: string = '';\n vialidadClass: string = '';\n disabledCp: boolean = true;\n spinn: string = '';\n spinner: string = 'uaa-none';\n numtel1: string = '';\n //Contacto\n curp: string = '';\n nombre: string = '';\n apePat: string = '';\n apeMat: string = '';\n correElec: string = '';\n telef: string = '';\n movil: string = '';\n correEmpre: string = '';\n //Bancarios\n banc: string = '';\n cuenta: string = '';\n cuentaClabe: string = '';\n\n estados: any[] = [];\n municipios: any[] = [];\n colonias: any[] = [];\n giros: any[] = [];\n grados: any[] = [];\n estratificacion: any[] = [];\n bancos: any[] = [];\n representantes: any[] = [];\n vialidad: any[] = [];\n asentamiento: any[] = [];\n desactivaDatosCt: boolean = true;\n fcccuba: string = '';\n fkcprco: string = '';\n fkcpers: string = '';\n fkcpersRl: string = '';\n fkcpersRt: string = '';\n fkcpersCt: string = '';\n telefonoRl: string = '';\n telcelRl: string = '';\n correoRl: string = '';\n telefonoRt: string = '';\n telcelRt: string = '';\n correoRt: string = '';\n radioSituacion: string = '2';\n radioTipo: string = 'S';\n tipo:string = '0';\n //Patron que se ejecuta en el ingreso del email en el input\n emailPattern: any = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n //Patron que se ejecuta en el ingreso de la CURP en el input\n curpPattern: any = /^([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0\\d|1[0-2])(?:[0-2]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)$/;\n\n //BLOQUEA EDICION DE CAMPOS\n public bloquea: boolean = false;\n public bloqTip: boolean = false;\n //ERRORES\n public errorCorreo: string = '';\n public errorCorreoEmp: string = '';\n public errorCorreoRl: string = '';\n public errorCorreoRt: string = '';\n public errorCurpRl: string = '';\n public errorCurpRt: string = '';\n public errorCurp: string = '';\n\n public mensajeError: string = '¡Error!';\n public errorCamposInc: boolean = false;\n public error: number;\n\n public errorCLABE: string = '';\n public errorCuenta:string = '';\n //TEXTO ETIQUETA\n etiquetrepr: string = 'REPRESENTANTE LEGAL';\n etiquetCveProv: string = '';\n etiquetaEstatus: string = '';\n etiquetaTitulo: string = 'Pre-registro de Proveedores, Contratistas y Prestadores de Servicio';\n\n @Input() public id: number;\n @Input() public titulo: number;\n\n datagiros: any[] = []; //Guarda los giros\n datagrados: any[] = []; //Guarda los giros\n\n //Creacion del FormGroup con sus determinados campos y sus validators.\n createFormGroup() {\n return new FormGroup({\n correoContacto: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)]),\n correoEmpresa: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)]),\n correoRl: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)]),\n correoRt: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)]),\n curpRl: new FormControl('', [Validators.required, Validators.pattern(this.curpPattern)]),\n curpRt: new FormControl('', [Validators.required, Validators.pattern(this.curpPattern)]),\n curp: new FormControl('', [Validators.required, Validators.pattern(this.curpPattern)])\n });\n }\n\n contactForm: FormGroup;\n constructor(private router: Router,private apiRegistry: ApiRegistryService, private apiParam: ApiParametrosService, private apiAuth: ApiAuthService) {\n this.contactForm = this.createFormGroup();\n this.tipoPersona += this.radioProveedor;\n// console.log(this.router.routerState.snapshot.url);\n let url = this.router.routerState.snapshot.url;\n\n //Si el proveedor ya tiene informacion\n if (url === '/registro-usuarios/1') {\n //Carga información guardada\n this.tipo = '1';\n this.cargaInformacion();\n } else if (url === '/registro-usuarios/0') { //Si el proveedor no tiene informacion\n this.tipo = '0';\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n this.apiRegistry.getInformacionRfc(proveedor.RFC).subscribe(data => {\n if (data[0].success) {\n console.log(\"Info \"+data[0].info);\n if (data[0].info !== '{}' && data[0].info !== '[]') {\n let datos = data[0].info;\n datos = JSON.parse(datos);\n this.etiquetCveProv = datos[0].CLAVEPROV;\n this.etiquetaEstatus = datos[0].ESTATUS_DESCRI;\n this.cargaDatos(datos);\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n //Seleccionar Situacion Fiscal con respescto a su RFC 12 digitos -> MORAL, 13 digitos -> FISICA\n if (proveedor.RFC.length === 12) {\n this.radioSituacion = '2';\n } else if (proveedor.RFC.length === 13) {\n this.radioSituacion = '1';\n }\n let radioSit = this.radioSituacion == '1' ? 'F' : 'M';\n this.tipoPersona = radioSit + this.radioTipo;\n //console.log(\"Radios:\"+this.radioTipo+\" Tipo \"+proveedor.TipoProv);\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n //this.getGiros();\n this.getEstratificacion();\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n\n }\n }\n\n ngOnInit() {\n if (this.titulo === 1){\n this.etiquetaTitulo = 'Perfil';\n }\n if (this.id === 1) {\n this.cargaInformacion();\n }\n $('#mod_procesando').modal('show');\n }\n\n //Obtiene los giros\n getGiros() {\n this.datagiros = [];\n let cveLov = 'LOVGIROSAO';\n let tipoProv = this.radioProveedor == 'S' ? 1 : this.radioProveedor == 'O' ? 2 :this.radioProveedor == 'A' ? 3:4;\n let cadena = 'VPS_TIPOPROV:cadena=' + tipoProv;\n this.apiRegistry.getLovs(cveLov, cadena).subscribe(data => {\n if (data[0].success) {\n let gir = data[0].info;\n this.giros = JSON.parse(gir);\n let aux,\n cont = 0;\n for (let index = 0; index < this.giros.length; index++) {\n //Condiciones para poner en optgroup o opction\n //INDPAD -> 1 - Indica que si tiene optgroup con options\n if(this.giros[index].INDPAD === '1') {\n this.datagiros.push({PK_CONSEC: this.giros[index].PK_CONSEC, DESCRI: this.giros[index].DESCRI, ITEMS: []});\n aux = cont;\n cont++;\n //INDPAD -> 2 - Indica que no tiene optgroup solo option\n } else if(this.giros[index].INDPAD === '0'){\n this.datagiros[aux].ITEMS.push(this.giros[index]);\n }\n }\n this.getGradoEstudios();\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n setTimeout(() => {\n if($('#selGir option:selected').text() == '') {\n this.selGiro = '-1';\n }\n }, 100);\n\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene estratificacion\n getEstratificacion() {\n let tabla = 'FKCPRCO';\n let campo = 'INDESTRA';\n this.apiRegistry.getEstratificacion(tabla, campo).subscribe(data => {\n if (data[0].success) {\n this.estratificacion = data[0].info;\n this.getListaBancos();\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene lista de los bancos\n getListaBancos() {\n let cveLov = 'LOVBANCO';\n this.apiRegistry.getLovs(cveLov).subscribe(data => {\n if (data[0].success) {\n let banc = data[0].info;\n this.bancos = JSON.parse(banc);\n this.getAsentamiento();\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene asentamientos\n getAsentamiento() {\n let tabla = 'FKCPRCO',\n campo = 'INDASEN';\n this.apiRegistry.getIndicadores(tabla, campo).subscribe(data => {\n if (data[0].success) {\n this.asentamiento = data[0].info;\n this.getVialidad();\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n // if($('#selGir option:selected').text() == '') {\n // this.selGiro = '-1';\n // }\n }\n\n //Obtiene vialidad\n getVialidad() {\n let tabla = 'FKCPRCO',\n campo = 'INDVIAL';\n this.apiRegistry.getIndicadores(tabla, campo).subscribe(data => {\n if (data[0].success) {\n this.vialidad = data[0].info;\n this.getRepresentante();\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene personalidades del representante\n getRepresentante() {\n let tabla = 'FKCPRCO',\n campo = 'INDPLEG';\n this.apiRegistry.getIndicadores(tabla, campo).subscribe(data => {\n if (data[0].success) {\n this.representantes = data[0].info;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n this.getGiros();\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Cambia nombre de etiquetas de los representantes segun la personalidas del representante\n cambiaEtiquetas() {\n let represent = this.representantes.filter(a => a.clave == this.selRepresentante);\n this.etiquetrepr = represent[0].descripcion;\n }\n\n\n cambioPersona(tipo: string) {\n this.tipoPersona = tipo + this.radioProveedor;\n }\n\n //Al cambiar tipo de proveedor\n cambioProveedor(event) {\n this.radioProveedor = event.target.value;\n this.tipoPersona = this.tipoPersona.substring(0,1) + this.radioProveedor;\n this.getGiros();\n //console.log('Radio Proveedor: ' + this.tipoPersona);\n }\n\n //Registro\n registrar(band: boolean) {\n if ( this.validaDatosGenerales(band) && this.validaCampos(band) ) {\n this.errorCamposInc = false;\n this.guardarRegistro(band);\n } else {\n this.errorCamposInc = true;\n window.scroll(0, 0);\n }\n }\n\n //Cara de datos en los campos\n cargaDatos(datos) {\n this.radioSituacion = datos[0].PK_TIPO_PERSONA;\n if (this.radioSituacion === '') {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n //Seleccionar Situacion Fiscal con respescto a su RFC 12 digitos -> MORAL, 13 digitos -> FISICA\n if (proveedor.RFC.length === 12) {\n this.radioSituacion = '2';\n } else if (proveedor.RFC.length === 13) {\n this.radioSituacion = '1';\n }\n }\n let radioSit = this.radioSituacion == '1' ? 'F' : 'M';\n this.radioTipo = datos[0].PK_TIPO_PROVEEDOR == '1' ? 'S' : datos[0].PK_TIPO_PROVEEDOR == '2' ? 'O' :datos[0].PK_TIPO_PROVEEDOR == '3'? 'A':'P';\n this.radioProveedor = this.radioTipo;\n this.tipoPersona = radioSit + this.radioTipo;\n\n if(datos[0].PK_ESTATUS !== '0' && datos[0].PK_ESTATUS !== '4'){\n this.bloquea = true;\n }else{\n this.bloquea = false;\n }\n\n\n//------Se mueve seccion\n this.contactForm.controls.correoContacto.setValue(datos[0].CORREO_CONTACTO);\n //this.txtCorreEmpre = datos[0].CORREO_EMP_CONTACTO;\n this.contactForm.controls.correoEmpresa.setValue(datos[0].CORREO_EMP_CONTACTO);\n\n this.txtCurp = datos[0].CURP_CONTACTO;\n this.txtNombre = datos[0].NOMBRE_CONTACTO;\n this.txtApeMat = datos[0].APEMAT_CONTACTO;\n this.txtApePat = datos[0].APEPAT_CONTACTO;\n\n this.txtMovil = datos[0].MOVIL_CONTACTO;\n this.txtNumero = datos[0].NUMEXT;\n this.txtInterior = datos[0].NUMINT;\n this.txtNumTel1 = datos[0].TELEFONO;\n this.selBanco = datos[0].PK_BANCO;\n//------Se mueve seccion\n\n if (this.tipoPersona === 'MS') {\n this.txtObjetoSocial = datos[0].ACTIVIDAD_EMP;\n this.txtRepreLeg = datos[0].NOMBRE_RLEGAL;\n this.txtApePatRepreLeg = datos[0].APEPAT_RLEGAL;\n this.txtApeMatRepreLeg = datos[0].APEMAT_RLEGAL;\n //this.txtCurpRepLegal = datos[0].CURP_RLEGAL;\n this.contactForm.controls.curpRl.setValue(datos[0].CURP_RLEGAL);\n //this.correoRl = datos[0].CORREO_RLEGAL;\n this.contactForm.controls.correoRl.setValue(datos[0].CORREO_RLEGAL);\n this.telefonoRl = datos[0].TELEFONO_RLEGAL;\n this.telcelRl = datos[0].TELCEL_RLEGAL;\n this.selEstratificacion = datos[0].ESTRATIFICA;\n this.selGiro = datos[0].PK_GIRO;\n this.txtNombreComercial = datos[0].NOMBRE_COM;\n this.txtRazonSocial = datos[0].RAZSOC;\n this.selRepresentante = datos[0].INDPLEG;\n } else if (this.tipoPersona === 'MO' || this.tipoPersona === 'MA') {\n this.txtObjetoSocial = datos[0].ACTIVIDAD_EMP;\n this.txtRepreLeg = datos[0].NOMBRE_RLEGAL;\n this.txtApePatRepreLeg = datos[0].APEPAT_RLEGAL;\n this.txtApeMatRepreLeg = datos[0].APEMAT_RLEGAL;\n //this.txtCurpRepLegal = datos[0].CURP_RLEGAL;\n this.contactForm.controls.curpRl.setValue(datos[0].CURP_RLEGAL);\n //this.correoRl = datos[0].CORREO_RLEGAL;\n this.contactForm.controls.correoRl.setValue(datos[0].CORREO_RLEGAL);\n this.telefonoRl = datos[0].TELEFONO_RLEGAL;\n this.telcelRl = datos[0].TELCEL_RLEGAL;\n this.selEstratificacion = datos[0].ESTRATIFICA;\n this.selGiro = datos[0].PK_GIRO;\n this.txtNombreComercial = datos[0].NOMBRE_COM;\n this.txtRazonSocial = datos[0].RAZSOC;\n this.selRepresentante = datos[0].INDPLEG;\n this.txtNoCeduPadr = datos[0].CEDULA;\n //this.txtCurpRepTec = datos[0].CURP_RTECNICO;\n this.contactForm.controls.curpRt.setValue(datos[0].CURP_RTECNICO);\n this.txtRepreTec = datos[0].NOMBRE_RTECNICO;\n this.txtApePatRepreTec = datos[0].APEPAT_RTECNICO;\n this.txtApeMatRepreTec = datos[0].APEMAT_RTECNICO;\n // this.correoRt = datos[0].CORREO_RTECNICO;\n this.contactForm.controls.correoRt.setValue(datos[0].CORREO_RTECNICO);\n this.telefonoRt = datos[0].TELEFONO_RTECNICO;\n this.telcelRt = datos[0].TELCEL_RTECNICO;\n } else if (this.tipoPersona === 'FS') {\n // this.txtCurpF = datos[0].CURP;\n this.contactForm.controls.curp.setValue(datos[0].CURP);\n this.txtNombreF = datos[0].NOMBRE_PF;\n this.txtApePatF = datos[0].APEPAT_PF;\n this.txtApeMatF = datos[0].APEMAT_PF;\n this.selGiro = datos[0].PK_GIRO;\n this.txtActiEmp = datos[0].ACTIVIDAD_EMP;\n } else if (this.tipoPersona === 'FO' || this.tipoPersona === 'FA') {\n // this.txtCurpF = datos[0].CURP;\n this.contactForm.controls.curp.setValue(datos[0].CURP);\n this.txtNombreF = datos[0].NOMBRE_PF;\n this.txtApePatF = datos[0].APEPAT_PF;\n this.txtApeMatF = datos[0].APEMAT_PF;\n this.selGiro = datos[0].PK_GIRO;\n this.txtActiEmp = datos[0].ACTIVIDAD_EMP;\n this.txtNoCeduPadrF = datos[0].CEDULA;\n //Representante tecnico\n this.contactForm.controls.curpRt.setValue(datos[0].CURP_RTECNICO);\n this.txtRepreTec = datos[0].NOMBRE_RTECNICO;\n this.txtApePatRepreTec = datos[0].APEPAT_RTECNICO;\n this.txtApeMatRepreTec = datos[0].APEMAT_RTECNICO;\n this.contactForm.controls.correoRt.setValue(datos[0].CORREO_RTECNICO);\n this.telefonoRt = datos[0].TELEFONO_RTECNICO;\n this.telcelRt = datos[0].TELCEL_RTECNICO;\n }else if (this.tipoPersona === 'FP') {\n // this.txtCurpF = datos[0].CURP;\n this.contactForm.controls.curp.setValue(datos[0].CURP);\n //13/09/2022 ASOLEDAD\n this.txtNombreF = datos[0].NOMBRE_PF;\n this.txtApePatF = datos[0].APEPAT_PF;\n this.txtApeMatF = datos[0].APEMAT_PF;\n //this.selGiro = datos[0].PK_GIRO;\n this.selGiro = '0';\n this.txtActiEmp = datos[0].ACTIVIDAD_EMP;\n\n //this.contactForm.controls.txtCurp.setValue(datos[0].CURP);\n\n this.txtNombre = datos[0].NOMBRE_PF;\n this.txtApeMat = datos[0].APEPAT_PF;\n this.txtApePat = datos[0].APEMAT_PF;\n\n this.selNivel = datos[0].GRADEST;\n this.txtNumCedula = datos[0].NUMCED;\n this.getPaisesDatGen(datos[0].PAISNAC,datos[0].ESTADO,datos[0].MUNICIPIO);\n this.selPais = datos[0].PAISNAC;\n\n //this.getEstados(datos[0].PAISNAC,datos[0].ESTADO);\n this.selEstados = datos[0].ESTADO;\n\n //this.getCiudades(datos[0].ESTADO,datos[0].MUNICIPIO);\n\n this.selCiud = datos[0].MUNICIPIO;\n this.radioSexo = datos[0].SEXO;\n this.fechaNacimiento = datos[0].FECNAC;\n this.ciudDescri = datos[0].CIUDAD;\n\n\n }\n\n this.subcontratacion = datos[0].SUBCONTRATA;\n //Carga datos de domicilio fiscal, contacto y datos bancarios.\n this.txtTelef = datos[0].TELEFONO_CONTACTO;\n this.fcccuba = datos[0].PK_FCCCUBA;\n this.fkcprco = datos[0].PK_FKCPRCO;\n this.fkcpers = datos[0].PK_FKCPERS;\n this.fkcpersRl = datos[0].PK_FKCPERS_RLEGAL;\n this.fkcpersRt = datos[0].PK_FKCPERS_RTECNICO;\n this.fkcpersCt = datos[0].PK_FKCPERS_CONTACTO;\n this.txtCalle = datos[0].CALLE;\n this.selVialidad = datos[0].INDVIAL;\n //this.selAsentamiento = datos[0].INDASEN;\n this.txtPaginaWeb = datos[0].PAGWEB;\n this.txtCuentaClabe = datos[0].CLABE;\n //this.txtCorreElec = datos[0].CORREO_CONTACTO;\n\n this.txtCP = datos[0].CP;\n // this.cargaLocalidad();\n this.cargaLocalidad(datos[0].PK_ESTADO, datos[0].PK_MUNICIPIO, datos[0].PK_COLONIA);\n this.txtCuenta = datos[0].CUENTA;\n\n // this.selEstado = datos[0].PK_ESTADO;\n // this.selCiudadMuni = datos[0].PK_MUNICIPIO;\n // this.selColonia = datos[0].PK_COLONIA;\n\n }\n\n //Carga las localidades\n cargaLocalidad(estado, municipio, colonia) {\n //console.log(\"cP: \"+this.txtCP.length);\n if (this.txtCP.toString().length > 0) {\n //console.log(\"cP: \"+this.txtCP);\n this.apiRegistry.getCodigoPostal(this.txtCP).subscribe(data => {\n if (data[0].success) {\n let informac = data[0].info;\n informac = JSON.parse(informac);\n //console.log(\"Datos: \"+informac);\n if(informac.length > 1) {\n this.estados.push({nombre: informac[1].DESCRIEST, idEstado: informac[1].CVEEDO});\n this.municipios.push({nombre: informac[1].DESCRIMUN, idMunicipio: informac[1].CLAVEMUN});\n this.colonias = informac;\n this.selEstado = estado;\n this.selCiudadMuni = municipio;\n this.selColonia = colonia;\n let asent = this.colonias.filter(a => a.CVECOL == this.selColonia);\n this.selAsentamiento = asent[0].DESCRIASEN;\n }\n }\n });\n }\n\n }\n\n //Llamada al WS para guarda el registro\n guardarRegistro(bandera: boolean) {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n $('#mod_procesando').modal('show');\n this.limpiaCampos();\n //Se tendra que llamar al servicio de guardado de los datos\n let nocedula = this.tipoPersona.substring(0,1) == 'M' ? this.txtNoCeduPadr : this.txtNoCeduPadrF;\n let objSocial = this.tipoPersona.substring(0,1) == 'M' ? this.txtObjetoSocial : this.radioProveedor !== 'P'? this.txtActiEmp:\"PRESTADOR DE SERVICIO\";\n let sitfiscal = this.tipoPersona.substring(0,1) == 'M' ? 2 : 1;\n let tipoProv = this.radioProveedor == 'S' ? 1 : this.radioProveedor == 'O' ? 2 :this.radioProveedor == 'A' ? 3:4;\n\n\n let datosGen =\n {\n indfis: sitfiscal,\n indtip: tipoProv,\n nombcom: this.txtNombreComercial.toUpperCase(),\n razsoc: this.txtRazonSocial.toUpperCase(),\n giro: this.selGiro,\n estratifi: this.selEstratificacion,\n noCedPadEst: nocedula,\n pk_fkcpers: this.fkcpers,\n curp: this.txtCurpF.toUpperCase(),\n nombre: this.txtNombreF.toUpperCase(),\n apepat: this.txtApePatF.toUpperCase(),\n apemat: this.txtApeMatF.toUpperCase(),\n activEmp: objSocial.toUpperCase(),\n folio: this.fkcprco,\n rfc: proveedor.RFC,\n subcontrat: this.subcontratacion,\n representante: this.selRepresentante\n , gradoEstudio : this.selNivel\n , cedula: this.txtNumCedula\n\n , pais : this.selPais\n , estado : this.selEstados\n , ciudad : this.selCiud\n , fechaNac : this.fechaNacimiento\n , sexo : this.radioSexo\n , ciudadDesc : this.ciudDescri\n };\n\n let representantes =\n {\n pk_fkcpers_rl: this.fkcpersRl,\n curpReprLegal: this.txtCurpRepLegal.toUpperCase(),\n nomReprLegal: this.txtRepreLeg.toUpperCase(),\n apepatReprL: this.txtApePatRepreLeg.toUpperCase(),\n apematReprL: this.txtApeMatRepreLeg.toUpperCase(),\n telefono_rl: this.telefonoRl,\n telcel_rl: this.telcelRl,\n correo_rl: this.correoRl,\n pk_fkcpers_rt: this.fkcpersRt,\n curpReprTec: this.txtCurpRepTec.toUpperCase(),\n nomReprTec: this.txtRepreTec.toUpperCase(),\n apepatReprT: this.txtApePatRepreTec.toUpperCase(),\n apematReprT: this.txtApeMatRepreTec.toUpperCase(),\n telefono_rt: this.telefonoRt,\n telcel_rt: this.telcelRt,\n correo_rt: this.correoRt\n };\n\n let domicilioFis =\n {\n calle: this.txtCalle.toUpperCase(),\n numeroExt: this.txtNumero,\n numeroInt: this.txtInterior,\n cp: this.txtCP,\n colonia: this.selColonia,\n ciudMuni: this.selCiudadMuni,\n estado: this.selEstado,\n tel1: this.txtNumTel1,\n vialidad: this.selVialidad\n };\n\n let contacto =\n {\n pk_fkcpers_ct: this.fkcpersCt,\n curp: this.txtCurp.toUpperCase(),\n nombre: this.txtNombre.toUpperCase(),\n apepat: this.txtApePat.toUpperCase(),\n apemat: this.txtApeMat.toUpperCase(),\n correo: this.txtCorreElec,\n telef: this.txtTelef,\n movil: this.txtMovil,\n correoEmp: this.txtCorreEmpre,\n paginaweb: this.txtPaginaWeb\n };\n\n let datosBanco =\n {\n fcccuba: this.fcccuba,\n banco: this.selBanco,\n cuenta: this.txtCuenta,\n cuentaClabe: this.txtCuentaClabe\n };\n this.apiRegistry.registro(datosGen, representantes, domicilioFis, contacto, datosBanco).subscribe(data => {\n if (data[0].success) {\n this.fcccuba = data[0].info.fcccuba;\n this.fkcprco = data[0].info.pk_prov;\n this.fkcpers = data[0].info.fkcpers;\n this.fkcpersRl = data[0].info.fkcpers_rl;\n this.fkcpersRt = data[0].info.fkcpers_rt;\n this.fkcpersCt = data[0].info.fkcpers_ct;\n if (this.etiquetCveProv === '') {\n this.etiquetCveProv = this.fkcprco;\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n if(bandera){\n $('#success_exito').modal('show');\n } else {\n $('#success').modal('show');\n }\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n console.error('Error');\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n },500);\n });\n }\n\n siguiente() {\n this.router.navigate(['/registro-docsarch']);\n }\n\n\n cambio() {\n let asent = this.colonias.filter(a => a.CVECOL == this.selColonia);\n this.selAsentamiento = asent[0].DESCRIASEN;\n }\n\n //Checa codigo postal para traer el municipio y estado\n checaCp() {\n if (this.txtCP.length > 0) {\n this.spinn = 'uaa-w-87';\n this.spinner = '';\n this.disabledCp = false;\n this.apiRegistry.getCodigoPostal(this.txtCP).subscribe(data => {\n if (data[0].success) {\n this.spinn = '';\n this.spinner = 'uaa-none';\n this.disabledCp = true;\n let informac = data[0].info;\n informac = JSON.parse(informac);\n\n if(informac.length > 1) {\n this.estados = [];\n this.municipios = [];\n this.colonias = [];\n this.estados.push({nombre: informac[1].DESCRIEST, idEstado: informac[1].CVEEDO});\n this.municipios.push({nombre: informac[1].DESCRIMUN, idMunicipio: informac[1].CLAVEMUN});\n this.colonias = informac;\n this.selEstado = this.estados[0].idEstado;\n this.selCiudadMuni = this.municipios[0].idMunicipio;\n // $(\"#selectColonia option[value='-1']\").remove();\n this.selColonia = '0';\n } else {\n this.selEstado = '-1';\n this.selCiudadMuni = '-1';\n this.municipios = [];\n this.colonias = [];\n }\n } else {\n this.spinn = '';\n this.spinner = 'uaa-none';\n this.disabledCp = true;\n }\n });\n } else {\n this.selEstado = '-1';\n this.selCiudadMuni = '-1';\n this.municipios = [];\n this.colonias = [];\n }\n }\n\n //Validaciones para la seccion de datos generales\n validaDatosGenerales(band: boolean) {\n let bandValida = true;\n\n\n if (this.tipoPersona === 'MS') {\n if (this.txtRazonSocial === '') {\n this.razonSocial = 'is-invalid';\n bandValida = false;\n } else {\n this.razonSocial = '';\n }\n if (this.txtNombreComercial === '') {\n this.nombreComercial = 'is-invalid';\n bandValida = false;\n } else {\n this.nombreComercial = '';\n }\n\n if (this.selGiro === '-1') {\n this.giro = 'is-invalid';\n bandValida = false;\n } else {\n this.giro = '';\n }\n\n if (this.selEstratificacion === '-1') {\n this.estrati = 'is-invalid';\n bandValida = false;\n } else {\n this.estrati = '';\n }\n\n\n if (this.txtObjetoSocial === '') {\n this.objetoSocial = 'is-invalid';\n bandValida = false;\n } else {\n this.objetoSocial = '';\n }\n\n this.contactForm.controls.curpRl.setValue(this.contactForm.get('curpRl').value.toUpperCase());\n if (this.contactForm.controls.curpRl.hasError('required')) {\n bandValida = false;\n this.curpRepLegal = 'is-invalid';\n this.errorCurpRl = '';\n } else if (this.contactForm.controls.curpRl.hasError('pattern')) {\n bandValida = false;\n this.curpRepLegal = 'is-invalid';\n this.errorCurpRl = 'Formato Curp incorrecto';\n } else {\n this.errorCurpRl = '';\n this.curpRepLegal = '';\n this.txtCurpRepLegal = this.contactForm.get('curpRl').value;\n }\n // if (this.txtCurpRepLegal === '') {\n // this.curpRepLegal = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.curpRepLegal = '';\n // }\n\n if (this.txtRepreLeg === '') {\n this.repreLeg = 'is-invalid';\n bandValida = false;\n } else {\n this.repreLeg = '';\n }\n\n if (this.telefonoRl === '') {\n this.telefonoRepL = 'is-invalid';\n bandValida = false;\n } else {\n this.telefonoRepL = '';\n }\n\n if (this.telcelRl === '') {\n this.telcelRepL = 'is-invalid';\n bandValida = false;\n } else {\n this.telcelRepL = '';\n }\n\n\n if (this.contactForm.controls.correoRl.hasError('required')) {\n bandValida = false;\n this.correoRepL = 'is-invalid';\n this.errorCorreoRl = '';\n } else if (this.contactForm.controls.correoRl.hasError('pattern')) {\n bandValida = false;\n this.correoRepL = 'is-invalid';\n this.errorCorreoRl = 'Formato Correo incorrecto';\n } else {\n this.errorCorreoRl = '';\n this.correoRepL = '';\n this.correoRl = this.contactForm.get('correoRl').value;\n }\n // if (this.correoRl === '') {\n // this.correoRepL = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.correoRepL = '';\n // }\n\n if (band) {\n if (this.txtApePatRepreLeg === '') {\n this.apePatRepreLeg = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatRepreLeg = '';\n }\n\n if (this.txtApeMatRepreLeg === '') {\n this.apeMatRepreLeg = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatRepreLeg = '';\n }\n }\n } else if (this.tipoPersona === 'MO' || this.tipoPersona === 'MA') {\n if (this.txtRazonSocial === '') {\n this.razonSocial = 'is-invalid';\n bandValida = false;\n } else {\n this.razonSocial = '';\n }\n\n if (this.txtNoCeduPadr === '') {\n this.noCeduPadr = 'is-invalid';\n bandValida = false;\n } else {\n this.noCeduPadr = '';\n }\n\n if (this.txtRepreLeg === '') {\n this.repreLeg = 'is-invalid';\n bandValida = false;\n } else {\n this.repreLeg = '';\n }\n\n if (this.selGiro === '-1') {\n this.giro = 'is-invalid';\n bandValida = false;\n } else {\n this.giro = '';\n }\n\n if (this.selEstratificacion === '-1') {\n this.estrati = 'is-invalid';\n bandValida = false;\n } else {\n this.estrati = '';\n }\n\n this.contactForm.controls.curpRt.setValue(this.contactForm.get('curpRt').value.toUpperCase());\n if (this.contactForm.controls.curpRt.hasError('required')) {\n bandValida = false;\n this.curpRepTec = 'is-invalid';\n this.errorCurpRt = '';\n } else if (this.contactForm.controls.curpRt.hasError('pattern')) {\n bandValida = false;\n this.curpRepTec = 'is-invalid';\n this.errorCurpRt = 'Formato Curp incorrecto';\n } else {\n this.errorCurpRt = '';\n this.curpRepTec = '';\n this.txtCurpRepTec = this.contactForm.get('curpRt').value;\n }\n // if (this.txtCurpRepTec === '') {\n // this.curpRepTec = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.curpRepTec = '';\n // }\n\n if (this.txtNombreComercial === '') {\n this.nombreComercial = 'is-invalid';\n bandValida = false;\n } else {\n this.nombreComercial = '';\n }\n\n if (this.txtObjetoSocial === '') {\n this.objetoSocial = 'is-invalid';\n bandValida = false;\n } else {\n this.objetoSocial = '';\n }\n\n this.contactForm.controls.curpRl.setValue(this.contactForm.get('curpRl').value.toUpperCase());\n if (this.contactForm.controls.curpRl.hasError('required')) {\n bandValida = false;\n this.curpRepLegal = 'is-invalid';\n this.errorCurpRl = '';\n } else if (this.contactForm.controls.curpRl.hasError('pattern')) {\n bandValida = false;\n this.curpRepLegal = 'is-invalid';\n this.errorCurpRl = 'Formato Curp incorrecto';\n } else {\n this.errorCurpRl = '';\n this.curpRepLegal = '';\n this.txtCurpRepLegal = this.contactForm.get('curpRl').value;\n }\n // if (this.txtCurpRepLegal === '') {\n // this.curpRepLegal = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.curpRepLegal = '';\n // }\n\n if (this.txtRepreTec === '') {\n this.repreTec = 'is-invalid';\n bandValida = false;\n } else {\n this.repreTec = '';\n }\n\n if (this.telefonoRl === '') {\n this.telefonoRepL = 'is-invalid';\n bandValida = false;\n } else {\n this.telefonoRepL = '';\n }\n\n if (this.telcelRl === '') {\n this.telcelRepL = 'is-invalid';\n bandValida = false;\n } else {\n this.telcelRepL = '';\n }\n\n\n if (this.contactForm.controls.correoRl.hasError('required')) {\n bandValida = false;\n this.correoRepL = 'is-invalid';\n this.errorCorreoRl = '';\n } else if (this.contactForm.controls.correoRl.hasError('pattern')) {\n bandValida = false;\n this.correoRepL = 'is-invalid';\n this.errorCorreoRl = 'Formato Correo incorrecto';\n } else {\n this.errorCorreoRl = '';\n this.correoRepL = '';\n this.correoRl = this.contactForm.get('correoRl').value;\n }\n // if (this.correoRl === '') {\n // this.correoRepL = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.correoRepL = '';\n // }\n\n\n if (this.telefonoRt === '') {\n this.telefonoRepT = 'is-invalid';\n bandValida = false;\n } else {\n this.telefonoRepT = '';\n }\n\n if (this.telcelRt === '') {\n this.telcelRepT = 'is-invalid';\n bandValida = false;\n } else {\n this.telcelRepT = '';\n }\n\n\n if (this.contactForm.controls.correoRt.hasError('required')) {\n bandValida = false;\n this.correoRepT = 'is-invalid';\n this.errorCorreoRt = '';\n } else if (this.contactForm.controls.correoRt.hasError('pattern')) {\n bandValida = false;\n this.correoRepT = 'is-invalid';\n this.errorCorreoRt = 'Formato Correo incorrecto';\n } else {\n this.errorCorreoRt = '';\n this.correoRepT = '';\n this.correoRt = this.contactForm.get('correoRt').value;\n }\n // if (this.correoRt === '') {\n // this.correoRepT = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.correoRepT = '';\n // }\n\n if (band) {\n if (this.txtApePatRepreLeg === '') {\n this.apePatRepreLeg = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatRepreLeg = '';\n }\n\n if (this.txtApeMatRepreLeg === '') {\n this.apeMatRepreLeg = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatRepreLeg = '';\n }\n\n if (this.txtApePatRepreTec === '') {\n this.apePatRepreTec = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatRepreTec = '';\n }\n\n if (this.txtApeMatRepreTec === '') {\n this.apeMatRepreTec = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatRepreTec = '';\n }\n }\n } else if (this.tipoPersona === 'FS') {\n if (this.txtNombreF === '') {\n this.nombreF = 'is-invalid';\n bandValida = false;\n } else {\n this.nombreF = '';\n }\n\n if (this.txtApePatF === '') {\n this.apePatF = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatF = '';\n }\n\n if (this.txtApeMatF === '') {\n this.apeMatF = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatF = '';\n }\n\n if (this.selGiro === '-1') {\n this.giro = 'is-invalid';\n bandValida = false;\n } else {\n this.giro = '';\n }\n\n this.contactForm.controls.curp.setValue(this.contactForm.get('curp').value.toUpperCase());\n if (this.contactForm.controls.curp.hasError('required')) {\n bandValida = false;\n this.curpF = 'is-invalid';\n this.errorCurp = '';\n } else if (this.contactForm.controls.curp.hasError('pattern')) {\n bandValida = false;\n this.curpF = 'is-invalid';\n this.errorCurp = 'Formato Curp incorrecto';\n } else {\n this.errorCurp = '';\n this.curpF = '';\n this.txtCurpF = this.contactForm.get('curp').value;\n }\n // if (this.txtCurpF === '') {\n // this.curpF = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.curpF = '';\n // }\n\n if (this.txtActiEmp === '') {\n this.actiEmp = 'is-invalid';\n bandValida = false;\n } else {\n this.actiEmp = '';\n }\n } else if (this.tipoPersona === 'FO' || this.tipoPersona === 'FA') {\n if (this.txtNombreF === '') {\n this.nombreF = 'is-invalid';\n bandValida = false;\n } else {\n this.nombreF = '';\n }\n\n if (this.txtApePatF === '') {\n this.apePatF = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatF = '';\n }\n\n if (this.txtApeMatF === '') {\n this.apeMatF = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatF = '';\n }\n\n if (this.selGiro === '-1') {\n this.giro = 'is-invalid';\n bandValida = false;\n } else {\n this.giro = '';\n }\n\n //Representante tecnico\n this.contactForm.controls.curpRt.setValue(this.contactForm.get('curpRt').value.toUpperCase());\n if (this.contactForm.controls.curpRt.hasError('required')) {\n bandValida = false;\n this.curpRepTec = 'is-invalid';\n this.errorCurpRt = '';\n } else if (this.contactForm.controls.curpRt.hasError('pattern')) {\n bandValida = false;\n this.curpRepTec = 'is-invalid';\n this.errorCurpRt = 'Formato Curp incorrecto';\n } else {\n this.errorCurpRt = '';\n this.curpRepTec = '';\n this.txtCurpRepTec = this.contactForm.get('curpRt').value;\n }\n\n if (this.txtRepreTec === '') {\n this.repreTec = 'is-invalid';\n bandValida = false;\n } else {\n this.repreTec = '';\n }\n\n if (this.telefonoRt === '') {\n this.telefonoRepT = 'is-invalid';\n bandValida = false;\n } else {\n this.telefonoRepT = '';\n }\n\n if (this.telcelRt === '') {\n this.telcelRepT = 'is-invalid';\n bandValida = false;\n } else {\n this.telcelRepT = '';\n }\n\n if (this.contactForm.controls.correoRt.hasError('required')) {\n bandValida = false;\n this.correoRepT = 'is-invalid';\n this.errorCorreoRt = '';\n } else if (this.contactForm.controls.correoRt.hasError('pattern')) {\n bandValida = false;\n this.correoRepT = 'is-invalid';\n this.errorCorreoRt = 'Formato Correo incorrecto';\n } else {\n this.errorCorreoRt = '';\n this.correoRepT = '';\n this.correoRt = this.contactForm.get('correoRt').value;\n }\n\n if (band) {\n if (this.txtApePatRepreTec === '') {\n this.apePatRepreTec = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatRepreTec = '';\n }\n\n if (this.txtApeMatRepreTec === '') {\n this.apeMatRepreTec = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatRepreTec = '';\n }\n }\n\n\n this.contactForm.controls.curp.setValue(this.contactForm.get('curp').value.toUpperCase());\n if (this.contactForm.controls.curp.hasError('required')) {\n bandValida = false;\n this.curpF = 'is-invalid';\n this.errorCurp = '';\n } else if (this.contactForm.controls.curp.hasError('pattern')) {\n bandValida = false;\n this.curpF = 'is-invalid';\n this.errorCurp = 'Formato Curp incorrecto';\n } else {\n this.errorCurp = '';\n this.curpF = '';\n this.txtCurpF = this.contactForm.get('curp').value;\n }\n // if (this.txtCurpF === '') {\n // this.curpF = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.curpF = '';\n // }\n\n if (this.txtActiEmp === '') {\n this.actiEmp = 'is-invalid';\n bandValida = false;\n } else {\n this.actiEmp = '';\n }\n\n if (this.txtNoCeduPadrF === '') {\n this.noCeduPadrF = 'is-invalid';\n bandValida = false;\n } else {\n this.noCeduPadrF = '';\n }\n }else if (this.tipoPersona === 'FP') {\n if (this.txtNombreF === '') {\n this.nombreF = 'is-invalid';\n bandValida = false;\n } else {\n this.nombreF = '';\n }\n\n if (this.txtApePatF === '' && this.txtApeMatF === '') {\n this.apePatF = 'is-invalid';\n this.apeMatF = 'is-invalid';\n bandValida = false;\n } else {\n this.apePatF = '';\n this.apeMatF = '';\n }\n\n /*if (this.txtApeMatF === '') {\n this.apeMatF = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMatF = '';\n }*/\n\n if (this.selNivel === '-1') {\n this.grado = 'is-invalid';\n bandValida = false;\n } else {\n this.grado = '';\n }\n\n console.log(\"FechaNac: \"+this.fechaNacimiento);\n //asoledad: 26/05/2022\n if (this.fechaNacimiento === '') {\n this.classfechaNac = 'is-invalid';\n bandValida = false;\n } else {\n this.classfechaNac = '';\n }\n\n //asoledad: 26/05/2022\n if (this.selPais === '-1') {\n this.classPais = 'is-invalid';\n bandValida = false;\n } else {\n this.classPais = '';\n }\n\n //asoledad: 26/05/2022\n if (this.selEstados === '-1') {\n this.classEdo = 'is-invalid';\n bandValida = false;\n } else {\n this.classEdo = '';\n }\n\n //asoledad: 26/05/2022\n if (this.selCiud === '-1' && this.ciudDescri === '') {\n this.classCiud = 'is-invalid';\n bandValida = false;\n } else {\n this.classCiud = '';\n }\n\n //asoledad: 24/05/2022\n if (this.txtNumCedula === '' && !this.ocultaCed) {\n this.numcedula = 'is-invalid';\n bandValida = false;\n } else {\n this.numcedula = '';\n }\n\n this.contactForm.controls.curp.setValue(this.contactForm.get('curp').value.toUpperCase());\n if (this.contactForm.controls.curp.hasError('required')) {\n bandValida = false;\n this.curpF = 'is-invalid';\n this.errorCurp = '';\n } else if (this.contactForm.controls.curp.hasError('pattern')) {\n bandValida = false;\n this.curpF = 'is-invalid';\n this.errorCurp = 'Formato Curp incorrecto';\n } else {\n this.errorCurp = '';\n this.curpF = '';\n this.txtCurpF = this.contactForm.get('curp').value;\n }\n\n}\n\n return bandValida;\n }\n\n\n //Validacion de campos\n validaCampos(band: boolean) {\n let bandValida = true;\n if ( this.txtCalle === '' ) {\n this.calle = 'is-invalid';\n bandValida = false;\n } else {\n this.calle = '';\n }\n\n if ( this.txtNumero === '' ) {\n this.numero = 'is-invalid';\n bandValida = false;\n } else {\n this.numero = '';\n }\n\n if ( this.txtCP === '' ) {\n this.cp = 'is-invalid';\n bandValida = false;\n } else {\n this.cp = '';\n }\n\n if (this.selColonia === '0' || this.selColonia === '-1' || this.selColonia === '') {\n this.colon = 'is-invalid';\n bandValida = false;\n } else {\n this.colon = '';\n }\n\n if (this.selVialidad === '-1') {\n this.vialidadClass = 'is-invalid';\n bandValida = false;\n } else {\n this.vialidadClass = '';\n }\n\n if (band && this.tipoPersona !== 'FP') {\n\n if ( this.txtNumTel1 === '') {\n this.numtel1 = 'is-invalid';\n bandValida = false;\n } else {\n this.numtel1 = '';\n }\n\n if ( this.txtCurp === '') {\n this.curp = 'is-invalid';\n bandValida = false;\n } else {\n this.curp = '';\n }\n\n\n if ( this.txtNombre === '') {\n this.nombre = 'is-invalid';\n bandValida = false;\n } else {\n this.nombre = '';\n }\n //Si band es true, esta realizando registro de continuar\n if ( this.txtApePat === '' ) {\n this.apePat = 'is-invalid';\n bandValida = false;\n } else {\n this.apePat = '';\n }\n\n if ( this.txtApeMat === '' ) {\n this.apeMat = 'is-invalid';\n bandValida = false;\n } else {\n this.apeMat = '';\n }\n }\n\n if (this.contactForm.controls.correoContacto.hasError('required')) {\n bandValida = false;\n this.correElec = 'is-invalid';\n this.errorCorreo = '';\n } else if (this.contactForm.controls.correoContacto.hasError('pattern')) {\n bandValida = false;\n this.correElec = 'is-invalid';\n this.errorCorreo = 'Formato Correo incorrecto';\n } else {\n this.errorCorreo = '';\n this.correElec = '';\n this.txtCorreElec = this.contactForm.get('correoContacto').value;\n }\n\n // if ( this.txtCorreElec === '' ) {\n // this.correElec = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.correElec = '';\n // }\n\n if ( this.txtTelef === '' ) {\n this.telef = 'is-invalid';\n bandValida = false;\n } else {\n this.telef = '';\n }\n\n if ( this.txtMovil === '' ) {\n this.movil = 'is-invalid';\n bandValida = false;\n } else {\n this.movil = '';\n }\n\n if(this.tipoPersona!=='FP'){\n if (this.contactForm.controls.correoEmpresa.hasError('required')) {\n bandValida = false;\n this.correEmpre = 'is-invalid';\n this.errorCorreoEmp = '';\n } else if (this.contactForm.controls.correoEmpresa.hasError('pattern')) {\n bandValida = false;\n this.correEmpre = 'is-invalid';\n this.errorCorreoEmp = 'Formato Correo incorrecto';\n } else {\n this.errorCorreoEmp = '';\n this.correEmpre = '';\n this.txtCorreEmpre = this.contactForm.get('correoEmpresa').value;\n }\n }\n\n // if ( this.txtCorreEmpre === '' ) {\n // this.correEmpre = 'is-invalid';\n // bandValida = false;\n // } else {\n // this.correEmpre = '';\n // }\n\n if (this.selBanco === '-1') {\n this.banc = 'is-invalid';\n bandValida = false;\n } else {\n this.banc = '';\n }\n\n if ( this.txtCuenta === '' || this.txtCuenta.length < 10) {\n this.cuenta = 'is-invalid';\n bandValida = false;\n this.errorCuenta = 'La longitud de la Cuenta Bancaria es incorrecto';\n } else {\n this.cuenta = '';\n this.errorCuenta = '';\n }\n\n if ( this.txtCuentaClabe === '' || this.txtCuentaClabe.length < 18) {\n this.cuentaClabe = 'is-invalid';\n bandValida = false;\n this.errorCLABE = 'La longitud de la Cuenta CLABE es incorrecto';\n } else {\n this.cuentaClabe = '';\n this.errorCLABE = '';\n }\n\n return bandValida;\n }\n\n //Validacion solo numeros\n checa(evento) {\n\n let tecla = (document.all) ? evento.keyCode : evento.which;\n\n if (tecla == 8) {\n return true;\n }\n\n let patron = /[0-9]/;\n\n let tecla_final = String.fromCharCode(tecla);\n\n return patron.test(tecla_final);\n\n }\n\n //Validaciones quita caracteres especiales\n reemplazaCaracter(evento) {\n let cadena = evento.target.value;\n let regex = /^[a-zA-Z]+(\\s*[a-zA-Z]*)*[a-zA-Z]+$/g;\n // /^[a-zA-Z]+(\\s*[a-zA-Z]*)*[a-zA-Z]+$/;\n //cadena = cadena.replace(/[\"#'$()%!?=+{}¿&/\\\\]/g, '');\n evento.target.value = cadena.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n }\n\n //Buscar si la curp ya ha sido registrada anteriormente para traer la información\n buscaCurp(evento, curp) {\n let cadena = evento.target.value;\n cadena = cadena.replace(/[\"/\\\\]/g, '');\n evento.target.value = cadena;\n //Llamada para checar si la persona ya estar registrada en la BD\n if( cadena.length > 0 ) {\n this.apiRegistry.getPersonaCurp(cadena).subscribe(data => {\n if(data[0].success) {\n let infor = data[0].info;\n if(infor !== '{}') {\n infor = JSON.parse(infor);\n //Curp que pertenece a Contacto\n if (curp === 'C') {\n this.txtNombre = infor[0].NOMBRE;\n this.txtApePat = infor[0].APEPAT;\n this.txtApeMat = infor[0].APEMAT;\n //this.txtCorreElec = infor[0].EMAIL;\n this.contactForm.controls.correoContacto.setValue(infor[0].EMAIL);\n this.txtTelef = infor[0].TELEFO;\n this.txtMovil = infor[0].TELCEL;\n //this.desactivaDatosCt = false;\n } else if (curp === 'G') { //Curp que pertenence a datos generales\n this.txtNombreF = infor[0].NOMBRE;\n this.txtApePatF = infor[0].APEPAT;\n this.txtApeMatF = infor[0].APEMAT;\n if (this.tipoPersona === 'FO' || this.tipoPersona === 'FA') {\n //Representante tecnico\n this.contactForm.controls.curpRt.setValue(infor[0].CURP);\n this.txtRepreTec = infor[0].NOMBRE;\n this.txtApePatRepreTec = infor[0].APEPAT;\n this.txtApeMatRepreTec = infor[0].APEMAT;\n this.contactForm.controls.correoRt.setValue(infor[0].EMAIL);\n this.telefonoRt = infor[0].TELEFO;\n this.telcelRt = infor[0].TELCEL;\n }\n } else if (curp === 'RL') { //Curp del representante legal\n this.txtRepreLeg = infor[0].NOMBRE;\n this.txtApePatRepreLeg = infor[0].APEPAT;\n this.txtApeMatRepreLeg = infor[0].APEMAT;\n this.contactForm.controls.correoRl.setValue(infor[0].EMAIL);\n this.telefonoRl = infor[0].TELEFO;\n this.telcelRl = infor[0].TELCEL;\n } else if (curp === 'RT') { //Curp del representante tecnico\n this.txtRepreTec = infor[0].NOMBRE;\n this.txtApePatRepreTec = infor[0].APEPAT;\n this.txtApeMatRepreTec = infor[0].APEMAT;\n this.contactForm.controls.correoRt.setValue(infor[0].EMAIL);\n this.telefonoRt = infor[0].TELEFO;\n this.telcelRt = infor[0].TELCEL;\n }\n } else {\n //Curp que pertenece a Contacto\n if (curp === 'C') {\n this.txtNombre = '';\n this.txtApePat = '';\n this.txtApeMat = '';\n //this.txtCorreElec = '';\n this.contactForm.controls.correoContacto.setValue('');\n this.txtTelef = '';\n this.txtMovil = '';\n this.desactivaDatosCt = true;\n }\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n //Curp que pertenece a Contacto\n if (curp === 'C') {\n this.txtNombre = '';\n this.txtApePat = '';\n this.txtApeMat = '';\n //this.txtCorreElec = '';\n this.contactForm.controls.correoContacto.setValue('');\n this.txtTelef = '';\n this.txtMovil = '';\n this.desactivaDatosCt = true;\n }\n }\n }\n\n //Limpia campos segun el tipo de persona y proveedor seleccionados, campos que no son usados\n limpiaCampos() {\n if (this.tipoPersona === 'MS') {\n this.txtNoCeduPadr = '';\n //this.txtCurpRepTec = '';\n this.contactForm.controls.curpRt.setValue('');\n this.txtRepreTec = '';\n this.txtApePatRepreTec = '';\n this.txtApeMatRepreTec = '';\n //this.correoRt = '';\n this.contactForm.controls.correoRt.setValue('');\n this.telefonoRt = '';\n this.telcelRt = '';\n //this.txtCurpF = '';\n this.contactForm.controls.curp.setValue('');\n this.txtNombreF = '';\n this.txtApePatF = '';\n this.txtApeMatF = '';\n this.txtActiEmp = '';\n this.txtNoCeduPadrF = '';\n } else if (this.tipoPersona === 'MO' || this.tipoPersona === 'MA') {\n // this.txtCurpF = '';\n this.contactForm.controls.curp.setValue('');\n this.txtNombreF = '';\n this.txtApePatF = '';\n this.txtApeMatF = '';\n this.txtActiEmp = '';\n this.txtNoCeduPadrF = '';\n } else if (this.tipoPersona === 'FS') {\n this.txtNoCeduPadrF = '';\n this.txtNombreComercial = '';\n this.txtRazonSocial = this.txtNombreF + ' ' + this.txtApePatF + ' ' + this.txtApeMatF;\n this.txtObjetoSocial = '';\n this.selEstratificacion = '0';\n this.selRepresentante = '99';\n //this.txtCurpRepLegal = '';\n this.contactForm.controls.curpRl.setValue('');\n this.txtRepreLeg = '';\n this.txtApePatRepreLeg = '';\n this.txtApeMatRepreLeg = '';\n this.fkcpersRl = '';\n //this.correoRl = '';\n this.contactForm.controls.correoRl.setValue('');\n this.telefonoRl = '';\n this.telcelRl = '';\n this.txtNoCeduPadr = '';\n //this.txtCurpRepTec = '';\n this.contactForm.controls.curpRt.setValue('');\n this.txtRepreTec = '';\n this.txtApePatRepreTec = '';\n this.txtApeMatRepreTec = '';\n this.fkcpersRt = '';\n //this.correoRt = '';\n this.contactForm.controls.correoRt.setValue('');\n this.telefonoRt = '';\n this.telcelRt = '';\n } else if (this.tipoPersona === 'FO' || this.tipoPersona === 'FA' || this.tipoPersona === 'FP') {\n this.txtNombreComercial = '';\n this.txtRazonSocial = this.txtNombreF + ' ' + this.txtApePatF + ' ' + this.txtApeMatF;\n this.txtObjetoSocial = '';\n this.selEstratificacion = '0';\n this.selRepresentante = '99';\n //this.txtCurpRepLegal = '';\n this.contactForm.controls.curpRl.setValue('');\n this.txtRepreLeg = '';\n this.txtApePatRepreLeg = '';\n this.txtApeMatRepreLeg = '';\n this.fkcpersRl = '';\n //this.correoRl = '';\n this.contactForm.controls.correoRl.setValue('');\n this.telefonoRl = '';\n this.telcelRl = '';\n this.txtNoCeduPadr = '';\n }\n }\n\n //Cerrar sesion para cuando vence el token\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n\n //Cargar informacion\n cargaInformacion() {\n //Carga información guardada\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n //Comprueba el estado para mostrar o no el boton de Ver Datos Generales\n if (proveedor.Tipo === '2' || proveedor.Tipo === '1' || proveedor.Tipo === '6'|| proveedor.Tipo === '5'|| proveedor.Tipo === '3') {\n this.bloquea = true;\n } else {\n this.bloquea = false;\n }\n\n if(proveedor.TipoProv === '1'){\n this.bloqTip = true;\n }else{\n this.bloqTip = false;\n }\n this.apiRegistry.getInformacionRfc(proveedor.RFC).subscribe(data => {\n if (data[0].success) {\n if (data[0].info !== '{}' && data[0].info !== '[]') {\n let datos = data[0].info;\n datos = JSON.parse(datos);\n //console.log(datos);\n this.etiquetCveProv = datos[0].CLAVEPROV;\n this.etiquetaEstatus = datos[0].ESTATUS_DESCRI;\n this.cargaDatos(datos);\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n //Seleccionar Situacion Fiscal con respescto a su RFC 12 digitos -> MORAL, 13 digitos -> FISICA\n if (proveedor.RFC.length === 12) {\n this.radioSituacion = '2';\n } else if (proveedor.RFC.length === 13) {\n this.radioSituacion = '1';\n }\n let radioSit = this.radioSituacion == '1' ? 'F' : 'M';\n this.radioTipo = proveedor.TipoProv === '1'?'P':'S';\n this.radioProveedor = proveedor.TipoProv === '1'?'P':'S';\n\n this.tipoPersona = radioSit + this.radioTipo;\n this.getPaises('1');\n\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n //this.getGiros();\n this.getEstratificacion();\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene los grados\n getGradoEstudios() {\n let cveLov = 'LOVGRAESTU';\n this.apiRegistry.getLovs(cveLov).subscribe(data => {\n if (data[0].success) {\n let gir = data[0].info;\n this.datagrados = JSON.parse(gir);\n //this.getPaises();\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene los grados\n getPaises(cvePais) {\n let cveLov = 'LOVPAIS';\n this.apiRegistry.getLovs(cveLov).subscribe(data => {\n if (data[0].success) {\n\n let paises = data[0].info;\n this.datapaises = JSON.parse(paises);\n\n //this.selPais = '1';\n\n this.getEstados(cvePais,-1);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Obtiene los grados\n getEstados(cvePais,cveEstado) {\n let cveLov = 'LOVESTAF';\n let cadena = 'VLP_PAIS:cadena=' + cvePais;\n this.apiRegistry.getLovs(cveLov,cadena).subscribe(data => {\n if (data[0].success) {\n let estad = data[0].info;\n this.dataestados = JSON.parse(estad);\n this.selEstados = cveEstado;\n /*if(cvePais ==='1'){\n this.getCiudades(this.dataestados[0].CLAVE,this.selCiud);\n }else {*/\n // this.selEstados = cveEstado;\n //}\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n//Obtiene los grados\ngetCiudades(cveEstado,ciudad) {\n let cveLov = 'LOVCIUD';\n let cadena = 'VPS_ESTADO:cadena=' + cveEstado;\n this.apiRegistry.getLovs(cveLov,cadena).subscribe(data => {\n\n if (data[0].success) {\n let ciud = data[0].info;\n this.dataciud = JSON.parse(ciud);\n if(this.selEstados === '-1'){this.selCiud = '-1';}\n this.selCiud = ciudad;\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n}\n\ncambioPais(event) {\n let cvePais = event.target.value;\n\n this.getEstados(cvePais,-1);\n\n}\n\ncambioEstados(event) {\n let cveEstado = event.target.value;\n this.getCiudades(cveEstado,-1);\n}\n\ncambiaNivel(event){\n\n let posi = this.ubicarNivel(event.target.value);\n\n if(this.datagrados[posi].PRIORI>=7){\n this.ocultaCed = true;\n }else{\n this.ocultaCed = false;\n }\n\n}\nubicarNivel(valor){\n let posicion = 0;\n for(let i=0;i {\n if (data[0].success) {\n\n let paises = data[0].info;\n this.datapaises = JSON.parse(paises);\n\n //this.selPais = '1';\n if(cvePais == \"\"){\n this.selPais = '-1';\n this.selEstados = '-1';\n }\n\n this.getEstadosDatGen(cvePais,cveEstado,cveCiud);\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n}\n\ngetEstadosDatGen(cvePais,cveEstado,cveCiud) {\n let cveLov = 'LOVESTAF';\n let cadena = 'VLP_PAIS:cadena=' + cvePais;\n this.apiRegistry.getLovs(cveLov,cadena).subscribe(data => {\n if (data[0].success) {\n let estad = data[0].info;\n this.dataestados = JSON.parse(estad);\n this.selEstados = cveEstado;\n\n if(cvePais ==='1'){\n this.getCiudades(cveEstado,cveCiud);\n }else {\n this.selEstados = cveEstado;\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n}\n\n}\n\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vcmVnaXN0cm8vcmVnaXN0cm8uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { isNullOrUndefined } from 'util';\nimport { Router } from '@angular/router';\nimport { ApiRegistryService } from '../../../services/api-registry.service';\nimport { ApiAuthService } from 'src/app/services/api-auth.service';\nimport { ApiParametrosService } from 'src/app/services/api-parametros.service';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\ndeclare var $: any;\ndeclare let Swal: any;\n@Component({\n selector: 'app-registro',\n templateUrl: './registro.component.html',\n styleUrls: ['./registro.component.css']\n})\nexport class RegistroComponent implements OnInit {\n public ResponseCaptcha: boolean = false;\n public correo: boolean = true; //Controla el div con el mensaje de \"Las contraseñas o correos no coinciden\"\n public password: boolean = true; //Controla el div con el mensaje de \"Las contraseñas o correos no coinciden\"\n public valida: boolean = true; //Controla el div con el mensaje de \"Campos Incompletos\"\n public RFC: string = ''; //Poner clase is-invalid en caso de que el input este vacio\n public correo1: string = ''; //Poner clase is-invalid en caso de que el input este vacio\n public correo2: string = ''; //Poner clase is-invalid en caso de que el input este vacio\n public pass1: string = ''; //Poner clase is-invalid en caso de que el input este vacio\n public pass2: string = ''; //Poner clase is-invalid en caso de que el input este vacio\n public celular: string = ''; //Poner clase is-invalid en caso de que el input este vacio\n\n public errorRfc: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorCorreo: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorCorreoConf: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorPass: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorPassRep: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorRegistro: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorCelular: string = ''; // Guardar el mensaje de error de campo sin completar\n\n //BLOQUEA EDICION DE CAMPOS\n public login: boolean = false;\n //Patron que se ejecuta en el ingreso del email en el input\n emailPattern: any = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n //rfcPattern: any = /^([A-ZÑ\\x26]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1]))([A-Z\\d]{3})?$/;\n //Patron que se ejecuta en el ingreso del RFC en el input\n rfcPattern: any = /^([A-ZÑ&]{3,4})?(\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01]))?([A-Z\\d]{2})([A\\d])$/;\n tipo:string = '0';\n ///22/11/2022 asoledad\n vps_tipoTr:string = '5';\n edoRegistro:any = 1;\n //Creacion del FormGroup con sus determinados campos y sus validators.\n createFormGroup() {\n return new FormGroup({\n rfc: new FormControl('', [Validators.required, Validators.pattern(this.rfcPattern)]),\n correo: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)]),\n correoconf: new FormControl('', Validators.required),\n password: new FormControl('', [Validators.required, Validators.minLength(8)]),\n passwordRepeat: new FormControl('', [Validators.required, Validators.minLength(8)]),\n celular: new FormControl('', [Validators.required, Validators.minLength(10)]),\n });\n }\n\n contactForm: FormGroup;\n constructor(private router: Router, private apiAuth: ApiAuthService , private apiRegistry: ApiRegistryService, private apiParam: ApiParametrosService)\n {\n\n this.contactForm = this.createFormGroup();\n let url = this.router.routerState.snapshot.url;\n console.log(url);\n this.edoRegistro = 1;\n if (url === '/registro/1') {\n this.tipo = '1';\n\n\n }else if (url === '/registro/0') {\n this.tipo = '0';\n }\n }\n\n ngOnInit() {\n\n this.edoRegistro = 1;\n\n if(this.tipo === \"1\"){\n $('#mod_procesando').modal('show');\n\n this.apiRegistry.getEdoRegistro(this.vps_tipoTr).subscribe(data => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n\n }, 400);\n\n if (data[0].success && data[0].info !== '{}' && data[0].info !== '[]') {\n\n this.edoRegistro = JSON.parse(data[0].info);\n\n } else {\n //this.errorRegistro = data[0].msgRespuesta;\n Swal.fire({\n\t\t\t\t\t type: 'error',\n\t\t\t\t\t title: 'Error...',\n\t\t\t\t\t text: data[0].msgRespuesta,\n\t\t\t\t\t showConfirmButton: true\n\t\t\t\t\t});\n\n }\n\n },\n error => {\n console.log('Error');\n //this.errorRegistro = 'Ha ocurrido un error al realizar el registro, comunicarse al Departamento de Sistemas.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n\n }\n }\n\n //Funcion para el captcha\n resolved(captchaResponse: string) {\n\n if (isNullOrUndefined(captchaResponse)) {\n this.ResponseCaptcha = false;\n } else {\n this.ResponseCaptcha = true;\n }\n }\n\n onResetForm() {\n this.contactForm.reset();\n }\n\n\n\n //GAMORALES 05/09/2019\n //Realiza el preregistro de usuarios - GAMORALES 05/09/2019\n registrar() {\n let mensaje = this.tipo === '1'?'Personal de Honorarios':'Proveedor';\n\n if(this.validaCampos() && this.camposIguales()){\n Swal.fire({\n title: 'Registro de '+ mensaje,\n text: \"¿Esta segur@ de realizar el Registro?\",\n type: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: 'Aceptar'\n }).then((result) => {\n if (result.value) {\n\n\n $('#mod_procesando').modal('show');\n let RFC = this.contactForm.get('rfc').value;\n let correo = this.contactForm.get('correo').value;\n let password = this.contactForm.get('password').value;\n let celular = this.contactForm.get('celular').value;\n ///iDENTIFICAR SI ES PRESTADOR DE SERVICIOS\n let tipo = this.tipo;\n\n this.valida = true;\n //preRegistro => Realiza el preregistro del proveedor\n this.apiRegistry.preRegistro(RFC, correo, password, celular,tipo).subscribe(data => {\n if (data[0].success) {\n this.apiParam.setDatosUsuario(correo, password);\n //verificaCorreo => Envia correo de verificación de la cuenta.\n /*this.apiAuth.verificaCorreo(correo).subscribe(data => {\n });*/\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#success').modal('show');\n }, 500);\n } else {\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n\n Swal.fire({\n type: 'error',\n title: 'Error',\n text: data[0].msgRespuesta,//'Ha ocurrido un error al realizar el registro,Recargue la página e intente nuevamente realizar el registro, en caso de persistir el error contactar a:\\n Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx',\n showConfirmButton: true\n });\n }, 500);\n\n }\n },\n error => {\n console.log('Error');\n //this.errorRegistro = 'Ha ocurrido un error al realizar el registro,Recargue la página e intente nuevamente realizar el registro, en caso de persistir el error contactar a
Lic. María del Carmen Esparza Pérez,
Asistente del Departamento de Compras de la DGF
(449) 910 74 84 ext 32212
carmen.esparza@edu.uaa.mx';\n // 'Ha ocurrido un error al realizar el registro, comunicarse al Departamento de Sistemas.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n\n }///RESULTADO\n\n });\n }\n\n\n }\n\n siguiente() {\n this.router.navigate(['/home']);\n }\n\n //Validacion de campos completos\n validaCampos() {\n let bandValida = true;\n this.contactForm.controls.rfc.setValue(this.contactForm.get('rfc').value.toUpperCase());\n if(this.contactForm.controls.rfc.hasError('required')){\n bandValida = false;\n this.RFC = 'is-invalid';\n this.errorRfc = 'Campo sin completar';\n } else if(this.contactForm.controls.rfc.hasError('pattern')){\n bandValida = false;\n this.RFC = 'is-invalid';\n this.errorRfc = 'Formato RFC incorrecto';\n } else {\n this.errorRfc = '';\n this.RFC = '';\n }\n\n\n if(this.contactForm.controls.correo.hasError('required')) {\n bandValida = false;\n this.correo1 = 'is-invalid';\n this.errorCorreo = 'Campo sin completar';\n } else if(this.contactForm.controls.correo.hasError('pattern')) {\n bandValida = false;\n this.correo1 = 'is-invalid';\n this.errorCorreo = 'Formato correo incorrecto';\n } else {\n this.errorCorreo = '';\n this.correo1 = '';\n }\n\n\n if(this.contactForm.controls.correoconf.hasError('required')){\n bandValida = false;\n this.correo2 = 'is-invalid';\n this.errorCorreoConf = 'Campo sin completar';\n } else {\n this.errorCorreoConf = '';\n this.correo2 = '';\n }\n\n if(this.contactForm.controls.password.hasError('required')){\n bandValida = false;\n this.pass1 = 'is-invalid';\n this.errorPass = 'Campo sin completar';\n } else if (this.contactForm.controls.password.hasError('minlength')) {\n bandValida = false;\n this.pass1 = 'is-invalid';\n this.errorPass = 'La contraseña debe tener al menos 8 caracteres.';\n } else {\n this.errorPass = '';\n this.pass1 = '';\n }\n\n if(this.contactForm.controls.passwordRepeat.hasError('required')){\n bandValida = false;\n this.pass2 = 'is-invalid';\n this.errorPassRep = 'Campo sin completar';\n } else if (this.contactForm.controls.passwordRepeat.hasError('minlength')) {\n bandValida = false;\n this.pass2 = 'is-invalid';\n this.errorPassRep = 'La contraseña debe tener al menos 8 caracteres.';\n } else {\n this.errorPassRep = '';\n this.pass2 = '';\n }\n // Celular\n if(this.contactForm.controls.celular.hasError('required')){\n bandValida = false;\n this.celular = 'is-invalid';\n this.errorCelular = 'Campo sin completar';\n } else if (this.contactForm.controls.celular.hasError('minlength')) {\n bandValida = false;\n this.celular = 'is-invalid';\n this.errorCelular = 'Se requiere su número de celular a 10 dígitos.';\n } else {\n this.errorCelular = '';\n this.celular = '';\n }\n\n if(!this.ResponseCaptcha) {\n bandValida = false;\n this.valida = false;\n } else {\n this.valida = true;\n }\n\n return bandValida;\n }\n\n //Revisa que los campos de correo y contraseña coincidan.\n camposIguales() {\n let bandValida = true;\n let correo = this.contactForm.get('correo').value;\n let correoConf = this.contactForm.get('correoconf').value;\n let password = this.contactForm.get('password').value;\n let passwordRepeat = this.contactForm.get('passwordRepeat').value;\n\n if (correo !== correoConf){\n bandValida = false;\n this.correo = false;\n } else {\n this.correo = true;\n }\n\n if (password !== passwordRepeat) {\n bandValida = false;\n this.password = false;\n } else {\n this.password = true;\n }\n\n return bandValida;\n }\n\n //Excluye caracteres especiales\n soloLetras(e) {\n var tecla = (document.all) ? e.keyCode : e.which;\n if (tecla == 8) return true;\n var patron = /[A-Za-z0-9ñÑ]/; // Caracteres permitidos\n var te = String.fromCharCode(tecla);\n return patron.test(te);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vcmVzdGFibGVjZXItY29udHJhc2VuYS9yZXN0YWJsZWNlci1jb250cmFzZW5hLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { isNullOrUndefined } from 'util';\nimport { Router } from '@angular/router';\nimport { ApiAuthService } from '../../../services/api-auth.service';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-restablecer-contrasena',\n templateUrl: './restablecer-contrasena.component.html',\n styleUrls: ['./restablecer-contrasena.component.css']\n})\nexport class RestablecerContrasenaComponent implements OnInit {\n public ResponseCaptcha: boolean = false;\n alerta: boolean = false; //Comportamiento del mensaje de error de las contraseñas no coinciden\n correo: string = ''; //Guarda el correo del que se esta restableciendola contraseña\n token: string = ''; //Guarda el token que se recibio en la url por correo\n\n contra: string = ''; //Variable para guadar la clase is-invalid que se agrega a las propiedades de los input\n nuevacontra: string = ''; //Variable para guadar la clase is-invalid que se agrega a las propiedades de los input\n\n errorContra: string = ''; //Guardar el mensaje de error de campo sin completar\n errorNuevaContra: string = ''; //Guardar el mensaje de error de campo sin completar\n\n public mensajeError: string = ''; //Guarda el mensaje de error en caso de ocurrir en el cambio de contraseña\n\n\n //Creacion del FormGroup con sus determinados campos y sus validators.\n createFormGroup() {\n return new FormGroup({\n contra: new FormControl('', Validators.required),\n nuevacontra: new FormControl('', Validators.required)\n });\n }\n\n contactForm: FormGroup;\n constructor(private router: Router, private apiAuth: ApiAuthService) {\n this.contactForm = this.createFormGroup();\n let token = this.router.routerState.snapshot.root.children[0].params.token;\n this.token = token;\n //checaToken => Revisa que el token leído aun este vigente y no haya sido usado.\n this.apiAuth.checaToken(token).subscribe(data => {\n console.log(data);\n if (data[0].success) {\n let respuesta = JSON.parse(data[0].info);\n console.log(respuesta);\n this.correo = respuesta[0].CORREO;\n if (respuesta[0].INDEST !== '0'){\n this.router.navigate(['/not-found']);\n }\n } else {\n this.router.navigate(['/not-found']);\n }\n },\n error => {\n $('#error').modal('show');\n });\n }\n\n ngOnInit() {\n }\n\n resolved(captchaResponse: string) {\n console.log(`Captcha resuelta con esta respuesta: ${captchaResponse}`);\n\n if (isNullOrUndefined(captchaResponse)) {\n this.ResponseCaptcha = false;\n } else {\n this.ResponseCaptcha = true;\n }\n }\n\n //Reestablecer la contraseña\n enviar() {\n if (this.validaCampos()) {\n $('#procesando').modal('show');\n this.alerta = false;\n let contra = this .contactForm.get('contra').value;\n //cambiarContra => Restablece la contraseña\n this.apiAuth.cambiarContra(this.correo, contra, this.token).subscribe(data => {\n if (data[0].success) {\n if (data[0].info === '0') {\n setTimeout( () => {\n $('#procesando').modal('hide');\n $('#success').modal('show');\n }, 500);\n } else {\n setTimeout( () => {\n $('#procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout( () => {\n $('#procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout( () => {\n $('#procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n }\n\n //Validacion de todos los campos completos\n validaCampos() {\n let bandValida = true;\n if (this.contactForm.controls.contra.hasError('required')) {\n this.contra = 'is-invalid';\n this.errorContra = 'Campo sin completar';\n bandValida = false;\n } else {\n this.contra = '';\n this.errorContra = '';\n }\n \n if (this.contactForm.controls.nuevacontra.hasError('required')) {\n this.nuevacontra = 'is-invalid';\n this.errorNuevaContra = 'Campo sin completar';\n bandValida = false;\n } else {\n this.nuevacontra = '';\n this.errorNuevaContra = '';\n }\n\n if (this.contactForm.get('contra').value !== this.contactForm.get('nuevacontra').value) {\n this.alerta = true;\n bandValida = false;\n }\n\n return bandValida;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vcmVzdGFibGVjZXIvcmVzdGFibGVjZXIuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ApiAuthService } from '../../../services/api-auth.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-restablecer',\n templateUrl: './restablecer.component.html',\n styleUrls: ['./restablecer.component.css']\n})\nexport class RestablecerComponent implements OnInit {\n\n public txtCorreo: string = '';\n public correo: string = ''; //Variable para guadar la clase is-invalid que se agrega a las propiedades de los input\n public alerta: boolean = false; //Controla el comportamiento del mensaje de error.\n\n public errorCorreo: string = ''; //Guardar el mensaje de error de campo sin completar\n public errorNoExiste: string = ''; //Mensaje de error en caso de que no exista el correo\n\n //Patron que se ejecuta en el ingreso del email en el input\n emailPattern: any = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n //Creacion del FormGroup con sus determinados campos y sus validators.\n createFormGroup() {\n return new FormGroup({\n correo: new FormControl('', [Validators.required, Validators.pattern(this.emailPattern)])\n });\n }\n\n contactForm: FormGroup;\n constructor(private router: Router, private apiAuth: ApiAuthService) \n { \n this.contactForm = this.createFormGroup();\n }\n\n ngOnInit() {\n }\n\n //Enviar correo para restablecer la contraseña\n enviar() {\n if (this.validaCampos()) {\n $('#procesando').modal('show');\n let correo = this.contactForm.get('correo').value;\n this.apiAuth.restableceContra(correo).subscribe(data => {\n if (data[0].success) {\n this.alerta = false;\n setTimeout(() => {\n $('#procesando').modal('hide');\n $('#success').modal('show');\n }, 500);\n } else {\n this.alerta = true;\n this.errorNoExiste = data[0].msgRespuesta;\n }\n });\n }\n }\n\n //Validaciones de campos completos\n validaCampos() {\n let bandValida = true;\n if (this.contactForm.controls.correo.hasError('required')) {\n this.correo = 'is-invalid';\n this.errorCorreo = 'Campo sin completar';\n bandValida = false;\n } else if (this.contactForm.controls.correo.hasError('pattern')){\n bandValida = false;\n this.correo = 'is-invalid';\n this.errorCorreo = 'Formato correo incorrecto';\n } else {\n this.correo = '';\n this.errorCorreo = '';\n }\n\n return bandValida;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vdmVyaWZpY2FyL3ZlcmlmaWNhci5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiAuthService } from '../../../services/api-auth.service';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-verificar',\n templateUrl: './verificar.component.html',\n styleUrls: ['./verificar.component.css']\n})\nexport class VerificarComponent implements OnInit {\n correo: string = ''; //Guarda el correo del que se esta verificando\n token: string = ''; //Guarda el token que se recibio en la url por correo\n mensaje: string = ''; //Guardar el mensaje de exito de verificación\n icono: string = ''; //Guardar el icono de exito o error, depende si la verificacion fue exitosa o no\n\n constructor(private router: Router, private apiAuth: ApiAuthService) {\n let token = this.router.routerState.snapshot.root.children[0].params.token;\n let id = this.router.routerState.snapshot.root.children[0].params.id; //id -> si es 0 entrara a checar el token y activar el usuario, en caso que sea 1, refrescara el token y activara el usuario\n this.token = token;\n /*if (id === '0')\n {*/\n //checaToken => Revisa que el token leído aun este vigente y no haya sido usado.\n this.apiAuth.verificaToken(token).subscribe(data => {\n if (data[0].success) {\n if (data[0].info === '0') {\n this.icono = 'mdi-email-check-outline uaa-icn-success';\n this.mensaje = 'Su correo ha sido verificado exitosamente, ahora puede ingresar a la aplicación.';\n } else {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n }\n } else {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n }\n\n },\n error => {\n this.router.navigate(['/not-found']);\n });\n\n /* } else {\n //refrescaToken => Se encarga de refrescar el token que ya termino su vigencia.\n this.apiAuth.refrescaToken(token).subscribe(data => {\n if (data[0].success && data[0].info != '{}') {\n let respuesta = JSON.parse(data[0].info);\n this.correo = respuesta[0].CORREO;\n if (respuesta[0].INDEST !== '0'){\n this.router.navigate(['/not-found']);\n } else {\n //activarUsuario => Activación del usuario\n this.apiAuth.activarUsuario(this.token).subscribe(data => {\n if (data[0].success) {\n if (data[0].info === '0') {\n this.icono = 'mdi-email-check-outline uaa-icn-success';\n this.mensaje = 'Su correo '+ this.correo +' ha sido verificado exitosamente, ahora puede ingresar a la aplicación.';\n } else {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n }\n } else {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n }\n },\n error => {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n });\n }\n } else {\n this.router.navigate(['/not-found']);\n }\n },\n error => {\n this.router.navigate(['/not-found']);\n });\n this.apiAuth.checaToken(token).subscribe(data => {\n if (data[0].success) {\n if (data[0].info === '0') {\n this.icono = 'mdi-email-check-outline uaa-icn-success';\n this.mensaje = 'Su correo ha sido verificado exitosamente, ahora puede ingresar a la aplicación.';\n } else {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n }\n } else {\n this.icono = 'mdi-close-circle-outline uaa-icn-error';\n this.mensaje = 'Ha ocurrido un error al verificar su correo.';\n }\n\n },\n error => {\n this.router.navigate(['/not-found']);\n });\n }*/\n\n\n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZ2VuZXJhbGVzL2NvdW50LWRvd24vY291bnQtZG93bi5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-count-down',\n templateUrl: './count-down.component.html',\n styleUrls: ['./count-down.component.css']\n})\nexport class CountDownComponent implements OnInit {\n\n @Input() public fechaEvento: string;\n public fechaLimite: Date;\n public now: Date;\n\n public _second = 1000;\n public _minute = this._second * 60;\n public _hour = this._minute * 60;\n public _day = this._hour * 24;\n public timer;\n\n public seconds: number;\n public minutes: number;\n public hours: number;\n public days: number;\n\n public distance: number;\n\n constructor() {}\n\n ngOnInit() {\n this.fechaLimite = new Date(this.fechaEvento);\n\n this.timer = setInterval(() => {\n this.now = new Date();\n\n this.DiffDays(this.now, this.fechaLimite);\n //console.log(\"dias: \" + this.days, \", horas: \" + this.hours, \", mins: \" + this.minutes, \", segs: \" + this.seconds);\n }, 1000) \n\n }\n\n DiffDays(a, b)\n {\n this.distance = this.fechaLimite.getTime() - this.now.getTime();\n\n if (this.distance <= 0) {\n //console.log(this.distance);\n clearInterval(this.timer);\n }\n\n this.days = Math.floor(this.distance / this._day);\n this.hours = Math.floor((this.distance % this._day) / this._hour);\n this.minutes = Math.floor((this.distance % this._hour) / this._minute);\n this.seconds = Math.floor((this.distance % this._minute) / this._second);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9hZHF1aXNpY2lvbmVzL2FkcXVpc2ljaW9uZXMuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiProcedimientosService } from '../../../services/api-procedimientos.service';\nimport { Globals } from '../../../globals';\ndeclare var $: any;\n@Component({\n selector: 'app-adquisiciones',\n templateUrl: './adquisiciones.component.html',\n styleUrls: ['./adquisiciones.component.css']\n})\nexport class AdquisicionesComponent implements OnInit {\n\n pantalla = 2;\n anio = Number(new Date().getFullYear());\n proveedor;\n\n registros: any [] = [];\n\n constructor(private router: Router, private apiProc: ApiProcedimientosService, public globals: Globals) {\n }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.cargaDatos();\n }\n\n cargaDatos() {\n this.apiProc.getListaProcs(this.anio.toString(), this.pantalla, null, null).subscribe(data => {\n if (data[0].success) {\n if(data[0].info !== '{}' && data[0].info !== '[]'){\n let datos = JSON.parse(data[0].info);\n this.registros = datos;\n console.log(datos);\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n }, 500);\n }\n } else {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n this.cargaDatatable();\n },\n error => {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n cargaDatatable() {\n let tipoServicios = this.globals.TIPO_PROC_SERVICIOS;\n let tipoObra = this.globals.TIPO_PROC_OBRA;\n $(document).ready(function () {\n let datatable = $('#example').DataTable({\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ],\n \"columnDefs\": [\n { \"searchable\": true, \"targets\": 5 },\n { \"visible\": false, \"targets\": 5 }\n ]\n });\n $('#inputBusqueda').on( 'keyup', function () {\n datatable.search( this.value ).draw();\n });\n $('#todos').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#productos').prop('checked', false);\n $('#obra').prop('checked', false);\n datatable.columns(5).search('');\n } else {\n datatable.columns(5).search('');\n }\n datatable.draw();\n });\n $('#productos').on('change', function() {\n\n if( $(this).is(':checked') ) {\n $('#todos').prop('checked', false);\n $('#obra').prop('checked', false);\n datatable.columns(5).search(tipoServicios);\n } else{\n datatable.columns(5).search('');\n }\n datatable.draw();\n });\n $('#obra').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#todos').prop('checked', false);\n $('#productos').prop('checked', false);\n datatable.columns(5).search(tipoObra);\n } else {\n datatable.columns(5).search('');\n }\n datatable.draw();\n });\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9hdmlzby1wcml2LWxvZy9hdmlzby1wcml2LWxvZy5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-aviso-priv-log',\n templateUrl: './aviso-priv-log.component.html',\n styleUrls: ['./aviso-priv-log.component.css']\n})\nexport class AvisoPrivLogComponent implements OnInit {\n\n public tipo:string= '0';\n\n constructor(private router: Router) {\n\n let url = this.router.routerState.snapshot.url;\n\n if (url === '/aviso-priv-log/1') {\n //Carga información guardada\n this.tipo = '1';\n\n } else if (url === '/aviso-priv-log') {\n this.tipo = '0';\n }\n\n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9hdmlzby1wcml2YWNpZGFkL2F2aXNvLXByaXZhY2lkYWQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-aviso-privacidad',\n templateUrl: './aviso-privacidad.component.html',\n styleUrls: ['./aviso-privacidad.component.css']\n})\nexport class AvisoPrivacidadComponent implements OnInit {\n\n public chkAcuerdo: boolean;\n public tipo:string= '0';\n //constructor(private router: Router) { }\n constructor(private router: Router) {\n let url = this.router.routerState.snapshot.url;\n\n if (url === '/aviso-privacidad/1') {\n //Carga información guardada\n this.tipo = '1';\n\n } else if (url === '/aviso-privacidad') {\n this.tipo = '0';\n }\n }\n ngOnInit() {\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYWRyb24tcHJvdmVlZG9yZXMvcGFkcm9uLXByb3ZlZWRvcmVzLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiProcedimientosService } from '../../../services/api-procedimientos.service';\nimport { Globals } from '../../../globals';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-padron-proveedores',\n templateUrl: './padron-proveedores.component.html',\n styleUrls: ['./padron-proveedores.component.css']\n})\nexport class PadronProveedoresComponent implements OnInit {\n\n pantalla = 2;\n anio = Number(new Date().getFullYear());\n proveedor;\n\n registros: any [] = [];\n\n constructor(private router: Router, private apiProc: ApiProcedimientosService, public globals: Globals) {\n }\n\n ngOnInit() {\n\n $('#mod_procesando').modal('show');\n this.cargaDatos();\n }\n\n\n cargaDatos() {\n this.apiProc.getPadronProveedores().subscribe(data => {\n if (data[0].success) {\n if(data[0].info !== '{}' && data[0].info !== '[]'){\n let datos = JSON.parse(data[0].info);\n this.registros = datos;\n\n /*setTimeout( () => {\n $('#mod_procesando').modal('hide');\n }, 400);*/\n\n } else {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n }, 400);\n }\n } else {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 400);\n }\n\n\n\n this.cargaDatatable();\n },\n error => {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n cargaDatatable() {\n\n $(document).ready(function () {\n if ($.fn.dataTable.isDataTable('#tbl_Padron')) {\n $('#tbl_Padron').DataTable().destroy();\n }\n /*Clona la tabla obtenida a otra sin generar DataTable, para que al exportar no tenga conflictos en la vista.*/\n $('#tablaExcelProc').empty();\n $('#tbl_Padron').clone().appendTo('#tablaExcelProc');\n\n $('#tablaExcelProc th').css('background-color', '#9DB9E5');\n\n $('#tablaExcelProc td.table-success').css('background-color', '#c3e6cb');\n\n $('#tablaExcelProc tr.table-info').css('background-color', '#c3e6e6');\n\n $('#tablaExcelProc th').css('border', '#C0C0C0 solid 1px');\n $('#tablaExcelProc td').css('border', '#C0C0C0 solid 1px');\n\n let datatable = $('#tbl_Padron').DataTable({\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n /*{\n extend: 'excelHtml5',\n autoFilter: true,\n createEmptyCells: true,\n footer: true,\n text: 'EXPORTAR',\n className: 'btn btn-sm uaa-btn-outline',\n\n exportOptions: {\n orthogonal: 'export',\n columns: [0, 1, 2, 3, 4, 5]\n },\n sheetName:\"Proveedores\",\n customize: function( xlsx ) {\n var sheet = xlsx.xl.worksheets['sheet1.xml'];\n var styles = xlsx.xl['styles.xml'];\n\n\n $('row:eq(1) c', sheet).attr('s', '67');\n\n\n },\n title: 'PADRÓN DE PROVEEDORES',\n\n filename: 'Padron_Proveedores'\n },*/\n\n {\n text: ' EXPORTAR',\n id: \"btn_Agregar\",\n className: 'btn btn-primary',\n action: function () {\n\n var a = document.createElement('a');\n var data_type = 'data:application/vnd.ms-excel;charset=utf-8,%EF%BB%BF';\n a.href = data_type + ' ' + encodeURIComponent(\n $('div[id$=tablaExcelEncabezado]').html() +\n $('div[id$=tablaExcelEspacio]').html() +\n $(\"#tablaExcelProc\").html() +\n $('div[id$=tablaExcelEspacio]').html()\n );\n a.download = 'PADRON_PROVEEDORES.xls';\n a.click();\n }\n },\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n $('#inputBusqueda').on( 'keyup', function () {\n datatable.search( this.value ).draw();\n\n });\n\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n }, 400);\n\n });\n\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tb2JyYS9pbmZvLWdyYWwtb2JyYS9pbmZvLWdyYWwtb2JyYS5jb21wb25lbnQuY3NzIn0= */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Consultar el detalle de cada procedimiento para un proveedor logeado.\n *\n * AUTOR: GAMORALES\n * FECHA: 13/Nov/2019\n *\n*/\nimport { Component, OnInit, EventEmitter, Output, Input, ElementRef, ViewChild } from '@angular/core';\nimport { Globals } from 'src/app/globals';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { isNullOrUndefined } from 'util';\nimport { DatePipe } from '@angular/common';\nimport { ApiRegistryService } from '../../../../../services/api-registry.service';\nimport { ApiProcedimientosService } from '../../../../../services/api-procedimientos.service';\nimport { ApiAuthService } from '../../../../../services/api-auth.service';\nimport { ApiDownloadFileService } from '../../../../../services/api-download-file.service';\nimport { Router } from '@angular/router';\n\ndeclare var $: any;\n\n@Component({\n selector: 'info-gral-obra',\n templateUrl: './info-gral-obra.component.html',\n styleUrls: ['./info-gral-obra.component.css']\n})\nexport class InfoGralObraComponent implements OnInit {\n public datosGrales: any[] = [];\n public anexos: any[] = [];\n public pipe = new DatePipe('es');\n public pk_proveedor: string = '';\n\n public estatusProc: string;\n\n public mensajeError: string = '';\n public error: number;\n\n @Input() public anio: string;\n @Input() public idProc: string;\n @Input() public tipo: string;\n\n @Output() EventoMenu = new EventEmitter();\n\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n constructor(public globals: Globals, private apiRegistry: ApiRegistryService, private apiProcedimientos: ApiProcedimientosService, private apiAuth: ApiAuthService,\n private apiDownload: ApiDownloadFileService, private router: Router) { }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc, this.tipo);\n }\n\n\n actualizarMenu(valor: string, propuesta: string){\n /*Actualiza MENU de menu-producto.component.ts*/\n this.EventoMenu.emit({estatusSubir: valor, estatusPropuesta: propuesta});\n // this.estatusProc = valor;\n }\n\n readDatosGrales(anio: string, idProcedimiento: string, tipo: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n\n // $('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n this.mensajeError = 'Ocurrió un error al mostrar la información del procedimiento.'\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n this.pk_proveedor = proveedor[0].PK_FKCPRCO;\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n // /*Si aun no tiene fecha interes, cambia de estatus a: \"PROVEEDOR MOSTRO INTERES\"*/\n if (this.datosGrales[0].FECHAINTERES === '') {\n let fechaActual = new Date();\n\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_INTERES, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_INTERES;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_INTERES;\n }\n });\n }\n\n this.actualizarMenu(this.datosGrales[0].SUBE_PROP, this.datosGrales[0].VER_PROP);\n this.readAnexos(this.datosGrales[0].IACTIDO_PK_CVETID, anio, idProcedimiento, tipo);\n // this.readArticulos(anio, idProcedimiento, proveedor[0].PK_FKCPRCO);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n readAnexos(iActido: string, anio: string, idProcedimiento: string, tipo: string) {\n this.apiProcedimientos.getInfoObra(iActido, anio, idProcedimiento, tipo, this.pk_proveedor).subscribe(data => {\n if(data[0].success){\n this.anexos = JSON.parse(data[0].info);\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_anexos').DataTable({\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n });\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n download(cve_docto: string, nombre: string) {\n this.apiDownload.downloadFile(cve_docto).subscribe(result => {\n let url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n\n // participa() {\n // this.actualizarMenu(this.globals.ESTATUS_PROC_PROV_PARTICIPANDO);\n // }\n\n getProveedor(): Proveedor{\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n return null;\n } else {\n return prov;\n }\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n participar(anio: string, idProcedimiento: string) {\n let proveedor: any[] = [];\n let prov: Proveedor = this.getProveedor();\n let fechaActual = new Date();\n\n $('#mod_procesando').modal('show');\n // $('#texto_error').text('Ocurrió un error al intentar registrar tu participación.');\n\n\n /*Si la fecha de publicación terminó o es nula, entonces enviar -1 para no habilitar menu \"Subir Cotización\"*/\n let fechaFinPub = new Date(this.datosGrales[0].FECFINPUB);\n\n if (isNaN(fechaFinPub.getTime()) || fechaFinPub.getTime() < fechaActual.getTime()){\n // $('#texto_error').text('No puedes participar debido a que el tiempo de publicación a terminado.');\n this.mensajeError = 'No puedes participar debido a que el tiempo de publicación a terminado.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n return;\n }\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_PARTICIPANDO, null, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_PARTICIPANDO;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_PARTICIPANDO;\n this.actualizarMenu('1', '0');\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n }, 500);\n } else{\n this.mensajeError = 'Ocurrió un error al intentar registrar tu participación.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n });\n\n } else {\n this.mensajeError = 'Ocurrió un error al intentar registrar tu participación.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tb2JyYS9tZW51LW9icmEvbWVudS1vYnJhLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { ApiParametrosService } from 'src/app/services/api-parametros.service';\nimport { Router } from '@angular/router';\nimport { Globals } from 'src/app/globals';\nimport { IdProcedimiento } from 'src/app/models/IdProcedimiento';\nimport { isNullOrUndefined } from 'util';\n\n@Component({\n selector: 'app-menu-obra',\n templateUrl: './menu-obra.component.html',\n styleUrls: ['./menu-obra.component.css']\n})\nexport class MenuObraComponent implements OnInit {\n\n public idProcedimiento: IdProcedimiento;\n public estatusSubir: string;\n public estatusPropuesta: string;\n\n /*Opciones Menu*/\n public info: boolean = true;\n public plazos_fechas: boolean = false;\n public propuesta: boolean = false;\n public subir_propuesta: boolean = false;\n\n constructor(private apiParams: ApiParametrosService, private router: Router, public globals: Globals) { }\n\n ngOnInit() {\n \n\n this.idProcedimiento = this.apiParams.getIdProcedimiento();\n\n if (isNullOrUndefined(this.idProcedimiento)) {\n this.router.navigateByUrl('/procs');\n return;\n }\n }\n\n\n ActualizaMenu(event):void{\n this.estatusSubir = event.estatusSubir;\n this.estatusPropuesta = event.estatusPropuesta;\n //this.estatusProc = '3';\n }\n\n\n\n ActualizaView(opcion: string){\n /*Refresca los componentes que se deben mostrar al usuario*/\n if (opcion === 'info') {\n this.info = true;\n this.plazos_fechas = false;\n this.propuesta = false;\n this.subir_propuesta = false;\n }\n\n if (opcion === 'plazos_fechas') {\n this.info = false;\n this.plazos_fechas = true;\n this.propuesta = false;\n this.subir_propuesta = false;\n }\n\n if (opcion === 'propuesta') {\n this.info = false;\n this.plazos_fechas = false;\n this.propuesta = true;\n this.subir_propuesta = false;\n }\n\n if (opcion === 'subir_propuesta') {\n this.info = false;\n this.subir_propuesta = true;\n this.plazos_fechas = false;\n this.propuesta = false;\n }\n\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tb2JyYS9wbGF6b2ZlYy1vYnJhL3BsYXpvZmVjLW9icmEuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { Globals } from 'src/app/globals';\nimport { ApiProcedimientosService } from '../../../../../services/api-procedimientos.service';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { ApiAuthService } from '../../../../../services/api-auth.service';\nimport { Router } from '@angular/router';\nimport { ApiRegistryService } from '../../../../../services/api-registry.service';\nimport { isNullOrUndefined } from 'util';\nimport { DatePipe } from '@angular/common';\n\ndeclare var $: any;\n\n@Component({\n selector: 'plazofec-obra',\n templateUrl: './plazofec-obra.component.html',\n styleUrls: ['./plazofec-obra.component.css']\n})\nexport class PlazofecObraComponent implements OnInit {\n public datosGrales: any[] = [];\n public estatusProc: string;\n public pipe = new DatePipe('es');\n\n @Input() public anio: string;\n @Input() public idProc: string;\n\n public plazos: any [] = [];\n public mensajeError: string = '';\n public error: number;\n\n @Output() EventoMenu = new EventEmitter();\n\n constructor(public globals: Globals, private apiProcedimientos: ApiProcedimientosService, private apiAuth: ApiAuthService, private router: Router\n ,private apiRegistry: ApiRegistryService) { }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc);\n }\n\n actualizarMenu(valor: string, propuesta: string){\n /*Actualiza MENU de menu-producto.component.ts*/\n this.EventoMenu.emit({estatusSubir: valor, estatusPropuesta: propuesta});\n // this.estatusProc = valor;\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n\n // $('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n this.mensajeError = 'Ocurrió un error al mostrar la información del procedimiento.'\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}'){\n proveedor = JSON.parse(data[0].info);\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n\n // /*Si aun no tiene fecha interes, cambia de estatus a: \"PROVEEDOR MOSTRO INTERES\"*/\n if (this.datosGrales[0].FECHAINTERES === '') {\n let fechaActual = new Date();\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_INTERES, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_INTERES;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_INTERES;\n }\n });\n }\n\n this.actualizarMenu(this.datosGrales[0].SUBE_PROP, this.datosGrales[0].VER_PROP);\n this.getPlazoFec();\n // this.readArticulos(anio, idProcedimiento, proveedor[0].PK_FKCPRCO);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n // participa() {\n // this.actualizarMenu(this.globals.ESTATUS_PROC_PROV_PARTICIPANDO);\n // }\n\n getPlazoFec() {\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n this.apiProcedimientos.getPlazoFec(this.anio,this.idProc,prov.Correo).subscribe(data => {\n if (data[0].success) {\n this.plazos = JSON.parse(data[0].info);\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_plazos').DataTable({\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"Siguiente\",\n \"sPrevious\": \"Anterior\"\n }\n }\n });\n });\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n getProveedor(): Proveedor{\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n return null;\n } else {\n return prov;\n }\n }\n\n participar(anio: string, idProcedimiento: string) {\n let proveedor: any[] = [];\n let prov: Proveedor = this.getProveedor();\n let fechaActual = new Date();\n\n $('#mod_procesando').modal('show');\n // $('#texto_error').text('Ocurrió un error al intentar registrar tu participación.');\n\n\n /*Si la fecha de publicación terminó o es nula, entonces enviar -1 para no habilitar menu \"Subir Cotización\"*/\n let fechaFinPub = new Date(this.datosGrales[0].FECFINPUB);\n\n if (isNaN(fechaFinPub.getTime()) || fechaFinPub.getTime() < fechaActual.getTime()){\n // $('#texto_error').text('No puedes participar debido a que el tiempo de publicación a terminado.');\n this.mensajeError = 'No puedes participar debido a que el tiempo de publicación a terminado.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n return;\n }\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_PARTICIPANDO, null, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_PARTICIPANDO;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_PARTICIPANDO;\n this.actualizarMenu('1', '0');\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n }, 500);\n }else{\n this.mensajeError = 'Ocurrió un error al intentar registrar tu participación.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n });\n\n } else {\n this.mensajeError = 'Ocurrió un error al intentar registrar tu participación.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tb2JyYS9wcm9wdWVzdGEtb2JyYS9wcm9wdWVzdGEtb2JyYS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { Globals } from 'src/app/globals';\nimport { ApiProcedimientosService } from '../../../../../services/api-procedimientos.service';\nimport { Router } from '@angular/router';\nimport { ApiRegistryService } from '../../../../../services/api-registry.service';\nimport { ApiAuthService } from '../../../../../services/api-auth.service';\nimport { isNullOrUndefined } from 'util';\nimport { ApiDownloadFileService } from '../../../../../services/api-download-file.service';\n\ndeclare var $: any;\n\n\n@Component({\n selector: 'app-propuesta-obra',\n templateUrl: './propuesta-obra.component.html',\n styleUrls: ['./propuesta-obra.component.css']\n})\nexport class PropuestaObraComponent implements OnInit {\n\n public datosGrales: any[] = [];\n public docs: any [] = [];\n @Input() public anio: string;\n @Input() public idProc: string;\n\n @Output() EventoMenu = new EventEmitter();\n\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n\n public mensajeError: string = '';\n public error: number;\n\n constructor(public globals: Globals, private apiProcedimientos: ApiProcedimientosService, private router: Router, private apiRegistry: ApiRegistryService\n ,private apiAuth: ApiAuthService, private apiDownload: ApiDownloadFileService) { }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc);\n }\n\n\n actualizarMenu(valor: string, propuesta: string){\n /*Actualiza MENU de menu-producto.component.ts*/\n this.EventoMenu.emit({estatusSubir: valor, estatusPropuesta: propuesta});\n // this.estatusProc = valor;\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n\n // $('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n this.mensajeError = 'Ocurrió un error al mostrar la información del procedimiento.'\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}'){\n proveedor = JSON.parse(data[0].info);\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n\n // /*Si aun no tiene fecha interes, cambia de estatus a: \"PROVEEDOR MOSTRO INTERES\"*/\n // if (this.datosGrales[0].FECHAINTERES === '') {\n // let fechaActual = new Date();\n // this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_INTERES, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n // .subscribe(data => {\n // if (data[0].success) {\n // this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_INTERES;\n // this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_INTERES;\n // }\n // });\n // }\n\n this.actualizarMenu(this.datosGrales[0].SUBE_PROP, this.datosGrales[0].VER_PROP);\n this.getPropuesta(this.datosGrales[0].PROC_CONSEC, this.datosGrales[0].IACTIDO_PK_CVETID);\n //this.getPlazoFec();\n // this.readArticulos(anio, idProcedimiento, proveedor[0].PK_FKCPRCO);\n } else {\n setTimeout(() => { \n $('#mod_procesando').modal('hide'); \n $('#error').modal('show'); \n }, 500); \n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n setTimeout(() => { \n $('#mod_procesando').modal('hide'); \n $('#error').modal('show'); \n }, 500); \n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }); \n }\n\n getPropuesta(proveedor, iactido) {\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n this.apiProcedimientos.getPropuesta(this.anio,this.idProc, proveedor, iactido).subscribe(data => {\n if (data[0].success) {\n this.docs = JSON.parse(data[0].info);\n $(document).ready(function () {\n let tbl_docs = $('#tbl_docs').DataTable({\n dom: '<\"#positionFilter\">ltp',\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"Siguiente\",\n \"sPrevious\": \"Anterior\"\n }\n } \n });\n });\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n getProveedor(): Proveedor{\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n \n if (isNullOrUndefined(prov)) {\n setTimeout(() => { \n $('#mod_procesando').modal('hide'); \n $('#error').modal('show'); \n }, 500); \n return null;\n } else {\n return prov;\n }\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n download(cve_docto: string, nombre: string) {\n this.apiDownload.downloadFile(cve_docto).subscribe(result => {\n let url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tb2JyYS9zdWJpci1wcm9wdWVzdGEtb2JyYS9zdWJpci1wcm9wdWVzdGEtb2JyYS5jb21wb25lbnQuY3NzIn0= */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Subir propuesta de obra.\n *\n * AUTOR: GAMORALES\n * FECHA: 05/Nov/2019\n *\n*/\n\nimport { Component, OnInit, Input,EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\nimport { ApiProcedimientosService } from '../../../../../services/api-procedimientos.service';\nimport { Router } from '@angular/router';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { DatePipe } from '@angular/common';\nimport { isNullOrUndefined } from 'util';\nimport { ApiRegistryService } from '../../../../../services/api-registry.service';\nimport { ApiAuthService } from '../../../../../services/api-auth.service';\nimport { Globals } from '../../../../../globals';\nimport { ApiDownloadFileService } from '../../../../../services/api-download-file.service';\nimport { ApiUploadFileService } from '../../../../../services/api-upload-file.service';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\ndeclare var $: any;\n\n\n@Component({\n selector: 'subir-propuesta-obra',\n templateUrl: './subir-propuesta-obra.component.html',\n styleUrls: ['./subir-propuesta-obra.component.css']\n})\nexport class SubirPropuestaObraComponent implements OnInit {\n public datosGrales: any[] = [];\n public propuesta: any[] = [];\n private pipe = new DatePipe('es');\n\n vpnGoddocs: string = '';\n pk_proveedor: string = '';\n comentarios: string = '';\n\n public files: FileList;\n public vpnMov;\n public vpsTipoProv;\n public vpsCveDoc;\n\n public mensajeAlerta: string = '';\n public mensajeExito: string = '';\n public tipoAlerta: number;\n public tipoMov: number = 0;\n\n @Input() public anio: string;\n @Input() public idProc: string;\n @Input() public tipo: string;\n\n @Output() EventoMenu = new EventEmitter();\n\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n @ViewChild('myInput', {static: false}) myInput: ElementRef;\n\n public mensajeError: string = '';\n public error: number;\n\n public montoInvalid: string = '';\n public errorMonto: string = '';\n\n createFormGroup() {\n return new FormGroup({\n monto: new FormControl('', [Validators.required])\n });\n }\n\n contactForm: FormGroup;\n constructor(private apiProcedimientos: ApiProcedimientosService,private router: Router,\n private apiRegistry: ApiRegistryService, private apiAuth: ApiAuthService,\n private globals: Globals, private apiDownload: ApiDownloadFileService,\n private apiUpload: ApiUploadFileService) {\n\n this.contactForm = this.createFormGroup();\n }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc, this.tipo);\n }\n\n\n readDatosGrales(anio: string, idProcedimiento: string, tipo: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n\n // $('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n this.mensajeError = 'Ocurrió un error al mostrar la información del procedimiento.'\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}'){\n proveedor = JSON.parse(data[0].info);\n this.pk_proveedor = proveedor[0].PK_FKCPRCO;\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n this.contactForm.controls.monto.setValue(this.datosGrales[0].MONTOP);\n // /*Si aun no tiene fecha interes, cambia de estatus a: \"PROVEEDOR MOSTRO INTERES\"*/\n if (this.datosGrales[0].FECHAINTERES === '') {\n let fechaActual = new Date();\n\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_INTERES, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_INTERES;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_INTERES;\n }\n });\n }\n\n this.actualizarMenu(this.datosGrales[0].SUBE_PROP, this.datosGrales[0].VER_PROP);\n this.readDocsPropuesta(this.datosGrales[0].IACTIDO_PK_CVETID, anio, idProcedimiento, tipo, true);\n // this.readArticulos(anio, idProcedimiento, proveedor[0].PK_FKCPRCO);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n readDocsPropuesta(iActido: string, anio: string, idProcedimiento: string, tipo: string, iniTable: boolean) {\n this.apiProcedimientos.getInfoObra(iActido, anio, idProcedimiento, tipo, this.pk_proveedor).subscribe(data => {\n if(data[0].success){\n this.propuesta = JSON.parse(data[0].info);\n if (iniTable){\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_propuesta').DataTable({\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n });\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n download(cve_docto: string, nombre: string) {\n this.apiDownload.downloadFile(cve_docto).subscribe(result => {\n let url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n actualizarMenu(valor: string, propuesta: string){\n /*Actualiza MENU de menu-producto.component.ts*/\n this.EventoMenu.emit({estatusSubir: valor, estatusPropuesta: propuesta });\n // this.estatusProc = valor;\n }\n\n getProveedor(): Proveedor{\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n return null;\n } else {\n return prov;\n }\n }\n\n arch(mov: string, cvedoc: string, goddocs: string, tipodocto: string) {\n this.myInput.nativeElement.value = '';\n this.comentarios = '',\n this.vpnMov = mov;\n this.vpsCveDoc = cvedoc;\n this.vpnGoddocs = goddocs;\n this.vpsTipoProv = tipodocto;\n this.mensajeAlerta = '¿Estás seguro que desea eliminar el documento?';\n this.tipoAlerta = 0;\n }\n\n cargarArchivo(files: FileList) {\n this.files = files;\n }\n\n reemplazaCaracter(evento) {\n let cadena = evento.target.value;\n cadena = cadena.replace(/[\"/\\\\]/g, '');\n cadena = cadena.replace(/[&\\\\]/g, ' and ');\n evento.target.value = cadena;\n this.comentarios = cadena;\n }\n\n guardarArchivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n if (this.files !== undefined && this.files.length > 0) {\n $('#mod_procesando').modal('show');\n this.apiUpload.postFileObraProcProv(proveedor.Correo,this.vpnMov,this.anio, this.idProc\n , this.pk_proveedor,this.vpsTipoProv,this.vpsCveDoc,this.vpnGoddocs,this.comentarios,this.files[0]).subscribe(data => {\n if (data[0].success) {\n this.tipoMov = 0;\n setTimeout( () => {\n this.mensajeExito = '¡El documento ha sido cargado correctamente!';\n $('#mod_procesando').modal('hide');\n $('#success_exito').modal('show');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n $('#info').modal('show');\n }\n }\n\n eliminarArchivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n $('#mod_procesando').modal('show');\n this.apiUpload.deleteFileObraProcProv(proveedor.Correo, this.vpnMov, this.anio, this.idProc, this.pk_proveedor,this.vpsTipoProv,this.vpsCveDoc,this.vpnGoddocs).subscribe(data => {\n if (data[0].success) {\n this.tipoMov = 0;\n setTimeout( () => {\n this.mensajeExito = '¡El documento ha sido eliminado correctamente!';\n $('#mod_procesando').modal('hide');\n $('#success_exito').modal('show');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n enviar() {\n let bandValida = true;\n for (let i =0; i {\n if (data[0].success) {\n this.tipoMov = 1;\n setTimeout( () => {\n this.mensajeExito = 'La(s) propuesta(s) ha(n) sido almacenada(s), podrá seguir haciendo modificaciones mientras el procedimiento continue abierto.';\n $('#procesando').modal('hide');\n $('#success_exito').modal('show');\n }, 500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout( () => {\n $('#procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n validaFechaFin() {\n /*Si la fecha de publicación terminó o es nula regresa False\"*/\n let fechaActual = new Date();\n let fechaFinPub = new Date(this.datosGrales[0].FECFINPUB);\n\n if (isNaN(fechaFinPub.getTime()) || fechaFinPub.getTime() < fechaActual.getTime()){\n return false;\n } else {\n return true;\n }\n }\n\n validaCampo() {\n let bandValida = true;\n\n if (this.contactForm.controls.monto.hasError('required')) {\n bandValida = false;\n this.montoInvalid = 'is-invalid';\n this.errorMonto = 'Ingrese el monto';\n } else {\n this.montoInvalid = '';\n this.errorMonto = '';\n }\n\n return bandValida;\n }\n\n recargar() {\n this.readDocsPropuesta(this.datosGrales[0].IACTIDO_PK_CVETID, this.anio, this.idProc, this.tipo, true);\n $(document).ready(function () {\n $('#tbl_propuesta').DataTable().destroy();\n });\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tcHJvZHVjdG8vaW5mb0dyYWwtcHJvZHVjdG8vaW5mb0dyYWwtcHJvZHVjdG8uY29tcG9uZW50LmNzcyJ9 */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Consultar el detalle de cada procedimiento para un proveedor logeado.\n *\n * AUTOR: FZALDIVAR\n * FECHA: 21/Oct/2019\n *\n*/\nimport { Component, OnInit, Input, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\nimport { ApiProcedimientosService } from 'src/app/services/api-procedimientos.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApiDownloadFileService } from 'src/app/services/api-download-file.service';\nimport { isNullOrUndefined } from 'util';\nimport { Globals } from 'src/app/globals';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { ApiAuthService } from 'src/app/services/api-auth.service';\nimport { ApiRegistryService } from 'src/app/services/api-registry.service';\nimport { DatePipe } from '@angular/common';\nimport { ApiUploadFileService } from 'src/app/services/api-upload-file.service';\ndeclare var $: any;\n\n@Component({\n selector: 'infoGral-producto',\n templateUrl: './infoGral-producto.component.html',\n styleUrls: ['./infoGral-producto.component.css']\n})\nexport class InfoGralProductoComponent implements OnInit {\n public datosGrales: any[] = [];\n public articulos: any[] = [];\n public anexos: any[] = [];\n public pipe = new DatePipe('es');\n public files: FileList;\n\n @Input() public anio: string;\n @Input() public idProc: string;\n\n @Output() EventoMenu = new EventEmitter();\n @Output() EventoView = new EventEmitter();\n\n @ViewChild('myInputFile', {static: false}) myInputFile: ElementRef;\n\n public mensajeError: string = '¡Error!';\n public error: number;\n public aceptar: boolean = false;\n public showDeclina: boolean = false;\n\n private KeysFiles: {\n anio: string,\n idProcedimiento: string,\n idPartida: string\n }\n\n constructor(private apiProcedimientos: ApiProcedimientosService, private ruta: ActivatedRoute, private apiRegistry: ApiRegistryService,\n private apiDownload: ApiDownloadFileService, private router: Router, public globals: Globals,\n private apiAuth: ApiAuthService, private apiUpload: ApiUploadFileService) {\n }\n\n ngOnInit(): void {\n $('#mod_procesando').modal('show');\n //this.readDatosGrales(this.anio, this.idProc);\n if (!isNullOrUndefined(this.anio) && !isNullOrUndefined(this.idProc)) {\n this.readDatosGrales(this.anio, this.idProc);\n }\n }\n\n actualizarMenu(valor: string){\n /*Actualiza MENU de menu-producto.component.ts*/\n this.EventoMenu.emit({estatusProveedorProceso: valor});\n }\n\n redirectSubirCotiza(){\n this.EventoView.emit();\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n\n //$('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n //console.log(\"Datos Generales\", this.datosGrales);\n\n /*Si aun no tiene fecha interes, cambia de estatus a: \"PROVEEDOR MOSTRO INTERES\" y actualiza fecha*/\n if (this.datosGrales[0].FECHAINTERES === '' || this.datosGrales[0].FECHAINTERES === null) {\n let fechaActual = new Date();\n\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_INTERES, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_INTERES;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_INTERES;\n }\n });\n }\n\n /*Si la fecha de publicación terminó o es nula y el estatus es: \"ESTATUS_PROC_PROV_PARTICIPANDO\", entonces enviar -1 para no habilitar menu \"Subir Cotización\"*/\n let fechaActual = new Date();\n let fechaFinPub = new Date(this.datosGrales[0].FECFINPUB);\n\n if (this.datosGrales[0].FKDPRPR_INDEST == this.globals.ESTATUS_PROC_PROV_PARTICIPANDO &&\n (isNaN(fechaFinPub.getTime()) || fechaFinPub.getTime() < fechaActual.getTime())){\n this.actualizarMenu('-1');\n\n } else {\n this.actualizarMenu(this.datosGrales[0].FKDPRPR_INDEST);\n }\n\n this.readArticulos(anio, idProcedimiento, proveedor[0].PK_FKCPRCO);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n readArticulos(anio: string, idProcedimiento: string, proveedor: string) {\n this.apiProcedimientos.getArticulosProv(anio, idProcedimiento, proveedor).subscribe(data => {\n if(data[0].success){\n this.articulos = JSON.parse(data[0].info);\n //console.log(\"Articulos\", this.articulos);\n this.viewDeclinacion();\n\n /*Si la tabla ya fue inicializa se destruye*/\n if ($.fn.dataTable.isDataTable('#tbl_partidas')) {\n $('#tbl_partidas').DataTable().destroy();\n }\n\n $(document).ready(function () {\n let tbl_partidas = $('#tbl_partidas').DataTable({\n /*dom: \"<'row'<'col-sm-12 col-md-6'l> <'col-sm-12 col-md-6 toolbar'>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-6'><'col-sm-12 col-md-6'p>>\",*/\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2 toolbar'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n $(\"div.toolbar\").html('= Indica que usted ha sido pre-asignado en la partida');\n\n $('#txt_partidas').on( 'keyup', function () {\n tbl_partidas.search( this.value ).draw();\n });\n })\n\n this.readAnexos(this.datosGrales[0].IACTIDO_PK_CVETID, anio, idProcedimiento);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n readAnexos(iActido: string, anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getAnexos(iActido, anio, idProcedimiento).subscribe(data => {\n if(data[0].success){\n this.anexos = JSON.parse(data[0].info);\n //console.log(\"Anexos\", this.anexos);\n\n /*Si la tabla ya fue inicializa se destruye*/\n if ($.fn.dataTable.isDataTable('#tbl_anexos')) {\n $('#tbl_anexos').DataTable().destroy();\n }\n\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_anexos').DataTable({\n /*dom: \"<'row'<'col-sm-12 col-md-6'l>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-6'><'col-sm-12 col-md-6'p>>\",*/\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n $('#txt_anexos').on( 'keyup', function () {\n tbl_anexos.search( this.value ).draw();\n });\n })\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n download(cve_docto: string) {\n this.apiDownload.downloadFile(cve_docto);\n }\n\n getProveedor(): Proveedor{\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n return null;\n } else {\n return prov;\n }\n }\n\n participar(anio: string, idProcedimiento: string) {\n let proveedor: any[] = [];\n let prov: Proveedor = this.getProveedor();\n let fechaActual = new Date();\n\n $('#mod_terminos').modal('hide');\n $('#mod_procesando').modal('show');\n\n /*Si la fecha de publicación terminó o es nula, entonces enviar -1 para no habilitar menu \"Subir Cotización\"*/\n let fechaFinPub = new Date(this.datosGrales[0].FECFINPUB);\n\n if (isNaN(fechaFinPub.getTime()) || fechaFinPub.getTime() < fechaActual.getTime()){\n this.mensajeError = 'No puedes participar debido a que el tiempo de publicación a terminado.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n return;\n }\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiProcedimientos.updateProcesoProveedor(anio, idProcedimiento, proveedor[0].PK_FKCPRCO, this.globals.ESTATUS_PROC_PROV_PARTICIPANDO, null, null, null, null, null, this.pipe.transform(fechaActual, 'dd/MM/yyyy'))\n .subscribe(data => {\n if (data[0].success) {\n this.datosGrales[0].FKDPRPR_ESTADO = this.globals.ESTATUS_DESC_PROC_PROV_PARTICIPANDO;\n this.datosGrales[0].FKDPRPR_INDEST = this.globals.ESTATUS_PROC_PROV_PARTICIPANDO;\n this.actualizarMenu(this.globals.ESTATUS_PROC_PROV_PARTICIPANDO);\n this.redirectSubirCotiza();\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n //$('#mod_exito').modal('show');\n }, 1000);\n }else{\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n });\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n aceptar_terminos(){\n if (this.aceptar){\n this.aceptar = false;\n } else {\n this.aceptar = true;\n }\n }\n\n declinar(){\n let proveedor: any[] = [];\n let prov: Proveedor = this.getProveedor();\n\n $('#mod_upload').modal('hide');\n\n if (this.files === undefined || this.files.length === 0) {\n setTimeout(() => {\n $('#p_alerta').text('¡No se ha seleccionado ningún archivo!');\n $('#mod_alerta').modal('show');\n }, 500);\n return;\n }\n\n $('#mod_procesando').modal('show');\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiUpload.declinaPartidas(this.KeysFiles.anio, this.KeysFiles.idProcedimiento, this.KeysFiles.idPartida, proveedor[0].PK_FKCPRCO, this.files[0])\n .subscribe(data => {\n if (data[0].success) {\n\n this.readArticulos(this.KeysFiles.anio, this.KeysFiles.idProcedimiento, proveedor[0].PK_FKCPRCO)\n this.clearFile();\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n }, 500);\n\n }else{\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n this.clearFile();\n }\n });\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n this.clearFile();\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n this.clearFile();\n });\n }\n\n saveKeysFiles(anio: string, idProcedimiento: string, idPartida: string) {\n this.KeysFiles = {\n anio: anio,\n idProcedimiento: idProcedimiento,\n idPartida: idPartida\n }\n }\n\n clearFile() {\n this.myInputFile.nativeElement.value = '';\n }\n\n cargarArchivo(files: FileList) {\n this.files = files;\n }\n\n viewDeclinacion(){\n this.showDeclina = false;\n\n this.articulos.forEach(value => {\n //console.log(value);\n if (value.INDEST !== this.globals.ESTATUS_PROC_PROV_DECLINO &&\n value.DESCOFERTADA !== '' &&\n this.datosGrales[0].FKDPROC_INDEST === this.globals.ESTATUS_PROC_POR_ADJUDICAR){\n this.showDeclina = true;\n }\n });\n }\n\n abrirEnvioCorreo(){\n let correoContacto = 'asoledad@correo.uaa.mx'; // $(this).closest('tr').find('#hdn_correocont').val();\n this.correoLimpia();\n $('.correo').modal().show;\n\n this.correoAgregar(correoContacto);\n }\n\n correoLimpia(){\n $('.email-ids').remove();\n $(\".enter-mail-id\").val('');\n $(\".enter-mail-id\").css('border', '');\n $(\"#txt_para\").val('');\n $(\"#txt_asunto\").val('');\n $(\"#txt_mensaje\").val('');\n }\n correoAgregar(strCorreo) {\n $('.all-mail').append('' + strCorreo + ' x ');\n $(\"#txt_para\").val($('.correos').text().slice(0, -1));\n }\n\n correoAsunto(strCorreoAsunto) {\n $(\"#txt_asunto\").val(strCorreoAsunto);\n }\n\n correoMensaje(strCorreoMensaje) {\n $(\"#txt_mensaje\").val(strCorreoMensaje);\n }\n correoValida() {\n if ($(\"#txt_asunto\").val() == null || $(\"#txt_asunto\").val() == \"\"\n || $(\"#txt_mensaje\").val() == null || $(\"#txt_mensaje\").val() == \"\"\n ) return false;\n else return true;\n }\n\n correoEnviar() {\n if (this.correoValida()) {\n\n // $('#procesandocorreo').modal({ backdrop: 'static' });\n $('#mod_procesando').modal('show');\n let proveedor: any[] = [];\n let prov: Proveedor = this.getProveedor();\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiRegistry.enviarCorreos(proveedor[0].PK_FKCPRCO, this.anio, this.idProc, $(\"#txt_mensaje\").val(), $(\"#txt_asunto\").val() ).subscribe(data => {\n\n $('.correo').modal(\"hide\");\n this.correoLimpia();\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n if (data[0].success) {\n setTimeout(() =>{\n $('#mod_procesando').modal('hide');\n }, 500);\n $('.correo').modal(\"hide\");\n this.correoLimpia();\n $('#exitocorreo').modal(\"show\");\n } else {\n setTimeout(()=> {\n $('#mod_procesando').modal('hide');\n }, 400);\n $('.correo').modal(\"hide\");\n $('#emailtextoerror').text(\"Ocurrio un error al enviar el correo.\");\n $('#errorcorreo').modal(\"show\");\n }\n\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n $('#emailtextoerror').text(\"Error: Falta capturar algun(os) dato(s) obligatorio(s), VERIFIQUE.\");\n $('#errorcorreo').modal(\"show\");\n }\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tcHJvZHVjdG8vbWVudS1wcm9kdWN0by9tZW51LXByb2R1Y3RvLmNvbXBvbmVudC5jc3MifQ== */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Menu para el flujo de productos y servicios.\n *\n * AUTOR: FZALDIVAR\n * FECHA: 21/Oct/2019\n *\n*/\nimport { Component, OnInit } from '@angular/core';\nimport { ApiParametrosService } from 'src/app/services/api-parametros.service';\nimport { IdProcedimiento } from 'src/app/models/IdProcedimiento';\nimport { Router } from '@angular/router';\nimport { isNullOrUndefined } from 'util';\nimport { Globals } from 'src/app/globals';\n\n@Component({\n selector: 'app-menu-producto',\n templateUrl: './menu-producto.component.html',\n styleUrls: ['./menu-producto.component.css']\n})\nexport class MenuProductoComponent implements OnInit {\n\n public idProcedimiento: IdProcedimiento;\n public estatusProc: string;\n\n /*Opciones Menu*/\n public info: boolean = true;\n public subir_cotizacion: boolean = false;\n public orden_compra: boolean = false;\n\n constructor(private apiParams: ApiParametrosService, private router: Router, public globals: Globals) { }\n\n ngOnInit() {\n this.idProcedimiento = this.apiParams.getIdProcedimiento();\n\n if (isNullOrUndefined(this.idProcedimiento)) {\n this.router.navigateByUrl('/procs');\n return;\n }\n }\n\n ActualizaMenu(event):void{\n this.estatusProc = event.estatusProveedorProceso;\n }\n\n ActualizaView(opcion: string){\n /*Refresca los componentes que se deben mostrar al usuario*/\n if (opcion === 'info'){\n this.info = true;\n this.subir_cotizacion = false;\n this.orden_compra = false;\n }\n\n if (opcion === 'orden_compra'){\n this.info = false;\n this.subir_cotizacion = false;\n this.orden_compra = true;\n }\n\n if (opcion === 'subir_cotizacion'){\n this.info = false;\n this.subir_cotizacion = true;\n this.orden_compra = false;\n }\n\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tcHJvZHVjdG8vb3JkZW5Db21wcmEtcHJvZHVjdG8vb3JkZW5Db21wcmEtcHJvZHVjdG8uY29tcG9uZW50LmNzcyJ9 */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Consultar las ordenes de Compra y Facturas de cada procedimiento para un proveedor logeado.\n *\n * AUTOR: FZALDIVAR\n * FECHA: 27/Nov/2019\n*/\n\nimport { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { ApiProcedimientosService } from 'src/app/services/api-procedimientos.service';\nimport { ApiRegistryService } from 'src/app/services/api-registry.service';\nimport { ApiDownloadFileService } from 'src/app/services/api-download-file.service';\nimport { isNullOrUndefined } from 'util';\nimport { Router } from '@angular/router';\nimport { ApiAuthService } from 'src/app/services/api-auth.service';\nimport { Globals } from 'src/app/globals';\nimport { ApiUploadFileService } from 'src/app/services/api-upload-file.service';\ndeclare var $: any;\n\n@Component({\n selector: 'ordenCompra-producto',\n templateUrl: './ordenCompra-producto.component.html',\n styleUrls: ['./ordenCompra-producto.component.css']\n})\nexport class OrdenCompraProductoComponent implements OnInit {\n datosGrales: any[] = [];\n ordenesCompra: any[] = [];\n facturas: any[] = [];\n facturaID;\n\n filePDF: FileList;\n fileXML: FileList;\n fileJPG: FileList;\n claveProveedor;\n solicitud;\n\n @Input() public anio: string;\n @Input() public idProc: string;\n @ViewChild('txtFilePDF', {static: false}) txtFilePDF: ElementRef;\n @ViewChild('txtFileXML', {static: false}) txtFileXML: ElementRef;\n //@ViewChild('txtFileJPG', {static: false}) txtFileJPG: ElementRef;\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n\n constructor(private apiProcedimientos: ApiProcedimientosService, private apiRegistry: ApiRegistryService,\n private apiDownload: ApiDownloadFileService, private router: Router, private apiAuth: ApiAuthService,\n private apiUpload: ApiUploadFileService, private globals: Globals) {\n }\n\n ngOnInit() {\n if (isNullOrUndefined(this.anio) || isNullOrUndefined(this.idProc)) {\n this.readOrdenesCompra('');\n }\n else {\n this.readDatosGrales(this.anio, this.idProc);\n }\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n\n setTimeout(() => {\n $('#mod_procesando').modal('show');\n }, 500);\n\n $('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n //console.log(\"Datos Generales\", this.datosGrales);\n\n this.readOrdenesCompra(anio + '-' + idProcedimiento);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n readOrdenesCompra(folio: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n let tipoLicitaciones = this.globals.IND_ORDEN_LICITACIONES;\n\n this.claveProveedor = '';\n $('#texto_error').text('Ocurrió un error al mostrar la información de Ordenes de Compra.');\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n this.claveProveedor = proveedor[0].CLAVEPROV;\n\n this.apiProcedimientos.getOrdenesCompra(this.claveProveedor, folio, prov.Correo).subscribe(data => {\n if(data[0].success){\n this.ordenesCompra = JSON.parse(data[0].info);\n //console.log(\"Ordenes Compra\", this.ordenesCompra);\n\n if ($.fn.dataTable.isDataTable('#tbl_ordenes')) {\n $('#tbl_ordenes').DataTable().destroy();\n }\n /***************************************/\n $(document).ready(function () {\n let tbl_ordenes = $('#tbl_ordenes').DataTable({\n //dom: '<\"row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ],\n ordering: true,\n order: [],\n columnDefs: [{\n orderable: false,\n targets: \"no-sort\",\n }\n ]\n\n });\n //asoledad: 21/08/2022\n\n $('#tbl_ordenes tbody').on('click', 'tr', function () {\n var data = $('#tbl_ordenes').DataTable().row(this).data();\n\n var anio = $(this).closest('tr').find('#hdn_aniopedido').val();\n var pedido = $(this).closest('tr').find('#hdn_cvepedido').val();\n var solic = $(this).closest('tr').find('#hdn_folsol').val();\n //var aniopedido = $(this).closest('tr').find('#hdn_aniopedido').val();\n //var foliopedido = $(this).closest('tr').find('#hdn_cvepedido').val();\n //this.seleccionaOrden(solic, anio, pedido);\n //this.readFacturas(anio, pedido);\n });\n\n $('#txt_ordenes').on( 'keyup', function () {\n tbl_ordenes.search( this.value ).draw();\n });\n\n $('#todos').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#licitaciones').prop('checked', false);\n tbl_ordenes.columns(8).search('');\n } else {\n tbl_ordenes.columns(8).search('');\n }\n tbl_ordenes.draw();\n });\n\n $('#licitaciones').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#todos').prop('checked', false);\n tbl_ordenes.columns(8).search(tipoLicitaciones);\n } else{\n tbl_ordenes.columns(8).search('');\n }\n tbl_ordenes.draw();\n });\n //tbl_ordenes.draw();\n });\n\n if (this.ordenesCompra.length>0) {\n this.seleccionaOrden(this.ordenesCompra[0].FOLIOSOLIC, this.ordenesCompra[0].ANIOPEDIDO, this.ordenesCompra[0].PKPEDIDO);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n }\n\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n readFacturas(anio, idProcedimiento) {\n let prov: Proveedor = this.getProveedor();\n\n //setTimeout(() => {\n // $('#mod_procesando').modal('show');\n //}, 500);\n\n $('#texto_error').text('Ocurrió un error al mostrar la información de Facturas.');\n\n this.apiProcedimientos.getFacturas(this.claveProveedor, anio, idProcedimiento, prov.Correo).subscribe(data => {\n if(data[0].success){\n this.facturas = JSON.parse(data[0].info);\n //console.log(\"Facturas\", this.facturas);\n\n /***************************************/\n if ($.fn.dataTable.isDataTable('#tbl_facturas')) {\n $('#tbl_facturas').DataTable().destroy();\n }\n\n $(document).ready(function () {\n let tbl_facturas = $('#tbl_facturas').DataTable({\n //dom: '<\"row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ],\n ordering: true,\n order: [],\n columnDefs: [{\n orderable: false,\n targets: \"no-sort\"\n }]\n });\n\n $('#txt_facturas').on( 'keyup', function () {\n tbl_facturas.search( this.value ).draw();\n });\n });\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n getProveedor(): Proveedor{\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n return null;\n } else {\n return prov;\n }\n }\n\n cargarArchivo(type: string, file: FileList) {\n /*Valida que sea del tipo PDF*/\n if (type == 'PDF'){\n if (file[0].type !== 'application/pdf') {\n setTimeout( () => {\n $('#p_alerta').text('El tipo de archivo seleccionado debe ser PDF.');\n $('#mod_alerta').modal('show');\n },500);\n\n this.txtFilePDF.nativeElement.value = '';\n return\n }\n\n this.filePDF = file;\n }\n\n /*Valida que sea del tipo XML*/\n if (type == 'XML'){\n if (file[0].type !== 'text/xml') {\n setTimeout( () => {\n $('#p_alerta').text('El tipo de archivo seleccionado debe ser XML.');\n $('#mod_alerta').modal('show');\n },500);\n\n this.txtFileXML.nativeElement.value = '';\n return\n }\n\n this.fileXML = file;\n }\n\n /*Valida que sea del tipo JPG*/\n if (type == 'JPG'){\n if (file[0].type !== 'image/jpeg') {\n setTimeout( () => {\n $('#p_alerta').text('El tipo de archivo seleccionado debe ser JPG.');\n $('#mod_alerta').modal('show');\n },500);\n\n //this.txtFileJPG.nativeElement.value = '';\n return\n }\n\n this.fileJPG = file;\n }\n }\n\n clearFile() {\n this.txtFilePDF.nativeElement.value = '';\n this.txtFileXML.nativeElement.value = '';\n //this.txtFileJPG.nativeElement.value = '';\n }\n\n guardarArchivo() {\n $('#mod_procesando').modal('show');\n\n /*Valida que se hayan seleccionado todos los files*/\n if ((this.filePDF == undefined || this.filePDF.length == 0) ||\n (this.fileXML == undefined || this.fileXML.length == 0)\n //||(this.fileJPG == undefined || this.fileJPG.length == 0)asoledad: 03/06/2021 no validar la imagen de verificacion\n ) {\n setTimeout( () => {\n $('#p_alerta').text('No se han seleccionado todos los archivos.');\n $('#mod_alerta').modal('show');\n $('#mod_procesando').modal('hide');\n },500);\n\n this.clearFile();\n return;\n }\n\n /*Valida que los nombres deban ser iguales*/\n if (this.filePDF[0].name.substring(0, this.filePDF[0].name.length-4) !== this.fileXML[0].name.substring(0, this.fileXML[0].name.length-4)\n //|| this.fileXML[0].name.substring(0, this.fileXML[0].name.length-4) !== this.fileJPG[0].name.substring(0, this.fileJPG[0].name.length-4)\n ){\n setTimeout( () => {\n $('#p_alerta').text('Los nombres de los archivos deben ser iguales.');\n $('#mod_alerta').modal('show');\n $('#mod_procesando').modal('hide');\n },500);\n\n this.clearFile();\n return;\n }\n\n this.registraFactura(this.anio, this.idProc);\n }\n\n seleccionaOrden (solicitud, anio, idProcedimiento) {\n this.solicitud = solicitud;\n this.readFacturas(anio, idProcedimiento);\n\n this.anio = anio;\n this.idProc = idProcedimiento;\n }\n\n downloadFile(id: string, nombre: string) {\n this.apiDownload.downloadFile(id, true).subscribe(result => {\n var url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n registraFactura(anio, idProcedimiento) {\n let prov: Proveedor = this.getProveedor();\n\n $('#mod_procesando').modal('show');\n $('#texto_error').text('Ocurrió un error al registrar la Factura.');\n\n this.apiUpload.uploadFacturas(anio, idProcedimiento,this.globals.MOVTO_ALTA_FACTURA, '0', this.filePDF[0], this.fileXML[0], null/*this.fileJPG[0]*/).subscribe(data => {\n if(data[0].success){\n this.facturaID = JSON.parse(data[0].info);\n //console.log(\"Factura nueva ID: \", this.facturas);\n\n setTimeout( () => {\n $('#h_exito').text('¡Los documentos han sido cargados exitosamente!');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n },500);\n\n this.clearFile();\n\n this.readFacturas(anio, idProcedimiento);\n } else {\n\n this.clearFile();\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n this.clearFile();\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n reporteCompra(anio:string,folio: string) {\n let nombreReporte = 'FKPEDIDPRO';\n window.open(this.globals.BASE_URL_REPORTE + `ReportViewer.aspx?idusuario=A&token=A&s_perfil=1&s_nombreReporte=${ nombreReporte }&s_parametrosReporte=${ anio }-${ folio }`, '_blank');\n }\n\n deleteFactura(fadenli) {\n let prov: Proveedor = this.getProveedor();\n\n $('#mod_procesando').modal('show');\n $('#texto_error').text('Ocurrió un error al borrar la Factura.');\n\n this.apiUpload.uploadFacturas(this.anio, this.idProc, this.globals.MOVTO_BORRAR_FACTURA, fadenli).subscribe(data => {\n if(data[0].success){\n //this.facturaID = JSON.parse(data[0].info);\n //console.log(\"Factura eliminada: \", this.facturas);\n\n setTimeout( () => {\n $('#h_exito').text('¡La factura ha sido eliminada exitosamente!');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n },500);\n\n this.readFacturas(this.anio, this.idProc);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvZmx1am8tcHJvZHVjdG8vc3ViaXJDb3RpemFjaW9uLXByb2R1Y3RvL3N1YmlyQ290aXphY2lvbi1wcm9kdWN0by5jb21wb25lbnQuY3NzIn0= */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Subir las cotizaciones de los procedimientos que participa un proveedor logeado.\n *\n * AUTOR: FZALDIVAR\n * FECHA: 04/Nov/2019\n *\n*/\nimport { Component, OnInit, Output, Input, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { ApiProcedimientosService } from '../../../../../services/api-procedimientos.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApiRegistryService } from 'src/app/services/api-registry.service';\nimport { ApiDownloadFileService } from 'src/app/services/api-download-file.service';\nimport { ApiAuthService } from 'src/app/services/api-auth.service';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { isNullOrUndefined } from 'util';\nimport { FormGroup, FormControl, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { ApiUploadFileService } from 'src/app/services/api-upload-file.service';\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\n\ndeclare var $: any;\n\n@Component({\n selector: 'subirCotizacion-producto',\n templateUrl: './subirCotizacion-producto.component.html',\n styleUrls: ['./subirCotizacion-producto.component.css']\n})\nexport class SubirCotizacionProductoComponent implements OnInit {\n public datosGrales: any[] = [];\n public articulos: any[] = [];\n\n public anexos: any[] = [];\n\n /* ****/\n public vpnMov;\n public vpsTipoProv;\n public vpsCveDoc;\n @ViewChild('myInput', {static: false}) myInput: ElementRef;\n vpnGoddocs: string = '';\n pk_proveedor: string = '';\n comentarios: string = '';\n public mensajeAlerta: string = '';\n public mensajeExito: string = '';\n public tipoAlerta: number;\n public tipoMov: number = 0;\n /**** */\n public countPartipa: number = 0;\n public frmPartidas: FormGroup;\n public files: FileList;\n public validaEnvio = false;\n public errfechaCotiza = false;\n\n public mensajeError: string = '¡Error!';\n public error: number;\n\n @Input() public anio: string;\n @Input() public idProc: string;\n @Output() EventoMenu = new EventEmitter();\n @ViewChild('myInputFile', {static: false}) myInputFile: ElementRef;\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n\n private KeysFiles: {\n idRow: number,\n anio: string,\n idProcedimiento: string,\n idPartida: string,\n idProveedor: string,\n FolioGodocs: string,\n nombre_file: string\n }\n\n constructor(private apiProcedimientos: ApiProcedimientosService, private apiRegistry: ApiRegistryService,\n private apiDownload: ApiDownloadFileService, private router: Router, private apiAuth: ApiAuthService,\n private formBuilder: FormBuilder, private apiUpload: ApiUploadFileService) { }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc);\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n let proveedor;\n let prov: Proveedor = this.getProveedor();\n //$('#texto_error').text('Ocurrió un error al mostrar la información del procedimiento.');\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]'){\n proveedor = JSON.parse(data[0].info);\n\n this.apiProcedimientos.getDatosGralesProv(anio, idProcedimiento, proveedor[0].PK_FKCPRCO).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n //console.log(\"Datos Generales\", this.datosGrales);\n\n this.readArticulos(anio, idProcedimiento, proveedor[0].PK_FKCPRCO);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n readArticulos(anio: string, idProcedimiento: string, proveedor: string) {\n this.apiProcedimientos.getArticulosProv(anio, idProcedimiento, proveedor).subscribe(data => {\n if(data[0].success){\n this.articulos = JSON.parse(data[0].info);\n //console.log(\"Articulos\", this.articulos);\n\n /*Actualizar campo de Fecha de vigencia*/\n let fechaCotiza;\n let fechaActual = new Date();\n\n for (let i=0; i<=this.articulos.length-1; i++){\n if (this.articulos[i].FECHAVIGENCIA !== ''){\n fechaCotiza = this.articulos[i].FECHAVIGENCIA;\n }\n }\n\n if (fechaCotiza==''){\n this.errfechaCotiza = true;\n }\n\n $(document).ready(function () {\n $('#txt_fecha_cotiza').datepicker({\n uiLibrary: 'bootstrap4',\n iconsLibrary: 'fontawesome',\n format: 'dd/mm/yyyy',\n value: fechaCotiza,\n minDate: fechaActual\n });\n });\n\n /*** Inicialización de FormBuilderArray y llenado de datos. ***/\n this.frmPartidas = this.formBuilder.group({\n partidasDetails: this.formBuilder.array([])\n });\n\n const control = this.frmPartidas.controls['partidasDetails'];\n let j=0;\n\n if (this.articulos.length > 0) {\n this.articulos.forEach(x => {\n\n control.push(this.initPartidas(proveedor, x));\n\n /*Si el row tiene un ID quiere decir que ya particpa ahi y suma en el contador de participaciones. */\n if (x.FKDPPPR_PK_CONSEC !==''){\n this.countPartipa = this.countPartipa + 1;\n }\n\n /*Deshabilita los campos que estaran ocultos para que no se consideren en las validaciones de captura.*/\n this.disabledFields(j);\n j++;\n });\n } else {\n control.push(this.initPartidas(proveedor, null));\n }\n /***************************************/\n\n $(document).ready(function () {\n let tbl_partidas = $('#tbl_partidas').DataTable({\n //dom: '<\"row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ],\n ordering: true,\n order: [],\n columnDefs: [{\n orderable: false,\n targets: \"no-sort\"\n }]\n });\n\n $('#txt_partidas').on( 'keyup', function () {\n tbl_partidas.search( this.value ).draw();\n });\n });\n /*setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);*/\n this.readAnexos('ADQUISICION',anio,idProcedimiento);\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n getProveedor(): Proveedor {\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n return null;\n } else {\n return prov;\n }\n }\n\n initPartidas(proveedor: string, valor?: any): FormGroup {\n return this.formBuilder.group({\n \"partida_id\": [valor.PK_PARTIDA],\n \"cantidad\": [valor.CANTSOL],\n \"descripcion\": [valor.UNIDADMEDIDA],\n \"desc_solicitada\": [valor.ARTICULOSOL],\n \"anexo_tecnico\": [valor.ANEXOTECNICO],\n \"folio_godocs\": [valor.FOLIOGODOCS],\n\n \"anio\": this.anio,\n \"proc_id\": this.idProc,\n \"PK_Articulo\": [valor.PK_ARTICULO],\n \"proveedor\": proveedor,\n\n \"FKDPPPR_PK_CONSEC\":[valor.FKDPPPR_PK_CONSEC],\n \"desc_ofertada\": [valor.DESCOFERTADA, Validators.required],\n \"precio_unit\": [valor.PRECIOUNITARIO, Validators.required],\n \"tiempo_entrega\": [valor.TIEMPOENTREGA, Validators.required],\n \"garantia\": [valor.GARANTIA, Validators.required],\n\n \"movimiento\": 'U',\n \"isShow\": [valor.FKDPPPR_PK_CONSEC] //campo de control para deteriminar si el row existe y hacerlo visible\n });\n }\n\n showFields(show: string, id: number, movto) {\n //let elem: NodeListOf = document.getElementsByName(\"ctrl_\" + id);\n let btnPlus: HTMLElement = document.getElementById(\"btn_plus_\" + id);\n let btnMinus: HTMLElement = document.getElementById(\"btn_minus_\" + id);\n\n btnPlus.classList.toggle('d-none');\n btnMinus.classList.toggle('d-none');\n\n //this.frmPartidas.controls['partidasDetails'].get('state').reset();\n //this.frmPartidas.controls['partidasDetails'].get('state').disable();\n const field = (this.frmPartidas.controls['partidasDetails']);\n\n /*Deshabilita o habilita los campos ocultos para que no entren en las validaciones de captura*/\n if (show == ''){\n field.controls[id].get('desc_ofertada').disable();\n field.controls[id].get('precio_unit').disable();\n field.controls[id].get('tiempo_entrega').disable();\n field.controls[id].get('garantia').disable();\n\n this.countPartipa = this.countPartipa - 1;\n }\n else {\n field.controls[id].get('desc_ofertada').enable();\n field.controls[id].get('precio_unit').enable();\n field.controls[id].get('tiempo_entrega').enable();\n field.controls[id].get('garantia').enable();\n\n this.countPartipa = this.countPartipa + 1;\n }\n\n /*vuelve visible o invisible los campos*/\n field.controls[id].patchValue({isShow: show});\n\n /*Asigna tipo de movimiento a realizar U: actualiza o D: eliminar*/\n field.controls[id].patchValue({movimiento: movto})\n }\n\n enviar() {\n let partidasUpdate: any[] = [];\n\n if (!this.validaFechaFin()) {\n //$('#texto_error').text('No puedes participar debido a que el tiempo de publicación a terminado.');\n this.mensajeError = 'No puedes participar debido a que el tiempo de publicación a terminado.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n return;\n }\n\n /*Activa la clase is-invalid para que en caso de ser invalido resalten los campos*/\n this.validaEnvio = true;\n\n /*Revisa que las validaciones de captura esten ok.*/\n if ($('#txt_fecha_cotiza').val() == '') {\n this.errfechaCotiza = true;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#p_alerta').text('Para continuar es necesario capturar la fecha de vigencia de la cotización. Esta información aplica para todas las partidas en las que participe.');\n $('#mod_alerta').modal('show');\n }, 500);\n\n return;\n }\n\n this.errfechaCotiza = false;\n\n /*Revisa que la fecha de cotización no este vacía.*/\n if (this.frmPartidas.invalid) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#p_alerta').text('Para continuar es necesario que capture toda la información requerida de las partidas en las que participe o si lo prefiere elimine su participación.');\n $('#mod_alerta').modal('show');\n }, 500);\n\n return;\n }\n\n\n for (let i =0; i {\n $('#mod_procesando').modal('hide');\n $('#p_alerta').text('Documentos obligatorios sin cargar. Revise su paticipación.');\n $('#mod_alerta').modal('show');\n }, 500);\n\n return;\n }\n\n }\n }\n\n this.validaEnvio = false;\n\n /*Obtiene partidas a enviar*/\n let i=0;\n this.frmPartidas.controls['partidasDetails'].value.forEach(partida => {\n const field = (this.frmPartidas.controls['partidasDetails']);\n\n /*Partidas eliminadas y que existían anteriormente en BD -que tienen un ID-*/\n if (partida.movimiento == 'D' && partida.FKDPPPR_PK_CONSEC !== ''){\n partidasUpdate.push(partida);\n }\n\n /*Partidas agregadas o actualizadas que esten visibles y que sus valores fueron cambiados.*/\n if (partida.movimiento == 'U' && partida.isShow !== '') { // && field.controls[i].touched){\n partidasUpdate.push(partida);\n }\n\n i++;\n });\n\n /*Registra partidas.*/\n if (partidasUpdate.length > 0) {\n this.apiProcedimientos.updateArticulosProv(partidasUpdate, $('#txt_fecha_cotiza').val()).subscribe(data => {\n if (data[0].success) {\n this.updatePartidasView();\n //this.frmPartidas.controls['partidasDetails'].get('state').reset();\n //this.frmPartidas.controls['partidasDetails'].get('state').disable();\n\n setTimeout(() => {\n $('#h_exito').text('La(s) propuesta(s) ha(n) sido almacenada(s), podrá seguir haciendo modificaciones mientras el procedimiento continue abierto.');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n }, 500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout( () => {\n //$('#texto_error').text('Ocurrió un error al intentar cargar las partidas, por favor intente nuevamente.');\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n },500);\n }\n },error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = 'Ocurrió un error al intentar cargar las partidas, por favor intente nuevamente.';\n }\n setTimeout( () => {\n //$('#texto_error').text('Ocurrió un error al intentar cargar las partidas, por favor intente nuevamente.');\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n },500);\n });\n }else{\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#p_alerta').text('No hay cambios realizados en ningúna partida.');\n $('#mod_alerta').modal('show');\n }, 500);\n }\n //console.log(partidasUpdate);\n }\n\n disabledFields(id) {\n /*Deshabilita los campos que al inicio se presentan ocultos.*/\n const field = (this.frmPartidas.controls['partidasDetails']);\n\n if (field.controls[id].get('FKDPPPR_PK_CONSEC').value == ''){\n field.controls[id].get('desc_ofertada').disable();\n field.controls[id].get('precio_unit').disable();\n field.controls[id].get('tiempo_entrega').disable();\n field.controls[id].get('garantia').disable();\n }\n }\n\n cargarArchivo(files: FileList) {\n this.files = files;\n }\n\n guardarArchivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n\n /*Valida el tiempo restante*/\n if (!this.validaFechaFin()) {\n // $('#texto_error').text('No puedes participar debido a que el tiempo de publicación a terminado.');\n this.mensajeError = 'No puedes participar debido a que el tiempo de publicación a terminado.';\n setTimeout(() => {\n $('#upload').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n this.clearFile();\n return;\n }\n\n if (this.files !== undefined && this.files.length > 0) {\n $('#mod_procesando').modal('show');\n\n this.apiUpload.postAnexoTecnico('U', this.KeysFiles.anio, this.KeysFiles.idProcedimiento, this.KeysFiles.idPartida, this.KeysFiles.idProveedor, null,\n this.files[0], '').subscribe(data => {\n if (data[0].success) {\n /*Actualiza el nombre y ID del archivo en la vista.*/\n this.KeysFiles.nombre_file = this.files[0].name;\n this.KeysFiles.FolioGodocs = data[0].info;\n this.updateFilesView(\"U\");\n this.clearFile();\n\n setTimeout( () => {\n $('#h_exito').text('¡El documento ha sido cargado exitosamente!');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n },500);\n } else {\n this.clearFile();\n this.mensajeError = data[0].msgRespuesta;\n setTimeout( () => {\n // $('#texto_error').text('Ocurrió un error al intentar cargar el archivo, por favor intente nuevamente.');\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n },500);\n }\n },\n error => {\n this.clearFile();\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n $('#p_alerta').text('¡No se ha seleccionado ningún archivo!');\n $('#mod_alerta').modal('show');\n }\n }\n\n clearFile() {\n this.myInputFile.nativeElement.value = '';\n }\n\n saveKeysFiles(anio: string, idProcedimiento: string, idPartida: string, idProveedor: string, idRow: number, FolioGodocs: string, nombre_file: string) {\n this.KeysFiles = {\n idRow: idRow,\n anio: anio,\n idProcedimiento: idProcedimiento,\n idPartida: idPartida,\n idProveedor: idProveedor,\n FolioGodocs: FolioGodocs,\n nombre_file: nombre_file\n }\n }\n\n updatePartidasView() {\n let i=0;\n\n this.frmPartidas.controls['partidasDetails'].value.forEach(partida => {\n const field = (this.frmPartidas.controls['partidasDetails']);\n\n /*Elimina los valores de la vista de partidas borradas ('D')*/\n if (partida.movimiento == 'D'){\n field.controls[i].patchValue({desc_ofertada: ''});\n field.controls[i].patchValue({precio_unit: ''});\n field.controls[i].patchValue({tiempo_entrega: ''});\n field.controls[i].patchValue({garantia: ''});\n field.controls[i].patchValue({anexo_tecnico: ''});\n field.controls[i].patchValue({FKDPPPR_PK_CONSEC: ''});\n field.controls[i].patchValue({folio_godocs: ''});\n }\n\n /*Actualiza un valor a las partidas agregadas o actualizadas y que esten visibles ('U').*/\n if (partida.movimiento == 'U' && partida.isShow !== '' && field.controls[i].touched){\n field.controls[i].patchValue({FKDPPPR_PK_CONSEC: 'Updated'});\n }\n\n i++;\n });\n }\n\n validaFechaFin() {\n /*Si la fecha de publicación terminó o es nula regresa False\"*/\n let fechaActual = new Date();\n let fechaFinPub = new Date(this.datosGrales[0].FECFINPUB);\n\n if (isNaN(fechaFinPub.getTime()) || fechaFinPub.getTime() < fechaActual.getTime()){\n return false;\n }else{\n return true;\n }\n }\n\n eliminarArchivo() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n\n /*Valida el tiempo restante*/\n if (!this.validaFechaFin()) {\n // $('#texto_error').text('No puedes participar debido a que el tiempo de publicación a terminado.');\n this.mensajeError = 'No puedes participar debido a que el tiempo de publicación a terminado.';\n setTimeout(() => {\n $('#upload').modal('hide');\n $('#error').modal('show');\n }, 500);\n\n this.clearFile();\n return;\n }\n\n $('#mod_procesando').modal('show');\n this.apiUpload.postAnexoTecnico('D', this.KeysFiles.anio, this.KeysFiles.idProcedimiento, this.KeysFiles.idPartida, this.KeysFiles.idProveedor,\n this.KeysFiles.FolioGodocs, null, '').subscribe(data => {\n if (data[0].success) {\n /*Actualiza el nombre del archivo en la vista para eliminarlo.*/\n this.updateFilesView('D');\n\n setTimeout( () => {\n $('#h_exito').text('¡El documento ha sido eliminado exitosamente!');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n updateFilesView(movimiento: string) {\n let i=0;\n const field = (this.frmPartidas.controls['partidasDetails']);\n\n /*Elimina los valores de la vista de partidas borradas ('D')*/\n if (movimiento == 'D'){\n field.controls[this.KeysFiles.idRow].patchValue({anexo_tecnico: ''});\n field.controls[this.KeysFiles.idRow].patchValue({folio_godocs: ''});\n }\n\n /*Actualiza un valor a las partidas agregadas o actualizadas y que esten visibles ('U').*/\n if (movimiento == 'U'){\n field.controls[this.KeysFiles.idRow].patchValue({anexo_tecnico: this.KeysFiles.nombre_file});\n field.controls[this.KeysFiles.idRow].patchValue({folio_godocs: this.KeysFiles.FolioGodocs});\n }\n }\n\n downloadFile(id: string, nombre: string) {\n this.apiDownload.downloadFile(id).subscribe(result => {\n var url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n\n soloLetras(e) {\n let tecla = (document.all) ? e.keyCode : e.which;\n if (tecla==8) return true;\n let patron =/[A-Za-z0-9ñÑ\\s.,]/;\n let te = String.fromCharCode(tecla);\n return patron.test(te);\n }\n\n readAnexos(iActido: string, anio: string, idProcedimiento: string) {\n //this.apiProcedimientos.getAnexos(iActido, anio, idProcedimiento).subscribe(data => {\n this.apiProcedimientos.getInfoObra(iActido,anio, idProcedimiento,'2',this.datosGrales[0].PROC_CONSEC).subscribe(data => {\n if(data[0].success){\n this.anexos = JSON.parse(data[0].info);\n console.log(\"Anexos\", this.anexos);\n\n /*Si la tabla ya fue inicializa se destruye*/\n if ($.fn.dataTable.isDataTable('#tbl_anexos')) {\n $('#tbl_anexos').DataTable().destroy();\n }\n\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_anexos').DataTable({\n /*dom: \"<'row'<'col-sm-12 col-md-6'l>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-6'><'col-sm-12 col-md-6'p>>\",*/\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n $('#txt_anexos').on( 'keyup', function () {\n tbl_anexos.search( this.value ).draw();\n });\n })\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n download(cve_docto: string) {\n this.apiDownload.downloadFile(cve_docto);\n }\n\n\n reemplazaCaracter(evento) {\n let cadena = evento.target.value;\n cadena = cadena.replace(/[\"/\\\\]/g, '');\n cadena = cadena.replace(/[&\\\\]/g, ' and ');\n evento.target.value = cadena;\n this.comentarios = cadena;\n }\n\n //Guardar archivo\n guardarArchivoProc() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n if (this.files !== undefined && this.files.length > 0) {\n $('#mod_procesando').modal('show');\n this.apiUpload.postFileObraProcProv(proveedor.Correo,this.vpnMov,this.anio, this.idProc\n ,this.datosGrales[0].PROC_CONSEC,this.vpsTipoProv,this.vpsCveDoc,this.vpnGoddocs,this.comentarios,this.files[0]).subscribe(data => {\n if (data[0].success) {\n this.tipoMov = 0;\n setTimeout( () => {\n //this.mensajeExito = '¡El documento ha sido cargado correctamente!';\n $('#h_exito').text('¡El documento ha sido cargado exitosamente!');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n\n this.readAnexos('ADQUISICION',this.anio,this.idProc);\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n } else {\n $('#info').modal('show');\n }\n }\n\n eliminarArchivoProc() {\n let proveedor: Proveedor;\n proveedor = this.apiAuth.getTokenDecoded();\n $('#mod_procesando').modal('show');\n this.apiUpload.deleteFileObraProcProv(proveedor.Correo, this.vpnMov, this.anio, this.idProc, this.datosGrales[0].PROC_CONSEC,this.vpsTipoProv,this.vpsCveDoc,this.vpnGoddocs).subscribe(data => {\n if (data[0].success) {\n this.tipoMov = 0;\n setTimeout( () => {\n this.mensajeExito = '¡El documento ha sido eliminado correctamente!';\n $('#h_exito').text('¡El documento ha sido eliminado exitosamente!');\n $('#mod_procesando').modal('hide');\n $('#mod_exito').modal('show');\n this.readAnexos('ADQUISICION',this.anio,this.idProc);\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n //Asigna los valores a las variables correspondientes, para realizar guardado o eliminado de archivos.\n arch(mov: string, cvedoc: string, goddocs: string, tipodocto: string) {\n this.myInput.nativeElement.value = ''; //Limpia el input file\n this.comentarios = '', //Limpia los comentarios\n this.vpnMov = mov;\n this.vpsCveDoc = cvedoc;\n this.vpnGoddocs = goddocs;\n this.vpsTipoProv = tipodocto;\n this.mensajeAlerta = '¿Estás seguro que desea eliminar el documento?';\n this.tipoAlerta = 0;\n}\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wYXJ0aWNpcGEvcHJvY2VkaW1pZW50b3MvcHJvY3MuY29tcG9uZW50LmNzcyJ9 */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Consultar todos los procedimientos existentes asi como filtrar los propios de un proveeedor ya firmado.\n *\n * AUTOR: FZALDIVAR\n * FECHA: 10/Oct/2019\n *\n*/\nimport { Component, OnInit } from '@angular/core';\nimport { ApiProcedimientosService } from 'src/app/services/api-procedimientos.service';\nimport { Router } from '@angular/router';\nimport { ApiRegistryService } from 'src/app/services/api-registry.service';\nimport { ApiAuthService } from 'src/app/services/api-auth.service';\nimport { Proveedor } from 'src/app/models/Proveedor';\nimport { isNullOrUndefined, debug } from 'util';\nimport { ApiParametrosService } from 'src/app/services/api-parametros.service';\nimport { Globals } from 'src/app/globals';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-procs',\n templateUrl: './procs.component.html',\n styleUrls: ['./procs.component.css']\n})\nexport class ProcsComponent implements OnInit {\n\n public readonly PANTALLA: number = 3; // Constante Id para esta pantalla\n public now: Date;\n public procedimientos: any[] = [];\n\n public mensajeError: string = '¡Error!';\n public error: number;\n\n constructor(private apiProcedimientos: ApiProcedimientosService, private apiRegistry: ApiRegistryService, private apiAuth: ApiAuthService,\n private router: Router, private apiParams: ApiParametrosService, public globals: Globals) {\n this.now = new Date();\n }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n $('#div_ordenes').hide();\n this.getProveedor();\n }\n\n getProveedor(){\n let proveedor: any[] = [];\n let prov: Proveedor\n prov = this.apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(prov)) {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n\n return;\n }\n\n this.apiRegistry.getInformacionRfc(prov.RFC).subscribe(data => {\n if(data[0].success && data[0].info !== '{}' && data[0].info !== '[]') {\n proveedor = JSON.parse(data[0].info);\n this.readProcedimientos(this.now.getFullYear().toString(), this.PANTALLA, proveedor[0].PK_FKCPRCO, proveedor[0].PK_TIPO_PROVEEDOR);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n readProcedimientos(anio: string, idPantalla: number, idProveedor: string, perfil: string) {\n this.apiProcedimientos.getListaProcs(anio, idPantalla, idProveedor, perfil).subscribe(data => {\n if(data[0].success){\n this.procedimientos = JSON.parse(data[0].info);\n $(document).ready(function () {\n let datatable = $('#tbl_proc_proveedor').DataTable({\n /*dom: \"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6 toolbar'>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-6'><'col-sm-12 col-md-6'p>>\",*/\n\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2 toolbar'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n ,\n \"columnDefs\": [\n { \"searchable\": true, \"targets\": 8 },\n { \"visible\": false, \"targets\": [8,9] },\n {\n targets: 3,\n render: (data, type, row) => {\n if (type === 'display') {\n if ( row[\"9\"] ==='1'){\n return data+'
*El estatus pre asignado no genera un compromiso para la UAA, no deberá considerarse como un pedido. ';\n }\n }\n return data;\n }\n //render: $.fn.dataTable.render.ellipsis(100)\n }\n ]\n });\n $('[data-toggle=\"tooltip\"]').tooltip();\n $(\"div.toolbar\").html('= Indica que usted ha sido pre-asignada');\n\n $('#myInput').on( 'keyup', function () {\n datatable.search( this.value ).draw();\n });\n\n $('#btn_todos').on('click', function() {\n datatable.columns(8).search('');\n datatable.draw();\n $('#btn_todos').addClass('active');\n $('#btn_mios').removeClass('active');\n $('#btn_ordenes').removeClass('active');\n\n $('#lbl_titulo').text('Todos los Procedimientos');\n $('#div_participaciones').show();\n $('#div_ordenes').hide();\n });\n\n $('#btn_mios').on('click', function() {\n datatable.columns(8).search('1');\n datatable.draw();\n $('#btn_todos').removeClass('active');\n $('#btn_mios').addClass('active');\n $('#btn_ordenes').removeClass('active');\n\n $('#lbl_titulo').text('Mis Participaciones');\n $('#div_participaciones').show();\n $('#div_ordenes').hide();\n });\n\n $('#btn_ordenes').on('click', function() {\n $('#lbl_titulo').text('Mis Órdenes de Compra');\n $('#btn_todos').removeClass('active');\n $('#btn_mios').removeClass('active');\n $('#btn_ordenes').addClass('active');\n\n $('#div_participaciones').hide();\n $('#div_ordenes').show();\n });\n })\n\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n this.error = error.status;\n if (error.status === 401) {\n this.mensajeError = 'Tu sesión a caducado, por favor inicia sesión nuevamente.';\n } else {\n this.mensajeError = '¡Error!';\n }\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n getRuta(iactido: string, anio: string, idProc: string){\n let ruta: string;\n\n if (iactido === this.globals.IACTIDO_PROC_OBRA) {\n ruta = '/menu-obra';\n }\n\n if (iactido === this.globals.IACTIDO_PROC_ADQUISICION) {\n ruta = '/menu-producto';\n }\n\n this.apiParams.setIdProcedimiento(idProc, anio);\n this.router.navigateByUrl(ruta);\n }\n\n cerrarSesion() {\n this.apiAuth.deleteToken();\n this.router.navigate(['/']).then(() => window.location.reload());\n }\n cargar() {\n this.router.navigate(['/procs']).then(() => window.location.reload());\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wcmluY2lwYWwvcHJpbmNpcGFsLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-principal',\n templateUrl: './principal.component.html',\n styleUrls: ['./principal.component.css']\n})\nexport class PrincipalComponent implements OnInit {\n\n constructor(private router: Router) { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wcm9jZWRpbWllbnRvcy1kZXQtb2JyYS9wcm9jZWRpbWllbnRvcy1kZXQtb2JyYS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ApiProcedimientosService } from 'src/app/services/api-procedimientos.service';\nimport { ApiDownloadFileService } from '../../../services/api-download-file.service';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-procedimientos-det-obra',\n templateUrl: './procedimientos-det-obra.component.html',\n styleUrls: ['./procedimientos-det-obra.component.css']\n})\nexport class ProcedimientosDetObraComponent implements OnInit {\n\n\n public datosGrales: any[] = [];\n public plazos: any[] = [];\n public anexos: any[] = [];\n public anio: string;\n public idProc: string;\n public feclimcot: string;\n\n public mensajeError: string = 'Ha ocurrido un error, comunicarse al Departamento de Sistemas.';\n\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n constructor(private router: Router,\n private ruta: ActivatedRoute,\n private apiProcedimientos: ApiProcedimientosService,\n private apiDownload: ApiDownloadFileService) {\n this.anio = this.ruta.snapshot.params.anio;\n this.idProc = this.ruta.snapshot.params.idProc;\n }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc);\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getDatosGenerales(anio, idProcedimiento).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n this.feclimcot = this.datosGrales[0].FECFINPUB;\n this.feclimcot = this.feclimcot.replace(/-/g,\"/\");\n console.log(this.datosGrales);\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n this.readAnexos(this.datosGrales[0].IACTIDO_PK_CVETID, anio, idProcedimiento);\n } else {\n this.mensajeError = 'Ha ocurrido un error al obtener los datos del procedimiento.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.mensajeError = 'Ha ocurrido un error al obtener los datos del procedimiento.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n\n readAnexos(iActido: string, anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getAnexos(iActido, anio, idProcedimiento).subscribe(data => {\n if(data[0].success){\n this.anexos = JSON.parse(data[0].info);\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_anexos').DataTable({\n //dom: '<\"row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n // $('#txt_anexos').on( 'keyup', function () {\n // tbl_anexos.search( this.value ).draw();\n // });\n });\n this.readPlazos(anio, idProcedimiento);\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n } else {\n this.mensajeError = 'Ha ocurrido un error al obtener los datos de los anexos.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.mensajeError = 'Ha ocurrido un error al obtener los datos de los anexos.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n readPlazos(anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getPlazoFec(anio, idProcedimiento, null).subscribe(data => {\n if(data[0].success){\n this.plazos = JSON.parse(data[0].info);\n console.log('Plazos');\n console.log(this.plazos);\n $(document).ready(function () {\n let tbl_plazos = $('#tbl_plazos').DataTable({\n //dom: '<\"row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n // $('#txt_anexos').on( 'keyup', function () {\n // tbl_anexos.search( this.value ).draw();\n // });\n })\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n } else {\n this.mensajeError = 'Ha ocurrido un error al obtener los datos de los plazos.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n }\n },\n error => {\n this.mensajeError = 'Ha ocurrido un error al obtener los datos de los plazos.';\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n }, 500);\n });\n }\n\n download(cve_docto: string, nombre: string) {\n this.apiDownload.downloadFile(cve_docto).subscribe(result => {\n let url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wcm9jZWRpbWllbnRvcy1kZXRhbGxlL3Byb2NlZGltaWVudG9zLWRldGFsbGUuY29tcG9uZW50LmNzcyJ9 */\"","/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Consultar el detalle de cada procedimiento para el público en general.\n *\n * AUTOR: FZALDIVAR\n * FECHA: 10/Oct/2019\n *\n*/\n\nimport { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { ApiProcedimientosService } from 'src/app/services/api-procedimientos.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApiDownloadFileService } from 'src/app/services/api-download-file.service';\ndeclare var $: any;\n\n@Component({\n selector: 'app-procedimientos-detalle',\n templateUrl: './procedimientos-detalle.component.html',\n styleUrls: ['./procedimientos-detalle.component.css']\n})\n\nexport class ProcedimientosDetalleComponent implements OnInit\n{\n public datosGrales: any[] = [];\n public articulos: any[] = [];\n public anexos: any[] = [];\n public anio: string;\n public idProc: string;\n public partidas: boolean = true;\n\n @ViewChild('downloadLink', {static: false}) downloadLink: ElementRef;\n\n constructor(private apiProcedimientos: ApiProcedimientosService,\n private ruta: ActivatedRoute,\n private apiDownload: ApiDownloadFileService,\n private router: Router) {\n this.anio = this.ruta.snapshot.params.anio;\n this.idProc = this.ruta.snapshot.params.idProc;\n }\n\n ngOnInit(): void {\n $('#mod_procesando').modal('show');\n this.readDatosGrales(this.anio, this.idProc);\n }\n\n readDatosGrales(anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getDatosGenerales(anio, idProcedimiento).subscribe(data => {\n if(data[0].success){\n this.datosGrales = JSON.parse(data[0].info);\n if (this.datosGrales[0].IACTIDO_PK_CVETID !== 'OBRAPUB'){\n this.partidas = true;\n } else {\n this.partidas = false;\n }\n\n this.readArticulos(anio, idProcedimiento);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n readArticulos(anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getArticulos(anio, idProcedimiento).subscribe(data => {\n if(data[0].success){\n this.articulos = JSON.parse(data[0].info);\n\n $(document).ready(function () {\n let tbl_partidas = $('#tbl_partidas').DataTable({\n //dom: '<\"#row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n $('#txt_partidas').on( 'keyup', function () {\n tbl_partidas.search( this.value ).draw();\n });\n })\n\n this.readAnexos(this.datosGrales[0].IACTIDO_PK_CVETID, anio, idProcedimiento);\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n readAnexos(iActido: string, anio: string, idProcedimiento: string) {\n this.apiProcedimientos.getAnexos(iActido, anio, idProcedimiento).subscribe(data => {\n if(data[0].success){\n this.anexos = JSON.parse(data[0].info);\n $(document).ready(function () {\n let tbl_anexos = $('#tbl_anexos').DataTable({\n //dom: '<\"row\">ltp',\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ]\n });\n\n $('#txt_anexos').on( 'keyup', function () {\n tbl_anexos.search( this.value ).draw();\n });\n })\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n }, 500);\n\n } else {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n }\n },\n error => {\n setTimeout(() => {\n $('#mod_procesando').modal('hide');\n $('#mod_error').modal('show');\n }, 500);\n });\n }\n\n download(cve_docto: string, nombre: string) {\n this.apiDownload.downloadFile(cve_docto).subscribe(result => {\n let url = window.URL.createObjectURL(result);\n\n const link = this.downloadLink.nativeElement;\n link.href = url;\n link.download = nombre;\n link.click();\n\n window.URL.revokeObjectURL(url);\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmVnb2Npby9wcm9jZWRpbWllbnRvcy9wcm9jZWRpbWllbnRvcy5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiProcedimientosService } from '../../../services/api-procedimientos.service';\nimport { Globals } from 'src/app/globals';\ndeclare var $: any;\n@Component({\n selector: 'app-procedimientos',\n templateUrl: './procedimientos.component.html',\n styleUrls: ['./procedimientos.component.css']\n})\nexport class ProcedimientosComponent implements OnInit {\n\n pantalla = 1;\n anio = Number(new Date().getFullYear());\n proveedor;\n\n registros: any [] = [];\n\n public mensajeError: string = '¡Error!';\n\n constructor(private router: Router, private apiProc: ApiProcedimientosService, public globals: Globals) {\n }\n\n ngOnInit() {\n $('#mod_procesando').modal('show');\n this.cargaDatos();\n }\n\n cargaDatos() {\n this.apiProc.getListaProcs(this.anio.toString(), this.pantalla, null, null).subscribe(data => {\n if (data[0].success) {\n if(data[0].info !== '{}' && data[0].info !== '[]'){\n let datos = JSON.parse(data[0].info);\n this.registros = datos;\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n },500);\n } else {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n },500);\n }\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n },500);\n } else {\n this.mensajeError = data[0].msgRespuesta;\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n },500);\n }\n this.cargaDatatable();\n },\n error => {\n setTimeout( () => {\n $('#mod_procesando').modal('hide');\n $('#error').modal('show');\n },500);\n });\n }\n\n cargaDatatable() {\n let tipoServicios = this.globals.TIPO_PROC_SERVICIOS;\n let tipoObra = this.globals.TIPO_PROC_OBRA;\n\n $(document).ready(function () {\n let datatable = $('#example').DataTable({\n /*dom: \"<'row'<'col-sm-12 col-md-6'l>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-6'><'col-sm-12 col-md-6'p>>\",*/\n //dom: '<\"#positionFilter\">ltp',\n paging: true, //Oculta controles y etiquetas de paginación\n searching: true, //Dejar en true para conservar funcionalidades de busqueda en columnas.\n info: false, //Oculta etiquetas de cantidad de registros disponibles y filtrados.\n autoWidth: false, //Impide que calcule automaticamente el ancho de las columnas.\n processing: true,\n bSort: false,\n renderer: 'bootstrap',\n dom: \"<'row'<'col-sm-10'B><'col-sm-2'>>tp\",\n \"lengthMenu\": [[10, 25, 50, -1], [\"Mostrar 10\", \"Mostrar 25\", \"Mostrar 50\", \"Mostrar Todos\"]],\n language: {\n \"sSearch\": \"Buscar:\",\n \"sProcessing\": \"Procesando...\",\n \"sLengthMenu\": \"_MENU_ REGISTROS\",\n \"sZeroRecords\": \"No se encontraron resultados\",\n \"sEmptyTable\": \"Ningún dato disponible en esta tabla\",\n \"sInfo\": \"Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros\",\n \"sInfoEmpty\": \"Mostrando registros del 0 al 0 de un total de 0 registros\",\n \"sInfoFiltered\": \"(filtrado de un total de _MAX_ registros)\",\n \"sInfoPostFix\": \"\",\n \"oPaginate\": {\n \"sFirst\": \"Primero\",\n \"sLast\": \"Último\",\n \"sNext\": \"SIGUIENTE\",\n \"sPrevious\": \"ANTERIOR\"\n },\n buttons: {\n pageLength: {\n _: ' %d REGISTROS',\n //1: ' Mostrar Todos',\n '-1': ' Mostrar Todos'\n }\n }\n },\n buttons: [\n {\n extend: 'pageLength',\n className: 'btn uaa-btn-outline btn-sm dropdown-toggle'\n }\n ],\n \"columnDefs\": [\n { \"searchable\": true, \"targets\": 7 },\n { \"visible\": false, \"targets\": 7 }\n ]\n });\n\n $('#inputBusqueda').on( 'keyup', function () {\n datatable.search( this.value ).draw();\n });\n\n $('#todos').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#productos').prop('checked', false);\n $('#obra').prop('checked', false);\n datatable.columns(7).search('');\n } else {\n datatable.columns(7).search('');\n }\n datatable.draw();\n });\n\n\n $('#productos').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#todos').prop('checked', false);\n $('#obra').prop('checked', false);\n datatable.columns(7).search(tipoServicios);\n } else {\n datatable.columns(7).search('');\n }\n datatable.draw();\n });\n\n $('#obra').on('change', function() {\n if( $(this).is(':checked') ) {\n $('#todos').prop('checked', false);\n $('#productos').prop('checked', false);\n datatable.columns(7).search(tipoObra);\n } else {\n datatable.columns(7).search('');\n }\n datatable.draw();\n });\n });\n\n\n }\n\n detalle(anio: string, numsol: string, iactido: string) {\n if (iactido === 'OBRAPUB') {\n this.router.navigate(['/procedimientos-det-obra', anio, numsol]);\n } else if (iactido === 'ADQUISICION') {\n this.router.navigate(['/procedimientos-detalle', anio, numsol]);\n }\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.css']\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor(private router: Router) { }\n\n ngOnInit() {\n }\n\n}\n","//import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n//@Injectable()\r\n\r\nexport class Globals {\r\n/* readonly BASE_URL_AUTH: string = 'https://wsopa.uaa.mx:450/api/infraestructura/autenticaExt/';\r\n readonly BASE_URL: string = 'https://wsopa.uaa.mx:450/api/finanzas/compras/';\r\n readonly BASE_URL_PROCS: string = 'https://wsopa.uaa.mx:450/api/finanzas/compras/procedimientos/';\r\n readonly BASE_URL_UTILERIAS: string = 'https://wsopa.uaa.mx:450/'; // this.BASE_SERVER; // + 'https://localhost:5001/';\r\n readonly BASE_URL_RESTABLECE: string = 'https://adquisicionesyobrapublica.uaa.mx/restablecer-contrasena/';\r\n readonly BASE_URL_REPORTE: string = 'https://wsreportes.uaa.mx:452/';\r\n*/\r\n readonly BASE_URL_AUTH: string = environment.apiUrl450 + '/api/infraestructura/autenticaExt/';\r\n readonly BASE_URL: string = environment.apiUrl450 + '/api/finanzas/compras/';\r\n readonly BASE_URL_PROCS: string = environment.apiUrl450 + '/api/finanzas/compras/procedimientos/';\r\n readonly BASE_URL_UTILERIAS: string = environment.apiUrl450 + '/'; // this.BASE_SERVER; // + 'https://localhost:5001/';\r\n readonly BASE_URL_RESTABLECE: string = environment.apiUrl453 + '/#/restablecer-contrasena/';\r\n readonly BASE_URL_VERIFICA: string = environment.apiUrl453 + '/#/verificar/';\r\n readonly BASE_URL_REPORTE: string = environment.apiUrl452 + '/';\r\n\r\n /*Constante de Tipos de Procedimiento*/\r\n public TIPO_PROC_SERVICIOS: string = '2'; // Productos y Servicios\r\n public TIPO_PROC_OBRA: string = '4'; // Obra Publica\r\n\r\n /*Constante de Estus de Proceso por Proveedor*/\r\n public ESTATUS_PROC_PROV_INTERES: string = '0'; // Mostro interes\r\n public ESTATUS_PROC_PROV_PARTICIPANDO: string = '1'; // Participando\r\n public ESTATUS_PROC_PROV_ENVIO_PROPUESTA: string = '2'; // Envió Propuesta\r\n public ESTATUS_PROC_PROV_DECLINO: string = '4'; // Declinó\r\n public ESTATUS_PROC_PROV_DESCARTO_UAA: string = '3'; // Descartó la propuesta UAA\r\n public ESTATUS_PROC_PROV_ADJUDICADO: string = '5'; // Adjudicado\r\n\r\n public ESTATUS_DESC_PROC_PROV_INTERES: string = 'MOSTRÓ INTERES'; // Mostro interes\r\n public ESTATUS_DESC_PROC_PROV_PARTICIPANDO: string = 'PARTICIPANDO'; // Participando\r\n\r\n /*Estus de Proceso*/\r\n public ESTATUS_PROC_GENERADO: string = '0'; // Generado\r\n public ESTATUS_PROC_VOBO_JEFE: string = '1'; // Vobo Jefe Depto.\r\n public ESTATUS_PROC_VOBO_DIRECCION: string = '2'; // Vobo Dirección\r\n public ESTATUS_PROC_PUBLICADO: string = '3'; // Publicado\r\n public ESTATUS_PROC_POR_ADJUDICAR: string = '4'; // Por Adjudicar\r\n public ESTATUS_PROC_ADJUDICADO: string = '5'; // Adjudicado\r\n public ESTATUS_PROC_CONCLUIDO: string = '6'; // Concluido\r\n public ESTATUS_PROC_SUSPENDIDO: string = '7'; // Suspendido\r\n public ESTATUS_PROC_DESIERTO: string = '8'; // Desierto\r\n public ESTATUS_PROC_CANCELADO: string = '99'; // Cancelado\r\n\r\n\r\n /*Estatus Proveedor */\r\n public ESTATUS_PREREGISTRADO: string = '0'; //Preregistrado\r\n public ESTATUS_CAP_FINALIZADA: string = '1'; //Captura Finalizada\r\n public ESTATUS_DOC_REVISADOS: string = '2'; //Documentos Revisados\r\n public ESTATUS_ACTIVO: string = '3'; //Activo\r\n public ESTATUS_REFRENDO: string = '4'; //Refrendo Anual\r\n public ESTATUS_DOCPEND: string = '5'; //Documentacion Pendiente\r\n public ESTATUS_REFCOMP: string = '6'; //Refrendo Anual Completo\r\n\r\n\r\n /*TIPO MOVTO. FACTURAS EN: PKG_F_FGFCEPR.PRO_ABCDOCUMENTOS*/\r\n public readonly MOVTO_ALTA_FACTURA: string = '1';\r\n public readonly MOVTO_BORRAR_FACTURA: string = '2';\r\n\r\n /*IACTIDOS DE PROCESOS*/\r\n public readonly IACTIDO_PROC_ADQUISICION: string = 'ADQUISICION'; //Adquisición\r\n public readonly IACTIDO_PROC_OBRA: string = 'OBRAPUB'; //Obra Pública\r\n\r\n /*INDICADOR PARA TIPO ORDENES DE COMPRA*/\r\n public readonly IND_ORDEN_LICITACIONES: string = 'L'; //Tipo Licitaciones\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { Globals } from 'src/app/globals';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CanAvisoGuard implements CanActivate {\n\n constructor(private apiAuth: ApiAuthService, private router: Router, public globals: Globals){}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n let url = this.router.routerState.snapshot.url;\n if (this.apiAuth.getToken() != null) {\n if (proveedor.Tipo === this.globals.ESTATUS_PREREGISTRADO) {\n this.router.navigate(['/registro-usuarios', '1']);\n } else {\n this.router.navigate(['/home']);\n }\n } else {\n return true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { ApiParametrosService } from '../services/api-parametros.service';\nimport { Globals } from 'src/app/globals';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanDocsGuard implements CanActivate {\n\n constructor(private apiAuth: ApiAuthService, private router: Router, private apiParams: ApiParametrosService, public globals: Globals){}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n if (this.apiAuth.getToken() != null) {\n if (proveedor.Tipo === this.globals.ESTATUS_PREREGISTRADO || proveedor.Tipo === this.globals.ESTATUS_DOC_REVISADOS || proveedor.Tipo === this.globals.ESTATUS_CAP_FINALIZADA || proveedor.Tipo === this.globals.ESTATUS_ACTIVO\n || proveedor.Tipo === this.globals.ESTATUS_REFRENDO\n || proveedor.Tipo === this.globals.ESTATUS_DOCPEND\n || proveedor.Tipo === '98'\n ) {\n return true;\n } else {\n this.router.navigate(['/home']);\n }\n } else {\n this.router.navigate(['/home']);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Globals } from '../globals';\nimport { Proveedor } from 'src/app/models/Proveedor';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanMenuPerfilGuard implements CanActivate {\n \n constructor(private apiAuth: ApiAuthService, private router: Router, public globals: Globals){}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n if (this.apiAuth.getToken() != null) {\n return true;\n } else {\n this.router.navigate(['/home']);\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { Globals } from 'src/app/globals';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanPreregGuard implements CanActivate{\n\n constructor(private apiAuth: ApiAuthService, private router: Router, public globals: Globals){}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n let url = this.router.routerState.snapshot.url;\n //console.log(url);\n if (this.apiAuth.getToken() != null) {\n if (proveedor.Tipo === this.globals.ESTATUS_PREREGISTRADO) {\n this.router.navigate(['/registro-usuarios', '1']);\n } else {\n this.router.navigate(['/home']);\n }\n } else {\n if (url === '/aviso-privacidad/1' || url === '/aviso-privacidad/0') {\n return true;\n }if (url === '/home') {\n return true;//this.router.navigate(['/registro', '1']);\n } else {\n this.router.navigate(['/home']);\n }\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { Globals } from 'src/app/globals';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanProcedGuard implements CanActivate {\n \n constructor(private apiAuth: ApiAuthService, private router: Router, public globals: Globals) {}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n let url = this.router.routerState.snapshot.url;\n if (this.apiAuth.getToken() != null) {\n if (proveedor.Tipo === this.globals.ESTATUS_ACTIVO) {\n this.router.navigate(['/procs']);\n } else {\n return true;\n }\n } else {\n return true;\n }\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { Globals } from 'src/app/globals';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanProcedprovedGuard implements CanActivate {\n \n\n constructor(private apiAuth: ApiAuthService, private router: Router, public globals: Globals) {}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n let url = this.router.routerState.snapshot.url;\n if (this.apiAuth.getToken() != null) {\n if (proveedor.Tipo === this.globals.ESTATUS_ACTIVO) {\n return true;\n } else {\n this.router.navigate(['/home']); \n }\n } else {\n this.router.navigate(['/home']);\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from '../services/api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { Globals } from 'src/app/globals';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CanRegGuard implements CanActivate{\n\n constructor(private apiAuth: ApiAuthService, private router: Router, public globals: Globals){}\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean {\n let proveedor: Proveedor = this.apiAuth.getTokenDecoded();\n let url = this.router.routerState.snapshot.url;\n if (this.apiAuth.getToken() != null) {\n if (proveedor.Tipo === this.globals.ESTATUS_PREREGISTRADO || proveedor.Tipo === this.globals.ESTATUS_DOC_REVISADOS || proveedor.Tipo === this.globals.ESTATUS_CAP_FINALIZADA || proveedor.Tipo === this.globals.ESTATUS_ACTIVO\n || proveedor.Tipo === this.globals.ESTATUS_REFRENDO\n || proveedor.Tipo === this.globals.ESTATUS_DOCPEND\n ) {\n return true;\n } else {\n this.router.navigate(['/home']);\n }\n } else {\n this.router.navigate(['/home']);\n }\n }\n\n}\n","\n/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Transformar la fecha enviada en formato largo, ej: \"10 de Mayo del 2019, 4:50 p.m.\"\n *\n * AUTOR: FZALDIVAR\n * FECHA: 1/Oct/2019\n *\n*/\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\n@Pipe({\n name: 'dateLong'\n})\nexport class DateLongPipe implements PipeTransform {\n\n transform(value: any): string {\n try {\n var fecha = new Date(value);\n\n var fechaLarga: string = new DatePipe('es').transform(fecha, 'longDate');\n var Hora: string = new DatePipe('es').transform(fecha, 'hh:mm a')\n \n return fechaLarga + \", \" + Hora;\n } catch {\n console.log(\"fecha no válida \" + value + \"debe ser: MM/dd/yyyy hh:mm\");\n return value;\n }\n }\n}\n","\n/*\n * UNIVERSIDAD AUTONOMA DE AGUASCALIENTES\n * DIRECCION GENERAL DE PLANEACION Y DESARROLLO\n * DEPARTAMENTO DE SISTEMAS (OPTIMIZACION DE PROYECTOS ADMINISTRATIVOS - OPA)\n *\n * PROYECTO: COMPRAS\n * PROPOSITO: Identicar si los giros tienen items hijos\"\n *\n * AUTOR: GAMORALES\n * FECHA: 04/Feb/2020\n *\n*/\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filtroItems'\n})\nexport class FiltroItemsPipe implements PipeTransform {\n\n transform(value: any[], filter: boolean): any {\n var items;\n if (filter){\n items = value.filter((val) => {\n return val.ITEMS.length > 0;\n });\n } else {\n items = value.filter((val) => {\n return val.ITEMS.length == 0;\n });\n }\n return items;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Globals } from '../globals';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from \"rxjs/operators\";\nimport * as JWT from 'jwt-decode';\nimport { Proveedor } from '../models/Proveedor';\nimport { isNullOrUndefined } from 'util';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApiAuthService {\n private headers: HttpHeaders = new HttpHeaders({\n \"Content-Type\": \"application/x-www-form-urlencoded\"//\"application/json\"//,\n //Autorization: this.authService.getToken()\n });\n\n constructor(public globals: Globals, private httpApi: HttpClient) { }\n\n onLogin(usuario: string, password: string): Observable {\n let httpParams = new HttpParams()\n .append(\"usuario\", usuario)\n .append(\"password\", password);\n\n return this.httpApi.post(this.globals.BASE_URL_AUTH + 'Login', httpParams, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n setToken(token: string) {\n localStorage.setItem(\"userCompras\", token);\n }\n\n getToken(): string {\n return localStorage.getItem(\"userCompras\");\n }\n\n deleteToken() {\n console.log('Eliminando Token');\n localStorage.removeItem(\"userCompras\");\n }\n\n getTokenDecoded(): Proveedor {\n let token = this.getToken();\n\n if (isNullOrUndefined(token)){\n return null;\n }\n\n let decoded = JWT(token); // Decodifica Payload del Token\n //console.log('Cookie'+JSON.stringify(decoded));\n let proveedor: Proveedor;\n\n proveedor = {\n Correo: decoded['email'],\n RFC: decoded['nameid'],\n Tipo: decoded['role'],\n TipoProv:decoded['birthdate']\n };\n return proveedor;\n }\n\n\n restableceContra(correo: string) {\n let httpParams = new HttpParams()\n .append(\"url\", this.globals.BASE_URL_RESTABLECE)\n .append(\"correo\", correo);\n return this.httpApi.post(this.globals.BASE_URL_AUTH + `restableceContrasena_E`, httpParams)\n .pipe(map(data => data));\n }\n\n reenviarCorreo(correo: string) {\n let httpParams = new HttpParams()\n .append(\"url\", this.globals.BASE_URL_VERIFICA)\n .append(\"correo\", correo);\n return this.httpApi.post(this.globals.BASE_URL_AUTH + `reenviarCorreo_E`, httpParams)\n .pipe(map(data => data));\n }\n\n verificaCorreo(correo: string) {\n let httpParams = new HttpParams()\n .append(\"url\", this.globals.BASE_URL_VERIFICA)\n .append(\"correo\", correo);\n return this.httpApi.post(this.globals.BASE_URL_AUTH + `verificaCorreo_E`, httpParams)\n .pipe(map(data => data));\n }\n\n checaToken(token: string) {\n return this.httpApi.get(this.globals.BASE_URL_AUTH + `validaToken_E?token=${ token }`)\n .pipe(map(data => data));\n }\n\n verificaToken(token: string) {\n return this.httpApi.get(this.globals.BASE_URL_AUTH + `verificacionCuenta_E?token=${ token }`)\n .pipe(map(data => data));\n }\n\n refrescaToken(token: string) {\n let httpParams = new HttpParams()\n .append(\"token\", token);\n return this.httpApi.post(this.globals.BASE_URL_AUTH + `refrescaToken_E`, httpParams)\n .pipe(map(data => data));\n }\n\n activarUsuario(token: string) {\n let httpParams = new HttpParams()\n .append(\"token\", token);\n\n return this.httpApi.post(this.globals.BASE_URL_AUTH + `activarUsuario_E`, httpParams)\n .pipe(map(data => data ));\n }\n\n cambiarContra(correo: string, contra: string, token: string) {\n let httpParams = new HttpParams()\n .append(\"correo\", correo)\n .append(\"contra\", contra)\n .append(\"token\", token);\n\n return this.httpApi.post(this.globals.BASE_URL_AUTH + `cambiarContra_E`, httpParams)\n .pipe(map(data => data ));\n }\n\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { Globals } from '../globals';\nimport { map } from \"rxjs/operators\";\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ApiAuthService } from './api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { isNullOrUndefined } from 'util';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiDownloadFileService {\n private headers: HttpHeaders;\n private usuario: Proveedor;\n private RFC: string;\n \n constructor(public globals: Globals, private httpApi: HttpClient, private apiAuth: ApiAuthService) { \n this.usuario = apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(this.usuario)) {\n this.RFC = \"Publico\";\n } else {\n this.RFC = this.usuario.RFC;\n }\n }\n \n descargaArchivo(cvedoc: string) {\n location.href = this.globals.BASE_URL + `getDescargaDocumento?n_cvedoc=${ cvedoc }`;\n }\n\n downloadFile(Id: string, facturas: boolean = false): Observable {\n this.actualizaHeader();\n\n let url = this.globals.BASE_URL + \"getDescargaDocumento_E?n_cvedoc=\" + Id + \"&facturas=\" + facturas + \"&usuario=\" + this.RFC;\n return this.httpApi.get(url, { responseType: \"blob\", headers: this.headers });\n }\n\n private actualizaHeader() {\n let token = this.apiAuth.getToken() !== null ? this.apiAuth.getToken().replace(/[\"\\\\]/g, '') : '';\n token = token.replace(/[\"\\\\]/g, '');\n\n this.headers = new HttpHeaders({\n \"Content-Type\": \"application/x-www-form-urlencoded; charset=utf-8\",\n \"Authorization\": `Bearer ${token}`\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IdProcedimiento } from '../models/IdProcedimiento';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiParametrosService {\n\n private correoUsuario: string = '';\n private passUsuario: string = '';\n\n private idProcedimiento: IdProcedimiento;\n\n constructor() { }\n\n getCorreo() {\n return this.correoUsuario;\n }\n\n getPass() {\n return this.passUsuario;\n }\n\n setDatosUsuario(correo: string, pass: string) {\n this.correoUsuario = correo;\n this.passUsuario = pass;\n }\n\n /*GET ID Procedimiento*/\n setIdProcedimiento(id: string, anio: string) {\n this.idProcedimiento = {\n anio: anio,\n id: id\n }; \n }\n\n /*SET ID Procedimiento*/\n getIdProcedimiento(): IdProcedimiento {\n return this.idProcedimiento;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { Globals } from '../globals';\nimport { map } from 'rxjs/operators';\nimport { ApiAuthService } from './api-auth.service';\nimport { Proveedor } from '../models/Proveedor';\nimport { isNullOrUndefined, isNull } from 'util';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApiProcedimientosService {\n\n private usuario: Proveedor;\n private RFC: string;\n private headers: HttpHeaders;\n\n constructor(public globals: Globals, private httpApi: HttpClient, private apiAuth: ApiAuthService) {\n this.usuario = apiAuth.getTokenDecoded();\n\n if (isNullOrUndefined(this.usuario)) {\n this.RFC = \"Publico\";\n } else {\n this.RFC = this.usuario.RFC;\n }\n }\n\n getDatosGenerales(anio: string, idProcedimiento: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + \"getDatosGenerales_E?anio=\" + anio + \"&idProcedimiento=\" + idProcedimiento + \"&usuario=\" + this.RFC, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getArticulos(anio: string, idProcedimiento: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + \"getArticulos_E?anio=\" + anio + \"&idProcedimiento=\" + idProcedimiento + \"&usuario=\" + this.RFC, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getAnexos(iActido: string, anio: string, idProcedimiento: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + \"getAnexos_E?iActido=\" + iActido +\"&anio=\" + anio + \"&idProcedimiento=\" + idProcedimiento + \"&usuario=\" + this.RFC, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getListaProcs(anio: string, pantalla: number, proveedor: string, perfil: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + `obtenerListaProcs_E?anio=${ anio }&vpn_pantalla=${ pantalla }&vpn_proveedor=${ proveedor }&perfil=${ perfil }`, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getInformacionRfcSinToken(rfc: string) {\n debugger;\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL + `getInfoProveedor?rfc=${ rfc }`, { headers: this.headers})\n .pipe(map(data => data));\n }\n\n updateProcesoProveedor(anio: string, idProcedimiento: string, proveedor: string, estatus: string, comentCli?: string, comentUAA?: string,\n monto?: string, docto?: string, fecinteres?: string, fecparticipa?: string, fecprop?: string, fecdesc?: string, fecdecli?: string, fecadju?: string){\n\n this.getHeader();\n\n let httpParams = new HttpParams()\n .append(\"anio\", anio)\n .append(\"idProcedimiento\", idProcedimiento)\n .append(\"proveedor\", proveedor)\n .append(\"estatus\",estatus)\n .append(\"usuario\", this.RFC);\n\n if (!isNullOrUndefined(comentCli)) {httpParams = httpParams.append(\"comentcli\", comentCli)}\n if (!isNullOrUndefined(comentUAA)) {httpParams = httpParams.append(\"comentuaa\", comentUAA)}\n if (!isNullOrUndefined(monto)) {httpParams = httpParams.append(\"monto\", monto)}\n if (!isNullOrUndefined(docto)) {httpParams = httpParams.append(\"docto\", docto)}\n if (!isNullOrUndefined(fecinteres)) {httpParams = httpParams.append(\"fecinteres\", fecinteres)}\n if (!isNullOrUndefined(fecparticipa)) {httpParams = httpParams.append(\"fecparticipa\", fecparticipa)}\n if (!isNullOrUndefined(fecprop)) {httpParams = httpParams.append(\"fecprop\", fecprop)}\n if (!isNullOrUndefined(fecdesc)) {httpParams = httpParams.append(\"fecdesc\", fecdesc)}\n if (!isNullOrUndefined(fecdecli)) {httpParams = httpParams.append(\"fecdecli\", fecdecli)}\n if (!isNullOrUndefined(fecadju)) {httpParams = httpParams.append(\"fecadju\", fecadju)}\n\n return this.httpApi.post(this.globals.BASE_URL_PROCS + 'ABC_ProcesoProveedor_E', httpParams, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getDatosGralesProv(anio: string, idProcedimiento: string, proveedor: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + \"getDatosGralesProv_E?anio=\" + anio + \"&idProcedimiento=\" + idProcedimiento +\n \"&proveedor=\" + proveedor + \"&usuario=\" + this.RFC, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getArticulosProv(anio: string, idProcedimiento: string, proveedor: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + \"getArticulosProv_E?anio=\" + anio + \"&idProcedimiento=\" + idProcedimiento +\n \"&proveedor=\" + proveedor + \"&usuario=\" + this.RFC, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getPlazoFec(anio: string, idProcedimiento: string, usuario: string){\n //this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + `getPlazoFec_E?anio=${anio}&idProcedimiento=${idProcedimiento}&usuario=${usuario}`, { headers: this.headers })\n .pipe(map(data => data));\n }\n\n getPropuesta(anio: string, consec: string, prov: string, iactido: string){\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + `getPropuestas_E?anio=${anio}&consec=${consec}&prov=${prov}&iactido=${iactido}`, { headers: this.headers })\n .pipe(map(data => data));\n }\n\n getInfoObra(iActido: string, anio: string, idProcedimiento: string, tipo: string, prov: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + \"getInfoObra_E?iActido=\" + iActido +\"&anio=\" + anio + \"&idProcedimiento=\" + idProcedimiento + \"&tipo=\" + tipo + \"&prov=\"+ prov +\"&usuario=\" + this.RFC, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n private getHeader() {\n let token = this.apiAuth.getToken() !== null ? this.apiAuth.getToken().replace(/[\"\\\\]/g, '') : '';\n token = token.replace(/[\"\\\\]/g, '');\n this.headers = new HttpHeaders({\n \"Content-Type\": \"application/x-www-form-urlencoded; charset=utf-8\",\n \"Authorization\": `Bearer ${token}`\n });\n }\n\n updateArticulosProv(partidas, fechaVigencia){\n this.getHeader();\n\n let httpParams = new HttpParams()\n .append(\"VPS_Partidas\", JSON.stringify(partidas))\n .append(\"usuario\", this.RFC)\n .append(\"fechaVigencia\", fechaVigencia)\n\n return this.httpApi.post(this.globals.BASE_URL_PROCS + 'ABC_ArticulosProv_E', httpParams, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n //Envio Propuesta de Obra\n updateEnviPropObra( anio: string, proc: string, prov: string, monto: string, correo: string) {\n this.getHeader();\n\n let httParams = new HttpParams()\n .append(\"vpn_anio\", anio)\n .append(\"vpn_proc\", proc)\n .append(\"vpn_prov\", prov)\n .append(\"vpn_monto\", monto)\n .append(\"email\", correo);\n\n return this.httpApi.post(this.globals.BASE_URL_PROCS + `enviaPropuestaObra_E`, httParams, { headers: this.headers })\n .pipe(map(data => data));\n }\n\n getOrdenesCompra(idProveedor: string, idProcedimiento: string, usuario: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + `obtenerOrdenesCompra?proveedor=${ idProveedor }&idUsuario=${ usuario }&procedimiento=${ idProcedimiento }`, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getFacturas(idProveedor: string, anio: string, idProcedimiento: string, usuario: string) {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL_PROCS + `obtenerFacturas?proveedor=${ idProveedor }&idUsuario=${ usuario }&procedimiento=${ idProcedimiento }&anio=${ anio }`, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getPadronProveedores() {\n this.getHeader();\n return this.httpApi.get(this.globals.BASE_URL + `getPadronProveedores_E`, {headers: this.headers})\n .pipe(map(data => data));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Globals } from '../globals';\nimport { map } from \"rxjs/operators\";\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ApiAuthService } from './api-auth.service';\nimport { isNullOrUndefined, isNull } from 'util';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiRegistryService {\n private headers: HttpHeaders;\n\n constructor(public globals: Globals, private httpApi: HttpClient, private apiAuth: ApiAuthService) { }\n\n preRegistro(rfc: string, correo: string, password: string, celular: string,tipo?:string) {\n let httpParams = new HttpParams()\n .append(\"rfc\", rfc)\n .append(\"email\", correo)\n .append(\"password\", password)\n .append(\"url\", this.globals.BASE_URL_VERIFICA)\n .append(\"celular\", celular)\n .append(\"vps_tipo\", tipo);\n\n return this.httpApi.post(this.globals.BASE_URL + 'preregistro_E', httpParams)\n .pipe(map(data => data));\n }\n\n registro(datosGen, representantes, domicilioFis, contacto, datosBanco) {\n this.actualizaHeader();\n let httpParams = new HttpParams()\n .append(\"vpn_pk_fkcprco\", datosGen.folio)\n .append(\"vps_rfc\", datosGen.rfc)\n .append(\"vps_nombcom\", datosGen.nombcom)\n .append(\"vps_pk_fkcpers\", datosGen.pk_fkcpers)\n .append(\"vps_nombre\", datosGen.nombre)\n .append(\"vps_apepat\", datosGen.apepat)\n .append(\"vps_apemat\", datosGen.apemat)\n .append(\"vps_razsoc\", datosGen.razsoc)\n .append(\"vpn_giro\",datosGen.giro)\n .append(\"vps_activ_emp\", datosGen.activEmp)\n .append(\"vps_estratifica\", datosGen.estratifi)\n .append(\"vps_calle\", domicilioFis.calle)\n .append(\"vps_numext\", domicilioFis.numeroExt)\n //.append(\"vps_numint\", domicilioFis.numeroInt)\n .append(\"vps_colonia\", domicilioFis.colonia)\n .append(\"vpn_cp\", domicilioFis.cp)\n .append(\"vps_tel1\", domicilioFis.tel1)\n .append(\"vps_tel2\", '')\n .append(\"vps_curp\", datosGen.curp)\n .append(\"vpn_origen\", '1')\n .append(\"vpn_pais\", datosGen.pais)\n .append(\"vps_pk_fkcpers_rl\", representantes.pk_fkcpers_rl)\n .append(\"vps_curp_rl\", representantes.curpReprLegal)\n .append(\"vps_nombre_rl\", representantes.nomReprLegal)\n .append(\"vps_apepat_rl\", representantes.apepatReprL)\n .append(\"vps_apemat_rl\", representantes.apematReprL)\n .append(\"vps_telefono_rl\", representantes.telefono_rl)\n .append(\"vps_telcel_rl\", representantes.telcel_rl)\n .append(\"vps_correo_rl\", representantes.correo_rl)\n .append(\"vps_pk_fkcpers_rt\", representantes.pk_fkcpers_rt)\n .append(\"vps_curp_rt\", representantes.curpReprTec)\n .append(\"vps_nombre_rt\", representantes.nomReprTec)\n .append(\"vps_apepat_rt\", representantes.apepatReprT)\n .append(\"vps_apemat_rt\", representantes.apematReprT)\n .append(\"vps_telefono_rt\", representantes.telefono_rt)\n .append(\"vps_telcel_rt\", representantes.telcel_rt)\n .append(\"vps_correo_rt\", representantes.correo_rt)\n .append(\"vps_pk_fkcpers_ct\", contacto.pk_fkcpers_ct)\n .append(\"vps_curp_ct\", contacto.curp)\n .append(\"vps_nombre_ct\", contacto.nombre)\n .append(\"vps_apepat_ct\", contacto.apepat)\n .append(\"vps_apemat_ct\", contacto.apemat)\n .append(\"vps_telefono_ct\", contacto.telef)\n .append(\"vps_telcel_ct\", contacto.movil)\n .append(\"vps_correo_ct\", contacto.correo)\n .append(\"vps_cedula\", datosGen.noCedPadEst)\n .append(\"vps_correo_emp\", contacto.correoEmp)\n .append(\"vps_indfiscal\", datosGen.indfis)\n .append(\"vps_indtipo\", datosGen.indtip)\n .append(\"vpn_pk_fcccuba\", datosBanco.fcccuba)\n .append(\"vps_cuenta\", datosBanco.cuenta)\n .append(\"vps_clabe\", datosBanco.cuentaClabe)\n .append(\"vpn_pk_banco\", datosBanco.banco)\n .append(\"vpn_subcontrata\", datosGen.subcontrat)\n .append(\"vps_indvial\", domicilioFis.vialidad)\n .append(\"vps_indpleg\", datosGen.representante);\n //.append(\"vps_pagweb\", contacto.paginaweb);\n\n if (!isNullOrUndefined(domicilioFis.numeroInt)) {httpParams = httpParams.append(\"vps_numint\", domicilioFis.numeroInt)}\n if (!isNullOrUndefined(contacto.paginaweb)) {httpParams = httpParams.append(\"vps_pagweb\", contacto.paginaweb)}\n\n if (!isNullOrUndefined(datosGen.gradoEstudio)) {httpParams = httpParams.append(\"vps_gradoest\", datosGen.gradoEstudio)}\n\n if (!isNullOrUndefined(datosGen.estado)) {httpParams = httpParams.append(\"vps_estado\", datosGen.estado)}\n if (!isNullOrUndefined(datosGen.ciudad)) {httpParams = httpParams.append(\"vps_ciudad\", datosGen.ciudad)}\n if (!isNullOrUndefined(datosGen.fechaNac)) {httpParams = httpParams.append(\"vps_fecnac\", datosGen.fechaNac)}\n if (!isNullOrUndefined(datosGen.sexo)) {httpParams = httpParams.append(\"vps_sexo\", datosGen.sexo)}\n if (!isNullOrUndefined(datosGen.ciudadDesc)) {httpParams = httpParams.append(\"vps_ciudaddescri\", datosGen.ciudadDesc)}\n if (!isNullOrUndefined(datosGen.cedula)) {httpParams = httpParams.append(\"vps_numcedula\", datosGen.cedula)}\n\n return this.httpApi.post(this.globals.BASE_URL + 'registro_E', httpParams, {headers: this.headers})\n .pipe(map(data => data));\n\n }\n\n getLovs(cveLov: string, parametros?: string) {\n if (isNullOrUndefined(parametros)){\n parametros = '';\n }\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL_UTILERIAS + `obtenerDatosLovs_E?cveLov=${ cveLov }¶metros=${parametros}`, { headers: this.headers})\n .pipe(map(data => data));\n }\n\n getEstratificacion(tabla: string, campo: string) {\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL_UTILERIAS + `obtenerIndicadores_E?tabla=${ tabla }&campo=${ campo }`, { headers: this.headers})\n .pipe(map(data => data));\n }\n\n getCodigoPostal(codigoPostal: string) {\n console.log('A');\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL + `obtenerPorCp_E?cp=${ codigoPostal }`, { headers: this.headers})\n .pipe(map(data => data));\n }\n\n\n getPersonaCurp(curp: string) {\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL + `getPersonaCurp_E?curp=${ curp }`, { headers: this.headers})\n .pipe(map(data => data));\n }\n\n getInformacionRfc(rfc: string) {\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL + `getInfoProveedor_E?rfc=${ rfc }`, { headers: this.headers})\n .pipe(map(data => data));\n /*let httpParams = new HttpParams()\n .append(\"rfc\", rfc);\n\n return this.httpApi.post(this.globals.BASE_URL + 'getInfoProveedor_E', httpParams, {headers: this.headers,})\n .pipe(map(data => data));*/\n\n\n }\n\n getIndicadores(tabla: string, campo: string) {\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL_UTILERIAS + `obtenerIndicadores_E?tabla=${ tabla }&campo=${ campo }`, { headers: this.headers })\n .pipe(map(data => data));\n }\n\n\n\n getPlantillaDoc(correo: string, proveedor: string) {\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL + `ObtenerPlantillaDoc_E?idUsuario=${ correo }&vpn_proveedor=${ proveedor }`, { headers: this.headers})\n .pipe(map(data => data));\n }\n\n finalizaCaptura(vpnCveprov: string, correo: string) {\n this.actualizaHeader();\n let httpParams = new HttpParams()\n .append(\"vpn_cveprov\", vpnCveprov)\n .append(\"email\", correo);\n return this.httpApi.post(this.globals.BASE_URL + 'finalizaCaptura_E', httpParams, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n private actualizaHeader() {\n let token = this.apiAuth.getToken() !== null ? this.apiAuth.getToken().replace(/[\"\\\\]/g, '') : '';\n token = token.replace(/[\"\\\\]/g, '');\n this.headers = new HttpHeaders({\n \"Content-Type\": \"application/x-www-form-urlencoded; charset=utf-8\",\n \"Authorization\": `Bearer ${token}`\n });\n }\n\n enviarCorreos(idProveedor: string, anio: string, idProcedimiento: string, mensaje: string, asunto : string) {\n this.actualizaHeader();\n return this.httpApi.post(this.globals.BASE_URL + `enviaCorreoGenerico?proveedor=${ idProveedor }&procedimiento=${ idProcedimiento }&anio=${ anio }&correo_asunto=${asunto}&mensaje=${mensaje}`, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n getEdoRegistro(vps_tipo:string) {\n\n this.actualizaHeader();\n return this.httpApi.get(this.globals.BASE_URL_UTILERIAS + `api/fun_ObtEstadoPeriodo_E?VPS_TipoTramite=${ vps_tipo }`, { headers: this.headers})\n .pipe(map(data => data ));\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { Globals } from '../globals';\nimport { map } from \"rxjs/operators\";\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ApiAuthService } from './api-auth.service';\nimport { isNullOrUndefined } from 'util';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiUploadFileService {\n private headers: HttpHeaders;\n\n constructor(public globals: Globals, private httpApi: HttpClient, private apiAuth: ApiAuthService) { }\n\n postFile(correo: string, mov: string, cveproc: string,tipoproc: string, cvedoc: string, goddocs: string, comentarios: string, archivo: File) {\n this.actualizaHeader();\n const formData = new FormData();\n formData.append('fileUpload', archivo, archivo.name);\n return this.httpApi.post(this.globals.BASE_URL + `RegistroABCDocsProveedor_E?idUsuario=&VPN_MOV=${ mov }&VPN_CVEPROC=${ cveproc }&VPS_TIPOPROC=${ tipoproc }&VPS_CVEDOC=${ cvedoc }&VPN_GODDOCS=${ goddocs }&VPS_COMENT=${ comentarios }`, formData, { headers: this.headers });\n }\n\n deleteFile(correo: string, mov: string, cveprov: string,tipoprov: string, cvedoc: string, goddocs: string) {\n this.actualizaHeader();\n let httpParams = new HttpParams()\n .append(\"idUsuario\", '')\n .append(\"VPN_MOV\", mov)\n .append(\"VPN_CVEPROC\", cveprov)\n .append(\"VPS_TIPOPROC\", tipoprov)\n .append(\"VPS_CVEDOC\", cvedoc)\n .append(\"VPN_GODDOCS\", goddocs);\n return this.httpApi.post(this.globals.BASE_URL + `RegistroABCDocsProveedor_E`, httpParams, { headers: this.headers })\n .pipe(map(data => data));\n }\n\n private actualizaHeader() {\n let token = this.apiAuth.getToken() !== null ? this.apiAuth.getToken().replace(/[\"\\\\]/g, '') : '';\n token = token.replace(/[\"\\\\]/g, '');\n this.headers = new HttpHeaders({\n \"Authorization\": 'Bearer ' + token\n });\n }\n\n postAnexoTecnico(movimiento: string, anio: string, idProcedimiento: string, idPartida: string, idProveedor: string, GodDocsDelete: string,\n file: File, idUsuario: string) {\n this.actualizaHeader();\n\n let formData = new FormData();\n\n if (movimiento == 'U'){\n formData.append('fileUpload', file, file.name);\n } else {\n formData = null;\n }\n\n return this.httpApi.post(this.globals.BASE_URL + `uploadFilePartidasProv_E?movimiento=${ movimiento }&anio=${ anio }&idProcedimiento=${ idProcedimiento }&` +\n `idPartida=${ idPartida }&idProveedor=${ idProveedor }&GodDocsDelete=${ GodDocsDelete }&idUsuario=${ idUsuario }`, formData,\n {headers: this.headers});\n }\n\n postFileObraProcProv(usuario: string, mov: string, anio: string, proc: string, cveproc: string, tipoproc: string, cvedoc: string, goddocs: string, comentarios: string, archivo: File) {\n this.actualizaHeader();\n const formData = new FormData();\n formData.append('fileUpload', archivo, archivo.name);\n return this.httpApi.post(this.globals.BASE_URL + `registroABCDocsProcProveedor_E?idUsuario=&VPN_MOV=${ mov }&VPN_ANIO=${ anio }&VPN_PROC=${ proc }&VPN_CVEPROC=${ cveproc }&VPS_TIPOPROC=${ tipoproc }&VPS_CVEDOC=${ cvedoc }&VPN_GODDOCS=${ goddocs }&VPS_COMENT=${ comentarios }`, formData, { headers: this.headers });\n }\n\n deleteFileObraProcProv(usuario: string, mov: string, anio: string, proc: string, cveproc: string, tipoproc: string, cvedoc: string, goddocs: string) {\n this.actualizaHeader();\n let httpParams = new HttpParams()\n .append(\"idUsuario\", '')\n .append(\"VPN_MOV\", mov)\n .append(\"VPN_ANIO\", anio)\n .append(\"VPN_PROC\", proc)\n .append(\"VPN_CVEPROC\", cveproc)\n .append(\"VPS_TIPOPROC\", tipoproc)\n .append(\"VPS_CVEDOC\", cvedoc)\n .append(\"VPN_GODDOCS\", goddocs);\n\n return this.httpApi.post(this.globals.BASE_URL + `registroABCDocsProcProveedor_E`, httpParams, { headers: this.headers })\n .pipe(map(data => data));\n }\n\n uploadFacturas(anio: string, idProcedimiento: string, movimiento: string, PK_Fadenli: string, archivoPDF?: File, archivoXML?: File, archivoJPG?: File){\n this.actualizaHeader();\n\n let usuario = this.apiAuth.getTokenDecoded();\n let RFC;\n let formData = new FormData();\n\n if (isNullOrUndefined(usuario)) {\n RFC = \"Publico\";\n } else {\n RFC = usuario.RFC;\n }\n\n if (movimiento === this.globals.MOVTO_ALTA_FACTURA) {\n formData.append('PDF', archivoPDF, archivoPDF.name);\n formData.append('xml', archivoXML, archivoXML.name);\n //formData.append('imgverif', archivoJPG, archivoJPG.name);\n }\n\n return this.httpApi.post(this.globals.BASE_URL + 'ABC_Factura_E?anio=' + anio + '&idProcedimiento=' + idProcedimiento + '&PK_Fadenli='+ PK_Fadenli +\n '&movimiento=' + movimiento + '&idUsuario=' + RFC, formData, {headers: this.headers})\n .pipe(map(data => data));\n }\n\n declinaPartidas(anio: string, idProcedimiento: string, idPartida: string, idProveedor: string, file: File){\n this.actualizaHeader();\n\n let usuario = this.apiAuth.getTokenDecoded();\n let RFC;\n let formData = new FormData();\n\n formData.append('fileUpload', file, file.name);\n\n if (isNullOrUndefined(usuario)) {\n RFC = \"Publico\";\n } else {\n RFC = usuario.RFC;\n }\n\n return this.httpApi.post(this.globals.BASE_URL_PROCS + 'declinaPartidas_E?anio=' + anio + '&idProcedimiento=' + idProcedimiento + '&idPartida='+ idPartida +\n '&idProveedor=' + idProveedor + '&idUsuario=' + RFC, formData, {headers: this.headers})\n .pipe(map(data => data));\n }\n}\n","export const environment = {\r\n production: true,\r\n enviromentName: 'PRODUCCION',\r\n apiUrl450: 'https://wsopa.uaa.mx:450',//'https://buril.uaa.mx:453',\r\n apiUrl452: 'https://wsreportes.uaa.mx:452',\r\n apiUrl453: 'https://adquisicionesyobrapublica.uaa.mx'\r\n};\r\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}