{"version":3,"sources":["components/ProtectedRoute.jsx","components/NonRutProtectedRoute.jsx","screens/SignInCheck.jsx","store/actions/APIEndpoint.jsx","store/actions/actionTypes.jsx","store/actions/authActions.jsx","screens/Login.jsx","screens/ResetPassword.jsx","components/Navigator.jsx","store/actions/usersActions.jsx","components/CustomToggle.jsx","components/CustomFechaIngresoRangePicker.jsx","screens/AdministracionDePersonal.jsx","screens/ExportarPersonal.jsx","components/UserDetails.jsx","regexp.jsx","components/DeleteAttachmentConfirmation.jsx","screens/DetallesPersonal/Liquidaciones.jsx","screens/DetallesPersonal/Documentos.jsx","components/UploadStageSelectCompany.jsx","components/UploadStageSelectCostCenter.jsx","components/UploadStageSelectFiles.jsx","utils/S3Upload.jsx","components/UploadStageUploadFiles.jsx","screens/Upload/Documentos.jsx","screens/Upload/Liquidaciones.jsx","screens/Configuracion/PanelConfiguracion.jsx","store/actions/mantenedoresActions.jsx","screens/Configuracion/MantenedorDocumentos.jsx","screens/Configuracion/MantenedorUsuarios.jsx","store/actions/reportsActions.jsx","screens/Reportes/PanelReportes.jsx","components/ReporteBody.jsx","screens/Reportes/ReportActivosSinContrato.jsx","screens/Reportes/ReportContratosTerminadosSinFiniquito.jsx","screens/Reportes/ReportTrabajadoresSinNingunDocumento.jsx","screens/Reportes/ReportTrabajadoresMenos6Liquidaciones.jsx","screens/Reportes/ReportTrabajadoresSinUltimaLiquidacion.jsx","screens/Reportes/ReportTrabajadoresSinNingunaLiquidacion.jsx","screens/Reportes/ReportTrabajadoresSinVacaciones.jsx","screens/Reportes/ExportarReporte.jsx","screens/Reportes/ReportesLiquidaciones.jsx","screens/Reportes/ReportesLiquidacionesResultados.jsx","screens/Reportes/ReportesDocumentos.jsx","screens/Reportes/ReportesDocumentosResultados.jsx","screens/Reportes/ExportarReporteDocumentosPersonalizado.jsx","screens/Reportes/ExportarReporteLiquidacionesPersonalizado.jsx","App.js","reportWebVitals.js","store/reducers/UsersReducer.jsx","store/reducers/UserDetailsReducer.jsx","store/reducers/CompaniesReducer.jsx","store/reducers/CostCentersReducer.jsx","store/reducers/RegionsReducer.jsx","store/reducers/SindicatosReducer.jsx","store/reducers/DocumentsReducer.jsx","store/reducers/AuthReducer.jsx","store/reducers/ConfiguracionUsuariosReducer.jsx","store/reducers/ReportsSummaryReducer.jsx","store/reducers/ReportsReducer.jsx","store/reducers/ReportePersonalizadoDocumentosReducer.jsx","store/reducers/ReportePersonalizadoLiquidacionesReducer.jsx","store/reducers/index.jsx","index.js"],"names":["connect","state","signedIn","auth","signedInChecked","Component","component","render","props","to","userType","dispatch","bindActionCreators","Container","Col","style","marginTop","Row","className","icon","faSpinner","spin","API_ENDPOINT","SET_USERS","SET_USER_DETAILS","SET_COMPANIES","SET_COST_CENTERS","SET_REGIONS","SET_SINDICATOS","SET_DOCUMENTS","SET_SIGNEDIN_CHECKED","SET_AUTH_TOKEN","SET_RESET_PASSWORD","SET_CLEAN_AUTH","SET_CONFIGURACION_USUARIOS","SET_REPORTS_SUMMARY","SET_REPORTS_USERS","RESET_REPORTS_USER","RESET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS","SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS","RESET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS","SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS","setSignedInChecked","a","type","setAuthData","UserName","token","nombre","apellido","canUploadDocuments","signIn","Pass","OnError","fetch","method","headers","body","JSON","stringify","result","json","status","error","localStorage","setItem","signOut","resetSignInCredentials","OldPass","NewPass","OnSuccess","resetPassword","AuthUserName","useState","setUserName","setPass","Error","setError","history","useHistory","doSignIn","length","err","useEffect","push","Image","src","height","sm","Form","Group","as","controlId","marginBottom","Label","Control","placeholder","value","onChange","e","target","onKeyUp","includes","key","backgroundColor","marginLeft","width","Button","variant","onClick","disabled","Pass2","setPass2","Pass3","setPass3","changePasswordError","setChangePasswordError","onResetPasswordSuccess","onResetPasswordError","errorMessage","doSwitchAccount","useCallback","location","useLocation","marginRight","pathname","active","startsWith","display","position","right","top","flexDirection","padding","removeItem","replace","borderRadius","fetchUsers","Empresas","CentrosCosto","FechaIngreso","FechaIngreso2","Regiones","Sindicatos","Rut","Nombre","Estados","PageNumber","PageSize","OnFetchComplete","getState","query","params","join","Authorization","response","users","employees","totalPages","TotalRecords","StartRecord","currentPage","console","log","fetchUsersExportUrl","text","url","window","open","fetchUserDetails","Contrato","details","deleteUserAttachment","s3Url","CustomToggle","React","forwardRef","ref","children","preventDefault","CustomMenu","labeledBy","setValue","paddingBottom","aria-labelledby","FormControl","autoFocus","overflowY","maxHeight","Children","toArray","filter","child","toLowerCase","CustomFechaIngresoRangePicker","title","onApply","onCancel","initialSettings","showDropdowns","autoUpdateInput","locale","cancelLabel","applyLabel","monthNames","format","defaultValue","companies","costCenters","regions","sindicatos","URLSearchParams","search","doFetchUsers","setDoFetchUsers","setNombre","setRut","get","setPageNumber","split","v","setEmpresas","setCentrosCosto","setFechaIngreso","setFechaIngreso2","map","setRegiones","setSindicatos","setEstados","fetchingInProgress","setFetchingInProgress","updateQueryParameters","setUpdateQueryParameters","EstadosValues","EstadosMap","replaceAll","doUpdateQueryParameters","gotoPage","page","pageMin","Math","max","pageMax","min","pagesToNavigate","i","onKeyUpFilter","keyCode","EmpresasTitle","CentrosCostoTitle","find","costCenter","item","RegionesTitle","region","id","SindicatosTitle","EstadosTitle","Dropdown","Toggle","Menu","Item","company","index","empresaToToggle","empIndex","indexOf","_","toggleEmpresas","costCenterToToggle","costCenterIndex","toggleCentrosDeCostos","event","picker","startDate","endDate","element","val","regionToToggle","regionIndex","toggleRegiones","sindicato","sindicatoToToggle","sindicatoIndex","toggleSindicatos","estado","estadoToToggle","estadoIndex","toggleEstados","xs","offset","span","textAlign","origin","RutToUse","Table","striped","bordered","hover","size","user","empresa","centroCosto","rut","apellidoPate","moment","fechaIngreso","undefined","fechaTermino","Estado","numeroDocumentos","numeroLiquidaciones","ContratoId","paddingLeft","paddingRight","color","UserDetails","foto","match","apellidoMate","nombreCentroCosto","fechaTerminoContrato","isAfter","fechaInicioContrato","fileNameValidationRegexp","Backdrop","styled","DeleteAttachmentModal","Modal","userDetails","documents","upload","HideModal","OnDelete","parts","RegExp","exec","datePart","show","onHide","renderBackdrop","justifyContent","doc","Codigo","Descripcion","rexUser","coc","empleado","month","year","userTypeIsRut","uploadToDelete","setUploadToDelete","Nav","defaultActiveKey","Link","md","idCentroCosto","liquidaciones","faFilePdf","href","faCloudDownloadAlt","borderRight","borderTop","borderBottom","faTimes","Set","codigosEnFiltro","setCodigosEnFiltro","FiltrosTitle","values","next","prevCodigos","newSet","has","delete","add","toggleCodigoEnFiltro","documentos","UploadStageSelectCompany","OnSelection","Companies","ProgressValue","ProgressText","paddingTop","ProgressBar","now","InputGroup","Prepend","Radio","name","pickCompany","UploadStageSelectCostCenter","CentroCosto","setCentroCosto","pickCostCenter","UploadStageSelectFiles","acceptedFileList","setAcceptedFileList","filesToAccept","filesToDeny","onDrop","acceptedFiles","file","array","findIndex","fileInArray","path","useDropzone","validator","code","message","fileRejections","getRootProps","getInputProps","filesAccepted","faCheckCircle","filesRejected","errors","faTimesCircle","multiple","flex","alignItems","borderWidth","borderStyle","outline","transition","borderColor","hash","getNewUploadBatchId","batchId","uploadToS3","addToResultQueue","Promise","resolve","reject","reader","FileReader","readAsArrayBuffer","onload","fileData","xhr","XMLHttpRequest","onerror","TypeError","setRequestHeader","send","onUploadBegin","addToUploadQueue","addUserToFile","addCostCenterToFile","Empresa","FileName","uploadData","UploadStageUploadFiles","filesToUpload","filesUploadInQueue","setFilesUploadInQueue","Map","filesUploadResults","setFilesUploadResults","filesUploadUser","setFilesUploadUser","doUpload","setDoUpload","filesUploadCostCenters","setFilesUploadCostCenters","addFileToQueue","fileName","prevFiles","prevUploadUsers","newMap","set","cocItem","prevUploadCostCenters","addFileToUploadResult","prevUploadResults","uploadDocuments","getUploadBatchIdAndUpload","toUploadRow","userData","faInbox","faCircleNotch","totalFiles","successfulFiles","failedFiles","enablePrevButton","setEnablePrevButton","uploadStage","setUploadStage","companySelected","setCompanySelected","costCenterSelected","setCostCenterSelected","COC","gotoNext","ReporteCard","numItems","Card","Body","Title","Text","fetchCompanies","fetchCostCenters","fetchRegions","fetchSindicatos","fetchDocuments","editDocument","Obligatorio","createDocument","deleteDocument","fetchConfiguracionUsuarios","usuarios","createUsuario","Correo","Apellido","TipoUsuario","CanUploadDocuments","deleteUsuario","editUsuario","username","password","empresas","regiones","centrosCosto","fetchExecutiveUserConfiguration","PositionedModal","NuevoDocumentoModal","setNuevoDocumento","setCodigo","setDescripcion","setObligatorio","SubmitChange","fontWeight","Checkbox","checked","EditDocumentoModal","documento","setDocumento","readOnly","DeleteDocumentoModal","filtro","setFiltro","documentoSeleccionado","setDocumentoSeleccionado","nuevoDocumento","documentoEliminar","setDocumentoEliminar","verticalAlign","MiddlePositionedModal","SmallPositionedModal","userTypes","NuevoUsuarioModal","CreateUsuario","OnNext","setCorreo","setApellido","setTipoUsuario","setCanUploadDocuments","DropdownButton","NuevoUsuarioEmpresaModal","empresaIndex","toggleEmpresa","NuevoUsuarioRegionesModal","toggleRegion","NuevoUsuarioCentrosCostoModal","DeleteUsuarioModal","EditUsuarioModal","nombreUsuario","apellidoUsuario","passwordUsuario","empresasUsuario","regionesUsuario","centrosCostoUsuario","setNombreUsuario","setApellidoUsuario","createNewPassword","setCreateNewPassword","setPasswordUsuario","setEmpresasUsuario","setRegionesUsuario","setCentrosCostoUsuario","empresasChanged","setEmpresasChanged","regionesChanged","setRegionesChanged","centrosCostoChanged","setCentrosCostoChanged","editionEnabled","configuracionUsuarios","nuevoUsuario","setNuevoUsuario","nuevoUsuarioEmpresas","setNuevoUsuarioEmpresas","nuevoUsuarioRegiones","setNuevoUsuarioRegiones","nuevoUsuarioCentrosCosto","setNuevoUsuarioCentrosCosto","userToEdit","setUserToEdit","userToDelete","setUserToDelete","usuario","fetchReportsSummary","OnLoadingComplete","OnLoadingError","summary","resetReportsUsers","fetchActivesWithoutContract","fetchTerminatedWorkersWithoutTerminationDocument","fetchWorkersWithoutAnyDocument","fetchWorkersWithLessThan6MonthlyPaymentDocuments","fetchWorkersWithoutLastMonthlyPaymentDocuments","fetchWorkersWithoutMonthlyPaymentDocument","fetchReportsExportUrl","Report","setFiltrosReporteDocumentosPersonalizado","Condicion","Documentos","FechaDocumento","FechaDocumento2","fetchReporteDocumentosPersonalizado","fetchReportsCustomDocumentsExportUrl","setFiltrosReporteLiquidacionesPersonalizado","NumeroLiquidaciones","FechaTerminoSeleccionadoMonth","FechaTerminoSeleccionadoYear","fetchReporteLiquidacionesPersonalizado","fetchReportsCustomLiquidacionesExportUrl","fetchWorkersWithoutVacationsDocument","loading","loadingError","Subtitle","activosSinContrato","reportsSummary","terminadosSinFiniquito","sinDocumentos","menos6Liquidaciones","sinUltimaLiquidacion","sinLiquidaciones","sinVacaciones","setLoading","setLoadingError","gotoReport","link","reports","ReportTitle","filtersToHide","fetchReportData","SetNumeroLiquidaciones","SetEstado","SetCondicion","SetFechaTerminoSeleccionadoMonth","SetFechaTerminoSeleccionadoYear","generarReporteActivo","FechaTerminoMonthsOptions","FechaTerminoYearsOptions","Array","fill","idx","subtract","mes","reporteLiquidaciones","EstadosInverseMap","estadoContrato","bottom","SetDocumentos","setFechaDocumento","setFechaDocumento2","DocumentosTitle","docSeleccionado","FiltroRangoFechaTitle","document","docTitle","codigoToToggle","codigoIndex","toggleDocumentos","reporteDocumentos","authUserName","setTimeout","data","getItem","parse","Login","exact","ResetPassword","AdministracionDePersonal","DetallesPersonalLiquidaciones","DetallesPersonalDocumentos","UploadDocumentos","UploadLiquidaciones","PanelConfiguracion","MantenedorDocumentos","MantenedorUsuarios","PanelReportes","ExportarPersonal","ReportActivosSinContrato","ReportContratosTerminadosSinFiniquito","ReportTrabajadoresSinNingunDocumento","ReportTrabajadoresMenos6Liquidaciones","ReportTrabajadoresSinUltimaLiquidacion","ReportTrabajadoresSinNingunaLiquidacion","ReportTrabajadoresSinVacaciones","ExportarReporte","ReportesLiquidaciones","ReportesLiquidacionesResultados","ExportarReporteLiquidacionesPersonalizado","ReportesDocumentos","ReportesDocumentosResultados","ExportarReporteDocumentosPersonalizado","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","initialState","reducer","action","combineReducers","AuthReducer","UsersReducer","UserDetailsReducer","CompaniesReducer","CostCentersReducer","RegionsReducer","SindicatosReducer","DocumentsReducer","ConfiguracionUsuariosReducer","ReportsSummaryReducer","ReportsReducer","ReportePersonalizadoDocumentosReducer","ReportePersonalizadoLiquidacionesReducer","store","createStore","reducers","applyMiddleware","ReduxThunk","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.f3a4c8bd.chunk.js","sourcesContent":["import React from 'react';\r\nimport { Route, Redirect} from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\n\r\nconst ProtectedRoute = ({component:Component, signedIn, signedInChecked }) => {\r\n return ( {\r\n if(signedIn){\r\n return \r\n } else if(signedInChecked){\r\n return \r\n } else {\r\n return ''\r\n } \r\n }}/>\r\n )\r\n}\r\nconst mapStateToProps = state =>{\r\n return {\r\n signedIn:state.auth.signedIn,\r\n signedInChecked:state.auth.signedInChecked,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(ProtectedRoute);","import React from 'react';\r\nimport { Route, Redirect} from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport ProtectedRoute from './ProtectedRoute'\r\n\r\nconst NonRutProtectedRoute = ({component, userType }) => {\r\n return (\r\n {\r\n if(userType===\"rut\"){\r\n return \r\n } else {\r\n return \r\n }\r\n }}/>\r\n )\r\n}\r\n\r\nconst mapStateToProps = state =>{\r\n return {\r\n userType:state.auth.userType,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(NonRutProtectedRoute);","import React from 'react'\r\nimport { Container, Row, Col } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons'\r\n\r\nconst SignInCheck = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Cargando

\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SignInCheck)","export const API_ENDPOINT = 'https://gken45co29.execute-api.sa-east-1.amazonaws.com'","export const SET_USERS = \"SET_USERS\"\r\nexport const SET_USER_DETAILS = \"SET_USER_DETAILS\"\r\nexport const SET_COMPANIES = \"SET_COMPANIES\"\r\nexport const SET_COST_CENTERS = \"SET_COST_CENTERS\"\r\nexport const SET_REGIONS = \"SET_REGIONS\"\r\nexport const SET_SINDICATOS = \"SET_SINDICATOS\"\r\nexport const SET_DOCUMENTS = \"SET_DOCUMENTS\"\r\nexport const SET_SIGNEDIN_CHECKED = \"SET_SIGNEDIN_CHECKED\"\r\nexport const SET_AUTH_TOKEN = \"SET_AUTH_TOKEN\"\r\nexport const SET_RESET_PASSWORD = \"SET_RESET_PASSWORD\"\r\nexport const SET_CLEAN_AUTH = \"SET_CLEAN_AUTH\"\r\nexport const SET_CONFIGURACION_USUARIOS = \"SET_CONFIGURACION_USUARIOS\"\r\nexport const SET_REPORTS_SUMMARY = \"SET_REPORTS_SUMMARY\"\r\nexport const SET_REPORTS_USERS = \"SET_REPORTS_USERS\"\r\nexport const RESET_REPORTS_USER = \"RESET_REPORTS_USERS\"\r\nexport const RESET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS = \"RESET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS\"\r\nexport const SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS = \"SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS\"\r\nexport const RESET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS = \"RESET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS\"\r\nexport const SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS = \"SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS\"","import { API_ENDPOINT } from './APIEndpoint'\r\nimport { \r\n SET_SIGNEDIN_CHECKED,\r\n SET_AUTH_TOKEN,\r\n SET_CLEAN_AUTH,\r\n SET_RESET_PASSWORD,\r\n} from './actionTypes'\r\n\r\nexport const setSignedInChecked = () => async (dispatch) => {\r\n dispatch({type:SET_SIGNEDIN_CHECKED})\r\n}\r\n\r\nexport const setAuthData = ({UserName,token,userType,nombre,apellido,canUploadDocuments}) => async (dispatch) => {\r\n dispatch({type:SET_AUTH_TOKEN,UserName,token,userType,nombre,apellido,canUploadDocuments})\r\n}\r\n\r\nexport const signIn = ({UserName,Pass,OnError}) => async (dispatch) => {\r\n let result = await fetch(`${API_ENDPOINT}/auth/signIn`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({UserName,Pass})\r\n })\r\n let { status, token, userType, nombre, apellido, canUploadDocuments, error } = await result.json()\r\n if(status===200){\r\n localStorage.setItem(\"docuus\",JSON.stringify({UserName, token, userType, nombre, apellido, canUploadDocuments}))\r\n dispatch(setAuthData({UserName, token, userType, nombre, apellido, canUploadDocuments}))\r\n } else if(status===401){\r\n dispatch({type:SET_RESET_PASSWORD,UserName})\r\n } else if(status===404){\r\n OnError(error)\r\n }\r\n}\r\n\r\nexport const signOut = () => async (dispatch) => {\r\n dispatch({type:SET_CLEAN_AUTH})\r\n}\r\n\r\nexport const resetSignInCredentials = ({UserName,OldPass,NewPass,OnSuccess,OnError}) => async (dispatch) => {\r\n let result = await fetch(`${API_ENDPOINT}/auth/reset`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({UserName,OldPass,NewPass})\r\n })\r\n let { status, error } = await result.json()\r\n if(status===200){\r\n OnSuccess()\r\n } else {\r\n OnError(error)\r\n }\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button, Form, Image } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { signIn } from '../store/actions/authActions'\r\nimport { bindActionCreators } from 'redux'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nconst Login = ({\r\n signIn,\r\n signedIn,\r\n resetPassword,\r\n userType,\r\n AuthUserName\r\n}) => {\r\n const [UserName,setUserName] = useState('')\r\n const [Pass,setPass] = useState('')\r\n const [Error,setError] = useState('')\r\n const history = useHistory()\r\n\r\n const doSignIn = () => {\r\n if(UserName.length>0 && Pass.length>0){\r\n signIn({UserName,Pass,OnError:(err)=>{\r\n setError(err)\r\n }})\r\n }\r\n }\r\n\r\n useEffect(()=>{\r\n if(signedIn){\r\n if(userType!=='rut'){\r\n history.push('/dashboard')\r\n } else {\r\n history.push(`/detallesPersonal/liquidaciones?Rut=${AuthUserName}`)\r\n }\r\n \r\n }\r\n if(resetPassword){\r\n history.push('/resetpassword')\r\n }\r\n },[signedIn,resetPassword,AuthUserName,history,userType])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n

Bienvenido a Docuus

\r\n \r\n \r\n \r\n Usuario\r\n {setError('');setUserName(e.target.value)}}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contraseña\r\n {if([\"Enter\"].includes(e.key)){doSignIn()}}} onChange={(e)=>{setError('');setPass(e.target.value)}}/>\r\n \r\n \r\n \r\n {Error!=='' &&\r\n \r\n \r\n \r\n Error: {Error}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n signedIn:state.auth.signedIn,\r\n resetPassword:state.auth.resetPassword,\r\n userType:state.auth.userType,\r\n AuthUserName:state.auth.UserName,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n signIn\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login)","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button, Form, Image } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n signOut,\r\n resetSignInCredentials\r\n} from '../store/actions/authActions'\r\nimport { useCallback } from 'react'\r\n\r\nconst ResetPassword = ({\r\n signOut,\r\n resetSignInCredentials,\r\n UserName,\r\n}) => {\r\n const [Pass,setPass] = useState('')\r\n const [Pass2,setPass2] = useState('')\r\n const [Pass3,setPass3] = useState('')\r\n const [changePasswordError,setChangePasswordError] = useState('')\r\n const history = useHistory()\r\n\r\n const onResetPasswordSuccess = () => {\r\n signOut()\r\n history.push('/')\r\n }\r\n\r\n const onResetPasswordError = (errorMessage) => {\r\n setChangePasswordError(errorMessage)\r\n }\r\n\r\n const doResetPassword = () => {\r\n if(Pass2!==Pass3){\r\n setChangePasswordError('Nuevas contraseñas no son iguales')\r\n } else {\r\n resetSignInCredentials({\r\n UserName,\r\n OldPass:Pass,\r\n NewPass:Pass2,\r\n OnSuccess:onResetPasswordSuccess,\r\n OnError:onResetPasswordError,\r\n })\r\n }\r\n }\r\n\r\n const doSwitchAccount = useCallback(() => {\r\n signOut()\r\n history.push('/')\r\n },[signOut,history])\r\n\r\n useEffect(()=>{\r\n if(UserName===''){\r\n doSwitchAccount()\r\n }\r\n },[UserName,doSwitchAccount])\r\n\r\n let disabled = (Pass === '' || Pass2 === '' || Pass3 === '')\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n

Cambio de contraseña

\r\n \r\n \r\n \r\n Usuario: {UserName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contraseña\r\n {\r\n setChangePasswordError('');\r\n setPass(e.target.value)\r\n }}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Nueva contraseña\r\n {\r\n setChangePasswordError('')\r\n setPass2(e.target.value)\r\n }}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Repetir nueva contraseña\r\n {\r\n setChangePasswordError('')\r\n setPass3(e.target.value)\r\n }}/>\r\n \r\n \r\n \r\n {changePasswordError!=='' &&\r\n \r\n Error: {changePasswordError}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n UserName:state.auth.UserName// || 's@4ptech.com',\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n signOut,\r\n resetSignInCredentials,\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ResetPassword)","import { Row, Button, Image } from 'react-bootstrap'\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux'\r\nimport { \r\n signOut\r\n} from '../store/actions/authActions'\r\n\r\nconst Navigator = ({\r\n nombre,\r\n apellido,\r\n signOut,\r\n userType,\r\n canUploadDocuments,\r\n}) => {\r\n const history = useHistory()\r\n const location = useLocation();\r\n const OnSignOut = ()=>{\r\n localStorage.removeItem(\"docuus\")\r\n signOut()\r\n history.replace(\"/\")\r\n }\r\n\r\n return (\r\n \r\n \r\n {![\"rut\"].includes(userType) &&\r\n \r\n }\r\n  \r\n {![\"rut\"].includes(userType) && canUploadDocuments &&\r\n \r\n }\r\n  \r\n {![\"rut\"].includes(userType) && canUploadDocuments &&\r\n \r\n }\r\n  \r\n {![\"rut\"].includes(userType) &&\r\n \r\n }\r\n  \r\n {[\"admin\"].includes(userType) &&\r\n \r\n }\r\n
\r\n
\r\n

{nombre} {apellido}

\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\nconst mapStateToProps = state =>{\r\n return {\r\n signedIn:state.auth.signedIn,\r\n signedInChecked:state.auth.signedInChecked,\r\n userType:state.auth.userType,\r\n nombre:state.auth.nombre,\r\n apellido:state.auth.apellido,\r\n canUploadDocuments:state.auth.canUploadDocuments,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n signOut,\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Navigator)","import { API_ENDPOINT } from './APIEndpoint'\r\nimport { \r\n SET_USERS,\r\n SET_USER_DETAILS\r\n} from './actionTypes'\r\nimport { signOut } from './authActions'\r\n\r\nexport const fetchUsers = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/users`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n OnFetchComplete(error)\r\n console.log(error)\r\n }\r\n}\r\n\r\nexport const fetchUsersExportUrl = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/users/export`\r\n let params = []\r\n if((Empresas || '')!=='') params.push(`Empresas=${Empresas}`)\r\n if((CentrosCosto || '')!=='') params.push(`CentrosCosto=${CentrosCosto}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if((Regiones || '')!=='') params.push(`Regiones=${Regiones}`)\r\n if((Sindicatos || '')!=='') params.push(`Sindicatos=${Sindicatos}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if((Estados || '')!=='') params.push(`Estados=${Estados}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let url = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).text()\r\n window.open(url)\r\n } catch(error){\r\n console.log(error)\r\n }\r\n}\r\n\r\nexport const fetchUserDetails = ({Rut,Contrato,OnFetchComplete}) => async (dispatch) => {\r\n let query = `${API_ENDPOINT}/user/contract?Rut=${Rut}&Contrato=${Contrato}`\r\n let details = await (await fetch(query)).json()\r\n dispatch({type:SET_USER_DETAILS,details})\r\n OnFetchComplete()\r\n}\r\n\r\nexport const deleteUserAttachment = ({Contrato,Rut,s3Url,OnFetchComplete}) => async (dispatch) => {\r\n await fetch(`${API_ENDPOINT}/attachment/delete`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({s3Url})\r\n })\r\n dispatch(fetchUserDetails({Contrato,Rut,OnFetchComplete}))\r\n}","import React, { useState } from 'react'\r\nimport { FormControl } from 'react-bootstrap'\r\n\r\n// The forwardRef is important!!\r\n// Dropdown needs access to the DOM node in order to position the Menu\r\nexport const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n \r\n));\r\n\r\n// forwardRef again here!\r\n// Dropdown needs access to the DOM of the Menu to measure it\r\nexport const CustomMenu = React.forwardRef(\r\n ({ children, style, className, 'aria-labelledby': labeledBy }, ref) => {\r\n const [value, setValue] = useState('');\r\n\r\n return (\r\n \r\n setValue(e.target.value)}\r\n value={value}\r\n />\r\n
    \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value.toLowerCase()),\r\n )}\r\n
\r\n \r\n );\r\n },\r\n);","import { Col, Form } from 'react-bootstrap'\r\nimport DateRangePicker from 'react-bootstrap-daterangepicker'\r\nimport 'bootstrap-daterangepicker/daterangepicker.css'\r\n\r\nexport const CustomFechaIngresoRangePicker = ({title='Fecha de Ingreso',onApply,onCancel})=>\r\n\r\n {title}\r\n \r\n \r\n \r\n","import React, { useEffect, useState } from 'react'\r\nimport { Container, Row, Col, Button, Dropdown, Table, Form } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { Link, useHistory, useLocation } from 'react-router-dom'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from '../components/Navigator'\r\nimport { fetchUsers } from '../store/actions/usersActions'\r\nimport { CustomMenu, CustomToggle } from '../components/CustomToggle'\r\nimport RutComponent from 'react-rut'\r\nimport moment from 'moment'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons'\r\nimport { CustomFechaIngresoRangePicker } from '../components/CustomFechaIngresoRangePicker'\r\n\r\nconst AdministracionDePersonal = ({\r\n userType,\r\n companies,\r\n costCenters,\r\n regions,\r\n sindicatos,\r\n employees,\r\n totalPages,\r\n fetchUsers,\r\n TotalRecords,\r\n StartRecord,\r\n}) =>{\r\n\r\n const history = useHistory()\r\n let query = new URLSearchParams(useLocation().search)\r\n\r\n const [doFetchUsers, setDoFetchUsers] = useState(true)\r\n const [Nombre, setNombre] = useState('')\r\n const [Rut,setRut] = useState('')\r\n const [PageSize] = useState(20)\r\n const [PageNumber,setPageNumber] = useState(+`${query.get(\"PageNumber\") || 1}`)\r\n const [Empresas,setEmpresas] = useState((query.get(\"Empresas\") || '').split(',').filter(v=>v!==\"\"))\r\n const [CentrosCosto,setCentrosCosto] = useState((query.get(\"CentrosCosto\") || '').split(',').filter(v=>v!==\"\"))\r\n const [FechaIngreso,setFechaIngreso] = useState(query.get(\"FechaIngreso\") || '')\r\n const [FechaIngreso2,setFechaIngreso2] = useState(query.get(\"FechaIngreso2\") || '')\r\n const [Regiones,setRegiones] = useState((query.get(\"Regiones\") || '').split(',').filter(v=>v!==\"\").map(v=>+v))\r\n const [Sindicatos,setSindicatos] = useState((query.get(\"Sindicatos\") || '').split(',').filter(v=>v!==\"\"))\r\n const [Estados,setEstados] = useState((query.get(\"Estados\") || '').split(',').filter(v=>v!==\"\"))\r\n\r\n const [fetchingInProgress,setFetchingInProgress] = useState(true)\r\n const [updateQueryParameters,setUpdateQueryParameters] = useState(false)\r\n\r\n let EstadosValues = ['A','T','P']\r\n let EstadosMap = {\r\n 'A':\"Activo\",\r\n 'T':\"Terminado\",\r\n 'P':\"Pendiente\"\r\n }\r\n\r\n useEffect(()=>{\r\n if(!doFetchUsers) return\r\n setFetchingInProgress(true)\r\n setDoFetchUsers(false)\r\n fetchUsers({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut:Rut.replaceAll('.','').split(\"-\")[0],\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }\r\n })\r\n },[doFetchUsers,fetchUsers,Empresas,CentrosCosto,FechaIngreso,FechaIngreso2,Regiones,Sindicatos,Rut,Nombre,PageSize,PageNumber,Estados,history,setFetchingInProgress])\r\n\r\n useEffect(()=>{\r\n const doUpdateQueryParameters = ()=>{\r\n let params = [`PageNumber=${PageNumber}`]\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n history.push(`/dashboard?${params.join('&')}`)\r\n }\r\n\r\n if(updateQueryParameters){\r\n setUpdateQueryParameters(false)\r\n doUpdateQueryParameters()\r\n }\r\n },[updateQueryParameters,setUpdateQueryParameters,\r\n PageNumber,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n Estados,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n history\r\n ])\r\n\r\n const exportarExcel=()=>{\r\n let url = `${window.location.origin}/export`\r\n let params = []\r\n let RutToUse = Rut.replaceAll('.','').split(\"-\")[0]\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((RutToUse || '')!=='') params.push(`Rut=${RutToUse}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n url = `${url}?${params.join('&')}`\r\n window.open(url)\r\n }\r\n\r\n const gotoPage=(page)=>{\r\n setPageNumber(page)\r\n setDoFetchUsers(true)\r\n setUpdateQueryParameters(true)\r\n }\r\n\r\n let pageMin = Math.max(PageNumber-3,1)\r\n let pageMax = Math.min(pageMin+4,totalPages)\r\n let pagesToNavigate = []\r\n if(PageNumber>1){\r\n pagesToNavigate.push({text:'\\u00AB',page:1})\r\n pagesToNavigate.push({text:'\\u003C',page:PageNumber-1})\r\n }\r\n for(let i = pageMin; i <= pageMax; i++){\r\n pagesToNavigate.push({text:`${i}`,page:i})\r\n }\r\n if(PageNumber{\r\n let empIndex = Empresas.indexOf(empresaToToggle)\r\n if(empIndex===-1){\r\n setEmpresas([...Empresas,empresaToToggle])\r\n } else {\r\n setEmpresas([...Empresas].filter((_,index)=>index!==empIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleCentrosDeCostos = (costCenterToToggle)=>{\r\n let costCenterIndex = CentrosCosto.indexOf(costCenterToToggle)\r\n if(costCenterIndex===-1){\r\n setCentrosCosto([...CentrosCosto,costCenterToToggle])\r\n } else {\r\n setCentrosCosto([...CentrosCosto].filter((_,index)=>index!==costCenterIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleRegiones = (regionToToggle)=>{\r\n let regionIndex = Regiones.indexOf(regionToToggle)\r\n if(regionIndex===-1){\r\n setRegiones([...Regiones,regionToToggle])\r\n } else {\r\n setRegiones([...Regiones].filter((_,index)=>index!==regionIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleSindicatos = (sindicatoToToggle)=>{\r\n let sindicatoIndex = Sindicatos.indexOf(sindicatoToToggle)\r\n if(sindicatoIndex===-1){\r\n setSindicatos([...Sindicatos,sindicatoToToggle])\r\n } else {\r\n setSindicatos([...Sindicatos].filter((_,index)=>index!==sindicatoIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleEstados = (estadoToToggle)=>{\r\n let estadoIndex = Estados.indexOf(estadoToToggle)\r\n if(estadoIndex===-1){\r\n setEstados([...Estados,estadoToToggle])\r\n } else {\r\n setEstados([...Estados].filter((_,index)=>index!==estadoIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n const onKeyUpFilter=(e)=>{\r\n if(e.keyCode === 13){\r\n gotoPage(1)\r\n }\r\n }\r\n\r\n const fechaIngresoApply = (event, picker) => {\r\n setFechaIngreso(picker.startDate.format('YYYYMMDD'))\r\n setFechaIngreso2(picker.endDate.format('YYYYMMDD'))\r\n picker.element.val(\r\n picker.startDate.format('DD/MM/YYYY') +\r\n ' - ' +\r\n picker.endDate.format('DD/MM/YYYY')\r\n )\r\n gotoPage(1)\r\n }\r\n\r\n const fechaIngresoCancel = (event, picker) => {\r\n setFechaIngreso('')\r\n setFechaIngreso2('')\r\n picker.element.val('');\r\n gotoPage(1)\r\n }\r\n\r\n let EmpresasTitle = ''\r\n if(Empresas.length===0) { EmpresasTitle = 'Todas' }\r\n if(Empresas.length===1) { EmpresasTitle = Empresas[0]}\r\n if(Empresas.length > 1) { EmpresasTitle = `${Empresas.length} Seleccionadas` }\r\n\r\n let CentrosCostoTitle = ''\r\n if(CentrosCosto.length===0) { CentrosCostoTitle = 'Todos' }\r\n if(CentrosCosto.length===1) { CentrosCostoTitle = costCenters.find(costCenter => costCenter.item === CentrosCosto[0])?.nombre || `Centro Costo ${CentrosCosto[0]}` }\r\n if(CentrosCosto.length > 1) { CentrosCostoTitle = `${CentrosCosto.length} Seleccionados` }\r\n\r\n let RegionesTitle = ''\r\n if(Regiones.length===0) { RegionesTitle = 'Todas' }\r\n if(Regiones.length===1) { RegionesTitle = regions.find(region=>region.id === Regiones[0])?.nombre }\r\n if(Regiones.length > 1) { RegionesTitle = `${Regiones.length} Seleccionadas` }\r\n\r\n let SindicatosTitle = ''\r\n if(Sindicatos.length===0) { SindicatosTitle = 'Todos' }\r\n if(Sindicatos.length===1) { SindicatosTitle = Sindicatos[0]}\r\n if(Sindicatos.length > 1) { SindicatosTitle = `${Sindicatos.length} Seleccionados` }\r\n\r\n let EstadosTitle = ''\r\n if(Estados.length===0) { EstadosTitle = 'Todos' }\r\n if(Estados.length===1) { EstadosTitle = EstadosMap[Estados[0]]}\r\n if(Estados.length > 1) { EstadosTitle = `${Estados.length} Seleccionados` }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Empresa\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n {\r\n Empresas.length < companies.length &&\r\n { setEmpresas(companies);gotoPage(1) }}>Todas \r\n }\r\n {\r\n Empresas.length === companies.length &&\r\n { setEmpresas([]);gotoPage(1) }}>Ninguna\r\n }\r\n {companies.map((company,index)=>\r\n { toggleEmpresas(company) }} active={(Empresas.indexOf(company)!==-1)}>{company}\r\n )}\r\n \r\n \r\n \r\n \r\n Centro de Costo\r\n \r\n \r\n {CentrosCostoTitle}\r\n \r\n \r\n {\r\n CentrosCosto.length < costCenters.length &&\r\n { setCentrosCosto(costCenters.map(({item})=>item));gotoPage(1) }}>Todas \r\n }\r\n {\r\n CentrosCosto.length === costCenters.length &&\r\n { setCentrosCosto([]);gotoPage(1) }}>Ninguno\r\n }\r\n {costCenters.map((costCenter,index)=>\r\n { toggleCentrosDeCostos(costCenter.item) }} active={(CentrosCosto.indexOf(costCenter.item)!==-1)}>{costCenter.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Región\r\n \r\n \r\n {RegionesTitle}\r\n \r\n \r\n {\r\n Regiones.length < regions.length &&\r\n { setRegiones(regions.map(({id})=>id));gotoPage(1) }}>Todas \r\n }\r\n {\r\n Regiones.length === regions.length &&\r\n { setRegiones([]);gotoPage(1) }}>Ninguna\r\n }\r\n {regions.map((region,index)=>\r\n { toggleRegiones(region.id) }} active={(Regiones.indexOf(region.id)!==-1)}>{region.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n Sindicato\r\n \r\n \r\n {SindicatosTitle}\r\n \r\n \r\n {\r\n Sindicatos.length < sindicatos.length &&\r\n { setSindicatos(sindicatos.map(({sindicato})=>sindicato));gotoPage(1) }}>Todos \r\n }\r\n {\r\n Sindicatos.length === sindicatos.length &&\r\n { setSindicatos([]);gotoPage(1) }}>Ninguna\r\n }\r\n {sindicatos.map((sindicato,index)=>\r\n { toggleSindicatos(sindicato.sindicato) }} active={(Sindicatos.indexOf(sindicato.sindicato)!==-1)}>{sindicato.sindicato}\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Filtro Nombre\r\n {setNombre(e.target.value)}} onKeyUp={onKeyUpFilter}/>\r\n \r\n \r\n Filtro RUT\r\n {setRut(e.target.value)}} >\r\n \r\n \r\n \r\n {![\"client\"].includes(userType) &&\r\n \r\n Estado\r\n \r\n \r\n {EstadosTitle}\r\n \r\n \r\n {\r\n Estados.length < EstadosValues.length &&\r\n { setEstados(EstadosValues);gotoPage(1) }}>Todos \r\n }\r\n {\r\n Estados.length === EstadosValues.length &&\r\n { setEstados([]);gotoPage(1) }}>Ninguno\r\n }\r\n {EstadosValues.map((estado,index)=>\r\n { toggleEstados(estado) }} active={(Estados.indexOf(estado)!==-1)}>{EstadosMap[estado]}\r\n )}\r\n \r\n \r\n \r\n }\r\n \r\n {fetchingInProgress &&\r\n \r\n \r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n

Registros {Math.min(StartRecord+1,TotalRecords)}/{StartRecord+employees.length} de {TotalRecords}

\r\n \r\n
\r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {employees.map((user,index)=>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
EmpresaC. de CostoRUTNombre y ApellidoRegiónFecha IngresoFecha TerminoEstadoDocumentosLiquidacionesSindicatoAcciones
{user.empresa}{user.centroCosto}{user.rut}{user.nombre} {user.apellidoPate}{user.region}{moment(user.fechaIngreso).format(\"DD / MM / YYYY\")}{(user.fechaTermino!==undefined && user.fechaTermino!==null)?moment(user.fechaTermino).format(\"DD / MM / YYYY\"):''}{EstadosMap[user.Estado]}{user.numeroDocumentos}{user.numeroLiquidaciones}{user.sindicato}Ver detalle
\r\n }\r\n {!fetchingInProgress &&\r\n \r\n {pagesToNavigate.map((page,index)=>\r\n \r\n )}\r\n \r\n }\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n userType:state.auth.userType,\r\n companies:state.companies.companies,\r\n costCenters:state.costCenters.costCenters,\r\n regions:state.regions.regions,\r\n employees:state.users.employees,\r\n sindicatos:state.sindicatos.sindicatos,\r\n totalPages:state.users.totalPages,\r\n TotalRecords:state.users.TotalRecords,\r\n StartRecord:state.users.StartRecord,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchUsers\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AdministracionDePersonal)","import React, { useEffect, useState } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { useLocation } from 'react-router-dom'\r\nimport { bindActionCreators } from 'redux'\r\nimport { fetchUsersExportUrl } from '../store/actions/usersActions'\r\n\r\nconst ExportarPersonal = ({\r\n fetchUsersExportUrl\r\n}) =>{\r\n\r\n let query = new URLSearchParams(useLocation().search)\r\n \r\n const [Empresas] = useState(query.get(\"Empresas\"))\r\n const [CentrosCosto] = useState(query.get(\"CentrosCosto\"))\r\n const [FechaIngreso] = useState(query.get(\"FechaIngreso\"))\r\n const [FechaIngreso2] = useState(query.get(\"FechaIngreso2\"))\r\n const [Regiones] = useState(query.get(\"Regiones\"))\r\n const [Sindicatos] = useState(query.get(\"Sindicatos\"))\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Nombre] = useState(query.get(\"Nombre\"))\r\n const [Estados] = useState(query.get(\"Estados\"))\r\n\r\n useEffect(()=>{\r\n fetchUsersExportUrl({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n })\r\n },[Empresas,CentrosCosto,FechaIngreso,FechaIngreso2,Regiones,Sindicatos,Rut,Nombre,Estados,fetchUsersExportUrl])\r\n\r\n return (\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchUsersExportUrl\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportarPersonal)","import { Col, Row, Image } from 'react-bootstrap'\r\nimport moment from 'moment'\r\n\r\nexport const UserDetails = ({details}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

{details.nombre} {details.apellidoPate} {details.apellidoMate}

\r\n
\r\n \r\n

{details.empresa} - {details.nombreCentroCosto}

\r\n
\r\n \r\n

{(details.fechaTerminoContrato===null || moment(details.fechaTerminoContrato).isAfter(moment()))?`VIGENTE`:`NO VIGENTE`}

\r\n
\r\n \r\n \r\n

Fecha Ingreso:{moment(details.fechaInicioContrato).format(\"DD/MM/YYYY\")}

\r\n \r\n \r\n

Fecha Termino:{(details.fechaTerminoContrato===null)?`VIGENTE`:moment(details.fechaTerminoContrato).format(\"DD/MM/YYYY\")}

\r\n \r\n
\r\n \r\n
\r\n )\r\n}","//export const fileNameValidationRegexp = /([A-Z]{1}[0-9]{2})([0-9]{7,8}-[0-9kK]{1})_([0-9]{8}).([a-zA-Z0-9]+)/gm\r\n\r\n//export const fileNameValidationRegexp = /([A-Z]{1}[0-9]{2}|[A-Z]{2}[0-9]{1})([0-9]{7,8}[-]{0,1}[0-9kK]{1})_([0-9]{8}).([a-zA-Z0-9]+)/gm\r\n\r\nexport const fileNameValidationRegexp = /([A-Z]{1}[0-9]{2}|LS)([0-9]{7,8})[-]{0,1}([0-9kK]{1})_([0-9]{8}).([a-zA-Z0-9]+)/gm","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { Container, Row, Col, Button } from 'react-bootstrap'\r\nimport styled from \"styled-components\";\r\nimport Modal from 'react-overlays/Modal'\r\nimport moment from 'moment'\r\nimport { fileNameValidationRegexp } from '../regexp'\r\n\r\nconst Backdrop = styled(\"div\")`\r\n position: fixed;\r\n z-index: 1040;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background-color: #000;\r\n opacity: 0.5;\r\n`;\r\n\r\nconst DeleteAttachmentModal = styled(Modal)`\r\n position: fixed;\r\n top: 10%;\r\n left: 25%;\r\n right: 25%;\r\n height:280px;\r\n z-index: 1040;\r\n border: 1px solid #e5e5e5;\r\n background-color: white;\r\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\r\n padding: 20px;\r\n`;\r\n\r\nconst DeleteAttachmentConfirmation = ({\r\n details,\r\n costCenters,\r\n documents,\r\n upload,\r\n HideModal,\r\n OnDelete\r\n})=>\r\n{\r\n const renderBackdrop = (props) => ;\r\n let parts = new RegExp(fileNameValidationRegexp).exec(upload.s3Url);\r\n let datePart = moment(parts[4],\"YYYYMMDD\")\r\n\r\n return (\r\n \r\n \r\n

¿Esta seguro que desea eliminar el documento?

\r\n \r\n Tipo de documento:\r\n {documents.find(doc=>doc.Codigo === upload.Codigo)?.Descripcion}\r\n \r\n \r\n Empresa:\r\n {upload.rexUser}\r\n \r\n \r\n Centro de Costo:\r\n {costCenters.find(coc=>coc.item === (''+upload.centroCosto))?.nombre}\r\n \r\n \r\n Nombre Empleado:\r\n {details.nombre} {details.apellidoPate} {details.apellidoMate}\r\n \r\n \r\n Rut Empleado:\r\n {upload.empleado}\r\n \r\n \r\n Fecha Documento:\r\n {[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"][datePart.month()]} {datePart.year()}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n details:state.userDetails.details,\r\n costCenters:state.costCenters.costCenters,\r\n documents:state.documents.documents\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteAttachmentConfirmation)","import { useState, useEffect } from 'react'\r\nimport { Container, Col, Row, Table, Nav, Button } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from '../../components/Navigator'\r\nimport { Link, useLocation, useHistory } from 'react-router-dom'\r\nimport { fetchUserDetails, deleteUserAttachment } from '../../store/actions/usersActions'\r\nimport { UserDetails } from '../../components/UserDetails'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faFilePdf, faCloudDownloadAlt, faTimes } from '@fortawesome/free-solid-svg-icons'\r\nimport { fileNameValidationRegexp } from '../../regexp'\r\nimport moment from 'moment'\r\nimport Spinner from '../SignInCheck'\r\nimport DeleteAttachmentConfirmation from '../../components/DeleteAttachmentConfirmation'\r\n\r\nconst DetallesPersonalLiquidaciones = ({\r\n fetchUserDetails,\r\n deleteUserAttachment,\r\n details,\r\n costCenters,\r\n documents,\r\n userTypeIsRut,\r\n canUploadDocuments,\r\n}) =>{\r\n let query = new URLSearchParams(useLocation().search)\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Contrato] = useState(query.get(\"Contrato\"))\r\n const history = useHistory()\r\n const [fetchingInProgress,setFetchingInProgress] = useState(true)\r\n const [uploadToDelete,setUploadToDelete] = useState(null)\r\n\r\n useEffect(()=>{\r\n fetchUserDetails({\r\n Rut,\r\n Contrato,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }})\r\n },[\r\n Rut,Contrato,\r\n fetchUserDetails,setFetchingInProgress])\r\n\r\n if(details===null) return null\r\n\r\n return (\r\n \r\n \r\n \r\n {!userTypeIsRut &&\r\n Volver\r\n }\r\n \r\n \r\n \r\n \r\n \r\n

Liquidaciones

\r\n \r\n \r\n {!userTypeIsRut && canUploadDocuments &&\r\n \r\n }\r\n \r\n
\r\n {fetchingInProgress &&\r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n {details.liquidaciones.map((upload,index)=>{\r\n let parts = new RegExp(fileNameValidationRegexp).exec(upload.s3Url);\r\n let datePart = moment(parts[4],\"YYYYMMDD\")\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n )}\r\n \r\n
{upload.rexUser}{costCenters.find(coc=>coc.item === (''+upload.centroCosto))?.nombre}{upload.empleado}{details.nombre} {details.apellidoPate} {details.apellidoMate}{documents.find(doc=>doc.Codigo === upload.Codigo)?.Descripcion}{[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"][datePart.month()]} {datePart.year()}Descargar{!userTypeIsRut && canUploadDocuments && {\r\n setUploadToDelete(upload)\r\n }}/>}
\r\n }\r\n {uploadToDelete!==null && \r\n {\r\n setUploadToDelete(null)\r\n }}\r\n OnDelete={()=>{\r\n setFetchingInProgress(true)\r\n deleteUserAttachment({\r\n Contrato,\r\n Rut:uploadToDelete.empleado,\r\n s3Url:uploadToDelete.s3Url,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }})\r\n setUploadToDelete(null)\r\n }}\r\n />}\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n details:state.userDetails.details,\r\n costCenters:state.costCenters.costCenters,\r\n documents:state.documents.documents,\r\n userTypeIsRut:state.auth.userType===\"rut\",\r\n canUploadDocuments:state.auth.canUploadDocuments,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchUserDetails,\r\n deleteUserAttachment,\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DetallesPersonalLiquidaciones)","import { useState, useEffect } from 'react'\r\nimport { Container, Col, Row, Table, Nav, Button, Dropdown } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from '../../components/Navigator'\r\nimport { Link, useLocation, useHistory } from 'react-router-dom'\r\nimport { fetchUserDetails, deleteUserAttachment } from '../../store/actions/usersActions'\r\nimport { UserDetails } from '../../components/UserDetails'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faFilePdf, faCloudDownloadAlt, faTimes } from '@fortawesome/free-solid-svg-icons'\r\nimport { fileNameValidationRegexp } from '../../regexp'\r\nimport moment from 'moment'\r\nimport Spinner from '../SignInCheck'\r\nimport DeleteAttachmentConfirmation from '../../components/DeleteAttachmentConfirmation'\r\nimport { CustomMenu, CustomToggle } from '../../components/CustomToggle'\r\n\r\nconst DetallesPersonalDocumentos = ({\r\n fetchUserDetails,\r\n deleteUserAttachment,\r\n details,\r\n costCenters,\r\n documents,\r\n userTypeIsRut,\r\n canUploadDocuments,\r\n}) =>{\r\n let query = new URLSearchParams(useLocation().search)\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Contrato] = useState(query.get(\"Contrato\"))\r\n const history = useHistory()\r\n const [fetchingInProgress,setFetchingInProgress] = useState(true)\r\n const [uploadToDelete,setUploadToDelete] = useState(null)\r\n const [codigosEnFiltro,setCodigosEnFiltro] = useState(new Set())\r\n\r\n useEffect(()=>{\r\n fetchUserDetails({\r\n Rut,\r\n Contrato,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }\r\n })\r\n },[\r\n Rut,Contrato,\r\n fetchUserDetails,setFetchingInProgress])\r\n\r\n const toggleCodigoEnFiltro = (doc) => {\r\n setCodigosEnFiltro(prevCodigos=>{\r\n let newSet = new Set(prevCodigos)\r\n if(newSet.has(doc.Codigo)){\r\n newSet.delete(doc.Codigo);\r\n } else {\r\n newSet.add(doc.Codigo);\r\n }\r\n return newSet;\r\n })\r\n }\r\n \r\n if(details===null) return null\r\n\r\n let FiltrosTitle = ''\r\n if(codigosEnFiltro.size===0) { FiltrosTitle = 'Todos' }\r\n if(codigosEnFiltro.size===1) { FiltrosTitle = `${codigosEnFiltro.values().next().value}` }\r\n if(codigosEnFiltro.size > 1) { FiltrosTitle = `${codigosEnFiltro.size} Seleccionados` }\r\n\r\n console.log(codigosEnFiltro.size)\r\n console.log(documents.length)\r\n\r\n return (\r\n \r\n \r\n \r\n {!userTypeIsRut &&\r\n Volver\r\n }\r\n \r\n \r\n \r\n \r\n \r\n

Documentos

\r\n \r\n \r\n {FiltrosTitle}\r\n \r\n \r\n {\r\n codigosEnFiltro.size < (new Set(documents.map(doc=>doc.Codigo))).size &&\r\n { \r\n setCodigosEnFiltro(new Set(documents.map(doc=>doc.Codigo)))\r\n }}>Todos \r\n }\r\n {\r\n codigosEnFiltro.size === (new Set(documents.map(doc=>doc.Codigo))).size &&\r\n { \r\n setCodigosEnFiltro(new Set())\r\n }}>Ninguno\r\n }\r\n {documents.map((doc,index)=>\r\n { \r\n toggleCodigoEnFiltro(doc)\r\n }}\r\n active={codigosEnFiltro.has(doc.Codigo)}\r\n >\r\n {`${doc.Codigo} - ${doc.Descripcion}`}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {!userTypeIsRut && canUploadDocuments &&\r\n \r\n }\r\n \r\n
\r\n {fetchingInProgress &&\r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n {details.documentos.filter(doc=>{\r\n return (codigosEnFiltro.size>0)?codigosEnFiltro.has(doc.Codigo):true\r\n }).map((upload,index)=>{\r\n let parts = new RegExp(fileNameValidationRegexp).exec(upload.s3Url);\r\n let datePart = moment(parts[4],\"YYYYMMDD\")\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n )}\r\n \r\n
{upload.rexUser}{costCenters.find(coc=>coc.item === (''+upload.centroCosto))?.nombre}{upload.empleado}{details.nombre} {details.apellidoPate} {details.apellidoMate}{documents.find(doc=>doc.Codigo === upload.Codigo)?.Descripcion}{[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"][datePart.month()]} {datePart.year()}Descargar{!userTypeIsRut && canUploadDocuments && {\r\n setUploadToDelete(upload)\r\n }}/>}
\r\n }\r\n {uploadToDelete!==null && \r\n {\r\n setUploadToDelete(null)\r\n }}\r\n OnDelete={()=>{\r\n setFetchingInProgress(true)\r\n deleteUserAttachment({\r\n Contrato,\r\n Rut:uploadToDelete.empleado,\r\n s3Url:uploadToDelete.s3Url,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }})\r\n setUploadToDelete(null)\r\n }}\r\n />}\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n details:state.userDetails.details,\r\n costCenters:state.costCenters.costCenters,\r\n documents:state.documents.documents,\r\n userTypeIsRut:state.auth.userType===\"rut\",\r\n canUploadDocuments:state.auth.canUploadDocuments,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchUserDetails,\r\n deleteUserAttachment,\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DetallesPersonalDocumentos)","import React from 'react';\r\nimport { Container, Col, Row, InputGroup, ProgressBar } from 'react-bootstrap';\r\n\r\nexport const UploadStageSelectCompany = ({\r\n OnSelection,\r\n Companies,\r\n ProgressValue,\r\n ProgressText,\r\n}) => {\r\n const pickCompany = (company) => {\r\n OnSelection(company);\r\n };\r\n return \r\n
\r\n

{ProgressText}

\r\n \r\n
\r\n
\r\n \r\n

Seleccione Empresa

\r\n
\r\n
\r\n \r\n {Companies.map((company, index) => {\r\n return (\r\n \r\n \r\n { pickCompany(company); }} />\r\n {company}\r\n \r\n \r\n );\r\n })}\r\n \r\n
;\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Container, Col, Row, ProgressBar, Dropdown } from 'react-bootstrap';\r\nimport { CustomMenu, CustomToggle } from './CustomToggle';\r\n\r\nexport const UploadStageSelectCostCenter = ({\r\n OnSelection,\r\n costCenters,\r\n ProgressValue,\r\n ProgressText,\r\n}) => {\r\n const [CentroCosto, setCentroCosto] = useState('');\r\n\r\n const pickCostCenter = (costCenter) => {\r\n setCentroCosto(costCenter);\r\n OnSelection(costCenter);\r\n };\r\n return \r\n
\r\n

{ProgressText}

\r\n \r\n
\r\n
\r\n \r\n

Seleccione Centro de Costo

\r\n
\r\n
\r\n \r\n \r\n \r\n {costCenters.find(costCenter => costCenter.item === CentroCosto)?.nombre || 'Seleccione'}\r\n \r\n \r\n {costCenters.map((costCenter, index) => {\r\n if (costCenter.item !== CentroCosto) {\r\n return { pickCostCenter(costCenter.item); }}>{costCenter.nombre};\r\n } else {\r\n return { pickCostCenter(costCenter.item); }} active>{costCenter.nombre};\r\n }\r\n })}\r\n \r\n \r\n \r\n
;\r\n};\r\n","import React, { useCallback } from 'react';\r\nimport { Container, Col, Row, Nav, ProgressBar } from 'react-bootstrap';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFilePdf, faCheckCircle, faTimesCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { fileNameValidationRegexp } from '../regexp'\r\n\r\nexport const UploadStageSelectFiles = ({\r\n documents,\r\n acceptedFileList, setAcceptedFileList,\r\n filesToAccept=null,\r\n filesToDeny=null,\r\n ProgressValue,\r\n ProgressText,\r\n Rut,\r\n}) => {\r\n const style = {\r\n flex: 1,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n padding: '20px',\r\n borderWidth: 2,\r\n borderRadius: 2,\r\n borderStyle: 'dashed',\r\n backgroundColor: '#fafafa',\r\n color: '#bdbdbd',\r\n outline: 'none',\r\n transition: 'border .24s ease-in-out',\r\n borderColor: '#2196f3',\r\n marginTop: '10px',\r\n marginBottom: '10px'\r\n };\r\n const location = useLocation();\r\n const filesValidator = (file) => {\r\n let parts = new RegExp(fileNameValidationRegexp).exec(file.name);\r\n if (parts === null || parts.length !== 6 || documents.find(doc => doc.Codigo === parts[1]) === undefined) {\r\n return { code: 'invalid-file', message: 'nombre de archivo invalido' };\r\n }\r\n if(Rut!==null && Rut !== `${parts[2]}-${parts[3]}`){\r\n return { code: 'invalid-file', message: 'Rut de archivo no permitido' };\r\n }\r\n if(filesToDeny!==null && filesToDeny.includes(parts[1])) {\r\n return { code: 'invalid-file', message: 'tipo de archivo no permitido' };\r\n }\r\n if(filesToAccept!==null && !filesToAccept.includes(parts[1])) {\r\n return { code: 'invalid-file', message: 'tipo de archivo no permitido' };\r\n }\r\n return null;\r\n };\r\n\r\n const onDrop = useCallback(acceptedFiles => {\r\n setAcceptedFileList([...acceptedFileList, ...acceptedFiles].filter(\r\n (file, index, array) => {\r\n return index === array.findIndex(fileInArray => fileInArray.path === file.path);\r\n }));\r\n }, [acceptedFileList, setAcceptedFileList]);\r\n\r\n const {\r\n //acceptedFiles,\r\n fileRejections, getRootProps, getInputProps } = useDropzone({\r\n validator: filesValidator,\r\n onDrop: onDrop\r\n });\r\n\r\n const filesAccepted = acceptedFileList.map((file, index) => {\r\n let parts = new RegExp(fileNameValidationRegexp).exec(file.name);\r\n return (\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n {parts[1]} - {documents.find(doc => doc.Codigo === parts[1]).Descripcion} - {parts[2]}-{parts[3]}\r\n \r\n \r\n \r\n \r\n \r\n {/* - {file.size} bytes */}\r\n
  • \r\n );\r\n }\r\n );\r\n\r\n const filesRejected = fileRejections.map(({ file, errors }, index) => (\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n {file.path}\r\n \r\n \r\n \r\n \r\n \r\n {/* - {file.size} bytes {errors.message}*/}\r\n
  • \r\n ));\r\n\r\n return (\r\n \r\n
    \r\n

    {ProgressText}

    \r\n \r\n
    \r\n
    \r\n \r\n

    Arrastre Documentos

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    Arrastre aqui

    \r\n
    \r\n
    \r\n \r\n {[``, `#/accepted`].includes(location.hash) &&\r\n }\r\n {[`#/rejected`].includes(location.hash) &&\r\n }\r\n
    \r\n );\r\n};\r\n","import { API_ENDPOINT } from '../store/actions/APIEndpoint'\r\nimport { fileNameValidationRegexp } from '../regexp'\r\n\r\nexport const getNewUploadBatchId = async () => {\r\n let query = `${API_ENDPOINT}/users/attachment/newbatchid`\r\n\r\n let { batchId } = await (await fetch(query)).json() \r\n return batchId\r\n}\r\n\r\nexport const uploadToS3 = async (\r\n file,\r\n url,\r\n addToResultQueue\r\n) => {\r\n let fileData = await new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsArrayBuffer(file)\r\n reader.onload = () => {\r\n if (!!reader.result) resolve(reader.result)\r\n else reject(Error(\"Failed converting file\"))\r\n }\r\n })\r\n\r\n let upload = await new Promise((resolve,reject)=>{\r\n let xhr = new XMLHttpRequest()\r\n xhr.onload = ()=>{\r\n resolve(xhr.status)\r\n }\r\n xhr.onerror = ()=>{\r\n reject(new TypeError(\"Network request failed\"))\r\n }\r\n xhr.open('PUT',url)\r\n xhr.setRequestHeader('Content-Type','application/octet-stream')\r\n xhr.send(fileData)\r\n })\r\n\r\n if(upload===200){\r\n console.log('upload success')\r\n addToResultQueue(file.name,{status:'success',message:'Correcto'})\r\n } else {\r\n console.log('upload fail')\r\n addToResultQueue(file.name,{status:'error',message:'algo salio mal(failed put method)'})\r\n }\r\n}\r\n\r\nexport const onUploadBegin = async ({\r\n batchId,\r\n file,\r\n company,\r\n costCenter,\r\n Contrato,\r\n addToUploadQueue,\r\n addUserToFile,\r\n addCostCenterToFile,\r\n addToResultQueue,\r\n}) => {\r\n let parts = new RegExp(fileNameValidationRegexp).exec(file.name)\r\n let Empresa = company\r\n let CentroCosto = costCenter\r\n let Rut = `${parts[2]}-${parts[3]}`\r\n let FileName = file.name\r\n addToUploadQueue(FileName)\r\n\r\n let query = `${API_ENDPOINT}/users/attachment/signedurl`\r\n let params = []\r\n params.push(`batchId=${batchId}`)\r\n if((Empresa || '')!=='') params.push(`Empresa=${Empresa}`)\r\n if((CentroCosto || '')!=='') params.push(`CentroCosto=${CentroCosto}`)\r\n if((Contrato || '')!=='') params.push(`Contrato=${Contrato}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((FileName || '')!=='') params.push(`FileName=${FileName}`)\r\n query = `${query}?${params.join('&')}`\r\n\r\n let result = await fetch(query)\r\n\r\n if(result.status===200){\r\n let uploadData = await result.json() \r\n \r\n let { error, user, url } = uploadData\r\n \r\n addUserToFile(FileName,user)\r\n \r\n if( error !== undefined){\r\n addToResultQueue(FileName,{status:'error',message:error})\r\n } else {\r\n if(CentroCosto===undefined){\r\n addCostCenterToFile(FileName,uploadData.CentroCosto)\r\n }\r\n await uploadToS3(\r\n file,\r\n url,\r\n addToResultQueue\r\n )\r\n }\r\n } else {\r\n addToResultQueue(FileName,{status:'error',message:`no se puede subir ${FileName} (signed url)`})\r\n }\r\n}","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Container, Col, Row, Nav, ProgressBar } from 'react-bootstrap';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFilePdf, faCheckCircle, faTimesCircle, faCircleNotch, faInbox } from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n onUploadBegin,\r\n getNewUploadBatchId\r\n } from '../utils/S3Upload';\r\nimport { fileNameValidationRegexp } from '../regexp'\r\n\r\nexport const UploadStageUploadFiles = ({\r\n documents,\r\n filesToUpload,\r\n company,\r\n costCenters,\r\n costCenter,\r\n Contrato,\r\n ProgressValue,\r\n ProgressText,\r\n}) => {\r\n const location = useLocation();\r\n const [filesUploadInQueue, setFilesUploadInQueue] = useState(new Set())\r\n const [filesUploadResults, setFilesUploadResults] = useState(new Map())\r\n const [filesUploadUser, setFilesUploadUser] = useState(new Map())\r\n const [doUpload, setDoUpload] = useState(true);\r\n const [filesUploadCostCenters, setFilesUploadCostCenters] = useState(new Map())\r\n\r\n const addFileToQueue = useCallback(fileName => {\r\n setFilesUploadInQueue(prevFiles => {\r\n let newSet = new Set(prevFiles)\r\n newSet.add(fileName);\r\n return newSet;\r\n });\r\n },[setFilesUploadInQueue]);\r\n const addUserToFile = useCallback((fileName, user) => {\r\n setFilesUploadUser(prevUploadUsers => {\r\n let newMap = new Map(prevUploadUsers);\r\n newMap.set(fileName, user)\r\n return newMap; \r\n })\r\n },[setFilesUploadUser])\r\n const addCostCenterToFile = useCallback((fileName, cocItem) => {\r\n setFilesUploadCostCenters(prevUploadCostCenters => {\r\n let newMap = new Map(prevUploadCostCenters);\r\n newMap.set(fileName, cocItem)\r\n return newMap; \r\n })\r\n },[setFilesUploadCostCenters])\r\n\r\n const addFileToUploadResult = useCallback((fileName, result) => {\r\n setFilesUploadResults(prevUploadResults => {\r\n let newMap = new Map(prevUploadResults);\r\n newMap.set(fileName, result)\r\n return newMap;\r\n });\r\n },[setFilesUploadResults]);\r\n\r\n useEffect(() => {\r\n const uploadDocuments = async (batchId) => {\r\n for(let i = 0 ; i < filesToUpload.length; i++){\r\n let file = filesToUpload[i]\r\n await onUploadBegin({\r\n batchId,\r\n file,\r\n company,\r\n costCenter,\r\n Contrato,\r\n addToUploadQueue:addFileToQueue,\r\n addUserToFile:addUserToFile,\r\n addCostCenterToFile:addCostCenterToFile,\r\n addToResultQueue:addFileToUploadResult\r\n });\r\n }\r\n };\r\n const getUploadBatchIdAndUpload = async () => {\r\n let batchId = await getNewUploadBatchId()\r\n uploadDocuments(batchId)\r\n }\r\n if (doUpload) {\r\n setDoUpload(false);\r\n getUploadBatchIdAndUpload()\r\n }\r\n }, [\r\n filesToUpload,\r\n company,\r\n costCenter,\r\n Contrato,\r\n addFileToQueue,\r\n addUserToFile,\r\n addCostCenterToFile,\r\n addFileToUploadResult,\r\n doUpload, setDoUpload\r\n ]);\r\n\r\n const toUploadRow = (file, index) => {\r\n let parts = new RegExp(fileNameValidationRegexp).exec(file.name);\r\n let userData = filesUploadUser.get(file.name)\r\n return (\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n {company}\r\n \r\n {costCenter !== undefined &&\r\n coc.item === costCenter)?.nombre || ''}>\r\n {costCenters.find(coc => coc.item === costCenter)?.nombre || ''}\r\n \r\n }\r\n {costCenter === undefined &&\r\n coc.item === filesUploadCostCenters.get(file.name))?.nombre || ''}>\r\n {costCenters.find(coc => coc.item === filesUploadCostCenters.get(file.name))?.nombre || ''}\r\n \r\n }\r\n \r\n {parts[2]}-{parts[3]}\r\n \r\n \r\n {[userData?.nombre||'',userData?.apellidoPate||'',userData?.apellidoMate||''].join(' ')}\r\n \r\n \r\n {parts[1]}\r\n \r\n doc.Codigo === parts[1]).Descripcion}>\r\n {documents.find(doc => doc.Codigo === parts[1]).Descripcion}\r\n \r\n {!filesUploadInQueue.has(file.name) && !filesUploadResults.has(file.name) &&\r\n \r\n Encolando\r\n \r\n }\r\n {filesUploadInQueue.has(file.name) && !filesUploadResults.has(file.name) &&\r\n \r\n Cargando\r\n \r\n }\r\n {filesUploadInQueue.has(file.name) && filesUploadResults.has(file.name) && \r\n \r\n {filesUploadResults.get(file.name).message}\r\n \r\n }\r\n \r\n {!filesUploadInQueue.has(file.name) && !filesUploadResults.has(file.name) && }\r\n {filesUploadInQueue.has(file.name) && !filesUploadResults.has(file.name) && }\r\n {filesUploadInQueue.has(file.name) && filesUploadResults.has(file.name) && filesUploadResults.get(file.name).status === 'success' && }\r\n {filesUploadInQueue.has(file.name) && filesUploadResults.has(file.name) && filesUploadResults.get(file.name).status !== 'success' && }\r\n \r\n \r\n
  • \r\n );\r\n };\r\n\r\n const totalFiles = filesToUpload.map(toUploadRow);\r\n const successfulFiles = filesToUpload.filter(file => {\r\n return (filesUploadResults.has(file.name) && filesUploadResults.get(file.name).status === 'success');\r\n }).map(toUploadRow);\r\n const failedFiles = filesToUpload.filter(file => {\r\n return (filesUploadResults.has(file.name) && filesUploadResults.get(file.name).status !== 'success');\r\n }).map(toUploadRow);\r\n\r\n return (\r\n \r\n
    \r\n

    {ProgressText}

    \r\n \r\n
    \r\n
    \r\n \r\n

    Resultado de Carga

    \r\n
    \r\n
    \r\n \r\n {[`#/upload/total`].includes(location.hash) &&\r\n }\r\n {[`#/upload/successful`].includes(location.hash) &&\r\n }\r\n {[`#/upload/failed`].includes(location.hash) &&\r\n }\r\n
    \r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Container, Col, Row, Button } from 'react-bootstrap'\r\n\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\n\r\nimport Navigator from '../../components/Navigator'\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { UploadStageSelectCompany } from '../../components/UploadStageSelectCompany';\r\nimport { UploadStageSelectCostCenter } from '../../components/UploadStageSelectCostCenter';\r\nimport { UploadStageSelectFiles } from '../../components/UploadStageSelectFiles';\r\nimport { UploadStageUploadFiles } from '../../components/UploadStageUploadFiles'\r\n\r\nconst UploadDocumentos = ({\r\n companies,\r\n costCenters,\r\n documents,\r\n}) => {\r\n let query = new URLSearchParams(useLocation().search)\r\n\r\n const [enablePrevButton,setEnablePrevButton] = useState(true)\r\n const [empresa] = useState(query.get(\"empresa\"))\r\n const [centroCosto] = useState(query.get(\"centroCosto\"))\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Contrato] = useState(query.get(\"Contrato\"))\r\n\r\n const [uploadStage,setUploadStage] = useState(1)\r\n const [companySelected,setCompanySelected] = useState('')\r\n const [costCenterSelected,setCostCenterSelected] = useState('')\r\n const [acceptedFileList,setAcceptedFileList] = useState([])\r\n const history = useHistory()\r\n\r\n useEffect(()=>{\r\n if(Contrato && empresa && companies.includes(empresa) && centroCosto && costCenters.find(COC=>COC.item===centroCosto)!==undefined && Rut){\r\n setCompanySelected(empresa)\r\n setCostCenterSelected(centroCosto)\r\n setUploadStage(3)\r\n setEnablePrevButton(false)\r\n }\r\n },[companies,costCenters,empresa,centroCosto,Rut,Contrato])\r\n\r\n const gotoPrev = () =>{\r\n if(uploadStage>1){\r\n setUploadStage(uploadStage-1)\r\n }\r\n }\r\n\r\n const gotoNext = () => {\r\n if(uploadStage===1){\r\n if(companySelected!==''){\r\n setUploadStage(2)\r\n }\r\n } else if(uploadStage===2){\r\n if(costCenterSelected!==''){\r\n history.push(`${history.location.search}#/accepted`)\r\n setUploadStage(3)\r\n }\r\n } else if(uploadStage===3){\r\n if(acceptedFileList.length>0){\r\n history.push(`${history.location.search}#/upload/total`)\r\n setUploadStage(4)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {uploadStage === 1 && \r\n {\r\n setCompanySelected(company)\r\n }}\r\n ProgressValue={25}\r\n ProgressText={\"Paso 1 de 3\"}\r\n />\r\n }\r\n {uploadStage === 2 &&\r\n {\r\n setCostCenterSelected(costCenter)\r\n }}\r\n ProgressValue={50}\r\n ProgressText={\"Paso 2 de 3\"}\r\n />\r\n }\r\n {uploadStage === 3 &&\r\n \r\n }\r\n {uploadStage === 4 &&\r\n \r\n }\r\n {[1,2,3].includes(uploadStage) &&\r\n
    \r\n \r\n \r\n \r\n \r\n {enablePrevButton && \r\n \r\n  \r\n \r\n \r\n }\r\n {!enablePrevButton && \r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n }\r\n {[4].includes(uploadStage) &&\r\n
    \r\n \r\n \r\n  \r\n {enablePrevButton && \r\n \r\n }\r\n {!enablePrevButton && \r\n \r\n }\r\n \r\n \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n companies:state.companies.companies,\r\n costCenters:state.costCenters.costCenters,\r\n documents:state.documents.documents,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadDocumentos)","import React, { useState, useEffect } from 'react'\r\nimport { Container, Col, Row, Button } from 'react-bootstrap'\r\n\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\n\r\nimport Navigator from '../../components/Navigator'\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { UploadStageSelectCompany } from '../../components/UploadStageSelectCompany';\r\nimport { UploadStageSelectFiles } from '../../components/UploadStageSelectFiles';\r\nimport { UploadStageUploadFiles } from '../../components/UploadStageUploadFiles'\r\n\r\nconst UploadDocumentos = ({\r\n companies,\r\n costCenters,\r\n documents,\r\n}) => {\r\n let query = new URLSearchParams(useLocation().search)\r\n\r\n const [enablePrevButton,setEnablePrevButton] = useState(true)\r\n const [empresa] = useState(query.get(\"empresa\"))\r\n const [centroCosto] = useState(query.get(\"centroCosto\"))\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Contrato] = useState(query.get(\"Contrato\"))\r\n\r\n const [uploadStage,setUploadStage] = useState(1)\r\n const [companySelected,setCompanySelected] = useState('')\r\n const [acceptedFileList,setAcceptedFileList] = useState([])\r\n const history = useHistory()\r\n\r\n useEffect(()=>{\r\n if(Contrato && empresa && companies.includes(empresa) && Rut){\r\n setCompanySelected(empresa)\r\n setUploadStage(2)\r\n setEnablePrevButton(false)\r\n }\r\n },[companies,empresa,Rut,Contrato])\r\n\r\n const gotoPrev = () =>{\r\n if(uploadStage>1){\r\n setUploadStage(uploadStage-1)\r\n }\r\n }\r\n\r\n const gotoNext = () => {\r\n if(uploadStage===1){\r\n if(companySelected!==''){\r\n setUploadStage(2)\r\n }\r\n } else if(uploadStage===2){\r\n if(acceptedFileList.length>0){\r\n history.push(`${history.location.search}#/upload/total`)\r\n setUploadStage(3)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {uploadStage === 1 && \r\n {\r\n setCompanySelected(company)\r\n }}\r\n ProgressValue={33}\r\n ProgressText={\"Paso 1 de 2\"}\r\n />\r\n }\r\n {uploadStage === 2 &&\r\n \r\n }\r\n {uploadStage === 3 &&\r\n \r\n }\r\n {[1,2].includes(uploadStage) &&\r\n
    \r\n \r\n \r\n \r\n \r\n {enablePrevButton && \r\n \r\n  \r\n \r\n \r\n }\r\n {!enablePrevButton && \r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n }\r\n {[3].includes(uploadStage) &&\r\n
    \r\n \r\n \r\n  \r\n {enablePrevButton && \r\n \r\n }\r\n {!enablePrevButton && \r\n \r\n }\r\n \r\n \r\n
    \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n companies:state.companies.companies,\r\n costCenters:state.costCenters.costCenters,\r\n documents:state.documents.documents,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadDocumentos)","import React from 'react'\r\nimport { Container, Row, Col, Button, Card } from 'react-bootstrap'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from '../../components/Navigator'\r\n\r\nconst ReporteCard = ({numItems,text,onClick}) =>\r\n\r\n \r\n {numItems}\r\n {text}\r\n \r\n \r\n\r\n\r\nconst PanelConfiguracion = () => {\r\n const history = useHistory()\r\n\r\n return (\r\n \r\n \r\n \r\n

    Mantenedores

    \r\n
    \r\n \r\n {\r\n history.push(`/configuracion/documentos`)\r\n }}/>\r\n \r\n \r\n

    Usuarios

    \r\n
    \r\n \r\n {\r\n history.push(`/configuracion/usuarios`)\r\n }}/>\r\n \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PanelConfiguracion)","import { API_ENDPOINT } from './APIEndpoint'\r\nimport { \r\n SET_COST_CENTERS,\r\n SET_COMPANIES,\r\n SET_REGIONS,\r\n SET_SINDICATOS,\r\n SET_DOCUMENTS,\r\n SET_CONFIGURACION_USUARIOS,\r\n} from './actionTypes'\r\n\r\nexport const fetchCompanies = () => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/companies`\r\n let companies = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).json()\r\n dispatch({\r\n type:SET_COMPANIES,companies\r\n })\r\n}\r\n\r\nexport const fetchCostCenters = () => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/costcenters`\r\n let costCenters = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).json()\r\n dispatch({\r\n type:SET_COST_CENTERS,costCenters\r\n })\r\n}\r\n\r\nexport const fetchRegions = () => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/regions`\r\n let regions = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).json()\r\n dispatch({\r\n type:SET_REGIONS,regions\r\n })\r\n}\r\n\r\nexport const fetchSindicatos = () => async (dispatch) => {\r\n let query = `${API_ENDPOINT}/sindicatos`\r\n let sindicatos = await (await fetch(query)).json()\r\n dispatch({\r\n type:SET_SINDICATOS,sindicatos\r\n })\r\n}\r\n\r\nexport const fetchDocuments = () => async (dispatch) => {\r\n let query = `${API_ENDPOINT}/documents`\r\n let documents = await (await fetch(query)).json()\r\n dispatch({\r\n type:SET_DOCUMENTS,documents\r\n })\r\n}\r\n\r\nexport const editDocument = ({Codigo,Descripcion,Obligatorio}) => async (dispatch) => {\r\n await fetch(`${API_ENDPOINT}/documents/edit`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({Codigo,Descripcion,Obligatorio})\r\n })\r\n dispatch(fetchDocuments())\r\n}\r\n\r\nexport const createDocument = ({Codigo,Descripcion,Obligatorio}) => async (dispatch) => {\r\n await fetch(`${API_ENDPOINT}/documents/create`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({Codigo,Descripcion,Obligatorio})\r\n })\r\n dispatch(fetchDocuments())\r\n}\r\n\r\nexport const deleteDocument = ({Codigo}) => async (dispatch) => {\r\n await fetch(`${API_ENDPOINT}/documents/delete`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({Codigo})\r\n })\r\n dispatch(fetchDocuments())\r\n}\r\n\r\nexport const fetchConfiguracionUsuarios = () => async (dispatch) => {\r\n let query = `${API_ENDPOINT}/configuration/users`\r\n let usuarios = await (await fetch(query)).json()\r\n dispatch({type:SET_CONFIGURACION_USUARIOS,usuarios})\r\n}\r\n\r\nexport const createUsuario = ({Correo,Nombre,Apellido,TipoUsuario,Empresas,Regiones,CentrosCosto,CanUploadDocuments}) => async (dispatch) => {\r\n await fetch(`${API_ENDPOINT}/configuration/users/create`,{\r\n method:'POST',\r\n headers: { \"Content-Type\":\"application/json\" },\r\n body: JSON.stringify({Correo,Nombre,Apellido,TipoUsuario,Empresas,Regiones,CentrosCosto,CanUploadDocuments})\r\n })\r\n dispatch(fetchConfiguracionUsuarios())\r\n}\r\n\r\nexport const deleteUsuario = ({Correo}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n\r\n try{\r\n await fetch(`${API_ENDPOINT}/configuration/users/delete`,{\r\n method:'POST',\r\n headers: { \r\n \"Content-Type\":\"application/json\",\r\n Authorization:token\r\n },\r\n body: JSON.stringify({Correo})\r\n })\r\n }catch(error){\r\n console.log(error)\r\n }\r\n dispatch(fetchConfiguracionUsuarios())\r\n}\r\n\r\nexport const editUsuario = ({\r\n username,\r\n nombre,\r\n apellido,\r\n password,\r\n empresas,\r\n regiones,\r\n centrosCosto,\r\n CanUploadDocuments,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n\r\n try{\r\n await fetch(`${API_ENDPOINT}/configuration/users/update`,{\r\n method:'POST',\r\n headers: { \r\n \"Content-Type\":\"application/json\",\r\n Authorization:token\r\n },\r\n body: JSON.stringify({\r\n Correo:username,\r\n Nombre:nombre,\r\n Apellido:apellido,\r\n Pass:password,\r\n CanUploadDocuments,\r\n Empresas:empresas.length>0?empresas:undefined,\r\n Regiones:regiones.length>0?regiones:undefined,\r\n CentrosCosto:centrosCosto.length>0?centrosCosto:undefined\r\n })\r\n })\r\n }catch(error){\r\n console.log(error)\r\n }\r\n dispatch(fetchConfiguracionUsuarios())\r\n}\r\n\r\n\r\nexport const fetchExecutiveUserConfiguration = ({UserName,OnFetchComplete}) => async () => {\r\n let query = `${API_ENDPOINT}/configuration/executive?UserName=${UserName}`\r\n OnFetchComplete(await (await fetch(query)).json())\r\n}","import React, { useState } from 'react'\r\nimport { Container, Row, Col, Button, FormControl, InputGroup } from 'react-bootstrap'\r\nimport styled from \"styled-components\";\r\nimport Modal from 'react-overlays/Modal'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from '../../components/Navigator'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheckCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n fetchDocuments,\r\n createDocument,\r\n editDocument,\r\n deleteDocument,\r\n} from '../../store/actions/mantenedoresActions'\r\n\r\nconst Backdrop = styled(\"div\")`\r\n position: fixed;\r\n z-index: 1040;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background-color: #000;\r\n opacity: 0.5;\r\n`;\r\n\r\n// we use some pseudo random coords so nested modals\r\n// don't sit right on top of each other.\r\nconst PositionedModal = styled(Modal)`\r\n position: fixed;\r\n top: 10%;\r\n left: 25%;\r\n right: 25%;\r\n height:470px;\r\n z-index: 1040;\r\n border: 1px solid #e5e5e5;\r\n background-color: white;\r\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\r\n padding: 20px;\r\n`;\r\n\r\nconst NuevoDocumentoModal = ({\r\n setNuevoDocumento,\r\n createDocument,\r\n}) => {\r\n const renderBackdrop = (props) => ;\r\n const [Codigo,setCodigo] = useState('')\r\n const [Descripcion,setDescripcion] = useState('')\r\n const [Obligatorio,setObligatorio] = useState('')\r\n const SubmitChange = async()=>{\r\n createDocument({\r\n Codigo:Codigo,\r\n Descripcion:Descripcion,\r\n Obligatorio:Obligatorio,\r\n })\r\n setNuevoDocumento(false)\r\n }\r\n return (\r\n setNuevoDocumento(false)}\r\n renderBackdrop={renderBackdrop}\r\n aria-labelledby=\"modal-label\"\r\n >\r\n \r\n

    Nuevo Tipo de Documento

    \r\n

    Codigo

    \r\n setCodigo(e.target.value)}\r\n value={Codigo}\r\n />\r\n

    Nombre de Documento

    \r\n setDescripcion(e.target.value)}\r\n value={Descripcion}\r\n />\r\n \r\n \r\n { setObligatorio(!Obligatorio); }}/>\r\n Obligatorio\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst EditDocumentoModal = ({\r\n documento,\r\n setDocumento,\r\n editDocument,\r\n}) => {\r\n const renderBackdrop = (props) => ;\r\n const [Descripcion,setDescripcion] = useState(documento.Descripcion)\r\n const [Obligatorio,setObligatorio] = useState(documento.Obligatorio)\r\n const SubmitChange = async()=>{\r\n editDocument({\r\n Codigo:documento.Codigo,\r\n Descripcion:Descripcion,\r\n Obligatorio:Obligatorio,\r\n })\r\n setDocumento(null)\r\n }\r\n return (\r\n setDocumento(null)}\r\n renderBackdrop={renderBackdrop}\r\n aria-labelledby=\"modal-label\"\r\n >\r\n \r\n

    Editar Tipo de Documento

    \r\n

    Codigo

    \r\n \r\n

    Nombre de Documento

    \r\n setDescripcion(e.target.value)}\r\n value={Descripcion}\r\n />\r\n \r\n \r\n { setObligatorio(!Obligatorio); }}/>\r\n Obligatorio\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst DeleteDocumentoModal = ({\r\n documento,\r\n setDocumento,\r\n deleteDocument,\r\n}) => {\r\n const renderBackdrop = (props) => ;\r\n const SubmitChange = async()=>{\r\n deleteDocument({\r\n Codigo:documento.Codigo\r\n })\r\n setDocumento(null)\r\n }\r\n return (\r\n setDocumento(null)}\r\n renderBackdrop={renderBackdrop}\r\n aria-labelledby=\"modal-label\"\r\n >\r\n \r\n

    Eliminar Tipo de Documento

    \r\n

    Codigo

    \r\n \r\n

    Nombre de Documento

    \r\n \r\n \r\n \r\n \r\n Obligatorio\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst MantenedorDocumentos = ({\r\n documentos,\r\n fetchDocuments,\r\n createDocument,\r\n editDocument,\r\n deleteDocument, \r\n}) => {\r\n const [filtro,setFiltro] = useState('')\r\n const [documentoSeleccionado,setDocumentoSeleccionado] = useState(null)\r\n const [nuevoDocumento,setNuevoDocumento] = useState(false)\r\n const [documentoEliminar,setDocumentoEliminar] = useState(null)\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n

    Mantenedor de tipo de Documentos

    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n setFiltro(e.target.value)}\r\n value={filtro}\r\n />\r\n \r\n {documentos.filter(documento=>{\r\n if(filtro==='') return true\r\n return (documento.Codigo.includes(filtro) || documento.Descripcion.includes(filtro))\r\n }).map((documento,index)=>{\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {documento.Codigo}\r\n \r\n \r\n {documento.Descripcion}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n {nuevoDocumento && \r\n \r\n }\r\n {documentoSeleccionado!==null && \r\n }\r\n {documentoEliminar!==null && \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n documentos:state.documents.documents\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchDocuments,\r\n createDocument,\r\n editDocument,\r\n deleteDocument,\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MantenedorDocumentos)","import React, { useState, useEffect } from 'react'\r\nimport { Container, Row, Col, Button, FormControl, InputGroup, Form, DropdownButton, Dropdown } from 'react-bootstrap'\r\nimport styled from \"styled-components\";\r\nimport Modal from 'react-overlays/Modal'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from '../../components/Navigator'\r\nimport { CustomToggle, CustomMenu } from '../../components/CustomToggle'\r\n\r\nimport {\r\n fetchConfiguracionUsuarios,\r\n createUsuario,\r\n deleteUsuario,\r\n editUsuario,\r\n fetchExecutiveUserConfiguration,\r\n} from '../../store/actions/mantenedoresActions'\r\n\r\nconst Backdrop = styled(\"div\")`\r\n position: fixed;\r\n z-index: 1040;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background-color: #000;\r\n opacity: 0.5;\r\n`;\r\n\r\n// we use some pseudo random coords so nested modals\r\n// don't sit right on top of each other.\r\nconst PositionedModal = styled(Modal)`\r\n position: fixed;\r\n top: 10%;\r\n left: 25%;\r\n right: 25%;\r\n height:510px;\r\n z-index: 1040;\r\n border: 1px solid #e5e5e5;\r\n background-color: white;\r\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\r\n padding: 20px;\r\n`;\r\n\r\nconst MiddlePositionedModal = styled(Modal)`\r\n position: fixed;\r\n top: 10%;\r\n left: 25%;\r\n right: 25%;\r\n height:440px;\r\n z-index: 1040;\r\n border: 1px solid #e5e5e5;\r\n background-color: white;\r\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\r\n padding: 20px;\r\n`;\r\n\r\n// we use some pseudo random coords so nested modals\r\n// don't sit right on top of each other.\r\nconst SmallPositionedModal = styled(Modal)`\r\n position: fixed;\r\n top: 10%;\r\n left: 25%;\r\n right: 25%;\r\n height:220px;\r\n z-index: 1040;\r\n border: 1px solid #e5e5e5;\r\n background-color: white;\r\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\r\n padding: 20px;\r\n`;\r\n\r\nlet userTypes = {\r\n \"Rut\":\"rut\",\r\n \"Ejecutivo\":\"exec\",\r\n \"Cliente\":\"client\",\r\n \"Administrador\":\"admin\"\r\n}\r\n\r\nconst NuevoUsuarioModal = ({\r\n //actions\r\n HideModal,\r\n CreateUsuario,\r\n OnNext,\r\n //data\r\n Correo,setCorreo,\r\n Nombre,setNombre,\r\n Apellido,setApellido,\r\n TipoUsuario,setTipoUsuario,\r\n CanUploadDocuments,setCanUploadDocuments\r\n}) => {\r\n const renderBackdrop = (props) => ;\r\n\r\n const SubmitChange = async()=>{\r\n CreateUsuario()\r\n HideModal()\r\n }\r\n let disabled = (Correo === '' || Nombre ==='' || Apellido === '')\r\n return (\r\n \r\n \r\n

    Nuevo Usuario

    \r\n

    Correo

    \r\n setCorreo(e.target.value)}\r\n value={Correo}\r\n />\r\n

    Nombre y Apellido

    \r\n \r\n \r\n setNombre(e.target.value)}\r\n value={Nombre}\r\n />\r\n \r\n \r\n setApellido(e.target.value)}\r\n value={Apellido}\r\n />\r\n \r\n \r\n \r\n \r\n Tipo Usuario\r\n \r\n {setTipoUsuario(\"Ejecutivo\")}}>Ejecutivo\r\n {setTipoUsuario(\"Cliente\");setCanUploadDocuments(false)}}>Cliente\r\n {setTipoUsuario(\"Administrador\")}}>Administrador\r\n \r\n \r\n \r\n {['Ejecutivo'].includes(TipoUsuario) &&\r\n \r\n \r\n \r\n { \r\n setCanUploadDocuments(!CanUploadDocuments)\r\n }}/>\r\n Puede Subir Documentos\r\n \r\n \r\n \r\n }\r\n {['Administrador'].includes(TipoUsuario) &&\r\n \r\n \r\n \r\n }\r\n {['Ejecutivo','Cliente'].includes(TipoUsuario) &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst NuevoUsuarioEmpresaModal = ({\r\n //actions\r\n HideModal,\r\n OnNext,\r\n //for selection\r\n companies,\r\n //data\r\n Empresas,setEmpresas,\r\n}) => {\r\n const renderBackdrop = (props) => ;\r\n\r\n let disabled = (Empresas.length === 0)\r\n let toggleEmpresa = (empresaToToggle)=>{\r\n let empresaIndex = Empresas.indexOf(empresaToToggle)\r\n if(empresaIndex===-1){\r\n setEmpresas([...Empresas,empresaToToggle])\r\n } else {\r\n setEmpresas([...Empresas].filter((_,index)=>index!==empresaIndex))\r\n }\r\n }\r\n let EmpresasTitle = ''\r\n if(Empresas.length===0) { EmpresasTitle = 'Seleccione Empresas' }\r\n if(Empresas.length===1) { EmpresasTitle = Empresas[0] }\r\n if(Empresas.length > 1) { EmpresasTitle = `${Empresas.length} Empresas` }\r\n\r\n return (\r\n \r\n \r\n

    Seleccionar Empresa

    \r\n \r\n \r\n Empresas\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n {\r\n Empresas.length { setEmpresas(companies) }}>Todas \r\n }\r\n {\r\n Empresas.length === companies.length &&\r\n { setEmpresas([]) }}>Ninguna\r\n }\r\n {companies.map((empresa,index)=>\r\n { toggleEmpresa(empresa) }} active={(Empresas.indexOf(empresa)!==-1)}>{empresa}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst NuevoUsuarioRegionesModal = ({\r\n //actions\r\n HideModal,\r\n OnNext,\r\n //for selection\r\n regions,\r\n //data\r\n Regiones,setRegiones,\r\n}) => {\r\n const renderBackdrop = (props) => ;\r\n\r\n let disabled = (Regiones.length === 0)\r\n let toggleRegion = (regionToToggle)=>{\r\n let regionIndex = Regiones.indexOf(regionToToggle)\r\n if(regionIndex===-1){\r\n setRegiones([...Regiones,regionToToggle])\r\n } else {\r\n setRegiones([...Regiones].filter((_,index)=>index!==regionIndex))\r\n }\r\n }\r\n let RegionesTitle = ''\r\n if(Regiones.length===0) { RegionesTitle = 'Seleccione Region' }\r\n if(Regiones.length===1) { RegionesTitle = regions.find(region => region.id === Regiones[0])?.nombre || `Region ${Regiones[0]}` }\r\n if(Regiones.length > 1) { RegionesTitle = `${Regiones.length} Regiones` }\r\n\r\n return (\r\n \r\n \r\n

    Seleccionar Regiones

    \r\n \r\n \r\n Regiones\r\n \r\n \r\n {RegionesTitle}\r\n \r\n \r\n {\r\n Regiones.length { setRegiones(regions.map(({id})=>id)) }}>Todas \r\n }\r\n {\r\n Regiones.length === regions.length &&\r\n { setRegiones([]) }}>Ninguna\r\n }\r\n {regions.map((region)=>{\r\n if(Regiones.indexOf(region.id)===-1){\r\n return { toggleRegion(region.id) }}>{region.nombre}\r\n } else {\r\n return { toggleRegion(region.id) }} active>{region.nombre}\r\n }\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst NuevoUsuarioCentrosCostoModal = ({\r\n //actions\r\n HideModal,\r\n CreateUsuario,\r\n //for selection\r\n costCenters,\r\n //data\r\n CentrosCosto,setCentrosCosto,\r\n}) => {\r\n const SubmitChange = async () => {\r\n CreateUsuario()\r\n HideModal()\r\n }\r\n const renderBackdrop = (props) => ;\r\n\r\n let disabled = (CentrosCosto.length === 0)\r\n let toggleCentrosDeCostos = (costCenterToToggle)=>{\r\n let costCenterIndex = CentrosCosto.indexOf(costCenterToToggle)\r\n if(costCenterIndex===-1){\r\n setCentrosCosto([...CentrosCosto,costCenterToToggle])\r\n } else {\r\n setCentrosCosto([...CentrosCosto].filter((_,index)=>index!==costCenterIndex))\r\n }\r\n }\r\n let CentrosCostoTitle = ''\r\n if(CentrosCosto.length===0) { CentrosCostoTitle = 'Seleccione Centros de Costo' }\r\n if(CentrosCosto.length===1) { CentrosCostoTitle = costCenters.find(costCenter => costCenter.item === CentrosCosto[0])?.nombre || `Centro Costo ${CentrosCosto[0]}` }\r\n if(CentrosCosto.length > 1) { CentrosCostoTitle = `${CentrosCosto.length} Centros de Costo` }\r\n\r\n return (\r\n \r\n \r\n

    Seleccionar Centros de Costo

    \r\n \r\n \r\n Centros de Costo\r\n \r\n \r\n {CentrosCostoTitle}\r\n \r\n \r\n {\r\n CentrosCosto.length < costCenters.length &&\r\n { setCentrosCosto(costCenters.map(({item})=>item)) }}>Todas \r\n }\r\n {\r\n CentrosCosto.length === costCenters.length &&\r\n { setCentrosCosto([]) }}>Ninguna\r\n }\r\n {costCenters.map((costCenter,index)=>{\r\n if(CentrosCosto.indexOf(costCenter.item)===-1){\r\n return { toggleCentrosDeCostos(costCenter.item) }}>{costCenter.nombre}\r\n } else {\r\n return { toggleCentrosDeCostos(costCenter.item) }} active>{costCenter.nombre}\r\n }\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst DeleteUsuarioModal = ({\r\n //actions\r\n HideModal,\r\n\r\n user,\r\n deleteUsuario\r\n}) => {\r\n const SubmitChange = async () => {\r\n deleteUsuario()\r\n HideModal()\r\n }\r\n const renderBackdrop = (props) => ;\r\n\r\n return (\r\n \r\n \r\n

    Eliminacion de Cuenta

    \r\n \r\n \r\n \r\n Esta seguro de eliminar la cuenta\r\n
    \r\n {user.username}\r\n
    \r\n {user.nombre} {user.apellido}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst EditUsuarioModal = ({\r\n //actions\r\n HideModal,\r\n\r\n companies,\r\n regions,\r\n costCenters,\r\n\r\n fetchExecutiveUserConfiguration,\r\n\r\n user,\r\n editUsuario\r\n}) => {\r\n const SubmitChange = async () => {\r\n editUsuario({\r\n username:user.username,\r\n nombre:nombreUsuario,\r\n apellido:apellidoUsuario,\r\n password:passwordUsuario,\r\n empresas:empresasUsuario,\r\n regiones:regionesUsuario,\r\n centrosCosto:centrosCostoUsuario,\r\n CanUploadDocuments:canUploadDocuments,\r\n })\r\n HideModal()\r\n }\r\n\r\n const renderBackdrop = (props) => ;\r\n\r\n const [nombreUsuario,setNombreUsuario] = useState(user.nombre)\r\n const [apellidoUsuario,setApellidoUsuario] = useState(user.apellido)\r\n const [createNewPassword,setCreateNewPassword] = useState(false)\r\n const [passwordUsuario,setPasswordUsuario] = useState('')\r\n const [canUploadDocuments,setCanUploadDocuments] = useState(user.canUploadDocuments)\r\n\r\n const [empresasUsuario,setEmpresasUsuario] = useState([])\r\n const [regionesUsuario,setRegionesUsuario] = useState([])\r\n const [centrosCostoUsuario,setCentrosCostoUsuario] = useState([])\r\n\r\n const [empresasChanged,setEmpresasChanged] = useState(false)\r\n const [regionesChanged,setRegionesChanged] = useState(false)\r\n const [centrosCostoChanged,setCentrosCostoChanged] = useState(false)\r\n\r\n useEffect(()=>{\r\n if([\"exec\",\"client\"].includes(user.userType)){\r\n fetchExecutiveUserConfiguration({UserName:user.username,OnFetchComplete:(userData)=>{\r\n setEmpresasUsuario([...userData.empresas])\r\n setRegionesUsuario([...userData.regiones])\r\n setCentrosCostoUsuario([...userData.centrosCosto])\r\n }})\r\n }\r\n },[setEmpresasUsuario,setRegionesUsuario,setCentrosCostoUsuario,fetchExecutiveUserConfiguration,user])\r\n\r\n let toggleEmpresa = (empresaToToggle)=>{\r\n setEmpresasChanged(true)\r\n let empresaIndex = empresasUsuario.indexOf(empresaToToggle)\r\n if(empresaIndex===-1){\r\n setEmpresasUsuario([...empresasUsuario,empresaToToggle])\r\n } else {\r\n setEmpresasUsuario([...empresasUsuario].filter((_,index)=>index!==empresaIndex))\r\n }\r\n }\r\n\r\n let EmpresasTitle = ''\r\n if(empresasUsuario.length===0) { EmpresasTitle = 'Seleccione Empresas' }\r\n if(empresasUsuario.length===1) { EmpresasTitle = empresasUsuario[0] }\r\n if(empresasUsuario.length > 1) { EmpresasTitle = `${empresasUsuario.length} Empresas` }\r\n\r\n let toggleRegion = (regionToToggle)=>{\r\n setRegionesChanged(true)\r\n let regionIndex = regionesUsuario.indexOf(regionToToggle)\r\n if(regionIndex===-1){\r\n setRegionesUsuario([...regionesUsuario,regionToToggle])\r\n } else {\r\n setRegionesUsuario([...regionesUsuario].filter((_,index)=>index!==regionIndex))\r\n }\r\n }\r\n\r\n let RegionesTitle = ''\r\n if(regionesUsuario.length===0) { RegionesTitle = 'Seleccione Region' }\r\n if(regionesUsuario.length===1) { RegionesTitle = regions.find(region => region.id === regionesUsuario[0])?.nombre || `Region ${regionesUsuario[0]}` }\r\n if(regionesUsuario.length > 1) { RegionesTitle = `${regionesUsuario.length} Regiones` }\r\n\r\n let toggleCentrosDeCostos = (costCenterToToggle)=>{\r\n setCentrosCostoChanged(true)\r\n let costCenterIndex = centrosCostoUsuario.indexOf(costCenterToToggle)\r\n if(costCenterIndex===-1){\r\n setCentrosCostoUsuario([...centrosCostoUsuario,costCenterToToggle])\r\n } else {\r\n setCentrosCostoUsuario([...centrosCostoUsuario].filter((_,index)=>index!==costCenterIndex))\r\n }\r\n }\r\n let CentrosCostoTitle = ''\r\n if(centrosCostoUsuario.length===0) { CentrosCostoTitle = 'Seleccione Centros de Costo' }\r\n if(centrosCostoUsuario.length===1) { CentrosCostoTitle = costCenters.find(costCenter => costCenter.item === centrosCostoUsuario[0])?.nombre || `Centro Costo ${centrosCostoUsuario[0]}` }\r\n if(centrosCostoUsuario.length > 1) { CentrosCostoTitle = `${centrosCostoUsuario.length} Centros de Costo` }\r\n\r\n let editionEnabled = (\r\n nombreUsuario !== '' && \r\n apellidoUsuario !== '' && \r\n (apellidoUsuario !== user.apellido || nombreUsuario !== user.nombre)\r\n )\r\n editionEnabled |= (createNewPassword && passwordUsuario!=='')\r\n editionEnabled |= (empresasChanged || regionesChanged || centrosCostoChanged)\r\n if([\"exec\"].includes(user.userType)){\r\n editionEnabled |= (user.canUploadDocuments !== canUploadDocuments)\r\n }\r\n\r\n return (\r\n \r\n \r\n

    Edicion de Cuenta

    \r\n \r\n \r\n {user.username}\r\n \r\n \r\n

    Nombre y Apellido

    \r\n \r\n \r\n setNombreUsuario(e.target.value)}\r\n value={nombreUsuario}\r\n disabled={user.userType===\"rut\"}\r\n />\r\n \r\n \r\n setApellidoUsuario(e.target.value)}\r\n value={apellidoUsuario}\r\n disabled={user.userType===\"rut\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n { \r\n setCreateNewPassword(!createNewPassword); \r\n setPasswordUsuario('')\r\n }}/>\r\n Remplazar Contraseña\r\n \r\n \r\n \r\n \r\n setPasswordUsuario(e.target.value)}\r\n value={createNewPassword?passwordUsuario:''}\r\n disabled={!createNewPassword}\r\n />\r\n \r\n {user.userType===\"exec\" && \r\n \r\n \r\n \r\n { \r\n setCanUploadDocuments(!canUploadDocuments)\r\n }}/>\r\n Puede Subir Documentos\r\n \r\n \r\n \r\n }\r\n {[\"exec\",\"client\"].includes(user.userType) &&\r\n \r\n \r\n \r\n Empresas\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n {\r\n empresasUsuario.length { setEmpresasChanged(true);setEmpresasUsuario(companies) }}>Todas \r\n }\r\n {\r\n empresasUsuario.length === companies.length &&\r\n { setEmpresasChanged(true);setEmpresasUsuario([]) }}>Ninguna\r\n }\r\n {companies.map((empresa,index)=>\r\n { toggleEmpresa(empresa) }} active={(empresasUsuario.indexOf(empresa)!==-1)}>{empresa}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Regiones\r\n \r\n \r\n {RegionesTitle}\r\n \r\n \r\n {\r\n regionesUsuario.length { setRegionesChanged(true);setRegionesUsuario(regions.map(({id})=>id)) }}>Todas \r\n }\r\n {\r\n regionesUsuario.length === regions.length &&\r\n { setRegionesChanged(true);setRegionesUsuario([]) }}>Ninguna\r\n }\r\n {regions.map((region)=>\r\n { toggleRegion(region.id) }} active={(regionesUsuario.indexOf(region.id)!==-1)}>{region.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Centros de Costo\r\n \r\n \r\n {CentrosCostoTitle}\r\n \r\n \r\n {\r\n centrosCostoUsuario.length < costCenters.length &&\r\n { setCentrosCostoChanged(true);setCentrosCostoUsuario(costCenters.map(({item})=>item)) }}>Todas \r\n }\r\n {\r\n centrosCostoUsuario.length === costCenters.length &&\r\n { setCentrosCostoChanged(true);setCentrosCostoUsuario([]) }}>Ninguna\r\n }\r\n {costCenters.map((costCenter,index)=>\r\n { toggleCentrosDeCostos(costCenter.item) }} active={(centrosCostoUsuario.indexOf(costCenter.item)!==-1)}>{costCenter.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst MantenedorUsuarios = ({\r\n fetchConfiguracionUsuarios,\r\n fetchExecutiveUserConfiguration,\r\n createUsuario,\r\n deleteUsuario,\r\n editUsuario,\r\n\r\n usuarios,\r\n companies,\r\n regions,\r\n costCenters,\r\n}) => {\r\n const [filtro,setFiltro] = useState('')\r\n const [nuevoUsuario,setNuevoUsuario] = useState(false)\r\n const [nuevoUsuarioEmpresas,setNuevoUsuarioEmpresas] = useState(false)\r\n const [nuevoUsuarioRegiones,setNuevoUsuarioRegiones] = useState(false)\r\n const [nuevoUsuarioCentrosCosto,setNuevoUsuarioCentrosCosto] = useState(false)\r\n\r\n //new account\r\n const [Correo,setCorreo] = useState('')\r\n const [Nombre,setNombre] = useState('')\r\n const [Apellido,setApellido] = useState('')\r\n const [TipoUsuario,setTipoUsuario] = useState('Ejecutivo')\r\n const [Empresas,setEmpresas] = useState('')\r\n const [Regiones,setRegiones] = useState([])\r\n const [CentrosCosto,setCentrosCosto] = useState([])\r\n const [CanUploadDocuments,setCanUploadDocuments] = useState(false)\r\n\r\n //edit account\r\n const [userToEdit,setUserToEdit] = useState(null)\r\n //delete account\r\n const [userToDelete,setUserToDelete] = useState(null)\r\n\r\n /*\r\n const ResetNewAccountData = () => {\r\n setCorreo('')\r\n setNombre('')\r\n setApellido('')\r\n setTipoUsuario('Ejecutivo')\r\n setEmpresas([])\r\n setRegiones([])\r\n setCentrosCosto([])\r\n }*/\r\n\r\n const CreateUsuario = ()=>{\r\n if(['Ejecutivo','Cliente'].includes(TipoUsuario)){\r\n createUsuario({\r\n Correo,\r\n Nombre,\r\n Apellido,\r\n TipoUsuario:userTypes[TipoUsuario],\r\n Empresas,\r\n Regiones,\r\n CentrosCosto,\r\n CanUploadDocuments\r\n })\r\n } else if(TipoUsuario==='Administrador'){\r\n createUsuario({\r\n Correo,\r\n Nombre,\r\n Apellido,\r\n TipoUsuario:userTypes[TipoUsuario],\r\n CanUploadDocuments:true\r\n })\r\n }\r\n }\r\n\r\n const DeleteUsuario = ()=>{\r\n deleteUsuario({\r\n Correo:userToDelete.username\r\n })\r\n }\r\n\r\n useEffect(()=>{\r\n fetchConfiguracionUsuarios()\r\n },[fetchConfiguracionUsuarios])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n

    Usuarios

    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n setFiltro(e.target.value)}\r\n value={filtro}\r\n />\r\n \r\n {usuarios.filter(usuario=>{\r\n if(filtro==='') return true\r\n return (\r\n usuario.username.includes(filtro) ||\r\n usuario.nombre.includes(filtro) ||\r\n usuario.apellido.includes(filtro) || \r\n `${usuario.nombre} ${usuario.apellido}`.includes(filtro)\r\n )\r\n }).map((usuario,index)=>{\r\n return (\r\n \r\n \r\n {usuario.username}\r\n \r\n \r\n {usuario.nombre} {usuario.apellido}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })} \r\n {nuevoUsuario && \r\n {setNuevoUsuario(false)}}\r\n CreateUsuario={CreateUsuario}\r\n OnNext={()=>{\r\n setNuevoUsuario(false)\r\n setNuevoUsuarioEmpresas(true)\r\n }}\r\n\r\n Correo={Correo}\r\n setCorreo={setCorreo}\r\n Nombre={Nombre}\r\n setNombre={setNombre}\r\n Apellido={Apellido}\r\n setApellido={setApellido}\r\n TipoUsuario={TipoUsuario}\r\n setTipoUsuario={setTipoUsuario}\r\n CanUploadDocuments={CanUploadDocuments}\r\n setCanUploadDocuments={setCanUploadDocuments}\r\n />\r\n }\r\n {nuevoUsuarioEmpresas &&\r\n {setNuevoUsuarioEmpresas(false)}}\r\n OnNext={()=>{\r\n setNuevoUsuarioEmpresas(false)\r\n setNuevoUsuarioRegiones(true)\r\n }}\r\n\r\n companies={companies}\r\n Empresas={Empresas}\r\n setEmpresas={setEmpresas}\r\n />\r\n }\r\n {nuevoUsuarioRegiones &&\r\n {setNuevoUsuarioRegiones(false)}}\r\n OnNext={()=>{\r\n setNuevoUsuarioRegiones(false)\r\n setNuevoUsuarioCentrosCosto(true)\r\n }}\r\n\r\n regions={regions}\r\n Regiones={Regiones}\r\n setRegiones={setRegiones}\r\n />\r\n }\r\n {nuevoUsuarioCentrosCosto &&\r\n {setNuevoUsuarioCentrosCosto(false)}}\r\n CreateUsuario={CreateUsuario}\r\n\r\n costCenters={costCenters}\r\n CentrosCosto={CentrosCosto}\r\n setCentrosCosto={setCentrosCosto}\r\n />\r\n }\r\n {userToDelete!==null && \r\n {setUserToDelete(null)}}\r\n\r\n user={userToDelete}\r\n deleteUsuario={DeleteUsuario}\r\n />\r\n }\r\n {userToEdit!==null &&\r\n {setUserToEdit(null)}}\r\n\r\n companies={companies}\r\n regions={regions}\r\n costCenters={costCenters}\r\n\r\n fetchExecutiveUserConfiguration={fetchExecutiveUserConfiguration}\r\n\r\n user={userToEdit}\r\n editUsuario={editUsuario}\r\n />\r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n usuarios:state.configuracionUsuarios.usuarios,\r\n companies:state.companies.companies,\r\n regions:state.regions.regions,\r\n costCenters:state.costCenters.costCenters,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchConfiguracionUsuarios,\r\n createUsuario,\r\n deleteUsuario,\r\n editUsuario,\r\n fetchExecutiveUserConfiguration,\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MantenedorUsuarios)","import { API_ENDPOINT } from './APIEndpoint'\r\nimport {\r\n SET_REPORTS_SUMMARY,\r\n SET_REPORTS_USERS,\r\n RESET_REPORTS_USER,\r\n SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS,\r\n SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS\r\n} from './actionTypes'\r\nimport { signOut } from './authActions'\r\n\r\nexport const fetchReportsSummary = ({\r\n Empresas,\r\n OnLoadingComplete,\r\n OnLoadingError\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/summary`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(query,{headers:{Authorization:token}})\r\n if(response.status===200){\r\n let summary = await response.json()\r\n dispatch({type:SET_REPORTS_SUMMARY,...summary})\r\n } else if(response.status===403){\r\n OnLoadingError({error:\"No se pudo obtener\"})\r\n return\r\n } else if(response.status===503){\r\n OnLoadingError({error:\"No se pudo obtener\"})\r\n return\r\n }\r\n } catch(error){\r\n OnLoadingError({error:\"No se pudo obtener\"})\r\n return\r\n }\r\n OnLoadingComplete()\r\n}\r\n\r\nexport const resetReportsUsers = () => async (dispatch) =>{\r\n dispatch({type:RESET_REPORTS_USER})\r\n}\r\n\r\nexport const fetchActivesWithoutContract = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/active-without-contract`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchTerminatedWorkersWithoutTerminationDocument = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/terminated-workers-without-termination-document`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchWorkersWithoutAnyDocument = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/workers-without-any-document`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchWorkersWithLessThan6MonthlyPaymentDocuments = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/workers-with-less-than-6-monthly-payment-documents`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchWorkersWithoutLastMonthlyPaymentDocuments = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/workers-without-last-monthly-payment-documents`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchWorkersWithoutMonthlyPaymentDocument = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/workers-without-monthly-payment-document`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchReportsExportUrl = ({\r\n Report,\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/export`\r\n let params = []\r\n if((Report || '')!=='') params.push(`Report=${Report}`)\r\n if((Empresas || '')!=='') params.push(`Empresas=${Empresas}`)\r\n if((CentrosCosto || '')!=='') params.push(`CentrosCosto=${CentrosCosto}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if((Regiones || '')!=='') params.push(`Regiones=${Regiones}`)\r\n if((Sindicatos || '')!=='') params.push(`Sindicatos=${Sindicatos}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if((Estados || '')!=='') params.push(`Estados=${Estados}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let url = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).text()\r\n window.open(url)\r\n } catch(error){\r\n console.log(error)\r\n }\r\n}\r\n\r\nexport const setFiltrosReporteDocumentosPersonalizado = ({\r\n Estado,\r\n Condicion,\r\n Documentos,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaDocumento,\r\n FechaDocumento2\r\n}) => (dispatch) => {\r\n dispatch({\r\n type:SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS,\r\n Estado,\r\n Condicion,\r\n Documentos,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaDocumento,\r\n FechaDocumento2\r\n })\r\n}\r\n\r\nexport const fetchReporteDocumentosPersonalizado = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n FechaDocumento,\r\n FechaDocumento2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n Condicion,\r\n Documentos,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n\r\n let query = `${API_ENDPOINT}/reports/custom-documents-report`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if((FechaDocumento || '')!=='') params.push(`FechaDocumento=${FechaDocumento}`)\r\n if((FechaDocumento2 || '')!=='') params.push(`FechaDocumento2=${FechaDocumento2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n /*if((Condicion || '')!=='') */params.push(`Condicion=${Condicion}`)\r\n if(Documentos.length>0) params.push(`Documentos=${Documentos.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchReportsCustomDocumentsExportUrl = ({\r\n Report,\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n FechaDocumento,\r\n FechaDocumento2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n Condicion,\r\n Documentos,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/custom-documents-export`\r\n let params = []\r\n if((Report || '')!=='') params.push(`Report=${Report}`)\r\n if((Empresas || '')!=='') params.push(`Empresas=${Empresas}`)\r\n if((CentrosCosto || '')!=='') params.push(`CentrosCosto=${CentrosCosto}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if((FechaDocumento || '')!=='') params.push(`FechaDocumento=${FechaDocumento}`)\r\n if((FechaDocumento2 || '')!=='') params.push(`FechaDocumento2=${FechaDocumento2}`)\r\n if((Regiones || '')!=='') params.push(`Regiones=${Regiones}`)\r\n if((Sindicatos || '')!=='') params.push(`Sindicatos=${Sindicatos}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if((Estados || '')!=='') params.push(`Estados=${Estados}`)\r\n /*if((Condicion || '')!=='') */params.push(`Condicion=${Condicion}`)\r\n if((Documentos || '')!=='') params.push(`Documentos=${Documentos}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let url = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).text()\r\n window.open(url)\r\n } catch(error){\r\n console.log(error)\r\n }\r\n}\r\n\r\nexport const setFiltrosReporteLiquidacionesPersonalizado = ({\r\n Estado,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n}) => (dispatch) => {\r\n dispatch({\r\n type:SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS,\r\n Estado,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n })\r\n}\r\n\r\nexport const fetchReporteLiquidacionesPersonalizado = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n\r\n let query = `${API_ENDPOINT}/reports/custom-liquidaciones-report`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if(FechaTerminoSeleccionadoMonth!==null){\r\n params.push(`FechaTerminoSeleccionadoMonth=${FechaTerminoSeleccionadoMonth}`)\r\n }\r\n if(FechaTerminoSeleccionadoYear!==null){\r\n params.push(`FechaTerminoSeleccionadoYear=${FechaTerminoSeleccionadoYear}`)\r\n }\r\n /*if((Condicion || '')!=='') */params.push(`Condicion=${Condicion}`)\r\n /*if(Documentos.length>0) */params.push(`NumeroLiquidaciones=${NumeroLiquidaciones}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}\r\n\r\nexport const fetchReportsCustomLiquidacionesExportUrl = ({\r\n Report,\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/custom-liquidaciones-export`\r\n let params = []\r\n if((Report || '')!=='') params.push(`Report=${Report}`)\r\n if((Empresas || '')!=='') params.push(`Empresas=${Empresas}`)\r\n if((CentrosCosto || '')!=='') params.push(`CentrosCosto=${CentrosCosto}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if((Regiones || '')!=='') params.push(`Regiones=${Regiones}`)\r\n if((Sindicatos || '')!=='') params.push(`Sindicatos=${Sindicatos}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if((Estados || '')!=='') params.push(`Estados=${Estados}`)\r\n if(FechaTerminoSeleccionadoMonth!==null){\r\n params.push(`FechaTerminoSeleccionadoMonth=${FechaTerminoSeleccionadoMonth}`)\r\n }\r\n if(FechaTerminoSeleccionadoYear!==null){\r\n params.push(`FechaTerminoSeleccionadoYear=${FechaTerminoSeleccionadoYear}`)\r\n }\r\n /*if((Condicion || '')!=='') */params.push(`Condicion=${Condicion}`)\r\n /*if((Documentos || '')!=='') */params.push(`NumeroLiquidaciones=${NumeroLiquidaciones}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let url = await (await fetch(query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n })).text()\r\n window.open(url)\r\n } catch(error){\r\n console.log(error)\r\n }\r\n}\r\n\r\nexport const fetchWorkersWithoutVacationsDocument = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageNumber,\r\n PageSize,\r\n history,\r\n OnFetchComplete,\r\n}) => async (dispatch,getState) => {\r\n let state = getState()\r\n let { token } = state.auth\r\n let query = `${API_ENDPOINT}/reports/workers-without-vacations-document`\r\n let params = []\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((Rut || '')!=='') params.push(`Rut=${Rut}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n if((PageNumber || '')!=='') params.push(`PageNumber=${PageNumber}`)\r\n if((PageSize || '')!=='') params.push(`PageSize=${PageSize}`)\r\n query = `${query}?${params.join('&')}`\r\n try{\r\n let response = await fetch(\r\n query,{\r\n headers:{\r\n Authorization:token\r\n }\r\n }\r\n )\r\n if(response.status===200){\r\n let users = await response.json()\r\n dispatch({\r\n type:SET_REPORTS_USERS,\r\n employees:users.employees,\r\n totalPages:users.totalPages,\r\n TotalRecords: users.TotalRecords,\r\n StartRecord: users.StartRecord,\r\n currentPage:1,\r\n })\r\n OnFetchComplete()\r\n } else if(response.status===403){\r\n OnFetchComplete()\r\n localStorage.removeItem(\"docuus\")\r\n dispatch(signOut())\r\n history.replace(\"/\")\r\n }\r\n } catch(error){\r\n console.log(error)\r\n OnFetchComplete(error)\r\n }\r\n}","import React, { useState } from 'react'\r\nimport { useEffect } from 'react'\r\nimport { Container, Row, Col, Button, Card, Dropdown } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { useHistory } from 'react-router-dom'\r\nimport Navigator from '../../components/Navigator'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons'\r\nimport { CustomToggle, CustomMenu } from '../../components/CustomToggle'\r\nimport {\r\n fetchReportsSummary,\r\n resetReportsUsers\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReporteCard = ({numItems,text,onClick,loading,loadingError=false}) =>\r\n\r\n \r\n {!loadingError && {loading?:numItems}}\r\n { loadingError && No se pudo obtener}\r\n {text}\r\n \r\n \r\n\r\n\r\nconst PanelReportes = ({\r\n userType,\r\n companies,\r\n fetchReportsSummary,\r\n resetReportsUsers,\r\n activosSinContrato,\r\n terminadosSinFiniquito,\r\n sinDocumentos,\r\n menos6Liquidaciones,\r\n sinUltimaLiquidacion,\r\n sinLiquidaciones,\r\n sinVacaciones,\r\n}) => {\r\n const [Empresas,setEmpresas] = useState([])\r\n\r\n const [loading,setLoading] = useState(true)\r\n const [loadingError,setLoadingError] = useState(false)\r\n useEffect(()=>{\r\n if(Empresas.length>0){\r\n setLoading(true)\r\n fetchReportsSummary({\r\n Empresas,\r\n OnLoadingComplete:()=>{\r\n setLoading(false)\r\n setLoadingError(false)\r\n },\r\n OnLoadingError:(err)=>{\r\n console.log(err)\r\n setLoading(false)\r\n setLoadingError(true)\r\n }\r\n })\r\n }\r\n },[fetchReportsSummary,setLoading,setLoadingError,Empresas])\r\n\r\n useEffect(()=>{\r\n if(companies.length>0){\r\n setEmpresas([companies[0]])\r\n }\r\n },[companies,setEmpresas])\r\n\r\n const history = useHistory()\r\n const gotoReport = (link) => {\r\n resetReportsUsers()\r\n history.push(link)\r\n }\r\n\r\n let EmpresasTitle = ''\r\n if(Empresas.length===0) { EmpresasTitle = 'Todas' }\r\n if(Empresas.length===1) { EmpresasTitle = Empresas[0]}\r\n if(Empresas.length > 1) { EmpresasTitle = `${Empresas.length} Seleccionadas` }\r\n\r\n return (\r\n \r\n \r\n \r\n

    Reportes de Documentos

    \r\n {(companies||[]).length>0 && \r\n Empresa\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n { userType === \"admin\" &&\r\n Empresas.length < companies.length &&\r\n { setEmpresas(companies) }}>Todas \r\n }\r\n {companies.map((company,index)=>\r\n { setEmpresas([company]) }} active={(Empresas.indexOf(company)!==-1)}>{company}\r\n )}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
    \r\n \r\n {gotoReport(`/reports/trabajadores-activos-sin-contrato`)}} loadingError={loadingError}/>\r\n {gotoReport(`/reports/contratos-terminados-sin-finiquito`)}} loadingError={loadingError}/>\r\n {gotoReport(`/reports/trabajadores-sin-documentos`)}} loadingError={loadingError}/>\r\n \r\n \r\n

    Reportes de Liquidaciones

    \r\n \r\n
    \r\n \r\n {gotoReport(`/reports/trabajadores-menos-6-liquidaciones`)}} loadingError={loadingError}/>\r\n {gotoReport(`/reports/trabajadores-sin-ultima-liquidacion`)}} loadingError={loadingError}/>\r\n {gotoReport(`/reports/trabajadores-sin-ninguna-liquidacion`)}} loadingError={loadingError}/>\r\n \r\n \r\n

    Reportes de Vacaciones

    \r\n
    \r\n \r\n {gotoReport(`/reports/trabajadores-sin-vacaciones`)}} loadingError={loadingError}/>\r\n \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n userType:state.auth.userType,\r\n companies:state.companies.companies,\r\n activosSinContrato:state.reportsSummary.activosSinContrato,\r\n terminadosSinFiniquito:state.reportsSummary.terminadosSinFiniquito,\r\n sinDocumentos:state.reportsSummary.sinDocumentos,\r\n menos6Liquidaciones:state.reportsSummary.menos6Liquidaciones,\r\n sinUltimaLiquidacion:state.reportsSummary.sinUltimaLiquidacion,\r\n sinLiquidaciones:state.reportsSummary.sinLiquidaciones,\r\n sinVacaciones:state.reportsSummary.sinVacaciones,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchReportsSummary,\r\n resetReportsUsers\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PanelReportes)","import React, { useState, useEffect } from 'react'\r\nimport { Container, Row, Col, Button, Dropdown, Table, Form } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { Link } from 'react-router-dom'\r\nimport { bindActionCreators } from 'redux'\r\nimport Navigator from './Navigator'\r\nimport { CustomMenu, CustomToggle } from './CustomToggle'\r\nimport RutComponent from 'react-rut'\r\nimport moment from 'moment'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons'\r\nimport { CustomFechaIngresoRangePicker } from './CustomFechaIngresoRangePicker'\r\n\r\nconst ReporteBody = (\r\n{\r\n Report,\r\n ReportTitle,\r\n filtersToHide=[],\r\n\r\n companies,\r\n costCenters,\r\n regions,\r\n sindicatos,\r\n\r\n employees,\r\n totalPages,\r\n TotalRecords,\r\n StartRecord,\r\n\r\n fetchReportData\r\n}) => {\r\n\r\n const [doFetchUsers, setDoFetchUsers] = useState(true)\r\n const [Nombre, setNombre] = useState('')\r\n const [Rut,setRut] = useState('')\r\n const [PageSize] = useState(20)\r\n const [PageNumber,setPageNumber] = useState(1)\r\n const [Empresas,setEmpresas] = useState([])\r\n const [CentrosCosto,setCentrosCosto] = useState([])\r\n const [FechaIngreso,setFechaIngreso] = useState('')\r\n const [FechaIngreso2,setFechaIngreso2] = useState('')\r\n const [Regiones,setRegiones] = useState([])\r\n const [Sindicatos,setSindicatos] = useState([])\r\n const [Estados,setEstados] = useState([])\r\n\r\n const [fetchingInProgress,setFetchingInProgress] = useState(true)\r\n\r\n let EstadosValues = ['A','T','P']\r\n let EstadosMap = {\r\n 'A':\"Activo\",\r\n 'T':\"Terminado\",\r\n 'P':\"Pendiente\"\r\n }\r\n\r\n useEffect(()=>{\r\n if(!doFetchUsers) return\r\n setFetchingInProgress(true)\r\n setDoFetchUsers(false)\r\n fetchReportData({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut:Rut.replaceAll('.','').split(\"-\")[0],\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }\r\n })\r\n },[doFetchUsers,Empresas,CentrosCosto,FechaIngreso,FechaIngreso2,Regiones,Sindicatos,Rut,Nombre,PageSize,PageNumber,Estados,fetchReportData,setFetchingInProgress])\r\n \r\n const exportarExcel=()=>{\r\n let url = `${window.location.origin}/reports/export`\r\n let params = []\r\n let RutToUse = Rut.replaceAll('.','').split(\"-\")[0]\r\n if(Report.length>0) params.push(`Report=${Report}`)\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((RutToUse || '')!=='') params.push(`Rut=${RutToUse}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estados.length>0) params.push(`Estados=${Estados.join(',')}`)\r\n url = `${url}?${params.join('&')}`\r\n window.open(url)\r\n }\r\n\r\n const gotoPage=(page)=>{\r\n setPageNumber(page)\r\n setDoFetchUsers(true)\r\n }\r\n\r\n let pageMin = Math.max(PageNumber-3,1)\r\n let pageMax = Math.min(pageMin+4,totalPages)\r\n let pagesToNavigate = []\r\n if(PageNumber>1){\r\n pagesToNavigate.push({text:'\\u00AB',page:1})\r\n pagesToNavigate.push({text:'\\u003C',page:PageNumber-1})\r\n }\r\n for(let i = pageMin; i <= pageMax; i++){\r\n pagesToNavigate.push({text:`${i}`,page:i})\r\n }\r\n if(PageNumber{\r\n let empIndex = Empresas.indexOf(empresaToToggle)\r\n if(empIndex===-1){\r\n setEmpresas([...Empresas,empresaToToggle])\r\n } else {\r\n setEmpresas([...Empresas].filter((_,index)=>index!==empIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleCentrosDeCostos = (costCenterToToggle)=>{\r\n let costCenterIndex = CentrosCosto.indexOf(costCenterToToggle)\r\n if(costCenterIndex===-1){\r\n setCentrosCosto([...CentrosCosto,costCenterToToggle])\r\n } else {\r\n setCentrosCosto([...CentrosCosto].filter((_,index)=>index!==costCenterIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleRegiones = (regionToToggle)=>{\r\n let regionIndex = Regiones.indexOf(regionToToggle)\r\n if(regionIndex===-1){\r\n setRegiones([...Regiones,regionToToggle])\r\n } else {\r\n setRegiones([...Regiones].filter((_,index)=>index!==regionIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleSindicatos = (sindicatoToToggle)=>{\r\n let sindicatoIndex = Sindicatos.indexOf(sindicatoToToggle)\r\n if(sindicatoIndex===-1){\r\n setSindicatos([...Sindicatos,sindicatoToToggle])\r\n } else {\r\n setSindicatos([...Sindicatos].filter((_,index)=>index!==sindicatoIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n let toggleEstados = (estadoToToggle)=>{\r\n let estadoIndex = Estados.indexOf(estadoToToggle)\r\n if(estadoIndex===-1){\r\n setEstados([...Estados,estadoToToggle])\r\n } else {\r\n setEstados([...Estados].filter((_,index)=>index!==estadoIndex))\r\n }\r\n gotoPage(1)\r\n }\r\n\r\n const onKeyUpFilter=(e)=>{\r\n if(e.keyCode === 13){\r\n gotoPage(1)\r\n }\r\n }\r\n\r\n const fechaIngresoApply = (event, picker) => {\r\n setFechaIngreso(picker.startDate.format('YYYYMMDD'))\r\n setFechaIngreso2(picker.endDate.format('YYYYMMDD'))\r\n picker.element.val(\r\n picker.startDate.format('DD/MM/YYYY') +\r\n ' - ' +\r\n picker.endDate.format('DD/MM/YYYY')\r\n )\r\n gotoPage(1)\r\n }\r\n\r\n const fechaIngresoCancel = (event, picker) => {\r\n setFechaIngreso('')\r\n setFechaIngreso2('')\r\n picker.element.val('')\r\n gotoPage(1)\r\n }\r\n\r\n let EmpresasTitle = ''\r\n if(Empresas.length===0) { EmpresasTitle = 'Todas' }\r\n if(Empresas.length===1) { EmpresasTitle = Empresas[0]}\r\n if(Empresas.length > 1) { EmpresasTitle = `${Empresas.length} Seleccionadas` }\r\n\r\n let CentrosCostoTitle = ''\r\n if(CentrosCosto.length===0) { CentrosCostoTitle = 'Todos' }\r\n if(CentrosCosto.length===1) { CentrosCostoTitle = costCenters.find(costCenter => costCenter.item === CentrosCosto[0])?.nombre || `Centro Costo ${CentrosCosto[0]}` }\r\n if(CentrosCosto.length > 1) { CentrosCostoTitle = `${CentrosCosto.length} Seleccionados` }\r\n\r\n let RegionesTitle = ''\r\n if(Regiones.length===0) { RegionesTitle = 'Todas' }\r\n if(Regiones.length===1) { RegionesTitle = regions.find(region=>region.id === Regiones[0])?.nombre }\r\n if(Regiones.length > 1) { RegionesTitle = `${Regiones.length} Seleccionadas` }\r\n\r\n let SindicatosTitle = ''\r\n if(Sindicatos.length===0) { SindicatosTitle = 'Todos' }\r\n if(Sindicatos.length===1) { SindicatosTitle = Sindicatos[0]}\r\n if(Sindicatos.length > 1) { SindicatosTitle = `${Sindicatos.length} Seleccionados` }\r\n\r\n let EstadosTitle = ''\r\n if(Estados.length===0) { EstadosTitle = 'Todos' }\r\n if(Estados.length===1) { EstadosTitle = EstadosMap[Estados[0]]}\r\n if(Estados.length > 1) { EstadosTitle = `${Estados.length} Seleccionados` }\r\n\r\n return (\r\n \r\n \r\n \r\n
    Reporte
    \r\n
    \r\n \r\n

    {ReportTitle}

    \r\n
    \r\n \r\n \r\n Empresa\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n {\r\n Empresas.length < companies.length &&\r\n { setEmpresas(companies);gotoPage(1) }}>Todas \r\n }\r\n {\r\n Empresas.length === companies.length &&\r\n { setEmpresas([]);gotoPage(1) }}>Ninguna\r\n }\r\n {companies.map((company,index)=>\r\n { toggleEmpresas(company) }} active={(Empresas.indexOf(company)!==-1)}>{company}\r\n )}\r\n \r\n \r\n \r\n \r\n Centro de Costo\r\n \r\n \r\n {CentrosCostoTitle}\r\n \r\n \r\n {\r\n CentrosCosto.length < costCenters.length &&\r\n { setCentrosCosto(costCenters.map(({item})=>item));gotoPage(1) }}>Todas \r\n }\r\n {\r\n CentrosCosto.length === costCenters.length &&\r\n { setCentrosCosto([]);gotoPage(1) }}>Ninguno\r\n }\r\n {costCenters.map((costCenter,index)=>\r\n { toggleCentrosDeCostos(costCenter.item) }} active={(CentrosCosto.indexOf(costCenter.item)!==-1)}>{costCenter.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Región\r\n \r\n \r\n {RegionesTitle}\r\n \r\n \r\n {\r\n Regiones.length < regions.length &&\r\n { setRegiones(regions.map(({id})=>id));gotoPage(1) }}>Todas \r\n }\r\n {\r\n Regiones.length === regions.length &&\r\n { setRegiones([]);gotoPage(1) }}>Ninguna\r\n }\r\n {regions.map((region,index)=>\r\n { toggleRegiones(region.id) }} active={(Regiones.indexOf(region.id)!==-1)}>{region.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n Sindicato\r\n \r\n \r\n {SindicatosTitle}\r\n \r\n \r\n {\r\n Sindicatos.length < sindicatos.length &&\r\n { setSindicatos(sindicatos.map(({sindicato})=>sindicato));gotoPage(1) }}>Todos \r\n }\r\n {\r\n Sindicatos.length === sindicatos.length &&\r\n { setSindicatos([]);gotoPage(1) }}>Ninguna\r\n }\r\n {sindicatos.map((sindicato,index)=>\r\n { toggleSindicatos(sindicato.sindicato) }} active={(Sindicatos.indexOf(sindicato.sindicato)!==-1)}>{sindicato.sindicato}\r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n Filtro Nombre\r\n {setNombre(e.target.value)}} onKeyUp={onKeyUpFilter}/>\r\n \r\n \r\n Filtro RUT\r\n {setRut(e.target.value)}} >\r\n \r\n \r\n \r\n {!filtersToHide.includes(\"Estado\") &&\r\n \r\n Estado\r\n \r\n \r\n {EstadosTitle}\r\n \r\n \r\n {\r\n Estados.length < EstadosValues.length &&\r\n { setEstados(EstadosValues);gotoPage(1) }}>Todos \r\n }\r\n {\r\n Estados.length === EstadosValues.length &&\r\n { setEstados([]);gotoPage(1) }}>Ninguno\r\n }\r\n {EstadosValues.map((estado,index)=>\r\n { toggleEstados(estado) }} active={(Estados.indexOf(estado)!==-1)}>{EstadosMap[estado]}\r\n )}\r\n \r\n \r\n \r\n }\r\n \r\n {fetchingInProgress &&\r\n \r\n \r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n

    Registros {Math.min(StartRecord+1,TotalRecords)}/{StartRecord+employees.length} de {TotalRecords}

    \r\n \r\n
    \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {employees.map((user,index)=>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    EmpresaC. de CostoRUTNombre y ApellidoRegiónFecha IngresoFecha TerminoEstadoDocumentosLiquidacionesSindicatoAcciones
    {user.empresa}{user.centroCosto}{user.rut}{user.nombre} {user.apellidoPate}{user.region}{moment(user.fechaIngreso).format(\"DD / MM / YYYY\")}{(user.fechaTermino!==undefined && user.fechaTermino!==null)?moment(user.fechaTermino).format(\"DD / MM / YYYY\"):''}{EstadosMap[user.Estado]}{user.numeroDocumentos}{user.numeroLiquidaciones}{user.sindicato}Ver detalle
    \r\n }\r\n {!fetchingInProgress &&\r\n \r\n {pagesToNavigate.map((page,index)=>\r\n \r\n )}\r\n \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n companies:state.companies.companies,\r\n costCenters:state.costCenters.costCenters,\r\n regions:state.regions.regions,\r\n employees:state.reports.employees,\r\n sindicatos:state.sindicatos.sindicatos,\r\n totalPages:state.reports.totalPages, \r\n TotalRecords:state.reports.TotalRecords,\r\n StartRecord:state.reports.StartRecord, \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReporteBody)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchActivesWithoutContract\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportActivosSinContrato = ({\r\n fetchActivesWithoutContract\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchActivesWithoutContract({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchActivesWithoutContract\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportActivosSinContrato)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchTerminatedWorkersWithoutTerminationDocument\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportContratosTerminadosSinFiniquito = ({\r\n fetchTerminatedWorkersWithoutTerminationDocument\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchTerminatedWorkersWithoutTerminationDocument({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchTerminatedWorkersWithoutTerminationDocument\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportContratosTerminadosSinFiniquito)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchWorkersWithoutAnyDocument\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportTrabajadoresSinNingunDocumento = ({\r\n fetchWorkersWithoutAnyDocument\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchWorkersWithoutAnyDocument({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchWorkersWithoutAnyDocument\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportTrabajadoresSinNingunDocumento)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchWorkersWithLessThan6MonthlyPaymentDocuments\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportTrabajadoresMenos6Liquidaciones = ({\r\n fetchWorkersWithLessThan6MonthlyPaymentDocuments\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchWorkersWithLessThan6MonthlyPaymentDocuments({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchWorkersWithLessThan6MonthlyPaymentDocuments\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportTrabajadoresMenos6Liquidaciones)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchWorkersWithoutLastMonthlyPaymentDocuments\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportTrabajadoresSinUltimaLiquidacion = ({\r\n fetchWorkersWithoutLastMonthlyPaymentDocuments\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchWorkersWithoutLastMonthlyPaymentDocuments({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchWorkersWithoutLastMonthlyPaymentDocuments\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportTrabajadoresSinUltimaLiquidacion)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchWorkersWithoutMonthlyPaymentDocument\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportTrabajadoresSinNingunaLiquidacion = ({\r\n fetchWorkersWithoutMonthlyPaymentDocument\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchWorkersWithoutMonthlyPaymentDocument({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchWorkersWithoutMonthlyPaymentDocument\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportTrabajadoresSinNingunaLiquidacion)","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReporteBody from '../../components/ReporteBody'\r\nimport { useHistory } from 'react-router-dom'\r\nimport {\r\n fetchWorkersWithoutVacationsDocument\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportTrabajadoresSinVacaciones = ({\r\n fetchWorkersWithoutVacationsDocument\r\n}) => {\r\n \r\n const history = useHistory()\r\n\r\n const fetchReportData = ({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n OnFetchComplete,\r\n }) => {\r\n fetchWorkersWithoutVacationsDocument({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n PageSize,\r\n PageNumber,\r\n history,\r\n OnFetchComplete,\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchWorkersWithoutVacationsDocument\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportTrabajadoresSinVacaciones)","import React, { useEffect, useState } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { useLocation } from 'react-router-dom'\r\nimport { bindActionCreators } from 'redux'\r\nimport { fetchReportsExportUrl } from '../../store/actions/reportsActions'\r\n\r\nconst ExportarReporte = ({\r\n fetchReportsExportUrl\r\n}) =>{\r\n\r\n let query = new URLSearchParams(useLocation().search)\r\n \r\n const [Report] = useState(query.get(\"Report\"))\r\n const [Empresas] = useState(query.get(\"Empresas\"))\r\n const [CentrosCosto] = useState(query.get(\"CentrosCosto\"))\r\n const [FechaIngreso] = useState(query.get(\"FechaIngreso\"))\r\n const [FechaIngreso2] = useState(query.get(\"FechaIngreso2\"))\r\n const [Regiones] = useState(query.get(\"Regiones\"))\r\n const [Sindicatos] = useState(query.get(\"Sindicatos\"))\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Nombre] = useState(query.get(\"Nombre\"))\r\n const [Estados] = useState(query.get(\"Estados\"))\r\n\r\n useEffect(()=>{\r\n fetchReportsExportUrl({\r\n Report,\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n })\r\n },[Report,Empresas,CentrosCosto,FechaIngreso,FechaIngreso2,Regiones,Sindicatos,Rut,Nombre,Estados,fetchReportsExportUrl])\r\n\r\n return (\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchReportsExportUrl\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportarReporte)","import React, { useState } from 'react'\r\nimport moment from 'moment'\r\nimport { Container, Row, Col, Button, Dropdown, Form, DropdownButton, InputGroup } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { useHistory } from 'react-router-dom'\r\nimport Navigator from '../../components/Navigator'\r\nimport { CustomToggle, CustomMenu } from '../../components/CustomToggle'\r\nimport {\r\n setFiltrosReporteLiquidacionesPersonalizado\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportesLiquidaciones = ({\r\n companies,\r\n costCenters,\r\n regions,\r\n sindicatos,\r\n setFiltrosReporteLiquidacionesPersonalizado\r\n}) => {\r\n const history = useHistory()\r\n\r\n const [NumeroLiquidaciones,SetNumeroLiquidaciones] = useState(null)\r\n const [Estado,SetEstado] = useState(null)\r\n const [Condicion,SetCondicion] = useState(null)\r\n const [Empresas,setEmpresas] = useState([])\r\n const [CentrosCosto,setCentrosCosto] = useState([])\r\n const [Regiones,setRegiones] = useState([])\r\n const [Sindicatos,setSindicatos] = useState([])\r\n const [FechaTerminoSeleccionadoMonth,SetFechaTerminoSeleccionadoMonth] = useState(null)\r\n const [FechaTerminoSeleccionadoYear,SetFechaTerminoSeleccionadoYear] = useState(null)\r\n\r\n let toggleEmpresas = (empresaToToggle)=>{\r\n let empIndex = Empresas.indexOf(empresaToToggle)\r\n if(empIndex===-1){\r\n setEmpresas([...Empresas,empresaToToggle])\r\n } else {\r\n setEmpresas([...Empresas].filter((_,index)=>index!==empIndex))\r\n }\r\n }\r\n\r\n let toggleCentrosDeCostos = (costCenterToToggle)=>{\r\n let costCenterIndex = CentrosCosto.indexOf(costCenterToToggle)\r\n if(costCenterIndex===-1){\r\n setCentrosCosto([...CentrosCosto,costCenterToToggle])\r\n } else {\r\n setCentrosCosto([...CentrosCosto].filter((_,index)=>index!==costCenterIndex))\r\n }\r\n }\r\n\r\n let toggleRegiones = (regionToToggle)=>{\r\n let regionIndex = Regiones.indexOf(regionToToggle)\r\n if(regionIndex===-1){\r\n setRegiones([...Regiones,regionToToggle])\r\n } else {\r\n setRegiones([...Regiones].filter((_,index)=>index!==regionIndex))\r\n }\r\n }\r\n\r\n let toggleSindicatos = (sindicatoToToggle)=>{\r\n let sindicatoIndex = Sindicatos.indexOf(sindicatoToToggle)\r\n if(sindicatoIndex===-1){\r\n setSindicatos([...Sindicatos,sindicatoToToggle])\r\n } else {\r\n setSindicatos([...Sindicatos].filter((_,index)=>index!==sindicatoIndex))\r\n }\r\n }\r\n\r\n let EmpresasTitle = ''\r\n if(Empresas.length===0) { EmpresasTitle = 'Todas' }\r\n if(Empresas.length===1) { EmpresasTitle = Empresas[0]}\r\n if(Empresas.length > 1) { EmpresasTitle = `${Empresas.length} Seleccionadas` }\r\n\r\n let CentrosCostoTitle = ''\r\n if(CentrosCosto.length===0) { CentrosCostoTitle = 'Todos' }\r\n if(CentrosCosto.length===1) { CentrosCostoTitle = costCenters.find(costCenter => costCenter.item === CentrosCosto[0])?.nombre || `Centro Costo ${CentrosCosto[0]}` }\r\n if(CentrosCosto.length > 1) { CentrosCostoTitle = `${CentrosCosto.length} Seleccionados` }\r\n\r\n let RegionesTitle = ''\r\n if(Regiones.length===0) { RegionesTitle = 'Todas' }\r\n if(Regiones.length===1) { RegionesTitle = regions.find(region=>region.id === Regiones[0])?.nombre }\r\n if(Regiones.length > 1) { RegionesTitle = `${Regiones.length} Seleccionadas` }\r\n\r\n let SindicatosTitle = ''\r\n if(Sindicatos.length===0) { SindicatosTitle = 'Todos' }\r\n if(Sindicatos.length===1) { SindicatosTitle = Sindicatos[0]}\r\n if(Sindicatos.length > 1) { SindicatosTitle = `${Sindicatos.length} Seleccionados` }\r\n\r\n let generarReporteActivo = (\r\n Estado!==null && \r\n Condicion!==null && \r\n NumeroLiquidaciones!==null\r\n )\r\n if(generarReporteActivo && [\"Pendiente\",\"Terminado\"].includes(Estado)){\r\n generarReporteActivo = (FechaTerminoSeleccionadoMonth!==null && FechaTerminoSeleccionadoYear!==null)\r\n }\r\n\r\n const gotoResultado = () => {\r\n setFiltrosReporteLiquidacionesPersonalizado({\r\n Estado,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n })\r\n history.push('/reports/liquidaciones/result')\r\n }\r\n\r\n const FechaTerminoMonthsOptions = [\r\n \"Enero\",\r\n \"Febrero\",\r\n \"Marzo\",\r\n \"Abril\",\r\n \"Mayo\",\r\n \"Junio\",\r\n \"Julio\",\r\n \"Agosto\",\r\n \"Septiembre\",\r\n \"Octubre\",\r\n \"Noviembre\",\r\n \"Diciembre\"\r\n ]\r\n\r\n const FechaTerminoYearsOptions = Array(20).fill(true).map((_, idx) => +moment().subtract(idx, 'years').format(\"YYYY\"))\r\n\r\n return (\r\n \r\n \r\n \r\n

    Reportes Personalizado de Liquidaciones

    \r\n
    \r\n \r\n Paso 1\r\n Paso 2\r\n Paso 3\r\n \r\n \r\n Tipo Trabajador\r\n Condición\r\n Seleccion de Documentos\r\n \r\n \r\n \r\n {/*\r\n \r\n \r\n { SetEstado(\"Todos\") }} />\r\n Todos\r\n \r\n \r\n */}\r\n \r\n \r\n { \r\n SetEstado(\"Activo\")\r\n SetFechaTerminoSeleccionadoMonth(null)\r\n SetFechaTerminoSeleccionadoYear(null)\r\n }} />\r\n Activo\r\n \r\n \r\n \r\n \r\n { SetEstado(\"Pendiente\") }} />\r\n Pendiente\r\n \r\n \r\n \r\n \r\n { SetEstado(\"Terminado\") }} />\r\n Terminado\r\n \r\n \r\n {[\"Pendiente\",\"Terminado\"].includes(Estado) &&\r\n \r\n Fecha Termino\r\n \r\n \r\n {FechaTerminoMonthsOptions.map((mes,index)=>\r\n {\r\n SetFechaTerminoSeleccionadoMonth(index)\r\n }}>{mes}\r\n )}\r\n \r\n \r\n \r\n \r\n {FechaTerminoYearsOptions.map((year,index)=>\r\n {\r\n SetFechaTerminoSeleccionadoYear(year)\r\n }}>{year}\r\n )}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n { SetCondicion(false) }} />\r\n NO Tenga los Documentos\r\n \r\n \r\n \r\n \r\n { SetCondicion(true) }} />\r\n SI tenga los Documentos\r\n \r\n \r\n \r\n \r\n \r\n \r\n { SetNumeroLiquidaciones(1) }} />\r\n Última Liquidacion\r\n \r\n \r\n \r\n \r\n { SetNumeroLiquidaciones(3) }} />\r\n Últimas 3 Liquidaciones\r\n \r\n \r\n \r\n \r\n { SetNumeroLiquidaciones(6) }} />\r\n Últimas 6 Liquidaciones\r\n \r\n \r\n \r\n \r\n { SetNumeroLiquidaciones(12) }} />\r\n Últimas 12 Liquidaciones\r\n \r\n \r\n \r\n \r\n \r\n Paso 4\r\n \r\n \r\n

    Filtros Generales

    \r\n
    \r\n \r\n \r\n Empresa\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n {\r\n Empresas.length < companies.length &&\r\n { setEmpresas(companies) }}>Todas \r\n }\r\n {\r\n Empresas.length === companies.length &&\r\n { setEmpresas([]) }}>Ninguna\r\n }\r\n {companies.map((company,index)=>\r\n { toggleEmpresas(company) }} active={(Empresas.indexOf(company)!==-1)}>{company}\r\n )}\r\n \r\n \r\n \r\n \r\n Centro de Costo\r\n \r\n \r\n {CentrosCostoTitle}\r\n \r\n \r\n {\r\n CentrosCosto.length < costCenters.length &&\r\n { setCentrosCosto(costCenters.map(({item})=>item)) }}>Todas \r\n }\r\n {\r\n CentrosCosto.length === costCenters.length &&\r\n { setCentrosCosto([]) }}>Ninguno\r\n }\r\n {costCenters.map((costCenter,index)=>\r\n { toggleCentrosDeCostos(costCenter.item) }} active={(CentrosCosto.indexOf(costCenter.item)!==-1)}>{costCenter.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n Región\r\n \r\n \r\n {RegionesTitle}\r\n \r\n \r\n {\r\n Regiones.length < regions.length &&\r\n { setRegiones(regions.map(({id})=>id)) }}>Todas \r\n }\r\n {\r\n Regiones.length === regions.length &&\r\n { setRegiones([]) }}>Ninguna\r\n }\r\n {regions.map((region,index)=>\r\n { toggleRegiones(region.id) }} active={(Regiones.indexOf(region.id)!==-1)}>{region.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n Sindicato\r\n \r\n \r\n {SindicatosTitle}\r\n \r\n \r\n {\r\n Sindicatos.length < sindicatos.length &&\r\n { setSindicatos(sindicatos.map(({sindicato})=>sindicato)) }}>Todos \r\n }\r\n {\r\n Sindicatos.length === sindicatos.length &&\r\n { setSindicatos([]) }}>Ninguna\r\n }\r\n {sindicatos.map((sindicato,index)=>\r\n { toggleSindicatos(sindicato.sindicato) }} active={(Sindicatos.indexOf(sindicato.sindicato)!==-1)}>{sindicato.sindicato}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n companies:state.companies.companies,\r\n costCenters:state.costCenters.costCenters,\r\n regions:state.regions.regions,\r\n sindicatos:state.sindicatos.sindicatos,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n setFiltrosReporteLiquidacionesPersonalizado\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportesLiquidaciones)","import React, { useState, useCallback } from 'react'\r\nimport { useEffect } from 'react'\r\nimport { Container, Row, Col, Button, Table, Form } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { Link, useHistory } from 'react-router-dom'\r\nimport Navigator from '../../components/Navigator'\r\nimport RutComponent from 'react-rut'\r\nimport moment from 'moment'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons'\r\nimport {\r\n fetchReporteLiquidacionesPersonalizado\r\n} from '../../store/actions/reportsActions'\r\nimport { CustomFechaIngresoRangePicker } from '../../components/CustomFechaIngresoRangePicker'\r\n\r\nconst ReportesLiquidacionesResultados = ({\r\n fetchReporteLiquidacionesPersonalizado,\r\n\r\n employees,\r\n totalPages,\r\n TotalRecords,\r\n StartRecord,\r\n\r\n Estado,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n}) => {\r\n\r\n const history = useHistory()\r\n\r\n const [doFetchUsers, setDoFetchUsers] = useState(true)\r\n const [Nombre, setNombre] = useState('')\r\n const [Rut,setRut] = useState('')\r\n const [PageSize] = useState(20)\r\n const [PageNumber,setPageNumber] = useState(1)\r\n const [FechaIngreso,setFechaIngreso] = useState('')\r\n const [FechaIngreso2,setFechaIngreso2] = useState('')\r\n\r\n const [fetchingInProgress,setFetchingInProgress] = useState(true)\r\n\r\n let EstadosMap = {\r\n 'A':\"Activo\",\r\n 'T':\"Terminado\",\r\n 'P':\"Pendiente\"\r\n }\r\n const EstadosInverseMap = useCallback(estadoContrato=>{\r\n const estadosContratoInverso = {\r\n \"Activo\":['A'],\r\n \"Terminado\":['T'],\r\n \"Pendiente\":['P'],\r\n \"Todos\":[]\r\n }\r\n return estadosContratoInverso[estadoContrato]\r\n },[])\r\n\r\n useEffect(()=>{\r\n if(!doFetchUsers) return\r\n setFetchingInProgress(true)\r\n setDoFetchUsers(false)\r\n fetchReporteLiquidacionesPersonalizado({\r\n Estados:EstadosInverseMap(Estado),\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n Nombre,\r\n Rut:Rut.replaceAll('.','').split(\"-\")[0],\r\n PageSize,\r\n PageNumber,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n history,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }\r\n })\r\n },[\r\n doFetchUsers,\r\n setFetchingInProgress,\r\n setDoFetchUsers,\r\n fetchReporteLiquidacionesPersonalizado,\r\n EstadosInverseMap,\r\n Estado,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n Condicion,\r\n NumeroLiquidaciones,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n Nombre,\r\n Rut,\r\n PageSize,\r\n PageNumber,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n history,\r\n ])\r\n \r\n const exportarExcel=()=>{\r\n let url = `${window.location.origin}/reports/liquidaciones/export`\r\n let params = []\r\n let RutToUse = Rut.replaceAll('.','').split(\"-\")[0]\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((RutToUse || '')!=='') params.push(`Rut=${RutToUse}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n if(Estado!==\"Todos\"){\r\n params.push(`Estados=${EstadosInverseMap(Estado).join(',')}`)\r\n }\r\n if(FechaTerminoSeleccionadoMonth!==null){\r\n params.push(`FechaTerminoSeleccionadoMonth=${FechaTerminoSeleccionadoMonth}`)\r\n }\r\n if(FechaTerminoSeleccionadoYear!==null){\r\n params.push(`FechaTerminoSeleccionadoYear=${FechaTerminoSeleccionadoYear}`)\r\n }\r\n params.push(`NumeroLiquidaciones=${NumeroLiquidaciones}`)\r\n params.push(`Condicion=${Condicion}`)\r\n url = `${url}?${params.join('&')}`\r\n window.open(url)\r\n }\r\n\r\n const gotoPage=(page)=>{\r\n setPageNumber(page)\r\n setDoFetchUsers(true)\r\n }\r\n\r\n let pageMin = Math.max(PageNumber-3,1)\r\n let pageMax = Math.min(pageMin+4,totalPages)\r\n let pagesToNavigate = []\r\n if(PageNumber>1){\r\n pagesToNavigate.push({text:'\\u00AB',page:1})\r\n pagesToNavigate.push({text:'\\u003C',page:PageNumber-1})\r\n }\r\n for(let i = pageMin; i <= pageMax; i++){\r\n pagesToNavigate.push({text:`${i}`,page:i})\r\n }\r\n if(PageNumber{\r\n if(e.keyCode === 13){\r\n gotoPage(1)\r\n }\r\n }\r\n\r\n const fechaIngresoApply = (event, picker) => {\r\n setFechaIngreso(picker.startDate.format('YYYYMMDD'))\r\n setFechaIngreso2(picker.endDate.format('YYYYMMDD'))\r\n picker.element.val(\r\n picker.startDate.format('DD/MM/YYYY') +\r\n ' - ' +\r\n picker.endDate.format('DD/MM/YYYY')\r\n )\r\n gotoPage(1)\r\n }\r\n\r\n const fechaIngresoCancel = (event, picker) => {\r\n setFechaIngreso('')\r\n setFechaIngreso2('')\r\n picker.element.val('');\r\n gotoPage(1)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
    Reportes Personalizado de Liquidaciones
    \r\n
    \r\n \r\n

    Resultado de Reporte

    \r\n
    \r\n \r\n \r\n Filtro Nombre\r\n {setNombre(e.target.value)}} onKeyUp={onKeyUpFilter}/>\r\n \r\n \r\n Filtro RUT\r\n {setRut(e.target.value)}} >\r\n \r\n \r\n \r\n \r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n }\r\n \r\n {fetchingInProgress &&\r\n \r\n \r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n

    Registros {Math.min(StartRecord+1,TotalRecords)}/{StartRecord+employees.length} de {TotalRecords}

    \r\n \r\n
    \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {employees.map((user,index)=>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    EmpresaC. de CostoRUTNombre y ApellidoRegiónFecha IngresoFecha TerminoEstadoDocumentosLiquidacionesSindicatoAcciones
    {user.empresa}{user.centroCosto}{user.rut}{user.nombre} {user.apellidoPate}{user.region}{moment(user.fechaIngreso).format(\"DD / MM / YYYY\")}{(user.fechaTermino!==undefined && user.fechaTermino!==null)?moment(user.fechaTermino).format(\"DD / MM / YYYY\"):''}{EstadosMap[user.Estado]}{user.numeroDocumentos}{user.numeroLiquidaciones}{user.sindicato}Ver detalle
    \r\n }\r\n {!fetchingInProgress &&\r\n \r\n {pagesToNavigate.map((page,index)=>\r\n \r\n )}\r\n \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n employees:state.reports.employees,\r\n totalPages:state.reports.totalPages,\r\n TotalRecords:state.reports.TotalRecords,\r\n StartRecord:state.reports.StartRecord, \r\n\r\n Estado:state.reporteLiquidaciones.Estado,\r\n Condicion:state.reporteLiquidaciones.Condicion,\r\n NumeroLiquidaciones:state.reporteLiquidaciones.NumeroLiquidaciones,\r\n Empresas:state.reporteLiquidaciones.Empresas,\r\n CentrosCosto:state.reporteLiquidaciones.CentrosCosto,\r\n Regiones:state.reporteLiquidaciones.Regiones,\r\n Sindicatos:state.reporteLiquidaciones.Sindicatos,\r\n FechaTerminoSeleccionadoMonth:state.reporteLiquidaciones.FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear:state.reporteLiquidaciones.FechaTerminoSeleccionadoYear,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchReporteLiquidacionesPersonalizado\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportesLiquidacionesResultados)","import React, { useState } from 'react'\r\nimport { Container, Row, Col, Button, Dropdown, InputGroup } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { useHistory } from 'react-router-dom'\r\nimport Navigator from '../../components/Navigator'\r\nimport { CustomToggle, CustomMenu } from '../../components/CustomToggle'\r\nimport { CustomFechaIngresoRangePicker } from '../../components/CustomFechaIngresoRangePicker'\r\nimport {\r\n setFiltrosReporteDocumentosPersonalizado\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ReportesDocumentos = ({\r\n documents,\r\n companies,\r\n costCenters,\r\n regions,\r\n sindicatos,\r\n setFiltrosReporteDocumentosPersonalizado\r\n}) => {\r\n const history = useHistory()\r\n\r\n const [Estado,SetEstado] = useState(null)\r\n const [Condicion,SetCondicion] = useState(null)\r\n const [Documentos,SetDocumentos] = useState([])\r\n const [Empresas,setEmpresas] = useState([])\r\n const [CentrosCosto,setCentrosCosto] = useState([])\r\n const [Regiones,setRegiones] = useState([])\r\n const [Sindicatos,setSindicatos] = useState([])\r\n const [FechaDocumento ,setFechaDocumento] = useState('')\r\n const [FechaDocumento2,setFechaDocumento2] = useState('')\r\n\r\n let toggleDocumentos = (codigoToToggle)=>{\r\n let codigoIndex = Documentos.indexOf(codigoToToggle)\r\n if(codigoIndex===-1){\r\n SetDocumentos([...Documentos,codigoToToggle])\r\n } else {\r\n SetDocumentos([...Documentos].filter((_,index)=>index!==codigoIndex))\r\n }\r\n }\r\n\r\n let toggleEmpresas = (empresaToToggle)=>{\r\n let empIndex = Empresas.indexOf(empresaToToggle)\r\n if(empIndex===-1){\r\n setEmpresas([...Empresas,empresaToToggle])\r\n } else {\r\n setEmpresas([...Empresas].filter((_,index)=>index!==empIndex))\r\n }\r\n }\r\n\r\n let toggleCentrosDeCostos = (costCenterToToggle)=>{\r\n let costCenterIndex = CentrosCosto.indexOf(costCenterToToggle)\r\n if(costCenterIndex===-1){\r\n setCentrosCosto([...CentrosCosto,costCenterToToggle])\r\n } else {\r\n setCentrosCosto([...CentrosCosto].filter((_,index)=>index!==costCenterIndex))\r\n }\r\n }\r\n\r\n let toggleRegiones = (regionToToggle)=>{\r\n let regionIndex = Regiones.indexOf(regionToToggle)\r\n if(regionIndex===-1){\r\n setRegiones([...Regiones,regionToToggle])\r\n } else {\r\n setRegiones([...Regiones].filter((_,index)=>index!==regionIndex))\r\n }\r\n }\r\n\r\n let toggleSindicatos = (sindicatoToToggle)=>{\r\n let sindicatoIndex = Sindicatos.indexOf(sindicatoToToggle)\r\n if(sindicatoIndex===-1){\r\n setSindicatos([...Sindicatos,sindicatoToToggle])\r\n } else {\r\n setSindicatos([...Sindicatos].filter((_,index)=>index!==sindicatoIndex))\r\n }\r\n }\r\n\r\n let EmpresasTitle = ''\r\n if(Empresas.length===0) { EmpresasTitle = 'Todas' }\r\n if(Empresas.length===1) { EmpresasTitle = Empresas[0]}\r\n if(Empresas.length > 1) { EmpresasTitle = `${Empresas.length} Seleccionadas` }\r\n\r\n let CentrosCostoTitle = ''\r\n if(CentrosCosto.length===0) { CentrosCostoTitle = 'Todos' }\r\n if(CentrosCosto.length===1) { CentrosCostoTitle = costCenters.find(costCenter => costCenter.item === CentrosCosto[0])?.nombre || `Centro Costo ${CentrosCosto[0]}` }\r\n if(CentrosCosto.length > 1) { CentrosCostoTitle = `${CentrosCosto.length} Seleccionados` }\r\n\r\n let RegionesTitle = ''\r\n if(Regiones.length===0) { RegionesTitle = 'Todas' }\r\n if(Regiones.length===1) { RegionesTitle = regions.find(region=>region.id === Regiones[0])?.nombre }\r\n if(Regiones.length > 1) { RegionesTitle = `${Regiones.length} Seleccionadas` }\r\n\r\n let SindicatosTitle = ''\r\n if(Sindicatos.length===0) { SindicatosTitle = 'Todos' }\r\n if(Sindicatos.length===1) { SindicatosTitle = Sindicatos[0]}\r\n if(Sindicatos.length > 1) { SindicatosTitle = `${Sindicatos.length} Seleccionados` }\r\n\r\n let DocumentosTitle = ''\r\n if(Documentos.length===0) { DocumentosTitle = 'Todos' }\r\n if(Documentos.length===1) { \r\n let docSeleccionado = documents.find(doc=>doc.Codigo === Documentos[0])\r\n DocumentosTitle = `${docSeleccionado.Codigo} ${docSeleccionado.Descripcion}`\r\n }\r\n if(Documentos.length > 1) { DocumentosTitle = `${Documentos.length} Seleccionados` }\r\n let FiltroRangoFechaTitle = 'Rango Fecha Documentos / Ingreso'\r\n if(Condicion!==null && Condicion===true) { FiltroRangoFechaTitle = 'Rango Fecha Documentos' }\r\n if(Condicion!==null && Condicion===false) { FiltroRangoFechaTitle = 'Rango Fecha Ingreso' }\r\n let generarReporteActivo = (Estado!==null && Condicion!==null)\r\n\r\n const gotoResultado = () => {\r\n setFiltrosReporteDocumentosPersonalizado({\r\n Estado,\r\n Condicion,\r\n Documentos,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaDocumento,\r\n FechaDocumento2\r\n })\r\n history.push('/reports/documentos/result')\r\n }\r\n\r\n const fechaDocumentoApply = (event, picker) => {\r\n setFechaDocumento(picker.startDate.format('YYYYMMDD'))\r\n setFechaDocumento2(picker.endDate.format('YYYYMMDD'))\r\n picker.element.val(\r\n picker.startDate.format('DD/MM/YYYY') +\r\n ' - ' +\r\n picker.endDate.format('DD/MM/YYYY')\r\n )\r\n }\r\n\r\n const fechaDocumentoCancel = (event, picker) => {\r\n setFechaDocumento('')\r\n setFechaDocumento2('')\r\n picker.element.val('');\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

    Reportes Personalizado de Documentos

    \r\n
    \r\n \r\n Paso 1\r\n Paso 2\r\n Paso 3\r\n \r\n \r\n Tipo Trabajador\r\n Condición\r\n Seleccion de Documentos\r\n \r\n \r\n \r\n \r\n \r\n { SetEstado(\"Todos\") }} />\r\n Todos\r\n \r\n \r\n \r\n \r\n { SetEstado(\"Activo\") }} />\r\n Activo\r\n \r\n \r\n \r\n \r\n { SetEstado(\"Pendiente\") }} />\r\n Pendiente\r\n \r\n \r\n \r\n \r\n { SetEstado(\"Terminado\") }} />\r\n Terminado\r\n \r\n \r\n \r\n \r\n \r\n \r\n { SetCondicion(false) }} />\r\n NO Tenga los Documentos\r\n \r\n \r\n \r\n \r\n { SetCondicion(true) }} />\r\n SI tenga los Documentos\r\n \r\n \r\n \r\n \r\n \r\n \r\n {DocumentosTitle}\r\n \r\n \r\n {\r\n Documentos.length < documents.length &&\r\n { \r\n SetDocumentos(documents.map(({Codigo})=>Codigo))\r\n }}>Todos \r\n }\r\n {\r\n Documentos.length === documents.length &&\r\n { SetDocumentos([]) }}>Ninguna\r\n }\r\n {documents.map((document,index)=>{\r\n let docTitle = `${document.Codigo} ${document.Descripcion}`\r\n return (\r\n { \r\n toggleDocumentos(document.Codigo)\r\n }} active={(Documentos.indexOf(document.Codigo)!==-1)}>{docTitle}\r\n )}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Paso 4\r\n \r\n \r\n

    Filtros Generales

    \r\n
    \r\n \r\n \r\n Empresa\r\n \r\n \r\n {EmpresasTitle}\r\n \r\n \r\n {\r\n Empresas.length < companies.length &&\r\n { setEmpresas(companies) }}>Todas \r\n }\r\n {\r\n Empresas.length === companies.length &&\r\n { setEmpresas([]) }}>Ninguna\r\n }\r\n {companies.map((company,index)=>\r\n { toggleEmpresas(company) }} active={(Empresas.indexOf(company)!==-1)}>{company}\r\n )}\r\n \r\n \r\n \r\n \r\n Centro de Costo\r\n \r\n \r\n {CentrosCostoTitle}\r\n \r\n \r\n {\r\n CentrosCosto.length < costCenters.length &&\r\n { setCentrosCosto(costCenters.map(({item})=>item)) }}>Todas \r\n }\r\n {\r\n CentrosCosto.length === costCenters.length &&\r\n { setCentrosCosto([]) }}>Ninguno\r\n }\r\n {costCenters.map((costCenter,index)=>\r\n { toggleCentrosDeCostos(costCenter.item) }} active={(CentrosCosto.indexOf(costCenter.item)!==-1)}>{costCenter.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n Región\r\n \r\n \r\n {RegionesTitle}\r\n \r\n \r\n {\r\n Regiones.length < regions.length &&\r\n { setRegiones(regions.map(({id})=>id)) }}>Todas \r\n }\r\n {\r\n Regiones.length === regions.length &&\r\n { setRegiones([]) }}>Ninguna\r\n }\r\n {regions.map((region,index)=>\r\n { toggleRegiones(region.id) }} active={(Regiones.indexOf(region.id)!==-1)}>{region.nombre}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Sindicato\r\n \r\n \r\n {SindicatosTitle}\r\n \r\n \r\n {\r\n Sindicatos.length < sindicatos.length &&\r\n { setSindicatos(sindicatos.map(({sindicato})=>sindicato)) }}>Todos \r\n }\r\n {\r\n Sindicatos.length === sindicatos.length &&\r\n { setSindicatos([]) }}>Ninguna\r\n }\r\n {sindicatos.map((sindicato,index)=>\r\n { toggleSindicatos(sindicato.sindicato) }} active={(Sindicatos.indexOf(sindicato.sindicato)!==-1)}>{sindicato.sindicato}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n documents:state.documents.documents.filter(({Codigo})=>Codigo!=='LS'),\r\n companies:state.companies.companies,\r\n costCenters:state.costCenters.costCenters,\r\n regions:state.regions.regions,\r\n sindicatos:state.sindicatos.sindicatos,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n setFiltrosReporteDocumentosPersonalizado\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportesDocumentos)","import React, { useState } from 'react'\r\nimport { useEffect } from 'react'\r\nimport { Container, Row, Col, Button, Table, Form } from 'react-bootstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { Link, useHistory } from 'react-router-dom'\r\nimport Navigator from '../../components/Navigator'\r\nimport RutComponent from 'react-rut'\r\nimport moment from 'moment'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons'\r\nimport {\r\n fetchReporteDocumentosPersonalizado\r\n} from '../../store/actions/reportsActions'\r\nimport { useCallback } from 'react'\r\nimport { CustomFechaIngresoRangePicker } from '../../components/CustomFechaIngresoRangePicker'\r\n\r\nconst ReportesDocumentosResultados = ({\r\n fetchReporteDocumentosPersonalizado,\r\n\r\n employees,\r\n totalPages,\r\n TotalRecords,\r\n StartRecord,\r\n\r\n Estado,\r\n Condicion,\r\n Documentos,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaDocumento,\r\n FechaDocumento2\r\n}) => {\r\n\r\n const history = useHistory()\r\n\r\n const [doFetchUsers, setDoFetchUsers] = useState(true)\r\n const [Nombre, setNombre] = useState('')\r\n const [Rut,setRut] = useState('')\r\n const [PageSize] = useState(20)\r\n const [PageNumber,setPageNumber] = useState(1)\r\n const [FechaIngreso,setFechaIngreso] = useState('')\r\n const [FechaIngreso2,setFechaIngreso2] = useState('')\r\n\r\n const [fetchingInProgress,setFetchingInProgress] = useState(true)\r\n\r\n let EstadosMap = {\r\n 'A':\"Activo\",\r\n 'T':\"Terminado\",\r\n 'P':\"Pendiente\"\r\n }\r\n const EstadosInverseMap = useCallback(estadoContrato=>{\r\n const estadosContratoInverso = {\r\n \"Activo\":['A'],\r\n \"Terminado\":['T'],\r\n \"Pendiente\":['P'],\r\n \"Todos\":[]\r\n }\r\n return estadosContratoInverso[estadoContrato]\r\n },[])\r\n\r\n useEffect(()=>{\r\n if(!doFetchUsers) return\r\n setFetchingInProgress(true)\r\n setDoFetchUsers(false)\r\n fetchReporteDocumentosPersonalizado({\r\n Estados:EstadosInverseMap(Estado),\r\n Condicion,\r\n Documentos,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n Nombre,\r\n Rut:Rut.replaceAll('.','').split(\"-\")[0],\r\n PageSize,\r\n PageNumber,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n FechaDocumento,\r\n FechaDocumento2,\r\n history,\r\n OnFetchComplete:(error)=>{\r\n setFetchingInProgress(false)\r\n }\r\n })\r\n },[\r\n doFetchUsers,\r\n setDoFetchUsers,\r\n fetchReporteDocumentosPersonalizado,\r\n EstadosInverseMap,\r\n Estado,\r\n Condicion,\r\n Documentos,\r\n Empresas,\r\n CentrosCosto,\r\n Regiones,\r\n Sindicatos,\r\n FechaDocumento,\r\n FechaDocumento2,\r\n Nombre,\r\n Rut,\r\n PageSize,\r\n PageNumber,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n history,\r\n ])\r\n \r\n const exportarExcel=()=>{\r\n let url = `${window.location.origin}/reports/documentos/export`\r\n let params = []\r\n let RutToUse = Rut.replaceAll('.','').split(\"-\")[0]\r\n if(Empresas.length>0) params.push(`Empresas=${Empresas.join(',')}`)\r\n if(CentrosCosto.length>0) params.push(`CentrosCosto=${CentrosCosto.join(',')}`)\r\n if((FechaIngreso || '')!=='') params.push(`FechaIngreso=${FechaIngreso}`)\r\n if((FechaIngreso2 || '')!=='') params.push(`FechaIngreso2=${FechaIngreso2}`)\r\n if((FechaDocumento || '')!=='') params.push(`FechaDocumento=${FechaDocumento}`)\r\n if((FechaDocumento2 || '')!=='') params.push(`FechaDocumento2=${FechaDocumento2}`)\r\n if(Regiones.length>0) params.push(`Regiones=${Regiones.join(',')}`)\r\n if(Sindicatos.length>0) params.push(`Sindicatos=${Sindicatos.join(',')}`)\r\n if((RutToUse || '')!=='') params.push(`Rut=${RutToUse}`)\r\n if((Nombre || '')!=='') params.push(`Nombre=${Nombre}`)\r\n params.push(`Estados=${EstadosInverseMap(Estado).join(',')}`)\r\n if(Documentos.length>0) params.push(`Documentos=${Documentos.join(',')}`)\r\n params.push(`Condicion=${Condicion}`)\r\n url = `${url}?${params.join('&')}`\r\n window.open(url)\r\n }\r\n\r\n const gotoPage=(page)=>{\r\n setPageNumber(page)\r\n setDoFetchUsers(true)\r\n }\r\n\r\n let pageMin = Math.max(PageNumber-3,1)\r\n let pageMax = Math.min(pageMin+4,totalPages)\r\n let pagesToNavigate = []\r\n if(PageNumber>1){\r\n pagesToNavigate.push({text:'\\u00AB',page:1})\r\n pagesToNavigate.push({text:'\\u003C',page:PageNumber-1})\r\n }\r\n for(let i = pageMin; i <= pageMax; i++){\r\n pagesToNavigate.push({text:`${i}`,page:i})\r\n }\r\n if(PageNumber{\r\n if(e.keyCode === 13){\r\n gotoPage(1)\r\n }\r\n }\r\n\r\n const fechaIngresoApply = (event, picker) => {\r\n setFechaIngreso(picker.startDate.format('YYYYMMDD'))\r\n setFechaIngreso2(picker.endDate.format('YYYYMMDD'))\r\n picker.element.val(\r\n picker.startDate.format('DD/MM/YYYY') +\r\n ' - ' +\r\n picker.endDate.format('DD/MM/YYYY')\r\n )\r\n gotoPage(1)\r\n }\r\n\r\n const fechaIngresoCancel = (event, picker) => {\r\n setFechaIngreso('')\r\n setFechaIngreso2('')\r\n picker.element.val('')\r\n gotoPage(1)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
    Reportes Personalizado de Documentos
    \r\n
    \r\n \r\n

    Resultado de Reporte

    \r\n
    \r\n \r\n \r\n Filtro Nombre\r\n {setNombre(e.target.value)}} onKeyUp={onKeyUpFilter}/>\r\n \r\n \r\n Filtro RUT\r\n {setRut(e.target.value)}} >\r\n \r\n \r\n \r\n \r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n }\r\n \r\n {fetchingInProgress &&\r\n \r\n \r\n \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n

    Registros {Math.min(StartRecord+1,TotalRecords)}/{StartRecord+employees.length} de {TotalRecords}

    \r\n \r\n
    \r\n }\r\n {!fetchingInProgress &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {employees.map((user,index)=>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    EmpresaC. de CostoRUTNombre y ApellidoRegiónFecha IngresoFecha TerminoEstadoDocumentosLiquidacionesSindicatoAcciones
    {user.empresa}{user.centroCosto}{user.rut}{user.nombre} {user.apellidoPate}{user.region}{moment(user.fechaIngreso).format(\"DD / MM / YYYY\")}{(user.fechaTermino!==undefined && user.fechaTermino!==null)?moment(user.fechaTermino).format(\"DD / MM / YYYY\"):''}{EstadosMap[user.Estado]}{user.numeroDocumentos}{user.numeroLiquidaciones}{user.sindicato}Ver detalle
    \r\n }\r\n {!fetchingInProgress &&\r\n \r\n {pagesToNavigate.map((page,index)=>\r\n \r\n )}\r\n \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { \r\n employees:state.reports.employees,\r\n totalPages:state.reports.totalPages,\r\n TotalRecords:state.reports.TotalRecords,\r\n StartRecord:state.reports.StartRecord, \r\n \r\n Estado:state.reporteDocumentos.Estado,\r\n Condicion:state.reporteDocumentos.Condicion,\r\n Documentos:state.reporteDocumentos.Documentos,\r\n Empresas:state.reporteDocumentos.Empresas,\r\n CentrosCosto:state.reporteDocumentos.CentrosCosto,\r\n Regiones:state.reporteDocumentos.Regiones,\r\n Sindicatos:state.reporteDocumentos.Sindicatos,\r\n FechaDocumento:state.reporteDocumentos.FechaDocumento,\r\n FechaDocumento2:state.reporteDocumentos.FechaDocumento2\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchReporteDocumentosPersonalizado\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportesDocumentosResultados)","import React, { useEffect, useState } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { useLocation } from 'react-router-dom'\r\nimport { bindActionCreators } from 'redux'\r\nimport { \r\n fetchReportsCustomDocumentsExportUrl\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ExportarReporteDocumentosPersonalizado = ({\r\n fetchReportsCustomDocumentsExportUrl\r\n}) =>{\r\n\r\n let query = new URLSearchParams(useLocation().search)\r\n \r\n const [Empresas] = useState(query.get(\"Empresas\"))\r\n const [CentrosCosto] = useState(query.get(\"CentrosCosto\"))\r\n const [FechaIngreso] = useState(query.get(\"FechaIngreso\"))\r\n const [FechaIngreso2] = useState(query.get(\"FechaIngreso2\"))\r\n const [FechaDocumento] = useState(query.get(\"FechaDocumento\"))\r\n const [FechaDocumento2] = useState(query.get(\"FechaDocumento2\"))\r\n const [Regiones] = useState(query.get(\"Regiones\"))\r\n const [Sindicatos] = useState(query.get(\"Sindicatos\"))\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Nombre] = useState(query.get(\"Nombre\"))\r\n const [Estados] = useState(query.get(\"Estados\"))\r\n const [Condicion] = useState(query.get(\"Condicion\"))\r\n const [Documentos] = useState(query.get(\"Documentos\"))\r\n\r\n useEffect(()=>{\r\n fetchReportsCustomDocumentsExportUrl({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n FechaDocumento,\r\n FechaDocumento2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n Condicion,\r\n Documentos\r\n })\r\n },[Empresas,CentrosCosto,FechaIngreso,FechaIngreso2,FechaDocumento,FechaDocumento2,Regiones,Sindicatos,Rut,Nombre,Estados,Condicion,Documentos,fetchReportsCustomDocumentsExportUrl])\r\n\r\n return (\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchReportsCustomDocumentsExportUrl\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportarReporteDocumentosPersonalizado)","import React, { useEffect, useState } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { useLocation } from 'react-router-dom'\r\nimport { bindActionCreators } from 'redux'\r\nimport { \r\n fetchReportsCustomLiquidacionesExportUrl\r\n} from '../../store/actions/reportsActions'\r\n\r\nconst ExportarReporteLiquidacionesPersonalizado = ({\r\n fetchReportsCustomLiquidacionesExportUrl\r\n}) =>{\r\n\r\n let query = new URLSearchParams(useLocation().search)\r\n \r\n const [Empresas] = useState(query.get(\"Empresas\"))\r\n const [CentrosCosto] = useState(query.get(\"CentrosCosto\"))\r\n const [FechaIngreso] = useState(query.get(\"FechaIngreso\"))\r\n const [FechaIngreso2] = useState(query.get(\"FechaIngreso2\"))\r\n const [Regiones] = useState(query.get(\"Regiones\"))\r\n const [Sindicatos] = useState(query.get(\"Sindicatos\"))\r\n const [Rut] = useState(query.get(\"Rut\"))\r\n const [Nombre] = useState(query.get(\"Nombre\"))\r\n const [Estados] = useState(query.get(\"Estados\"))\r\n const [Condicion] = useState(query.get(\"Condicion\"))\r\n const [NumeroLiquidaciones] = useState(query.get(\"NumeroLiquidaciones\"))\r\n const [FechaTerminoSeleccionadoMonth] = useState(query.get(\"FechaTerminoSeleccionadoMonth\"))\r\n const [FechaTerminoSeleccionadoYear] = useState(query.get(\"FechaTerminoSeleccionadoYear\"))\r\n\r\n useEffect(()=>{\r\n fetchReportsCustomLiquidacionesExportUrl({\r\n Empresas,\r\n CentrosCosto,\r\n FechaIngreso,\r\n FechaIngreso2,\r\n Regiones,\r\n Sindicatos,\r\n Rut,\r\n Nombre,\r\n Estados,\r\n FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear,\r\n Condicion,\r\n NumeroLiquidaciones\r\n })\r\n },[Empresas,CentrosCosto,FechaIngreso,FechaIngreso2,Regiones,Sindicatos,Rut,Nombre,Estados,FechaTerminoSeleccionadoMonth,FechaTerminoSeleccionadoYear,Condicion,NumeroLiquidaciones,fetchReportsCustomLiquidacionesExportUrl])\r\n\r\n return (\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n fetchReportsCustomLiquidacionesExportUrl\r\n},dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportarReporteLiquidacionesPersonalizado)","import React, { useEffect/*, useState, useCallback*/ } from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './App.css';\nimport {BrowserRouter, Route, Switch} from 'react-router-dom'\nimport ProtectedRoute from './components/ProtectedRoute'\nimport NonRutProtectedRoute from './components/NonRutProtectedRoute'\nimport SignInCheck from './screens/SignInCheck'\nimport Login from './screens/Login'\nimport ResetPassword from './screens/ResetPassword'\nimport AdministracionDePersonal from './screens/AdministracionDePersonal'\nimport ExportarPersonal from './screens/ExportarPersonal'\nimport DetallesPersonalLiquidaciones from './screens/DetallesPersonal/Liquidaciones'\nimport DetallesPersonalDocumentos from './screens/DetallesPersonal/Documentos'\nimport UploadDocumentos from './screens/Upload/Documentos'\nimport UploadLiquidaciones from './screens/Upload/Liquidaciones'\nimport PanelConfiguracion from './screens/Configuracion/PanelConfiguracion'\nimport MantenedorDocumentos from './screens/Configuracion/MantenedorDocumentos'\nimport MantenedorUsuarios from './screens/Configuracion/MantenedorUsuarios'\nimport PanelReportes from './screens/Reportes/PanelReportes'\nimport ReportActivosSinContrato from './screens/Reportes/ReportActivosSinContrato'\nimport ReportContratosTerminadosSinFiniquito from './screens/Reportes/ReportContratosTerminadosSinFiniquito'\nimport ReportTrabajadoresSinNingunDocumento from './screens/Reportes/ReportTrabajadoresSinNingunDocumento'\nimport ReportTrabajadoresMenos6Liquidaciones from './screens/Reportes/ReportTrabajadoresMenos6Liquidaciones'\nimport ReportTrabajadoresSinUltimaLiquidacion from './screens/Reportes/ReportTrabajadoresSinUltimaLiquidacion'\nimport ReportTrabajadoresSinNingunaLiquidacion from './screens/Reportes/ReportTrabajadoresSinNingunaLiquidacion'\nimport ReportTrabajadoresSinVacaciones from './screens/Reportes/ReportTrabajadoresSinVacaciones'\nimport ExportarReporte from './screens/Reportes/ExportarReporte'\nimport ReportesLiquidaciones from './screens/Reportes/ReportesLiquidaciones'\nimport ReportesLiquidacionesResultados from './screens/Reportes/ReportesLiquidacionesResultados'\nimport ReportesDocumentos from './screens/Reportes/ReportesDocumentos'\nimport ReportesDocumentosResultados from './screens/Reportes/ReportesDocumentosResultados'\nimport ExportarReporteDocumentosPersonalizado from './screens/Reportes/ExportarReporteDocumentosPersonalizado'\nimport ExportarReporteLiquidacionesPersonalizado from './screens/Reportes/ExportarReporteLiquidacionesPersonalizado'\n\nimport { \n setSignedInChecked,\n setAuthData\n} from './store/actions/authActions'\nimport {\n fetchCompanies,\n fetchCostCenters,\n fetchRegions,\n fetchDocuments,\n fetchSindicatos,\n} from './store/actions/mantenedoresActions'\n\nconst App = ({\n authUserName,\n setSignedInChecked,\n setAuthData,\n signedInChecked,\n fetchCostCenters,\n fetchCompanies,\n fetchRegions,\n fetchDocuments,\n fetchSindicatos\n}) => {\n\n useEffect(()=>{\n if(authUserName!==''){\n fetchCompanies()\n fetchCostCenters()\n fetchRegions()\n fetchDocuments()\n fetchSindicatos()\n }\n },[fetchCostCenters,fetchCompanies,fetchRegions,fetchDocuments,fetchSindicatos,authUserName])\n\n useEffect(()=>{\n if(!signedInChecked){\n setTimeout(()=>{\n let data = localStorage.getItem('docuus')\n if(data!==null){\n let { UserName, token, userType,nombre,apellido,canUploadDocuments } = JSON.parse(data)\n setAuthData({ UserName, token, userType,nombre, apellido,canUploadDocuments })\n } else {\n setSignedInChecked({})\n }\n },1000)\n }\n },[signedInChecked,setSignedInChecked,setAuthData])\n\n if(!signedInChecked)\n return \n\n return (\n \n \n {/* Public pages */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mapStateToProps = state => {\n return {\n signedInChecked:state.auth.signedInChecked,\n authUserName:state.auth.UserName,\n }\n}\n\nconst mapDispatchToProps = dispatch => bindActionCreators({\n fetchCostCenters,\n fetchCompanies,\n fetchRegions,\n fetchDocuments,\n fetchSindicatos,\n setSignedInChecked,\n setAuthData,\n},dispatch)\n\nexport default connect(mapStateToProps, mapDispatchToProps)(App)\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import { \r\n SET_USERS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n employees:[],\r\n totalPages:1,\r\n currentPage:1,\r\n TotalRecords:0,\r\n\tStartRecord:0,\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_USERS:\r\n return {\r\n employees: [...action.employees],\r\n totalPages: action.totalPages,\r\n currentPage: action.currentPage,\r\n TotalRecords: action.TotalRecords,\r\n StartRecord: action.StartRecord,\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_USER_DETAILS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n details:null\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_USER_DETAILS:\r\n return {\r\n details:{...action.details}\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_COMPANIES\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n companies:[],\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_COMPANIES:\r\n return {\r\n companies: [...action.companies]\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_COST_CENTERS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n costCenters:[],\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_COST_CENTERS:\r\n return {\r\n costCenters: [...action.costCenters]\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_REGIONS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n regions:[],\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_REGIONS:\r\n return {\r\n regions: [...action.regions]\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_SINDICATOS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n sindicatos:[],\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_SINDICATOS:\r\n return {\r\n sindicatos: [...action.sindicatos]\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_DOCUMENTS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n documents:[],\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_DOCUMENTS:\r\n return {\r\n documents: [...action.documents]\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_SIGNEDIN_CHECKED,\r\n SET_AUTH_TOKEN,\r\n SET_CLEAN_AUTH,\r\n SET_RESET_PASSWORD,\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n UserName:'',\r\n userType:'',\r\n nombre:'',\r\n apellido:'',\r\n canUploadDocuments:false,\r\n token:'',\r\n signedIn:false,\r\n signedInChecked:false,\r\n resetPassword:false,\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_CLEAN_AUTH:\r\n return {...initialState}\r\n case SET_SIGNEDIN_CHECKED:\r\n return {...state,signedInChecked:true}\r\n case SET_RESET_PASSWORD:\r\n return {...state, resetPassword:true, UserName:action.UserName}\r\n case SET_AUTH_TOKEN:\r\n return {\r\n UserName:action.UserName,\r\n userType:action.userType,\r\n nombre:action.nombre,\r\n apellido:action.apellido,\r\n canUploadDocuments:action.canUploadDocuments,\r\n token:action.token,\r\n signedIn:true,\r\n signedInChecked:true,\r\n resetPassword:false,\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_CONFIGURACION_USUARIOS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n usuarios:[],\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_CONFIGURACION_USUARIOS:\r\n return {\r\n usuarios: [...action.usuarios]\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_REPORTS_SUMMARY\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n activosSinContrato:0,\r\n terminadosSinFiniquito:0,\r\n sinDocumentos:0,\r\n menos6Liquidaciones:0,\r\n sinUltimaLiquidacion:0,\r\n sinLiquidaciones:0,\r\n sinVacaciones:0,\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_REPORTS_SUMMARY:\r\n return {\r\n activosSinContrato: action.activosSinContrato,\r\n terminadosSinFiniquito: action.terminadosSinFiniquito,\r\n sinDocumentos: action.sinDocumentos,\r\n menos6Liquidaciones: action.menos6Liquidaciones,\r\n sinUltimaLiquidacion: action.sinUltimaLiquidacion,\r\n sinLiquidaciones: action.sinLiquidaciones,\r\n sinVacaciones: action.sinVacaciones,\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n SET_REPORTS_USERS,\r\n RESET_REPORTS_USER\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n employees:[],\r\n totalPages:1,\r\n currentPage:1,\r\n TotalRecords:0,\r\n\tStartRecord:0,\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_REPORTS_USERS:\r\n return {\r\n employees: [...action.employees],\r\n totalPages: action.totalPages,\r\n currentPage: action.currentPage,\r\n TotalRecords: action.TotalRecords,\r\n StartRecord: action.StartRecord,\r\n };\r\n case RESET_REPORTS_USER: return initialState\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n RESET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS,\r\n SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n Estado:\"\",\r\n Condicion:null,\r\n Documentos:[],\r\n Empresas:[],\r\n CentrosCosto:[],\r\n Regiones:[],\r\n Sindicatos:[],\r\n FechaDocumento:\"\",\r\n FechaDocumento2:\"\"\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case RESET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS:\r\n return initialState\r\n case SET_REPORTE_DOCUMENTOS_PERSONALIZADO_FILTERS:\r\n return {\r\n Estado: action.Estado,\r\n Condicion: action.Condicion,\r\n Documentos: [...action.Documentos],\r\n Empresas: [...action.Empresas],\r\n CentrosCosto: [...action.CentrosCosto],\r\n Regiones: [...action.Regiones],\r\n Sindicatos: [...action.Sindicatos],\r\n FechaDocumento:action.FechaDocumento,\r\n FechaDocumento2:action.FechaDocumento2\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { \r\n RESET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS,\r\n SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS\r\n} from '../actions/actionTypes'\r\n\r\nconst initialState = {\r\n Estado:\"\",\r\n Condicion:null,\r\n NumeroLiquidaciones:null,\r\n Empresas:[],\r\n CentrosCosto:[],\r\n Regiones:[],\r\n Sindicatos:[],\r\n FechaTerminoSeleccionadoMonth:null,\r\n FechaTerminoSeleccionadoYear:null,\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case RESET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS:\r\n return initialState\r\n case SET_REPORTE_LIQUIDACIONES_PERSONALIZADO_FILTERS:\r\n return {\r\n Estado: action.Estado,\r\n Condicion: action.Condicion,\r\n NumeroLiquidaciones: action.NumeroLiquidaciones,\r\n Empresas: [...action.Empresas],\r\n CentrosCosto: [...action.CentrosCosto],\r\n Regiones: [...action.Regiones],\r\n Sindicatos: [...action.Sindicatos],\r\n FechaTerminoSeleccionadoMonth:action.FechaTerminoSeleccionadoMonth,\r\n FechaTerminoSeleccionadoYear:action.FechaTerminoSeleccionadoYear,\r\n };\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\nexport default reducer","import { combineReducers } from 'redux'\r\nimport UsersReducer from './UsersReducer'\r\nimport UserDetailsReducer from './UserDetailsReducer'\r\nimport CompaniesReducer from './CompaniesReducer'\r\nimport CostCentersReducer from './CostCentersReducer'\r\nimport RegionsReducer from './RegionsReducer'\r\nimport SindicatosReducer from './SindicatosReducer'\r\nimport DocumentsReducer from './DocumentsReducer'\r\nimport AuthReducer from './AuthReducer'\r\nimport ConfiguracionUsuariosReducer from './ConfiguracionUsuariosReducer'\r\nimport ReportsSummaryReducer from './ReportsSummaryReducer'\r\nimport ReportsReducer from './ReportsReducer'\r\nimport ReportePersonalizadoDocumentosReducer from './ReportePersonalizadoDocumentosReducer'\r\nimport ReportePersonalizadoLiquidacionesReducer from './ReportePersonalizadoLiquidacionesReducer'\r\n\r\nexport default combineReducers({\r\n auth:AuthReducer,\r\n users:UsersReducer,\r\n userDetails:UserDetailsReducer,\r\n companies:CompaniesReducer,\r\n costCenters:CostCentersReducer,\r\n regions:RegionsReducer,\r\n sindicatos:SindicatosReducer,\r\n documents:DocumentsReducer,\r\n configuracionUsuarios:ConfiguracionUsuariosReducer,\r\n reportsSummary:ReportsSummaryReducer,\r\n reports:ReportsReducer,\r\n reporteDocumentos:ReportePersonalizadoDocumentosReducer,\r\n reporteLiquidaciones:ReportePersonalizadoLiquidacionesReducer,\r\n})","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nimport { createStore, applyMiddleware} from 'redux';\nimport ReduxThunk from 'redux-thunk';\nimport reducers from './store/reducers';\nimport { Provider } from 'react-redux';\n\nconst store = createStore(reducers, {}, applyMiddleware(ReduxThunk));\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}