{"version":3,"sources":["pages/CicloFacturacion/CicloFacturacion.tsx"],"names":["CicloFacturacion","_ref","captchaRef","className","_useState","useState","_useState2","_slicedToArray","mostrarModal","setMostrarModal","_initValoresRoot","initValoresRoot","history","dispatch","t","styles","cerrarModal","enqueueSnackbar","formik","query","QueryParams","queryNumeroServicio","get","tipoEmpresa","validarLogo","codDistribuidora","actualizarLogoBody","urlLogo","obtenerLogo","actualizarLogo","useEffect","actualizarTramo","INITIAL_STATE","dataTramo","data","numero","values","numServicio","tagFacturacionPantallaIncio","setFieldValue","onSubmit","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","formValues","request","responseToken","responseInfoCliente","responseEtiqueta","responseEstados","responseFacturacion","wrap","_context","prev","next","captcha","nroCliente","TrackingService","obtenerTokenTracking","sent","localStorage","setItem","token","obtenerInfoCliente","actualizarUsuario","_objectSpread","numeroServicio","obtenerTrackingEtiqueta","obtenerEstadosTrackingPorId","trackings","id","actualizarTrackingCicloComercial","obtenerFacturacionTracking","actualizarFacturacion","estado","TipoEtapaTrackingEnum","push","concat","CICLO_FACTURACION","DETALLE","variant","tagFacturacionServicioOK","resetForm","reset","t0","message","ERROR_N_SERVICIO_NO_EXISTE","ERROR_N_SERVICIO_SIN_INSTANCIA","tagFacturacionValidarNumero","finish","stop","_x","apply","arguments","useFormik","initialValues","validateOnMount","validationSchema","Yup","required","soloNumero","length","rootContenedorDetalle","setCaptchaRef","ref","tipoTracking","TipoTrackingEnum","defaultProps"],"mappings":"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","file":"static/js/8.4b17c314.chunk.js","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { QueryParams, TipoEtapaTrackingEnum, TipoTrackingEnum } from 'config';\nimport { useFormik } from 'formik';\nimport { INITIAL_STATE, initValoresRoot, rootContenedorDetalle } from 'helper/tracking.helper';\nimport { TokenRequestTrackingModel } from 'models';\nimport { CICLO_FACTURACION, DETALLE, ERROR_N_SERVICIO_NO_EXISTE, ERROR_N_SERVICIO_SIN_INSTANCIA } from 'navigation';\nimport { useEffect, useState } from 'react';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport TrackingService from 'services/TrackingService';\nimport { actualizarFacturacion, actualizarLogo, actualizarTrackingCicloComercial, actualizarUsuario, actualizarTramo } from 'store';\nimport { obtenerLogo } from 'utils';\nimport { tagFacturacionPantallaIncio, tagFacturacionServicioOK, tagFacturacionValidarNumero } from 'utils/gtmEventsUtils';\nimport * as Yup from 'yup';\n\nconst CicloFacturacion = ({ className }: { className?: string }) => {\n /**\n * useRef de captcha\n */\n let captchaRef: ReCAPTCHA;\n /**\n * useState tipo booleano para mostrar modal\n */\n const [mostrarModal, setMostrarModal] = useState(false);\n /**\n * Valores iniciales vista\n */\n const { history, dispatch, t, styles, cerrarModal, enqueueSnackbar } = initValoresRoot(setMostrarModal);\n let formik: any = initValoresRoot(setMostrarModal);\n /**\n * UseRef de recaptcha\n */\n const setCaptchaRef = (ref: ReCAPTCHA | null) => {\n if (ref) {\n captchaRef = ref;\n return captchaRef;\n }\n return captchaRef;\n };\n\n /**\n * Variable que maneja query params\n */\n const query = QueryParams();\n /**\n * valor de numero de servicio obtenido por query params\n */\n const queryNumeroServicio = query.get('numeroServicio') || '';\n /**\n * valor de empresa obtenido por query params\n */\n const tipoEmpresa = query.get('empresa');\n\n /**\n * Metodo que realiza la discriminacion de logo y actualzia logo en redux\n * @param codDistribuidora Codifog de distribuidora\n */\n const validarLogo = (codDistribuidora: string) => {\n const actualizarLogoBody = {\n urlLogo: obtenerLogo(codDistribuidora),\n };\n dispatch(actualizarLogo(actualizarLogoBody));\n };\n\n /**\n * useEffect principal\n * Devuelve el tramo a valores iniciales al cargar\n */\n useEffect(() => {\n dispatch(actualizarTramo(INITIAL_STATE.dataTramo));\n const data = {\n numero: formik.values.numServicio || queryNumeroServicio,\n };\n tagFacturacionPantallaIncio(data);\n formik.setFieldValue('numServicio', queryNumeroServicio);\n validarLogo('');\n if (tipoEmpresa) {\n validarLogo(tipoEmpresa);\n } else {\n validarLogo('');\n }\n }, []);\n\n /**\n * Interface de formulario\n */\n interface FormValues {\n numServicio: string;\n captcha: string;\n }\n\n /**\n * Valores iniciales de formulario\n */\n const initialValues: FormValues = {\n numServicio: '',\n captcha: '',\n };\n\n const flujoTracking = (estadoCiclo: string) => {\n if (estadoCiclo in TipoEtapaTrackingEnum) {\n history.push(`${CICLO_FACTURACION}/${DETALLE}`);\n } else {\n enqueueSnackbar(t('errors.generic'), {\n variant: 'error',\n });\n }\n };\n /**\n * On submit de formulario\n */\n const onSubmit = async (formValues: any) => {\n const data = {\n numero: formik.values.numServicio,\n };\n\n const request: TokenRequestTrackingModel = {\n captcha: formValues.captcha,\n nroCliente: formik.values.numServicio,\n };\n\n try {\n const responseToken = await TrackingService.obtenerTokenTracking(request);\n localStorage.setItem('token', responseToken.token);\n const responseInfoCliente = await TrackingService.obtenerInfoCliente(formik.values.numServicio);\n\n validarLogo(responseInfoCliente.codDistribuidora);\n dispatch(actualizarUsuario({ ...responseInfoCliente, numeroServicio: formik.values.numServicio }));\n const responseEtiqueta = await TrackingService.obtenerTrackingEtiqueta(formik.values.numServicio);\n const responseEstados = await TrackingService.obtenerEstadosTrackingPorId(responseEtiqueta.trackings[0].id);\n dispatch(actualizarTrackingCicloComercial({ ...responseEstados }));\n const responseFacturacion = await TrackingService.obtenerFacturacionTracking(formik.values.numServicio);\n dispatch(actualizarFacturacion({ ...responseFacturacion }));\n flujoTracking(responseEstados.estado);\n tagFacturacionServicioOK(data);\n formik.resetForm();\n captchaRef.reset();\n } catch (error: any) {\n if (error.message === ERROR_N_SERVICIO_NO_EXISTE) {\n enqueueSnackbar(t('errors.noExisteNumero'), {\n variant: 'error',\n });\n } else if (error.message === ERROR_N_SERVICIO_SIN_INSTANCIA) {\n enqueueSnackbar(t('errors.sinInstancia'), {\n variant: 'error',\n });\n } else {\n enqueueSnackbar(t('errors.generic'), {\n variant: 'error',\n });\n }\n formik.resetForm();\n captchaRef.reset();\n } finally {\n tagFacturacionValidarNumero(data);\n }\n };\n /**\n * Datos de formik\n */\n formik = useFormik({\n initialValues,\n onSubmit,\n validateOnMount: true,\n validationSchema: Yup.object({\n numServicio: Yup.string().required(t('errors.required')).soloNumero(t('errors.soloNumeros')).length(8, t('errors.length')),\n captcha: Yup.string().required(),\n }),\n });\n\n return rootContenedorDetalle({\n className,\n styles,\n t,\n formik,\n mostrarModal,\n cerrarModal,\n setCaptchaRef,\n setMostrarModal,\n tipoTracking: TipoTrackingEnum.CICLO_FACTURACION,\n });\n};\n\nCicloFacturacion.defaultProps = {\n className: '',\n};\nexport default CicloFacturacion;\n"],"sourceRoot":""}