{"version":3,"sources":["serviceWorker.js","components/GlobalStyles.js","mixins/chartjs.js","theme/index.js","theme/shadows.js","theme/typography.js","services/token.service.js","http-common.js","services/combosService.js","services/auth.service.js","layouts/DashboardLayout/NavBar/NavItem.js","layouts/DashboardLayout/NavBar/index.js","utils/appRoutes.js","components/LogoMini.js","layouts/DashboardLayout/TopBar.js","layouts/DashboardLayout/index.js","layouts/MainLayout/TopBar.js","layouts/MainLayout/index.js","components/Page.js","views/commons/RenderCellExpand.js","views/commons/DataTable.js","views/commons/ChipEstatusTable.js","services/ordenService.js","views/reports/DashboardView/DashboarOrders.js","views/reports/DashboardView/index.js","components/Logo.js","services/generalServices.js","views/auth/LoginView.js","views/errors/NotFoundView.js","services/usuariosService.js","views/auth/UpdatePassword.js","utils/PrivateRoute.js","views/commons/DialogForms.js","services/clientesService.js","views/commons/ConfirmationDialog.js","views/clientes/config/BusquedaClientes.js","views/clientes/config/ClientesToolBar.js","views/commons/GeneralBackDrop.js","views/commons/GeneralDialog.js","views/clientes/config/AltaCliente.js","views/clientes/config/index.js","services/amountFormat.js","views/clientes/Ordenes/NotificacionOrden.js","views/clientes/OrderCommons/OrderGeneral.js","views/clientes/Ordenes/AltaOrden.js","views/clientes/Ordenes/BusquedaOrdenes.js","views/clientes/Ordenes/OrdenesToolBar.js","views/clientes/Ordenes/index.js","views/clientes/ClienteOT/BusquedaAvOT.js","views/clientes/ClienteOT/OTClienteToolBar.js","views/clientes/ClienteOT/AltaClienteOT.js","views/clientes/ClienteOT/index.js","views/config/Usuarios/AltaUsuario.js","views/config/Usuarios/BusquedaUsuarios.js","views/config/Usuarios/UsuariosToolBar.js","views/config/Usuarios/index.js","services/hiperligaService.js","components/AvisoPrivacidad.js","views/clientes/CargaDocumentos/AvisoPrivacidad.js","views/clientes/CargaDocumentos/SummaryDocs.js","views/clientes/CargaDocumentos/index.js","views/clientes/SolicitudesOT/index.js","services/reportesService.js","views/Reportes/index.js","views/clientes/CargaMasiva/index.js","services/evaluacionService.js","views/Evaluaciones/Plantilla/AltaVivienda.js","views/Evaluaciones/Plantilla/Details.js","views/Evaluaciones/Plantilla/InputData.js","views/Evaluaciones/Plantilla/AltaPrincipal.js","views/Evaluaciones/Plantilla/index.js","views/Evaluaciones/Evaluacion/BuscarEvaluacion.js","views/Evaluaciones/Evaluacion/AltaEvaluacion.js","views/Evaluaciones/Evaluacion/index.js","routes.js","views/commons/GeneralMessages.js","App.js","index.js"],"names":["Boolean","window","location","hostname","match","useStyles","makeStyles","createStyles","boxSizing","margin","padding","html","height","width","body","backgroundColor","a","textDecoration","GlobalStyles","Chart","helpers","extend","elements","Rectangle","prototype","draw","left","right","top","bottom","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","borderWidth","cornerRadius","config","options","horizontal","base","x","y","barSize","Math","min","abs","halfStroke","borderLeft","borderRight","borderTop","borderBottom","beginPath","fillStyle","strokeStyle","borderColor","lineWidth","corners","startCorner","indexOf","cornerAt","index","corner","moveTo","i","nextCornerId","floor","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","fill","stroke","theme","createTheme","palette","background","dark","default","colors","common","white","paper","primary","main","green","contrastText","secondary","blue","text","blueGrey","MuiButton","raisedPrimary","color","AccordionSummary","shadows","typography","h1","fontWeight","fontSize","letterSpacing","h2","h3","h4","h5","h6","overline","TOKEN_KEY","getToken","localStorage","getItem","setToken","token","setItem","getUserName","isAuth","payload","split","payloadDecoded","atob","JSON","parse","sub","getRole","roles","logOut","clear","axiosInstance","axios","create","baseURL","headers","interceptors","request","use","authorization","tokenService","response","error","originalReq","undefined","status","retry","post","then","resp","data","catch","err","Promise","reject","CombosService","comboEstados","datosEstados","http","get","forEach","val","estado","value","id","label","nombreEstado","push","comboMunicipios","idEstado","datosMunicipios","municipio","nombreMunicipio","comboTipoCliente","datosTipoCliente","tipoCliente","comboClientes","datosClientes","listCliente","nombreCliente","comboEscuelas","datosEscuelas","listEscuelas","plantilla","tienePlantilla","comboEscuelasEvaluacion","comboAnalistas","datosAnalistas","listUsuarios","nombre","usuario","nombreUsuario","comboOrdenEstatus","datosOrdenEstatus","listOrdenEstatus","ordenEstatus","comboUsuariosCliente","idCliente","isAdmin","datosUsuarios","requestURL","listaUsuarios","email","supervisor","comboLinkEstatusActivos","datosLinkEstatus","linkEstatus","descripcion","comboGradoEscolar","datosGradoEscolar","length","gradoEscolar","labelRender","addComboMunicipios","mapaMunicipios","setComboMunicipios","setMapaMunicipios","existMunicipios","filter","item","key","newElement","comboFileTypeLink","fileTypeLink","itemFileType","comboReportes","datosReportes","listReportes","idReporte","comboVivienda","descViabilidad","datosVivienda","listVivienda","idVivienda","idViabilidad","comboPrincipal","datosPrincipal","listPrincipal","idPrincipal","login","autorizado","display","paddingTop","paddingBottom","blockItem","button","fontWeightMedium","justifyContent","textTransform","icon","marginRight","spacing","title","active","subTitle","fontWeightRegular","paddingLeft","NavItem","className","href","Icon","buttonType","buttonMap","rest","classes","React","useState","open","setOpen","notCollapse","event","stopPropagation","ListItem","clsx","disableGutters","component","Button","activeclassname","RouterLink","to","size","onClick","ExpandLess","ExpandMore","Collapse","in","timeout","unmountOnExit","List","disablePadding","map","subItem","user","dashItem","BarChartIcon","adminItems","SettingsIcon","UsersIcon","CheckIcon","ListIcon","analistaItems","clientesItems","mobileDrawer","desktopDrawer","avatar","cursor","NavBar","menuItems","onMobileClose","openMobile","rolUsuario","setIsAuth","setNombreUsuario","setRolUsuario","setComboEstados","resetPassword","useLocation","navigate","useNavigate","useEffect","mapRoutes","pathname","startsWith","buttonItem","validarToken","authService","datos","mensaje","combosService","respuesta","replace","console","log","content","Box","flexDirection","alignItems","p","Avatar","src","Typography","name","variant","Divider","flexGrow","Hidden","lgUp","Drawer","anchor","onClose","mdDown","defaultProps","LogoMini","props","alt","root","TopBar","onMobileNavOpen","AppBar","elevation","Toolbar","IconButton","overflow","wrapper","flex","breakpoints","up","contentContainer","DashboardLayout","isMobileNavOpen","setMobileNavOpen","setNombreCliente","setComboHiperliga","comboHiperliga","setComboOrdenEstatus","toolbar","MainLayout","Page","forwardRef","ref","children","Helmet","lineHeight","position","whiteSpace","textOverflow","GridCellExpand","useRef","cellDiv","cellValue","anchorEl","setAnchorEl","showFullCell","setShowFullCell","showPopper","setShowPopper","document","addEventListener","handleKeyDown","removeEventListener","nativeEvent","onMouseEnter","element","isCurrentlyOverflown","current","scrollHeight","clientHeight","scrollWidth","clientWidth","onMouseLeave","style","Popper","marginLeft","zIndex","Paper","minHeight","offsetHeight","renderCellExpand","params","colDef","DataTable","columns","rows","setSelectedRows","selectedRows","activateCheckBox","onChangeStatus","pageSize","setPageSize","Grid","container","md","sm","xs","align","Card","localeText","esES","MuiDataGrid","onPageSizeChange","newPageSize","rowsPerPageOptions","pagination","checkboxSelection","disableSelectionOnClick","autoHeight","onSelectionModelChange","newSelec","row","selectionModel","isRowSelectable","onCellEditCommit","ChipEstatusTable","desc","Chip","selectFiller","OrdenService","altaOrden","json","stringify","blob","Blob","type","formData","FormData","append","archivos","fileAux","estatus","archivo","put","searchOrdenes","isEval","urlSearch","haveValue","folio","investigado","desde","hasta","idOrdenEstatus","idAnalista","getOrdenById","idOrden","eliminaOrden","idOrdenes","terminarOrdenes","uploadArchivoAWS","itemFile","file","path","deleteOrderFile","downloadArchivoAWS","responseType","descargarZip","itemFiles","wrapperArchivos","archivosDTO","enviarEmailLiga","orden","enviarEmailOrdenEstauts","usersList","emailList","aux","ordenDTO","emails","generarFolio","random","toString","substr","toUpperCase","getBaseOrderByKey","urlKey","orderReturn","altaOrdenExpress","updateOrderStatus","patch","cargaMasiva","actions","customHoverFocus","DashboardOrders","setOpenBackDrop","rowsOrdenes","setRowsOrdenes","removeItem","reload","rol","handleAsync","ordenService","field","headerName","maxWidth","minWidth","headerClassName","renderCell","Tooltip","deleteIcon","Forward","onDelete","sortable","disableClickEventBubbling","CardHeader","Dashboard","Container","lg","Logo","e","input","target","start","selectionStart","end","selectionEnd","setSelectionRange","toLowerCase","trimTextUpperCase","trim","removeLetters","onlyAmounts","LoginView","setServerError","setOpenServerError","setResetPassword","setIsSupervisor","setIdCliente","setTipoCliente","useForm","register","handleSubmit","errors","onSubmit","param","userObject","password","res","message","mb","mt","TextField","fullWidth","onInput","genService","inputRef","required","maxLength","helperText","my","image","marginTop","NotFoundView","altaUsuario","searchUsuarios","deleteUser","idUsers","idUser","updatePassword","confPassword","marginBottom","UpdatePassword","setServerMessage","setOpenSnackError","setOpenSnackSuccess","setError","showPassword","setShowPassword","showConfirmPassword","setShowConfirmPassword","nuevoPassword","confirmPassword","userService","gutterBottom","FormControl","InputLabel","htmlFor","OutlinedInput","pattern","endAdornment","InputAdornment","edge","Visibility","VisibilityOff","labelWidth","FormHelperText","PrivateRoute","Component","spaceButton","DialogTitle","withStyles","closeButton","grey","setCloseDialog","disableTypography","Close","DialogContent","MuiDialogContent","DialogActions","MuiDialogActions","DialogForms","setOpenDialog","openDialog","titulo","submitButtonName","formName","actionButtonName","handleRef","disableButton","disableButtonFunc","funcButtonName","actionIcon","functionButton","downloadButtonName","downloadFunction","disableDownload","Dialog","dividers","disabled","endIcon","form","altaCliente","searchClientes","contacto","rfc","getClienteById","deleteClientes","idClientes","ConfirmationDialog","confirm","disableEscapeKeyDown","autoFocus","bottomSpace","BusquedaClientes","openPopper","setFechaDesde","setFechaHasta","fechaDesde","fechaHasta","comboTipoClientes","onSubmitAdv","control","openFechaHasta","setOpenFechaHasta","openFechaDesde","setOpenFechaDesde","getcontentanchorel","subheader","CardContent","locale","esLocale","utils","DateFnsUtils","onOpen","onChange","format","KeyboardButtonProps","formControl","defaultValue","as","Select","MenuProps","disablePortal","PaperProps","MenuItem","itemCliente","rightMargin","leftMargin","iconButton","divider","paperRoot","ClientesToolBar","setOpenAltaCliente","setRowsClientes","rowsClientes","reset","paperRef","handleClickAway","handleClickPopper","formulario","searchType","asyncCall","clientesService","errorCode","Fab","isEmpty","Delete","Add","ClickAwayListener","onClickAway","InputBase","placeholder","inputProps","onFocus","Search","orientation","keepMounted","Errores","Eliminados","del","backdrop","drawer","SimpleBackdrop","handleClose","Backdrop","CircularProgress","PaperComponent","handle","cancel","GeneralDialog","changeState","DialogContentText","accordionDetails","summary","verticalCenter","AltaCliente","setFormData","defaultValues","setValue","errorReq","acordionGeneral","setAcordionGeneral","acordionFiscales","setAcordionFiscales","acordionContactos","setAcordionContactos","acordionLink","setAcordionLink","openBack","setOpenBack","urlLink","setUrlLink","completeUrlLink","setCompleteUrlLink","linkTooltip","setLinkTooltip","estadoLink","setEstadoLink","openVigenciaInicio","setOpenVigenciaInicio","openVigenciaFin","setOpenVigenciaFin","vigenciaInicio","setVigenciaInicio","vigenciaFin","setVigenciaFin","resetForm","actividad","contactoPrincipal","telefonoPrincipal","extPrincipal","contactoSecundario","telefonoSecundario","extSecundaria","paginaWeb","observaciones","calle","numero","numeroInt","idMunicipio","colonia","cp","pais","contactoEntregas","emailEntregas","telefonoEntregas","contactoPago","emailPago","telefonoPago","origin","fechaVigenciaInicio","fechaVigenciaFin","linkActivo","currentDate","Date","currDateOneMonth","setMonth","getMonth","useImperativeHandle","resetClientesForm","onError","telefonoAdicional","extAdicional","modClient","find","Object","assign","finally","Accordion","expanded","expandIcon","AccordionDetails","rules","render","readOnly","evento","newValue","contactoPrimario","telefonoPrimario","extPrimaria","multiline","minRows","getComboMunicipios","edo","mun","emailPagos","telefonoPagos","Link","tooltip","leaveDelay","arrow","navigator","clipboard","writeText","FileCopyOutlined","FormLabel","RadioGroup","currentTarget","FormControlLabel","Radio","labelPlacement","GeneralBackDrop","Clientes","setComboTipoClientes","openAltaCliente","clienteRef","getTiposClientes","paramRow","modifyCustomer","custData","onClickEdit","Edit","NumberFormatCustom","other","getInputRef","onValueChange","values","thousandSeparator","isNumericString","valEmail","spaces","cardHeader","list","listLeft","not","b","intersection","NotificacionOrden","setOpenNotificacion","openNotificacion","setLeft","setRight","emailData","setOpenAltaOrden","clearErrors","checked","setChecked","leftChecked","rightChecked","handleToggle","currentIndex","newChecked","splice","numberOfChecked","items","handleToggleAll","handleCheckedLeft","concat","sendNotification","descOrdenEstatus","customList","Checkbox","indeterminate","onKeyUp","mailVal","newEmail","test","dense","role","labelId","ListItemIcon","tabIndex","disableRipple","ListItemText","FiberManualRecord","moment","fechaCita","comentarios","direction","OrderGeneral","isLaboral","isEscuela","valGradoEscolar","setValGradoEscolar","optionsCliente","valComboClientes","setValComboClientes","setIsEscuela","setIsLaboral","getComboGradoEscolar","getComboUsuarioCliente","comboUsuarios","valComboUsuarios","setValComboUsuarios","filtro","createFilterOptions","onlyRead","onLoad","Autocomplete","sort","firstLetter","localeCompare","groupBy","option","getOptionLabel","renderOption","renderInput","regCliente","regUsuario","puesto","matricula","filterOptions","filtered","inputValue","opt","selectOnFocus","clearOnBlur","handleHomeEndKeys","freeSolo","newVal","pctBeca","direccion","emailPrimario","emailAdicional","dropZoneStyle","dropZoneText","fontFamily","black","boxShadow","AltaOrden","setIdOrden","setComboGradoEscolar","mapaUsuarios","setMapaUsuarios","setComboUsuarios","getValues","trigger","formState","acordionEvaluacion","setAcordionEvaluacion","acordionArchivos","setAcordionArchivos","acordionLiga","setAcordionLiga","valComboAnalistas","setValComboAnalistas","setFolio","rowsFiles","setRowsFiles","openFechaCita","setOpenFechaCita","setFechaCita","openFechaInicioLiga","setOpenFechaInicioLiga","fechaInicioLiga","setFechaInicioLiga","openFechaFinLiga","setOpenFechaFinLiga","fechaFinLiga","setFechaFinLiga","llaveLiga","setLlaveLiga","linkDocs","setLinkDocs","correosLiga","setCorreosLiga","helperMailsMessage","setHelperMailsMessage","inputMailValue","setInputMailValue","openEliminarMasiva","setOpenEliminarMasiva","emailStatusData","setEmailStatusData","deleteFileRow","setDeleteFileRow","idDireccion","setIdDireccion","estadoLigaVal","setEstadoLigaVal","fileSelected","setFileSelected","reqFechaCita","setReqFechaCita","reqComentarios","setReqComentarios","confirmarHiperliga","setConfirmarHiperliga","idUsuario","existUsuarios","selectComboUsuarios","idGradoEscolar","selecGrado","selectComboClientes","selectComboAnalistas","listCorreosLiga","estadoLiga","llenaComboUsuarios","idUsuarioCliente","orderStatus","auxStatus","auxCliente","deleteMasiveFiles","nonSelectedRows","enServidor","includes","onClickEnviarHiperliga","onAddCorreos","lastVal","mail","isNotificacion","modOrden","strOrdenEstatus","fechaTermino","fechaFinalizacionLigaStr","auxFile","estatusSelec","auxEstatus","descEstatusLiga","edoLink","idEstatusLiga","resetOrdenForm","ordenStatus","importeFacturar","fechaSolicitudStr","sendOrderStatusEmail","firstError","keys","focus","descargaMasiva","files","filteredFile","filesObject","link","createElement","URL","createObjectURL","download","click","errorResp","finalError","columnsFiles","hideSortIcons","downloadFileAsync","InputLabelProps","shrink","regAnalista","InputProps","startAdornment","inputComponent","AmountFormat","newDate","multiple","onInputChange","reason","renderTags","getTagProps","MailOutlined","clickable","addValue","tempArray","newCorreosList","disableClearable","onKeyDown","keyCode","onBlur","smDown","Send","mdUp","dropzoneClass","acceptedFiles","onDrop","fileList","filesList","uploadFileToS3","slice","existingFile","findIndex","nombreArchivo","nombreSinExtension","substring","lastIndexOf","extension","nombreCorto","fileBucketName","tipoArchivo","agregaArchivos","filesLimit","dropzoneText","fontStyle","maxFileSize","showPreviewsInDropzone","alertSnackbarProps","anchorOrigin","vertical","showAlerts","getDropRejectMessage","GetAppTwoTone","density","disableColumnFilter","disableColumnMenu","disableVirtualization","hideFooter","selec","BusquedaOrdenes","getContentAnchorEl","transformOrigin","OrdenesToolBar","openDialogTerminar","setOpenDialogTerminar","mensajeError","Check","Ordenes","comboLabelStatus","setComboLabelStatus","openAltaOrden","updateRowStatus","setUpdateRowStatus","openComentarios","setOpenComentarios","setComentarios","setComboClientes","setComboAnalistas","setActionbuttonName","ordenRef","openAlta","altaFlag","idOrdenAlta","rowId","modifyOrder","ordenId","saveOrderStatus","getCombosAsync","labelStatus","idDashOrden","editable","valueOptions","chipEstatusTable","fieldUpdated","rowSel","rw","updateStatus","Email","BusquedaAvOT","AltaClienteOT","openEliminar","setOpenEliminar","setOpenAlta","setOrdenEstatus","fechaCitaStr","setFechaCitaStr","estatusSolicitada","estatusHiperliga","clienteId","labelOrdenEstatus","fechaTerminoStr","uploadedFile","listFiles","deleteFile","ClienteOT","orderId","OTClienteToolBar","closeIcon","float","checkBoxVerde","AltaUsuario","preloadedValues","rowsUsers","setIdUsuario","isCliente","setIsCliente","isSupervisor","resetUsuariosForm","comboValue","handleSubmitII","modUser","rolDesc","minLength","BusquedaUsuarios","dropdown","border","UsuariosToolBar","setRowsUsers","usuariosService","Usuario","comboRoles","setComboRoles","usuarioRef","getComboRoles","newRoles","rolTemp","rolEnum","handleCloseDialog","Autorenew","awaitUpdatePw","HiperligaService","getOrdenByKey","orderKey","actualizarArchivos","hiperligaDTO","listaArchivos","keyLink","descargarPDF","AvisoPrivacidad","dialog","setOpenAviso","openAviso","setAceptarAviso","SummaryDocs","fechaFinalizacion","downloadVoucher","paddingRight","paddingGrid","errorStyle","textAlign","CargaDocs","setFechaFinalizacion","nombreInvestigado","setNombreInvestigado","estatusPagina","setEstatusPagina","showFinalized","setShowFinalized","openFinalizar","setOpenFinalizar","aceptarAviso","useSearchParams","searchParams","setSearchParams","errorGeneral","setErrorGeneral","fileTypes","setFilesTypes","finalizar","setFinalizar","ligaKey","setLigaKey","onFinalizar","setOnFinalizar","openRejected","setOpenRejected","rowsRejected","setRowsRejected","columnsRejected","encodeURIComponent","getOrdenData","hiperligaService","onClickRemove","rowParam","defVal","auxVal","idTipoArchivo","rowIndex","api","getAllRowIds","nameComponent","maxRows","preventDefault","generalMessage","altaArchivos","archivoDTO","avisoPrivacidad","cont","fileItem","rowRejected","fileName","rechazo","currentFile","uniqueId","keyIndex","crypto","randomUUID","fileNewName","File","onDropRejected","fileRej","rechazoMsg","Save","DoubleArrow","Solicitudes","setIdOrdenEstatus","setIdEstatusLiga","errorLigaSolicitud","setErrorLigaSolicitud","openGenerar","setOpenGenerar","encodedURL","getBaseOrder","generateReport","Reportes","setComboReportes","valComboReporte","setValComboReporte","fechaInicio","setFechaInicio","fechaFin","setFechaFin","openFechaInicio","setOpenFechaInicio","openFechaFin","setOpenFechaFin","reportService","dateRepo","regReporte","toLocaleDateString","previewChip","CargaMasiva","setArchivo","respuestaServer","setRespuestaServer","showPreviews","previewText","useChipsForPreview","previewGridProps","previewChipProps","Publish","EvaluacionService","generarPlantilla","evalDTO","guardarVivienda","viviendaDTO","guardarPrincipal","principalDTO","guardarPlantillaEval","evaluacionDTO","getPlantilla","getEvaluacionByOrden","getEvaluacionDetalles","guardaEvaluacion","descargarEvaluacion","AltaVivienda","itemDTO","comboViviendaA","comboViviendaB1","comboViviendaB2","comboViviendaB3","comboViviendaC","setComboViviendaA","setComboViviendaB1","setComboViviendaB2","setComboViviendaB3","setComboViviendaC","selectedCombo","selectedSetCombo","existValue","viabilidad","evaluacionService","bottomSpace1","tableWidth","Table","borderCollapse","borderSpacing","MuiTable","TableCell","MuiTableCell","TabPanel","hidden","Details","tabValue","setTabValue","evaluacion","setOpenAddDialog","setTituloDialog","setItemDTO","comboPrincipalA","comboPrincipalB1","comboPrincipalB2","comboPrincipalB3","comboPrincipalC","setOpenAddDialogPrin","valComboPrincipal","valComboVivienda","setValComboPrincipal","setValComboVivienda","setEvaluacion","valComboEscuelas","setValComboEscuelas","resetPlantilla","setResetPlantilla","requiredField","maxPct","toCurrency","numberString","number","parseFloat","toLocaleString","removeZero","fieldName","charAt","errorEmptyFields","boolVivienda","boolPrincipal","boolDeuda","detalles","viviendaArr","vivienda","principalArr","principal","deudaArr","deuda","auxItem","deudaMin","deudaMax","appBar","Tabs","indicatorColor","textColor","Tab","AttachMoney","MoneyOff","House","Work","AccountBalance","TableContainer","TableBody","viavIndex","keyIngresos","TableRow","rowSpan","ingresos","rowItem","keyRow","factor","montoMin","montoMax","keyEgresos","egresos","keyVivienda","viabilidadDTO","comboName","keyPrincipal","keyDeuda","nameDeudaMin","nameDeudaMax","gridTemplateColumns","gridGap","iconSelected","InputData","blockFields","setBlockFields","twoChars","mayorCero","clearFields","onSelectCliente","detalle","comboVivName","auxComboViv","vivA","comboPrinName","auxComboPrin","prinA","ingresosFin","Done","visibility","regEscuelas","filasIngresos","filasVivienda","filasDeuda","ingresosInicio","egresosInicio","egresosFin","Refresh","AltaPrincipal","setComboPrincipalA","setComboPrincipalB1","setComboPrincipalB2","setComboPrincipalB3","setComboPrincipalC","Plantilla","viviendaRef","principalRef","setComboEscuelas","openAddDialog","tituloDialog","openAddDialogPrin","formDataPrin","setFormDataPrin","accordionSumm","combo","BusquedaEvaluaciones","mostrarBusqueda","setMostrarBusqueda","valueCombo","setValueCombo","valueComboEstatus","setValueComboEstatus","TuneTwoTone","table","tableHeader","mainColumn","resColumn","tableCell","borderRadius","backgroundImage","outline","outlineOffset","checkedIcon","AltaEvaluacion","setDisableSubmit","setIdEvaluacion","idEvaluacion","setConfirmarSalida","confirmarSalida","setOpenEvaluacion","openBackDrop","setCambioEvaluacion","watch","disableIngresos","setDisableIngresos","disableEgresos","setDisableEgresos","disableDeuda","setDisableDeuda","acordionDatos","setAcordionDatos","acordionFactores","setAcordionFactores","disableVivienda","setDisableVivienda","valueVivienda","setValueVivienda","disablePrincipal","setDisablePrincipal","valuePrincipal","setValuePrincipal","updateState","setUpdateState","sinIngresos","sinEgresos","sinVivienda","sinPrincipal","sinDeuda","viviendaValue","viv","principalValue","prin","round2Decimals","ammount","round","calcularFactores","evalua","colegiatura","colegiaturaHermanos","montoDeuda","diversion","montoColegBeca","egresosBeca","colegiaturaGastos","porcentajeColegiatura","colegiaturaBeca","pctColegiaturaBeca","montoDeficit","porcentajeDeficit","deficitBeca","pctDeficitBeca","porcentajeDeuda","montoDiversion","porcentajeDiversion","montoLiquidez","porcentajeLiquidez","montoLiquidezBeca","pctLiquidezBeca","setDatosEvaluacion","specPrincipal","specVivienda","porcentajeBeca","recomendacion","crearEValuacion","resetEvalForm","validationTrigger","output","descVivienda","descPrincipal","TableHead","displayType","prefix","suffix","colSpan","evalItem","scope","ingresosFactor","ingresosMin","ingresosMax","egresosFactor","egresosMin","egresosMax","viviendaFactor","viviendaMin","viviendaMax","principalFactor","principalMin","principalMax","deudaFactor","pctIngresos","pctEgresos","pctVivienda","pctPrincipal","pctDeuda","puntosIngresos","puntosEgresos","puntosVivienda","puntosPrincipal","puntosDeuda","puntosTotal","resultadoEvaluacion","Evaluacion","evalRef","openEvaluacion","setComboVivienda","setComboPrincipal","disableSubmit","cambioEvaluacion","viviendaItems","principalItems","CheckCircle","Cancel","downloadEvaluacion","BuscarEvaluacion","cerrar","routes","DashboardView","Usuarios","CargaDocumentos","SolicitudesOT","GeneralMessages","openSnackSuccess","handleCloseSnackSuccess","serverMessage","openSnackError","handleCloseSnackError","serverError","Snackbar","autoHideDuration","Alert","severity","App","Number","routing","useRoutes","ThemeProvider","ReactDOM","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.1fc3bba0.chunk.js","sourcesContent":["/* eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import { createStyles, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => createStyles({\n '@global': {\n '*': {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n },\n html: {\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n height: '100%',\n width: '100%'\n },\n body: {\n backgroundColor: '#f4f6f8',\n height: '100%',\n width: '100%'\n },\n a: {\n textDecoration: 'none'\n },\n '#root': {\n height: '100%',\n width: '100%'\n }\n }\n}));\n\nconst GlobalStyles = () => {\n useStyles();\n\n return null;\n};\n\nexport default GlobalStyles;\n","import { Chart } from 'react-chartjs-2';\n\n// ChartJS extension rounded bar chart\n// https://codepen.io/jedtrow/full/ygRYgo\nfunction draw() {\n const { ctx } = this._chart;\n const vm = this._view;\n let { borderWidth } = vm;\n\n let left;\n let right;\n let top;\n let bottom;\n let signX;\n let signY;\n let borderSkipped;\n let radius;\n\n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let { cornerRadius } = this._chart.config.options;\n if (cornerRadius < 0) {\n cornerRadius = 0;\n }\n\n if (typeof cornerRadius === 'undefined') {\n cornerRadius = 0;\n }\n\n if (!vm.horizontal) {\n // bar\n left = vm.x - vm.width / 2;\n right = vm.x + vm.width / 2;\n top = vm.y;\n bottom = vm.base;\n signX = 1;\n signY = bottom > top ? 1 : -1;\n borderSkipped = vm.borderSkipped || 'bottom';\n } else {\n // horizontal bar\n left = vm.base;\n right = vm.x;\n top = vm.y - vm.height / 2;\n bottom = vm.y + vm.height / 2;\n signX = right > left ? 1 : -1;\n signY = 1;\n borderSkipped = vm.borderSkipped || 'left';\n }\n\n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n borderWidth = borderWidth > barSize ? barSize : borderWidth;\n const halfStroke = borderWidth / 2;\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\n const borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\n const borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\n const borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop;\n bottom = borderBottom;\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft;\n right = borderRight;\n }\n }\n\n ctx.beginPath();\n ctx.fillStyle = vm.backgroundColor;\n ctx.strokeStyle = vm.borderColor;\n ctx.lineWidth = borderWidth;\n\n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [[left, bottom], [left, top], [right, top], [right, bottom]];\n\n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right'];\n let startCorner = borders.indexOf(borderSkipped, 0);\n if (startCorner === -1) {\n startCorner = 0;\n }\n\n function cornerAt(index) {\n return corners[(startCorner + index) % 4];\n }\n\n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0);\n ctx.moveTo(corner[0], corner[1]);\n\n for (let i = 1; i < 4; i += 1) {\n corner = cornerAt(i);\n let nextCornerId = i + 1;\n if (nextCornerId === 4) {\n nextCornerId = 0;\n }\n\n const width = corners[2][0] - corners[1][0];\n const height = corners[0][1] - corners[1][1];\n const x = corners[1][0];\n const y = corners[1][1];\n\n radius = cornerRadius;\n // Fix radius being too large\n if (radius > Math.abs(height) / 2) {\n radius = Math.floor(Math.abs(height) / 2);\n }\n if (radius > Math.abs(width) / 2) {\n radius = Math.floor(Math.abs(width) / 2);\n }\n\n if (height < 0) {\n // Negative values in a standard bar chart\n const xTl = x;\n const xTr = x + width;\n const yTl = y + height;\n const yTr = y + height;\n\n const xBl = x;\n const xBr = x + width;\n const yBl = y;\n const yBr = y;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else if (width < 0) {\n // Negative values in a horizontal bar chart\n const xTl = x + width;\n const xTr = x;\n const yTl = y;\n const yTr = y;\n\n const xBl = x + width;\n const xBr = x;\n const yBl = y + height;\n const yBr = y + height;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else {\n // Positive Value\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(\n x + width,\n y + height,\n x + width - radius,\n y + height\n );\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n }\n }\n\n ctx.fill();\n if (borderWidth) {\n ctx.stroke();\n }\n}\n\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\n draw\n});\n","import { createTheme, colors } from '@material-ui/core';\nimport shadows from './shadows';\nimport typography from './typography';\n\nconst theme = createTheme({\n palette: {\n background: {\n dark: '#F4F6F8',\n default: colors.common.white,\n paper: colors.common.white\n },\n primary: {\n main: colors.green[500], /* '#84af2d', */\n contrastText: '#fff'\n },\n secondary: {\n main: colors.blue[500]\n },\n text: {\n primary: colors.blueGrey[900],\n secondary: colors.blueGrey[600],\n },\n MuiButton: {\n raisedPrimary: {\n color: 'white',\n },\n },\n AccordionSummary: {\n background: '#4caf508a'\n }\n },\n shadows,\n typography,\n /* overrides: {\n MuiButton: {\n raisedPrimary: {\n color: 'white',\n },\n },\n } */\n});\n\nexport default theme;\n","export default [\n 'none',\n '0 0 0 1px rgba(63,63,68,0.05), 0 1px 2px 0 rgba(63,63,68,0.15)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 2px 2px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 8px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 5px 8px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 8px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 9px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 10px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 11px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 12px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 13px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 14px 24px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 16px 28px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 18px 30px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 20px 32px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 22px 34px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 24px 36px -8px rgba(0,0,0,0.25)'\n];\n","export default {\n h1: {\n fontWeight: 500,\n fontSize: 35,\n letterSpacing: '-0.24px'\n },\n h2: {\n fontWeight: 500,\n fontSize: 29,\n letterSpacing: '-0.24px'\n },\n h3: {\n fontWeight: 500,\n fontSize: 24,\n letterSpacing: '-0.06px'\n },\n h4: {\n fontWeight: 500,\n fontSize: 20,\n letterSpacing: '-0.06px'\n },\n h5: {\n fontWeight: 500,\n fontSize: 16,\n letterSpacing: '-0.05px'\n },\n h6: {\n fontWeight: 500,\n fontSize: 14,\n letterSpacing: '-0.05px'\n },\n overline: {\n fontWeight: 500\n }\n};\n","const TOKEN_KEY = 'authorization';\n\nclass TokenService {\n getToken = () => {\n return window.localStorage.getItem(TOKEN_KEY);\n }\n\n setToken = (token) => {\n window.localStorage.setItem(TOKEN_KEY, token);\n }\n\n getUserName = (isAuth) => {\n if (!isAuth) {\n return null;\n }\n const payload = this.getToken().split('.')[1];\n const payloadDecoded = atob(payload);\n const values = JSON.parse(payloadDecoded);\n const username = values.sub;\n return username;\n }\n\n getRole = (isAuth) => {\n if (!isAuth) {\n return null;\n }\n const payload = this.getToken().split('.')[1];\n const payloadDecoded = atob(payload);\n const values = JSON.parse(payloadDecoded);\n const roles = values.roles[0];\n if (roles === 'ROLE_ADMIN') {\n return 'ADMINISTRADOR';\n }\n if (roles === 'ROLE_ANALISTA') {\n return 'ANALISTA';\n }\n if (roles === 'ROLE_CLIENTE') {\n return 'CLIENTE';\n }\n return null;\n }\n\n logOut = () => {\n window.localStorage.clear();\n }\n}\nexport default new TokenService();\n","import axios from 'axios';\nimport tokenService from './services/token.service';\n\nconst axiosInstance = axios.create({\n baseURL: 'https://servicios-consultores-cc.link',\n /* baseURL: 'http://localhost:5000', */\n headers: {\n 'Content-type': 'application/json'\n }\n});\n\naxiosInstance.interceptors.request.use(\n (config) => {\n config.headers.authorization = `${'Bearer '}${tokenService.getToken()}`;\n return config;\n }\n);\n\naxiosInstance.interceptors.response.use(\n (response) => {\n return response;\n }, async (error) => {\n const originalReq = error.config;\n if (error.response !== undefined && error.response.status === 401 && !originalReq.retry) {\n originalReq.retry = true;\n const token = tokenService.getToken();\n if (token !== undefined && token !== null) {\n await axiosInstance.post('/auth/refresh', { token }).then((resp) => {\n tokenService.setToken(resp.data.token);\n }).catch((err) => {\n return Promise.reject(err);\n });\n }\n originalReq.headers.authorization = `${'Bearer '}${tokenService.getToken()}`;\n return axiosInstance(originalReq);\n }\n return Promise.reject(error);\n }\n);\n\nexport default axiosInstance;\n\n/* export default axios.create({\n //baseURL: \"http://testspring-env.eba-wed7ged4.us-west-2.elasticbeanstalk.com\",\n baseURL: \"http://localhost:5000\",\n headers: {\n \"Content-type\": \"application/json\"\n }\n}); */\n","import http from '../http-common';\n\nclass CombosService {\n comboEstados = async () => {\n const datosEstados = [];\n await http.get('/catalogo/estados').then((resp) => {\n resp.data.forEach((val) => {\n const estado = { value: val.id, label: val.nombreEstado };\n datosEstados.push(estado);\n });\n });\n return datosEstados;\n }\n\n comboMunicipios = async (idEstado) => {\n const datosMunicipios = [];\n await http.get(`/catalogo/municipios/${idEstado}`).then((resp) => {\n resp.data.forEach((val) => {\n const municipio = { value: val.id, label: val.nombreMunicipio };\n datosMunicipios.push(municipio);\n });\n });\n return datosMunicipios;\n }\n\n comboTipoCliente = async () => {\n const datosTipoCliente = [];\n await http.get('/catalogo/tiposCliente').then((resp) => {\n resp.data.forEach((val) => {\n const tipoCliente = { value: val.tipoCliente, label: val.tipoCliente };\n datosTipoCliente.push(tipoCliente);\n });\n });\n return datosTipoCliente;\n }\n\n comboClientes = async () => {\n const datosClientes = [];\n await http.get('/catalogo/clientesActivos').then((resp) => {\n resp.data.forEach((val) => {\n const listCliente = {\n value: val.id,\n label: val.nombreCliente,\n tipoCliente: val.tipoCliente\n };\n datosClientes.push(listCliente);\n });\n });\n return datosClientes;\n }\n\n comboEscuelas = async () => {\n const datosEscuelas = [];\n await http.get('/catalogo/escuelasEvaluacion').then((resp) => {\n resp.data.forEach((val) => {\n const listEscuelas = {\n value: val.id,\n label: val.nombreCliente,\n plantilla: val.tienePlantilla\n };\n datosEscuelas.push(listEscuelas);\n });\n });\n return datosEscuelas;\n }\n\n comboEscuelasEvaluacion = async () => {\n const datosEscuelas = [];\n await http.get('/catalogo/escuelasEvaluacionPlantilla').then((resp) => {\n resp.data.forEach((val) => {\n const listEscuelas = {\n value: val.id,\n label: val.nombreCliente,\n plantilla: val.tienePlantilla\n };\n datosEscuelas.push(listEscuelas);\n });\n });\n return datosEscuelas;\n }\n\n comboAnalistas = async () => {\n const datosAnalistas = [];\n await http.get('/catalogo/analistasActivos').then((resp) => {\n resp.data.forEach((val) => {\n const listUsuarios = {\n value: val.id,\n label: val.nombre,\n usuario: val.nombreUsuario\n };\n datosAnalistas.push(listUsuarios);\n });\n });\n return datosAnalistas;\n }\n\n comboOrdenEstatus = async () => {\n const datosOrdenEstatus = [];\n await http.get('/catalogo/getOrdenEstatus').then((resp) => {\n resp.data.forEach((val) => {\n const listOrdenEstatus = {\n value: val.id,\n label: val.ordenEstatus\n };\n datosOrdenEstatus.push(listOrdenEstatus);\n });\n });\n return datosOrdenEstatus;\n }\n\n comboUsuariosCliente = async (idCliente, isAdmin) => {\n const datosUsuarios = [];\n let requestURL = '';\n if (isAdmin) {\n requestURL = '/catalogo/getUsuariosEmail';\n } else {\n requestURL = '/catalogo/getUsuariosCliente';\n }\n await http.get(`${requestURL}/${idCliente}`).then((resp) => {\n resp.data.forEach((val) => {\n const listaUsuarios = {\n value: val.id,\n usuario: val.nombreUsuario,\n nombreUsuario: val.nombre,\n email: val.email,\n supervisor: val.supervisor\n };\n datosUsuarios.push(listaUsuarios);\n });\n });\n return datosUsuarios;\n }\n\n comboLinkEstatusActivos = async () => {\n const datosLinkEstatus = [];\n await http.get('/catalogo/linkEstatusActivos').then((resp) => {\n resp.data.forEach((val) => {\n const linkEstatus = {\n value: val.id,\n label: val.descripcion\n };\n datosLinkEstatus.push(linkEstatus);\n });\n });\n return datosLinkEstatus;\n }\n\n comboGradoEscolar = async (idCliente) => {\n const datosGradoEscolar = [];\n await http.get(`/catalogo/gradoEscolar/${idCliente}`).then((resp) => {\n if (resp.data !== undefined && resp.data.length > 0) {\n resp.data.forEach((val) => {\n const gradoEscolar = {\n value: val.id,\n label: val.descripcion,\n labelRender: val.descripcion\n };\n datosGradoEscolar.push(gradoEscolar);\n });\n }\n });\n return datosGradoEscolar;\n }\n\n addComboMunicipios = (idEstado, mapaMunicipios, setComboMunicipios,\n setMapaMunicipios) => {\n const existMunicipios = mapaMunicipios.filter((item) => item.key === idEstado);\n if (existMunicipios !== undefined && existMunicipios.length > 0) {\n setComboMunicipios(existMunicipios[0].value);\n } else {\n this.comboMunicipios(idEstado).then((resp) => {\n setComboMunicipios(resp);\n setMapaMunicipios((newElement) => [...newElement, { key: idEstado, value: resp }]);\n });\n }\n };\n\n comboFileTypeLink = async () => {\n const fileTypeLink = [];\n await http.get('/cargaDocumentos/tipoArchivo').then((resp) => {\n resp.data.forEach((val) => {\n const itemFileType = {\n value: val.id,\n label: val.descripcion\n };\n fileTypeLink.push(itemFileType);\n });\n });\n return fileTypeLink;\n }\n\n comboReportes = async () => {\n const datosReportes = [];\n await http.get('/catalogo/reportes').then((resp) => {\n resp.data.forEach((val) => {\n const listReportes = {\n value: val.idReporte,\n label: val.descripcion\n };\n datosReportes.push(listReportes);\n });\n });\n return datosReportes;\n }\n\n comboVivienda = async (descViabilidad) => {\n const datosVivienda = [];\n await http.get(`/catalogo/vivienda/${descViabilidad}`).then((resp) => {\n resp.data.forEach((val) => {\n const listVivienda = {\n value: val.idVivienda,\n label: val.descripcion,\n idViabilidad: val.idViabilidad,\n descViabilidad: val.descViabilidad\n };\n datosVivienda.push(listVivienda);\n });\n });\n return datosVivienda;\n }\n\n comboPrincipal = async (descViabilidad) => {\n const datosPrincipal = [];\n await http.get(`/catalogo/principal/${descViabilidad}`).then((resp) => {\n resp.data.forEach((val) => {\n const listPrincipal = {\n value: val.idPrincipal,\n label: val.descripcion,\n idViabilidad: val.idViabilidad,\n descViabilidad: val.descViabilidad\n };\n datosPrincipal.push(listPrincipal);\n });\n });\n return datosPrincipal;\n }\n}\n\nexport default new CombosService();\n","import http from '../http-common';\n\nclass AuthService {\n login = (data) => {\n return http.post('/auth/login', data);\n }\n\n roles = () => {\n return http.get('/catalogo/rolesActivos');\n }\n\n autorizado = () => {\n return http.get('/auth/checkAuth');\n }\n}\n\nexport default new AuthService();\n","import React from 'react';\nimport { NavLink as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n ListItem,\n makeStyles,\n Collapse,\n List\n} from '@material-ui/core';\nimport {\n ExpandLess,\n ExpandMore\n} from '@material-ui/icons';\n\nconst useStyles = makeStyles((theme) => ({\n item: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n blockItem: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n color: theme.palette.text.secondary,\n fontWeight: theme.typography.fontWeightMedium,\n justifyContent: 'flex-start',\n letterSpacing: 0,\n padding: '10px 8px',\n textTransform: 'none',\n width: '100%'\n },\n icon: {\n marginRight: theme.spacing(1)\n },\n title: {\n marginRight: 'auto'\n },\n active: {\n color: theme.palette.primary.main,\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n },\n '& $icon': {\n color: theme.palette.primary.main\n }\n },\n subTitle: {\n fontWeight: theme.typography.fontWeightRegular,\n paddingLeft: '40px'\n },\n}));\n\nconst NavItem = ({\n className,\n href,\n icon: Icon,\n title,\n buttonType,\n buttonMap,\n ...rest\n}) => {\n const classes = useStyles();\n const [open, setOpen] = React.useState(false);\n const handleClick = () => {\n setOpen(!open);\n };\n const notCollapse = (event) => {\n event.stopPropagation();\n };\n\n return (\n
\n {\n buttonType === 'boton'\n ? (\n \n \n {Icon && (\n \n )}\n \n {title}\n \n \n \n )\n : (\n \n \n {Icon && (\n \n )}\n \n {title}\n \n {open ? : }\n \n \n \n \n {buttonMap.map((subItem) => (\n \n \n {subItem.title}\n \n \n ))}\n \n \n \n \n )\n }\n
\n );\n};\n\nNavItem.propTypes = {\n className: PropTypes.string,\n href: PropTypes.string,\n icon: PropTypes.elementType,\n title: PropTypes.string,\n buttonType: PropTypes.string,\n buttonMap: PropTypes.array\n};\n\nexport default NavItem;\n","import React, { useEffect } from 'react';\nimport { Link as RouterLink, useLocation, useNavigate } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport {\n Avatar,\n Box,\n /* Button, */\n Divider,\n Drawer,\n Hidden,\n List,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport {\n BarChart as BarChartIcon,\n Settings as SettingsIcon,\n /* ShoppingBag as ShoppingBagIcon,\n User as UserIcon,\n UserPlus as UserPlusIcon,\n Lock as LockIcon,\n AlertCircle as AlertCircleIcon, */\n Users as UsersIcon,\n List as ListIcon,\n CheckCircle as CheckIcon\n} from 'react-feather';\nimport {\n dashboard,\n altaCliente,\n altaUsuario,\n ordenes,\n login,\n passwordReset,\n clienteOT,\n reportes,\n cargaMasiva,\n plantilla,\n evaluacion\n} from 'src/utils/appRoutes';\nimport combosService from 'src/services/combosService';\nimport authService from 'src/services/auth.service';\nimport tokenService from 'src/services/token.service';\nimport NavItem from './NavItem';\n\nconst user = {\n avatar: '/static/images/avatars/noProfilePicture.jpg',\n jobTitle: 'Senior Developer',\n name: 'Katarina Smith'\n};\nconst dashItem = [\n {\n href: dashboard(),\n icon: BarChartIcon,\n title: 'Dashboard',\n buttonType: 'boton'\n }\n];\nconst adminItems = [\n {\n href: dashboard(),\n icon: BarChartIcon,\n title: 'Dashboard',\n buttonType: 'boton'\n },\n {\n icon: SettingsIcon,\n title: 'Configuración',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: altaUsuario(),\n title: 'Usuarios'\n }\n ]\n },\n {\n icon: UsersIcon,\n title: 'Clientes',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: altaCliente(),\n title: 'Administrar'\n },\n {\n href: ordenes(),\n title: 'Ordenes'\n },\n {\n href: cargaMasiva(),\n title: 'Carga Másiva'\n }\n ]\n },\n {\n icon: CheckIcon,\n title: 'Evaluaciones',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: evaluacion(),\n title: 'Registrar Evaluación'\n },\n {\n href: plantilla(),\n title: 'Crear Plantilla'\n },\n ]\n },\n {\n icon: ListIcon,\n title: 'Reportes',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: reportes(),\n title: 'Generar'\n },\n ]\n }\n];\nconst analistaItems = [\n {\n href: dashboard(),\n icon: BarChartIcon,\n title: 'Dashboard',\n buttonType: 'boton'\n },\n {\n icon: UsersIcon,\n title: 'Clientes',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: ordenes(),\n title: 'Ordenes'\n },\n {\n href: cargaMasiva(),\n title: 'Carga Másiva'\n }\n ]\n },\n {\n icon: CheckIcon,\n title: 'Evaluaciones',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: evaluacion(),\n title: 'Registrar Evaluación'\n },\n {\n href: plantilla(),\n title: 'Crear Plantilla'\n },\n ]\n },\n];\nconst clientesItems = [\n {\n href: dashboard(),\n icon: BarChartIcon,\n title: 'Dashboard',\n buttonType: 'boton'\n },\n {\n icon: UsersIcon,\n title: 'Clientes',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: clienteOT(),\n title: 'Ordenes de Trabajo'\n }\n ]\n }\n];\n/* const items = [\n {\n href: dashboard(),\n icon: BarChartIcon,\n title: 'Dashboard',\n buttonType: 'boton'\n },\n {\n icon: SettingsIcon,\n title: 'Configuración',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: altaUsuario(),\n title: 'Usuarios'\n }\n ]\n },\n {\n icon: UsersIcon,\n title: 'Clientes',\n buttonType: 'acordion',\n buttonMap: [\n {\n href: altaCliente(),\n title: 'Alta cliente'\n },\n {\n href: '/app/customers',\n title: 'Buscar cliente'\n }\n ]\n },\n {\n href: '/app/customers',\n icon: UsersIcon,\n title: 'Customers',\n buttonType: 'boton'\n },\n {\n href: '/app/products',\n icon: ShoppingBagIcon,\n title: 'Products',\n buttonType: 'boton'\n },\n {\n href: '/app/account',\n icon: UserIcon,\n title: 'Account',\n buttonType: 'boton'\n },\n {\n href: '/login',\n icon: LockIcon,\n title: 'Login',\n buttonType: 'boton'\n },\n {\n href: '/passwordReset',\n icon: UserPlusIcon,\n title: 'PasswordReset',\n buttonType: 'boton'\n },\n {\n href: '/404',\n icon: AlertCircleIcon,\n title: 'Error',\n buttonType: 'boton'\n }\n]; */\n\nconst useStyles = makeStyles(() => ({\n mobileDrawer: {\n width: 256\n },\n desktopDrawer: {\n width: 256,\n top: 64,\n height: 'calc(100% - 64px)'\n },\n avatar: {\n cursor: 'pointer',\n width: 64,\n height: 64\n }\n}));\n\nconst NavBar = ({\n onMobileClose,\n openMobile,\n nombreUsuario,\n rolUsuario,\n setIsAuth,\n setNombreUsuario,\n setRolUsuario,\n setComboEstados,\n comboEstados,\n resetPassword,\n nombreCliente\n}) => {\n const classes = useStyles();\n const location = useLocation();\n let menuItems;\n switch (rolUsuario) {\n case 'ADMINISTRADOR':\n menuItems = adminItems;\n break;\n case 'CLIENTE':\n menuItems = clientesItems;\n break;\n case 'ANALISTA':\n menuItems = analistaItems;\n break;\n default:\n menuItems = dashItem;\n break;\n }\n const navigate = useNavigate();\n\n useEffect(() => {\n if (openMobile && onMobileClose) {\n onMobileClose();\n }\n const mapRoutes = [];\n if (rolUsuario !== null) {\n menuItems.map((item) => {\n if (item.href !== 'undefined' && location.pathname.startsWith(item.href)) {\n mapRoutes.push(item);\n }\n if (item.buttonMap) {\n item.buttonMap.map((buttonItem) => {\n if (location.pathname.startsWith(buttonItem.href)) {\n mapRoutes.push(buttonItem);\n }\n return mapRoutes;\n });\n }\n return mapRoutes;\n });\n }\n\n const validarToken = async () => {\n const token = tokenService.getToken();\n if (token) {\n await authService.autorizado().then((datos) => {\n if (datos.data != null && datos.data.mensaje === 'OK') {\n setNombreUsuario(tokenService.getUserName(true));\n setRolUsuario(tokenService.getRole(true));\n setIsAuth(true);\n if (comboEstados !== undefined && comboEstados.length === 0) {\n combosService.comboEstados().then((respuesta) => {\n setComboEstados(respuesta);\n });\n }\n if (resetPassword === 'true') {\n navigate(passwordReset(), { replace: true });\n } else {\n navigate(dashboard(), { replace: true });\n }\n } else {\n tokenService.logOut();\n setIsAuth(false);\n navigate(login(), { replace: true });\n }\n }).catch((error) => {\n console.log('Error en la autenticación', error);\n setIsAuth(false);\n tokenService.logOut();\n navigate(login(), { replace: true });\n });\n } else {\n setIsAuth(false);\n navigate(login(), { replace: true });\n }\n };\n if (rolUsuario === null || mapRoutes.length === 0) {\n validarToken();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n const content = (\n \n \n \n \n {nombreUsuario}\n \n \n {rolUsuario !== 'CLIENTE'\n ? (\n rolUsuario\n ) : (\n nombreCliente\n )}\n \n \n \n \n \n {menuItems.map((item) => (\n \n ))}\n \n \n \n {/* \n \n Need more?\n \n \n Upgrade to PRO version and access 20 more screens\n \n \n \n See PRO version\n \n \n */}\n \n );\n\n return (\n <>\n \n \n {content}\n \n \n \n \n {content}\n \n \n \n );\n};\n\nNavBar.propTypes = {\n onMobileClose: PropTypes.func,\n openMobile: PropTypes.bool,\n nombreUsuario: PropTypes.string,\n rolUsuario: PropTypes.string,\n setIsAuth: PropTypes.func,\n setNombreUsuario: PropTypes.func,\n setRolUsuario: PropTypes.func,\n setComboEstados: PropTypes.func,\n comboEstados: PropTypes.array,\n resetPassword: PropTypes.string,\n nombreCliente: PropTypes.string\n};\n\nNavBar.defaultProps = {\n onMobileClose: () => {},\n openMobile: false\n};\n\nexport default NavBar;\n","export function root() {\n return '/';\n}\n\nexport function login() {\n return '/login';\n}\n\nexport function logout() {\n return '/';\n}\n\nexport function dashboard() {\n return '/app/dashboard';\n}\n\nexport function altaCliente() {\n return '/app/altaCliente';\n}\n\nexport function ordenes() {\n return '/app/ordenes';\n}\n\nexport function plantilla() {\n return '/app/plantillas';\n}\n\nexport function evaluacion() {\n return '/app/evaluacion';\n}\n\nexport function reportes() {\n return '/app/reportes';\n}\n\nexport function altaUsuario() {\n return '/app/config/usuarios';\n}\n\nexport function passwordReset() {\n return '/passwordReset';\n}\n\nexport function clienteOT() {\n return '/app/clientes/ordenes';\n}\n\nexport function cargaMasiva() {\n return '/app/cargaMasiva';\n}\n","import React from 'react';\n\n// Andale Brahiam, arregla este logo.\nconst LogoMini = (props) => {\n return (\n \n );\n};\n\nexport default LogoMini;\n","import React, {/* useState */} from 'react';\nimport { Link as RouterLink, useNavigate } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n AppBar,\n // Badge,\n Box,\n Hidden,\n IconButton,\n Toolbar,\n makeStyles\n} from '@material-ui/core';\nimport MenuIcon from '@material-ui/icons/Menu';\n// import NotificationsIcon from '@material-ui/icons/NotificationsOutlined';\nimport ExitIcon from '@material-ui/icons/ExitToAppOutlined';\nimport LogoMini from 'src/components/LogoMini';\nimport tokenService from 'src/services/token.service';\nimport { dashboard, root } from 'src/utils/appRoutes';\n\nconst useStyles = makeStyles(() => ({\n root: {},\n avatar: {\n width: 60,\n height: 60\n }\n}));\n\nconst TopBar = ({\n className,\n onMobileNavOpen,\n setIsAuth,\n ...rest\n}) => {\n const classes = useStyles();\n // const [notifications] = useState([]);\n const navigate = useNavigate();\n const exitApp = () => {\n tokenService.logOut();\n setIsAuth(false);\n navigate(root(), { replace: true });\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n \n \n \n */}\n \n \n \n \n \n \n );\n};\n\nTopBar.propTypes = {\n className: PropTypes.string,\n onMobileNavOpen: PropTypes.func,\n setIsAuth: PropTypes.func\n};\n\nexport default TopBar;\n","import React, { useState } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport NavBar from './NavBar';\nimport TopBar from './TopBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n width: '100%'\n },\n wrapper: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden',\n paddingTop: 64,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 256\n }\n },\n contentContainer: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden'\n },\n content: {\n flex: '1 1 auto',\n height: '100%',\n overflow: 'auto'\n }\n}));\n\nconst DashboardLayout = ({\n ...props\n}) => {\n const classes = useStyles();\n const [isMobileNavOpen, setMobileNavOpen] = useState(false);\n const {\n isAuth,\n nombreCliente,\n setNombreCliente,\n resetPassword,\n setComboHiperliga,\n comboHiperliga,\n setComboOrdenEstatus,\n comboOrdenEstatus,\n comboEstados,\n setComboEstados,\n setRolUsuario,\n setNombreUsuario,\n nombreUsuario,\n rolUsuario,\n ...rest\n } = props;\n\n /* useEffect(() => {\n console.log('inicio del dashboard');\n console.log('Props', props);\n console.log('Rest', rest);\n }, []); */\n\n return (\n
\n setMobileNavOpen(true)} {...rest} />\n setMobileNavOpen(false)}\n openMobile={isMobileNavOpen}\n {...props}\n />\n
\n
\n
\n \n
\n
\n
\n
\n );\n};\nDashboardLayout.propTypes = {\n isAuth: PropTypes.bool,\n nombreCliente: PropTypes.string,\n setNombreCliente: PropTypes.func,\n resetPassword: PropTypes.string,\n setComboHiperliga: PropTypes.func,\n comboHiperliga: PropTypes.array,\n setComboOrdenEstatus: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n comboEstados: PropTypes.array,\n setComboEstados: PropTypes.func,\n setRolUsuario: PropTypes.func,\n setNombreUsuario: PropTypes.func,\n nombreUsuario: PropTypes.string,\n rolUsuario: PropTypes.string\n};\nexport default DashboardLayout;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n AppBar,\n Toolbar,\n makeStyles\n} from '@material-ui/core';\nimport LogoMini from 'src/components/LogoMini';\n\nconst useStyles = makeStyles(({\n root: {},\n toolbar: {\n height: 64\n }\n}));\n\nconst TopBar = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n );\n};\n\nTopBar.propTypes = {\n className: PropTypes.string\n};\n\nexport default TopBar;\n","import React from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { makeStyles } from '@material-ui/core';\nimport TopBar from './TopBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n width: '100%'\n },\n wrapper: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden',\n paddingTop: 64\n },\n contentContainer: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden'\n },\n content: {\n flex: '1 1 auto',\n height: '100%',\n overflow: 'auto'\n }\n}));\n\nconst MainLayout = () => {\n const classes = useStyles();\n\n return (\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n );\n};\n\nexport default MainLayout;\n","import React, { forwardRef } from 'react';\nimport { Helmet } from 'react-helmet';\nimport PropTypes from 'prop-types';\n\nconst Page = forwardRef(({\n children,\n title = '',\n ...rest\n}, ref) => {\n return (\n \n \n {title}\n \n {children}\n \n );\n});\n\nPage.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string\n};\n\nexport default Page;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport Paper from '@material-ui/core/Paper';\nimport Popper from '@material-ui/core/Popper';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles(() => ({\n root: {\n alignItems: 'center',\n lineHeight: '24px',\n width: '100%',\n height: '100%',\n position: 'relative',\n display: 'flex',\n '& .cellValue': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n },\n}));\n\nfunction isOverflown(element) {\n return (\n element.scrollHeight > element.clientHeight\n || element.scrollWidth > element.clientWidth\n );\n}\n\nconst GridCellExpand = (props) => {\n const { width, value } = props;\n const wrapper = React.useRef(null);\n const cellDiv = React.useRef(null);\n const cellValue = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const classes = useStyles();\n const [showFullCell, setShowFullCell] = React.useState(false);\n const [showPopper, setShowPopper] = React.useState(false);\n\n const handleMouseEnter = () => {\n const isCurrentlyOverflown = isOverflown(cellValue.current);\n setShowPopper(isCurrentlyOverflown);\n setAnchorEl(cellDiv.current);\n setShowFullCell(true);\n };\n\n const handleMouseLeave = () => {\n setShowFullCell(false);\n };\n\n React.useEffect(() => {\n if (!showFullCell) {\n return undefined;\n }\n\n function handleKeyDown(nativeEvent) {\n // IE11, Edge (prior to using Bink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n setShowFullCell(false);\n }\n }\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [setShowFullCell, showFullCell]);\n\n return (\n \n \n
\n {value}\n
\n {showPopper && (\n \n \n \n {value}\n \n \n \n )}\n \n );\n};\n\nGridCellExpand.propTypes = {\n value: PropTypes.string.isRequired,\n width: PropTypes.number.isRequired,\n};\n\nfunction renderCellExpand(params) {\n return (\n \n );\n}\n\nrenderCellExpand.propTypes = {\n colDef: PropTypes.object.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.number,\n PropTypes.object,\n PropTypes.string,\n PropTypes.bool,\n ]),\n};\n\nexport default renderCellExpand;\n","import * as React from 'react';\nimport { DataGrid, esES } from '@material-ui/data-grid';\nimport { Card, Grid, makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles(() => ({\n root: {\n '&.header-datagrid': { backgroundColor: '#4caf50' }\n }\n}));\n\nexport default function DataTable({\n columns, rows, setSelectedRows, selectedRows,\n nombreUsuario, activateCheckBox, onChangeStatus\n}) {\n const [pageSize, setPageSize] = React.useState(20);\n const classes = useStyles();\n return (\n \n \n \n setPageSize(newPageSize.pageSize)}\n rowsPerPageOptions={[20, 50, 100]}\n pagination\n checkboxSelection={activateCheckBox}\n disableSelectionOnClick\n autoHeight\n onSelectionModelChange={(newSelec) => {\n console.log(newSelec);\n console.log(rows);\n rows.filter((row) => console.log(row.id));\n setSelectedRows(newSelec);\n }}\n selectionModel={selectedRows}\n isRowSelectable={(params) => (\n nombreUsuario === undefined || params.row.nombreUsuario !== nombreUsuario\n )}\n onCellEditCommit={onChangeStatus}\n />\n \n \n \n );\n}\nDataTable.propTypes = {\n rows: PropTypes.array,\n columns: PropTypes.array,\n setSelectedRows: PropTypes.func,\n selectedRows: PropTypes.array,\n nombreUsuario: PropTypes.string,\n activateCheckBox: PropTypes.bool,\n onChangeStatus: PropTypes.func,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chip } from '@material-ui/core';\n\nconst ChipEstatusTable = (props) => {\n const { value } = props;\n const selectColor = (desc) => {\n if (desc === 'TERMINADO') {\n return 'secondary';\n }\n return 'primary';\n };\n const selectFiller = (desc) => {\n if (desc === 'SOLICITADA' || desc === 'TERMINADO') {\n return 'default';\n }\n return 'outlined';\n };\n return (\n \n );\n};\n\nChipEstatusTable.propTypes = {\n value: PropTypes.string,\n};\n\nexport default ChipEstatusTable;\n","import http from '../http-common';\n\nclass OrdenService {\n altaOrden = (data) => {\n const config = {\n headers: {\n 'Content-Type': 'multipart/form-data',\n }\n };\n const json = JSON.stringify(data);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n const formData = new FormData();\n formData.append('orden', blob);\n data.archivos?.forEach((fileAux) => {\n if (fileAux.estatus === 'NUEVO') {\n formData.append('files', fileAux.archivo);\n }\n });\n if (data.id === 0) {\n return http.post('/ordenes/add', formData, config);\n }\n return http.put('/ordenes/update', formData, config);\n }\n\n searchOrdenes = (data, isEval) => {\n let urlSearch;\n if (isEval) {\n urlSearch = '/evaluaciones/buscarOrdenes?';\n } else {\n urlSearch = '/ordenes/buscarOrdenes?';\n }\n let haveValue = false;\n if (data.folio !== undefined && data.folio !== '') {\n haveValue = true;\n urlSearch += `folio=${data.folio}`;\n }\n if (data.nombreCliente !== undefined && data.nombreCliente !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `nombreCliente=${data.nombreCliente}`;\n }\n if (data.investigado !== undefined && data.investigado !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `investigado=${data.investigado}`;\n }\n if (data.desde !== undefined && data.desde !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `desde=${data.desde}`;\n }\n if (data.hasta !== undefined && data.hasta !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `hasta=${data.hasta}`;\n }\n if (data.estado !== undefined && data.estado !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `estado=${data.estado}`;\n }\n if (data.estatus !== undefined && data.estatus !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `estatus=${data.estatus}`;\n }\n if (data.idOrdenEstatus !== undefined && data.idOrdenEstatus !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `idOrdenEstatus=${data.idOrdenEstatus}`;\n }\n if (data.idAnalista !== undefined && data.idAnalista !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `idAnalista=${data.idAnalista}`;\n }\n if (data.idCliente !== undefined && data.idCliente !== null) {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `idCliente=${data.idCliente}`;\n }\n if (haveValue) {\n urlSearch += '&pagina=0&limite=1000';\n } else {\n urlSearch += 'pagina=0&limite=1000';\n }\n return http.get(urlSearch);\n }\n\n getOrdenById = (idOrden) => {\n const urlSearch = `/ordenes/${idOrden}`;\n return http.get(urlSearch);\n }\n\n eliminaOrden = (idOrdenes) => {\n const json = JSON.stringify(idOrdenes);\n return http.put('/ordenes/delete', json);\n }\n\n terminarOrdenes = (idOrdenes) => {\n const json = JSON.stringify(idOrdenes);\n return http.put('/ordenes/terminar', json);\n }\n\n uploadArchivoAWS = (itemFile, file) => {\n const config = {\n headers: {\n 'Content-type': 'multipart/form-data'\n }\n };\n const formData = new FormData();\n formData.append('files', file);\n formData.append('pathName', itemFile.path);\n return http.post('ordenes/uploadOrderFile', formData, config);\n }\n\n deleteOrderFile = (itemFile) => {\n return http.put('ordenes/borrarArchivos', itemFile);\n }\n\n downloadArchivoAWS = (itemFile) => {\n const config = {\n headers: {\n 'Content-type': 'multipart/form-data'\n },\n responseType: 'blob'\n };\n const json = JSON.stringify(itemFile);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n const formData = new FormData();\n formData.append('archivoDTO', blob);\n return http.put('ordenes/downloadArchivo', formData, config);\n }\n\n descargarZip = (itemFiles, archivos, folio) => {\n const config = {\n headers: {\n 'Content-type': 'multipart/form-data'\n },\n responseType: 'blob'\n };\n const formData = new FormData();\n archivos?.forEach((element) => {\n formData.append('files', element);\n });\n const wrapperArchivos = {};\n wrapperArchivos.archivosDTO = itemFiles;\n const json = JSON.stringify(wrapperArchivos);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n formData.append('archivoDTO', blob);\n formData.append('folioOrden', folio);\n return http.put('ordenes/descargarArchivos', formData, config);\n }\n\n enviarEmailLiga = async (orden) => {\n return http.put('ordenes/emailLinkOT', orden);\n }\n\n enviarEmailOrdenEstauts = async (orden, usersList) => {\n const emailList = usersList.map((aux) => aux.email);\n return http.put('ordenes/emailOrdenEstatus', { ordenDTO: orden, emails: emailList });\n }\n\n generarFolio = () => {\n return Math.random().toString(36).substr(2, 10).toUpperCase();\n }\n\n getBaseOrderByKey = async (urlKey) => {\n const orderReturn = `/solicitudes?urlKey=${urlKey}`;\n return http.get(orderReturn);\n }\n\n altaOrdenExpress = async (datos) => {\n return http.post('solicitudes/create', datos);\n }\n\n updateOrderStatus = async (datos) => {\n return http.patch('ordenes/update', datos);\n }\n\n cargaMasiva = (data, archivo) => {\n const config = {\n headers: {\n 'Content-Type': 'multipart/form-data',\n }\n };\n const json = JSON.stringify(data);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n const formData = new FormData();\n formData.append('datosCliente', blob);\n formData.append('files', archivo[0]);\n return http.post('/cargaMasiva/add', formData, config);\n }\n}\n\nexport default new OrdenService();\n","import React, { useEffect, useState } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Box,\n Card,\n CardHeader,\n Divider,\n Chip,\n makeStyles,\n Tooltip,\n IconButton\n} from '@material-ui/core';\nimport { clienteOT, ordenes } from 'src/utils/appRoutes';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport DataTable from 'src/views/commons/DataTable';\nimport ChipEstatusTable from 'src/views/commons/ChipEstatusTable';\nimport ordenService from 'src/services/ordenService';\nimport { Forward } from '@material-ui/icons';\nimport { useNavigate } from 'react-router-dom';\nimport tokenService from 'src/services/token.service';\n\nconst useStyles = makeStyles(() => ({\n root: {},\n actions: {\n justifyContent: 'flex-end'\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n }\n}));\n\nconst DashboardOrders = ({\n className,\n setOpenBackDrop,\n rolUsuario\n}) => {\n const classes = useStyles();\n const navigate = useNavigate();\n const [rowsOrdenes, setRowsOrdenes] = useState([]);\n\n useEffect(() => {\n setOpenBackDrop(true);\n if (window.localStorage.getItem('refresh')) {\n window.localStorage.removeItem('refresh');\n window.location.reload(false);\n } else {\n const handleAsync = async (data) => {\n setOpenBackDrop(true);\n await ordenService.searchOrdenes(data, false).then((resp) => {\n setRowsOrdenes(resp.data);\n }).catch((error) => {\n console.log(error);\n });\n setOpenBackDrop(false);\n };\n let data = {\n estatus: 'SOLICITADA',\n };\n let rol;\n if (rolUsuario === null) {\n rol = tokenService.getRole(true);\n } else {\n rol = rolUsuario;\n }\n if (rol === 'CLIENTE' || rol === 'ANALISTA') {\n data = {\n estatus: '!TERMINADO'\n };\n }\n handleAsync(data);\n }\n }, []);\n\n const columns = [\n {\n field: 'folio',\n headerName: 'Folio',\n maxWidth: 150,\n minWidth: 150,\n headerClassName: 'header-datagrid',\n renderCell: (params) => {\n const onClick = () => {\n window.localStorage.setItem('idOrden', params.row.id);\n let rol;\n if (rolUsuario === null) {\n rol = tokenService.getRole(true);\n } else {\n rol = rolUsuario;\n }\n if (rol === 'CLIENTE') {\n console.log('Navigate to cliente OT');\n navigate(clienteOT());\n } else {\n console.log('Navigate to cliente Oodenes');\n navigate(ordenes());\n }\n };\n return (\n \n \n )}\n onDelete={onClick}\n />\n \n );\n }\n },\n {\n field: 'descOrdenEstatus',\n headerName: 'Estatus',\n minWidth: 110,\n flex: 1,\n renderCell: ChipEstatusTable,\n },\n {\n field: 'nombreUsuario',\n headerName: 'Usuario',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombreCliente',\n headerName: 'Cliente',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombre',\n headerName: 'Investigado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'telefonoPrimario',\n headerName: 'Teléfono',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'fechaSolicitudStr',\n headerName: 'Solicitud',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'descEstado',\n headerName: 'Estado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'consultar',\n headerName: 'Consultar',\n maxWidth: 40,\n minWidth: 40,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClick = () => {\n window.localStorage.setItem('idOrden', params.row.id);\n let rol;\n if (rolUsuario === null) {\n rol = tokenService.getRole(true);\n } else {\n rol = rolUsuario;\n }\n if (rol === 'CLIENTE') {\n console.log('Navigate to cliente OT');\n navigate(clienteOT());\n } else {\n console.log('Navigate to cliente Oodenes');\n navigate(ordenes());\n }\n };\n return (\n
\n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n \n \n \n \n \n \n \n );\n};\n\nDashboardOrders.propTypes = {\n className: PropTypes.string,\n setOpenBackDrop: PropTypes.func,\n rolUsuario: PropTypes.string\n};\n\nexport default DashboardOrders;\n","import React from 'react';\nimport {\n Container,\n Grid,\n makeStyles\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport DashboardOrders from './DashboarOrders';\n/* import LatestOrders from './LatestOrders';\nimport Budget from './Budget';\nimport LatestProducts from './LatestProducts';\nimport Sales from './Sales';\nimport TasksProgress from './TasksProgress';\nimport TotalCustomers from './TotalCustomers';\nimport TotalProfit from './TotalProfit';\nimport TrafficByDevice from './TrafficByDevice'; */\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n }\n}));\n\nconst Dashboard = ({ ...props }) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n {/* \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n */}\n \n \n \n );\n};\n\nexport default Dashboard;\n","import React from 'react';\n\n// Andale Brahiam, arregla este logo.\nconst Logo = (props) => {\n return (\n \n );\n};\n\nexport default Logo;\n","class GeneralService {\n toUpperCase = (e) => {\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n e.target.value = input.value.toUpperCase();\n input.setSelectionRange(start, end);\n };\n\n toLowerCase = (e) => {\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n e.target.value = input.value.toLowerCase();\n input.setSelectionRange(start, end);\n };\n\n trimTextUpperCase = (e) => {\n e.target.value = e.target.value.trim().toUpperCase();\n };\n\n removeLetters = (e) => {\n e.target.value = e.target.value.replace(/[^0-9]+/g, '');\n };\n\n onlyAmounts = (e) => {\n e.target.value = e.target.value.replace(/[^0-9&.]+/g, '');\n };\n}\n\nexport default new GeneralService();\n","import React, { useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useForm } from 'react-hook-form';\nimport {\n Box,\n Button,\n Container,\n Grid,\n TextField,\n Typography,\n makeStyles\n} from '@material-ui/core';\n/* import FacebookIcon from 'src/icons/Facebook';\nimport GoogleIcon from 'src/icons/Google'; */\nimport Logo from 'src/components/Logo';\nimport Page from 'src/components/Page';\nimport genService from 'src/services/generalServices';\nimport authService from 'src/services/auth.service';\nimport {\n root,\n dashboard,\n passwordReset,\n login\n} from 'src/utils/appRoutes';\nimport combosService from 'src/services/combosService';\nimport PropTypes from 'prop-types';\nimport tokenService from 'src/services/token.service';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n height: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n }\n}));\n\nconst LoginView = ({\n setIsAuth, setRolUsuario, setNombreUsuario, setOpenBackDrop,\n comboEstados, setComboEstados, setServerError, setOpenServerError,\n setResetPassword, setNombreCliente, setIsSupervisor, setIdCliente,\n setTipoCliente\n}) => {\n const {\n register,\n handleSubmit,\n errors\n } = useForm();\n const classes = useStyles();\n const navigate = useNavigate();\n\n useEffect(() => {\n const validarToken = async () => {\n if (tokenService.getToken() !== null && tokenService.getToken() !== undefined) {\n await authService.autorizado().then((datos) => {\n if (datos.data != null && datos.data.mensaje === 'OK') {\n navigate(dashboard(), { replace: true });\n } else {\n window.localStorage.clear();\n setIsAuth(false);\n navigate(login(), { replace: true });\n }\n }).catch((error) => {\n setIsAuth(false);\n console.log('Error el validar token:', error);\n window.localStorage.clear();\n navigate(login(), { replace: true });\n });\n }\n };\n validarToken();\n }, []);\n\n const onSubmit = async (param) => {\n const userObject = {\n nombreUsuario: param.usuario,\n password: param.password\n };\n setOpenBackDrop(true);\n await authService.login(userObject).then((res) => {\n /* Agregar mensajes de error desde la API */\n if (res.data.token !== null || res.data.token !== '') {\n tokenService.setToken(res.data.token);\n setIsAuth(true);\n setNombreUsuario(tokenService.getUserName(true));\n setRolUsuario(tokenService.getRole(true));\n setNombreCliente(res.data.nombreCliente);\n setIdCliente(res.data.idCliente);\n setTipoCliente(res.data.tipoCliente);\n if (res.data.idCliente !== null) {\n window.localStorage.setItem('idCliente', res.data.idCliente);\n window.localStorage.setItem('nombreCliente', res.data.nombreCliente);\n window.localStorage.setItem('tipoCliente', res.data.tipoCliente);\n }\n if (res.data.supervisor !== undefined) {\n setIsSupervisor(res.data.supervisor);\n }\n if (comboEstados !== undefined && comboEstados.length === 0) {\n combosService.comboEstados().then((respuesta) => {\n setComboEstados(respuesta);\n });\n }\n if (res.data.resetPassword) {\n setResetPassword(true);\n window.localStorage.setItem('reset', true);\n navigate(passwordReset(), { replace: false });\n } else {\n window.localStorage.setItem('reset', false);\n window.localStorage.setItem('refresh', true);\n navigate(dashboard(), { replace: true });\n }\n } else {\n setIsAuth(false);\n navigate(root(), { replace: true });\n }\n }).catch((error) => {\n setOpenBackDrop(false);\n if (error.response) {\n console.log('Error al login:', error.response.data.message);\n setServerError(error.response.data.message);\n } else {\n setServerError(error.message);\n }\n setIsAuth(false);\n setOpenServerError(true);\n navigate(root(), { replace: true });\n });\n setOpenBackDrop(false);\n };\n\n return (\n \n \n \n \n \n Inicio de sesión\n \n \n \n \n \n \n \n \n \n Ingrese sus credenciales\n \n \n
\n \n \n \n \n Iniciar Sesión\n \n \n {/* \n Sign up\n */}\n \n
\n \n \n );\n};\nLoginView.propTypes = {\n setIsAuth: PropTypes.func,\n setNombreUsuario: PropTypes.func,\n setRolUsuario: PropTypes.func,\n setOpenBackDrop: PropTypes.func,\n comboEstados: PropTypes.array,\n setComboEstados: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenServerError: PropTypes.func,\n setResetPassword: PropTypes.func,\n setNombreCliente: PropTypes.func,\n setIsSupervisor: PropTypes.func,\n setIdCliente: PropTypes.func,\n setTipoCliente: PropTypes.func\n};\nexport default LoginView;\n","import React from 'react';\nimport {\n Box,\n Container,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n height: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n },\n image: {\n marginTop: 50,\n display: 'inline-block',\n maxWidth: '100%',\n width: 560\n }\n}));\n\nconst NotFoundView = () => {\n const classes = useStyles();\n\n return (\n \n \n \n \n 404: The page you are looking for isn’t here\n \n \n You either tried some shady route or you came here by mistake.\n Whichever it is, try using the navigation\n \n {/* \n \n */}\n \n \n \n );\n};\n\nexport default NotFoundView;\n","import http from '../http-common';\n\nclass UsuariosService {\n altaUsuario = (data) => {\n if (data.id === 0) {\n return http.post('/usuarios/add', data);\n }\n return http.put('/usuarios/update', data);\n }\n\n searchUsuarios = (data) => {\n let urlSearch = '/usuarios/search?';\n let haveValue = false;\n if (data.usuario !== undefined && data.usuario !== '') {\n haveValue = true;\n urlSearch += `usuario=${data.usuario}`;\n }\n if (data.nombre !== undefined && data.nombre !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `nombre=${data.nombre}`;\n }\n if (data.desde !== undefined && data.desde !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `desde=${data.desde}`;\n }\n if (data.hasta !== undefined && data.hasta !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `hasta=${data.hasta}`;\n }\n if (data.rol !== undefined && data.rol !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `rol=${data.rol}`;\n }\n if (haveValue) {\n urlSearch += '&pagina=0&limite=1000';\n } else {\n urlSearch += 'pagina=0&limite=1000';\n }\n return http.get(urlSearch);\n }\n\n deleteUser = (idUsers) => {\n const json = JSON.stringify(idUsers);\n return http.post('/usuarios/delete', json);\n }\n\n resetPassword = (idUser) => {\n return http.put('/usuarios/resetPassword', idUser);\n }\n\n updatePassword = (password, confPassword) => {\n return http.put('/usuarios/updatePassword',\n {\n password,\n confPassword\n });\n }\n}\n\nexport default new UsuariosService();\n","import React, { useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport {\n Box,\n Button,\n Container,\n Typography,\n makeStyles,\n OutlinedInput,\n FormHelperText,\n InputLabel,\n FormControl,\n InputAdornment,\n IconButton\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport { useNavigate } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport userService from 'src/services/usuariosService';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n height: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n },\n margin: {\n marginBottom: theme.spacing(2),\n },\n}));\n\nconst UpdatePassword = ({\n setOpenBackDrop,\n setServerError,\n setServerMessage,\n setOpenSnackError,\n setOpenSnackSuccess,\n}) => {\n const classes = useStyles();\n const {\n register,\n handleSubmit,\n errors,\n setError\n } = useForm();\n\n const [showPassword, setShowPassword] = useState(false);\n const [showConfirmPassword, setShowConfirmPassword] = useState(false);\n\n const navigate = useNavigate();\n\n const onSubmit = async (data) => {\n if (data.nuevoPassword !== data.confirmPassword) {\n setError('confirmPassword', { message: 'Tu nueva contraseña y su confirmación deben coincidir.' });\n } else {\n setOpenBackDrop(true);\n await userService.updatePassword(data.nuevoPassword, data.confirmPassword)\n .then((resp) => {\n window.localStorage.setItem('reset', false);\n setServerMessage(resp.data.mensaje);\n setOpenSnackSuccess(true);\n navigate('/app/dashboard', { replace: true });\n }).catch((error) => {\n if (error.response !== undefined) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n }\n };\n\n return (\n \n \n \n \n \n ACTUALIZAR CONTRASEÑA\n \n \n Ingrese al menos 8 carácteres, una letra mayúscula, una minúsucla y un número.\n \n \n
\n \n \n Nueva contraseña *\n \n \n setShowPassword(!showPassword)}\n edge=\"end\"\n >\n {showPassword ? : }\n \n \n )\n }\n type={showPassword ? 'text' : 'password'}\n labelWidth={140}\n />\n {errors.nuevoPassword?.message}\n \n \n \n Confirmar nueva contraseña *\n \n \n setShowConfirmPassword(!showConfirmPassword)}\n edge=\"end\"\n >\n {showConfirmPassword ? : }\n \n \n )\n }\n type={showConfirmPassword ? 'text' : 'password'}\n labelWidth={220}\n />\n {errors.confirmPassword?.message}\n \n \n \n ACTUALIZAR\n \n \n \n
\n \n \n );\n};\n\nUpdatePassword.propTypes = {\n setOpenBackDrop: PropTypes.func,\n setServerError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n};\n\nexport default UpdatePassword;\n","import React from 'react';\nimport { Navigate } from 'react-router-dom';\nimport tokenService from 'src/services/token.service';\nimport PropTypes from 'prop-types';\n\nconst PrivateRoute = ({\n component: Component,\n isAuth,\n ...props\n}) => {\n return (\n (isAuth && tokenService.getToken())\n ? (\n \n ) : \n );\n};\nPrivateRoute.propTypes = {\n component: PropTypes.func,\n isAuth: PropTypes.bool\n};\n/*\nPrivateRoute.propTypes = {\n Component: PropTypes.func,\n isAuth: PropTypes.bool,\n nombreUsuario: PropTypes.string,\n rolUsuario: PropTypes.string,\n setIsAuth: PropTypes.func,\n setOpenBackDrop: PropTypes.func,\n comboRoles: PropTypes.array,\n setComboRoles: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n comboEstados: PropTypes.array,\n comboMunicipios: PropTypes.array,\n setComboMunicipios: PropTypes.func,\n mapaMunicipios: PropTypes.array,\n setMapaMunicipios: PropTypes.func,\n comboTipoClientes: PropTypes.array,\n setComboTipoClientes: PropTypes.func,\n setComboOrdenEstatus: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n setComboHiperliga: PropTypes.func,\n comboHiperliga: PropTypes.array\n};\n*/\n\nexport default PrivateRoute;\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MuiDialogContent from '@material-ui/core/DialogContent';\nimport MuiDialogActions from '@material-ui/core/DialogActions';\nimport {\n Button,\n DialogTitle as MuiDialogTitle,\n Dialog,\n Box,\n Typography,\n IconButton,\n makeStyles,\n} from '@material-ui/core';\nimport {\n Close\n} from '@material-ui/icons';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n spaceButton: {\n marginRight: theme.spacing(1)\n }\n}));\n\nconst styles = (theme) => ({\n root: {\n margin: 0,\n padding: '20px',\n },\n closeButton: {\n position: 'absolute',\n right: '8px',\n top: '8px',\n color: theme.palette.grey[500],\n },\n});\n\nconst DialogTitle = withStyles(styles)((props) => {\n const {\n children,\n classes,\n setCloseDialog\n } = props;\n return (\n \n {children}\n {setCloseDialog ? (\n setCloseDialog(false)}\n >\n \n \n ) : null}\n \n );\n});\n\nconst DialogContent = withStyles((theme) => ({\n root: {\n padding: theme.spacing(2),\n },\n}))(MuiDialogContent);\n\nconst DialogActions = withStyles((theme) => ({\n root: {\n margin: 0,\n padding: theme.spacing(1),\n },\n}))(MuiDialogActions);\n\nconst DialogForms = ({\n setOpenDialog,\n openDialog,\n titulo,\n submitButtonName,\n formName,\n actionButtonName,\n children,\n handleRef,\n disableButton,\n disableButtonFunc,\n funcButtonName,\n actionIcon,\n size,\n functionButton,\n downloadButtonName,\n downloadFunction,\n disableDownload\n}) => {\n const classes = useStyles();\n return (\n \n \n {titulo}\n \n \n {children}\n \n \n \n
\n {downloadButtonName !== undefined\n ? (\n \n {downloadButtonName}\n \n ) : (\n null\n )}\n {actionButtonName !== undefined\n ? (\n \n {actionButtonName}\n \n ) : (\n null\n )}\n {submitButtonName !== undefined\n ? (\n \n {submitButtonName}\n \n ) : (\n null\n )}\n {funcButtonName !== undefined\n ? (\n \n {funcButtonName}\n \n ) : (\n null\n )}\n
\n \n
\n
\n );\n};\n\nDialogForms.propTypes = {\n setOpenDialog: PropTypes.func,\n openDialog: PropTypes.bool,\n titulo: PropTypes.string,\n submitButtonName: PropTypes.string,\n funcButtonName: PropTypes.string,\n children: PropTypes.object,\n formName: PropTypes.string,\n actionButtonName: PropTypes.string,\n handleRef: PropTypes.func,\n disableButton: PropTypes.bool,\n disableButtonFunc: PropTypes.bool,\n actionIcon: PropTypes.element,\n size: PropTypes.string,\n functionButton: PropTypes.func,\n downloadButtonName: PropTypes.string,\n downloadFunction: PropTypes.func,\n disableDownload: PropTypes.bool\n};\n\nexport default DialogForms;\n","import http from '../http-common';\n\nclass ClientesService {\n altaCliente = (data) => {\n if (data.id === 0) {\n return http.post('/clientes/add', data);\n }\n return http.put('/clientes/update', data);\n }\n\n searchClientes = (data) => {\n let urlSearch = '/clientes/buscarClientes?';\n let haveValue = false;\n if (data.nombreCliente !== undefined && data.nombreCliente !== '') {\n haveValue = true;\n urlSearch += `cliente=${data.nombreCliente}`;\n }\n if (data.contacto !== undefined && data.contacto !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `contacto=${data.contacto}`;\n }\n if (data.rfc !== undefined && data.rfc !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `rfc=${data.rfc}`;\n }\n if (data.desde !== undefined && data.desde !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `desde=${data.desde}`;\n }\n if (data.hasta !== undefined && data.hasta !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `hasta=${data.hasta}`;\n }\n if (data.tipoCliente !== undefined && data.tipoCliente !== '') {\n if (haveValue) {\n urlSearch += '&';\n }\n haveValue = true;\n urlSearch += `tipoCliente=${data.tipoCliente}`;\n }\n if (haveValue) {\n urlSearch += '&pagina=0&limite=1000';\n } else {\n urlSearch += 'pagina=0&limite=1000';\n }\n return http.get(urlSearch);\n }\n\n getClienteById = (idCliente) => {\n const urlSearch = `/clientes/${idCliente}`;\n return http.get(urlSearch);\n }\n\n deleteClientes = (idClientes) => {\n const json = JSON.stringify(idClientes);\n return http.post('/clientes/delete', json);\n }\n}\n\nexport default new ClientesService();\n","import React from 'react';\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n DialogActions,\n Button\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst ConfirmationDialog = (props) => {\n const {\n onClose,\n open,\n confirm,\n title,\n message\n } = props;\n return (\n \n {title}\n \n {message}\n \n \n \n \n \n \n );\n};\n\nConfirmationDialog.propTypes = {\n onClose: PropTypes.func.isRequired,\n open: PropTypes.bool.isRequired,\n confirm: PropTypes.func,\n title: PropTypes.string,\n message: PropTypes.string\n};\nexport default ConfirmationDialog;\n","import React from 'react';\nimport { useForm, Controller } from 'react-hook-form';\nimport {\n Card,\n Popper,\n CardHeader,\n Divider,\n CardContent,\n Grid,\n TextField,\n makeStyles,\n Box,\n Button,\n Select,\n MenuItem,\n InputLabel,\n FormControl\n} from '@material-ui/core';\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from '@material-ui/pickers';\nimport PropTypes from 'prop-types';\nimport DateFnsUtils from '@date-io/date-fns';\nimport genService from 'src/services/generalServices';\nimport esLocale from 'date-fns/locale/es';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n}));\n\nconst BusquedaClientes = ({\n openPopper,\n anchorEl,\n setFechaDesde,\n setFechaHasta,\n fechaDesde,\n fechaHasta,\n comboTipoClientes,\n onSubmitAdv\n}) => {\n const { register, handleSubmit, control } = useForm();\n const classes = useStyles();\n const [openFechaHasta, setOpenFechaHasta] = React.useState(false);\n const [openFechaDesde, setOpenFechaDesde] = React.useState(false);\n\n return (\n \n
onSubmitAdv(data, 'adv'))}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenFechaDesde(true)}\n /* onClick={() => setOpenFechaDesde(true)} */\n onClose={() => setOpenFechaDesde(false)}\n onChange={setFechaDesde}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Desde\"\n value={fechaDesde}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n setOpenFechaHasta(true)}\n onClose={() => setOpenFechaHasta(false)}\n /* onClick={() => setOpenFechaHasta(true)} */\n onChange={setFechaHasta}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Hasta\"\n value={fechaHasta}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n \n \n \n \n \n \n
Tipo de Cliente
\n
\n {\n return { value: selected };\n }}\n as={(\n \n Seleccione un valor\n {comboTipoClientes.map((itemCliente) => (\n \n {itemCliente.label}\n \n ))}\n \n )}\n />\n
\n
\n
\n
\n \n \n Buscar\n \n \n \n \n \n \n );\n};\n\nBusquedaClientes.propTypes = {\n anchorEl: PropTypes.object,\n openPopper: PropTypes.bool,\n setFechaDesde: PropTypes.func,\n setFechaHasta: PropTypes.func,\n fechaDesde: PropTypes.string,\n fechaHasta: PropTypes.string,\n onSubmitAdv: PropTypes.func,\n comboTipoClientes: PropTypes.array\n};\nexport default BusquedaClientes;\n","import React from 'react';\nimport {\n Box,\n Divider,\n Fab,\n Grid,\n IconButton,\n InputBase,\n makeStyles,\n Paper,\n Tooltip,\n Typography,\n ClickAwayListener\n} from '@material-ui/core';\nimport {\n Add,\n Delete,\n Search,\n TuneTwoTone as Menu,\n} from '@material-ui/icons';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { isEmpty } from 'lodash';\nimport genService from 'src/services/generalServices';\nimport { useForm } from 'react-hook-form';\nimport clientesService from 'src/services/clientesService';\nimport { format } from 'date-fns';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport BusquedaClientes from './BusquedaClientes';\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n rightMargin: {\n marginRight: theme.spacing(1)\n },\n leftMargin: {\n marginLeft: theme.spacing(1)\n },\n input: {\n marginLeft: theme.spacing(1),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n paperRoot: {\n padding: '2px 6px',\n display: 'flex'\n },\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst ClientesToolBar = ({\n className,\n setOpenAltaCliente,\n selectedRows,\n setOpenBackDrop,\n setOpenSnackError,\n setServerError,\n setRowsClientes,\n comboTipoClientes,\n rowsClientes,\n setServerMessage,\n setOpenSnackSuccess,\n setSelectedRows\n\n}) => {\n const {\n register,\n handleSubmit,\n reset\n } = useForm();\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = React.useState(null);\n const paperRef = React.useRef();\n const openPopper = Boolean(anchorEl);\n const [fechaDesde, setFechaDesde] = React.useState(null);\n const [fechaHasta, setFechaHasta] = React.useState(null);\n const [openDialog, setOpenDialog] = React.useState(false);\n const handleClickAway = () => {\n setAnchorEl(null);\n setFechaDesde(null);\n setFechaHasta(null);\n };\n const handleClickPopper = () => {\n setAnchorEl(anchorEl ? null : paperRef.current);\n reset({});\n };\n const removeRows = () => {\n setOpenDialog(false);\n const asyncCall = async () => {\n setOpenBackDrop(true);\n await clientesService.deleteClientes(selectedRows).then((resp) => {\n if (resp.data.Errores !== undefined && resp.data.Errores.length > 0) {\n setServerError(`Fallo al eliminar: ${resp.data.Errores.length} clientes.`);\n setOpenSnackError(true);\n }\n if (resp.data.Eliminados !== undefined && resp.data.Eliminados.length > 0) {\n resp.data.Eliminados.map((del) => {\n console.log(del);\n rowsClientes = rowsClientes.filter((item) => item.id !== del);\n return rowsClientes;\n });\n setSelectedRows([]);\n setServerMessage(`Clientes eliminados: ${resp.data.Eliminados.length}`);\n setOpenSnackSuccess(true);\n setRowsClientes(rowsClientes);\n }\n }).catch((error) => {\n setServerError(error.message);\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n asyncCall();\n };\n const onSubmit = (formulario, searchType) => {\n console.log(formulario);\n const asyncCall = async (datos, type) => {\n setOpenBackDrop(true);\n if (fechaDesde !== null && fechaDesde !== '') {\n datos.desde = format(fechaDesde, 'yyyy-MM-dd');\n }\n if (fechaHasta !== null && fechaHasta !== '') {\n datos.hasta = format(fechaHasta, 'yyyy-MM-dd');\n }\n await clientesService.searchClientes(datos).then((resp) => {\n if (resp.data.errorCode === 204) {\n setOpenSnackError(true);\n setServerError(resp.data.mensaje);\n setRowsClientes([]);\n } else {\n setRowsClientes(resp.data);\n if (resp.data.length > 0 && type === 'adv') {\n handleClickPopper();\n }\n }\n }).catch((error) => {\n setRowsClientes([]);\n setServerError(error.message);\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario, searchType);\n };\n\n return (\n
\n \n Busqueda de Clientes\n \n \n \n \n
\n setOpenDialog(true)}\n >\n \n \n
\n
\n \n setOpenAltaCliente(true)}\n className={classes.bottomSpace}\n >\n \n \n \n
\n \n \n \n onSubmit(data, 'single'))}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenDialog(false)}\n confirm={removeRows}\n title=\"Eliminar registros\"\n message=\"Se eliminará el cliente(s) y todos los usuarios relacionados.\"\n />\n
\n );\n};\nClientesToolBar.propTypes = {\n className: PropTypes.string,\n setOpenAltaCliente: PropTypes.func,\n selectedRows: PropTypes.array,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n setRowsClientes: PropTypes.func,\n comboTipoClientes: PropTypes.array,\n rowsClientes: PropTypes.array,\n setServerMessage: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setSelectedRows: PropTypes.func\n};\n\nexport default ClientesToolBar;\n","import React from 'react';\nimport Backdrop from '@material-ui/core/Backdrop';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { makeStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: '#fff',\n },\n}));\n\nconst SimpleBackdrop = ({ open, handleClose }) => {\n const classes = useStyles();\n return (\n
\n \n \n \n
\n );\n};\n\nSimpleBackdrop.propTypes = {\n open: PropTypes.bool,\n handleClose: PropTypes.func\n};\n\nexport default SimpleBackdrop;\n","import React from 'react';\nimport Draggable from 'react-draggable';\nimport PropTypes from 'prop-types';\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n DialogContentText,\n DialogActions,\n Paper,\n Button\n} from '@material-ui/core';\n\nfunction PaperComponent(props) {\n return (\n \n \n \n );\n}\n\nconst GeneralDialog = ({\n open,\n changeState,\n title,\n message\n}) => {\n return (\n \n \n {title}\n \n \n \n {message}\n \n \n \n \n \n \n );\n};\n\nGeneralDialog.propTypes = {\n open: PropTypes.bool,\n changeState: PropTypes.func,\n title: PropTypes.string,\n message: PropTypes.string\n};\n\nexport default GeneralDialog;\n","import React, {\n forwardRef, useEffect, useImperativeHandle, useState\n} from 'react';\nimport { useForm, Controller } from 'react-hook-form';\nimport {\n TextField,\n Grid,\n Accordion,\n AccordionSummary,\n Typography,\n AccordionDetails,\n makeStyles,\n Divider,\n FormControl,\n InputLabel,\n MenuItem,\n FormHelperText,\n Select,\n Fab,\n Tooltip,\n Link,\n Paper,\n FormControlLabel,\n FormLabel,\n RadioGroup,\n Radio\n} from '@material-ui/core';\nimport { ExpandMore, FileCopyOutlined } from '@material-ui/icons';\nimport genService from 'src/services/generalServices';\nimport PropTypes from 'prop-types';\nimport combosService from 'src/services/combosService';\nimport clientesService from 'src/services/clientesService';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport GeneralDialog from 'src/views/commons/GeneralDialog';\nimport { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DateFnsUtils from '@date-io/date-fns';\nimport esLocale from 'date-fns/locale/es';\n\nconst useStyles = makeStyles((theme) => ({\n accordionDetails: {\n display: 'block'\n },\n summary: {\n backgroundColor: theme.palette.AccordionSummary.background\n },\n verticalCenter: {\n alignItems: 'center',\n display: 'flex'\n },\n control: {\n padding: theme.spacing(2),\n },\n}));\n\nconst AltaCliente = forwardRef(({\n formName,\n comboEstados,\n comboMunicipios,\n setComboMunicipios,\n mapaMunicipios,\n setMapaMunicipios,\n setServerError,\n setOpenSnackError,\n comboTipoClientes,\n idCliente,\n setIdCliente,\n setOpenDialog,\n formData,\n setFormData,\n rowsClientes\n}, ref) => {\n const {\n register,\n handleSubmit,\n errors,\n control,\n setValue,\n reset\n } = useForm({\n defaultValues: {\n idEstado: 9\n },\n });\n const classes = useStyles();\n const errorReq = 'Campo requerido.';\n const [acordionGeneral, setAcordionGeneral] = useState(true);\n const [acordionFiscales, setAcordionFiscales] = useState(true);\n const [acordionContactos, setAcordionContactos] = useState(true);\n const [acordionLink, setAcordionLink] = useState(true);\n const [openBack, setOpenBack] = useState(false);\n const [open, setOpen] = useState(false);\n const [urlLink, setUrlLink] = useState();\n const [completeUrlLink, setCompleteUrlLink] = useState();\n const [linkTooltip, setLinkTooltip] = useState(false);\n const [estadoLink, setEstadoLink] = useState(false);\n const [openVigenciaInicio, setOpenVigenciaInicio] = useState(false);\n const [openVigenciaFin, setOpenVigenciaFin] = useState(false);\n const [vigenciaInicio, setVigenciaInicio] = useState(null);\n const [vigenciaFin, setVigenciaFin] = useState(null);\n\n const resetForm = () => {\n reset({\n id: 0,\n nombreCliente: '',\n tipoCliente: '',\n actividad: '',\n contactoPrincipal: '',\n telefonoPrincipal: '',\n extPrincipal: '',\n contactoSecundario: '',\n telefonoSecundario: '',\n extSecundaria: '',\n email: '',\n paginaWeb: '',\n observaciones: '',\n rfc: '',\n calle: '',\n numero: '',\n numeroInt: '',\n idEstado: 9,\n idMunicipio: '',\n colonia: '',\n cp: '',\n pais: 'MEXICO',\n contactoEntregas: '',\n emailEntregas: '',\n telefonoEntregas: '',\n contactoPago: '',\n emailPago: '',\n telefonoPago: ''\n });\n setVigenciaInicio(null);\n setVigenciaFin(null);\n };\n\n const addComboMunicipios = (idEstado) => {\n const existMunicipios = mapaMunicipios.filter((item) => item.key === idEstado);\n if (existMunicipios !== undefined && existMunicipios.length > 0) {\n setComboMunicipios(existMunicipios[0].value);\n } else {\n combosService.comboMunicipios(idEstado).then((resp) => {\n setComboMunicipios(resp);\n setMapaMunicipios((newElement) => [...newElement, { key: idEstado, value: resp }]);\n });\n }\n };\n\n useEffect(() => {\n setComboMunicipios([]);\n setIdCliente(0);\n if (formData.idEstado !== undefined && formData.idEstado > 0) {\n addComboMunicipios(formData.idEstado);\n } else {\n addComboMunicipios(9);\n }\n reset(formData);\n if (formData.id !== undefined) {\n setIdCliente(formData.id);\n setUrlLink(formData.urlLink);\n setCompleteUrlLink(`${window.location.origin}/solicitudes?key=${formData.urlLink}`);\n setVigenciaInicio(formData.fechaVigenciaInicio);\n setVigenciaFin(formData.fechaVigenciaFin);\n setEstadoLink(formData.linkActivo);\n } else {\n const currentDate = new Date();\n const currDateOneMonth = new Date();\n setVigenciaInicio(currentDate);\n setVigenciaFin(currDateOneMonth.setMonth(currDateOneMonth.getMonth() + 1));\n }\n setFormData({});\n }, []);\n\n useImperativeHandle(ref, () => ({\n resetClientesForm: () => {\n resetForm();\n }\n }));\n\n const getComboMunicipios = (newValue) => {\n setComboMunicipios([]);\n if (newValue !== null) {\n setValue('idMunicipio', '');\n addComboMunicipios(newValue);\n }\n };\n\n const onError = (err) => {\n if (err.nombreCliente || err.contactoPrincipal\n || err.telefonoPrincipal || err.extPrincipal\n || err.telefonoAdicional || err.extAdicional\n || err.email) {\n setAcordionGeneral(true);\n }\n if (err.rfc || err.calle || err.idEstado\n || err.idMunicipio || err.colonia || err.cp\n || err.pais) {\n setAcordionFiscales(true);\n }\n if (err.contactoEntregas || err.emailEntregas || err.telefonoEntregas\n || err.contactoPago || err.emailPago || err.telefonoPago) {\n setAcordionContactos(true);\n }\n };\n\n const onSubmit = (data) => {\n console.log(data);\n const handleAsync = async (datos) => {\n setOpenBack(true);\n await clientesService.altaCliente(datos).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n if (idCliente > 0) {\n const modClient = rowsClientes.find((row) => row.id === idCliente);\n Object.assign(modClient, datos);\n }\n setOpen(true);\n resetForm();\n }\n }).catch((error) => {\n setOpenBack(false);\n setServerError(error.message);\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBack(false);\n });\n };\n data.id = idCliente;\n data.fechaVigenciaInicio = vigenciaInicio;\n data.fechaVigenciaFin = vigenciaFin;\n data.urlLink = urlLink;\n data.linkActivo = estadoLink;\n handleAsync(data);\n };\n\n return (\n
\n \n }\n onClick={() => setAcordionGeneral(!acordionGeneral)}\n className={classes.summary}\n >\n Datos Generales\n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n errors.tipoCliente\n ?
Seleccione un Tipo de Cliente *
\n :
Seleccione un Tipo de Cliente *
\n }\n
\n {\n return { value: selected };\n }}\n render={({ onChange, value }) => (\n 0}\n onChange={(evento, newValue) => {\n onChange(newValue.props.value);\n }}\n >\n {comboTipoClientes.map((itemCliente) => (\n \n {itemCliente.label}\n \n ))}\n \n )}\n />\n {\n errors.tipoCliente\n && (\n \n {errors.tipoCliente.message}\n \n )\n }\n \n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i, message: 'El formato no es correcto.' }\n })}\n onInput={genService.toLowerCase}\n error={errors.email}\n helperText={errors.email?.message}\n variant=\"outlined\"\n fullWidth\n size=\"small\"\n />\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n }\n onClick={() => setAcordionFiscales(!acordionFiscales)}\n className={classes.summary}\n >\n Datos Fiscales\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n errors.idEstado\n ?
Seleccione un Estado
\n :
Seleccione un Estado
\n }\n
\n {\n return { value: selected };\n }}\n render={({ onChange, value }) => (\n {\n getComboMunicipios(newValue.props.value);\n onChange(newValue.props.value);\n }}\n >\n {comboEstados.map((edo) => (\n \n {edo.label}\n \n ))}\n \n )}\n />\n {\n errors.idEstado\n && (\n \n {errors.idEstado.message}\n \n )\n }\n \n
\n \n \n \n {\n errors.idMunicipio\n ?
Seleccione un Municipio
:
Seleccione un Municipio
\n }\n
\n {\n return { value: selected };\n }}\n render={({ onChange, value }) => (\n {\n onChange(newValue.props.value);\n }}\n >\n {comboMunicipios.length === 0\n ? (\n \n Elija un Estado\n \n ) : (\n comboMunicipios.map((mun) => (\n \n {mun.label}\n \n ))\n )}\n \n )}\n />\n {\n errors.idMunicipio\n && (\n \n {errors.idMunicipio.message}\n \n )\n }\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n }\n onClick={() => setAcordionContactos(!acordionContactos)}\n className={classes.summary}\n >\n Contactos\n \n \n \n \n \n \n \n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i, message: 'El formato no es correcto.' }\n })}\n onInput={genService.toLowerCase}\n error={errors.emailEntregas}\n helperText={errors.emailEntregas?.message}\n variant=\"outlined\"\n fullWidth\n size=\"small\"\n />\n \n \n \n \n \n \n \n
\n \n
\n \n \n \n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i, message: 'El formato no es correcto.' }\n })}\n onInput={genService.toLowerCase}\n error={errors.emailPagos}\n helperText={errors.emailPagos?.message}\n variant=\"outlined\"\n fullWidth\n size=\"small\"\n />\n \n \n \n \n \n \n \n \n
\n
\n \n }\n onClick={() => setAcordionLink(!acordionLink)}\n className={classes.summary}\n >\n Liga de solicitud\n \n \n \n \n { idCliente > 0\n ? (\n \n \n \n \n {completeUrlLink}\n \n \n \n \n setLinkTooltip('Copiar Liga')}\n >\n {\n navigator.clipboard.writeText(completeUrlLink);\n setLinkTooltip('Link Copiado!');\n }}\n color=\"transparent\"\n >\n \n \n \n \n \n ) : (\n null\n )}\n \n \n \n Estado Link\n {\n if (e.currentTarget.value === 'true') {\n setEstadoLink(true);\n } else {\n setEstadoLink(false);\n }\n }}\n >\n }\n label=\"Activo\"\n value\n labelPlacement=\"start\"\n />\n }\n label=\"Inactivo\"\n value={false}\n labelPlacement=\"start\"\n />\n \n \n \n \n \n \n \n setOpenVigenciaInicio(true)}\n onClose={() => setOpenVigenciaInicio(false)}\n value={vigenciaInicio}\n onChange={setVigenciaInicio}\n format=\"dd/MM/yyyy\"\n margin=\"none\"\n label=\"Inicio de Vigencia\"\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n fullWidth\n error={errors.fechaVigenciaInicio}\n helperText={errors.fechaVigenciaInicio?.message}\n inputRef={register}\n />\n \n \n \n \n setOpenVigenciaFin(true)}\n onClose={() => setOpenVigenciaFin(false)}\n value={vigenciaFin}\n onChange={setVigenciaFin}\n format=\"dd/MM/yyyy\"\n margin=\"none\"\n label=\"Fin de Vigencia\"\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n fullWidth\n error={errors.fechaVigenciaFin}\n helperText={errors.fechaVigenciaFin?.message}\n inputRef={register}\n />\n \n \n \n \n \n \n \n {\n setOpen(false);\n setOpenDialog(false);\n }}\n title=\"Cliente Guardado\"\n message=\"El cliente fue guardado exitosamente.\"\n />\n
\n );\n});\n\nAltaCliente.propTypes = {\n formName: PropTypes.string,\n comboEstados: PropTypes.array,\n comboMunicipios: PropTypes.array,\n setComboMunicipios: PropTypes.func,\n mapaMunicipios: PropTypes.array,\n setMapaMunicipios: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n comboTipoClientes: PropTypes.array,\n idCliente: PropTypes.number,\n setIdCliente: PropTypes.func,\n setOpenDialog: PropTypes.func,\n formData: PropTypes.object,\n setFormData: PropTypes.func,\n rowsClientes: PropTypes.array\n};\n\nexport default AltaCliente;\n","import React, { useEffect, useRef, useState } from 'react';\nimport {\n Container,\n makeStyles,\n Tooltip,\n IconButton,\n Box\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport PropTypes from 'prop-types';\nimport combosService from 'src/services/combosService';\nimport DataTable from 'src/views/commons/DataTable';\nimport { Edit } from '@material-ui/icons';\nimport clientesService from 'src/services/clientesService';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport ClientesToolBar from './ClientesToolBar';\nimport AltaCliente from './AltaCliente';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n }\n}));\n\nconst Clientes = ({\n comboEstados,\n comboMunicipios,\n setComboMunicipios,\n mapaMunicipios,\n setMapaMunicipios,\n setServerError,\n setOpenSnackError,\n setServerMessage,\n setOpenSnackSuccess,\n comboTipoClientes,\n setComboTipoClientes,\n setOpenBackDrop\n}) => {\n const classes = useStyles();\n const [openAltaCliente, setOpenAltaCliente] = useState(false);\n const [idCliente, setIdCliente] = useState(0);\n const [rowsClientes, setRowsClientes] = useState([]);\n const [selectedRows, setSelectedRows] = useState([]);\n const [formData, setFormData] = useState({});\n const formName = 'formCliente';\n const clienteRef = useRef();\n\n const resetClientesRef = () => {\n clienteRef.current.resetClientesForm();\n };\n\n useEffect(() => {\n const getTiposClientes = async () => {\n setOpenBackDrop(true);\n if (comboTipoClientes.length === 0) {\n await combosService.comboTipoCliente().then((resp) => {\n setComboTipoClientes(resp);\n }).catch((error) => {\n setOpenBackDrop(false);\n console.log(`'Error al cargar el combo de roles: '${error}`);\n });\n }\n setOpenBackDrop(false);\n };\n getTiposClientes();\n }, []);\n\n const onClickEdit = (paramRow) => {\n /* const roleCode = comboRoles.filter((item) => item.text === paramRow.rol);\n setFormData({\n id: paramRow.id,\n nombre: paramRow.nombre,\n nombreUsuario: paramRow.nombreUsuario,\n email: paramRow.email,\n rol: roleCode[0].value\n }); */\n const modifyCustomer = async (custData) => {\n setOpenBackDrop(true);\n await clientesService.getClienteById(custData.id).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n setFormData(resp.data);\n setOpenAltaCliente(true);\n console.log(resp.data);\n }\n }).catch((err) => {\n console.log(err);\n setServerError(err.message);\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBackDrop(false);\n });\n };\n console.log(paramRow);\n modifyCustomer(paramRow);\n };\n\n const columns = [\n {\n field: 'id',\n headerName: 'ID',\n maxWidth: 90,\n minWidth: 90,\n headerClassName: 'header-datagrid',\n renderCell: renderCellExpand,\n },\n {\n field: 'nombreCliente',\n headerName: 'Cliente',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'tipoCliente',\n headerName: 'Tipo de Cliente',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'contactoPrimario',\n headerName: 'Contacto',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'telefonoPrimario',\n headerName: 'Teléfono',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'email',\n headerName: 'E-mail',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'fechaCreacion',\n headerName: 'Creación',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClick = () => {\n onClickEdit(params.row);\n };\n return (\n
\n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nClientes.propTypes = {\n comboEstados: PropTypes.array,\n comboMunicipios: PropTypes.array,\n setComboMunicipios: PropTypes.func,\n mapaMunicipios: PropTypes.array,\n setMapaMunicipios: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n comboTipoClientes: PropTypes.array,\n setComboTipoClientes: PropTypes.func,\n setOpenBackDrop: PropTypes.func\n};\n\nexport default Clientes;\n","import React from 'react';\nimport NumberFormat from 'react-number-format';\nimport PropTypes from 'prop-types';\n\nfunction NumberFormatCustom(props) {\n const { inputRef, onChange, ...other } = props;\n\n return (\n {\n const { name } = props;\n onChange({\n target: {\n name,\n value: values.value,\n },\n });\n }}\n thousandSeparator\n isNumericString\n />\n );\n}\n\nNumberFormatCustom.propTypes = {\n inputRef: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default NumberFormatCustom;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ordenService from 'src/services/ordenService';\nimport moment from 'moment';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport {\n Button,\n Card,\n CardHeader,\n Checkbox,\n Divider,\n Grid,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n makeStyles,\n TextField,\n Typography\n} from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport genService from 'src/services/generalServices';\nimport { FiberManualRecord } from '@material-ui/icons';\n\nconst valEmail = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: 'auto',\n },\n spaces: {\n padding: theme.spacing(2),\n backgroundColor: '#e7ebf0'\n },\n cardHeader: {\n padding: theme.spacing(1, 2),\n backgroundColor: '#4caf508a'\n },\n list: {\n width: 300,\n height: 353,\n backgroundColor: theme.palette.background.paper,\n overflow: 'auto',\n },\n listLeft: {\n width: 300,\n height: 400,\n backgroundColor: theme.palette.background.paper,\n overflow: 'auto',\n },\n button: {\n margin: theme.spacing(0.5, 0),\n },\n}));\n\nfunction not(a, b) {\n return a.filter((value) => b.indexOf(value) === -1);\n}\n\nfunction intersection(a, b) {\n return a.filter((value) => b.indexOf(value) !== -1);\n}\n\nfunction union(a, b) {\n return [...a, ...not(b, a)];\n}\n\nconst NotificacionOrden = ({\n setOpenNotificacion,\n openNotificacion,\n left,\n setLeft,\n right,\n setRight,\n setOpenSnackError,\n setOpenSnackSuccess,\n setServerMessage,\n setServerError,\n emailData,\n setOpenAltaOrden\n}) => {\n const {\n errors,\n setError,\n setValue,\n register,\n clearErrors\n } = useForm();\n const classes = useStyles();\n const [checked, setChecked] = useState([]);\n const [openBack, setOpenBack] = useState(false);\n\n const leftChecked = intersection(checked, left);\n const rightChecked = intersection(checked, right);\n\n const handleToggle = (value) => () => {\n const currentIndex = checked.indexOf(value);\n const newChecked = [...checked];\n\n if (currentIndex === -1) {\n newChecked.push(value);\n } else {\n newChecked.splice(currentIndex, 1);\n }\n\n setChecked(newChecked);\n };\n\n const numberOfChecked = (items) => intersection(checked, items).length;\n\n const handleToggleAll = (items) => () => {\n if (numberOfChecked(items) === items.length) {\n setChecked(not(checked, items));\n } else {\n setChecked(union(checked, items));\n }\n };\n\n const handleCheckedRight = () => {\n setRight(right.concat(leftChecked));\n setLeft(not(left, leftChecked));\n setChecked(not(checked, leftChecked));\n };\n\n const handleCheckedLeft = () => {\n setLeft(left.concat(rightChecked));\n setRight(not(right, rightChecked));\n setChecked(not(checked, rightChecked));\n };\n\n const sendNotification = async () => {\n setOpenBack(true);\n await ordenService.enviarEmailOrdenEstauts(emailData, right).then(() => {\n setOpenAltaOrden(false);\n setServerMessage(`El correo para la orden ${emailData.folio} con estatus ${emailData.descOrdenEstatus}, se ha enviado correctamente.`);\n setOpenSnackSuccess(true);\n }).catch((error) => {\n console.log('Error en el envío de correo:', error.response);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n setOpenBack(false);\n });\n setOpenNotificacion(false);\n setOpenBack(false);\n };\n\n const customList = (title, items) => (\n \n \n )}\n title={title}\n subheader={`${numberOfChecked(items)}/${items.length} seleccionado`}\n />\n \n { title === 'Agregar' ? (\n {\n const mailVal = e.target.value;\n if (errors.newEmail && valEmail.test(mailVal)) {\n clearErrors('newEmail');\n }\n if (e.key === ' ') {\n setValue('newEmail', mailVal.trim());\n }\n if (e.key === 'Enter') {\n if (valEmail.test(mailVal)) {\n const email = {\n email: mailVal\n };\n left.push(email);\n setLeft(left);\n handleCheckedLeft();\n setValue('newEmail', '');\n } else {\n setError('newEmail', { type: 'custom', message: 'Formato de correo inválido.' });\n }\n }\n }}\n onInput={genService.toLowerCase}\n error={!!errors.newEmail}\n helperText={errors.newEmail?.message}\n />\n ) : (\n null\n )}\n \n {items.map((value) => {\n const labelId = `transfer-list-all-item-${value.id}-label`;\n\n return (\n \n \n \n \n \n {/* \n {value.usuario}\n */}\n \n {value.email}\n \n
\n )}\n />\n \n );\n })}\n \n \n
\n );\n return (\n
\n \n \n \n {'La orden de trabajo con folio '}\n {emailData.folio}\n {' se encuentra en estatus '}\n {emailData.descOrdenEstatus}\n .\n \n {/* \n \n \n \n \n \n {emailData.descOrdenEstatus}\n \n \n */}\n {emailData.descOrdenEstatus === 'CITA'\n ? (\n \n \n \n \n \n \n \n {moment(new Date(emailData.fechaCita)).format('YYYY-MM-DD HH:mm:ss')}\n \n \n \n \n ) : (\n null\n )}\n {emailData.descOrdenEstatus === 'SUSPENDIDO'\n ? (\n \n \n \n \n \n \n {'COMENTARIOS: '}\n \n {emailData.comentarios !== undefined && emailData.comentarios !== ''\n ? (\n emailData.comentarios\n ) : (\n 'SIN COMENTARIOS'\n )}\n \n \n \n \n ) : (\n null\n )}\n \n \n \n * Si desea cambiar el estatus de la orden aseguresé\n de guardar los cambios previo al envío de la notificacion.\n \n
\n
\n \n Puede envíar la notificación a las siguientes direcciones:\n \n \n {customList('Agregar', left)}\n \n \n \n >\n \n \n <\n \n \n \n {customList('Enviar', right)}\n \n
\n \n \n
\n );\n};\n\nNotificacionOrden.propTypes = {\n setOpenNotificacion: PropTypes.func,\n openNotificacion: PropTypes.bool,\n left: PropTypes.array,\n setLeft: PropTypes.func,\n right: PropTypes.array,\n setRight: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n setServerError: PropTypes.func,\n emailData: PropTypes.object,\n setOpenAltaOrden: PropTypes.func\n};\nexport default NotificacionOrden;\n","import React from 'react';\nimport {\n Divider,\n FormControl,\n FormHelperText,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport genService from 'src/services/generalServices';\nimport PropTypes from 'prop-types';\nimport { Autocomplete, createFilterOptions } from '@material-ui/lab';\nimport { Controller } from 'react-hook-form';\n\nconst OrderGeneral = ({\n register,\n folio,\n errors,\n isLaboral,\n isEscuela,\n idOrden,\n comboGradoEscolar,\n valGradoEscolar,\n setValGradoEscolar,\n setValue,\n setError,\n clearErrors,\n optionsCliente,\n valComboClientes,\n setValComboClientes,\n setIsEscuela,\n setIsLaboral,\n getComboGradoEscolar,\n getComboUsuarioCliente,\n comboUsuarios,\n valComboUsuarios,\n setValComboUsuarios,\n rolUsuario,\n comboEstados,\n comboMunicipios,\n getComboMunicipios,\n control,\n // fechaCitaStr,\n // ordenEstatus\n}) => {\n const errorReq = 'Campo requerido.';\n const filtro = createFilterOptions();\n const onlyRead = idOrden > 0 && (rolUsuario !== 'ADMINISTRADOR' && rolUsuario !== 'ANALISTA');\n\n return (\n
\n \n \n \n \n \n {rolUsuario === 'ADMINISTRADOR'\n ? (\n \n \n {idOrden === 0\n ? (\n (\n -b.firstLetter.localeCompare(a.firstLetter)\n ))}\n groupBy={(option) => option.firstLetter}\n getOptionLabel={(option) => (option.label !== undefined ? `${option.label} - (${option.tipoCliente})` : '')}\n renderOption={(option) => option.label}\n fullWidth\n value={valComboClientes}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n console.log('nuevo valor del combo cliente', newValue);\n errors.regCliente = null;\n console.log(newValue);\n setValComboClientes(newValue);\n setIsLaboral(false);\n setIsEscuela(false);\n if (newValue !== null && newValue.tipoCliente === 'Laboral') {\n setIsLaboral(true);\n }\n if (newValue !== null && newValue.tipoCliente === 'Escuela') {\n setIsEscuela(true);\n getComboGradoEscolar(newValue.value, undefined);\n }\n getComboUsuarioCliente(newValue.value, null);\n console.log('Combo de usuarios:', comboUsuarios);\n }}\n />\n ) : (\n \n )}\n \n \n (option.usuario !== undefined ? `${option.usuario} - (${option.nombreUsuario})` : '')}\n renderOption={(option) => `${option.usuario} - (${option.nombreUsuario})`}\n fullWidth\n value={valComboUsuarios}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regUsuario = null;\n console.log(newValue);\n setValComboUsuarios(newValue);\n }}\n />\n \n \n ) : (\n null\n )}\n \n \n \n \n {isLaboral\n ? (\n \n \n \n ) : (\n null\n )}\n {isEscuela\n ? (\n \n \n \n ) : (\n null\n )}\n \n {isEscuela\n ? (\n \n \n { (!onlyRead && rolUsuario !== 'NO_ROL')\n ? (\n {\n const filtered = filtro(options, params);\n if (params.inputValue.trim() !== '' && rolUsuario === 'ADMINISTRADOR') {\n filtered.push({\n value: 0,\n labelRender: `Agregar: \"${params.inputValue.trim()}\"`,\n label: params.inputValue.trim()\n });\n }\n return filtered;\n }}\n getOptionLabel={(option) => {\n if (typeof option === 'string') {\n return option;\n }\n const existValue = comboGradoEscolar.filter((opt) => (\n opt.label === option.label\n ));\n if (existValue.length === 0 && option.value !== undefined) {\n comboGradoEscolar.push({\n value: option.value,\n label: option.label.trim(),\n labelRender: `${option.label.trim()} - NUEVO`\n });\n return (option.label ? option.label : '');\n }\n return (option.label ? option.label.trim() : '');\n }}\n renderOption={(option) => (\n option.labelRender\n ? option.labelRender : option.label\n )}\n value={valGradoEscolar}\n selectOnFocus\n clearOnBlur\n handleHomeEndKeys\n freeSolo\n fullWidth\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.gradoEscolar = null;\n console.log('valor del grado escolar', newValue);\n setValGradoEscolar(newValue);\n }}\n />\n ) : (\n rolUsuario === 'CLIENTE'\n ? (\n \n ) : (\n null\n )\n )}\n \n \n {\n if (newVal.target.value !== undefined\n && newVal.target.value > 100) {\n setError('pctBeca', { type: 'custom', message: 'Entre 0 y 100' });\n setValue('pctBeca', 100);\n } else {\n clearErrors();\n }\n }}\n inputProps={{\n readOnly: onlyRead\n }}\n variant=\"outlined\"\n onInput={genService.removeLetters}\n error={errors.pctBeca}\n helperText={errors.pctBeca?.message}\n fullWidth\n size=\"small\"\n />\n \n \n ) : (\n null\n )}\n
\n \n
\n { rolUsuario !== 'NO_ROL'\n ? (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n errors.idEstado\n ?
Seleccione un Estado
\n :
Seleccione un Estado
\n }\n
\n {\n return { value: selected };\n }}\n render={({ onChange, value }) => (\n {\n getComboMunicipios(newValue.props.value);\n onChange(newValue.props.value);\n }}\n inputProps={{\n readOnly: onlyRead\n }}\n >\n {comboEstados.map((edo) => (\n \n {edo.label}\n \n ))}\n \n )}\n />\n {\n errors.direccion?.idEstado\n && (\n \n {errors.direccion?.idEstado.message}\n \n )\n }\n \n
\n \n \n \n {\n errors.idMunicipio\n ?
Seleccione un Municipio
:
Seleccione un Municipio
\n }\n
\n {\n return { value: selected };\n }}\n render={({ onChange, value }) => (\n {\n onChange(newValue.props.value);\n }}\n inputProps={{\n readOnly: onlyRead\n }}\n >\n {comboMunicipios.length === 0\n ? (\n \n Elija un Estado\n \n ) : (\n comboMunicipios.map((mun) => (\n \n {mun.label}\n \n ))\n )}\n \n )}\n />\n {\n errors.direccion?.idMunicipio\n && (\n \n {errors.direccion?.idMunicipio.message}\n \n )\n }\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n ) : (\n null\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i, message: 'El formato no es correcto.' }\n })}\n variant=\"outlined\"\n onInput={genService.toLowerCase}\n error={errors.emailPrimario}\n helperText={errors.emailPrimario?.message}\n fullWidth\n size=\"small\"\n inputProps={{\n readOnly: onlyRead\n }}\n />\n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i, message: 'El formato no es correcto.' }\n })}\n variant=\"outlined\"\n onInput={genService.toLowerCase}\n error={errors.emailAdicional}\n helperText={errors.emailAdicional?.message}\n fullWidth\n size=\"small\"\n inputProps={{\n readOnly: onlyRead\n }}\n />\n \n \n { rolUsuario !== 'NO_ROL'\n ? (\n \n \n \n \n \n ) : (\n null\n )}\n
\n );\n};\n\nOrderGeneral.propTypes = {\n register: PropTypes.func,\n folio: PropTypes.string,\n errors: PropTypes.object,\n isLaboral: PropTypes.bool,\n isEscuela: PropTypes.bool,\n idOrden: PropTypes.number,\n comboGradoEscolar: PropTypes.array,\n valGradoEscolar: PropTypes.object,\n setValGradoEscolar: PropTypes.func,\n setValue: PropTypes.func,\n setError: PropTypes.func,\n clearErrors: PropTypes.func,\n optionsCliente: PropTypes.array,\n valComboClientes: PropTypes.object,\n setValComboClientes: PropTypes.func,\n setIsEscuela: PropTypes.func,\n setIsLaboral: PropTypes.func,\n getComboGradoEscolar: PropTypes.func,\n getComboUsuarioCliente: PropTypes.func,\n comboUsuarios: PropTypes.array,\n valComboUsuarios: PropTypes.object,\n setValComboUsuarios: PropTypes.func,\n rolUsuario: PropTypes.string,\n comboEstados: PropTypes.array,\n comboMunicipios: PropTypes.array,\n getComboMunicipios: PropTypes.func,\n control: PropTypes.object,\n // ordenEstatus: PropTypes.string,\n // fechaCitaStr: PropTypes.string\n};\n\nexport default OrderGeneral;\n","import React, {\n forwardRef, useEffect, useImperativeHandle, useState\n} from 'react';\nimport { useForm, Controller } from 'react-hook-form';\nimport {\n TextField,\n Grid,\n Accordion,\n AccordionSummary,\n Typography,\n AccordionDetails,\n makeStyles,\n FormControl,\n InputLabel,\n MenuItem,\n FormHelperText,\n Select,\n Divider,\n InputAdornment,\n Tooltip,\n IconButton,\n FormLabel,\n FormControlLabel,\n RadioGroup,\n Radio,\n Button,\n Hidden,\n Link,\n Paper,\n Fab,\n Chip,\n Box,\n} from '@material-ui/core';\nimport {\n Delete,\n ExpandMore,\n FileCopyOutlined,\n Send,\n MailOutlined,\n GetAppTwoTone,\n} from '@material-ui/icons';\nimport AmountFormat from 'src/services/amountFormat';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport { DropzoneArea } from 'material-ui-dropzone';\nimport genService from 'src/services/generalServices';\nimport ordenService from 'src/services/ordenService';\nimport PropTypes from 'prop-types';\nimport combosService from 'src/services/combosService';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport { Autocomplete } from '@material-ui/lab';\n/* import { format } from 'date-fns'; */\nimport DateFnsUtils from '@date-io/date-fns';\nimport esLocale from 'date-fns/locale/es';\nimport {\n KeyboardDateTimePicker,\n MuiPickersUtilsProvider,\n KeyboardDatePicker\n} from '@material-ui/pickers';\nimport { DataGrid } from '@material-ui/data-grid';\nimport { Download } from 'react-feather';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport NotificacionOrden from './NotificacionOrden';\nimport OrderGeneral from '../OrderCommons/OrderGeneral';\n\nconst useStyles = makeStyles((theme) => ({\n accordionDetails: {\n display: 'block'\n },\n dropZoneStyle: {\n minHeight: '100px',\n },\n dropZoneText: {\n fontWeight: '200',\n fontFamily: 'sans-serif'\n },\n rightMargin: {\n marginRight: theme.spacing(1)\n },\n control: {\n padding: theme.spacing(2),\n },\n tooltip: {\n backgroundColor: 'transparent',\n color: theme.palette.common.black,\n boxShadow: 'none'\n },\n verticalCenter: {\n alignItems: 'center',\n display: 'flex'\n },\n summary: {\n backgroundColor: theme.palette.AccordionSummary.background\n }\n}));\n\nconst AltaOrden = forwardRef(({\n formName,\n comboEstados,\n comboMunicipios,\n setComboMunicipios,\n mapaMunicipios,\n setMapaMunicipios,\n setServerError,\n setOpenSnackError,\n idOrden,\n setIdOrden,\n formData,\n setFormData,\n rowsOrdenes,\n comboClientes,\n comboAnalistas,\n comboOrdenEstatus,\n comboHiperliga,\n comboGradoEscolar,\n setComboGradoEscolar,\n mapaUsuarios,\n setMapaUsuarios,\n comboUsuarios,\n setComboUsuarios,\n setOpenSnackSuccess,\n setServerMessage,\n rolUsuario,\n setOpenAltaOrden\n}, ref) => {\n const {\n register,\n handleSubmit,\n errors,\n reset,\n control,\n setValue,\n getValues,\n setError,\n clearErrors,\n trigger,\n formState\n } = useForm();\n const classes = useStyles();\n const errorReq = 'Campo requerido.';\n const [acordionGeneral, setAcordionGeneral] = useState(true);\n const [acordionEvaluacion, setAcordionEvaluacion] = useState(true);\n const [acordionArchivos, setAcordionArchivos] = useState(true);\n const [acordionLiga, setAcordionLiga] = useState(true);\n const [valComboClientes, setValComboClientes] = useState({});\n const [valComboUsuarios, setValComboUsuarios] = useState({});\n const [valComboAnalistas, setValComboAnalistas] = useState({});\n const [valGradoEscolar, setValGradoEscolar] = useState({});\n const [folio, setFolio] = useState();\n const [rowsFiles, setRowsFiles] = useState([]);\n const [openFechaCita, setOpenFechaCita] = React.useState(false);\n const [fechaCita, setFechaCita] = React.useState(null);\n const [openFechaInicioLiga, setOpenFechaInicioLiga] = React.useState(false);\n const [fechaInicioLiga, setFechaInicioLiga] = React.useState(null);\n const [openFechaFinLiga, setOpenFechaFinLiga] = React.useState(false);\n const [fechaFinLiga, setFechaFinLiga] = React.useState(null);\n const [isLaboral, setIsLaboral] = useState(false);\n const [isEscuela, setIsEscuela] = useState(false);\n const [openBack, setOpenBack] = useState(false);\n const [llaveLiga, setLlaveLiga] = useState(null);\n const [linkDocs, setLinkDocs] = useState(null);\n const [linkTooltip, setLinkTooltip] = useState('Copiar Liga');\n const [correosLiga, setCorreosLiga] = useState([]);\n const [helperMailsMessage, setHelperMailsMessage] = useState(null);\n const [inputMailValue, setInputMailValue] = useState('');\n const [openEliminarMasiva, setOpenEliminarMasiva] = useState(false);\n const [openNotificacion, setOpenNotificacion] = useState(false);\n const [emailStatusData, setEmailStatusData] = useState({});\n const [deleteFileRow, setDeleteFileRow] = useState(null);\n const [idDireccion, setIdDireccion] = useState(0);\n const [estadoLigaVal, setEstadoLigaVal] = useState(true);\n const [fileSelected, setFileSelected] = useState([]);\n const [reqFechaCita, setReqFechaCita] = useState(false);\n const [reqComentarios, setReqComentarios] = useState(false);\n const [confirmarHiperliga, setConfirmarHiperliga] = useState(false);\n const [left, setLeft] = React.useState([]);\n const [right, setRight] = React.useState([]);\n const valEmail = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\n\n /* const addComboMunicipios = (idEstado) => {\n const existMunicipios = mapaMunicipios.filter((item) => item.key === idEstado);\n if (existMunicipios !== undefined && existMunicipios.length > 0) {\n setComboMunicipios(existMunicipios[0].value);\n } else {\n combosService.comboMunicipios(idEstado).then((resp) => {\n setComboMunicipios(resp);\n setMapaMunicipios((newElement) => [...newElement, { key: idEstado, value: resp }]);\n });\n }\n }; */\n\n const getComboUsuarioCliente = async (idCliente, idUsuario) => {\n setValComboUsuarios({});\n setComboUsuarios([]);\n setOpenBack(true);\n const existUsuarios = mapaUsuarios.filter((item) => item.key === idCliente);\n if (existUsuarios !== undefined && existUsuarios.length > 0) {\n setComboUsuarios(existUsuarios[0].value);\n if (idUsuario !== null) {\n const selectComboUsuarios = existUsuarios[0].value.filter((aux) => (\n aux.value === idUsuario\n ));\n setValComboUsuarios(selectComboUsuarios[0]);\n }\n setLeft(existUsuarios[0].value.filter((aux) => !aux.supervisor));\n setRight(existUsuarios[0].value.filter((aux) => aux.supervisor));\n } else if (idCliente !== undefined && idCliente > 0) {\n const isAdmin = rolUsuario === 'ADMINISTRADOR';\n await combosService.comboUsuariosCliente(idCliente, isAdmin).then((resp) => {\n setComboUsuarios(resp);\n setMapaUsuarios((newElement) => [...newElement, { key: idCliente, value: resp }]);\n if (idUsuario !== null) {\n const selectComboUsuarios = resp.filter((aux) => (\n aux.value === idUsuario\n ));\n setValComboUsuarios(selectComboUsuarios[0]);\n }\n setLeft(resp.filter((aux) => !aux.supervisor));\n setRight(resp.filter((aux) => aux.supervisor));\n }).catch((error) => {\n console.log('Error al llenar el combo de usuarios', error);\n setOpenBack(false);\n });\n }\n setOpenBack(false);\n };\n\n const getComboGradoEscolar = (idCliente, idGradoEscolar) => {\n if (idCliente !== undefined && idCliente > 0) {\n combosService.comboGradoEscolar(idCliente).then((resp) => {\n setComboGradoEscolar(resp);\n if (idGradoEscolar !== undefined && idGradoEscolar > 0) {\n const selecGrado = resp.filter((aux) => aux.value === idGradoEscolar);\n setValGradoEscolar(selecGrado[0]);\n }\n });\n }\n };\n\n const resetForm = () => {\n reset({\n id: 0,\n regCliente: '',\n ordenStatus: '',\n comentarios: '',\n importeFacturar: '',\n fechaSolicitudStr: ''\n });\n setValComboClientes({});\n setValComboUsuarios({});\n setValComboAnalistas({});\n setComboUsuarios([]);\n setIsLaboral(false);\n setIsEscuela(false);\n combosService.addComboMunicipios(9, mapaMunicipios,\n setComboMunicipios, setMapaMunicipios);\n setRowsFiles([]);\n setFolio(ordenService.generarFolio());\n const currentDate = new Date();\n const currDateOneMonth = new Date();\n setFechaInicioLiga(currentDate);\n setFechaFinLiga(currDateOneMonth.setMonth(currDateOneMonth.getMonth() + 1));\n setFechaCita(null);\n setCorreosLiga([]);\n setEstadoLigaVal(true);\n setReqComentarios(false);\n setReqFechaCita(false);\n };\n\n const optionsCliente = comboClientes.map((option) => {\n const firstLetter = option.tipoCliente;\n return {\n firstLetter: /[0-9]/.test(firstLetter) ? '0-9' : firstLetter,\n ...option,\n };\n });\n\n useEffect(() => {\n if (formData.id !== undefined && formData.id > 0) {\n setIdOrden(formData.id);\n setIdDireccion(formData.direccion.id);\n setFolio(formData.folio);\n const selectComboClientes = optionsCliente.filter((aux) => (\n aux.value === formData.idCliente\n ));\n setValComboClientes(selectComboClientes[0]);\n if (selectComboClientes[0].tipoCliente === 'Escuela') {\n setIsEscuela(true);\n } else if (selectComboClientes[0].tipoCliente === 'Laboral') {\n setIsLaboral(true);\n }\n setFechaCita(formData.fechaCita);\n const selectComboAnalistas = comboAnalistas.filter((aux) => (\n formData.idAnalista === aux.value\n ));\n if (selectComboAnalistas.length > 0) {\n setValComboAnalistas(selectComboAnalistas[0]);\n }\n getComboGradoEscolar(formData.idCliente, formData.idGradoEscolar);\n if (formData.archivos !== null && formData.archivos !== undefined\n && formData.archivos.length > 0) {\n setRowsFiles(formData.archivos);\n setAcordionArchivos(true);\n } else {\n setAcordionArchivos(false);\n }\n if (formData.listCorreosLiga !== null && formData.listCorreosLiga !== undefined) {\n setCorreosLiga(formData.listCorreosLiga);\n }\n setFechaInicioLiga(formData.fechaInicioLiga);\n setFechaFinLiga(formData.fechaFinLiga);\n setEstadoLigaVal(formData.estadoLiga);\n setLinkDocs(`${window.location.origin}/cargaDocumentos?key=${formData.llaveLiga}`);\n setLlaveLiga(formData.llaveLiga);\n const llenaComboUsuarios = async (idCliente, idUsuario) => {\n await getComboUsuarioCliente(idCliente, idUsuario);\n };\n llenaComboUsuarios(formData.idCliente, formData.idUsuarioCliente);\n const orderStatus = comboOrdenEstatus.filter(\n (auxStatus) => auxStatus.value === formData.idOrdenEstatus\n );\n if (orderStatus !== undefined && orderStatus !== null\n && orderStatus[0].label === 'CITA') {\n setReqFechaCita(true);\n } else if ((orderStatus !== undefined && orderStatus !== null && orderStatus[0].label === 'SUSPENDIDO')) {\n setReqComentarios(true);\n }\n const nombreCliente = comboClientes.filter(\n (auxCliente) => auxCliente.value === formData.idCliente\n );\n setEmailStatusData({\n nombreCliente: nombreCliente[0].label,\n folio: formData.folio,\n descOrdenEstatus: orderStatus[0].label,\n nombre: formData.nombre,\n fechaCita: formData.fechaCita,\n comentarios: formData.comentarios\n });\n } else {\n setIdOrden(0);\n setFolio(ordenService.generarFolio());\n setFormData({});\n setComboGradoEscolar([]);\n const currentDate = new Date();\n const currDateOneMonth = new Date();\n setFechaInicioLiga(currentDate);\n setFechaFinLiga(currDateOneMonth.setMonth(currDateOneMonth.getMonth() + 1));\n }\n if (formData.direccion?.idEstado !== undefined\n && formData.direccion?.idEstado !== null\n && formData.direccion.idEstado > 0) {\n combosService.addComboMunicipios(formData.direccion.idEstado,\n mapaMunicipios, setComboMunicipios, setMapaMunicipios);\n } else {\n combosService.addComboMunicipios(9, mapaMunicipios,\n setComboMunicipios, setMapaMunicipios);\n }\n reset(formData);\n setFormData({});\n }, []);\n\n const getComboMunicipios = (newValue) => {\n setComboMunicipios([]);\n if (newValue !== null) {\n setValue('idMunicipio', '');\n combosService.addComboMunicipios(newValue, mapaMunicipios,\n setComboMunicipios, setMapaMunicipios);\n }\n };\n\n const onError = (err) => {\n if (err.nombreCliente || err.nombre || err.puesto || err.matricula\n || err.telefonoPrimario) {\n setAcordionGeneral(true);\n }\n if (err.idOrdenEstatus) {\n setAcordionEvaluacion(true);\n }\n };\n\n const agregaArchivos = (fileList) => {\n let filesList = [];\n const uploadFileToS3 = async (file) => {\n setOpenBack(true);\n if (filesList.length === 0) {\n filesList = rowsFiles.slice();\n }\n const existingFile = filesList.findIndex((auxFile) => auxFile.nombre === file.name);\n let nombreArchivo = file.name;\n const nombreSinExtension = nombreArchivo.substring(0, nombreArchivo.lastIndexOf('.'));\n if (nombreSinExtension.length > 50) {\n const extension = nombreArchivo.substring(nombreArchivo.lastIndexOf('.'), nombreArchivo.length);\n const nombreCorto = nombreSinExtension.substring(0, 50);\n nombreArchivo = nombreCorto.trim() + extension;\n setOpenSnackError(true);\n setServerError('El nombre de alguno de sus archivos fue reducido a 50 caracteres.');\n }\n // let uploadedFile;\n if (existingFile < 0) {\n const itemFile = {\n id: `${folio}_${nombreArchivo}`,\n nombre: nombreArchivo,\n size: file.size,\n fileBucketName: `GENERAL_${folio}_${nombreArchivo}`,\n comentarios: '',\n estatus: 'NUEVO',\n tipoArchivo: 'GENERAL',\n archivo: file,\n enServidor: false\n };\n filesList.push(itemFile);\n // uploadedFile = itemFile;\n } else {\n filesList[existingFile].archivo = file;\n filesList[existingFile].size = file.size;\n if (filesList[existingFile].estatus !== 'NUEVO') {\n filesList[existingFile].estatus = 'ACTUALIZADO';\n }\n // uploadedFile = filesList[existingFile];\n }\n /* await ordenService.uploadArchivoAWS(uploadedFile, file); */\n setOpenBack(false);\n };\n\n fileList.forEach((file) => {\n uploadFileToS3(file);\n });\n setRowsFiles(filesList);\n };\n\n /* const onClickRemove = () => {\n const listFiles = rowsFiles.filter((row) => row.id !== deleteFileRow.id);\n console.log('El archivo a borrar:', deleteFileRow);\n if (deleteFileRow.enServidor) {\n const deleteFile = rowsFiles.filter((row) => row.id === deleteFileRow.id);\n ordenService.deleteOrderFile(deleteFile[0]).catch((error) => console.log(error));\n }\n setRowsFiles(listFiles);\n setOpenEliminar(false);\n setDeleteFileRow(null);\n }; */\n\n const deleteMasiveFiles = async () => {\n setOpenBack(true);\n setOpenEliminarMasiva(false);\n let selectedRows = [];\n let nonSelectedRows = [];\n if (deleteFileRow !== null) {\n selectedRows = rowsFiles.filter((row) => (\n row.id === deleteFileRow.id && row.enServidor\n ));\n nonSelectedRows = rowsFiles.filter((row) => row.id !== deleteFileRow.id);\n } else {\n selectedRows = rowsFiles.filter(({ id, enServidor }) => (\n fileSelected.includes(id) && enServidor\n ));\n nonSelectedRows = rowsFiles.filter(({ id }) => !fileSelected.includes(id));\n }\n if (selectedRows.length > 0) {\n await ordenService.deleteOrderFile(selectedRows).then((resp) => {\n setRowsFiles(nonSelectedRows);\n setOpenSnackSuccess(true);\n setServerMessage(resp.data.mensaje);\n }).catch((error) => {\n setOpenSnackError(true);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n });\n } else {\n setRowsFiles(nonSelectedRows);\n }\n setDeleteFileRow(null);\n setOpenBack(false);\n };\n\n const onClickEnviarHiperliga = async () => {\n const emailData = {};\n emailData.nombreCliente = getValues('nombre');\n emailData.listCorreosLiga = correosLiga;\n emailData.folio = folio;\n emailData.llaveLiga = linkDocs;\n setOpenBack(true);\n setConfirmarHiperliga(false);\n await ordenService.enviarEmailLiga(emailData).then(() => {\n setServerMessage(`El correo con la liga para la orden ${folio} fue enviado correctamente.`);\n setOpenSnackSuccess(true);\n }).catch((error) => {\n console.log('Error al enviar correo de liga:', error);\n setOpenSnackError(true);\n setServerError(`Error al enviar correo de liga para la orden ${folio}`);\n setConfirmarHiperliga(false);\n setOpenBack(false);\n });\n setOpenBack(false);\n };\n\n const onAddCorreos = (newVal) => {\n const lastVal = newVal.trim();\n setHelperMailsMessage(null);\n setInputMailValue('');\n if (newVal !== undefined && valEmail.test(newVal.trim())) {\n const filtraCorreo = correosLiga.filter((mail) => lastVal === mail);\n if (filtraCorreo.length > 0) {\n setHelperMailsMessage('Este correo ya fue ingresado anteriormente.');\n setInputMailValue(newVal.trim());\n } else {\n correosLiga.push(newVal.trim());\n }\n } else if (lastVal !== undefined && lastVal !== '') {\n setHelperMailsMessage('Verificar el formato del correo ingresado.');\n setInputMailValue(newVal.trim());\n }\n };\n\n const onSubmit = (data, isNotificacion) => {\n const handleAsync = async (datos) => {\n setOpenBack(true);\n await ordenService.altaOrden(datos).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n if (idOrden > 0 && rowsOrdenes !== undefined && rowsOrdenes !== null) {\n const modOrden = rowsOrdenes.find((row) => row.id === idOrden);\n if (modOrden !== undefined && modOrden !== null) {\n Object.assign(modOrden, datos);\n modOrden.descOrdenEstatus = resp.data.strOrdenEstatus;\n }\n }\n // Se agregó un nuevo grado escolar, se debe actualizar el combo.\n if (data.gradoEscolar && data.gradoEscolar.value === 0) {\n data.gradoEscolar.value = resp.data.gradoEscolar.value;\n }\n /* setOpen(true); */\n setOpenSnackSuccess(true);\n setServerMessage(`La orden ${folio} fue guardada exitosamente.`);\n setIdOrden(resp.data.id);\n setIdDireccion(resp.data.direccion.id);\n setLinkDocs(`${window.location.origin}/cargaDocumentos?key=${resp.data.llaveLiga}`);\n setLlaveLiga(resp.data.llaveLiga);\n setValue('fechaTermino', resp.data.fechaTermino);\n setValue('fechaFinalizacionLigaStr', resp.data.fechaFinalizacionLigaStr);\n setRowsFiles(resp.data.archivos);\n emailStatusData.descOrdenEstatus = resp.data.strOrdenEstatus;\n emailStatusData.nombre = resp.data.nombre;\n emailStatusData.fechaCita = resp.data.fechaCita;\n emailStatusData.comentarios = resp.data.comentarios;\n if (isNotificacion === true) {\n setOpenNotificacion(true);\n } else {\n setOpenAltaOrden(false);\n }\n }\n }).catch((error) => {\n if (error.response !== undefined) {\n setServerError(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBack(false);\n });\n setOpenBack(false);\n };\n data.id = idOrden;\n if (idOrden === 0) {\n data.direccion.id = 0;\n }\n data.idUsuarioCliente = valComboUsuarios.value;\n data.idCliente = valComboClientes.value;\n data.idGradoEscolar = isEscuela ? valGradoEscolar.value : 0;\n data.matricula = isEscuela ? data.matricula : '';\n data.puesto = isLaboral ? data.puesto : '';\n data.archivos = rowsFiles.map((auxFile) => {\n if (auxFile.estatus === 'NUEVO') {\n auxFile.id = 0;\n }\n return auxFile;\n });\n data.fechaInicioLiga = fechaInicioLiga;\n data.fechaFinLiga = fechaFinLiga;\n data.fechaCita = fechaCita;\n data.listCorreosLiga = correosLiga;\n data.idAnalista = valComboAnalistas?.value;\n data.gradoEscolar = isEscuela ? valGradoEscolar : null;\n data.direccion.id = idDireccion;\n data.estadoLiga = estadoLigaVal;\n data.llaveLiga = llaveLiga;\n const estatusSelec = comboOrdenEstatus.filter(\n (auxEstatus) => data.idOrdenEstatus === auxEstatus.value\n );\n data.strOrdenEstatus = estatusSelec[0].label;\n data.descEstatusLiga = comboHiperliga.filter(\n (edoLink) => data.idEstatusLiga === edoLink.value\n )[0]?.label;\n handleAsync(data);\n };\n\n useImperativeHandle(ref, () => ({\n resetOrdenForm: () => {\n resetForm();\n },\n sendOrderStatusEmail: async () => {\n await trigger().then((res) => {\n if (res) {\n onSubmit(getValues(), true);\n } else {\n const firstError = Object.keys(formState.errors)[0];\n formState.errors[firstError]?.ref.focus();\n }\n });\n }\n }));\n\n const descargaMasiva = async () => {\n setOpenBack(true);\n const selectedRows = rowsFiles.filter(({ id }) => fileSelected.includes(id));\n const files = selectedRows.filter((auxFile) => auxFile.archivo !== undefined)\n .map((filteredFile) => filteredFile.archivo);\n const filesObject = selectedRows.filter((auxFile) => auxFile.estatus !== 'NUEVO');\n await ordenService.descargarZip(filesObject, files, folio).then((response) => {\n const link = document.createElement('a');\n link.href = window.URL.createObjectURL(response.data);\n link.download = `${folio}.zip`;\n link.click();\n }).catch((e) => {\n if (e.response) {\n e.response.data.text().then((errorResp) => {\n const finalError = JSON.parse(errorResp);\n setServerError(finalError.message);\n });\n } else {\n setServerError(`${e.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n\n const columnsFiles = [\n {\n field: 'tipoArchivo',\n headerName: 'Tipo de Archivo',\n minWidth: 120,\n flex: 1,\n hideSortIcons: true\n },\n {\n field: 'nombre',\n headerName: 'Nombre de Archivo',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'comentarios',\n headerName: 'Comentarios',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClickDownload = () => {\n const link = document.createElement('a');\n if (params.row.archivo !== undefined) {\n link.href = window.URL.createObjectURL(params.row.archivo);\n link.download = params.row.nombre;\n link.click();\n } else {\n const downloadFileAsync = async (datos) => {\n setOpenBack(true);\n await ordenService.downloadArchivoAWS(datos).then((resp) => {\n link.href = window.URL.createObjectURL(resp.data);\n // params.row.archivo = resp.data;\n link.download = params.row.nombre;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar el archivo', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n downloadFileAsync(params.row);\n }\n };\n return (\n
\n \n {\n setOpenEliminarMasiva(true);\n setDeleteFileRow(params.row);\n }}\n fontSize=\"small\"\n color=\"primary\"\n >\n \n \n \n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n
\n \n }\n onClick={() => setAcordionGeneral(!acordionGeneral)}\n className={classes.summary}\n >\n Datos Generales\n \n \n \n \n \n \n \n \n \n }\n onClick={() => setAcordionEvaluacion(!acordionEvaluacion)}\n className={classes.summary}\n >\n Evaluación\n \n \n \n \n \n \n \n \n {\n errors.idOrdenEstatus\n ?
Seleccione un Estatus *
\n :
Seleccione un Estatus *
\n }\n
\n {\n return { value: selected };\n }}\n render={({ onChange, value }) => (\n {\n onChange(newValue.props.value);\n setReqFechaCita(false);\n setReqComentarios(false);\n clearErrors(['comentarios', 'fechaCita']);\n if (newValue.props.children === 'CITA') {\n setReqFechaCita(true);\n } else if (newValue.props.children === 'SUSPENDIDO') {\n setReqComentarios(true);\n }\n }}\n >\n {comboOrdenEstatus.map((status) => (\n \n {status.label}\n \n ))}\n \n )}\n />\n {\n errors.idOrdenEstatus\n && (\n \n {errors.idOrdenEstatus?.message}\n \n )\n }\n \n
\n \n \n \n
\n \n \n \n setOpenFechaCita(true)}\n onClose={() => setOpenFechaCita(false)}\n onChange={setFechaCita}\n format=\"dd/MM/yyyy HH:mm:ss\"\n margin=\"none\"\n label={reqFechaCita ? 'Fecha de Cita *' : 'Fecha de Cita'}\n value={fechaCita}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n fullWidth\n error={errors.fechaCita}\n helperText={errors.fechaCita?.message}\n inputRef={register({\n required: { value: reqFechaCita, message: 'Debe ingresar una fecha de cita.' },\n })}\n />\n \n \n \n \n \n \n {rolUsuario === 'ADMINISTRADOR'\n ? (\n \n \n (option.label ? `${option.label} - (${option.usuario})` : '')}\n renderOption={(option) => `${option.label} - (${option.usuario})`}\n fullWidth\n value={valComboAnalistas}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regAnalista = null;\n setValComboAnalistas(newValue);\n }}\n />\n \n \n $,\n inputComponent: AmountFormat,\n }}\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n error={errors.importeFacturar}\n helperText={errors.importeFacturar?.message}\n />\n \n \n ) : (\n null\n )}\n \n \n \n \n \n \n
\n
\n {rolUsuario === 'ADMINISTRADOR'\n ? (\n \n }\n onClick={() => setAcordionLiga(!acordionLiga)}\n className={classes.summary}\n >\n Link Hiperliga\n \n \n \n \n { idOrden > 0\n ? (\n \n \n \n \n {linkDocs}\n \n \n \n \n setLinkTooltip('Copiar Liga')}\n >\n {\n navigator.clipboard.writeText(linkDocs);\n setLinkTooltip('Link Copiado!');\n }}\n color=\"transparent\"\n >\n \n \n \n \n \n ) : (\n null\n )}\n \n \n \n Estado Liga\n {\n if (e.currentTarget.value === 'true') {\n setEstadoLigaVal(true);\n } else {\n setEstadoLigaVal(false);\n }\n }}\n >\n }\n label=\"Activo\"\n value\n labelPlacement=\"start\"\n />\n }\n label=\"Inactivo\"\n value={false}\n labelPlacement=\"start\"\n />\n \n \n \n \n \n \n \n setOpenFechaInicioLiga(true)}\n onClose={() => setOpenFechaInicioLiga(false)}\n format=\"dd/MM/yyyy\"\n margin=\"none\"\n label=\"Vigencia Inicio\"\n value={fechaInicioLiga}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n fullWidth\n onChange={(newDate) => {\n setFechaInicioLiga(newDate);\n if (new Date(newDate) > new Date(fechaFinLiga)) {\n setError('fechaInicioLiga', { type: 'custom', message: 'La fecha de Inicio no puede ser mayor a la fecha de Fin.' });\n } else {\n clearErrors();\n }\n }}\n error={errors.fechaInicioLiga}\n helperText={errors.fechaInicioLiga?.message}\n />\n \n \n \n \n setOpenFechaFinLiga(true)}\n onClose={() => setOpenFechaFinLiga(false)}\n format=\"dd/MM/yyyy\"\n margin=\"none\"\n label=\"Vigencia Fin\"\n value={fechaFinLiga}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n fullWidth\n onChange={(newDate) => {\n setFechaFinLiga(newDate);\n if (new Date(newDate) < new Date(fechaInicioLiga)) {\n setError('fechaFinLiga', { type: 'custom', message: 'La fecha de Fin no puede ser menor a la fecha de Inicio.' });\n } else {\n clearErrors();\n }\n }}\n error={errors.fechaFinLiga}\n helperText={errors.fechaFinLiga?.message}\n />\n \n \n \n \n \n {\n if (reason === 'input') {\n setInputMailValue(newValue);\n }\n }}\n onChange={() => {\n onAddCorreos(inputMailValue);\n }}\n renderTags={(value, getTagProps) => (\n value.map((option, index) => (\n }\n clickable\n onClick={() => {\n if (inputMailValue !== '' && valEmail.test(inputMailValue)) {\n const addValue = correosLiga.push(inputMailValue);\n setCorreosLiga(addValue);\n setInputMailValue('');\n }\n const tempArray = correosLiga.filter((item) => (\n item !== correosLiga[index]\n ));\n setInputMailValue(correosLiga[index]);\n setCorreosLiga(tempArray);\n }}\n onDelete={() => {\n const newCorreosList = correosLiga.filter((mail) => mail !== option);\n setCorreosLiga(newCorreosList);\n }}\n />\n )))}\n disableClearable\n renderInput={(params) => (\n {\n if (e.keyCode === 32) {\n onAddCorreos(inputMailValue);\n }\n }}\n onBlur={() => {\n onAddCorreos(inputMailValue);\n }}\n onKeyUp={(e) => {\n if (e.keyCode === 32 && inputMailValue === ' ') {\n setInputMailValue('');\n }\n }}\n />\n )}\n />\n \n {idOrden > 0 && correosLiga?.length > 0\n ? (\n \n \n \n }\n onClick={() => setConfirmarHiperliga(true)}\n >\n ENVIAR\n \n \n \n \n \n \n \n \n }\n onClick={descargaMasiva}\n >\n Descargar\n \n \n \n \n \n ) : ''}\n 0 ? '' : 'none' }}\n >\n \n {\n setFileSelected(selec);\n }}\n />\n \n \n \n \n ) : (\n null\n )}\n \n {\n setOpenEliminarMasiva(false);\n setDeleteFileRow(null);\n }}\n confirm={deleteMasiveFiles}\n title=\"Eliminar archivos\"\n message={deleteFileRow === null ? `Seguro que desea eliminar los ${fileSelected.length} archivos seleccionados?` : 'Seguro que desea eliminar el archivo?'}\n />\n setConfirmarHiperliga(false)}\n confirm={onClickEnviarHiperliga}\n title=\"Enviar Hiperliga\"\n message=\"Seguro que desea enviar el correo con la Hiperliga?\"\n />\n \n
\n );\n});\n\nAltaOrden.propTypes = {\n formName: PropTypes.string,\n comboEstados: PropTypes.array,\n comboMunicipios: PropTypes.array,\n setComboMunicipios: PropTypes.func,\n mapaMunicipios: PropTypes.array,\n setMapaMunicipios: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n idOrden: PropTypes.number,\n setIdOrden: PropTypes.func,\n formData: PropTypes.object,\n setFormData: PropTypes.func,\n rowsOrdenes: PropTypes.array,\n comboClientes: PropTypes.array,\n comboAnalistas: PropTypes.array,\n comboOrdenEstatus: PropTypes.array,\n comboHiperliga: PropTypes.array,\n comboGradoEscolar: PropTypes.array,\n setComboGradoEscolar: PropTypes.func,\n mapaUsuarios: PropTypes.array,\n setMapaUsuarios: PropTypes.func,\n comboUsuarios: PropTypes.array,\n setComboUsuarios: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n rolUsuario: PropTypes.string,\n setOpenAltaOrden: PropTypes.func\n};\n\nexport default AltaOrden;\n","import React from 'react';\nimport { Controller, useForm } from 'react-hook-form';\nimport {\n Card,\n Popper,\n CardHeader,\n Divider,\n CardContent,\n Grid,\n TextField,\n makeStyles,\n Box,\n Button,\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n} from '@material-ui/core';\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from '@material-ui/pickers';\nimport PropTypes from 'prop-types';\nimport DateFnsUtils from '@date-io/date-fns';\nimport genService from 'src/services/generalServices';\nimport esLocale from 'date-fns/locale/es';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n}));\n\nconst BusquedaOrdenes = ({\n openPopper,\n anchorEl,\n setFechaDesde,\n setFechaHasta,\n fechaDesde,\n fechaHasta,\n onSubmitAdv,\n comboOrdenEstatus,\n comboAnalistas,\n rolUsuario\n}) => {\n const { register, handleSubmit, control } = useForm();\n const classes = useStyles();\n const [openFechaHasta, setOpenFechaHasta] = React.useState(false);\n const [openFechaDesde, setOpenFechaDesde] = React.useState(false);\n\n return (\n \n
onSubmitAdv(data, 'adv'))}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenFechaDesde(true)}\n /* onClick={() => setOpenFechaDesde(true)} */\n onClose={() => setOpenFechaDesde(false)}\n onChange={setFechaDesde}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Desde\"\n value={fechaDesde}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n setOpenFechaHasta(true)}\n onClose={() => setOpenFechaHasta(false)}\n /* onClick={() => setOpenFechaHasta(true)} */\n onChange={setFechaHasta}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Hasta\"\n value={fechaHasta}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n \n \n \n Seleccione un Estatus\n \n {\n return { value: selected };\n }}\n as={(\n \n Seleccione un Estatus\n {comboOrdenEstatus.map((status) => (\n \n {status.label}\n \n ))}\n \n )}\n />\n \n \n {rolUsuario === 'ADMINISTRADOR'\n ? (\n \n \n \n Seleccione un Analista\n \n {\n return { value: selected };\n }}\n as={(\n \n Seleccione un Analista\n {comboAnalistas.map((status) => (\n \n {`${status.label} - (${status.usuario})`}\n \n ))}\n \n )}\n />\n \n \n ) : (\n null\n )}\n \n
\n \n \n Buscar\n \n \n \n \n \n \n );\n};\n\nBusquedaOrdenes.propTypes = {\n anchorEl: PropTypes.object,\n openPopper: PropTypes.bool,\n setFechaDesde: PropTypes.func,\n setFechaHasta: PropTypes.func,\n fechaDesde: PropTypes.string,\n fechaHasta: PropTypes.string,\n onSubmitAdv: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n comboAnalistas: PropTypes.array,\n rolUsuario: PropTypes.string\n};\nexport default BusquedaOrdenes;\n","import React from 'react';\nimport {\n Box,\n Divider,\n Fab,\n Grid,\n IconButton,\n InputBase,\n makeStyles,\n Paper,\n Tooltip,\n Typography,\n ClickAwayListener\n} from '@material-ui/core';\nimport {\n Add,\n Check,\n Delete,\n Search,\n TuneTwoTone as Menu,\n} from '@material-ui/icons';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { isEmpty } from 'lodash';\nimport genService from 'src/services/generalServices';\nimport { useForm } from 'react-hook-form';\nimport ordenService from 'src/services/ordenService';\nimport { format } from 'date-fns';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport BusquedaOrdenes from './BusquedaOrdenes';\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n rightMargin: {\n marginRight: theme.spacing(1)\n },\n leftMargin: {\n marginLeft: theme.spacing(1)\n },\n input: {\n marginLeft: theme.spacing(1),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n paperRoot: {\n padding: '2px 6px',\n display: 'flex'\n },\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst OrdenesToolBar = ({\n className,\n setOpenAltaOrden,\n selectedRows,\n setOpenBackDrop,\n setOpenSnackError,\n setServerError,\n setRowsOrdenes,\n rowsOrdenes,\n setServerMessage,\n setOpenSnackSuccess,\n setSelectedRows,\n rolUsuario,\n comboOrdenEstatus,\n comboAnalistas\n}) => {\n const {\n register,\n handleSubmit,\n reset\n } = useForm();\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = React.useState(null);\n const paperRef = React.useRef();\n const openPopper = Boolean(anchorEl);\n const [fechaDesde, setFechaDesde] = React.useState(null);\n const [fechaHasta, setFechaHasta] = React.useState(null);\n const [openDialog, setOpenDialog] = React.useState(false);\n const [openDialogTerminar, setOpenDialogTerminar] = React.useState(false);\n\n const handleClickAway = () => {\n setAnchorEl(null);\n setFechaDesde(null);\n setFechaHasta(null);\n };\n const handleClickPopper = () => {\n setAnchorEl(anchorEl ? null : paperRef.current);\n reset({});\n };\n const removeRows = () => {\n setOpenDialog(false);\n const asyncCall = async () => {\n setOpenBackDrop(true);\n await ordenService.eliminaOrden(selectedRows).then((resp) => {\n if (resp.data.Errores !== undefined && resp.data.Errores.length > 0) {\n setServerError(`Fallo al eliminar: ${resp.data.Errores.length} clientes.`);\n setOpenSnackError(true);\n }\n if (resp.data.Eliminados !== undefined && resp.data.Eliminados.length > 0) {\n resp.data.Eliminados.map((del) => {\n rowsOrdenes = rowsOrdenes.filter((item) => item.id !== del);\n return rowsOrdenes;\n });\n setSelectedRows([]);\n setServerMessage(`Ordenes eliminadas: ${resp.data.Eliminados.length}`);\n setOpenSnackSuccess(true);\n setRowsOrdenes(rowsOrdenes);\n }\n }).catch((error) => {\n setServerError(error.message);\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n asyncCall();\n };\n const terminarRows = () => {\n setOpenDialogTerminar(false);\n const asyncCall = async () => {\n setOpenBackDrop(true);\n await ordenService.terminarOrdenes(selectedRows).then(() => {\n setServerMessage(`Ordenes terminadas: ${selectedRows.length}`);\n setOpenSnackSuccess(true);\n selectedRows.map((del) => {\n const modOrden = rowsOrdenes.find((row) => row.id === del);\n if (modOrden !== undefined && modOrden !== null) {\n modOrden.descOrdenEstatus = 'TERMINADO';\n }\n return modOrden;\n });\n }).catch((error) => {\n setOpenSnackError(true);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n });\n setOpenBackDrop(false);\n };\n asyncCall();\n };\n const onSubmit = (formulario, searchType) => {\n const asyncCall = async (datos, type) => {\n setOpenBackDrop(true);\n if (fechaDesde !== null && fechaDesde !== '') {\n datos.desde = format(fechaDesde, 'yyyy-MM-dd');\n }\n if (fechaHasta !== null && fechaHasta !== '') {\n datos.hasta = format(fechaHasta, 'yyyy-MM-dd');\n }\n await ordenService.searchOrdenes(datos, false).then((resp) => {\n setRowsOrdenes(resp.data);\n if (resp.data.length > 0 && type === 'adv') {\n handleClickPopper();\n }\n }).catch((error) => {\n setRowsOrdenes([]);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario, searchType).catch((error) => {\n setRowsOrdenes([]);\n const mensajeError = `Error al realiza la búsqueda: ${error.message}`;\n setServerError(mensajeError);\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n };\n\n return (\n
\n \n Busqueda de Ordenes\n \n \n {rolUsuario === 'ADMINISTRADOR'\n ? (\n \n \n
\n setOpenDialogTerminar(true)}\n >\n \n \n
\n
\n \n
\n setOpenDialog(true)}\n >\n \n \n
\n
\n \n setOpenAltaOrden(true, 0)}\n className={classes.bottomSpace}\n >\n \n \n \n
\n ) : (\n null\n )}\n \n \n \n onSubmit(data, 'single'))}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenDialog(false)}\n confirm={removeRows}\n title=\"Eliminar registros\"\n message=\"Se eliminarán las ordenes seleccionadas.\"\n />\n setOpenDialogTerminar(false)}\n confirm={terminarRows}\n title=\"Finalizar Ordenes\"\n message={selectedRows.length > 1\n ? (\n `Se terminarán ${selectedRows.length} ordenes.`\n ) : (\n 'Se terminará la orden seleccionada'\n )}\n />\n
\n );\n};\nOrdenesToolBar.propTypes = {\n className: PropTypes.string,\n setOpenAltaOrden: PropTypes.func,\n selectedRows: PropTypes.array,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n setRowsOrdenes: PropTypes.func,\n rowsOrdenes: PropTypes.array,\n setServerMessage: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setSelectedRows: PropTypes.func,\n rolUsuario: PropTypes.string,\n comboOrdenEstatus: PropTypes.array,\n comboAnalistas: PropTypes.array\n};\n\nexport default OrdenesToolBar;\n","import React, { useState, useRef, useEffect } from 'react';\nimport {\n Container,\n makeStyles,\n Box,\n Tooltip,\n Chip,\n IconButton,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Button,\n TextField\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport Page from 'src/components/Page';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport DataTable from 'src/views/commons/DataTable';\nimport { Edit, Email } from '@material-ui/icons';\nimport combosService from 'src/services/combosService';\nimport ordenService from 'src/services/ordenService';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport chipEstatusTable from 'src/views/commons/ChipEstatusTable';\nimport DateFnsUtils from '@date-io/date-fns';\nimport esLocale from 'date-fns/locale/es';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport genService from 'src/services/generalServices';\nimport { useForm } from 'react-hook-form';\nimport AltaOrden from './AltaOrden';\nimport OrdenesToolBar from './OrdenesToolBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n }\n}));\n\nconst Ordenes = ({\n setComboOrdenEstatus,\n comboOrdenEstatus,\n comboLabelStatus,\n setComboLabelStatus,\n setComboHiperliga,\n comboHiperliga,\n setOpenBackDrop,\n setServerError,\n setOpenSnackError,\n rolUsuario,\n ...props\n}) => {\n const classes = useStyles();\n const { register, handleSubmit, errors } = useForm();\n const [openAltaOrden, setOpenAltaOrden] = useState(false);\n const [openFechaCita, setOpenFechaCita] = useState(false);\n const [updateRowStatus, setUpdateRowStatus] = useState({});\n const [fechaCita, setFechaCita] = React.useState(null);\n const [openComentarios, setOpenComentarios] = useState(false);\n const [comentarios, setComentarios] = React.useState(null);\n const [rowsOrdenes, setRowsOrdenes] = useState([]);\n const [selectedRows, setSelectedRows] = useState([]);\n const [comboClientes, setComboClientes] = useState([]);\n const [comboAnalistas, setComboAnalistas] = useState([]);\n const [comboGradoEscolar, setComboGradoEscolar] = useState([]);\n const [mapaUsuarios, setMapaUsuarios] = useState([]);\n const [comboUsuarios, setComboUsuarios] = useState([]);\n const [formData, setFormData] = useState({});\n const [idOrden, setIdOrden] = useState(0);\n const [actionButtonName, setActionbuttonName] = useState('');\n const formName = 'formOrden';\n const ordenRef = useRef();\n\n const getClickActionButton = () => {\n if (idOrden === 0) {\n return ordenRef.current.resetOrdenForm();\n }\n if (rolUsuario === 'ADMINISTRADOR') {\n return ordenRef.current.sendOrderStatusEmail();\n }\n return undefined;\n };\n\n const openAlta = (altaFlag, idOrdenAlta) => {\n if (idOrdenAlta === 0) {\n setActionbuttonName('LIMPIAR');\n } else if (idOrdenAlta !== 0 && rolUsuario === 'ADMINISTRADOR') {\n setActionbuttonName('NOTIFICAR');\n } else {\n setActionbuttonName(undefined);\n }\n setOpenAltaOrden(altaFlag);\n };\n\n const onClickEdit = (rowId) => {\n const modifyOrder = async (ordenId) => {\n setOpenBackDrop(true);\n await ordenService.getOrdenById(ordenId).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n setFormData(resp.data);\n openAlta(true, resp.data.id);\n }\n }).catch((err) => {\n console.log(err);\n setServerError(err.message);\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBackDrop(false);\n });\n };\n modifyOrder(rowId);\n };\n\n const saveOrderStatus = async (data) => {\n const { setOpenSnackSuccess, setServerMessage } = props;\n setOpenBackDrop(true);\n await ordenService.updateOrderStatus(data).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n setUpdateRowStatus({});\n setFechaCita(undefined);\n setComentarios(undefined);\n setServerMessage('El estatus de la orden fue actualizado correctamente.');\n setOpenSnackSuccess(true);\n }\n return resp;\n }).catch((err) => {\n console.log(err);\n setServerError(err.message);\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBackDrop(false);\n });\n };\n\n const onChangeStatus = (fieldUpdated) => {\n if (fieldUpdated.field === 'descOrdenEstatus' && fieldUpdated.value === 'CITA') {\n const rowSel = rowsOrdenes.find((rw) => rw.id === fieldUpdated.id);\n if (rowSel.fechaCita) {\n setFechaCita(moment(rowSel.fechaCita).format('YYYY-MM-DDTHH:mm'));\n } else {\n setFechaCita(moment(new Date()).format('YYYY-MM-DDTHH:mm'));\n }\n setOpenFechaCita(true);\n setUpdateRowStatus(fieldUpdated);\n } else if (fieldUpdated.field === 'descOrdenEstatus' && fieldUpdated.value === 'SUSPENDIDO') {\n const rowSel = rowsOrdenes.find((rw) => rw.id === fieldUpdated.id);\n if (rowSel.comentarios) {\n setComentarios(rowSel.comentarios);\n }\n setOpenComentarios(true);\n setUpdateRowStatus(fieldUpdated);\n } else {\n const updateStatus = {\n id: fieldUpdated.id,\n descOrdenEstatus: fieldUpdated.value,\n };\n saveOrderStatus(updateStatus);\n }\n };\n\n useEffect(() => {\n const getCombosAsync = async () => {\n setOpenBackDrop(true);\n await combosService.comboAnalistas().then((resp) => {\n setComboAnalistas(resp);\n }).catch((error) => {\n setOpenBackDrop(false);\n console.log(`'Error al cargar el combo de analistas: '${error}`);\n });\n await combosService.comboClientes().then((resp) => {\n setComboClientes(resp);\n }).catch((error) => {\n setOpenBackDrop(false);\n console.log(`'Error al cargar el combo de clientes: '${error}`);\n });\n if (comboOrdenEstatus === undefined || comboOrdenEstatus.length === 0) {\n await combosService.comboOrdenEstatus().then((resp) => {\n setComboOrdenEstatus(resp);\n const labelStatus = [];\n resp.forEach((status) => {\n labelStatus.push(status.label);\n });\n setComboLabelStatus(labelStatus);\n });\n }\n if (comboHiperliga === undefined || comboHiperliga === null || comboHiperliga.length === 0) {\n await combosService.comboLinkEstatusActivos().then((resp) => {\n setComboHiperliga(resp);\n });\n }\n const idDashOrden = window.localStorage.getItem('idOrden');\n if (idDashOrden) {\n window.localStorage.removeItem('idOrden');\n onClickEdit(idDashOrden);\n }\n setOpenBackDrop(false);\n };\n getCombosAsync();\n }, []);\n\n const columns = [\n {\n field: 'folio',\n headerName: 'Folio',\n maxWidth: 140,\n minWidth: 140,\n headerClassName: 'header-datagrid',\n renderCell: (params) => {\n const onClick = () => {\n onClickEdit(params.row.id);\n };\n return (\n \n \n )}\n onDelete={onClick}\n />\n \n );\n }\n },\n {\n field: 'descOrdenEstatus',\n headerName: 'Estatus',\n minWidth: 140,\n flex: 1,\n editable: rolUsuario === 'ADMINISTRADOR',\n type: 'singleSelect',\n valueOptions: comboLabelStatus,\n renderCell: (params) => {\n return chipEstatusTable(params, true);\n }\n },\n {\n field: 'nombreUsuario',\n headerName: 'Usuario',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombreCliente',\n headerName: 'Cliente',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombre',\n headerName: 'Investigado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'telefonoPrimario',\n headerName: 'Teléfono',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'fechaSolicitudStr',\n headerName: 'Solicitud',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'fechaCita',\n headerName: 'Cita',\n minWidth: 120,\n flex: 1,\n renderCell: (params) => {\n if (updateRowStatus && updateRowStatus.id === params.id && fechaCita) {\n params.value = fechaCita;\n params.row.fechaCita = fechaCita;\n }\n if (params.value === null || params.value === undefined) {\n params.value = '--';\n } else {\n params.value = moment(new Date(params.value)).format('YYYY-MM-DD HH:mm:ss');\n }\n return renderCellExpand(params);\n }\n },\n {\n field: 'descEstado',\n headerName: 'Estado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'consultar',\n headerName: 'Consultar',\n maxWidth: 40,\n minWidth: 40,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClick = () => {\n onClickEdit(params.row.id);\n };\n return (\n
\n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n \n \n \n \n \n : null}\n size=\"md\"\n >\n \n \n \n Ingrese una Fecha de Cita\n \n \n {\n setFechaCita(e.target.value);\n }}\n InputLabelProps={{\n shrink: true,\n }}\n />\n \n \n \n {\n const updateStatus = {\n id: updateRowStatus.id,\n descOrdenEstatus: updateRowStatus.value,\n fechaCita\n };\n const rowSel = rowsOrdenes.find((rw) => rw.id === updateRowStatus.id);\n rowSel.fechaCita = fechaCita;\n saveOrderStatus(updateStatus);\n setOpenFechaCita(false);\n }}\n color=\"primary\"\n >\n Guardar\n \n \n \n \n Comentario por suspensión\n \n {\n const updateStatus = {\n id: updateRowStatus.id,\n descOrdenEstatus: updateRowStatus.value,\n comentarios: params.comentarios\n };\n const rowSel = rowsOrdenes.find((rw) => rw.id === updateRowStatus.id);\n rowSel.comentarios = params.comentarios;\n saveOrderStatus(updateStatus);\n setOpenComentarios(false);\n })\n }\n >\n {\n setComentarios(e.target.value);\n }}\n inputRef={register({\n required: { value: true, message: 'Para guardar la orden es necesario agregar un comentario.' },\n })}\n />\n \n \n \n \n Guardar\n \n \n \n \n \n );\n};\n\nOrdenes.propTypes = {\n setComboOrdenEstatus: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n setComboLabelStatus: PropTypes.func,\n comboLabelStatus: PropTypes.array,\n setComboHiperliga: PropTypes.func,\n comboHiperliga: PropTypes.array,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n rolUsuario: PropTypes.string,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func\n};\nexport default Ordenes;\n","import React from 'react';\nimport { Controller, useForm } from 'react-hook-form';\nimport {\n Card,\n Popper,\n CardHeader,\n Divider,\n CardContent,\n Grid,\n TextField,\n makeStyles,\n Box,\n Button,\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n} from '@material-ui/core';\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from '@material-ui/pickers';\nimport PropTypes from 'prop-types';\nimport DateFnsUtils from '@date-io/date-fns';\nimport genService from 'src/services/generalServices';\nimport esLocale from 'date-fns/locale/es';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n}));\n\nconst BusquedaOrdenes = ({\n openPopper,\n anchorEl,\n setFechaDesde,\n setFechaHasta,\n fechaDesde,\n fechaHasta,\n onSubmitAdv,\n comboOrdenEstatus,\n}) => {\n const { register, handleSubmit, control } = useForm();\n const classes = useStyles();\n const [openFechaHasta, setOpenFechaHasta] = React.useState(false);\n const [openFechaDesde, setOpenFechaDesde] = React.useState(false);\n\n return (\n \n
onSubmitAdv(data, 'adv'))}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenFechaDesde(true)}\n /* onClick={() => setOpenFechaDesde(true)} */\n onClose={() => setOpenFechaDesde(false)}\n onChange={setFechaDesde}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Desde\"\n value={fechaDesde}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n setOpenFechaHasta(true)}\n onClose={() => setOpenFechaHasta(false)}\n /* onClick={() => setOpenFechaHasta(true)} */\n onChange={setFechaHasta}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Hasta\"\n value={fechaHasta}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n \n \n \n Seleccione un Estatus\n \n {\n return { value: selected };\n }}\n as={(\n \n Seleccione un Estatus\n {comboOrdenEstatus.map((status) => (\n \n {status.label}\n \n ))}\n \n )}\n />\n \n \n \n
\n \n \n Buscar\n \n \n \n \n \n \n );\n};\n\nBusquedaOrdenes.propTypes = {\n anchorEl: PropTypes.object,\n openPopper: PropTypes.bool,\n setFechaDesde: PropTypes.func,\n setFechaHasta: PropTypes.func,\n fechaDesde: PropTypes.string,\n fechaHasta: PropTypes.string,\n onSubmitAdv: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n};\nexport default BusquedaOrdenes;\n","import React from 'react';\nimport {\n Box,\n Divider,\n Fab,\n Grid,\n IconButton,\n InputBase,\n makeStyles,\n Paper,\n Tooltip,\n Typography,\n ClickAwayListener\n} from '@material-ui/core';\nimport {\n Add,\n Search,\n TuneTwoTone as Menu,\n} from '@material-ui/icons';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport genService from 'src/services/generalServices';\nimport { useForm } from 'react-hook-form';\nimport ordenService from 'src/services/ordenService';\nimport { format } from 'date-fns';\nimport BusquedaAvOT from './BusquedaAvOT';\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n rightMargin: {\n marginRight: theme.spacing(1)\n },\n leftMargin: {\n marginLeft: theme.spacing(1)\n },\n input: {\n marginLeft: theme.spacing(1),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n paperRoot: {\n padding: '2px 6px',\n display: 'flex'\n },\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst OrdenesToolBar = ({\n className,\n setOpenAltaOrden,\n setOpenBackDrop,\n setOpenSnackError,\n setServerError,\n setRowsOrdenes,\n rolUsuario,\n comboOrdenEstatus,\n}) => {\n const {\n register,\n handleSubmit,\n reset\n } = useForm();\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = React.useState(null);\n const paperRef = React.useRef();\n const openPopper = Boolean(anchorEl);\n const [fechaDesde, setFechaDesde] = React.useState(null);\n const [fechaHasta, setFechaHasta] = React.useState(null);\n\n const handleClickAway = () => {\n setAnchorEl(null);\n setFechaDesde(null);\n setFechaHasta(null);\n };\n const handleClickPopper = () => {\n setAnchorEl(anchorEl ? null : paperRef.current);\n reset({});\n };\n const onSubmit = (formulario, searchType) => {\n console.log('Formulario busqueda de ordenes:', formulario);\n const asyncCall = async (datos, type) => {\n setOpenBackDrop(true);\n if (fechaDesde !== null && fechaDesde !== '') {\n datos.desde = format(fechaDesde, 'yyyy-MM-dd');\n }\n if (fechaHasta !== null && fechaHasta !== '') {\n datos.hasta = format(fechaHasta, 'yyyy-MM-dd');\n }\n await ordenService.searchOrdenes(datos, false).then((resp) => {\n setRowsOrdenes(resp.data);\n if (resp.data.length > 0 && type === 'adv') {\n handleClickPopper();\n }\n }).catch((error) => {\n setRowsOrdenes([]);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario, searchType).catch((error) => {\n setRowsOrdenes([]);\n const mensajeError = `Error al realiza la búsqueda: ${error.message}`;\n setServerError(mensajeError);\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n };\n\n return (\n
\n \n Busqueda de Ordenes\n \n \n {rolUsuario === 'CLIENTE'\n ? (\n \n \n setOpenAltaOrden(true, 0)}\n className={classes.bottomSpace}\n >\n \n \n \n \n ) : (\n null\n )}\n \n \n \n onSubmit(data, 'single'))}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\nOrdenesToolBar.propTypes = {\n className: PropTypes.string,\n setOpenAltaOrden: PropTypes.func,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n setRowsOrdenes: PropTypes.func,\n rolUsuario: PropTypes.string,\n comboOrdenEstatus: PropTypes.array\n};\n\nexport default OrdenesToolBar;\n","import React, {\n useState, forwardRef, useEffect,\n useImperativeHandle\n} from 'react';\nimport { useForm } from 'react-hook-form';\nimport PropTypes from 'prop-types';\nimport combosService from 'src/services/combosService';\nimport {\n Grid,\n Accordion,\n AccordionSummary,\n Typography,\n AccordionDetails,\n makeStyles,\n Divider,\n Tooltip,\n Button,\n IconButton,\n TextField\n} from '@material-ui/core';\nimport { DataGrid } from '@material-ui/data-grid';\nimport {\n ExpandMore,\n GetAppTwoTone,\n Delete,\n} from '@material-ui/icons';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport { DropzoneArea } from 'material-ui-dropzone';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport ordenService from 'src/services/ordenService';\nimport { Download } from 'react-feather';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport moment from 'moment';\nimport OrderGeneral from '../OrderCommons/OrderGeneral';\n\nconst useStyles = makeStyles((theme) => ({\n accordionDetails: {\n display: 'block'\n },\n dropZoneStyle: {\n minHeight: '100px',\n },\n dropZoneText: {\n fontWeight: '200',\n fontFamily: 'sans-serif'\n },\n control: {\n padding: theme.spacing(2),\n },\n tooltip: {\n backgroundColor: 'transparent',\n color: theme.palette.common.black,\n boxShadow: 'none'\n },\n verticalCenter: {\n alignItems: 'center',\n display: 'flex'\n },\n summary: {\n backgroundColor: theme.palette.AccordionSummary.background\n }\n}));\n\nconst AltaClienteOT = forwardRef(({\n formName,\n comboEstados,\n comboMunicipios,\n setComboMunicipios,\n mapaMunicipios,\n setMapaMunicipios,\n comboGradoEscolar,\n setComboGradoEscolar,\n setServerError,\n setOpenSnackError,\n idOrden,\n setIdOrden,\n formData,\n setFormData,\n idCliente,\n tipoCliente,\n setOpenAltaOrden,\n comboOrdenEstatus,\n comboHiperliga,\n rolUsuario,\n ...props\n}, ref) => {\n const {\n register,\n handleSubmit,\n errors,\n reset,\n control,\n setValue,\n setError,\n clearErrors\n } = useForm();\n const classes = useStyles();\n const [acordionGeneral, setAcordionGeneral] = useState(true);\n const [acordionEvaluacion, setAcordionEvaluacion] = useState(true);\n const [acordionArchivos, setAcordionArchivos] = useState(true);\n const [valGradoEscolar, setValGradoEscolar] = useState({});\n const [isLaboral, setIsLaboral] = useState(false);\n const [isEscuela, setIsEscuela] = useState(false);\n const [idDireccion, setIdDireccion] = useState(0);\n const [rowsFiles, setRowsFiles] = useState([]);\n const [folio, setFolio] = useState();\n const [openBack, setOpenBack] = useState(false);\n const [fileSelected, setFileSelected] = useState([]);\n const [openEliminar, setOpenEliminar] = useState(false);\n const [deleteFileRow, setDeleteFileRow] = useState(null);\n const [openAlta, setOpenAlta] = useState(false);\n const [ordenEstatus, setOrdenEstatus] = useState();\n const [fechaCitaStr, setFechaCitaStr] = useState('--');\n\n const estatusSolicitada = comboOrdenEstatus.filter((estado) => estado.label === 'SOLICITADA');\n const estatusHiperliga = comboHiperliga.filter((estatus) => estatus.label === 'NUEVA');\n\n const resetForm = () => {\n reset({\n id: 0,\n regCliente: '',\n ordenStatus: '',\n comentarios: '',\n importeFacturar: '',\n fechaSolicitudStr: ''\n });\n combosService.addComboMunicipios(9, mapaMunicipios,\n setComboMunicipios, setMapaMunicipios);\n setRowsFiles([]);\n setValGradoEscolar({});\n console.log(rowsFiles);\n setFolio(ordenService.generarFolio());\n };\n\n const getComboGradoEscolar = (clienteId, idGradoEscolar) => {\n if (clienteId !== undefined && clienteId > 0) {\n combosService.comboGradoEscolar(clienteId).then((resp) => {\n setComboGradoEscolar(resp);\n if (idGradoEscolar !== undefined && idGradoEscolar > 0) {\n const selecGrado = resp.filter((aux) => aux.value === idGradoEscolar);\n setValGradoEscolar(selecGrado[0]);\n }\n });\n }\n };\n\n useEffect(() => {\n console.log('Datos de la orden:', formData);\n if (formData.id !== undefined && formData.id > 0) {\n setIdOrden(formData.id);\n setIdDireccion(formData.direccion.id);\n setFolio(formData.folio);\n console.log(idDireccion);\n if (formData.archivos !== null && formData.archivos !== undefined\n && formData.archivos.length > 0) {\n setRowsFiles(formData.archivos);\n }\n const labelOrdenEstatus = comboOrdenEstatus.filter(\n (auxStatus) => auxStatus.value === formData.idOrdenEstatus\n );\n setOrdenEstatus(labelOrdenEstatus[0].label);\n formData.descOrdenEstatus = labelOrdenEstatus[0].label;\n if (formData.fechaCita !== null && formData.fechaCita !== undefined) {\n setFechaCitaStr(moment(new Date(formData.fechaCita)).format('DD/MM/YYYY HH:mm:ss'));\n formData.fechaCitaStr = moment(new Date(formData.fechaCita)).format('DD/MM/YYYY HH:mm:ss');\n } else {\n formData.fechaCitaStr = '--';\n }\n if (formData.fechaTermino !== null && formData.fechaTermino !== undefined\n && moment(new Date(formData.fechaCita)).format('DD/MM/YYYY HH:mm:ss') >= formData.fechaTermino) {\n setFechaCitaStr('--');\n }\n if (formData.fechaTermino !== null && formData.fechaTermino !== undefined) {\n formData.fechaTerminoStr = formData.fechaTermino;\n } else {\n formData.fechaTerminoStr = '--';\n }\n } else {\n setIdOrden(0);\n setFolio(ordenService.generarFolio());\n setFormData({});\n setComboGradoEscolar([]);\n }\n if (formData.direccion?.idEstado !== undefined\n && formData.direccion?.idEstado !== null\n && formData.direccion.idEstado > 0) {\n combosService.addComboMunicipios(formData.direccion.idEstado,\n mapaMunicipios, setComboMunicipios, setMapaMunicipios);\n } else {\n combosService.addComboMunicipios(9, mapaMunicipios,\n setComboMunicipios, setMapaMunicipios);\n }\n console.log('Tipo de Cliente:', tipoCliente);\n if (tipoCliente === 'Escuela') {\n setIsEscuela(true);\n getComboGradoEscolar(idCliente, formData.idGradoEscolar);\n }\n if (tipoCliente === 'Laboral') {\n setIsLaboral(true);\n }\n reset(formData);\n setFormData({});\n console.log('id de estatus de orden:', estatusSolicitada[0].label);\n }, []);\n\n useImperativeHandle(ref, () => ({\n resetOrdenForm: () => {\n resetForm();\n }\n }));\n\n const getComboMunicipios = (newValue) => {\n setComboMunicipios([]);\n if (newValue !== null) {\n setValue('idMunicipio', '');\n combosService.addComboMunicipios(newValue, mapaMunicipios,\n setComboMunicipios, setMapaMunicipios);\n }\n };\n\n const onClickRemove = () => {\n const listFiles = rowsFiles.filter((row) => row.id !== deleteFileRow.id);\n console.log('El archivo a borrar:', deleteFileRow);\n if (deleteFileRow.enServidor) {\n const deleteFile = rowsFiles.filter((row) => row.id === deleteFileRow.id);\n ordenService.deleteOrderFile(deleteFile[0]).catch((error) => console.log(error));\n }\n setRowsFiles(listFiles);\n setOpenEliminar(false);\n setDeleteFileRow(null);\n };\n\n const agregaArchivos = (fileList) => {\n console.log('Files:', fileList);\n let filesList = [];\n const uploadFileToS3 = async (file) => {\n setOpenBack(true);\n console.log(file);\n if (filesList.length === 0) {\n filesList = rowsFiles.slice();\n }\n const existingFile = filesList.findIndex((auxFile) => auxFile.nombre === file.name);\n let nombreArchivo = file.name;\n const nombreSinExtension = nombreArchivo.substring(0, nombreArchivo.lastIndexOf('.'));\n if (nombreSinExtension.length > 50) {\n const extension = nombreArchivo.substring(nombreArchivo.lastIndexOf('.'), nombreArchivo.length);\n const nombreCorto = nombreSinExtension.substring(0, 50);\n console.log('Longitud del nombre', nombreArchivo.length);\n console.log('Extension del archivo', extension);\n console.log('nombreCorto', nombreCorto + extension);\n nombreArchivo = nombreCorto.trim() + extension;\n setOpenSnackError(true);\n setServerError('El nombre de alguno de sus archivos fue reducido a 50 caracteres.');\n }\n let uploadedFile;\n if (existingFile < 0) {\n const itemFile = {\n id: `${folio}_${nombreArchivo}`,\n nombre: nombreArchivo,\n size: file.size,\n fileBucketName: `${folio}_${nombreArchivo}`,\n comentarios: '',\n estatus: 'NUEVO',\n tipoArchivo: 'GENERAL',\n archivo: file,\n enServidor: false\n };\n filesList.push(itemFile);\n uploadedFile = itemFile;\n } else {\n filesList[existingFile].archivo = file;\n filesList[existingFile].size = file.size;\n if (filesList[existingFile].estatus !== 'NUEVO') {\n filesList[existingFile].estatus = 'ACTUALIZADO';\n }\n uploadedFile = filesList[existingFile];\n }\n console.log('Datos del archivo', uploadedFile);\n /* await ordenService.uploadArchivoAWS(uploadedFile, file); */\n setOpenBack(false);\n };\n\n fileList.forEach((file) => {\n uploadFileToS3(file);\n });\n setRowsFiles(filesList);\n };\n\n const descargaMasiva = async () => {\n setOpenBack(true);\n const files = rowsFiles.filter((auxFile) => auxFile.archivo !== undefined)\n .map((filteredFile) => filteredFile.archivo);\n const filesObject = rowsFiles.filter((auxFile) => auxFile.estatus !== 'NUEVO');\n await ordenService.descargarZip(filesObject, files, folio).then((response) => {\n console.log('Respuesta descarga zip', response);\n const link = document.createElement('a');\n link.href = window.URL.createObjectURL(response.data);\n link.download = `${folio}.zip`;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar archivos:', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n\n const columnsFiles = [\n {\n field: 'tipoArchivo',\n headerName: 'Tipo de Archivo',\n minWidth: 120,\n flex: 1,\n hideSortIcons: true\n },\n {\n field: 'nombre',\n headerName: 'Nombre de Archivo',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'comentarios',\n headerName: 'Comentarios',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClickDownload = () => {\n const link = document.createElement('a');\n if (params.row.archivo !== undefined) {\n link.href = window.URL.createObjectURL(params.row.archivo);\n link.download = params.row.nombre;\n link.click();\n } else {\n const downloadFileAsync = async (datos) => {\n setOpenBack(true);\n await ordenService.downloadArchivoAWS(datos).then((resp) => {\n link.href = window.URL.createObjectURL(resp.data);\n params.row.archivo = resp.data;\n link.download = params.row.nombre;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar el archivo', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n downloadFileAsync(params.row);\n }\n };\n return (\n
\n {idOrden === 0\n ? (\n \n {\n setOpenEliminar(true);\n setDeleteFileRow(params.row);\n }}\n fontSize=\"small\"\n color=\"primary\"\n >\n \n \n \n ) : (\n null\n )}\n \n \n \n \n \n
\n );\n }\n }\n ];\n\n const onError = (err) => {\n console.log('errores:', err);\n if (err.nombreCliente || err.nombre || err.puesto || err.matricula\n || err.telefonoPrimario) {\n setAcordionGeneral(true);\n }\n };\n\n const onSubmit = (data) => {\n const handleAsync = async (datos) => {\n console.log('Datos de la orden:', datos);\n setOpenBack(true);\n await ordenService.altaOrden(datos).then((resp) => {\n console.log('Respuesta del servidor OT:', resp);\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n setOpenAlta(true);\n }\n }).catch((error) => {\n setOpenBack(false);\n if (error.response !== undefined) {\n setServerError(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBack(false);\n });\n setOpenBack(false);\n };\n data.id = idOrden;\n data.direccion.id = 0;\n data.idGradoEscolar = isEscuela ? valGradoEscolar.value : 0;\n data.matricula = isEscuela ? data.matricula : '';\n data.puesto = isLaboral ? data.puesto : '';\n data.archivos = rowsFiles.map((auxFile) => {\n if (auxFile.estatus === 'NUEVO') {\n auxFile.id = 0;\n }\n return auxFile;\n });\n data.gradoEscolar = isEscuela ? valGradoEscolar : null;\n data.idOrdenEstatus = estatusSolicitada[0].value;\n data.idEstatusLiga = estatusHiperliga[0].value;\n handleAsync(data);\n };\n\n return (\n
\n \n }\n onClick={() => setAcordionGeneral(!acordionGeneral)}\n className={classes.summary}\n >\n Datos Generales\n \n \n \n \n \n \n \n \n {(idOrden > 0) ? (\n \n }\n onClick={() => setAcordionEvaluacion(!acordionEvaluacion)}\n className={classes.summary}\n >\n Consulta de Evaluación\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n null\n )}\n {(idOrden === 0 || (idOrden > 0 && rowsFiles.length > 0))\n ? (\n \n }\n onClick={() => setAcordionArchivos(!acordionArchivos)}\n className={classes.summary}\n >\n Archivos Adjuntos\n \n \n \n {idOrden === 0\n ? (\n \n \n {\n agregaArchivos(file);\n }}\n filesLimit={500}\n dropzoneText={(\n
\n
Arrastre y suelte un archivo.
\n
\n (Máx 3 MB y con extensiones: .jpg, .png, .pdf,\n .zip, .doc-x, .xls-x, .ppt-x y .txt)\n
\n
\n )}\n maxFileSize={3200000}\n showPreviewsInDropzone={false}\n alertSnackbarProps={{ anchorOrigin: { vertical: 'bottom', horizontal: 'center' } }}\n showAlerts={['error']}\n getDropRejectMessage={() => {\n return 'Solo se aceptan archivos menores a 3 MB y con extensiones: .jpg, .png, .pdf, .zip, .doc-x, .xls-x, .ppt-x y .txt';\n }}\n />\n
\n
\n ) : (\n null\n )}\n {fileSelected.length > 1 ? (\n 0 ? '' : 'none' }}\n >\n \n \n }\n onClick={descargaMasiva}\n >\n Descargar\n \n \n \n \n ) : ''}\n 0 ? '' : 'none' }}\n >\n \n {\n console.log('La seleccion de archivo:', selec);\n setFileSelected(selec);\n }}\n />\n \n \n
\n
\n ) : (\n null\n )}\n \n setOpenEliminar(false)}\n confirm={onClickRemove}\n title=\"Eliminar archivo\"\n message=\"Seguro que desea eliminar el archivo?\"\n />\n {\n setOpenAlta(false);\n setOpenAltaOrden(false);\n }}\n title=\"Nueva Orden\"\n message={`La orden ${folio} fue guardada exitosamente.`}\n />\n
\n );\n});\n\nAltaClienteOT.propTypes = {\n formName: PropTypes.string,\n comboEstados: PropTypes.array,\n comboMunicipios: PropTypes.array,\n setComboMunicipios: PropTypes.func,\n mapaMunicipios: PropTypes.array,\n setMapaMunicipios: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n idOrden: PropTypes.number,\n setIdOrden: PropTypes.func,\n formData: PropTypes.object,\n setFormData: PropTypes.func,\n comboGradoEscolar: PropTypes.array,\n setComboGradoEscolar: PropTypes.func,\n idCliente: PropTypes.number,\n tipoCliente: PropTypes.string,\n setOpenAltaOrden: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n comboHiperliga: PropTypes.array,\n rolUsuario: PropTypes.string\n};\n\nexport default AltaClienteOT;\n","import React, { useState, useEffect, useRef } from 'react';\nimport {\n Container,\n makeStyles,\n Box,\n Tooltip,\n IconButton\n} from '@material-ui/core';\nimport { Visibility } from '@material-ui/icons';\nimport moment from 'moment';\nimport combosService from 'src/services/combosService';\nimport Page from 'src/components/Page';\nimport PropTypes from 'prop-types';\nimport DataTable from 'src/views/commons/DataTable';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport ordenService from 'src/services/ordenService';\nimport ChipEstatusTable from 'src/views/commons/ChipEstatusTable';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport OTClienteToolBar from './OTClienteToolBar';\nimport AltaClienteOT from './AltaClienteOT';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n }\n}));\n\nconst ClienteOT = ({\n setComboOrdenEstatus,\n comboOrdenEstatus,\n setComboHiperliga,\n comboHiperliga,\n setOpenBackDrop,\n setServerError,\n setOpenSnackError,\n rolUsuario,\n ...props\n}) => {\n const classes = useStyles();\n\n const [openAltaOrden, setOpenAltaOrden] = useState(false);\n const [rowsOrdenes, setRowsOrdenes] = useState([]);\n const [selectedRows, setSelectedRows] = useState([]);\n const [formData, setFormData] = useState({});\n const [idOrden, setIdOrden] = useState(0);\n const [mapaUsuarios, setMapaUsuarios] = useState([]);\n const [comboGradoEscolar, setComboGradoEscolar] = useState([]);\n const formName = 'formOrden';\n const ordenRef = useRef();\n\n const resetOrderRef = () => {\n if (idOrden === 0) {\n ordenRef.current.resetOrdenForm();\n } else {\n setOpenAltaOrden(false);\n }\n };\n\n const onClickEdit = (rowId) => {\n const modifyOrder = async (orderId) => {\n setOpenBackDrop(true);\n await ordenService.getOrdenById(orderId).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n console.log('Orden para cliente:', resp.data);\n setFormData(resp.data);\n setOpenAltaOrden(true);\n }\n }).catch((err) => {\n console.log(err);\n setServerError(err.message);\n setOpenSnackError(true);\n }).finally(() => {\n setOpenBackDrop(false);\n });\n };\n modifyOrder(rowId);\n };\n\n useEffect(() => {\n const getCombosAsync = async () => {\n setOpenBackDrop(true);\n if (comboOrdenEstatus === undefined || comboOrdenEstatus.length === 0) {\n combosService.comboOrdenEstatus().then((resp) => {\n setComboOrdenEstatus(resp);\n });\n }\n if (comboHiperliga === undefined || comboHiperliga === null || comboHiperliga.length === 0) {\n combosService.comboLinkEstatusActivos().then((resp) => {\n setComboHiperliga(resp);\n });\n }\n const idDashOrden = window.localStorage.getItem('idOrden');\n if (idDashOrden) {\n window.localStorage.removeItem('idOrden');\n onClickEdit(idDashOrden);\n }\n setOpenBackDrop(false);\n };\n getCombosAsync();\n }, []);\n\n const columns = [\n {\n field: 'folio',\n headerName: 'Folio',\n maxWidth: 100,\n minWidth: 100,\n headerClassName: 'header-datagrid',\n renderCell: renderCellExpand,\n },\n {\n field: 'nombreUsuario',\n headerName: 'Usuario',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombre',\n headerName: 'Investigado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'telefonoPrimario',\n headerName: 'Teléfono',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'fechaSolicitudStr',\n headerName: 'Solicitud',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'fechaCita',\n headerName: 'Cita',\n minWidth: 120,\n flex: 1,\n renderCell: (params) => {\n if (params.value === null || params.value === undefined) {\n params.value = '--';\n } else {\n params.value = moment(new Date(params.value)).format('YYYY-MM-DD HH:mm:ss');\n }\n return renderCellExpand(params);\n }\n },\n {\n field: 'descEstado',\n headerName: 'Estado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'descOrdenEstatus',\n headerName: 'Estatus',\n minWidth: 110,\n flex: 1,\n renderCell: ChipEstatusTable\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClick = () => {\n onClickEdit(params.row.id);\n };\n return (\n
\n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nClienteOT.propTypes = {\n setComboOrdenEstatus: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n setComboHiperliga: PropTypes.func,\n comboHiperliga: PropTypes.array,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n rolUsuario: PropTypes.string\n};\nexport default ClienteOT;\n","import React, {\n useState, useEffect, forwardRef, useImperativeHandle\n} from 'react';\nimport { useForm, Controller } from 'react-hook-form';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n TextField,\n makeStyles,\n Card,\n CardContent,\n Grid,\n MenuItem,\n FormControl,\n Select,\n InputLabel,\n FormHelperText,\n FormControlLabel,\n Checkbox\n} from '@material-ui/core';\nimport { Autocomplete } from '@material-ui/lab';\nimport GeneralDialog from 'src/views/commons/GeneralDialog';\nimport genService from 'src/services/generalServices';\nimport userService from 'src/services/usuariosService';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n spaceButton: {\n marginRight: theme.spacing(1)\n },\n closeIcon: {\n float: 'right'\n },\n checkBoxVerde: {\n color: '#4caf50 !important'\n }\n}));\n\nconst AltaUsuario = forwardRef(({\n className,\n preloadedValues,\n setServerError,\n setOpenSnackError,\n formData,\n setFormData,\n rowsUsers,\n idUsuario,\n setIdUsuario,\n formName,\n comboClientes,\n setOpenDialog\n}, ref) => {\n const {\n register,\n handleSubmit,\n control,\n errors,\n reset\n } = useForm({\n defaultValues: {\n rol: ''\n },\n });\n const [open, setOpen] = useState(false);\n const [openBack, setOpenBack] = useState(false);\n const [valComboClientes, setValComboClientes] = useState({});\n const [isCliente, setIsCliente] = useState(false);\n const [isSupervisor, setIsSupervisor] = useState(false);\n const resetForm = () => {\n reset({\n id: 0,\n rol: '',\n nombre: '',\n nombreUsuario: '',\n email: '',\n idCliente: '',\n regCliente: ''\n });\n setValComboClientes({});\n setIsCliente(false);\n };\n useImperativeHandle(ref, () => ({\n resetUsuariosForm: () => {\n resetForm();\n }\n }));\n const getItemComboCliente = (idCliente) => {\n setValComboClientes(comboClientes.find((comboValue) => comboValue.value === idCliente));\n };\n useEffect(() => {\n reset(formData);\n setIdUsuario(0);\n console.log(formData);\n if (formData.id !== undefined) {\n setIdUsuario(formData.id);\n }\n if (formData.idCliente !== null && formData.idCliente > 0) {\n getItemComboCliente(formData.idCliente);\n setIsCliente(true);\n setIsSupervisor(formData.supervisor);\n }\n setFormData({});\n }, []);\n const onSubmit = (data) => {\n const handleSubmitII = async (datos) => {\n console.log(datos);\n setOpenBack(true);\n await userService.altaUsuario(datos).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setServerError(resp.data.mensaje);\n setOpenSnackError(true);\n } else {\n if (idUsuario > 0) {\n const modUser = rowsUsers.find((row) => row.id === idUsuario);\n console.log(preloadedValues);\n datos.rolDesc = preloadedValues.find((item) => item.value === datos.rol).text;\n Object.assign(modUser, datos);\n }\n setOpen(true);\n resetForm();\n }\n }).catch((error) => {\n setOpenBack(false);\n setServerError(error.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n data.id = idUsuario;\n if (isCliente) {\n data.idCliente = valComboClientes.value;\n } else {\n data.idCliente = 0;\n data.supervisor = false;\n }\n handleSubmitII(data);\n };\n const classes = useStyles();\n const errorReq = 'Campo requerido.';\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i, message: 'El formato no es correcto.' }\n })}\n variant=\"outlined\"\n onInput={genService.toLowerCase}\n error={errors.email}\n helperText={errors.email?.message}\n size=\"small\"\n />\n \n \n 0 && isCliente}\n >\n \n {\n errors.rol\n ?
Seleccione un Rol *
:
Seleccione un Rol *
\n }\n
\n {\n return { value: selected };\n }}\n defaultValue=\"\"\n render={({ onChange, value }) => (\n {\n onChange(newValue.props.value);\n if (newValue.props.value === 'ROLE_CLIENTE') {\n setIsCliente(true);\n } else {\n setIsCliente(false);\n }\n }}\n >\n {preloadedValues.map((rol) => (\n {rol.text}\n ))}\n \n )}\n />\n {\n errors.rol\n && (\n \n {errors.rol.message}\n \n )\n }\n \n
\n \n (option.label ? `${option.label} - (${option.tipoCliente})` : '')}\n renderOption={(option) => `${option.label} - (${option.tipoCliente})`}\n fullWidth\n value={valComboClientes}\n disabled={idUsuario > 0 && isCliente}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regCliente = null;\n setValComboClientes(newValue);\n }}\n />\n \n \n \n )}\n onChange={(e) => setIsSupervisor(e.target.checked)}\n label=\"Supervisor\"\n />\n \n
\n
\n
\n \n {\n setOpen(false);\n setOpenDialog(false);\n }}\n title=\"Usuario Guardado\"\n message=\"El usuario fue guardado exitosamente.\"\n />\n \n );\n});\n\nAltaUsuario.propTypes = {\n className: PropTypes.string,\n preloadedValues: PropTypes.array,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n formData: PropTypes.object,\n setFormData: PropTypes.func,\n rowsUsers: PropTypes.array,\n idUsuario: PropTypes.number,\n setIdUsuario: PropTypes.func,\n formName: PropTypes.string,\n comboClientes: PropTypes.array,\n setOpenDialog: PropTypes.func\n};\n\nexport default AltaUsuario;\n","import React from 'react';\nimport { useForm, Controller } from 'react-hook-form';\nimport {\n makeStyles,\n Popper,\n Card,\n CardHeader,\n Divider,\n Grid,\n CardContent,\n TextField,\n Box,\n Button,\n MenuItem,\n FormControl,\n InputLabel,\n Select\n} from '@material-ui/core';\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from '@material-ui/pickers';\nimport PropTypes from 'prop-types';\nimport DateFnsUtils from '@date-io/date-fns';\nimport genService from 'src/services/generalServices';\nimport esLocale from 'date-fns/locale/es';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n}));\n\nconst BusquedaUsuarios = ({\n anchorEl,\n openPopper,\n setFechaDesde,\n setFechaHasta,\n fechaDesde,\n fechaHasta,\n onSubmitAdv,\n preloadedValues\n}) => {\n const { register, handleSubmit, control } = useForm();\n const classes = useStyles();\n const [openFechaHasta, setOpenFechaHasta] = React.useState(false);\n const [openFechaDesde, setOpenFechaDesde] = React.useState(false);\n\n return (\n \n onSubmitAdv(data, 'adv'))}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenFechaDesde(true)}\n /* onClick={() => setOpenFechaDesde(true)} */\n onClose={() => setOpenFechaDesde(false)}\n onChange={setFechaDesde}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Desde\"\n value={fechaDesde}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n setOpenFechaHasta(true)}\n onClose={() => setOpenFechaHasta(false)}\n /* onClick={() => setOpenFechaHasta(true)} */\n onChange={setFechaHasta}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Hasta\"\n value={fechaHasta}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n \n \n \n \n \n \n Seleccione un Rol\n \n {\n return { value: selected };\n }}\n as={(\n \n Seleccione un Rol\n {preloadedValues.map((rol) => (\n {rol.text}\n ))}\n \n )}\n />\n \n \n \n
\n \n \n Buscar\n \n \n \n \n \n \n );\n};\nBusquedaUsuarios.propTypes = {\n anchorEl: PropTypes.object,\n openPopper: PropTypes.bool,\n setFechaDesde: PropTypes.func,\n setFechaHasta: PropTypes.func,\n fechaDesde: PropTypes.string,\n fechaHasta: PropTypes.string,\n onSubmitAdv: PropTypes.func,\n preloadedValues: PropTypes.array\n};\nexport default BusquedaUsuarios;\n","import React from 'react';\nimport { useForm } from 'react-hook-form';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n makeStyles,\n Box,\n Typography,\n Divider,\n InputBase,\n Paper,\n IconButton,\n Fab,\n Tooltip,\n Grid,\n ClickAwayListener\n} from '@material-ui/core';\nimport {\n Add,\n TuneTwoTone as Menu,\n Search,\n Delete\n} from '@material-ui/icons';\nimport BusquedaUsuarios from 'src/views/config/Usuarios/BusquedaUsuarios';\nimport usuariosService from 'src/services/usuariosService';\nimport genService from 'src/services/generalServices';\nimport { isEmpty } from 'lodash';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport { format } from 'date-fns';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n rightMargin: {\n marginRight: theme.spacing(1)\n },\n leftMargin: {\n marginLeft: theme.spacing(1)\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n input: {\n marginLeft: theme.spacing(1),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n divider: {\n height: 28,\n margin: 4,\n },\n paperRoot: {\n padding: '2px 6px',\n display: 'flex'\n },\n dropdown: {\n position: 'revert',\n top: 28,\n right: 0,\n left: 0,\n zIndex: 1,\n border: '1px solid',\n padding: theme.spacing(0),\n backgroundColor: theme.palette.background.paper,\n },\n item: {\n display: 'flex',\n flexDirection: 'column'\n }\n}));\n\nconst UsuariosToolBar = ({\n className,\n setOpenAlta,\n setRowsUsers,\n rowsUsers,\n setOpenBackDrop,\n selectedRows,\n setOpenSnackSuccess,\n setOpenSnackError,\n setServerError,\n setServerMessage,\n preloadedValues,\n setSelectedRows,\n rolUsuario\n}) => {\n const {\n register,\n handleSubmit,\n reset\n } = useForm();\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [openDialog, setOpenDialog] = React.useState(false);\n const [fechaDesde, setFechaDesde] = React.useState(null);\n const [fechaHasta, setFechaHasta] = React.useState(null);\n const openPopper = Boolean(anchorEl);\n const paperRef = React.useRef();\n const handleClickPopper = () => {\n setAnchorEl(anchorEl ? null : paperRef.current);\n setFechaDesde(null);\n setFechaHasta(null);\n reset({});\n };\n const handleClickAway = () => {\n setAnchorEl(null);\n setFechaDesde(null);\n setFechaHasta(null);\n };\n const removeRows = () => {\n setOpenDialog(false);\n const asyncCall = async () => {\n setOpenBackDrop(true);\n await usuariosService.deleteUser(selectedRows).then((resp) => {\n if (resp.data.Errores !== undefined && resp.data.Errores.length > 0) {\n setServerError(`Fallo al eliminar: ${resp.data.Errores.length} usuarios.`);\n setOpenSnackError(true);\n }\n if (resp.data.Eliminados !== undefined && resp.data.Eliminados.length > 0) {\n setSelectedRows([]);\n resp.data.Eliminados.map((del) => {\n rowsUsers = rowsUsers.filter((item) => item.id !== del);\n return rowsUsers;\n });\n setServerMessage(`Usuarios eliminados: ${resp.data.Eliminados.length}`);\n setOpenSnackSuccess(true);\n setRowsUsers(rowsUsers);\n }\n }).catch((error) => {\n setServerError(error.message);\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n asyncCall();\n };\n const onSubmit = (formulario, searchType) => {\n const asyncCall = async (datos, type) => {\n setOpenBackDrop(true);\n if (fechaDesde !== null && fechaDesde !== '') {\n datos.desde = format(fechaDesde, 'yyyy-MM-dd');\n }\n if (fechaHasta !== null && fechaHasta !== '') {\n datos.hasta = format(fechaHasta, 'yyyy-MM-dd');\n }\n await usuariosService.searchUsuarios(datos).then((resp) => {\n if (resp.data.errorCode === 204) {\n setOpenSnackError(true);\n setServerError(resp.data.mensaje);\n setRowsUsers([]);\n } else {\n setRowsUsers(resp.data);\n if (resp.data.length > 0 && type === 'adv') {\n handleClickPopper();\n }\n }\n }).catch((error) => {\n setRowsUsers([]);\n setServerError(error.message);\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario, searchType);\n };\n\n return (\n
\n \n Busqueda de Usuarios\n \n \n \n \n
\n setOpenDialog(true)}\n >\n \n \n
\n
\n \n setOpenAlta(true)}\n className={classes.bottomSpace}\n disabled={rolUsuario !== 'ADMINISTRADOR'}\n >\n \n \n \n
\n \n \n \n onSubmit(data, 'single'))}\n elevation={6}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenDialog(false)}\n confirm={removeRows}\n title=\"Eliminar registros\"\n message=\"Seguro que desea eleminar el(los) registro(s)?\"\n />\n
\n );\n};\nUsuariosToolBar.propTypes = {\n className: PropTypes.string,\n setOpenAlta: PropTypes.func,\n setRowsUsers: PropTypes.func,\n setOpenBackDrop: PropTypes.func,\n selectedRows: PropTypes.array,\n rowsUsers: PropTypes.array,\n setOpenSnackSuccess: PropTypes.func,\n setServerError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n preloadedValues: PropTypes.array,\n setSelectedRows: PropTypes.func,\n rolUsuario: PropTypes.string,\n};\nexport default UsuariosToolBar;\n","import React, { useEffect, useRef, useState } from 'react';\nimport {\n Container,\n makeStyles,\n Box,\n IconButton,\n Tooltip\n} from '@material-ui/core';\nimport {\n Autorenew,\n Edit\n} from '@material-ui/icons';\nimport PropTypes from 'prop-types';\nimport Page from 'src/components/Page';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport combosService from 'src/services/combosService';\nimport authService from 'src/services/auth.service';\nimport userService from 'src/services/usuariosService';\nimport DataTable from 'src/views/commons/DataTable';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport AltaUsuario from './AltaUsuario';\nimport UsuariosToolBar from './UsuariosToolBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(3)\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n }\n}));\n\nconst Usuario = ({\n setOpenBackDrop, comboRoles, setComboRoles,\n setServerError, setOpenSnackError,\n setServerMessage, setOpenSnackSuccess,\n nombreUsuario, ...props\n}) => {\n const [openAlta, setOpenAlta] = useState(false);\n const [rowsUsers, setRowsUsers] = useState([]);\n const [selectedRows, setSelectedRows] = useState([]);\n const [formData, setFormData] = useState({});\n const [openDialog, setOpenDialog] = useState(false);\n const [idUsuario, setIdUsuario] = useState(0);\n const [comboClientes, setComboClientes] = useState([]);\n const classes = useStyles();\n const formName = 'formUsuario';\n const usuarioRef = useRef();\n\n const handleUsuariosRef = () => {\n usuarioRef.current.resetUsuariosForm();\n };\n\n useEffect(() => {\n const getComboRoles = async () => {\n const newRoles = [];\n setOpenBackDrop(true);\n if (comboRoles.length === 0) {\n await authService.roles().then((res) => {\n res.data.forEach((val) => {\n const rolTemp = { value: val.rolEnum, text: val.descripcion };\n newRoles.push(rolTemp);\n });\n setComboRoles(newRoles);\n }).catch((error) => {\n setOpenBackDrop(false);\n console.log(`'Error al cargar el combo de roles: '${error}`);\n });\n }\n await combosService.comboClientes().then((resp) => {\n setComboClientes(resp);\n }).catch((error) => {\n setOpenBackDrop(false);\n console.log(`'Error al cargar el combo de clientes: '${error}`);\n });\n setOpenBackDrop(false);\n };\n getComboRoles();\n }, []);\n const onClickEdit = (paramRow) => {\n setFormData(paramRow);\n setOpenAlta(true);\n };\n const handleCloseDialog = () => {\n setOpenDialog(false);\n setSelectedRows([]);\n };\n const onClickUpdatePw = () => {\n const awaitUpdatePw = async () => {\n setOpenBackDrop(true);\n await userService.resetPassword(selectedRows[0]).then((resp) => {\n if (resp.data != null && resp.data.errorCode === 204) {\n setOpenSnackError(true);\n setServerError(resp.data.mensaje);\n } else {\n setOpenSnackSuccess(true);\n setServerMessage(resp.data.mensaje);\n }\n }).catch((error) => {\n setOpenBackDrop(false);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n awaitUpdatePw();\n handleCloseDialog();\n };\n const columns = [\n {\n field: 'id',\n headerName: 'ID',\n maxWidth: 90,\n minWidth: 90,\n headerClassName: 'header-datagrid'\n },\n {\n field: 'nombreUsuario',\n headerName: 'Usuario',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombre',\n headerName: 'Nombre',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'rolDesc',\n headerName: 'Rol',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'nombreCliente',\n headerName: 'Cliente',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'fechaCreacion',\n headerName: 'Creación',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'email',\n headerName: 'E-mail',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClick = () => {\n console.log(params.row);\n onClickEdit(params.row);\n };\n const updatePassword = () => {\n setOpenDialog(true);\n setSelectedRows([params.row.id]);\n };\n return (\n
\n \n \n \n \n \n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nUsuario.propTypes = {\n setOpenBackDrop: PropTypes.func,\n comboRoles: PropTypes.array,\n setComboRoles: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n nombreUsuario: PropTypes.string\n};\n\nexport default Usuario;\n","import http from '../http-common';\n\nclass HiperligaService {\n getOrdenByKey = async (orderKey) => {\n const orderReturn = `/cargaDocumentos?orderKey=${orderKey}`;\n return http.get(orderReturn);\n }\n\n actualizarArchivos = async (hiperligaDTO) => {\n const config = {\n headers: {\n 'Content-Type': 'multipart/form-data',\n }\n };\n const json = JSON.stringify(hiperligaDTO);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n const formData = new FormData();\n formData.append('hiperligaDTO', blob);\n hiperligaDTO.listaArchivos?.forEach((fileAux) => {\n if (fileAux.estatus === 'NUEVO') {\n formData.append('files', fileAux.archivo);\n }\n });\n return http.put('/cargaDocumentos/guardarArchivos', formData, config);\n }\n\n deleteOrderFile = (hiperligaDTO) => {\n const json = JSON.stringify(hiperligaDTO);\n return http.put('cargaDocumentos/borrarArchivos', json);\n }\n\n descargarZip = (itemFiles, archivos, keyLink) => {\n const config = {\n headers: {\n 'Content-type': 'multipart/form-data'\n },\n responseType: 'blob'\n };\n const formData = new FormData();\n archivos?.forEach((element) => {\n formData.append('files', element);\n });\n const wrapperArchivos = {};\n wrapperArchivos.archivosDTO = itemFiles;\n const json = JSON.stringify(wrapperArchivos);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n formData.append('archivoDTO', blob);\n formData.append('keyLink', keyLink);\n return http.put('cargaDocumentos/descargarArchivos', formData, config);\n }\n\n downloadArchivoAWS = (itemFile) => {\n const config = {\n headers: {\n 'Content-type': 'multipart/form-data'\n },\n responseType: 'blob'\n };\n const json = JSON.stringify(itemFile);\n const blob = new Blob([json], {\n type: 'application/json'\n });\n const formData = new FormData();\n formData.append('archivoDTO', blob);\n return http.put('cargaDocumentos/downloadArchivo', formData, config);\n }\n\n descargarPDF = (hiperligaDTO) => {\n const config = {\n responseType: 'blob'\n };\n const json = JSON.stringify(hiperligaDTO);\n return http.put('cargaDocumentos/exportarComprobante', json, config);\n }\n}\n\nexport default new HiperligaService();\n","import React from 'react';\n\n// Andale Brahiam, arregla este logo.\nconst AvisoPrivacidad = () => {\n return (\n \n );\n};\n\nexport default AvisoPrivacidad;\n","import React from 'react';\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Typography\n} from '@material-ui/core';\nimport { Close } from '@material-ui/icons';\nimport PropTypes from 'prop-types';\nimport Aviso from 'src/components/AvisoPrivacidad';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: 0,\n padding: '20px'\n },\n spaceButton: {\n marginRight: theme.spacing(1)\n },\n closeButton: {\n position: 'absolute',\n right: '8px',\n top: '8px',\n color: theme.palette.grey[500],\n },\n dialog: {\n height: 'inherit'\n }\n}));\n\nconst AvisoPrivacidad = ({\n setOpenAviso,\n openAviso,\n setAceptarAviso,\n clearErrors\n}) => {\n const classes = useStyles();\n return (\n \n \n \n Aviso de Privacidad\n \n {setOpenAviso ? (\n setOpenAviso(false)}\n >\n \n \n ) : null}\n \n \n \n \n \n \n setOpenAviso(false)}\n >\n CANCELAR\n \n {\n setOpenAviso(false);\n setAceptarAviso(true);\n clearErrors(['aceptarAviso']);\n }}\n >\n ACEPTAR\n \n \n \n \n );\n};\n\nAvisoPrivacidad.propTypes = {\n setOpenAviso: PropTypes.func,\n openAviso: PropTypes.bool,\n setAceptarAviso: PropTypes.func,\n clearErrors: PropTypes.func\n};\n\nexport default AvisoPrivacidad;\n","import React from 'react';\nimport {\n Grid,\n Typography,\n colors,\n Tooltip,\n Button\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/styles';\n/* import moment from 'moment'; */\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport { DataGrid } from '@material-ui/data-grid';\nimport { Download } from 'react-feather';\n\nconst useStyles = makeStyles(() => ({\n root: {\n margin: 0,\n padding: '20px',\n '& .summary-header': {\n backgroundColor: colors.green[200]\n }\n },\n}));\n\nconst SummaryDocs = ({\n fechaFinalizacion,\n rowsFiles,\n downloadVoucher\n}) => {\n const classes = useStyles();\n\n const columnsFiles = [\n {\n field: 'tipoArchivo',\n headerName: 'Tipo de Archivo',\n minWidth: 200,\n flex: 1,\n renderCell: renderCellExpand,\n headerClassName: 'summary-header'\n },\n {\n field: 'nombre',\n headerName: 'Nombre de Archivo',\n minWidth: 150,\n flex: 1,\n renderCell: renderCellExpand,\n headerClassName: 'summary-header'\n },\n {\n field: 'comentarios',\n headerName: 'Comentarios',\n minWidth: 200,\n flex: 1,\n sortable: false,\n renderCell: renderCellExpand,\n headerClassName: 'summary-header'\n }\n ];\n\n return (\n
\n \n \n \n {'La documentación para esta liga fue enviada para su validación el día '}\n \n {/* moment(fechaFinalizacion).format('DD/MM/YYYY HH:mm:ss') */fechaFinalizacion}\n \n :\n \n \n \n \n }\n onClick={downloadVoucher}\n >\n DESCARGAR COMPROBANTE\n \n \n \n \n \n \n \n
\n );\n};\n\nSummaryDocs.propTypes = {\n fechaFinalizacion: PropTypes.instanceOf(Date),\n rowsFiles: PropTypes.array,\n downloadVoucher: PropTypes.func\n};\n\nexport default SummaryDocs;\n","import React, { useEffect, useState } from 'react';\nimport {\n Box,\n Container,\n Typography,\n makeStyles,\n Divider,\n Card,\n CardHeader,\n CardContent,\n Grid,\n Tooltip,\n Button,\n IconButton,\n TextField,\n FormControlLabel,\n Checkbox,\n Link,\n FormHelperText,\n FormControl,\n DialogTitle,\n DialogContent,\n DialogActions,\n Dialog,\n colors,\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport clsx from 'clsx';\nimport { useSearchParams } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport hiperligaService from 'src/services/hiperligaService';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport { DropzoneArea } from 'material-ui-dropzone';\nimport {\n Delete,\n DoubleArrow,\n GetAppTwoTone,\n Save\n} from '@material-ui/icons';\nimport { DataGrid } from '@material-ui/data-grid';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport { Download } from 'react-feather';\nimport combosService from 'src/services/combosService';\nimport GeneralDialog from 'src/views/commons/GeneralDialog';\nimport { Autocomplete } from '@material-ui/lab';\nimport genService from 'src/services/generalServices';\nimport { useForm } from 'react-hook-form';\nimport AvisoPrivacidad from './AvisoPrivacidad';\nimport SummaryDocs from './SummaryDocs';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n height: '100%',\n paddingBottom: theme.spacing(2),\n paddingTop: theme.spacing(1),\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3),\n '& .MuiDataGrid-window': {\n bottom: 'auto'\n },\n '& .summary-header': {\n backgroundColor: colors.green[200]\n }\n },\n checkBoxVerde: {\n color: '#4caf50 !important'\n },\n image: {\n marginTop: 50,\n display: 'inline-block',\n maxWidth: '100%',\n width: 560\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n dropZoneStyle: {\n minHeight: '10px',\n },\n dropZoneText: {\n fontWeight: '200',\n fontFamily: 'sans-serif'\n },\n fontStyle: {\n fontSize: 8\n },\n paddingGrid: {\n marginTop: theme.spacing(2)\n },\n paddingRight: {\n marginRight: theme.spacing(2)\n },\n errorStyle: {\n fontSize: 18,\n fontWeight: 'bold',\n textAlign: 'center'\n }\n}));\n\nconst CargaDocs = ({\n className,\n setServerError,\n setServerMessage,\n setOpenSnackError,\n setOpenSnackSuccess\n}) => {\n const {\n register,\n handleSubmit,\n errors,\n clearErrors,\n setError\n } = useForm();\n const classes = useStyles();\n\n const [fechaFinalizacion, setFechaFinalizacion] = useState(null);\n const [nombreInvestigado, setNombreInvestigado] = useState('');\n const [deleteFileRow, setDeleteFileRow] = useState(null);\n const [estatusPagina, setEstatusPagina] = useState();\n const [showFinalized, setShowFinalized] = useState(false);\n const [openFinalizar, setOpenFinalizar] = useState(false);\n const [nombreCliente, setNombreCliente] = useState('');\n const [aceptarAviso, setAceptarAviso] = useState(false);\n const [searchParams, setSearchParams] = useSearchParams();\n const [errorGeneral, setErrorGeneral] = useState('');\n const [fileSelected, setFileSelected] = useState([]);\n const [openEliminar, setOpenEliminar] = useState(false);\n const [rowsFiles, setRowsFiles] = useState([]);\n const [fileTypes, setFilesTypes] = useState([]);\n const [openAviso, setOpenAviso] = useState(false);\n const [finalizar, setFinalizar] = useState(false);\n const [openBack, setOpenBack] = useState(false);\n const [ligaKey, setLigaKey] = useState('');\n const [idOrden, setIdOrden] = useState(0);\n const [folio, setFolio] = useState('');\n const [onFinalizar, setOnFinalizar] = useState(false);\n const [open, setOpen] = useState(false);\n const [openRejected, setOpenRejected] = useState(false);\n const [rowsRejected, setRowsRejected] = useState([]);\n\n const columnsRejected = [\n {\n field: 'fileName',\n headerName: 'Nombre del Archivo',\n minWidth: 200,\n flex: 1,\n renderCell: renderCellExpand,\n headerClassName: 'summary-header'\n },\n {\n field: 'rechazo',\n headerName: 'Razón de Rechazo',\n minWidth: 200,\n flex: 1,\n sortable: false,\n renderCell: renderCellExpand,\n headerClassName: 'summary-header'\n }\n ];\n\n useEffect(() => {\n const orderKey = encodeURIComponent(searchParams.get('key'));\n setLigaKey(orderKey);\n console.log(setSearchParams);\n const getOrdenData = async (key) => {\n setOpenBack(true);\n await combosService.comboFileTypeLink().then((resp) => {\n setFilesTypes(resp);\n }).catch((error) => {\n console.log('Error al cargar combo de tipos de archivo', error);\n });\n await hiperligaService.getOrdenByKey(key).then((datos) => {\n console.log('FileType', fileTypes);\n setEstatusPagina(true);\n setIdOrden(datos.data.id);\n setNombreInvestigado(datos.data.nombre);\n setNombreCliente(datos.data.nombreCliente);\n setFolio(datos.data.folio);\n setAceptarAviso(datos.data.aceptarAviso);\n if (datos.data.archivos !== null && datos.data.archivos !== undefined\n && datos.data.archivos.length > 0) {\n setRowsFiles(datos.data.archivos);\n }\n console.log('fechafinalizacion:', datos.data);\n if (datos.data.descEstatusLiga === 'FINALIZADA') {\n setShowFinalized(true);\n setFechaFinalizacion(datos.data.fechaFinalizacionLigaStr);\n }\n }).catch((error) => {\n if (error.response !== undefined) {\n setErrorGeneral(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setErrorGeneral(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenBack(false);\n setEstatusPagina(false);\n });\n setOpenBack(false);\n };\n getOrdenData(orderKey);\n }, []);\n\n const descargaMasiva = async () => {\n setOpenBack(true);\n const selectedRows = rowsFiles.filter(({ id }) => fileSelected.includes(id));\n const files = selectedRows.filter((auxFile) => auxFile.archivo !== undefined)\n .map((filteredFile) => filteredFile.archivo);\n const filesObject = selectedRows.filter((auxFile) => auxFile.estatus !== 'NUEVO');\n await hiperligaService.descargarZip(filesObject, files, ligaKey).then((response) => {\n console.log('Respuesta descarga zip', response);\n const link = document.createElement('a');\n link.href = window.URL.createObjectURL(response.data);\n link.download = `${folio}.zip`;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar archivos:', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n\n const downloadVoucher = async () => {\n setOpenBack(true);\n const hiperligaDTO = {\n keyLink: ligaKey,\n idOrden,\n listaArchivos: rowsFiles\n };\n await hiperligaService.descargarPDF(hiperligaDTO).then((resp) => {\n const link = document.createElement('a');\n console.log('Datos del PDF:', resp);\n link.href = window.URL.createObjectURL(new Blob([resp.data], { type: 'application/pdf' }));\n link.download = `COMPROBANTE_${folio}.pdf`;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar el archivo:', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n\n const onClickRemove = async () => {\n setOpenBack(true);\n setOpenEliminar(false);\n let selectedRows = [];\n let nonSelectedRows = [];\n console.log('lista archivos', rowsFiles);\n console.log('archivo selec', deleteFileRow);\n if (deleteFileRow !== null) {\n selectedRows = rowsFiles.filter((row) => (\n row.id === deleteFileRow.id && row.enServidor\n ));\n nonSelectedRows = rowsFiles.filter((row) => row.id !== deleteFileRow.id);\n } else {\n selectedRows = rowsFiles.filter(({ id, enServidor }) => (\n fileSelected.includes(id) && enServidor\n ));\n nonSelectedRows = rowsFiles.filter(({ id }) => !fileSelected.includes(id));\n }\n if (selectedRows.length > 0) {\n const hiperligaDTO = {\n keyLink: ligaKey,\n idOrden,\n listaArchivos: selectedRows\n };\n await hiperligaService.deleteOrderFile(hiperligaDTO).then((resp) => {\n console.log('Ordenes filtradas:', nonSelectedRows);\n setRowsFiles(nonSelectedRows);\n setOpenSnackSuccess(true);\n setServerMessage(resp.data.mensaje);\n }).catch((error) => {\n setOpenSnackError(true);\n if (error.response) {\n setServerError(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n });\n } else {\n setRowsFiles(nonSelectedRows);\n }\n setDeleteFileRow(null);\n setOpenBack(false);\n };\n\n const agregaArchivos = (fileList) => {\n let filesList = [];\n console.log('inside agregar archivos', fileList);\n const uploadFileToS3 = async (file) => {\n setOpenBack(true);\n console.log('the length of files list:', fileList.length);\n if (filesList.length === 0) {\n filesList = rowsFiles.slice();\n console.log('the length of files list after slice:', fileList.length);\n }\n console.log('the file list', rowsFiles);\n const existingFile = filesList.findIndex((auxFile) => auxFile.nombre === file.name);\n const currentFile = rowsFiles.filter((auxFile) => auxFile.nombre === file.name);\n console.log('The current file', currentFile[0]);\n let nombreArchivo = file.name;\n const nombreSinExtension = nombreArchivo.substring(0, nombreArchivo.lastIndexOf('.'));\n if (nombreSinExtension.length > 50) {\n const extension = nombreArchivo.substring(nombreArchivo.lastIndexOf('.'), nombreArchivo.length);\n const nombreCorto = nombreSinExtension.substring(0, 50);\n console.log('Longitud del nombre', nombreArchivo.length);\n console.log('Extension del archivo', extension);\n console.log('nombreCorto', nombreCorto + extension);\n nombreArchivo = nombreCorto.trim() + extension;\n setOpenSnackError(true);\n setServerError('El nombre de alguno de sus archivos fue reducido a 50 caracteres.');\n }\n let uniqueId;\n if (currentFile && currentFile.length > 0) {\n console.log('inside current file', currentFile);\n uniqueId = currentFile[0].keyIndex;\n } else {\n console.log('new UUID');\n uniqueId = crypto.randomUUID();\n }\n const fileNewName = new File([file], `${uniqueId}<*>${ file.name }`, { type: file.type });\n console.log('adding new file name:', fileNewName);\n if (existingFile < 0) {\n const itemFile = {\n id: `${folio}_${nombreArchivo}`,\n nombre: nombreArchivo,\n size: file.size,\n fileBucketName: `CARGADOC_${folio}_${nombreArchivo}`,\n comentarios: '',\n estatus: 'NUEVO',\n tipoArchivo: '',\n idTipoArchivo: 0,\n archivo: fileNewName,\n enServidor: false,\n keyIndex: uniqueId\n };\n filesList.push(itemFile);\n } else {\n filesList[existingFile].archivo = fileNewName;\n filesList[existingFile].size = file.size;\n if (filesList[existingFile].estatus !== 'NUEVO') {\n filesList[existingFile].estatus = 'ACTUALIZADO';\n }\n }\n /* await ordenService.uploadArchivoAWS(uploadedFile, file); */\n setOpenBack(false);\n };\n\n fileList.forEach((file) => {\n uploadFileToS3(file);\n });\n if (filesList.length > 0) {\n setRowsFiles(filesList);\n }\n };\n\n const onSubmit = () => {\n const handleAsync = async (hiperligaDTO) => {\n setOpenBack(true);\n await hiperligaService.actualizarArchivos(hiperligaDTO).then((resp) => {\n console.log('fecha finaliza:', resp.data);\n if (resp.data.generalMessage === 'LIGA FINALIZADA') {\n setShowFinalized(true);\n setFechaFinalizacion(resp.data.fechaFinalizacionLigaStr);\n setOpen(true);\n }\n setRowsFiles(resp.data.archivos);\n setOpenSnackSuccess(true);\n setServerMessage(resp.data.generalMessage);\n }).catch((error) => {\n setOpenSnackError(true);\n if (error.response) {\n setServerError(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n console.log('error al actualizar los archivos', error);\n });\n setOpenBack(false);\n };\n\n let altaArchivos = true;\n const archivoDTO = rowsFiles.map((auxFile) => {\n if (auxFile.estatus === 'NUEVO') {\n auxFile.id = 0;\n }\n if (auxFile.tipoArchivo === undefined || auxFile.tipoArchivo === '') {\n setOpenSnackError(true);\n setServerError('Debe seleccionar un \"Tipo de Archivo\" para cada registro.');\n altaArchivos = false;\n }\n return auxFile;\n });\n\n if (altaArchivos) {\n const itemDTO = {\n keyLink: ligaKey,\n idOrden,\n listaArchivos: archivoDTO,\n avisoPrivacidad: aceptarAviso,\n finalizar\n };\n handleAsync(itemDTO);\n }\n };\n\n const columnsFiles = [\n {\n field: 'tipoArchivo',\n headerName: 'Tipo de Archivo',\n minWidth: 200,\n flex: 1,\n sortable: false,\n renderCell: (rowParam) => {\n const { row } = rowParam;\n const defVal = fileTypes.findIndex((auxVal) => auxVal.value === row.idTipoArchivo);\n const rowIndex = rowParam.api.getAllRowIds().indexOf(rowParam.id);\n const nameComponent = `TipoArchivo_${rowIndex}`;\n return (\n (option.label ? option.label : '')}\n renderInput={(params) => (\n \n )}\n style={{ lineHeight: '0px' }}\n onChange={(e, newValue) => {\n console.log('changing', nameComponent);\n clearErrors(nameComponent);\n rowParam.row.tipoArchivo = newValue ? newValue.label : '';\n rowParam.row.idTipoArchivo = newValue ? newValue.value : '';\n }}\n />\n );\n }\n },\n {\n field: 'nombre',\n headerName: 'Nombre de Archivo',\n minWidth: 150,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'comentarios',\n headerName: 'Comentarios',\n minWidth: 200,\n flex: 1,\n sortable: false,\n renderCell: (params) => {\n const { row } = params;\n return (\n {\n if (e.key === 'Enter') {\n e.preventDefault();\n }\n }}\n onChange={(e) => {\n params.row.comentarios = e.target.value;\n }}\n />\n );\n }\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClickDownload = () => {\n const link = document.createElement('a');\n if (params.row.archivo !== undefined) {\n link.href = window.URL.createObjectURL(params.row.archivo);\n link.download = params.row.nombre;\n link.click();\n } else {\n const downloadFileAsync = async (datos) => {\n setOpenBack(true);\n console.log(datos);\n await hiperligaService.downloadArchivoAWS(datos).then((resp) => {\n link.href = window.URL.createObjectURL(resp.data);\n params.row.archivo = resp.data;\n link.download = params.row.nombre;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar el archivo', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n downloadFileAsync(params.row);\n }\n };\n return (\n
\n \n {\n setOpenEliminar(true);\n setDeleteFileRow(params.row);\n }}\n fontSize=\"small\"\n color=\"primary\"\n >\n \n \n \n \n \n \n \n \n
\n );\n }\n }\n ];\n\n return (\n \n \n Carga de Documentos\n \n {\n estatusPagina === undefined || estatusPagina === false\n ? (\n \n \n \n {\n estatusPagina === undefined\n ? (\n 'Cargando...'\n ) : (\n errorGeneral\n )\n }\n \n \n \n ) : (\n
\n \n \n \n \n {\n showFinalized\n ? (\n \n ) : (\n
\n \n \n {\n let cont = rowsRejected && rowsRejected.length > 0\n ? rowsRejected.length : 0;\n console.log('OnDrop, rejected files', rowsRejected);\n if (file && file.length > 0) {\n file = file.filter((fileItem) => {\n const nombreArchivo = fileItem.name;\n const nombreSinExtension = nombreArchivo.substring(0, nombreArchivo.lastIndexOf('.'));\n if (nombreSinExtension.length <= 50) {\n return true;\n }\n console.log('archivo mayor a 50 chars', fileItem.name);\n cont++;\n setRowsRejected((rowRejected) => [...rowRejected, {\n id: cont,\n fileName: fileItem.name,\n rechazo: `Este nombre de archivo tiene ${nombreSinExtension.length} caracteres, no puede ser mayor a 50`\n }]);\n return false;\n });\n }\n console.log('The rows rejected:', rowsRejected);\n if (cont > 0) {\n setOpenRejected(true);\n }\n agregaArchivos(file);\n }}\n filesLimit={500}\n dropzoneText={(\n
\n
Arrastre y suelte un archivo.
\n
\n (Máx 3 MB y con extensiones: .jpg, .png, .pdf,\n .zip, .doc-x, .xls-x, .ppt-x y .txt)\n
\n
\n (El nombre de los archivos no puede ser mayor a 50 caracteres)\n
\n
\n )}\n maxFileSize={3200000}\n showPreviewsInDropzone={false}\n alertSnackbarProps={{ anchorOrigin: { vertical: 'bottom', horizontal: 'center' } }}\n showAlerts={['error']}\n onDropRejected={(files) => {\n console.log('Rejected on drop', files);\n let cont = 0;\n files.forEach((fileRej) => {\n console.log('archivo rechazado ', cont);\n let rechazoMsg = '';\n if (fileRej.size > 3200000) {\n rechazoMsg = `El tamaño del archivo es de ${fileRej.size / 1000000} \n MB, no puede ser mayor a 3MB`;\n } else {\n rechazoMsg = 'El formato del archivo no esta permitido.';\n }\n setRowsRejected((rowRejected) => [...rowRejected, {\n id: cont++,\n fileName: fileRej.name,\n rechazo: rechazoMsg\n }]);\n console.log('arrays rejected', rowsRejected);\n });\n setOpenRejected(true);\n }}\n />\n
\n
\n {fileSelected.length > 1 ? (\n 0 ? '' : 'none' }}\n >\n \n \n }\n onClick={() => setOpenEliminar(true)}\n >\n ELIMINAR\n \n \n \n }\n onClick={descargaMasiva}\n >\n DESCARGAR\n \n \n \n \n ) : ''}\n 0 ? '' : 'none' }}\n >\n \n {\n console.log('La seleccion de archivo:', selec);\n setFileSelected(selec);\n }}\n style={{ bottom: 'auto' }}\n />\n \n \n 0 ? '' : 'none' }}\n >\n \n \n {\n if (e.target.checked) {\n clearErrors(['aceptarAviso']);\n }\n }}\n />\n )}\n onChange={(e) => setAceptarAviso(e.target.checked)}\n label={(\n \n {'He leído y acepto el aviso de privacidad -- '}\n {\n e.preventDefault();\n setOpenAviso(true);\n }}\n >\n CONSULTAR\n \n \n )}\n />\n \n {errors.aceptarAviso?.message}\n \n \n \n \n 0 ? '' : 'none' }}\n className={classes.paddingGrid}\n >\n \n }\n className={classes.paddingRight}\n onClick={() => setOnFinalizar(false)}\n type=\"submit\"\n >\n GUARDAR\n \n }\n onClick={() => {\n setOnFinalizar(true);\n if (!aceptarAviso) {\n setError('aceptarAviso', { type: 'focus', message: 'Es necesario aceptar el aviso de privacidad' });\n } else {\n setOpenFinalizar(true);\n }\n }}\n >\n FINALIZAR\n \n \n \n \n )\n }\n
\n
\n
\n )\n }\n \n \n {\n setOpenEliminar(false);\n setDeleteFileRow(null);\n }}\n confirm={onClickRemove}\n title=\"Eliminar archivos\"\n message={deleteFileRow === null ? `Seguro que desea eliminar los ${fileSelected.length} archivos seleccionados?` : 'Seguro que desea eliminar el archivo?'}\n />\n \n \n Finalizar Carga de Archivos\n \n \n Esta seguro que ha finalizado la carga de archivos?\n \n \n {\n setOpenFinalizar(false);\n setFinalizar(false);\n }}\n color=\"primary\"\n >\n CANCELAR\n \n {\n setFinalizar(true);\n setOpenFinalizar(false);\n }}\n >\n FINALIZAR\n \n \n \n \n \n Error en la Carga de Archivos\n \n \n \n
* Favor de corregir los errores y volver a intentar la carga de los archivos.
\n
\n \n {\n e.preventDefault();\n setRowsRejected([]);\n setOpenRejected(false);\n }}\n >\n ENTERADO\n \n \n \n {\n setOpen(false);\n }}\n title=\"Documentos enviados\"\n message=\"Sus documentos han sido enviados, a continuación podrá descargar su comprobante. Muchas gracias.\"\n />\n \n );\n};\n\nCargaDocs.propTypes = {\n className: PropTypes.string,\n setServerError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n};\n\nexport default CargaDocs;\n","import React, { useEffect, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n CardHeader,\n Checkbox,\n Container,\n Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Grid,\n Link,\n makeStyles,\n Typography\n} from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport Page from 'src/components/Page';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport ordenService from 'src/services/ordenService';\nimport { useSearchParams } from 'react-router-dom';\nimport { DoubleArrow } from '@material-ui/icons';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport OrderGeneral from '../OrderCommons/OrderGeneral';\nimport AvisoPrivacidad from '../CargaDocumentos/AvisoPrivacidad';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n height: '100%',\n paddingBottom: theme.spacing(2),\n paddingTop: theme.spacing(1),\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3),\n '& .MuiDataGrid-window': {\n bottom: 'auto'\n }\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n checkBoxVerde: {\n color: '#4caf50 !important'\n },\n}));\n\nconst Solicitudes = ({\n setOpenBackDrop,\n setServerError,\n setOpenSnackError,\n setServerMessage,\n setOpenSnackSuccess\n}) => {\n const {\n register,\n errors,\n setError,\n setValue,\n clearErrors,\n control,\n handleSubmit,\n reset\n } = useForm();\n const classes = useStyles();\n const [folio, setFolio] = useState();\n const [isLaboral, setIsLaboral] = useState(false);\n const [isEscuela, setIsEscuela] = useState(false);\n const [nombreCliente, setNombreCliente] = useState();\n const [idOrdenEstatus, setIdOrdenEstatus] = useState();\n const [idEstatusLiga, setIdEstatusLiga] = useState();\n const [searchParams] = useSearchParams();\n const [errorLigaSolicitud, setErrorLigaSolicitud] = useState(null);\n const [openGenerar, setOpenGenerar] = useState(false);\n const [formData, setFormData] = useState({});\n const [idCliente, setIdCliente] = useState(0);\n const [aceptarAviso, setAceptarAviso] = useState(false);\n const [openAviso, setOpenAviso] = useState(false);\n\n const resetForm = () => {\n reset({\n id: 0\n });\n setErrorLigaSolicitud(null);\n setFormData({});\n };\n\n useEffect(() => {\n const urlKey = searchParams.get('key');\n const encodedURL = encodeURIComponent(urlKey);\n console.log('the Key', encodedURL);\n\n const getBaseOrder = async (key) => {\n setOpenBackDrop(true);\n setErrorLigaSolicitud(null);\n await ordenService.getBaseOrderByKey(key).then((resp) => {\n console.log('Base order resp:', resp);\n setFolio(ordenService.generarFolio());\n if (resp.data.tipoCliente === 'Laboral') {\n setIsLaboral(true);\n }\n if (resp.data.tipoCliente === 'Escuela') {\n setIsEscuela(true);\n }\n setIdOrdenEstatus(resp.data.idOrdenEstatus);\n setIdEstatusLiga(resp.data.idEstatusLiga);\n setNombreCliente(resp.data.nombreCliente);\n setIdCliente(resp.data.idCliente);\n }).catch((error) => {\n if (error.response !== undefined) {\n setErrorLigaSolicitud(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setErrorLigaSolicitud(`${error.message}: No fue posible conectar con el servidor`);\n }\n });\n setOpenBackDrop(false);\n };\n\n getBaseOrder(encodedURL);\n }, []);\n\n const onSubmit = () => {\n const handleAsync = async (datos) => {\n console.log('Datos de la orden:', datos);\n setOpenBackDrop(true);\n await ordenService.altaOrdenExpress(datos).then((resp) => {\n setServerMessage(`La orden con folio ${resp.data.folio} fue creada correctamente.`);\n setOpenSnackSuccess(true);\n setFolio(ordenService.generarFolio());\n resetForm();\n }).catch((error) => {\n setOpenSnackError(true);\n if (error.response !== undefined) {\n setServerError(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n }).finally(() => {\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n };\n formData.matricula = isEscuela ? formData.matricula : '';\n formData.puesto = isLaboral ? formData.puesto : '';\n formData.idOrdenEstatus = idOrdenEstatus;\n formData.idEstatusLiga = idEstatusLiga;\n formData.idCliente = idCliente;\n formData.estadoLiga = 1;\n handleAsync(formData);\n };\n\n const confirmSubmit = (data) => {\n setOpenGenerar(true);\n setFormData(data);\n };\n\n return (\n \n { errorLigaSolicitud\n ? (\n \n \n \n {errorLigaSolicitud}\n \n \n Hubo un error al tratar de cargar la página, por favor contacte con el\n administrador\n \n \n \n ) : (\n
\n \n \n Solicitudes\n \n \n \n \n \n \n \n
\n \n
\n \n \n \n {\n if (e.target.checked) {\n clearErrors(['aceptarAviso']);\n }\n }}\n />\n )}\n onChange={(e) => setAceptarAviso(e.target.checked)}\n label={(\n \n {'He leído y acepto el aviso de privacidad -- '}\n {\n e.preventDefault();\n setOpenAviso(true);\n }}\n >\n CONSULTAR\n \n \n )}\n />\n {errors.aceptarAviso?.message}\n \n \n \n \n \n }\n type=\"submit\"\n >\n SOLICITAR\n \n \n \n \n
\n
\n
\n setOpenGenerar(false)}\n confirm={() => {\n setOpenGenerar(false);\n onSubmit();\n }}\n />\n \n
\n )}\n \n );\n};\n\nSolicitudes.propTypes = {\n setOpenBackDrop: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n};\n\nexport default Solicitudes;\n","import http from '../http-common';\n\nclass ReporteService {\n generateReport = (data) => {\n const config = {\n responseType: 'blob'\n };\n const json = JSON.stringify(data);\n return http.put('reporte/generar', json, config);\n };\n}\n\nexport default new ReporteService();\n","import React, { useEffect, useState } from 'react';\nimport {\n Button,\n Container,\n Divider,\n Grid,\n makeStyles,\n Paper,\n TextField,\n Tooltip,\n Typography\n} from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport PropTypes from 'prop-types';\nimport combosService from 'src/services/combosService';\nimport Page from 'src/components/Page';\nimport clsx from 'clsx';\nimport genService from 'src/services/generalServices';\nimport reportService from 'src/services/reportesService';\nimport { Autocomplete } from '@material-ui/lab';\nimport { Download } from 'react-feather';\nimport { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport esLocale from 'date-fns/locale/es';\nimport DateFnsUtils from '@date-io/date-fns';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(1.5)\n },\n paperRoot: {\n padding: theme.spacing(2),\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(3),\n },\n}));\n\nconst Reportes = ({\n className,\n setOpenBackDrop,\n setOpenSnackSuccess,\n setServerMessage,\n setServerError,\n setOpenSnackError,\n}) => {\n const classes = useStyles();\n const {\n register,\n errors,\n handleSubmit\n } = useForm();\n const [comboClientes, setComboClientes] = useState([]);\n const [valComboClientes, setValComboClientes] = useState([]);\n const [comboReportes, setComboReportes] = useState([]);\n const [valComboReporte, setValComboReporte] = useState([]);\n const [fechaInicio, setFechaInicio] = useState(null);\n const [fechaFin, setFechaFin] = useState(null);\n const [openFechaInicio, setOpenFechaInicio] = useState(false);\n const [openFechaFin, setOpenFechaFin] = useState(false);\n\n const optionsCliente = comboClientes.map((option) => {\n const firstLetter = option.tipoCliente;\n return {\n firstLetter: /[0-9]/.test(firstLetter) ? '0-9' : firstLetter,\n ...option,\n };\n });\n\n useEffect(() => {\n const getCombosAsync = async () => {\n setOpenBackDrop(true);\n await combosService.comboClientes().then((resp) => {\n console.log(resp);\n setComboClientes(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de clientes: '${error}`);\n });\n await combosService.comboReportes().then((resp) => {\n console.log(resp);\n setComboReportes(resp);\n setValComboReporte(resp[0]);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de reportes: '${error}`);\n });\n setOpenBackDrop(false);\n };\n getCombosAsync();\n }, []);\n\n const onSubmit = async (data) => {\n setOpenBackDrop(true);\n data.idReporte = valComboReporte.value;\n data.idCliente = valComboClientes.value;\n data.fechaInicio = fechaInicio;\n data.fechaFin = fechaFin;\n console.log('Datos para reporteo:', data);\n await reportService.generateReport(data).then((resp) => {\n const link = document.createElement('a');\n console.log('Datos del Reporte:', resp);\n const dateRepo = new Date();\n link.href = window.URL.createObjectURL(new Blob([resp.data], { type: 'application/vnd.ms-excel' }));\n link.download = `${data.regReporte}-${dateRepo.toLocaleDateString()}.xls`;\n link.click();\n setOpenSnackSuccess(true);\n setServerMessage('Reporte generado correctamente');\n }).catch((error) => {\n if (error.response) {\n error.response.data.text().then((errorResp) => {\n const finalError = JSON.parse(errorResp);\n console.log('error:', finalError);\n setServerError(finalError.message);\n });\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n\n return (\n \n \n
\n \n Generación de reportes\n \n \n \n \n \n \n (option.label !== undefined ? option.label : '')}\n renderOption={(option) => option.label}\n fullWidth\n value={valComboReporte}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regReporte = null;\n setValComboReporte(newValue);\n }}\n />\n \n \n \n \n (\n -b.firstLetter.localeCompare(a.firstLetter)\n ))}\n groupBy={(option) => option.firstLetter}\n getOptionLabel={(option) => (option.label !== undefined ? `${option.label} - (${option.tipoCliente})` : '')}\n renderOption={(option) => option.label}\n fullWidth\n value={valComboClientes}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regCliente = null;\n setValComboClientes(newValue);\n }}\n />\n \n \n \n \n \n setOpenFechaInicio(true)}\n onClose={() => setOpenFechaInicio(false)}\n onChange={setFechaInicio}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Fecha Inicio\"\n value={fechaInicio}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n inputRef={register}\n fullWidth\n />\n \n \n \n \n setOpenFechaFin(true)}\n onClose={() => setOpenFechaFin(false)}\n onChange={setFechaFin}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Fecha Fin\"\n value={fechaFin}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n fullWidth\n />\n \n \n \n \n \n \n }\n type=\"submit\"\n >\n DESCARGAR REPORTE\n \n \n \n \n \n \n
\n
\n \n );\n};\n\nReportes.propTypes = {\n className: PropTypes.string,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n};\n\nexport default Reportes;\n","import React, { useEffect, useState } from 'react';\nimport {\n makeStyles,\n Divider,\n Card,\n CardHeader,\n CardContent,\n Grid,\n Tooltip,\n Button,\n TextField,\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { DropzoneArea } from 'material-ui-dropzone';\nimport {\n Publish,\n} from '@material-ui/icons';\nimport { useForm } from 'react-hook-form';\nimport { Autocomplete } from '@material-ui/lab';\nimport combosService from 'src/services/combosService';\nimport genService from 'src/services/generalServices';\nimport ordenService from 'src/services/ordenService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n height: '100%',\n paddingBottom: theme.spacing(2),\n paddingTop: theme.spacing(1),\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3),\n '& .MuiDataGrid-window': {\n bottom: 'auto'\n }\n },\n checkBoxVerde: {\n color: '#4caf50 !important'\n },\n image: {\n marginTop: 50,\n display: 'inline-block',\n maxWidth: '100%',\n width: 560\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n dropZoneStyle: {\n minHeight: '10px',\n },\n dropZoneText: {\n fontWeight: '200',\n fontFamily: 'sans-serif'\n },\n fontStyle: {\n fontSize: 8\n },\n paddingRight: {\n marginRight: theme.spacing(2)\n },\n previewChip: {\n minWidth: 160,\n maxWidth: 300,\n backgroundColor: '#4caf508a'\n },\n}));\n\nconst CargaMasiva = ({\n className,\n setOpenBackDrop,\n setServerError,\n setServerMessage,\n setOpenSnackError,\n setOpenSnackSuccess\n}) => {\n const {\n handleSubmit,\n errors,\n register\n } = useForm();\n const classes = useStyles();\n\n const [archivo, setArchivo] = useState();\n const [comboClientes, setComboClientes] = useState([]);\n const [valComboClientes, setValComboClientes] = useState([]);\n const [valComboUsuarios, setValComboUsuarios] = useState({});\n const [comboUsuarios, setComboUsuarios] = useState([]);\n const [mapaUsuarios, setMapaUsuarios] = useState([]);\n const [respuestaServer, setRespuestaServer] = useState();\n\n useEffect(() => {\n const getCombosAsync = async () => {\n setOpenBackDrop(true);\n await combosService.comboClientes().then((resp) => {\n setComboClientes(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de clientes: '${error}`);\n });\n setOpenBackDrop(false);\n };\n getCombosAsync();\n setRespuestaServer('...');\n // BORRAR\n setServerMessage(',');\n setOpenSnackSuccess(false);\n }, []);\n\n const optionsCliente = comboClientes.map((option) => {\n const firstLetter = option.tipoCliente;\n return {\n firstLetter: /[0-9]/.test(firstLetter) ? '0-9' : firstLetter,\n ...option,\n };\n });\n\n const getComboUsuarioCliente = async (idCliente, idUsuario) => {\n setValComboUsuarios({});\n setComboUsuarios([]);\n setOpenBackDrop(true);\n const existUsuarios = mapaUsuarios.filter((item) => item.key === idCliente);\n if (existUsuarios !== undefined && existUsuarios.length > 0) {\n setComboUsuarios(existUsuarios[0].value);\n if (idUsuario !== null) {\n const selectComboUsuarios = existUsuarios[0].value.filter((aux) => (\n aux.value === idUsuario\n ));\n setValComboUsuarios(selectComboUsuarios[0]);\n }\n } else if (idCliente !== undefined && idCliente > 0) {\n await combosService.comboUsuariosCliente(idCliente, true).then((resp) => {\n setComboUsuarios(resp);\n setMapaUsuarios((newElement) => [...newElement, { key: idCliente, value: resp }]);\n if (idUsuario !== null) {\n const selectComboUsuarios = resp.filter((aux) => (\n aux.value === idUsuario\n ));\n setValComboUsuarios(selectComboUsuarios[0]);\n }\n }).catch((error) => {\n console.log('Error al llenar el combo de usuarios', error);\n setServerError(error.message);\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n }\n setOpenBackDrop(false);\n };\n\n const onSubmit = (data) => {\n const handleAsync = async (datos) => {\n setOpenBackDrop(true);\n console.log('Antes de guardar');\n await ordenService.cargaMasiva(datos, archivo).then((resp) => {\n setRespuestaServer(resp.data);\n }).catch((error) => {\n setOpenSnackError(true);\n if (error.response) {\n setServerError(`${error.response.data.status}: ${error.response.data.message}`);\n } else {\n setServerError(`${error.message}: El archivo fue modificado ó no fue posible conectar con el servidor`);\n }\n });\n setOpenBackDrop(false);\n };\n data.idUsuarioCliente = valComboUsuarios.value;\n data.idCliente = valComboClientes.value;\n handleAsync(data);\n };\n\n return (\n \n
\n \n \n \n \n
\n \n \n (\n -b.firstLetter.localeCompare(a.firstLetter)\n ))}\n groupBy={(option) => option.firstLetter}\n getOptionLabel={(option) => (option.label !== undefined ? `${option.label} - (${option.tipoCliente})` : '')}\n renderOption={(option) => option.label}\n fullWidth\n value={valComboClientes}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regCliente = null;\n setValComboClientes(newValue);\n getComboUsuarioCliente(newValue.value, null);\n }}\n />\n \n \n \n \n (option.usuario !== undefined ? `${option.usuario} - (${option.nombreUsuario})` : '')}\n renderOption={(option) => `${option.usuario} - (${option.nombreUsuario})`}\n fullWidth\n value={valComboUsuarios}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n errors.regUsuario = null;\n console.log(newValue);\n setValComboUsuarios(newValue);\n }}\n />\n \n \n \n \n {\n setArchivo(file);\n }}\n filesLimit={1}\n dropzoneText={(\n
\n
Arrastre y suelte un archivo.
\n
\n (Máx 10 MB y solo se permiten archivos .xls-x)\n
\n
\n )}\n maxFileSize={10200000}\n showPreviewsInDropzone={false}\n showPreviews\n previewText={(\n
\n Archivo de Carga:\n
\n )}\n useChipsForPreview\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\n previewChipProps={{ classes: { root: classes.previewChip } }}\n alertSnackbarProps={{ anchorOrigin: { vertical: 'bottom', horizontal: 'center' } }}\n showAlerts={['error']}\n getDropRejectMessage={() => {\n return 'Solo se aceptan archivos menores a 10 MB y con extensiones: .xls-x';\n }}\n onDelete={() => {\n setArchivo(undefined);\n setRespuestaServer('...');\n }}\n />\n
\n \n \n \n
\n \n \n \n }\n disabled={archivo === undefined}\n type=\"submit\"\n >\n CARGAR\n \n \n \n \n \n
\n
\n
\n \n );\n};\n\nCargaMasiva.propTypes = {\n className: PropTypes.string,\n setServerError: PropTypes.func,\n setServerMessage: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setOpenBackDrop: PropTypes.func\n};\n\nexport default CargaMasiva;\n","import http from '../http-common';\n\nclass EvaluacionService {\n generarPlantilla = (evalDTO) => {\n const json = JSON.stringify(evalDTO);\n return http.post('/evaluaciones/plantilla', json);\n }\n\n guardarVivienda = (viviendaDTO) => {\n const json = JSON.stringify(viviendaDTO);\n return http.post('/evaluaciones/add/vivienda', json);\n }\n\n guardarPrincipal = (principalDTO) => {\n const json = JSON.stringify(principalDTO);\n return http.post('/evaluaciones/add/principal', json);\n }\n\n guardarPlantillaEval = (evaluacionDTO) => {\n const json = JSON.stringify(evaluacionDTO);\n return http.post('/evaluaciones/add/plantilla', json);\n }\n\n getPlantilla = async (idCliente) => {\n return http.get(`/evaluaciones/plantilla/${idCliente}`);\n }\n\n getEvaluacionByOrden = async (idOrden) => {\n return http.get(`/evaluaciones/evaluacion/${idOrden}`);\n }\n\n getEvaluacionDetalles = (evaluacionDTO) => {\n return http.post('/evaluaciones/detallesEvaluacion', evaluacionDTO);\n }\n\n guardaEvaluacion = (evaluacionDTO) => {\n return http.post('/evaluaciones/guardarEvaluacion', evaluacionDTO);\n }\n\n descargarEvaluacion = (evaluacionDTO) => {\n const config = {\n responseType: 'blob'\n };\n const json = JSON.stringify(evaluacionDTO);\n return http.put('evaluaciones/descargarEvalaucion', json, config);\n }\n}\n\nexport default new EvaluacionService();\n","import React, {\n useState, forwardRef, useImperativeHandle\n} from 'react';\nimport { useForm } from 'react-hook-form';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n TextField,\n makeStyles,\n Card,\n CardContent,\n Grid\n} from '@material-ui/core';\nimport GeneralDialog from 'src/views/commons/GeneralDialog';\nimport genService from 'src/services/generalServices';\nimport evaluacionService from 'src/services/evaluacionService';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n spaceButton: {\n marginRight: theme.spacing(1)\n },\n closeIcon: {\n float: 'right'\n },\n checkBoxVerde: {\n color: '#4caf50 !important'\n }\n}));\n\nconst AltaVivienda = forwardRef(({\n className,\n formName,\n setOpenDialog,\n itemDTO,\n setOpenSnackError,\n setServerError,\n comboViviendaA,\n comboViviendaB1,\n comboViviendaB2,\n comboViviendaB3,\n comboViviendaC,\n setComboViviendaA,\n setComboViviendaB1,\n setComboViviendaB2,\n setComboViviendaB3,\n setComboViviendaC\n}, ref) => {\n const {\n register,\n handleSubmit,\n errors,\n reset,\n setError\n } = useForm({\n defaultValues: {\n rol: ''\n },\n });\n const [open, setOpen] = useState(false);\n const [openBack, setOpenBack] = useState(false);\n const resetForm = () => {\n reset({\n descripcion: ''\n });\n };\n useImperativeHandle(ref, () => ({\n resetUsuariosForm: () => {\n resetForm();\n }\n }));\n const onSubmit = (data) => {\n let selectedCombo;\n let selectedSetCombo;\n let existValue;\n itemDTO.descripcion = data.descripcion.trim();\n setOpenBack(true);\n\n if (itemDTO.viabilidad === 'A / 81-100') {\n existValue = comboViviendaA.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboViviendaA;\n selectedSetCombo = setComboViviendaA;\n } else if (itemDTO.viabilidad === 'B-1 / 61-80') {\n existValue = comboViviendaB1.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboViviendaB1;\n selectedSetCombo = setComboViviendaB1;\n } else if (itemDTO.viabilidad === 'B-2 / 41-60') {\n existValue = comboViviendaB2.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboViviendaB2;\n selectedSetCombo = setComboViviendaB2;\n } else if (itemDTO.viabilidad === 'B-3 / 21-40') {\n existValue = comboViviendaB3.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboViviendaB3;\n selectedSetCombo = setComboViviendaB3;\n } else if (itemDTO.viabilidad === 'C / 0-20') {\n existValue = comboViviendaC.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboViviendaC;\n selectedSetCombo = setComboViviendaC;\n }\n\n if (existValue !== undefined && existValue.length > 0) {\n setError('descripcion', { message: `Este valor ya existe en ${itemDTO.viabilidad}` });\n setOpenBack(false);\n } else if (data.descripcion.trim() === '') {\n setError('descripcion', { message: 'El valor no puede estar vacio.' });\n setOpenBack(false);\n } else {\n const handleSubmitII = async (datos) => {\n await evaluacionService.guardarVivienda(datos).then((resp) => {\n if (resp !== null) {\n selectedCombo.push({\n descViabilidad: resp.data.viabilidad,\n idViabilidad: resp.data.idViabilidad,\n label: resp.data.descripcion,\n value: resp.data.id\n });\n selectedSetCombo(selectedCombo);\n setOpen(true);\n } else {\n setServerError('No se obtuvo respuesta del servidor');\n setOpenSnackError(true);\n }\n }).catch((error) => {\n setOpenBack(false);\n setServerError(error.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n handleSubmitII(itemDTO);\n }\n };\n const classes = useStyles();\n const errorReq = 'Campo requerido.';\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n setOpen(false);\n setOpenDialog(false);\n }}\n title=\"Vivienda Guardada\"\n message=\"La vivienda fue guardada exitosamente.\"\n />\n \n );\n});\n\nAltaVivienda.propTypes = {\n className: PropTypes.string,\n formName: PropTypes.string,\n setOpenDialog: PropTypes.func,\n itemDTO: PropTypes.object,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n comboViviendaA: PropTypes.array,\n comboViviendaB1: PropTypes.array,\n comboViviendaB2: PropTypes.array,\n comboViviendaB3: PropTypes.array,\n comboViviendaC: PropTypes.array,\n setComboViviendaA: PropTypes.func,\n setComboViviendaB1: PropTypes.func,\n setComboViviendaB2: PropTypes.func,\n setComboViviendaB3: PropTypes.func,\n setComboViviendaC: PropTypes.func,\n};\n\nexport default AltaVivienda;\n","import { React } from 'react';\nimport {\n AppBar,\n Box,\n Hidden,\n Paper,\n Tab,\n Table as MuiTable,\n TableBody,\n TableCell as MuiTableCell,\n TableContainer,\n TableRow,\n Tabs,\n TextField,\n Typography,\n Tooltip,\n IconButton,\n InputAdornment\n} from '@material-ui/core';\nimport clsx from 'clsx';\nimport { Autocomplete } from '@material-ui/lab';\nimport { useForm } from 'react-hook-form';\nimport PropTypes from 'prop-types';\nimport {\n AccountBalance,\n AttachMoney,\n House,\n MoneyOff,\n Work\n} from '@material-ui/icons';\nimport genService from 'src/services/generalServices';\nimport evaluacionService from 'src/services/evaluacionService';\nimport AddBoxIcon from '@material-ui/icons/AddBox';\nimport { makeStyles, withStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(1.5),\n },\n bottomSpace1: {\n marginBottom: theme.spacing(1),\n },\n tableWidth: {\n width: '100%',\n display: 'contents'\n }\n}));\n\nconst Table = withStyles({\n root: {\n border: '1px solid rgba(204, 204, 204)',\n borderCollapse: 'inherit',\n borderSpacing: 'revert'\n },\n})(MuiTable);\n\nconst TableCell = withStyles({\n root: {\n border: '1px solid rgba(204, 204, 204)',\n }\n})(MuiTableCell);\n\nfunction TabPanel(props) {\n const {\n children,\n value,\n index,\n ...other\n } = props;\n\n return (\n
\n );\n}\n\nTabPanel.propTypes = {\n children: PropTypes.node,\n index: PropTypes.any.isRequired,\n value: PropTypes.any.isRequired,\n};\n\nconst Details = ({\n className,\n tabValue,\n setTabValue,\n evaluacion,\n comboViviendaA,\n comboViviendaB1,\n comboViviendaB2,\n comboViviendaB3,\n comboViviendaC,\n rolUsuario,\n setOpenAddDialog,\n setTituloDialog,\n setItemDTO,\n comboPrincipalA,\n comboPrincipalB1,\n comboPrincipalB2,\n comboPrincipalB3,\n comboPrincipalC,\n setOpenAddDialogPrin,\n formName,\n setServerError,\n setOpenSnackError,\n valComboPrincipal,\n valComboVivienda,\n setValComboPrincipal,\n setValComboVivienda,\n setOpenSnackSuccess,\n setServerMessage,\n setEvaluacion,\n valComboEscuelas,\n setValComboEscuelas,\n setOpenBackDrop,\n resetPlantilla,\n setResetPlantilla\n}) => {\n const classes = useStyles();\n const {\n errors,\n handleSubmit,\n setError,\n setValue,\n clearErrors\n } = useForm();\n const requiredField = 'Este campo es requerido.';\n const maxPct = 'El porcentaje es entre 0 y 99';\n function toCurrency(numberString) {\n const number = parseFloat(numberString);\n return `$ ${number.toLocaleString('MXN')}`;\n }\n function concatTitleViabilidad(value) {\n setTituloDialog(`Agregar Vivienda -> ${value}`);\n }\n function concatTitlePrincipal(value) {\n setTituloDialog(`Agregar Principal -> ${value}`);\n }\n\n const onError = (err) => {\n if (err) {\n setServerError('Hay campos pendientes por llenar, favor de revisar las Tabs.');\n setOpenSnackError(true);\n }\n };\n const removeZero = (newVal, fieldName) => {\n while (newVal.length > 1 && newVal.charAt(0) === '0') {\n newVal = newVal.substring(1);\n setValue(fieldName, newVal);\n }\n return newVal;\n };\n const onSubmit = () => {\n // Validar que todos los campos se hayan llenado\n let errorEmptyFields = 'Hay campos por llenar en: ';\n let boolVivienda = false;\n let boolPrincipal = false;\n let boolDeuda = false;\n for (let aux = 0; aux < evaluacion.detalles.length; aux++) {\n const viviendaArr = evaluacion.detalles[aux].vivienda;\n const principalArr = evaluacion.detalles[aux].principal;\n const deudaArr = evaluacion.detalles[aux].deuda;\n for (let auxItem = 0; auxItem < viviendaArr.length; auxItem++) {\n if (viviendaArr[auxItem].idVivienda === null) {\n boolVivienda = true;\n setError(`vivienda_${evaluacion.detalles[aux].idViabilidad}_${auxItem}`, { type: 'required', message: requiredField });\n }\n }\n for (let auxItem = 0; auxItem < principalArr.length; auxItem++) {\n if (principalArr[auxItem].idPrincipal === null) {\n boolPrincipal = true;\n setError(`principal_${evaluacion.detalles[aux].idViabilidad}_${auxItem}`, { type: 'required', message: requiredField });\n }\n }\n for (let auxItem = 0; auxItem < deudaArr.length; auxItem++) {\n if (deudaArr[auxItem].deudaMin === null || deudaArr[auxItem].deudaMin === '') {\n boolDeuda = true;\n setError(`deudaMin_${evaluacion.detalles[aux].idViabilidad}_${auxItem}`, { type: 'required', message: requiredField });\n }\n if (deudaArr[auxItem].deudaMax === null || deudaArr[auxItem].deudaMax === '') {\n boolDeuda = true;\n setError(`deudaMax_${evaluacion.detalles[aux].idViabilidad}_${auxItem}`, { type: 'required', message: requiredField });\n }\n }\n }\n if (boolDeuda || boolPrincipal || boolVivienda) {\n if (boolVivienda && boolPrincipal && boolDeuda) {\n errorEmptyFields += 'VIVIENDA, PRINCIPAL Y DEUDA';\n } else if (boolVivienda && boolPrincipal) {\n errorEmptyFields += 'VIVIENDA Y PRINCIPAL';\n } else if (boolVivienda && boolDeuda) {\n errorEmptyFields += 'VIVIENDA Y DEUDA';\n } else if (boolPrincipal && boolDeuda) {\n errorEmptyFields += 'PRINCIPAL Y DEUDA';\n } else {\n errorEmptyFields += boolVivienda ? 'VIVIENDA' : boolPrincipal ? 'PRINCIPAL' : boolDeuda ? 'DEUDA' : '';\n }\n setServerError(errorEmptyFields);\n setOpenSnackError(true);\n } else {\n const asyncCall = async () => {\n setOpenBackDrop(true);\n evaluacion.idCliente = valComboEscuelas.value;\n if (resetPlantilla > 0) {\n evaluacion.resetPlantilla = true;\n evaluacion.id = resetPlantilla;\n }\n console.log('Evaluacion:', evaluacion);\n await evaluacionService.guardarPlantillaEval(evaluacion).then((resp) => {\n console.log('La plantilla se guardó correctamente:', resp);\n valComboEscuelas.plantilla = true;\n setValComboEscuelas(valComboEscuelas);\n setServerMessage('La plantilla se guardó correctamente');\n setOpenSnackSuccess(true);\n setEvaluacion(resp.data);\n setOpenBackDrop(false);\n setResetPlantilla(0);\n }).catch((error) => {\n setOpenBackDrop(false);\n console.log('Error al guardar la plantilla', error);\n setServerError('Hubo un error al guardar la plantilla, favor de contactar al administrador.');\n setOpenSnackError(true);\n });\n };\n asyncCall();\n }\n };\n\n return (\n \n \n {\n setTabValue(newValue);\n }}\n /* orientation=\"vertical\" */\n variant=\"fullWidth\"\n indicatorColor=\"primary\"\n textColor=\"primary\"\n >\n Ingresos}\n icon={}\n />\n Egresos}\n icon={}\n />\n Vivienda}\n icon={}\n />\n Principal}\n icon={}\n />\n Deuda}\n icon={}\n />\n \n \n \n \n \n \n {evaluacion?.detalles?.map((row, viavIndex) => {\n const keyIngresos = `ing_${viavIndex}`;\n return (\n
\n \n \n {row.viabilidad}\n \n \n {row?.ingresos?.map((rowItem, rowIndex) => {\n const keyRow = `ingresos_${row.idViabilidad}_${rowIndex}`;\n return (\n \n \n {rowItem.factor}\n \n \n {toCurrency(rowItem.montoMin)}\n \n \n {rowItem?.montoMax > 0\n ? (\n toCurrency(rowItem.montoMax)\n ) : (\n 'o más'\n )}\n \n \n );\n })}\n
\n );\n })}\n
\n
\n
\n
\n \n \n \n \n {evaluacion?.detalles?.map((row, viavIndex) => {\n const keyEgresos = `ing_${viavIndex}`;\n return (\n \n );\n })}\n \n
\n \n \n {row.viabilidad}\n \n \n {row?.egresos?.map((rowItem, rowIndex) => {\n const keyRow = `egresos_${row.idViabilidad}_${rowIndex}`;\n return (\n \n \n {rowItem.factor}\n \n \n {toCurrency(rowItem.montoMin)}\n \n \n {rowItem?.montoMax > 0\n ? (\n toCurrency(rowItem.montoMax)\n ) : (\n 'o más'\n )}\n \n \n );\n })}\n
\n
\n
\n \n \n \n \n {evaluacion?.detalles?.map((row, viavIndex) => {\n const keyVivienda = `viviend_${viavIndex}`;\n return (\n \n );\n })}\n \n
\n \n \n {row.viabilidad}\n {(rolUsuario === 'ADMINISTRADOR')\n ? (\n \n {\n setOpenAddDialog(true);\n concatTitleViabilidad(row.viabilidad);\n const viabilidadDTO = {\n id: 0,\n idViabilidad: row.idViabilidad,\n viabilidad: row.viabilidad,\n descripcion: null\n };\n setItemDTO(viabilidadDTO);\n }}\n fontSize=\"small\"\n color=\"primary\"\n >\n \n \n \n ) : null }\n \n \n {row?.vivienda?.map((rowItem, rowIndex) => {\n const comboName = `vivienda_${row.idViabilidad}_${rowIndex}`;\n return (\n \n \n {rowItem.factor}\n \n \n (option.label ? option.label : '')}\n renderOption={(option) => option.label}\n fullWidth\n value={valComboVivienda[comboName]}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n console.log('resetPlantilla:', resetPlantilla);\n valComboVivienda[comboName] = newValue;\n setValComboVivienda(valComboVivienda);\n rowItem.idViabilidad = newValue?.idViabilidad || null;\n rowItem.idVivienda = newValue?.value || null;\n clearErrors(comboName);\n }}\n onLoad={(option) => {\n /* rowItem.idVivienda;\n valComboVivienda[comboName] = ;\n setValComboVivienda(valComboVivienda); */\n console.log('La opcion:', option);\n }}\n />\n \n \n );\n })}\n
\n
\n
\n \n \n \n \n {evaluacion?.detalles?.map((row, viavIndex) => {\n const keyPrincipal = `principal_${viavIndex}`;\n return (\n \n );\n })}\n \n
\n \n \n {row.viabilidad}\n {(rolUsuario === 'ADMINISTRADOR')\n ? (\n \n {\n setOpenAddDialogPrin(true);\n concatTitlePrincipal(row.viabilidad);\n const viabilidadDTO = {\n id: 0,\n idViabilidad: row.idViabilidad,\n viabilidad: row.viabilidad,\n descripcion: null\n };\n setItemDTO(viabilidadDTO);\n }}\n fontSize=\"small\"\n color=\"primary\"\n >\n \n \n \n ) : null }\n \n \n {row?.principal?.map((rowItem, rowIndex) => {\n const comboName = `principal_${row.idViabilidad}_${rowIndex}`;\n return (\n \n \n {rowItem.factor}\n \n \n (option.label ? option.label : '')}\n renderOption={(option) => option.label}\n fullWidth\n value={valComboPrincipal[comboName]}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n valComboPrincipal[comboName] = newValue;\n setValComboPrincipal(valComboPrincipal);\n rowItem.idViabilidad = newValue?.idViabilidad || null;\n rowItem.idPrincipal = newValue?.value || null;\n clearErrors(comboName);\n }}\n />\n \n \n );\n })}\n
\n
\n
\n \n \n \n \n {evaluacion?.detalles?.map((row, viavIndex) => {\n const keyDeuda = `deuda_${viavIndex}`;\n return (\n \n );\n })}\n \n
\n \n \n {row.viabilidad}\n \n \n {row?.deuda?.map((rowItem, rowIndex) => {\n const nameDeudaMin = `deudaMin_${row.idViabilidad}_${rowIndex}`;\n const nameDeudaMax = `deudaMax_${row.idViabilidad}_${rowIndex}`;\n return (\n \n \n {rowItem.factor}\n \n \n {\n if (e.target.value.length <= 2) {\n rowItem.deudaMin = removeZero(e.target.value, nameDeudaMin);\n clearErrors(nameDeudaMin);\n } else {\n setError(nameDeudaMin, { type: 'maxLength', message: maxPct });\n setValue(nameDeudaMin, rowItem.deudaMin);\n }\n }}\n onBlur={() => {\n clearErrors(nameDeudaMin);\n }}\n onInput={genService.removeLetters}\n error={!!errors[nameDeudaMin]}\n helperText={errors[nameDeudaMin]?.message}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n endAdornment: %\n }}\n />\n \n \n {\n removeZero(e.target.value, nameDeudaMax);\n if (e.target.value.length <= 2) {\n rowItem.deudaMax = removeZero(e.target.value, nameDeudaMax);\n clearErrors(nameDeudaMax);\n } else {\n setError(nameDeudaMax, { type: 'maxLength', message: maxPct });\n setValue(nameDeudaMax, rowItem.deudaMax);\n }\n }}\n value={rowItem.deudaMax ? rowItem.deudaMax : ''}\n name={nameDeudaMax}\n onInput={genService.removeLetters}\n onBlur={() => {\n clearErrors(nameDeudaMax);\n }}\n error={!!errors[nameDeudaMax]}\n helperText={errors[nameDeudaMax]?.message}\n InputLabelProps={{ shrink: true }}\n InputProps={{\n endAdornment: %\n }}\n />\n \n \n );\n })}\n
\n
\n
\n \n );\n};\n\nDetails.propTypes = {\n className: PropTypes.string,\n tabValue: PropTypes.number,\n setTabValue: PropTypes.func,\n evaluacion: PropTypes.object,\n comboViviendaA: PropTypes.array,\n comboViviendaB1: PropTypes.array,\n comboViviendaB2: PropTypes.array,\n comboViviendaB3: PropTypes.array,\n comboViviendaC: PropTypes.array,\n rolUsuario: PropTypes.string,\n setOpenAddDialog: PropTypes.func,\n setTituloDialog: PropTypes.func,\n setItemDTO: PropTypes.func,\n comboPrincipalA: PropTypes.array,\n comboPrincipalB1: PropTypes.array,\n comboPrincipalB2: PropTypes.array,\n comboPrincipalB3: PropTypes.array,\n comboPrincipalC: PropTypes.array,\n setOpenAddDialogPrin: PropTypes.func,\n formName: PropTypes.string,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n valComboPrincipal: PropTypes.array,\n valComboVivienda: PropTypes.array,\n setValComboPrincipal: PropTypes.func,\n setValComboVivienda: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n setEvaluacion: PropTypes.func,\n valComboEscuelas: PropTypes.array,\n setValComboEscuelas: PropTypes.func,\n setOpenBackDrop: PropTypes.func,\n resetPlantilla: PropTypes.object,\n setResetPlantilla: PropTypes.func\n};\n\nexport default Details;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Divider,\n Grid,\n InputAdornment,\n TextField,\n Typography\n} from '@material-ui/core';\nimport {\n Done as DoneIcon,\n LocalLaundryService as ClearIcon,\n Send as CreateIcon,\n Edit,\n Refresh,\n Save\n} from '@material-ui/icons';\nimport { Autocomplete } from '@material-ui/lab';\nimport { makeStyles } from '@material-ui/styles';\nimport genService from 'src/services/generalServices';\nimport { useForm } from 'react-hook-form';\nimport evaluacionService from 'src/services/evaluacionService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n },\n item: {\n display: 'flex',\n flexDirection: 'column'\n },\n container: {\n display: 'grid',\n gridTemplateColumns: 'repeat(12, 1fr)',\n gridGap: theme.spacing(3),\n },\n bottomSpace: {\n marginBottom: theme.spacing(1)\n },\n iconSelected: {\n width: 17,\n height: 17,\n marginRight: 5,\n marginLeft: -2,\n }\n}));\n\nconst InputData = ({\n setOpenBackDrop,\n setEvaluacion,\n comboEscuelas,\n formName,\n setValComboVivienda,\n setValComboPrincipal,\n blockFields,\n setBlockFields,\n evaluacion,\n valComboEscuelas,\n setValComboEscuelas,\n setServerError,\n setOpenSnackError,\n valComboVivienda,\n valComboPrincipal,\n comboViviendaA,\n comboViviendaB1,\n comboViviendaB2,\n comboViviendaB3,\n comboViviendaC,\n comboPrincipalA,\n comboPrincipalB1,\n comboPrincipalB2,\n comboPrincipalB3,\n comboPrincipalC,\n setResetPlantilla,\n setTabValue\n}) => {\n const classes = useStyles();\n const {\n errors,\n register,\n handleSubmit,\n setError,\n setValue\n } = useForm();\n const twoChars = 'Máximo 2 caractéres.';\n const requiredField = 'Este campo es requerido.';\n const mayorCero = 'Campo númerico y mayor a cero.';\n\n const removeZero = (newVal, fieldName) => {\n while (newVal.length > 1 && newVal.charAt(0) === '0') {\n newVal = newVal.substring(1);\n setValue(fieldName, newVal);\n }\n return newVal;\n };\n\n const clearFields = () => {\n setEvaluacion(null);\n setValComboVivienda([]);\n setValComboPrincipal([]);\n setTabValue(0);\n };\n\n const onSelectCliente = async (idCliente) => {\n setOpenBackDrop(true);\n await evaluacionService.getPlantilla(idCliente).then((resp) => {\n setEvaluacion(resp.data);\n setValComboVivienda([]);\n console.log('Obteniendo evaluacion:', resp.data);\n resp.data.detalles.forEach((detalle) => {\n detalle.vivienda.forEach((vivienda, index) => {\n const comboVivName = `vivienda_${detalle.idViabilidad}_${index}`;\n if (detalle.viabilidad === 'A / 81-100') {\n const auxComboViv = comboViviendaA.filter(\n (vivA) => vivA.value === vivienda.idVivienda\n )[0];\n valComboVivienda[comboVivName] = auxComboViv;\n } else if (detalle.viabilidad === 'B-1 / 61-80') {\n const auxComboViv = comboViviendaB1.filter(\n (vivA) => vivA.value === vivienda.idVivienda\n )[0];\n valComboVivienda[comboVivName] = auxComboViv;\n } else if (detalle.viabilidad === 'B-2 / 41-60') {\n const auxComboViv = comboViviendaB2.filter(\n (vivA) => vivA.value === vivienda.idVivienda\n )[0];\n valComboVivienda[comboVivName] = auxComboViv;\n } else if (detalle.viabilidad === 'B-3 / 21-40') {\n const auxComboViv = comboViviendaB3.filter(\n (vivA) => vivA.value === vivienda.idVivienda\n )[0];\n valComboVivienda[comboVivName] = auxComboViv;\n } else if (detalle.viabilidad === 'C / 0-20') {\n const auxComboViv = comboViviendaC.filter(\n (vivA) => vivA.value === vivienda.idVivienda\n )[0];\n valComboVivienda[comboVivName] = auxComboViv;\n }\n });\n detalle.principal.forEach((principal, index) => {\n const comboPrinName = `principal_${detalle.idViabilidad}_${index}`;\n if (detalle.viabilidad === 'A / 81-100') {\n const auxComboPrin = comboPrincipalA.filter(\n (prinA) => prinA.value === principal.idPrincipal\n )[0];\n valComboPrincipal[comboPrinName] = auxComboPrin;\n } else if (detalle.viabilidad === 'B-1 / 61-80') {\n const auxComboPrin = comboPrincipalB1.filter(\n (prinA) => prinA.value === principal.idPrincipal\n )[0];\n valComboPrincipal[comboPrinName] = auxComboPrin;\n } else if (detalle.viabilidad === 'B-2 / 41-60') {\n const auxComboPrin = comboPrincipalB2.filter(\n (prinA) => prinA.value === principal.idPrincipal\n )[0];\n valComboPrincipal[comboPrinName] = auxComboPrin;\n } else if (detalle.viabilidad === 'B-3 / 21-40') {\n const auxComboPrin = comboPrincipalB3.filter(\n (prinA) => prinA.value === principal.idPrincipal\n )[0];\n valComboPrincipal[comboPrinName] = auxComboPrin;\n } else if (detalle.viabilidad === 'C / 0-20') {\n const auxComboPrin = comboPrincipalC.filter(\n (prinA) => prinA.value === principal.idPrincipal\n )[0];\n valComboPrincipal[comboPrinName] = auxComboPrin;\n }\n });\n });\n\n setValComboVivienda(valComboVivienda);\n setValComboPrincipal(valComboPrincipal);\n setBlockFields(true);\n setOpenBackDrop(false);\n }).catch((error) => {\n console.log('Hubo un error al cargar la plantilla.', error);\n if (error.response?.status === 404) {\n setServerError(error.response.data?.mensaje);\n } else {\n setServerError('Hubo un error al cargar la plantilla.');\n }\n setBlockFields(false);\n setValue('filasIngresos', null);\n setValue('filasVivienda', null);\n setValue('filasDeuda', null);\n setValue('ingresosInicio', null);\n setValue('ingresosFin', null);\n setValue('egresosInicio', null);\n setValue('egresosFin', null);\n setResetPlantilla(0);\n setOpenBackDrop(false);\n setOpenSnackError(true);\n });\n };\n\n const onSubmit = (formData) => {\n console.log('Datos del formulario:', formData);\n const asyncCall = async (evalDTO) => {\n setOpenBackDrop(true);\n await evaluacionService.generarPlantilla(evalDTO).then((resp) => {\n console.log('Evaluacion DTO:', resp.data);\n setEvaluacion(resp.data);\n setBlockFields(true);\n }).catch((error) => {\n setBlockFields(false);\n clearFields();\n setResetPlantilla(0);\n console.log('Error al generar la plantilla:', error);\n });\n setOpenBackDrop(false);\n };\n if (/^(?=.*[1-9])\\d*,*\\d*[.]*?\\d*$/.test(formData.ingresosFin)) {\n asyncCall(formData);\n } else {\n setError('ingresosFin', { type: 'custom', message: 'Debe ser mayor a 0' });\n }\n };\n return (\n
\n \n \n Clientes\n \n \n \n (option.label ? option.label : '')}\n renderOption={(option) => (\n
\n \n {option.label}\n
\n )}\n fullWidth\n value={valComboEscuelas}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n clearFields();\n if (newValue === null) {\n setBlockFields(false);\n setValue('filasIngresos', null);\n setValue('filasVivienda', null);\n setValue('filasDeuda', null);\n setValue('ingresosInicio', null);\n setValue('ingresosFin', null);\n setValue('egresosInicio', null);\n setValue('egresosFin', null);\n setResetPlantilla(0);\n } else {\n errors.regEscuelas = null;\n setValComboEscuelas(newValue);\n if (newValue !== null) {\n onSelectCliente(newValue.value);\n }\n }\n }}\n />\n \n \n \n \n Filas\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Montos\n \n \n \n {\n removeZero(e.target.value, 'ingresosInicio');\n }}\n InputProps={{\n startAdornment: $,\n disabled: blockFields\n }}\n inputRef={register({\n required: { value: true, message: requiredField },\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.ingresosInicio}\n helperText={errors.ingresosInicio?.message}\n size=\"small\"\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n removeZero(e.target.value, 'ingresosFin');\n }}\n InputProps={{\n startAdornment: $,\n disabled: blockFields\n }}\n inputRef={register({\n required: { value: true, message: requiredField },\n pattern: { value: /^(?=.*[1-9])\\d*,*\\d*([.]?\\d)*$/, message: mayorCero }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.ingresosFin}\n helperText={errors.ingresosFin?.message}\n size=\"small\"\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n removeZero(e.target.value, 'egresosInicio');\n }}\n InputProps={{\n startAdornment: $,\n disabled: blockFields\n }}\n inputRef={register({\n required: { value: true, message: requiredField },\n pattern: { value: /^(?=.*[1-9])\\d*,*\\d*([.]?\\d)*$/, message: mayorCero }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.egresosInicio}\n helperText={errors.egresosInicio?.message}\n size=\"small\"\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n removeZero(e.target.value, 'egresosFin');\n }}\n InputProps={{\n startAdornment: $,\n disabled: blockFields\n }}\n inputRef={register({\n required: { value: true, message: requiredField },\n pattern: { value: /^(?=.*[1-9])\\d*,*\\d*([.]?\\d)*$/, message: mayorCero }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.egresosFin}\n helperText={errors.egresosFin?.message}\n size=\"small\"\n InputLabelProps={{ shrink: true }}\n />\n \n \n \n \n \n {blockFields ? (\n {\n setBlockFields(false);\n setResetPlantilla(evaluacion.id);\n clearFields();\n e.preventDefault();\n }}\n endIcon={}\n >\n EDITAR\n \n ) : (\n }\n >\n GENERAR\n \n )}\n \n {blockFields ? (\n \n 0)\n ? : \n }\n >\n {(evaluacion !== null && evaluacion !== undefined\n && evaluacion.id !== null && evaluacion.id > 0)\n ? 'ACTUALIZAR' : 'GUARDAR'}\n \n \n ) : (\n null\n )}\n \n {\n setBlockFields(false);\n setValue('filasIngresos', null);\n setValue('filasVivienda', null);\n setValue('filasDeuda', null);\n setValue('ingresosInicio', null);\n setValue('ingresosFin', null);\n setValue('egresosInicio', null);\n setValue('egresosFin', null);\n setValComboEscuelas([]);\n setResetPlantilla(0);\n clearFields();\n e.preventDefault();\n }}\n endIcon={}\n >\n LIMPIAR\n \n \n \n \n );\n};\n\nInputData.propTypes = {\n setOpenBackDrop: PropTypes.func,\n setEvaluacion: PropTypes.func,\n comboEscuelas: PropTypes.array,\n formName: PropTypes.string,\n setValComboVivienda: PropTypes.func,\n setValComboPrincipal: PropTypes.func,\n blockFields: PropTypes.bool,\n setBlockFields: PropTypes.func,\n evaluacion: PropTypes.object,\n valComboEscuelas: PropTypes.object,\n setValComboEscuelas: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n valComboVivienda: PropTypes.object,\n valComboPrincipal: PropTypes.object,\n comboViviendaA: PropTypes.array,\n comboViviendaB1: PropTypes.array,\n comboViviendaB2: PropTypes.array,\n comboViviendaB3: PropTypes.array,\n comboViviendaC: PropTypes.array,\n comboPrincipalA: PropTypes.array,\n comboPrincipalB1: PropTypes.array,\n comboPrincipalB2: PropTypes.array,\n comboPrincipalB3: PropTypes.array,\n comboPrincipalC: PropTypes.array,\n setResetPlantilla: PropTypes.func,\n setTabValue: PropTypes.func\n};\n\nexport default InputData;\n","import React, {\n useState, forwardRef, useImperativeHandle\n} from 'react';\nimport { useForm } from 'react-hook-form';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n TextField,\n makeStyles,\n Card,\n CardContent,\n Grid\n} from '@material-ui/core';\nimport GeneralDialog from 'src/views/commons/GeneralDialog';\nimport genService from 'src/services/generalServices';\nimport evaluacionService from 'src/services/evaluacionService';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n spaceButton: {\n marginRight: theme.spacing(1)\n },\n closeIcon: {\n float: 'right'\n },\n checkBoxVerde: {\n color: '#4caf50 !important'\n }\n}));\n\nconst AltaPrincipal = forwardRef(({\n className,\n formName,\n setOpenDialog,\n itemDTO,\n setOpenSnackError,\n setServerError,\n comboPrincipalA,\n comboPrincipalB1,\n comboPrincipalB2,\n comboPrincipalB3,\n comboPrincipalC,\n setComboPrincipalA,\n setComboPrincipalB1,\n setComboPrincipalB2,\n setComboPrincipalB3,\n setComboPrincipalC\n}, ref) => {\n const {\n register,\n handleSubmit,\n errors,\n reset,\n setError\n } = useForm({\n defaultValues: {\n rol: ''\n },\n });\n const [open, setOpen] = useState(false);\n const [openBack, setOpenBack] = useState(false);\n const resetForm = () => {\n reset({\n descripcion: ''\n });\n };\n useImperativeHandle(ref, () => ({\n resetUsuariosForm: () => {\n resetForm();\n }\n }));\n const onSubmit = (data) => {\n let selectedCombo;\n let selectedSetCombo;\n let existValue;\n itemDTO.descripcion = data.descripcion.trim();\n setOpenBack(true);\n\n if (itemDTO.viabilidad === 'A / 81-100') {\n existValue = comboPrincipalA.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboPrincipalA;\n selectedSetCombo = setComboPrincipalA;\n } else if (itemDTO.viabilidad === 'B-1 / 61-80') {\n existValue = comboPrincipalB1.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboPrincipalB1;\n selectedSetCombo = setComboPrincipalB1;\n } else if (itemDTO.viabilidad === 'B-2 / 41-60') {\n existValue = comboPrincipalB2.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboPrincipalB2;\n selectedSetCombo = setComboPrincipalB2;\n } else if (itemDTO.viabilidad === 'B-3 / 21-40') {\n existValue = comboPrincipalB3.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboPrincipalB3;\n selectedSetCombo = setComboPrincipalB3;\n } else if (itemDTO.viabilidad === 'C / 0-20') {\n existValue = comboPrincipalC.filter((opt) => (\n opt.label === itemDTO.descripcion\n ));\n selectedCombo = comboPrincipalC;\n selectedSetCombo = setComboPrincipalC;\n }\n\n if (existValue !== undefined && existValue.length > 0) {\n setError('descripcion', { message: `Este valor ya existe en ${itemDTO.viabilidad}` });\n setOpenBack(false);\n } else if (data.descripcion.trim() === '') {\n setError('descripcion', { message: 'El valor no puede estar vacio.' });\n setOpenBack(false);\n } else {\n const handleSubmitII = async (datos) => {\n await evaluacionService.guardarPrincipal(datos).then((resp) => {\n if (resp !== null) {\n selectedCombo.push({\n descViabilidad: resp.data.viabilidad,\n idViabilidad: resp.data.idViabilidad,\n label: resp.data.descripcion,\n value: resp.data.id\n });\n selectedSetCombo(selectedCombo);\n setOpen(true);\n } else {\n setServerError('No se obtuvo respuesta del servidor');\n setOpenSnackError(true);\n }\n }).catch((error) => {\n setOpenBack(false);\n setServerError(error.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n handleSubmitII(itemDTO);\n }\n };\n const classes = useStyles();\n const errorReq = 'Campo requerido.';\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n setOpen(false);\n setOpenDialog(false);\n }}\n title=\"Principal Guardado\"\n message=\"El registro Principal fue guardada exitosamente.\"\n />\n \n );\n});\n\nAltaPrincipal.propTypes = {\n className: PropTypes.string,\n formName: PropTypes.string,\n setOpenDialog: PropTypes.func,\n itemDTO: PropTypes.object,\n setOpenSnackError: PropTypes.func,\n setServerError: PropTypes.func,\n comboPrincipalA: PropTypes.array,\n comboPrincipalB1: PropTypes.array,\n comboPrincipalB2: PropTypes.array,\n comboPrincipalB3: PropTypes.array,\n comboPrincipalC: PropTypes.array,\n setComboPrincipalA: PropTypes.func,\n setComboPrincipalB1: PropTypes.func,\n setComboPrincipalB2: PropTypes.func,\n setComboPrincipalB3: PropTypes.func,\n setComboPrincipalC: PropTypes.func,\n};\n\nexport default AltaPrincipal;\n","import React, { useEffect, useState, useRef } from 'react';\nimport {\n Container,\n Divider,\n Paper,\n Typography\n} from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport combosService from 'src/services/combosService';\nimport Page from 'src/components/Page';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport AltaVivienda from './AltaVivienda';\nimport Details from './Details';\nimport InputData from './InputData';\nimport AltaPrincipal from './AltaPrincipal';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(1.5)\n },\n paperRoot: {\n padding: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(3),\n },\n}));\n\nconst Plantilla = ({\n className,\n setOpenBackDrop,\n setOpenSnackSuccess,\n setServerMessage,\n setServerError,\n setOpenSnackError,\n rolUsuario\n}) => {\n const classes = useStyles();\n const viviendaRef = useRef();\n const principalRef = useRef();\n const formName = 'formEval';\n\n const [tabValue, setTabValue] = useState(0);\n const [evaluacion, setEvaluacion] = useState();\n const [comboEscuelas, setComboEscuelas] = useState([]);\n const [comboViviendaA, setComboViviendaA] = useState([]);\n const [comboViviendaB1, setComboViviendaB1] = useState([]);\n const [comboViviendaB2, setComboViviendaB2] = useState([]);\n const [comboViviendaB3, setComboViviendaB3] = useState([]);\n const [comboViviendaC, setComboViviendaC] = useState([]);\n const [openAddDialog, setOpenAddDialog] = useState(false);\n const [tituloDialog, setTituloDialog] = useState('');\n const [itemDTO, setItemDTO] = useState();\n const [formData, setFormData] = useState({});\n const [blockFields, setBlockFields] = useState(false);\n const [valComboEscuelas, setValComboEscuelas] = useState({});\n const [comboPrincipalA, setComboPrincipalA] = useState([]);\n const [comboPrincipalB1, setComboPrincipalB1] = useState([]);\n const [comboPrincipalB2, setComboPrincipalB2] = useState([]);\n const [comboPrincipalB3, setComboPrincipalB3] = useState([]);\n const [comboPrincipalC, setComboPrincipalC] = useState([]);\n const [openAddDialogPrin, setOpenAddDialogPrin] = useState(false);\n const [formDataPrin, setFormDataPrin] = useState({});\n const [resetPlantilla, setResetPlantilla] = useState(0);\n\n const [valComboVivienda, setValComboVivienda] = useState([]);\n const [valComboPrincipal, setValComboPrincipal] = useState([]);\n\n useEffect(() => {\n const getCombosAsync = async () => {\n await combosService.comboEscuelas().then((resp) => {\n setComboEscuelas(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de escueas: '${error}`);\n });\n\n await combosService.comboVivienda('A').then((resp) => {\n setComboViviendaA(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de viienda A: '${error}`);\n });\n await combosService.comboVivienda('B-1').then((resp) => {\n setComboViviendaB1(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de vivienda B1: '${error}`);\n });\n await combosService.comboVivienda('B-2').then((resp) => {\n setComboViviendaB2(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de vivienda B2: '${error}`);\n });\n await combosService.comboVivienda('B-3').then((resp) => {\n setComboViviendaB3(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de vivienda B3: '${error}`);\n });\n await combosService.comboVivienda('C').then((resp) => {\n setComboViviendaC(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de vivienda C: '${error}`);\n });\n\n await combosService.comboPrincipal('A').then((resp) => {\n setComboPrincipalA(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de principal A: '${error}`);\n });\n await combosService.comboPrincipal('B-1').then((resp) => {\n setComboPrincipalB1(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de principal B1: '${error}`);\n });\n await combosService.comboPrincipal('B-2').then((resp) => {\n setComboPrincipalB2(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de principal B2: '${error}`);\n });\n await combosService.comboPrincipal('B-3').then((resp) => {\n setComboPrincipalB3(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de principal B3: '${error}`);\n });\n await combosService.comboPrincipal('C').then((resp) => {\n setComboPrincipalC(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de principal C: '${error}`);\n });\n };\n getCombosAsync();\n console.log(setOpenSnackSuccess);\n console.log(setServerMessage);\n }, []);\n\n return (\n \n \n
\n \n Plantilla para Evaluaciones\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n
\n \n );\n};\n\nPlantilla.propTypes = {\n className: PropTypes.string,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n rolUsuario: PropTypes.string\n};\n\nexport default Plantilla;\n","import { React, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Accordion,\n AccordionSummary,\n Paper,\n FormControlLabel,\n Tooltip,\n makeStyles,\n TextField,\n Grid,\n IconButton,\n AccordionDetails,\n Button,\n Box\n} from '@material-ui/core';\nimport {\n Search,\n TuneTwoTone\n} from '@material-ui/icons';\nimport { format } from 'date-fns';\nimport { useForm } from 'react-hook-form';\nimport genService from 'src/services/generalServices';\nimport ordenService from 'src/services/ordenService';\nimport { Autocomplete } from '@material-ui/lab';\nimport DateFnsUtils from '@date-io/date-fns';\nimport esLocale from 'date-fns/locale/es';\nimport { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';\n\nconst useStyles = makeStyles((theme) => ({\n paperRoot: {\n padding: '2px 6px',\n display: 'contents'\n },\n accordionSumm: {\n padding: 0,\n display: 'flex',\n '& .MuiIconButton-edgeEnd': {\n marginRight: 5\n }\n },\n bottomSpace: {\n marginBottom: theme.spacing(3),\n },\n input: {\n marginLeft: theme.spacing(1),\n display: 'flex'\n },\n combo: {\n marginLeft: theme.spacing(1),\n display: 'flex'\n },\n iconButton: {\n alignItems: 'center'\n },\n}));\n\nconst BusquedaEvaluaciones = ({\n comboEscuelas,\n mostrarBusqueda,\n setMostrarBusqueda,\n comboOrdenEstatus,\n setRowsOrdenes,\n setOpenBackDrop,\n setServerError,\n setOpenSnackError,\n}) => {\n const {\n handleSubmit,\n register,\n errors\n } = useForm();\n const paperRef = useRef();\n const classes = useStyles();\n const [valueCombo, setValueCombo] = useState([]);\n const [valueComboEstatus, setValueComboEstatus] = useState([]);\n const [openFechaDesde, setOpenFechaDesde] = useState(false);\n const [fechaDesde, setFechaDesde] = useState(null);\n const [openFechaHasta, setOpenFechaHasta] = useState(false);\n const [fechaHasta, setFechaHasta] = useState(null);\n\n const onSubmit = (formulario) => {\n if (valueCombo !== null && valueCombo !== undefined) {\n formulario.idCliente = valueCombo.value;\n }\n if (!mostrarBusqueda) {\n if (fechaDesde !== null && fechaDesde !== '') {\n formulario.desde = format(fechaDesde, 'yyyy-MM-dd');\n }\n if (fechaHasta !== null && fechaHasta !== '') {\n formulario.hasta = format(fechaHasta, 'yyyy-MM-dd');\n }\n if (valueComboEstatus !== null && valueComboEstatus !== undefined) {\n formulario.idOrdenEstatus = valueComboEstatus.value;\n }\n }\n const asyncCall = async (datos) => {\n setOpenBackDrop(true);\n await ordenService.searchOrdenes(datos, true).then((resp) => {\n setRowsOrdenes(resp.data);\n }).catch((error) => {\n setRowsOrdenes([]);\n if (error.response) {\n setServerError(error.response.data.message);\n } else {\n setServerError(`${error.message}: No fue posible conectar con el servidor`);\n }\n setOpenSnackError(true);\n setOpenBackDrop(false);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario);\n console.log('Formulario busqueda de ordenes:', formulario);\n console.log(comboEscuelas);\n };\n\n return (\n \n \n \n \n \n )}\n onClick={() => setMostrarBusqueda(!mostrarBusqueda)}\n className={classes.accordionSumm}\n >\n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.combo}\n control={(\n (option.label ? option.label : '')}\n value={valueCombo}\n fullWidth\n className={classes.combo}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n console.log(newValue);\n setValueCombo(newValue);\n }}\n />\n )}\n />\n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.input}\n control={(\n \n )}\n />\n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.input}\n control={(\n \n \n \n )}\n />\n \n \n \n \n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.input}\n control={(\n \n setOpenFechaDesde(true)}\n onClose={() => setOpenFechaDesde(false)}\n onChange={setFechaDesde}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Desde\"\n value={fechaDesde}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n />\n \n )}\n />\n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.input}\n control={(\n \n setOpenFechaHasta(true)}\n onClose={() => setOpenFechaHasta(false)}\n onChange={setFechaHasta}\n format=\"dd/MM/yyyy\"\n margin=\"normal\"\n label=\"Hasta\"\n value={fechaHasta}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n variant=\"outlined\"\n />\n \n )}\n />\n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.input}\n control={(\n \n )}\n />\n \n \n event.stopPropagation()}\n onFocus={(event) => event.stopPropagation()}\n className={classes.input}\n control={(\n (option.label ? option.label : '')}\n fullWidth\n value={valueComboEstatus}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n console.log(newValue);\n setValueComboEstatus(newValue);\n }}\n />\n )}\n />\n \n \n
\n \n \n Buscar\n \n \n \n \n \n \n \n );\n};\n\nBusquedaEvaluaciones.propTypes = {\n comboEscuelas: PropTypes.array,\n mostrarBusqueda: PropTypes.bool,\n setMostrarBusqueda: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n setRowsOrdenes: PropTypes.func,\n setOpenBackDrop: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func\n};\n\nexport default BusquedaEvaluaciones;\n","import React, {\n useState, forwardRef, useEffect, useImperativeHandle\n} from 'react';\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Checkbox,\n Divider,\n FormControlLabel,\n Grid,\n InputAdornment,\n Paper,\n TableCell as MuiTableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Typography,\n makeStyles,\n Table as MuiTable,\n TableBody\n} from '@material-ui/core';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport ConfirmationDialog from 'src/views/commons/ConfirmationDialog';\nimport genService from 'src/services/generalServices';\nimport evaluacionService from 'src/services/evaluacionService';\nimport { ExpandMore } from '@material-ui/icons';\nimport { useForm } from 'react-hook-form';\nimport { Autocomplete } from '@material-ui/lab';\nimport NumberFormat from 'react-number-format';\nimport { withStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles((theme) => ({\n accordionDetails: {\n display: 'block'\n },\n bottomSpace: {\n marginBottom: theme.spacing(3),\n },\n summary: {\n backgroundColor: theme.palette.AccordionSummary.background\n },\n table: {\n minWidth: 650\n },\n tableHeader: {\n backgroundColor: theme.palette.primary.main\n },\n mainColumn: {\n backgroundColor: theme.palette.primary.main,\n color: 'white',\n fontWeight: 'bold'\n },\n resColumn: {\n backgroundColor: theme.palette.AccordionSummary.background,\n fontWeight: 'bold'\n },\n tableCell: {\n color: 'white'\n },\n icon: {\n borderRadius: 3,\n width: 16,\n height: 16,\n boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)',\n backgroundColor: '#f5f8fa',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#4caf50',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 16,\n height: 16,\n backgroundImage:\n \"url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath\"\n + \" fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 \"\n + \"1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='%23fff'/%3E%3C/svg%3E\\\")\",\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: '#4caf50',\n },\n },\n}));\n\nconst Table = withStyles({\n root: {\n border: '1px solid rgba(204, 204, 204)',\n borderCollapse: 'inherit',\n borderSpacing: 'revert'\n },\n})(MuiTable);\n\nconst TableCell = withStyles({\n root: {\n border: '1px solid rgba(204, 204, 204)',\n }\n})(MuiTableCell);\n\nconst AltaEvaluacion = forwardRef(({\n formName,\n comboVivienda,\n comboPrincipal,\n setServerError,\n setOpenSnackError,\n setDisableSubmit,\n evaluacion,\n setEvaluacion,\n setIdEvaluacion,\n idEvaluacion,\n setServerMessage,\n setOpenSnackSuccess,\n setConfirmarSalida,\n confirmarSalida,\n setOpenEvaluacion,\n openBackDrop,\n setOpenBackDrop,\n setCambioEvaluacion\n}, ref) => {\n const {\n register,\n handleSubmit,\n errors,\n reset,\n setValue,\n clearErrors,\n trigger,\n watch,\n getValues,\n setError\n } = useForm();\n const classes = useStyles();\n const requiredField = 'Este campo es requerido.';\n // const mayorCero = 'Campo númerico y mayor a cero.';\n const [disableIngresos, setDisableIngresos] = useState(false);\n const [disableEgresos, setDisableEgresos] = useState(false);\n const [disableDeuda, setDisableDeuda] = useState(false);\n const [acordionDatos, setAcordionDatos] = useState(true);\n const [acordionEvaluacion, setAcordionEvaluacion] = useState(true);\n const [acordionFactores, setAcordionFactores] = useState(true);\n const [disableVivienda, setDisableVivienda] = useState(false);\n const [valueVivienda, setValueVivienda] = useState(null);\n const [disablePrincipal, setDisablePrincipal] = useState(false);\n const [valuePrincipal, setValuePrincipal] = useState(null);\n const [updateState, setUpdateState] = useState(false);\n\n useEffect(() => {\n console.log('el form data', evaluacion);\n if (evaluacion.matricula === '' || evaluacion.matricula === undefined) {\n evaluacion.matricula = 'N/A';\n }\n reset(evaluacion);\n if (evaluacion.sinIngresos) {\n setDisableIngresos(true);\n }\n if (evaluacion.sinEgresos) {\n setDisableEgresos(true);\n }\n if (evaluacion.sinVivienda) {\n setDisableVivienda(true);\n }\n if (evaluacion.sinPrincipal) {\n setDisablePrincipal(true);\n }\n if (evaluacion.sinDeuda) {\n setDisableDeuda(true);\n }\n if (evaluacion.idVivienda) {\n const viviendaValue = comboVivienda.filter((viv) => viv.value === evaluacion.idVivienda);\n setValueVivienda(viviendaValue[0]);\n }\n if (evaluacion.idPrincipal) {\n const principalValue = comboPrincipal.filter((prin) => prin.value === evaluacion.idPrincipal);\n setValuePrincipal(principalValue[0]);\n }\n }, []);\n\n const resetForm = () => {\n reset({\n sinIngresos: false\n });\n reset(evaluacion);\n // setEvaluacion({});\n setValueVivienda(null);\n setValuePrincipal(null);\n setDisableDeuda(false);\n setDisableEgresos(false);\n setDisableIngresos(false);\n setDisablePrincipal(false);\n setDisableVivienda(false);\n };\n\n const removeZero = (newVal, fieldName) => {\n while (newVal.length > 1 && newVal.charAt(0) === '0') {\n newVal = newVal.substring(1);\n setValue(fieldName, newVal);\n }\n return newVal;\n };\n\n const round2Decimals = (ammount) => {\n return Math.round(ammount * 100) / 100;\n };\n\n const calcularFactores = (evalua) => {\n console.log('dentro de calculo de factores', evalua);\n if (evalua !== null && evalua !== undefined) {\n console.log('Inicio de calculo');\n const colegiatura = getValues('colegiatura') ? parseFloat(getValues('colegiatura')) : 0;\n const colegiaturaHermanos = getValues('colegiaturaHermanos') ? parseFloat(getValues('colegiaturaHermanos')) : 0;\n const pctBeca = getValues('porcentajeBeca') ? parseFloat(getValues('porcentajeBeca')) : 0;\n const egresos = getValues('egresos') ? parseFloat(getValues('egresos')) : 0;\n const ingresos = getValues('ingresos') ? parseFloat(getValues('ingresos')) : 0;\n const montoDeuda = getValues('deuda') ? parseFloat(getValues('deuda')) : 0;\n const diversion = getValues('diversion') ? parseFloat(getValues('diversion')) : 0;\n let montoColegBeca = 0;\n let egresosBeca = 0;\n if (pctBeca > 0) {\n montoColegBeca = (colegiatura - ((pctBeca * colegiatura) / 100)) + colegiaturaHermanos;\n egresosBeca = egresos - ((pctBeca * colegiatura) / 100);\n } else {\n montoColegBeca = colegiatura + colegiaturaHermanos;\n egresosBeca = egresos;\n }\n\n evalua.colegiaturaGastos = colegiatura + colegiaturaHermanos;\n evalua.porcentajeColegiatura = egresos === 0 ? 0\n : round2Decimals(((colegiatura + colegiaturaHermanos) * 100) / egresos);\n evalua.colegiaturaBeca = round2Decimals(montoColegBeca);\n evalua.pctColegiaturaBeca = colegiatura === 0 || pctBeca === 0 ? 0\n : round2Decimals((montoColegBeca * 100) / (egresos - ((pctBeca / 100) * colegiatura)));\n evalua.montoDeficit = round2Decimals(egresos - ingresos);\n evalua.porcentajeDeficit = ingresos === 0 ? 0\n : round2Decimals(((egresos - ingresos) * 100) / ingresos);\n evalua.deficitBeca = round2Decimals(egresosBeca - ingresos);\n evalua.pctDeficitBeca = ingresos === 0 ? 0\n : round2Decimals(((egresosBeca - ingresos) * 100) / ingresos);\n evalua.montoDeuda = round2Decimals(montoDeuda);\n evalua.porcentajeDeuda = ingresos === 0 ? 0\n : round2Decimals((montoDeuda * 100) / ingresos);\n evalua.montoDiversion = round2Decimals(diversion);\n evalua.porcentajeDiversion = ingresos === 0 ? 0\n : round2Decimals((diversion * 100) / ingresos);\n evalua.montoLiquidez = round2Decimals(ingresos - egresos);\n evalua.porcentajeLiquidez = egresos === 0 ? 0\n : round2Decimals(((ingresos - egresos) * 100) / egresos);\n evalua.montoLiquidezBeca = round2Decimals(ingresos - egresosBeca);\n evalua.pctLiquidezBeca = egresosBeca === 0 ? 0\n : round2Decimals(((ingresos - egresosBeca) * 100) / egresosBeca);\n\n setEvaluacion(evalua);\n setUpdateState(!updateState);\n console.log('Fin de calculo', evalua);\n }\n };\n\n const setDatosEvaluacion = (datos) => {\n evaluacion.id = idEvaluacion;\n evaluacion.idVivienda = valueVivienda?.value;\n evaluacion.idPrincipal = valuePrincipal?.value;\n evaluacion.sinIngresos = disableIngresos;\n evaluacion.sinEgresos = disableEgresos;\n evaluacion.sinVivienda = disableVivienda;\n evaluacion.sinPrincipal = disablePrincipal;\n evaluacion.sinDeuda = disableDeuda;\n evaluacion.ingresos = datos.ingresos;\n evaluacion.egresos = datos.egresos;\n evaluacion.deuda = datos.deuda;\n evaluacion.specPrincipal = datos.specPrincipal;\n evaluacion.specVivienda = datos.specVivienda;\n evaluacion.colegiatura = datos.colegiatura;\n evaluacion.colegiaturaHermanos = datos.colegiaturaHermanos;\n evaluacion.diversion = datos.diversion;\n evaluacion.porcentajeBeca = datos.porcentajeBeca;\n evaluacion.recomendacion = datos.recomendacion;\n evaluacion.gradoEscolar = datos.gradoEscolar;\n evaluacion.folio = datos.folio;\n evaluacion.nombre = datos.nombre;\n evaluacion.nombreCliente = datos.nombreCliente;\n evaluacion.matricula = datos.matricula;\n };\n\n const crearEValuacion = (formulario) => {\n const asyncCall = async (datos) => {\n setOpenBackDrop(true);\n setDatosEvaluacion(datos);\n console.log('formulario de evaluacion antes:', evaluacion);\n await evaluacionService.getEvaluacionDetalles(evaluacion).then((resp) => {\n console.log('Respuesta de la evaluacion:', resp);\n setCambioEvaluacion(true);\n calcularFactores(resp.data);\n setServerMessage('Las tablas de evaluacion se han actualizado');\n setOpenSnackSuccess(true);\n }).catch((error) => {\n console.log('Error al crear la evaluacion', error);\n setServerError('No fue posible calcular la evaluacion');\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario);\n };\n\n useImperativeHandle(ref, () => ({\n resetEvalForm: () => {\n resetForm();\n },\n validationTrigger: async () => {\n clearErrors();\n const output = await trigger(['ingresos', 'egresos', 'deuda', 'descVivienda', 'descPrincipal']);\n if (output) {\n crearEValuacion(watch(['ingresos', 'egresos', 'deuda', 'descVivienda', 'descPrincipal']));\n clearErrors();\n setDisableSubmit(false);\n }\n console.log('output', output);\n console.log('watch:', watch(['ingresos', 'egresos', 'deuda', 'descVivienda', 'descPrincipal']));\n }\n }));\n\n const onSubmit = (formulario) => {\n const asyncCall = async (datos) => {\n setOpenBackDrop(true);\n setDatosEvaluacion(datos);\n await evaluacionService.guardaEvaluacion(evaluacion).then((resp) => {\n console.log('formularion de guardado', resp.data);\n setEvaluacion(resp.data);\n setIdEvaluacion(resp.data.id);\n setServerMessage('La evaluacion se guardó correctamente');\n setOpenSnackSuccess(true);\n setCambioEvaluacion(false);\n }).catch((error) => {\n console.log('Error al guardar la evaluacion', error);\n setServerError('No fue posible guardar la evaluacion');\n setOpenSnackError(true);\n });\n setOpenBackDrop(false);\n };\n asyncCall(formulario);\n };\n return (\n
\n \n }\n onClick={() => setAcordionDatos(!acordionDatos)}\n className={classes.summary}\n >\n Datos del Alumno\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n removeZero(e.target.value, 'ingresos');\n clearErrors('ingresos');\n setDisableSubmit(true);\n calcularFactores(evaluacion);\n }}\n InputProps={{\n startAdornment: $\n }}\n inputRef={register({\n required: { value: !disableIngresos, message: requiredField },\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' },\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.ingresos}\n helperText={errors.ingresos?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n disabled={disableIngresos}\n />\n Ingresos sin elementos}\n name=\"sinIngresos\"\n control={(\n }\n icon={}\n inputProps={{ 'aria-label': 'decorative checkbox' }}\n onChange={(event, newValue) => {\n if (newValue) {\n setValue('ingresos', null);\n setDisableIngresos(true);\n clearErrors('ingresos');\n } else {\n setDisableIngresos(false);\n }\n setDisableSubmit(true);\n }}\n tabIndex=\"-1\"\n />\n )}\n labelPlacement=\"end\"\n />\n \n \n {\n removeZero(e.target.value, 'egresos');\n clearErrors('egresos');\n setDisableSubmit(true);\n calcularFactores(evaluacion);\n }}\n InputProps={{\n startAdornment: $,\n }}\n inputRef={register({\n required: { value: !disableEgresos, message: requiredField },\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.egresos}\n helperText={errors.egresos?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n disabled={disableEgresos}\n />\n Egresos sin elementos}\n control={(\n }\n icon={}\n inputProps={{ 'aria-label': 'decorative checkbox' }}\n onChange={(event, newValue) => {\n if (newValue) {\n setValue('egresos', null);\n setDisableEgresos(true);\n clearErrors('egresos');\n } else {\n setDisableEgresos(false);\n }\n setDisableSubmit(true);\n }}\n tabIndex=\"-1\"\n />\n )}\n labelPlacement=\"end\"\n />\n \n \n {\n removeZero(e.target.value, 'deuda');\n clearErrors('deuda');\n setDisableSubmit(true);\n calcularFactores(evaluacion);\n }}\n InputProps={{\n startAdornment: $\n }}\n inputRef={register({\n required: { value: !disableDeuda, message: requiredField },\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' },\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.deuda}\n helperText={errors.deuda?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n disabled={disableDeuda}\n />\n Deuda sin elementos}\n control={(\n }\n icon={}\n inputProps={{ 'aria-label': 'decorative checkbox' }}\n onChange={(event, newValue) => {\n if (newValue) {\n setValue('deuda', null);\n setDisableDeuda(true);\n clearErrors('deuda');\n } else {\n setDisableDeuda(false);\n }\n setDisableSubmit(true);\n }}\n tabIndex=\"-1\"\n />\n )}\n labelPlacement=\"end\"\n />\n \n \n \n \n (option.label ? option.label : '')}\n renderOption={(option) => (option.label ? option.label : '')}\n fullWidth\n value={valueVivienda}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n console.log('Combo vivienda newVal', newValue);\n setValueVivienda(newValue);\n clearErrors('descVivienda');\n setDisableSubmit(true);\n }}\n disabled={disableVivienda}\n />\n Vivienda sin elementos}\n control={(\n }\n icon={}\n inputProps={{ 'aria-label': 'decorative checkbox' }}\n onChange={(event, newValue) => {\n if (newValue) {\n setValueVivienda(null);\n setDisableVivienda(true);\n clearErrors('descVivienda');\n } else {\n setDisableVivienda(false);\n }\n setDisableSubmit(true);\n }}\n tabIndex=\"-1\"\n />\n )}\n labelPlacement=\"end\"\n />\n \n \n (option.label ? option.label : '')}\n renderOption={(option) => (option.label ? option.label : '')}\n fullWidth\n value={valuePrincipal}\n renderInput={(params) => (\n \n )}\n onChange={(event, newValue) => {\n console.log('Combo principal newVal', newValue);\n setValuePrincipal(newValue);\n clearErrors('descPrincipal');\n setDisableSubmit(true);\n }}\n disabled={disablePrincipal}\n />\n Principal sin elementos}\n control={(\n }\n icon={}\n inputProps={{ 'aria-label': 'decorative checkbox' }}\n onChange={(event, newValue) => {\n if (newValue) {\n setValuePrincipal(null);\n setDisablePrincipal(true);\n clearErrors('descPrincipal');\n } else {\n setDisablePrincipal(false);\n }\n setDisableSubmit(true);\n }}\n tabIndex=\"-1\"\n />\n )}\n labelPlacement=\"end\"\n />\n \n \n \n \n \n \n \n \n \n \n {\n removeZero(e.target.value, 'colegiatura');\n calcularFactores(evaluacion);\n }}\n InputProps={{\n startAdornment: $\n }}\n inputRef={register({\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.colegiatura}\n helperText={errors.colegiatura?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n removeZero(e.target.value, 'colegiaturaHermanos');\n calcularFactores(evaluacion);\n }}\n InputProps={{\n startAdornment: $\n }}\n inputRef={register({\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.colegiaturaHermanos}\n helperText={errors.colegiaturaHermanos?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n removeZero(e.target.value, 'diversion');\n calcularFactores(evaluacion);\n }}\n InputProps={{\n startAdornment: $\n }}\n inputRef={register({\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.diversion}\n helperText={errors.diversion?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n />\n \n \n {\n if (e.target.value <= 100) {\n setValue('porcentajeBeca', e.target.value);\n removeZero(e.target.value, 'porcentajeBeca');\n calcularFactores(evaluacion);\n clearErrors('porcentajeBeca');\n } else {\n setError('porcentajeBeca', { type: 'maxLength', message: 'El porcentaje no puede ser mayor al 100 %' });\n setValue('porcentajeBeca', getValues('porcentajeBeca'));\n }\n }}\n InputProps={{\n startAdornment: %,\n maxLength: 3\n }}\n inputRef={register({\n required: { value: true, message: requiredField },\n pattern: { value: /^(?=.*[0-9])\\d*,*\\d*([.]?\\d)*$/, message: 'Número mayor o igual a 0.' }\n })}\n onInput={genService.onlyAmounts}\n error={!!errors.porcentajeBeca}\n helperText={errors.porcentajeBeca?.message}\n size=\"small\"\n fullWidth\n InputLabelProps={{ shrink: true }}\n />\n \n \n \n \n \n \n \n \n {evaluacion !== null && evaluacion !== undefined\n ? (\n
\n \n }\n onClick={() => setAcordionFactores(!acordionFactores)}\n className={classes.summary}\n >\n Factores Adicionales\n \n \n \n \n \n \n \n \n CONCEPTO\n \n \n CANTIDAD\n \n \n PORCENTAJE\n \n \n MONTO BECA\n \n \n % BECA\n \n \n \n \n \n \n COLEG. VS GASTOS\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n DEFICIT ECONOMICO\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ENDEUDAMIENTO\n \n \n \n \n \n \n \n \n -\n \n \n -\n \n \n \n \n DIVERSION\n \n \n \n \n \n \n \n \n -\n \n \n -\n \n \n \n \n LIQUIDEZ\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n }\n onClick={() => setAcordionEvaluacion(!acordionEvaluacion)}\n className={classes.summary}\n >\n Evaluación\n \n \n \n \n \n \n \n \n VIABILIDAD\n \n \n INGRESOS\n \n \n EGRESOS\n \n \n VIVIENDA\n \n \n Principal\n \n \n DEUDA\n \n \n \n \n {evaluacion?.detalles?.map((evalItem) => (\n \n \n {evalItem.descViabilidad}\n \n \n \n
\n \n \n \n \n
\n \n \n \n {evalItem.viviendaMin}\n
\n {evalItem.viviendaMax}\n \n \n {evalItem.principalMin}\n
\n {evalItem.principalMax}\n \n \n {`${evalItem.deudaMin} - ${evalItem.deudaMax} %`}\n \n
\n ))}\n \n \n \n INGRESOS(30)\n
\n {`% (${evaluacion.pctIngresos})`}\n
\n \n EGRESOS(30)\n
\n {`% (${evaluacion.pctEgresos})`}\n
\n \n VIVIENDA(20)\n
\n {`% (${evaluacion.pctVivienda})`}\n
\n \n PRINCIPAL(10)\n
\n {`% (${evaluacion.pctPrincipal})`}\n
\n \n DEUDA(10)\n
\n {`% (${evaluacion.pctDeuda})`}\n
\n \n ACUMULADO\n \n \n RESULTADO\n \n
\n \n \n PUNTAJE ASIGNADO\n \n \n {evaluacion.puntosIngresos}\n \n \n {evaluacion.puntosEgresos}\n \n \n {evaluacion.puntosVivienda}\n \n \n {evaluacion.puntosPrincipal}\n \n \n {evaluacion.puntosDeuda}\n \n \n {evaluacion.puntosTotal}\n \n \n {evaluacion.resultadoEvaluacion}\n \n \n
\n
\n
\n
\n
\n
\n ) : (\n null\n )}\n \n setConfirmarSalida(false)}\n confirm={() => {\n setConfirmarSalida(false);\n setEvaluacion({});\n setOpenEvaluacion(false);\n }}\n />\n
\n );\n});\n\nAltaEvaluacion.propTypes = {\n formName: PropTypes.string,\n comboVivienda: PropTypes.array,\n comboPrincipal: PropTypes.array,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n setDisableSubmit: PropTypes.func,\n evaluacion: PropTypes.object,\n setEvaluacion: PropTypes.func,\n setIdEvaluacion: PropTypes.func,\n idEvaluacion: PropTypes.number,\n setServerMessage: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setConfirmarSalida: PropTypes.func,\n confirmarSalida: PropTypes.bool,\n setOpenEvaluacion: PropTypes.func,\n openBackDrop: PropTypes.bool,\n setOpenBackDrop: PropTypes.func,\n setCambioEvaluacion: PropTypes.func\n};\n\nexport default AltaEvaluacion;\n","import React, { useEffect, useState, useRef } from 'react';\nimport {\n Container,\n Divider,\n makeStyles,\n Typography,\n Box,\n Tooltip,\n IconButton,\n Chip\n} from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport PropTypes from 'prop-types';\nimport { Cancel, CheckCircle, DoubleArrow } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport combosService from 'src/services/combosService';\nimport evaluacionService from 'src/services/evaluacionService';\nimport DataTable from 'src/views/commons/DataTable';\nimport renderCellExpand from 'src/views/commons/RenderCellExpand';\nimport ChipEstatusTable from 'src/views/commons/ChipEstatusTable';\nimport DialogForms from 'src/views/commons/DialogForms';\nimport BuscarEvaluacion from './BuscarEvaluacion';\nimport AltaEvaluacion from './AltaEvaluacion';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n minHeight: '100%',\n paddingBottom: theme.spacing(3),\n paddingTop: theme.spacing(1.5)\n },\n paperRoot: {\n padding: '0px 10px',\n display: 'flex'\n },\n customHoverFocus: {\n '&:hover': { color: '#fff', backgroundColor: '#4caf50' }\n },\n title: {\n fontSize: 16,\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n letterSpacing: '-0.05px'\n },\n bottomSpace: {\n marginBottom: theme.spacing(3),\n },\n input: {\n marginLeft: theme.spacing(1),\n flex: 2,\n },\n iconButton: {\n padding: 10,\n },\n}));\n\nconst Evaluacion = ({\n className,\n setOpenBackDrop,\n setOpenSnackSuccess,\n setServerMessage,\n setServerError,\n setOpenSnackError,\n comboOrdenEstatus,\n setComboOrdenEstatus\n}) => {\n const classes = useStyles();\n const formName = 'evaluacionForm';\n const evalRef = useRef();\n const [comboEscuelas, setComboEscuelas] = useState([]);\n const [mostrarBusqueda, setMostrarBusqueda] = useState(true);\n const [rowsOrdenes, setRowsOrdenes] = useState([]);\n const [openEvaluacion, setOpenEvaluacion] = useState(false);\n const [idEvaluacion, setIdEvaluacion] = useState(0);\n const [evaluacion, setEvaluacion] = useState({});\n const [comboVivienda, setComboVivienda] = useState([]);\n const [comboPrincipal, setComboPrincipal] = useState([]);\n const [disableSubmit, setDisableSubmit] = useState(true);\n const [confirmarSalida, setConfirmarSalida] = useState(false);\n const [openBack, setOpenBack] = useState(false);\n const [cambioEvaluacion, setCambioEvaluacion] = useState(false);\n\n const resetEvalRef = () => {\n evalRef.current.resetEvalForm();\n };\n\n const validationTrigger = () => {\n evalRef.current.validationTrigger();\n };\n\n const onClickEdit = (paramRow) => {\n const asyncCall = async (idOrden) => {\n setOpenBackDrop(true);\n await evaluacionService.getEvaluacionByOrden(idOrden).then((resp) => {\n setEvaluacion(resp.data);\n const datosVivienda = [];\n resp.data.viviendaItems?.forEach((val) => {\n const listVivienda = {\n value: val.idVivienda,\n label: val.descripcion,\n idViabilidad: val.idViabilidad,\n descViabilidad: val.descViabilidad\n };\n datosVivienda.push(listVivienda);\n });\n setComboVivienda(datosVivienda);\n const datosPrincipal = [];\n resp.data.principalItems?.forEach((val) => {\n const listPrincipal = {\n value: val.idPrincipal,\n label: val.descripcion,\n idViabilidad: val.idViabilidad,\n descViabilidad: val.descViabilidad\n };\n datosPrincipal.push(listPrincipal);\n });\n setComboPrincipal(datosPrincipal);\n setIdEvaluacion(resp.data.id);\n if (resp.data.id !== undefined && resp.data.id > 0) {\n setDisableSubmit(false);\n setCambioEvaluacion(false);\n }\n console.log('execute action to create the evaluation', resp.data);\n console.log('disable submit', disableSubmit);\n console.log('Cambio Evaluacion', cambioEvaluacion);\n }).catch((error) => {\n console.log('error en busqueda de evaluacion', error);\n setServerError('Hubo un error al buscar la evaluacion');\n setOpenSnackError(true);\n });\n setOpenEvaluacion(true);\n setOpenBackDrop(false);\n };\n asyncCall(paramRow.id);\n };\n\n const preguntarSalirEval = (cerrar) => {\n if (disableSubmit || cambioEvaluacion) {\n console.log('tiene habilitado el cambio');\n setConfirmarSalida(true);\n } else {\n setEvaluacion({});\n setOpenEvaluacion(cerrar);\n }\n };\n\n const columns = [\n {\n field: 'folio',\n headerName: 'Folio',\n maxWidth: 140,\n minWidth: 140,\n headerClassName: 'header-datagrid',\n renderCell: (params) => {\n const onClick = () => {\n onClickEdit(params.row);\n };\n return (\n \n \n )}\n onDelete={onClick}\n />\n \n );\n }\n },\n {\n field: 'descOrdenEstatus',\n headerName: 'Estatus',\n minWidth: 110,\n flex: 1,\n renderCell: ChipEstatusTable\n },\n {\n field: 'nombre',\n headerName: 'Alumno',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'telefonoPrimario',\n headerName: 'Teléfono',\n minWidth: 100,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'fechaSolicitudStr',\n headerName: 'Solicitud',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand\n },\n {\n field: 'nombreUsuario',\n headerName: 'Usuario',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'descEstado',\n headerName: 'Estado',\n minWidth: 120,\n flex: 1,\n renderCell: renderCellExpand,\n },\n {\n field: 'evaluacion',\n headerName: 'Evaluación',\n minWidth: 60,\n maxWidth: 60,\n align: 'center',\n sortable: false,\n renderCell: (params) => {\n if (params.value === 'SI') {\n return (\n \n \n \n );\n }\n return (\n \n \n \n );\n }\n },\n {\n field: 'acciones',\n headerName: 'Acciones',\n maxWidth: 60,\n minWidth: 60,\n sortable: false,\n disableClickEventBubbling: true,\n align: 'center',\n renderCell: (params) => {\n const onClick = () => {\n onClickEdit(params.row);\n };\n return (\n
\n \n \n \n \n \n
\n );\n }\n }\n ];\n\n useEffect(() => {\n const getCombosAsync = async () => {\n await combosService.comboEscuelasEvaluacion().then((resp) => {\n setComboEscuelas(resp);\n }).catch((error) => {\n console.log(`'Error al cargar el combo de escuelas con plantilla: '${error}`);\n });\n if (comboOrdenEstatus === undefined || comboOrdenEstatus.length === 0) {\n await combosService.comboOrdenEstatus().then((resp) => {\n setComboOrdenEstatus(resp);\n });\n }\n };\n getCombosAsync();\n }, []);\n\n const downloadEvaluacion = async () => {\n setOpenBack(true);\n await evaluacionService.descargarEvaluacion(evaluacion).then((resp) => {\n const link = document.createElement('a');\n console.log('Datos del la evaluacion:', resp);\n link.href = window.URL.createObjectURL(new Blob([resp.data], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' }));\n link.download = `EVALUACION_${evaluacion.folio}.docx`;\n link.click();\n }).catch((e) => {\n console.log('Error al descargar el archivo:', e);\n setOpenBack(false);\n setServerError(e.message);\n setOpenSnackError(true);\n });\n setOpenBack(false);\n };\n\n return (\n \n \n
\n \n Evaluaciones\n \n \n \n \n \n \n \n \n
\n
\n \n );\n};\n\nEvaluacion.propTypes = {\n className: PropTypes.string,\n setOpenBackDrop: PropTypes.func,\n setOpenSnackSuccess: PropTypes.func,\n setServerMessage: PropTypes.func,\n setServerError: PropTypes.func,\n setOpenSnackError: PropTypes.func,\n comboOrdenEstatus: PropTypes.array,\n setComboOrdenEstatus: PropTypes.func\n};\n\nexport default Evaluacion;\n","import React from 'react';\nimport { Navigate } from 'react-router-dom';\nimport DashboardLayout from 'src/layouts/DashboardLayout';\nimport MainLayout from 'src/layouts/MainLayout';\nimport DashboardView from 'src/views/reports/DashboardView';\nimport LoginView from 'src/views/auth/LoginView';\nimport NotFoundView from 'src/views/errors/NotFoundView';\nimport UpdatePassword from 'src/views/auth/UpdatePassword';\nimport PrivateRoute from 'src/utils/PrivateRoute';\nimport Clientes from 'src/views/clientes/config';\nimport Ordenes from 'src/views/clientes/Ordenes';\nimport ClienteOT from 'src/views/clientes/ClienteOT';\nimport Usuarios from 'src/views/config/Usuarios';\nimport CargaDocumentos from 'src/views/clientes/CargaDocumentos';\nimport SolicitudesOT from 'src/views/clientes/SolicitudesOT';\nimport Reportes from 'src/views/Reportes';\nimport CargaMasiva from './views/clientes/CargaMasiva';\nimport Plantilla from './views/Evaluaciones/Plantilla';\nimport Evaluacion from './views/Evaluaciones/Evaluacion';\n\nconst routes = (isAuth, setIsAuth, nombreUsuario, setNombreUsuario,\n rolUsuario, setRolUsuario, setOpenBackDrop, comboRoles, setComboRoles,\n setServerError, setOpenSnackError, setOpenSnackSuccess, setServerMessage,\n comboEstados, comboMunicipios, setComboMunicipios, mapaMunicipios,\n setMapaMunicipios, comboTipoClientes, setComboTipoClientes, setComboOrdenEstatus,\n comboOrdenEstatus, setComboHiperliga, comboHiperliga, setComboEstados,\n resetPassword, setResetPassword, nombreCliente, setNombreCliente, idCliente,\n setIdCliente, tipoCliente, setTipoCliente, comboLabelStatus, setComboLabelStatus) => [\n {\n path: 'app',\n element: ,\n children: [\n {\n path: 'dashboard',\n element: \n },\n { path: '*', element: },\n {\n path: 'config/usuarios',\n element: \n },\n {\n path: 'altaCliente',\n element: \n },\n {\n path: 'ordenes',\n element: \n },\n {\n path: 'clientes/ordenes',\n element: \n },\n {\n path: 'reportes',\n element: \n },\n {\n path: 'cargaMasiva',\n element: \n },\n {\n path: 'plantillas',\n element: \n },\n {\n path: 'evaluacion',\n element: \n },\n ]\n },\n {\n path: '/',\n element: ,\n children: [\n {\n path: 'login',\n element: \n },\n {\n path: 'cargaDocumentos',\n element: \n },\n {\n path: 'solicitudes',\n element: \n },\n {\n path: 'passwordReset',\n element: \n },\n { path: '404', element: },\n { path: '/', element: },\n { path: '*', element: }\n ]\n }\n];\n\nexport default routes;\n","import React from 'react';\nimport {\n Grid,\n Snackbar\n} from '@material-ui/core';\nimport Alert from '@material-ui/lab/Alert';\nimport PropTypes from 'prop-types';\n\nconst GeneralMessages = (props) => {\n const {\n openSnackSuccess, handleCloseSnackSuccess, serverMessage,\n openSnackError, handleCloseSnackError, serverError\n } = props;\n return (\n \n \n \n \n {serverMessage}\n \n \n \n \n \n \n {serverError}\n \n \n \n \n );\n};\n\nGeneralMessages.propTypes = {\n openSnackSuccess: PropTypes.bool,\n openSnackError: PropTypes.bool,\n serverError: PropTypes.string,\n handleCloseSnackSuccess: PropTypes.func,\n handleCloseSnackError: PropTypes.func,\n serverMessage: PropTypes.string\n};\n\nexport default GeneralMessages;\n","import 'react-perfect-scrollbar/dist/css/styles.css';\nimport React, { useState } from 'react';\nimport { useRoutes } from 'react-router-dom';\nimport { ThemeProvider } from '@material-ui/core';\nimport GlobalStyles from 'src/components/GlobalStyles';\nimport 'src/mixins/chartjs';\nimport theme from 'src/theme';\nimport routes from 'src/routes';\nimport GeneralBackDrop from 'src/views/commons/GeneralBackDrop';\nimport GeneralMessages from 'src/views/commons/GeneralMessages';\n\nconst App = () => {\n const [isAuth, setIsAuth] = useState(true);\n const [nombreUsuario, setNombreUsuario] = useState(null);\n const [nombreCliente, setNombreCliente] = useState(window.localStorage.getItem('nombreCliente'));\n const [idCliente, setIdCliente] = useState(Number(window.localStorage.getItem('idCliente')));\n const [tipoCliente, setTipoCliente] = useState(window.localStorage.getItem('tipoCliente'));\n const [rolUsuario, setRolUsuario] = useState(null);\n const [resetPassword, setResetPassword] = useState(window.localStorage.getItem('reset'));\n const [comboTipoClientes, setComboTipoClientes] = useState([]);\n const [openBackDrop, setOpenBackDrop] = useState(false);\n const [comboRoles, setComboRoles] = useState([]);\n const [serverError, setServerError] = React.useState('');\n const [openSnackError, setOpenSnackError] = React.useState(false);\n const [openSnackSuccess, setOpenSnackSuccess] = React.useState(false);\n const [serverMessage, setServerMessage] = React.useState();\n const [comboEstados, setComboEstados] = useState([]);\n const [comboMunicipios, setComboMunicipios] = useState([]);\n const [comboHiperliga, setComboHiperliga] = useState([]);\n const [mapaMunicipios, setMapaMunicipios] = useState([]);\n const [comboOrdenEstatus, setComboOrdenEstatus] = useState([]);\n const [comboLabelStatus, setComboLabelStatus] = useState([]);\n\n const handleCloseSnackError = (reason) => {\n if (reason === 'clickaway') {\n return;\n }\n setServerError('');\n setOpenSnackError(false);\n };\n const handleCloseSnackSuccess = (reason) => {\n if (reason === 'clickaway') {\n return;\n }\n setServerMessage('');\n setOpenSnackSuccess(false);\n };\n\n const routing = useRoutes(routes(\n isAuth,\n setIsAuth,\n nombreUsuario,\n setNombreUsuario,\n rolUsuario,\n setRolUsuario,\n setOpenBackDrop,\n comboRoles,\n setComboRoles,\n setServerError,\n setOpenSnackError,\n setOpenSnackSuccess,\n setServerMessage,\n comboEstados,\n comboMunicipios,\n setComboMunicipios,\n mapaMunicipios,\n setMapaMunicipios,\n comboTipoClientes,\n setComboTipoClientes,\n setComboOrdenEstatus,\n comboOrdenEstatus,\n setComboHiperliga,\n comboHiperliga,\n setComboEstados,\n resetPassword,\n setResetPassword,\n nombreCliente,\n setNombreCliente,\n idCliente,\n setIdCliente,\n tipoCliente,\n setTipoCliente,\n comboLabelStatus,\n setComboLabelStatus\n ));\n\n return (\n \n \n {routing}\n \n \n \n );\n};\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport * as serviceWorker from './serviceWorker';\nimport App from './App';\n\nReactDOM.render((\n \n \n \n), document.getElementById('root'));\n\nserviceWorker.unregister();\n"],"sourceRoot":""}