{"version":3,"sources":["components/icons/Aprobar.svg","components/icons/Cartillas.svg","components/icons/Delegacion(B).svg","components/icons/Delegacion.svg","components/icons/Lista(G).svg","components/icons/Lista.svg","components/icons/Reasignar.svg","components/icons/ReasignarACTIVO.svg","components/icons/Rechazar.svg","components/icons/ResumenDcarga.svg","components/icons/check.png","components/icons/chrome-banner.jpg","components/icons/close.png","components/icons/downArrow.svg","components/icons/edit.png","components/icons/graficos(B).svg","components/icons/graficos.svg","components/icons/notificacion.svg","components/icons/user.jpg","components/icons/user2.png","components/icons sync nonrecursive /.(png|jpe?g|svg)$","components/functions/ExpandTableFunctions.js","components/variables/url.js","components/FormularioMateria.js","components/FormularioAct.js","AppContext.js","components/ExpandTable.js","components/FormularioMateriaVice.js","components/FormularioActVice.js","components/ExpandTableVicerrector.js","components/ExpandTableAdministrador.js","components/Paginacion.js","components/LoteCarga.js","components/ListaCarga.js","components/ListadoProfesores.js","components/Delegar.js","components/Graficos.js","components/PadreGraficos.js","components/img/svg/Logosistema.svg","components/NavMenu.js","components/SideBar.js","components/Layout.js","services/auth.service.js","historyBeta.js","components/ListaCargaDecano.js","components/ListadoProfesoresDecano.js","components/ListaCargaVicerrector.js","components/ListadoProfesoresVicerrector.js","components/ListaCargaAdministrador.js","components/ListadoProfesoresAdministrador.js","components/AgregarActividad.js","components/ListaCargaReporteSubdecanos.js","components/ListaCargaReporteDecanos.js","components/ListaCargaReporteVicerrector.js","components/ListaCargaReporteViceEnv.js","components/Reportes.js","components/Configuracion.js","App.js","reportWebVitals.js","components/fonts/NeueHansKendrick-Regular.otf","components/fonts/Roboto-Medium.ttf","index.js","components/icons sync nonrecursive /.(jpg|png|jpe?g|svg)$"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","color_head_desc_mat","tipo","headerColor","backgroundColor","color","fontSize","width","color_head_desc_act","rowIndex","toPostRequest","validacion","response","anio","idValidacionDet","intIdValidacionDet","totalHoras","idPlanificadoUnidad","unidadPlanifica","idCargaUnidad","nivel","termino","tipoActividad","strTipoActividad","actividad","strDescripcion","descripcion","strObservacion","fechaInicio","fechaFin","getWeeksDiff","startDate","endDate","Math","round","abs","url","localBack","localFront","cas","local","MySwal","withReactContent","Swal","FormularioMateria","props","cleanForm","profesor","state","fila","setState","comprobar","undefined","comprobarNivel","comprobarTermino","handleSave","event","preventDefault","problemas","forma","FormData","target","dto","get","forEach","value","clave","idProf","idForm","data","JSON","stringify","strAccion","mensajeUnidad","alertUnidad","mensajeNivel","alertTermino","mensajeTermino","fileState","fetch","headers","method","body","then","ok","next","val","fire","icon","title","text","confirmButtonText","timer","json","lMensajesError","handleDecision","estado","idDet","infoDelegar","solicitudCoordinador","idValidDet","idSolicitudDet","solicitudForm","nombreProf","dataForm","mensaje","viewDelegar","infoDelegado","horas","horasTotal","roles","banderaDecano","messageUnidad","messageNivel","alertNivel","messageTermino","FormEstado","cod","nombre","strPeriodo","trim","handleInputChange","bind","handleTypeChange","type","checked","name","this","duracionTipo","nhorasSem","strTipo","terminos","find","x","idPeriodo","parseInt","Date","parse","texto","nProfesor","inputTermino","terminoCut","replace","idtermino","filter","fechaInicioBeta","fechaFinBeta","unidades","nombreUnidad","ex","idUnidad","className","onChange","readOnly","disabled","ej","selected","defaultValue","onSubmit","for","estadoCoordinador","md","split","hidden","style","grado","posgrado","strCategoria","padding","required","includes","maxLength","onClick","handleModal","formState","animation","size","React","Component","GRADO_NIVEL","POSGRADO_NIVEL","tipoCalc","duracion","periodos","semanas","test","label","length","FormularioAct","handleMultipleChange","selectedChange","minPeriodo","min","maxPeriodo","max","tipoCalculo","values","element","multiTermino","toString","console","log","idcarrera","idprograma","fechadocumento","join","idautoridad","ndocumento","window","alert","dataUATH","sisUATH","alertPrograma","nivelBeta","file","fileName","rutaArchivo","formaFile","promcarr","typeSelect","EditHoras","tieneLimite","onChangeFile","onChangePorC","files","formData","set","append","operation","rutaarchivo","idFile","ie","link","a","enlace","open","Number","unidad","catch","error","optGrado","optPosgrado","terminor","optChosed","obj","select","needProgram","programas","idPrograma","nombrePrograma","carreras","idCarrera","nombreCarrera","niv","txt","closeMenuOnSelect","isMulti","isDisabled","options","placeholder","accept","handleUpFile","getPdf","AppContext","createContext","currentUser","updateUser","images","r","item","index","importAll","require","colorStatus","rankHours","currentDate","ExpandTable","handleHideClick","i","push","expanded","validateInput","updateStatus","idValid","solic","validaciones","delegado","delegados","revisados","respuestaDecano","revisadosVice","respuestaVice","updateDelegado","coordinador","coordinadores","intIdPersona","idCoordinador","nombreCoordinador","strApellidos","strNombres","some","handleShowClick","rejectValidation","rechazarState","year","getFullYear","idValidacion","aprobado","observacion","handleEnviar","idProfesor","checkContrato","rol","enviado","handleEnviarCorrecionVice","handleEnviarCorrection","handleAprobarAutoridad","handleRechazarAutoridad","list","decanoRespuestas","intIdPlnDecisionSolAutoridad","intIdValDetalle","intIdProfesor","idplnsolicitudcambiodetactividades","delegar","delegarState","handleModalReasignar","removeDelegacion","idVal","aprobar","delegacion","handleModalDelegar","status","banderaI","show","showReasignar","aprobacion","showDelegarA","showDelegarR","handleOnExpand","row","isExpand","returnColor","handleStateChange","Sticky","STATUS_FIXED","sticky","STATUS_ORIGINAL","match","params","showDelegar","horasLicencia","atendidoVice","idUser","loading","activeTab","tipoContrato","enviadoVRA","otrasHoras","rejectEstado","delegarEstado","hayComentarios","devuelto","bandera","changeFormat","process","banderaDec","banderaVice","checkCambioContrato","handleChangeModal","handleCoordinadorChange","handleChangeObservacionesDeca","location","pathname","populateTableDecano","populateTable","banSub","fecha_inicio_sub","fecha_fin_sub","banDec","fecha_inicio_dec","fecha_fin_dec","banVice","fecha_inicio_vice","fecha_fin_vice","user","context","ruta","idpersona","history","resp","html","allowOutsideClick","showCancelButton","showConfirmButton","onOpen","showLoading","close","isNotFound","nombreProfesor","populateAUTH","notCurso","respuestas","infoObservacion","cursoNull","strDecisionDiretivo","fecha","date","month","day","hours","minutes","seconds","tab","observaciones","nuevo","decanoMode","expandRow","renderer","intIdCurso","updateHoras","onExpand","expandByColumnOnly","expandRowDec","columnsMat","dataField","formatter","cellContent","headerStyle","cell","colIndex","isDummyField","alt","src","default","datafield","marginTop","columnsMatDel","columnsMatDec","columnsMatDecResp","columnsMatViceResp","columnsAct","columnsActDel","columnsActDec","columnsActDecResp","columnsActViceResp","elemModalEscogido","gradoAsi","gradoAct","posgradoAsi","posgradoAct","invAct","vinAct","gesAct","gradoAsiDel","gradoActDel","posgradoAsiDel","posgradoActDel","invActDel","vinActDel","gesActDel","gradoAsiRev","gradoActRev","posgradoAsiRev","posgradoActRev","invActRev","vinActRev","gesActRev","gradoAsiRevVice","gradoActRevVice","posgradoAsiRevVice","posgradoActRevVice","invActRevVice","vinActRevVice","gesActRevVice","adminMat","objHour","horasTPL","horasRequeridas","esProf","reduce","acc","horasModificadas","otrashorasRequeridas","otrashorasModificadas","strObservacionVicerrector","innerZ","top","onStateChange","paddingTop","sm","toLocaleString","maximumFractionDigits","paddingBottom","paddingLeft","height","textAlign","tabs","classnames","active","toggle","tabId","margin","agregarActividad","keyField","columns","every","Modal","onHide","Header","closeButton","Title","Body","Footer","esGrado","contextType","withRouter","FormularioMateriaVice","FormularioActVice","operando","mensajes","alertas","operando2","viceRespuestas","handleChangeObservacionesVice","viceMode","adminMode","LEFT_PAGE","RIGHT_PAGE","range","from","to","step","optionsDelegacion","LoteCarga","handleChangeTipo","selectedOption","filterTipo","tipoSelect","filterDelegacion","mapeo","actividades","cantAccionesCoor","accionesIngresadasCoor","cantAcciones","accionesIngresadas","actividadesMutar","actualPage","reLoadTotalPage","limite","handleChangeNombre","handleChangeDelegacion","delegacionSelect","onPageChanged","currentPage","pageLimit","totalPages","offset","currentActividades","slice","returnStatus","act","redirect","idPersona","cargaList","carga","totalPageP","ceil","siblingCount","page","onChangeLimite","locationState","labelTipo","labelDelegacion","delegation","num","p","sibling","total","valor","lenActividades","nombresText","strNombreCompleto","sort","b","strEstado","pagesA","xs","pagePrevious","previous","youAreMySibling","pageNext","display","Image","strCedula","onError","onerror","borderRadius","overflow","borderWidth","borderColor","justifyContent","displayName","ListaCarga","xmCol","fluid","color_head_desc","ListadoProfesores","iduser","profesores","validacionesMut","noValidaciones","aceptados","notSC","populateFinish","populate","isDecano","isVicerrector","isAdministrador","validados","noValidados","validacionAceptada","noacceso","validacionCard","validacionList","fontWeight","Delegar","setPage","pageNum","coor","programa","asignados","valDetalle","esPosgrado","marcados","usuario","profesoresMutar","postsPerPage","toggleReactivar","toggleChangeAll","idAsignados","flat","detalle","idValDet","resultado","Array","Set","currentTotalPages","postsActividad","respItems","block","toggleChange","isForbidden","usuarioAsignado","prevState","reload","coordinadoresMutar","coordinadorSelected","indexOfLastPost","indexOfFirstPost","currentPosts","pageNumbers","handleSaveAll","setPagePrevious","setYouAreMySibling","setPageNext","toggler","defaultChecked","cursor","colors1","colors2","colors3","colors4","Graficos","options1","labels","colors","legend","horizontalAlign","position","series1","options2","chart","events","dataPointSelection","chartContext","config","w","dataPointIndex","tooltip","intersect","shared","series2","options3","series3","options4","series4","optionsBar1","plotOptions","bar","distributed","barHeight","xaxis","categories","seriesBar1","optionsBar2","seriesBar2","series","PadreGraficos","sinDelegar","pendientes","atendidos","parcAtendidos","pendientesCoor","atendidosCoor","parcAtendidosCoor","content","renderGraficos","CAS_PARAMS","casOptions","version","constant","CAS_VERSION_2_0","path","protocol","casClient","CasClient","ColoredLine","NavMenu","toggleNavbar","collapsed","logout","logo","apellidos","nombres","light","isOpen","navbar","tag","Link","SideBar","activePage","handleActive","activeRoute","side","routeName","indexOf","iconShape","styles","contentDiv","contentMargin","marginLeft","Layout","paddingRight","minHeight","children","APP_ID","REACT_APP_ID","currentUserSubject","BehaviorSubject","identificacion","ultimoCambio","token","authService","login","username","idapp","netid","result","loggedUser","netId","numeroidentificacion","realFetch","opts","assign","asObservable","currentUserValue","href","createBrowserHistory","ListaCargaDecano","handleChangeUnidad","strUnidad","unicos","elemento","unidadText","ListadoProfesoresDecano","validado","ListaCargaVicerrector","ListadoProfesoresVicerrector","ListaCargaAdministrador","ListadoProfesoresAdministrador","AgregarActividad","calculosHorasSem","duraciontipo","optionSelected","idOption","idambito","PAE","PAO1","PAO2","alertaPeriodo","mensajePeriodo","mensajeObservacion","alertaObservacion","mensajeDescripcion","alertaDescripcion","mensajeActividad","alertaActidad","alerta","cedula","optsTerminos","filtroAmbito","periodo","alertaActividad","messagePeriodo","messageObservacion","messageDescripcion","messageActividad","fechaMin","fechaMax","totalhoras","fechaInicioSub","fechaFinSub","handleAmbitoChange","handleChangeCheck","handleDuracionChange","handleFechaChange","handleSearch","handleDescription","lista","primero","ultimo","inicio","fin","getSemestralDiff","fil","ambito","nvalue1","nvalue2","nvalue3","class","rows","cancelar","header","ListadoCargaReporteSubdecanos","nombreCompleto","handleChangeDelegado","subdecanos","handleDownloadExcel","downloadExcel","sheet","tablePayload","nombrado","delegadosText","nombreFinal","idSubdecano","estadoObservacion","ListadoCargaReporteDecanos","nombreSubdecano","estadoSubdecano","estadoDecano","ListadoCargaReporteVicerrector","ListadoCargaReporteViceEnv","Reportes","subdecano","handleChangeDecano","loadingDec","decano","populateDecano","profesoresDec","profesoresVice1","profesoresVice2","loadingDecR","loadingVice1","loadingVice2","loadingSub","decanos","populateSub","populateDec","populateVice1","populateVice2","decanoText","idDecano","ListaCargaReporteSubdecanos","ListaCargaReporteDecanos","ListaCargaReporteVicerrector","ListaCargaReporteViceEnv","Configuracion","onChangeFecha","docente","docentes","docentef","sub","subf","dec","decf","vice","vicerrector","vicef","updateP","updateS","updateD","updateV","idperiodo","nombrePeriodo","accesoDocentes","accesoSubdecanos","accesoDecanos","accesoVicerrector","scope","tipoNombre","tipoUsuario","dateFormat","handleSaveP","handleSaveS","handleSaveD","handleSaveV","renderConfig","App","auth","successRes","currentPath","errorRes","subscription","subscribe","unsubscribe","Provider","render","exact","document","createElement","download","click","component","ExpandTableVicerrector","ExpandTableAdministrador","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","dotenv","ReactDOM","getElementById"],"mappings":"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","file":"static/js/main.91cea0e5.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/Aprobar.97ef071d.svg\";","export default __webpack_public_path__ + \"static/media/Cartillas.cc0ccec0.svg\";","export default __webpack_public_path__ + \"static/media/Delegacion(B).87bc5cad.svg\";","export default __webpack_public_path__ + \"static/media/Delegacion.d0f390eb.svg\";","export default __webpack_public_path__ + \"static/media/Lista(G).8b304d82.svg\";","export default __webpack_public_path__ + \"static/media/Lista.46cc7c88.svg\";","export default __webpack_public_path__ + \"static/media/Reasignar.9c1cad1e.svg\";","export default __webpack_public_path__ + \"static/media/ReasignarACTIVO.5231d77c.svg\";","export default __webpack_public_path__ + \"static/media/Rechazar.0b4b5fb1.svg\";","export default __webpack_public_path__ + \"static/media/ResumenDcarga.a4c4bdec.svg\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/chrome-banner.8f6732a3.jpg\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/downArrow.600ee40a.svg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAEGUlEQVR4nO3bS4jdVBgH8F9KVepI0aJSH2gVFEdBRKgLRYROV4JabMWFuhMEadG1haIoXSi+FdSV+ARd6kK0UxQUKvjows5o62x8DVWsOrYqTm1cnFySub25czO5yc3t3D+EnJwk5zv///lOzsmXE0YYYYTljKjAtefhQpxaUV0Ww1EcxH78V6fhLdiLuCHbz3gYY1WSbuGpmskV2fbi7LIEu3WBrXg2Sc/hUXymZvdrw/m4D1clxx9igyBIXzGGQ0nBPwl9vyk4CW9JPeGWKoxsyhi4rQoDJXGGtIFeL1PQipz8y5J9jHfLGKgIv+HjJD1epqA8AU5L9kfxdxkDFeL3ZL+6TCF5AiwbLHsBVg66An3EamG2ehjf93rTieABa/CRMCpM4Tth6H5IidniI8II8G8fKlgVXrH4bHEfLuhWyDB3gew0+A+8jC+xFrfiGlyO3Un6UJHCm+4BT0hbeQYXt51f0XbNm0UNNFmALLFYaOFVOde+nVxzDOuKGGmiABGelBKfz6R36SzC+sw1d3cqdFhGgRb5+5PjGVyBD5LjCbzjeBH2ZdLnFDHYJA+ILIxLHBBeiwmE35fvCeOZc1uLGG2KABGe1pl8C91E2JnJv7qI4SYIEOEZ3cm30EmEu4SXuRifFDU+aAHaye8Xprnd0C5Ca5sTnheFMEgBIiEUV4R8C6vweebeI0LIrDAGJcBSWj6LzUKdW+QnllqRQQhQpuXpI3nqF6Cd/DcGSJ56BehE/twC9/edPPUJEOE5DSNPPQI0ljzVCxDhBSn5acXm6lukL0P/WOJQ1w1VChDheSn5ry295WN82+8KUp0A/SY/dAK8KK34lBC+6hVZtz8ivOoOlQATUvK/KEd+gzQoWkqAOgMiN2bSZ+KeHu/bjDeEAO5fuFkIg1WKKjyg0yqTHYvc022o64sH5KHfApwlBCZjvIYfpCJsz7mnk9tnMVQC3C4lfAMuwY/yRehlkjNUArwkJXNKknephSI8kOT3OsMbKgFmkvLea8sfx6xUhFd1d/sshmYUuEj65WZX27lp3CHE7uBO6dP+JjU87ev4Nrgxk54UFlpem+RvFKK12dVqtQ111CNAy41j4e1vvbDSqx1/CsvedmJPDfVCvQJEQsu3MC8QnRS6xqfSrlAbqhYgkrp3jK8EspPCoobDFdtfFFULEOM64Tv9HmGxc6NQRxc4kGyNxLB8Ha4MIwFy8lsPp5XyV18MGqcn+7kyheQJMJ3sI2FG1jSswfVJeqoKA2P4VXiKzyq4vqZinCxd+xMLs8Ylo9sPE/cKAUzCLO0x4YeJ+TIGS2IdtuHK5Hi3MJ2OqzL4uOOjOE3ZvhACLZVjk4Xf3Ae9HcSD+vT3WpHf5tYKr7WD/G1uVphUHRtQHUYYYYQTDP8DAUMZYiwxjB0AAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/graficos(B).65a0cf35.svg\";","export default __webpack_public_path__ + \"static/media/graficos.3f22a91d.svg\";","export default __webpack_public_path__ + \"static/media/notificacion.bcc90109.svg\";","export default \"data:image/jpeg;base64,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\"","export default \"data:image/png;base64,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\"","var map = {\n\t\"./Aprobar.svg\": 242,\n\t\"./Cartillas.svg\": 243,\n\t\"./Delegacion(B).svg\": 244,\n\t\"./Delegacion.svg\": 245,\n\t\"./Lista(G).svg\": 246,\n\t\"./Lista.svg\": 247,\n\t\"./Reasignar.svg\": 248,\n\t\"./ReasignarACTIVO.svg\": 249,\n\t\"./Rechazar.svg\": 250,\n\t\"./ResumenDcarga.svg\": 251,\n\t\"./check.png\": 252,\n\t\"./chrome-banner.jpg\": 253,\n\t\"./close.png\": 254,\n\t\"./downArrow.svg\": 255,\n\t\"./edit.png\": 256,\n\t\"./graficos(B).svg\": 257,\n\t\"./graficos.svg\": 258,\n\t\"./notificacion.svg\": 259,\n\t\"./user.jpg\": 260,\n\t\"./user2.png\": 261\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 37;","export function color_head() {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white',\r\n width: '20%', fontSize: 11,\r\n };\r\n}\r\n\r\nexport function color_head_desc_mat(tipo) {\r\n const headerColor = 'rgb(37, 34, 63)';\r\n if (tipo === 'act') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '14%'\r\n };\r\n } else if (tipo === 'ob') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '21%'\r\n }\r\n } else if (tipo === 'asi') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '16%'\r\n }\r\n } else if (tipo === 'par') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '5%'\r\n }\r\n } else if (tipo === 'per') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '10%'\r\n };\r\n } else if (tipo === 'tipo') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '10%'\r\n };\r\n } else if (tipo === 'acc') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '9%'\r\n };\r\n } else if (tipo === 'hor') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '6%'\r\n };\r\n } else {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '10%'\r\n };\r\n }\r\n}\r\n\r\nexport function color_head_desc_act(tipo) {\r\n const headerColor = 'rgb(37, 34, 63)';\r\n if (tipo === 'act') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '12.5%'\r\n };\r\n } else if (tipo === 'tipo') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '12.5%'\r\n }\r\n } else if (tipo === 'ob') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '29%'\r\n }\r\n } else if (tipo === 'per') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '10%'\r\n };\r\n } else if (tipo === 'tipo') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '10%'\r\n };\r\n } else if (tipo === 'acc') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '10%'\r\n };\r\n } else if (tipo === 'hor') {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '5%'\r\n };\r\n } else {\r\n return {\r\n backgroundColor: headerColor,\r\n color: 'white', fontSize: 13,\r\n width: '11%'\r\n };\r\n }\r\n}\r\n//Funcion para colocar color a las celdasde la tabla\r\nexport function color(rowIndex) {\r\n if (rowIndex % 2 === 0) {\r\n return {\r\n backgroundColor: 'white'\r\n };\r\n }\r\n return {\r\n backgroundColor: '#E7E7E7'\r\n };\r\n}\r\n\r\nexport function toPostRequest(validacion) {\r\n //console.log('entro a to post request')\r\n //console.log(validacion)\r\n let response = {};\r\n response.anio = validacion.anio\r\n response.idValidacionDet = validacion.intIdValidacionDet\r\n response.totalHoras = validacion.totalHoras\r\n response.idPlanificadoUnidad = validacion.unidadPlanifica\r\n response.idCargaUnidad = \"0\"\r\n response.nivel = \"0\"\r\n response.termino = \"0\"\r\n response.tipoActividad = validacion.strTipoActividad\r\n response.actividad = validacion.strDescripcion\r\n response.descripcion = validacion.strObservacion\r\n response.fechaInicio = \"\"\r\n response.fechaFin = \"\"\r\n\r\n /* response.idAutoridad = currentUser.idpersona; */\r\n return response\r\n }\r\n\r\n export function getWeeksDiff(startDate, endDate) {\r\n const msInWeek = 1000 * 60 * 60 * 24 * 7;\r\n \r\n return Math.round(Math.abs(endDate - startDate) / msInWeek);\r\n}\r\n\r\nexport function getSemestralDiff(startDate, endDate) {\r\n const msInSem = 1000 * 60 * 60 * 24 * 182;\r\n\r\n return Math.round(Math.abs(endDate - startDate) / msInSem);\r\n}\r\n\r\nexport function getYearsDiff(startDate, endDate) {\r\n const msInYear = 1000 * 60 * 60 * 24 * 365;\r\n\r\n return Math.round(Math.abs(endDate - startDate) / msInYear);\r\n}","const url = {\r\n //Local \r\n //cas: 'https://auth.test.espol.edu.ec',\r\n //localBack: 'https://localhost:44326/api/',\r\n //localFront: 'https://localhost:44305/',\r\n //Sever-Pruebas\r\n //localBack : 'http://192.168.253.6:8098/api/',\r\n //localFront : 'http://192.168.253.7:8098/',\r\n //cas: 'https://auth.test.espol.edu.ec',\r\n fechaInicio: '2022-07-21T08:00:00',\r\n fechaFin: '2022-07-30T00:00:00',\r\n //produccion\r\n localBack : 'https://wssaac.espol.edu.ec/validacioncargadirectivo/api/',\r\n localFront: 'https://saac.espol.edu.ec/validacioncargadirectivo/',\r\n cas: 'https://auth.espol.edu.ec',\r\n}\r\n\r\nexport default url;","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Form, FormGroup, Label, Input, Row, Col, Button, Spinner } from 'reactstrap';\r\nimport './css/Formulario.css';\r\nimport { toPostRequest, getWeeksDiff } from './functions/ExpandTableFunctions';\r\nimport Swal from 'sweetalert2'\r\nimport withReactContent from 'sweetalert2-react-content'\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\nconst MySwal = withReactContent(Swal)\r\n\r\nconst ejSelect = [{ 'txt': 'Alola', 'id': 1 }, { 'txt': 'Fium', 'id': 3 }, { 'txt': 'Powder', 'id': 2 }]\r\nconst nivel = [{ 'txt': 'Grado', 'id': 1 }, { 'txt': 'Postgrado', 'id': 2 }, { 'txt': 'Admisiones', 'id': 3 }]\r\n\r\nclass FormularioMateria extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n idForm: this.props.idForm ?? '0', fila: this.props.profesor.solicitudForm ?? {},\r\n next: false, profesor: this.props.profesor ?? null, idProf: this.props.idProf ?? '0',\r\n nombreProf: this.props.nombreProf ?? '', dataForm: this.props.dataForm ?? [],\r\n mensaje: '', viewDelegar: this.props.viewDelegar, infoDelegar: this.props.profesor.infoDelegado ?? null,\r\n horas: this.props.profesor.solicitudForm != null ? this.props.profesor.solicitudForm.horasTotal : this.props.profesor.totalHoras,\r\n roles: this.props.roles ?? [],\r\n infoDelegado: this.props.infoDelegado ?? false,\r\n banderaDecano: this.props.banderaDecano ?? false,\r\n messageUnidad: '', alertUnidad: true, messageNivel: '', alertNivel: true, messageTermino: '', alertTermino: true,\r\n FormEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n fileState: 'N',\r\n termino: this.props.profesor.strPeriodo.trim()\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleTypeChange = this.handleTypeChange.bind(this);\r\n //console.log(this.state.fila);\r\n //console.log(this.props.dataForm);\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n var dto = this.state.fila;\r\n let duracionTipo = 0;\r\n if (dto.nhorasSem > 0) {\r\n duracionTipo = dto.nhorasSem;\r\n } else {\r\n duracionTipo = this.state.profesor.duracionTipo;\r\n }\r\n dto[name] = value;\r\n if (name === \"termino\") {\r\n const nivel = this.state.profesor.strTipo === \"M|R\" ? \"1\" : this.state.profesor.strTipo === \"M|P\" ? \"2\" : \"1\";\r\n if (nivel === \"1\") {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === parseInt(value)).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === parseInt(value)).fechaFin\r\n \r\n } else {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === parseInt(value)).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === parseInt(value)).fechaFin\r\n }\r\n\r\n }\r\n else if ((name === \"fechaInicio\" || name === \"fechaFin\")) {\r\n let semanas = 0;\r\n if (name === \"fechaInicio\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(value), Date.parse(dto[\"fechaFin\"]));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n } else if (name === \"fechaFin\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(value));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n }\r\n\r\n }\r\n\r\n this.setState({ fila: dto });\r\n /*console.log(this.state.fila);*/\r\n\r\n }\r\n\r\n cleanForm = () => {\r\n /*console.log('entro a clean y limpio')*/\r\n let profesor = this.state.fila;\r\n profesor.fechaInicio = \"\";\r\n profesor.fechaFin = \"\"\r\n profesor.termino = \"0\"\r\n profesor.nivel = \"0\"\r\n profesor.idCargaUnidad = \"0\"\r\n this.setState({\r\n fila: profesor\r\n })\r\n /*console.log(this.state.fila)*/\r\n }\r\n\r\n mensajeUnidad(texto) {\r\n this.setState({ alertUnidad: false, messageUnidad: texto })\r\n }\r\n\r\n mensajeNivel(texto) {\r\n /*console.log(texto);*/\r\n this.setState({ alertNivel: false, messageNivel: texto })\r\n }\r\n\r\n mensajeTermino(texto) {\r\n /*console.log(texto);*/\r\n this.setState({ alertTermino: false, messageTermino: texto })\r\n }\r\n\r\n comprobar = () => {\r\n return this.state.fila.idCargaUnidad === \"0\" || this.state.fila.idCargaUnidad === undefined;\r\n }\r\n\r\n comprobarNivel = () => {\r\n return this.state.fila.nivel === \"0\" || this.state.fila.nivel === undefined;\r\n }\r\n\r\n comprobarTermino = () => {\r\n return this.state.fila.termino === \"0\" || this.state.fila.termino === undefined;\r\n }\r\n\r\n handleSave = (event) => {\r\n event.preventDefault(); \r\n let problemas = 0;\r\n const forma = new FormData(event.target);\r\n let dto = this.state.fila;\r\n /*console.log(forma)*/\r\n\r\n if (this.state.profesor[\"strAccion\"] === \"Eliminar Carga\") {\r\n dto = toPostRequest(this.state.profesor);\r\n dto[\"observacion\"] = forma.get(\"observacion\")\r\n dto[\"totalHoras\"] = 0\r\n } else {\r\n forma.forEach((value, clave) => {\r\n dto[clave] = value;\r\n })\r\n if (dto != null) {\r\n dto[\"idPersona\"] = this.state.idProf;\r\n dto[\"idValidacionDet\"] = this.state.idForm;\r\n /* dto[\"idAutoridad\"]= this.state.idautoridad; */\r\n }\r\n \r\n }\r\n dto[\"aprobado\"] = 1\r\n const data = JSON.stringify(dto);\r\n /*console.log(data);*/\r\n\r\n if(this.state.profesor.strAccion !== \"Eliminar Carga\"){\r\n if (this.comprobar()) {\r\n problemas++;\r\n this.mensajeUnidad('Por favor seleccione una unidad.')\r\n } else {\r\n this.setState({ alertUnidad: true });\r\n }\r\n\r\n if (this.comprobarNivel()) {\r\n problemas++;\r\n this.mensajeNivel('Por favor seleccione un nivel.')\r\n } else {\r\n this.setState({ alertTermino: true });\r\n }\r\n\r\n if (this.comprobarTermino()) {\r\n problemas++;\r\n this.mensajeTermino('Por favor seleccione un término.')\r\n } else {\r\n this.setState({ alertTermino: true });\r\n }\r\n } \r\n\r\n /*console.log(\"PROBLEMAAAAAAAAAAS\",problemas)*/\r\n\r\n if (problemas == 0) {\r\n this.setState({ fileState: 'L' });\r\n // to test\r\n // const val = {\r\n // termino: this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino,\r\n // horasTotal: parseInt(dto['totalHoras']), strObservacion: dto['observacion'], fechaFin: dto.fechaFin, fechaInicio: dto.fechaInicio,\r\n // nivel: dto.nivel, idCargaUnidad: dto.idCargaUnidad\r\n // }\r\n // this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n // const objUpdated = {}\r\n // MySwal.fire({\r\n // icon: 'success',\r\n // title: 'Solicitud ingresada',\r\n // text: 'Datos guardados exitosamente!',\r\n // confirmButtonText: 'Listo',\r\n // timer: 5000\r\n // })\r\n\r\n fetch(local + 'Validacion/PostValidacion', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ next: true });\r\n /*console.log('alola')*/\r\n this.setState({ fileState: 'N' });\r\n let val = this.state.fila;\r\n val['nivel'] = dto['nivel']\r\n val['horasTotal'] = dto['totalHoras']\r\n val['strObservacion'] = dto['observacion']\r\n this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n this.setState({ fileState: 'N' });\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n\r\n }\r\n });\r\n }\r\n this.setState({ fileState: 'N' });\r\n }\r\n\r\n handleTypeChange(event) {\r\n const target = event.target;\r\n const name = target.value;\r\n let nProfesor = this.state.profesor;\r\n /*console.log(\"antes\", this.state.profesor);*/\r\n nProfesor.strAccion = name;\r\n /*console.log(\"despues\", profesor);*/\r\n this.setState({ profesor: nProfesor });\r\n }\r\n\r\n handleDecision = (estado) => {\r\n const idDet = this.state.infoDelegar.solicitudCoordinador.idValidDet\r\n const data = JSON.stringify({ idSolicitudDet: idDet, estado: estado })\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { infoDelegar, termino } = this.state;\r\n const nivel = this.state.profesor.strTipo === \"M|R\" ? \"1\" : this.state.profesor.strTipo === \"M|P\" ? \"2\" : \"1\";\r\n //console.log(this.state.profesor.strPeriodo);\r\n //console.log('Termino', termino); \r\n let terminoCut = termino.replace('-',' ');\r\n /*console.log('Termino-Cut', terminoCut);*/\r\n let idtermino = nivel === 1 ? this.state.dataForm.terminos['grado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo }) : this.state.dataForm.terminos['posgrado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo });\r\n /* console.log(idtermino);*/\r\n\r\n let fechaInicioBeta = this.state.fila.fechaInicio != undefined ? this.state.fila.fechaInicio : nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio;\r\n\r\n let fechaFinBeta = this.state.fila.fechaFin != undefined ? this.state.fila.fechaFin : nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin;\r\n //console.log('fechaInicio', fechaInicioBeta);\r\n //console.log('fechaFin', fechaFinBeta);\r\n //console.log(this.state.dataForm);\r\n\r\n let inputTermino;\r\n\r\n let idCargaUnidad = this.state.profesor.unidadPlanifica != null ? this.state.dataForm.unidades.filter(x => x.nombreUnidad === this.state.profesor.unidadPlanifica).map(ex => ex.idUnidad) : 0;\r\n \r\n if (nivel === \"1\" || nivel === \"2\") {\r\n inputTermino = \r\n \r\n {nivel === \"1\" ?\r\n this.state.dataForm.terminos['grado'].map(ej =>\r\n \r\n )\r\n : this.state.dataForm.terminos['posgrado'].map(ej =>\r\n \r\n )\r\n }\r\n \r\n } else {\r\n inputTermino = \r\n\r\n \r\n }\r\n return (\r\n
\r\n
\r\n {this.state.profesor.strAccion !== \"Nueva Carga\" && !this.props.banderaDecano ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : <>\r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idUnidad === parseInt(infoDelegar.solicitudCoordinador.idCargaUnidad)).nombreUnidad\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataForm.unidades.map(ej =>\r\n \r\n )} \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.state.viewDelegar === \"2\" ? :\r\n inputTermino}\r\n \r\n
\r\n \r\n
\r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n }\r\n {this.state.viewDelegar === \"2\" && (infoDelegar.estadoCoordinador === \"R\" || this.state.profesor.strAccion === \"Eliminar Carga\") ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n {/**/}\r\n
\r\n {this.state.viewDelegar === \"2\" ?\r\n this.state.infoDelegar.estadoCoordinador !== \"P\" ?\r\n <>\r\n \r\n \r\n : <> :\r\n <>\r\n {/* */}\r\n \r\n \r\n }\r\n
\r\n\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FormularioMateria;","import React from 'react';\r\nimport Select from 'react-select';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Form, FormGroup, Label, Input, Row, Col, Button, Spinner} from 'reactstrap';\r\nimport { toPostRequest, getWeeksDiff } from './functions/ExpandTableFunctions';\r\nimport { BsFileEarmarkArrowUp, BsFileEarmarkArrowDown, BsFileEarmarkCheck, BsFileEarmarkX } from 'react-icons/bs';\r\nimport { HiDocumentDownload } from 'react-icons/hi';\r\nimport './css/Formulario.css';\r\nimport Swal from 'sweetalert2'\r\nimport withReactContent from 'sweetalert2-react-content'\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\nconst localFront = url.localFront;\r\nconst MySwal = withReactContent(Swal)\r\n\r\nconst GRADO_NIVEL = \"1\";\r\nconst POSGRADO_NIVEL = \"2\";\r\nconst ADMISIONES_NIVEL = \"3\";\r\nconst ejSelect = [{ 'txt': 'Alola', 'id': 1 }, { 'txt': 'Fium', 'id': 3 }, { 'txt': 'Powder', 'id': 2 }]\r\nconst nivel = [{ 'txt': 'Grado', 'id': 1 }, { 'txt': 'Postgrado', 'id': 2 }, { 'txt': 'Admisiones', 'id': 3 }]\r\nconst tipoCalc = {\r\n 'S': (duracion, periodos) => {\r\n let semanas = 0;\r\n if (periodos.find(x => { return /PAE/i.test(x.label) }) !== undefined) {\r\n semanas += 8;\r\n }\r\n var perOrd = periodos.filter(x => { return /PAO/i.test(x.label) });\r\n semanas += perOrd.length * 20\r\n\r\n return semanas * duracion\r\n },\r\n 'H': (duracion, periodos) => { return duracion * periodos.length },\r\n 'A': (duracion, periodos) => { return duracion }\r\n //h semestral a anual s semanal\r\n }\r\n\r\nconst valUATHP = 'CA'\r\nconst ANIO = '2022'\r\n\r\nclass FormularioAct extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n idForm: this.props.idForm ?? '0', fila: this.props.profesor.solicitudForm ?? {}, \r\n next: false, profesor: this.props.profesor ?? null, idProf: this.props.idProf ?? '0',\r\n nombreProf: this.props.nombreProf ?? '',\r\n idUnidad: this.props.idUnidad ?? 0,\r\n dataForm: this.props.dataForm ?? [], readOnly: false,\r\n dataUATH: this.props.dataUATH ?? [],\r\n infoDelegado: this.props.infoDelegado ?? false,\r\n horas: this.props.profesor.solicitudForm != null ? this.props.profesor.solicitudForm.horasTotal : this.props.profesor.totalHoras,\r\n multiTermino: \"\",\r\n terminos: this.props.profesor.solicitudForm != null ? this.props.profesor.solicitudForm.termino.trim().split(\" \") : [],\r\n termino: this.props.profesor.strPeriodo,\r\n /*termino: ' PAE 2021 PAO 2021-1 PAO 2021-2',*/\r\n mensaje: '', viewDelegar: this.props.viewDelegar, infoDelegar: this.props.profesor.infoDelegado ?? null,\r\n sisUATH: this.props.profesor.sisUATH ?? 'XX',\r\n /*sisUATH: this.props.profesor.intIdValidacionDet == 9089 ? 'CA' : this.props.profesor.intIdValidacionDet == 9094 ? 'CV' : this.props.profesor.intIdValidacionDet == 9090 ? 'RE': 'XX',*/\r\n roles: this.props.roles ?? [],\r\n banderaDecano: this.props.banderaDecano ?? false,\r\n alertPrograma: true, alertUnidad: true, alertNivel: true, alertTermino: true,\r\n FormEstado: [{ cod: 'R', nombre: '' },{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }, { cod: 'B', nombre: 'Error' }, { cod: 'G', nombre: 'Listo' }],\r\n formState: 'N',\r\n nivelBeta: 1,\r\n file: undefined,\r\n fileName: undefined,\r\n fileState: 'N',\r\n rutaArchivo: '',\r\n formaFile: {'fileName': undefined, 'formFile': undefined },\r\n promcarr: this.props.profesor.sisUATH == 'CC' || this.props.profesor.sisUATH == 'CP' || this.props.profesor.sisUATH == 'CV' ? 'C' : this.props.profesor.sisUATH == 'CA' && this.props.profesor.solicitudForm !=null && this.props.profesor.solicitudForm.idcarrera > 0 ? 'C' : 'P',\r\n /*promcarr: this.props.profesor.intIdValidacionDet == 9089 ? this.props.profesor.solicitudForm.idcarrera > 0 ? 'C' : 'P' : this.props.profesor.intIdValidacionDet == 9094 ? 'C': 'P',*/\r\n typeSelect: [{ cod: 'P', nombre: 'Programa' }, { cod: 'C', nombre: 'Carrera' }],\r\n EditHoras: this.props.profesor.tieneLimite ?? 'N'\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleMultipleChange = this.handleMultipleChange.bind(this); \r\n this.handleTypeChange = this.handleTypeChange.bind(this);\r\n this.onChangeFile = this.onChangeFile.bind(this);\r\n this.onChangePorC = this.onChangePorC.bind(this); \r\n //console.log('unidad: ',this.props.idUnidad);\r\n //console.log('terminos', this.state.terminos);\r\n //console.log('fila: ', this.state.fila);\r\n //console.log('infoDelegar: ', this.state.infoDelegar);\r\n\r\n }\r\n\r\n onChangeFile(e) { \r\n //console.log(e.target.files[0]);\r\n //console.log(e.target.files[0].name);\r\n this.setState({ file: e.target.files[0], fileName: e.target.files[0].name })\r\n }\r\n\r\n onChangePorC(e) {\r\n /*console.log(e.target.value);*/\r\n var id = e.target.value; \r\n this.setState({ promcarr: id });\r\n }\r\n\r\n needProgram(text) {\r\n let list = ['RE', 'VR', 'DG'];\r\n return list.includes(text);\r\n }\r\n\r\n handleUpFile() { \r\n this.setState({ fileState: 'L' });\r\n var dto = this.state.fila;\r\n //console.log(\"formFile\", this.state.file);\r\n //console.log(\"fileName\", this.state.fileName);\r\n let formData = new FormData();\r\n formData.set(\"fileName\", this.state.fileName);\r\n formData.append(\"formFile\", this.state.file);\r\n //735650, 694076\r\n try {\r\n fetch(local + \"File/CargarDocumento\",\r\n { \r\n method: 'POST',\r\n body: formData\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n if (data.operation.length > 0) { \r\n this.setState({ fileState: 'B' });\r\n } else {\r\n dto.rutaarchivo = data.idFile;\r\n this.setState({ fila: dto, fileState: 'G' });\r\n }\r\n \r\n });\r\n /*console.log(this.state.fila);*/\r\n } catch (ie) {\r\n this.setState({ fileState: 'B' });\r\n //console.log(\"Error: \" + ie);\r\n } \r\n /*this.setState({ fileState: 'B' });*/\r\n }\r\n\r\n getPdf(link) {\r\n let a = link.split(',');\r\n let id = a[a.length - 1];\r\n let enlace = localFront + 'DescargarDocumento/' + id;\r\n window.open(enlace, '_blank', 'noopener,noreferrer');\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target; \r\n const name = target.name;\r\n let value = target.type === 'checkbox' ? target.checked : target.value;\r\n var dto = this.state.fila;\r\n let duracionTipo = 0;\r\n if (dto.nhorasSem > 0) {\r\n duracionTipo = dto.nhorasSem; \r\n } else {\r\n duracionTipo = this.state.profesor.duracionTipo;\r\n }\r\n /*console.log('before',dto);*/\r\n if (name === \"nivel\") {\r\n /*console.log(value)*/\r\n if (value === GRADO_NIVEL || value === POSGRADO_NIVEL) {\r\n //console.log('no readonly')\r\n //console.log(dto.nivel !== value)\r\n if (dto.nivel !== value) {\r\n this.setState({ readOnly: false, terminos: [] });\r\n } else {\r\n this.setState({ readOnly: false });\r\n }\r\n\r\n } else {\r\n /*console.log('si readonly')*/\r\n this.setState({ readOnly: true });\r\n }\r\n\r\n } else if ((name === \"fechaInicio\" || name === \"fechaFin\")) {\r\n let semanas = 0;\r\n if (name === \"fechaInicio\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(value), Date.parse(dto[\"fechaFin\"]));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n } else if (name === \"fechaFin\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(value));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n }\r\n\r\n } else if (name === 'idprograma') {\r\n dto['idcarrera'] = 0;\r\n } else if (name === 'idcarrera') {\r\n dto['idprograma'] = 0;\r\n } else if (name === 'nhorasSem') {\r\n let min = 1;\r\n let max = this.state.profesor.duracionTipo;\r\n let semanas = 0;\r\n value = Math.max(min, Math.min(max, Number(value)));\r\n if (dto[\"fechaInicio\"] !== undefined && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(dto[\"fechaFin\"]));\r\n let horas = semanas * value;\r\n /*console.log('horas', horas, 'semanas', semanas, 'duracionTipo', value);*/\r\n this.setState({ horas: horas });\r\n } \r\n \r\n }\r\n dto[name] = value;\r\n\r\n this.setState({ fila: dto });\r\n /*console.log('fila', this.state.fila); */ \r\n }\r\n\r\n handleTypeChange(event) {\r\n const target = event.target;\r\n const name = target.value;\r\n let nProfesor = this.state.profesor;\r\n /*console.log(\"antes\", this.state.profesor);*/\r\n nProfesor.strAccion = name;\r\n /*console.log(\"despues\", profesor);*/\r\n this.setState({ profesor: nProfesor });\r\n }\r\n\r\n handleMultipleChange = (selectedChange) => {\r\n /*console.log('terminos', this.state.terminos) */ \r\n if (selectedChange.length !== 0) {\r\n /*console.log('existe', selectedChange)*/\r\n var dto = this.state.fila;\r\n /*console.log('fila',dto)*/\r\n let horas = this.state.horas;\r\n //console.log('terminos', this.state.dataForm.terminos)\r\n //console.log('horas', horas) \r\n const minPeriodo = Math.min(...selectedChange.map(x => x.value))\r\n const maxPeriodo = Math.max(...selectedChange.map(x => x.value))\r\n let duracion = this.state.profesor.duracionTipo;\r\n if (dto.nhorasSem > 0) {\r\n duracion = dto.nhorasSem;\r\n }\r\n const tipoCalculo = this.state.profesor.tipoCalculo\r\n let values = \"\";\r\n selectedChange.forEach(element => {\r\n values += element.value + \" \"\r\n });\r\n if (this.state.fila.nivel === GRADO_NIVEL) {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === minPeriodo).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === maxPeriodo).fechaFin\r\n } else if (this.state.fila.nivel === POSGRADO_NIVEL) {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === minPeriodo).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === maxPeriodo).fechaFin\r\n }\r\n /*console.log('dto new ',dto);*/\r\n if(tipoCalculo === \"S\"){\r\n let semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(dto[\"fechaFin\"]));\r\n /*console.log(selectedChange.filter(x => { return /PAO/i.test(x.label) }))*/\r\n if(selectedChange.filter(x => { return /PAO/i.test(x.label) }).length >= 2 )\r\n --semanas;\r\n\r\n horas = semanas * duracion;\r\n }else{\r\n horas = tipoCalc[tipoCalculo](duracion, selectedChange);\r\n }\r\n //console.log('ACTIVIDAAAAAD HORAS MEN')\r\n //console.log(horas);\r\n\r\n this.setState({ multiTermino: values, fila: dto, horas: horas, terminos: selectedChange.map(x => x.value.toString()) }, () =>\r\n console.log('Seleccionado Multiple: ', this.state.multiTermino)\r\n )\r\n }\r\n else {\r\n /*console.log('no existe', selectedChange)*/\r\n this.setState({ multiTermino: \"\", horas: this.state.profesor.totalHoras, terminos: [] })\r\n }\r\n }\r\n\r\n cleanForm = () => {\r\n /*console.log('entro a clean y limpio')*/\r\n let profesor = this.state.fila;\r\n profesor.fechaInicio = \"\";\r\n profesor.fechaFin = \"\"\r\n profesor.termino = \"0\"\r\n profesor.nivel = \"0\"\r\n profesor.idCargaUnidad = \"0\"\r\n profesor.idcarrera = \"0\"\r\n profesor.idprograma = \"0\"\r\n profesor.fechadocumento = \"\"\r\n this.setState({\r\n fila: profesor, readOnly: true\r\n })\r\n /*console.log(this.state.fila)*/\r\n }\r\n\r\n populateAUTH(unidad) {\r\n fetch(local + 'validacion/getdataUATH/' + unidad, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAUATH\", data)*/\r\n this.setState({ dataUATH: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n handleSave = (event) => {\r\n event.preventDefault();\r\n let problemas = 0;\r\n const forma = new FormData(event.target);\r\n let dto = this.state.fila;\r\n /*console.log(forma)*/\r\n\r\n if (this.state.profesor[\"strAccion\"] === \"Eliminar Carga\") {\r\n dto = toPostRequest(this.state.profesor);\r\n dto[\"observacion\"] = forma.get(\"observacion\")\r\n dto[\"totalHoras\"] = 0\r\n dto[\"termino\"] = this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino;\r\n } else {\r\n forma.forEach((value, clave) => {\r\n dto[clave] = value;\r\n })\r\n if (dto != null) {\r\n dto[\"idPersona\"] = this.state.idProf;\r\n dto[\"idValidacionDet\"] = this.state.idForm;\r\n dto[\"idAutoridad\"]= this.state.idautoridad; \r\n }\r\n dto[\"termino\"] = this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino;\r\n }\r\n\r\n dto[\"aprobado\"] = 1\r\n dto[\"tipoSolicitud\"] = this.state.profesor[\"strAccion\"];\r\n const data = JSON.stringify(dto);\r\n //console.log(data); \r\n\r\n \r\n if(this.state.profesor.strAccion !== \"Eliminar Carga\"){\r\n if (this.state.fila.idCargaUnidad === \"0\" || this.state.fila.idCargaUnidad === undefined) {\r\n problemas++;\r\n this.setState({ alertUnidad: false })\r\n } else {\r\n this.setState({ alertUnidad: true });\r\n }\r\n\r\n if (this.state.fila.nivel === \"0\" || this.state.fila.nivel === undefined) {\r\n problemas++;\r\n this.setState({ alertNivel: false })\r\n } else {\r\n this.setState({ alertNivel: true });\r\n }\r\n //console.log(this.state.terminos.length)\r\n //console.log(this.state.terminos)\r\n if (this.state.terminos.length === 0) {\r\n problemas++;\r\n this.setState({ alertTermino: false })\r\n } else {\r\n this.setState({ alertTermino: true });\r\n }\r\n }\r\n\r\n \r\n if (problemas === 0) {\r\n this.setState({ formState: 'L' });\r\n /*to test*/\r\n //const val = {termino: this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino, \r\n // horasTotal: this.state.profesor.strAccion === 'Eliminar Carga' ? 0 : parseInt(dto['totalHoras']), strObservacion: dto['observacion'], fechaFin: dto.fechaFin, fechaInicio: dto.fechaInicio,\r\n // nivel: dto.nivel, idCargaUnidad: dto.idCargaUnidad}\r\n //this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n // // const objUpdated = {}\r\n // MySwal.fire({\r\n // icon: 'success',\r\n // title: 'Solicitud ingresada',\r\n // text: 'Datos guardados exitosamente!',\r\n // confirmButtonText: 'Listo',\r\n // timer: 5000\r\n // }) \r\n\r\n fetch(local + 'Validacion/PostValidacion', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ next: true });\r\n /*console.log('alola')*/\r\n dto['termino'] = this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino;\r\n const val = {\r\n termino: this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino,\r\n horasTotal: parseInt(dto['totalHoras']), strObservacion: dto['observacion'],\r\n fechaFin: dto.fechaFin, fechaInicio: dto.fechaInicio,\r\n nivel: dto.nivel, idCargaUnidad: dto.idCargaUnidad,\r\n ndocumento: dto.ndocumento, fechadocumento: dto.fechadocumento,\r\n nhorasSem: dto.nhorasSem, idprograma: dto.idprograma, idcarrera: dto.idcarrera\r\n }\r\n\r\n this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n /*console.log(\"dto\", val);*/\r\n // const objUpdated = {}\r\n this.setState({ formState: 'N' });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n this.setState({ formState: 'N' });\r\n window.alert('fallo post')\r\n }})\r\n } else {\r\n this.setState({ formState: 'N' });\r\n /*console.log(\"HAY PROBLEMAS\")*/\r\n }\r\n }\r\n\r\n handleDecision = (estado) => {\r\n const idDet = this.state.infoDelegar.solicitudCoordinador.idValidDet\r\n const data = JSON.stringify({ idSolicitudDet: idDet, estado: estado })\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n\r\n let multiTermino = [];\r\n const { infoDelegar, sisUATH, promcarr, EditHoras, termino, infoDelegado } = this.state;\r\n //console.log(infoDelegado)\r\n\r\n //console.log('UATH: ', sisUATH);\r\n //console.log('infoDelegar: ', infoDelegar); \r\n //console.log('Fila: ', this.state.fila);\r\n //console.log(this.state.dataForm);\r\n\r\n const optGrado = this.state.dataForm.terminos['grado'].map(ej =>\r\n ({ value: ej.idPeriodo, label: ej.nombre })\r\n );\r\n\r\n const optPosgrado = this.state.dataForm.terminos['posgrado'].map(ej =>\r\n ({ value: ej.idPeriodo, label: ej.nombre })\r\n );\r\n\r\n let nivelBeta = this.state.profesor.strTipo === \"A|P\" ? POSGRADO_NIVEL : GRADO_NIVEL;\r\n\r\n //Dterminar los Terminos seleccionados anteriormente.\r\n let terminor = termino.replace('PAE 20', 'PAE-20');\r\n terminor = terminor.replace('PAO 20', 'PAO-20');\r\n terminor = terminor.replace('PAO 20', 'PAO-20');\r\n let strTermino = terminor.trim().split(\" \");\r\n\r\n const strTerminoFinal = strTermino.map(obj => {\r\n // 👇️ if id equals 2 replace object\r\n if (obj.includes('PAE-20')) {\r\n return obj.replace('PAE-20', 'PAE 20');\r\n } else if (obj.includes('PAO-20')) {\r\n return obj.replace('PAO-20', 'PAO 20');\r\n }\r\n\r\n // 👇️ otherwise return object as is\r\n return obj;\r\n });\r\n\r\n let optChosed = this.state.terminos.length > 0 ?\r\n this.state.fila.nivel === GRADO_NIVEL ?\r\n optGrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) })\r\n : optPosgrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) }) \r\n : [];\r\n\r\n //console.log('Original: ', termino)\r\n //console.log('Replace: ', terminor) \r\n //console.log('strTermino trim: ', strTermino)\r\n //console.log('Termino Final: ', strTerminoFinal)\r\n //console.log('optChosed', optChosed)\r\n //console.log('optChosed', optGrado)\r\n\r\n let idCargaUnidad = this.state.profesor.unidadPlanifica != null ? this.state.dataForm.unidades.filter(x => x.nombreUnidad === this.state.profesor.unidadPlanifica).map(ex => ex.idUnidad) : 0;\r\n\r\n //let idtermino = nivel === 1 ? this.state.dataForm.terminos['grado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo }) : this.state.dataForm.terminos['posgrado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo });\r\n //console.log(idtermino);\r\n\r\n //let fechaInicioBeta = nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio;\r\n\r\n //let fechaFinBeta = nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin;\r\n //console.log('fechaInicio', fechaInicioBeta);\r\n //console.log('fechaFin', fechaFinBeta);\r\n\r\n //console.log(optChosed)\r\n //console.log('Profesor', this.state.profesor)\r\n //console.log('Tipo', this.state.nivelBeta)\r\n //console.log(this.state.dataForm.terminos)\r\n //console.log('fila: ',this.state.fila.leght)\r\n //console.log(optGrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) }));\r\n\r\n if (this.state.multiTermino != \"\") {\r\n multiTermino = this.state.multiTermino.trim().split(\" \");\r\n }\r\n return (\r\n
\r\n
\r\n {this.state.profesor.strAccion !== \"Nueva Carga\" && !this.props.banderaDecano ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : <>\r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n : sisUATH != 'XX' ?\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n 0 ? this.state.fila.nhorasSem : this.state.profesor.duracionTipo}\r\n onChange={this.handleInputChange}\r\n \r\n />\r\n }\r\n \r\n \r\n \r\n {sisUATH === \"CA\" ?\r\n \r\n \r\n : <>}\r\n \r\n {!this.needProgram(sisUATH) ? promcarr == 'P' ? \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idPrograma === parseInt(infoDelegar.solicitudCoordinador.idprograma)).nombrePrograma\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataUATH.programas.map(ej =>\r\n \r\n )}\r\n }\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idCarrera === parseInt(infoDelegar.solicitudCoordinador.idcarrera)).nombreCarrera\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataUATH.carreras.map(ej =>\r\n \r\n )}\r\n }\r\n \r\n \r\n \r\n : <>}\r\n \r\n : \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n 0 ? this.state.fila.nhorasSem : this.state.profesor.duracionTipo}\r\n onChange={this.handleInputChange}\r\n readOnly={this.props.banderaDecano}\r\n />\r\n }\r\n \r\n \r\n \r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n : \r\n \r\n {nivel.map(niv =>\r\n \r\n )}\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n \r\n \r\n \r\n \r\n
\r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n : }\r\n \r\n
\r\n \r\n
\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idUnidad === parseInt(infoDelegar.solicitudCoordinador.idCargaUnidad)).nombreUnidad\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataForm.unidades.map(ej =>\r\n \r\n )}\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n : }\r\n placeholder=\"Elija el término académico\"\r\n className=\"basic-multi-select\" \r\n />}\r\n \r\n
\r\n \r\n
\r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n } \r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n : sisUATH != 'XX' ?\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n \r\n } \r\n this.handleUpFile()}> \r\n {this.state.fileState === 'L' ? : this.state.fileState === 'B' ? : this.state.fileState === 'G' ? : this.state.fileState === 'R' ? : } \r\n \r\n  \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n this.state.fila != null && this.state.fila.rutaarchivo ?\r\n \r\n : <>\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n : <>\r\n } \r\n \r\n {this.state.viewDelegar === \"2\" && (infoDelegar.estadoCoordinador === \"R\" /*|| this.state.profesor.strAccion === \"Eliminar Carga\"*/) ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n {/**/}\r\n
\r\n {this.state.viewDelegar === \"2\" ?\r\n this.state.infoDelegar.estadoCoordinador !== \"P\" ?\r\n <>\r\n \r\n \r\n : <> :\r\n <>\r\n {/* */}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FormularioAct;","import React from 'react';\r\n\r\nexport const AppContext = React.createContext({\r\n currentUser: null,\r\n updateUser: () => { },\r\n});","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport './css/custom.css';\r\nimport './css/ExpandTable.css';\r\nimport xml2js from \"xml2js\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport {\r\n NavItem, NavLink, Nav, TabContent, TabPane, Input, UncontrolledAlert,\r\n Row, Col, Card, Button, Form, Spinner, FormGroup, Label\r\n} from 'reactstrap';\r\nimport FormularioMateria from './FormularioMateria';\r\nimport { withRouter } from \"react-router\";\r\nimport FormularioAct from './FormularioAct';\r\nimport classnames from 'classnames';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nimport { color, color_head_desc_act, color_head_desc_mat, toPostRequest } from './functions/ExpandTableFunctions';\r\nimport { AppContext } from './../AppContext';\r\nimport { BsEye } from 'react-icons/bs';\r\nimport Sticky from 'react-stickynode';\r\nimport url from './variables/url.js';\r\nimport { Link } from 'react-router-dom';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst MySwal = withReactContent(Swal)\r\nconst colorStatus = { \"A\": \"#2dc937\", \"R\": \"#cc3232\", \"P\": \"#e7b416\" }\r\nconst rankHours = { \"TC\": { min: \"1880\", max: \"1960\", label: \"TIEMPO COMPLETO\" }, \"MT\": { min: \"940\", max: \"980\", label: \"MEDIO TIEMPO\" }, \"TP\": { min: \"892\", max: \"932\", label: \"TIEMPO PARCIAL\" } }\r\n\r\n// const products = [{ \"id\": 0, \"name\": \"alola\", \"price\": \"2\" }, { \"id\": 1, \"name\": \"alola2\", \"price\": \"3\" },\r\n// { \"id\": 2, \"name\": \"alola3\", \"price\": \"4\" }];\r\n\r\nconst fechaInicioSub = process.env.REACT_APP_FECHA_INICIO_SUB;\r\nconst fechaFinSub = process.env.REACT_APP_FECHA_FIN_SUB;\r\nconst fechaInicioDec = process.env.REACT_APP_FECHA_INICIO_DEC;\r\nconst fechaFinDec = process.env.REACT_APP_FECHA_FIN_DEC;\r\nconst fechaInicioVice = process.env.REACT_APP_FECHA_INICIO_VICE;\r\nconst fechaFinVice = process.env.REACT_APP_FECHA_FIN_VICE;\r\n\r\nconst currentDate = new Date();\r\n\r\nclass ExpandTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expanded: [], fila: [], next: false, validaciones: [], delegados: [], revisados: [], revisadosVice: [], idautoridad: '0',\r\n idProf: this.props.match.params.id ?? 0, nombreProf: '', idUnidad: 0,\r\n dataForm: [], dataUATH: [], show: false, showDelegar: false, showReasignar: false, idValid: '0', observacion: '',\r\n horasTotal: 0,\r\n horasLicencia: 0,\r\n atendidoVice: \"N\",\r\n idUser: 0,\r\n infoDelegado: false,\r\n loading: true,\r\n idCoordinador: '0', idPrograma: '0', coordinadores: [], activeTab: \"1\", nombreCoordinador: '', roles: [],\r\n tipoContrato: \"\", sticky: false, status: 0, checkContrato: false,\r\n enviado: false,\r\n enviadoVRA: false,\r\n otrasHoras: 0,\r\n rejectEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n rechazarState: 'N',\r\n delegarEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n delegarState: 'N',\r\n decanoRespuestas: [],\r\n hayComentarios: false,\r\n devuelto: false,\r\n bandera: currentDate > this.changeFormat(fechaInicioSub) && currentDate < this.changeFormat(fechaFinSub),\r\n banderaDec: currentDate > this.changeFormat(fechaInicioDec) && currentDate < this.changeFormat(fechaFinDec),\r\n banderaVice: currentDate > this.changeFormat(fechaInicioVice) && currentDate < this.changeFormat(fechaFinVice),\r\n checkCambioContrato: true\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleChangeModal = this.handleChangeModal.bind(this);\r\n this.handleCoordinadorChange = this.handleCoordinadorChange.bind(this);\r\n this.handleChangeObservacionesDeca = this.handleChangeObservacionesDeca.bind(this);\r\n\r\n if (window.location.pathname.includes('/profesorDecano/')) {\r\n this.populateTableDecano();\r\n } else {\r\n this.populateTable();\r\n }\r\n\r\n fetch(local + 'Validacion/GetDataForm', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAFORRRRRM\", data)*/\r\n this.setState({ dataForm: data })\r\n }).catch(function F(error) {\r\n //console.log(error);\r\n });\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"leyes\", data)*/\r\n //console.log(\"leyesInicio\", data.fecha_inicio_sub)\r\n //console.log(\"leyesFin\", data.fecha_fin_sub)\r\n let banSub = currentDate > this.changeFormat(data.fecha_inicio_sub) && currentDate < this.changeFormat(data.fecha_fin_sub)\r\n let banDec = currentDate > this.changeFormat(data.fecha_inicio_dec) && currentDate < this.changeFormat(data.fecha_fin_dec)\r\n let banVice = currentDate > this.changeFormat(data.fecha_inicio_vice) && currentDate < this.changeFormat(data.fecha_fin_vice)\r\n this.setState({\r\n bandera: banSub, banderaDec: banDec, banderaVice: banVice, checkCambioContrato: data.checkCambioContrato})\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n let user = this.context\r\n let ruta = window.location.pathname;\r\n if (user != null && this.state.idUser === 0) {\r\n this.setState({ idUser: user.idpersona, roles: user.roles });\r\n if (ruta.includes('/profesorDecano/')) {\r\n this.populateTableDecano();\r\n } else {\r\n this.populateTable();\r\n } \r\n /*console.log(user.roles);*/\r\n }\r\n\r\n }\r\n\r\n agregarActividad() {\r\n window.location.replace(\"/agregarActividad/\" + this.props.match.params.id);\r\n }\r\n\r\n validateInput() {\r\n if (this.state.fila.length === this.state.validaciones.length) {\r\n /*console.log('validado')*/\r\n this.setState(() => ({\r\n next: true\r\n }))\r\n }\r\n }\r\n\r\n populateTable() {\r\n let resp = 0;\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n fetch(local + 'Validacion/GetValidacionesById/' + this.props.match.params.id, {\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n resp = response.status\r\n MySwal.close();\r\n this.setState({ status: response.status });\r\n /*console.log(response.status);*/\r\n return response.json();\r\n })\r\n .then(data => {\r\n\r\n if (resp === 404 || resp === 400) {\r\n this.isNotFound(); \r\n } else {\r\n /*console.log(data);*/\r\n /*console.log(\"FILTRAR DELEGACIONES\", data.validaciones.filter(x => { return x.infoDelegado !== null }))*/\r\n //console.log(\"Filtro Revisados\", data.validaciones.filter(x => { return x.respuestaVice === \"S\" }))\r\n this.setState({\r\n validaciones: data.validaciones, nombreProf: data.nombreProfesor, horasTotal: data.horasTotal,\r\n otrasHoras: data.otrasHoras, horasLicencia: data.horasLicencia,\r\n atendidoVice: data.atendidoVice,\r\n delegados: data.validaciones.filter(x => { return x.infoDelegado !== null }),\r\n revisados: data.validaciones.filter(x => { return x.respuestaDecano === \"S\" }),\r\n revisadosVice: data.validaciones.filter(x => { return x.respuestaVice === \"S\" }),\r\n tipoContrato: data.tipoContrato, enviado: data.enviado === \"EDC\" || data.enviado === \"ED\" ? true : false,\r\n loading: false\r\n })\r\n /*console.log(data);*/\r\n this.populateAUTH(data.idUnidad); \r\n }\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n \r\n }\r\n\r\n populateTableDecano() {\r\n let resp = 0\r\n let notCurso = []\r\n let respuestas = []\r\n //console.log('InicioSub',fechaInicioSub);\r\n //console.log('FinSub',fechaFinSub);\r\n //console.log('InicioDec',fechaInicioDec);\r\n //console.log('FinDec',fechaFinDec);\r\n //console.log('InicioVice',fechaInicioVice);\r\n //console.log('FinVice',fechaFinVice);\r\n fetch(local + 'Decano/GetObservacionesDecanoById/' + this.props.match.params.id, {\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n resp = response.status\r\n this.setState({ status: response.status });\r\n /*console.log(response.status);*/\r\n return response.json();\r\n })\r\n .then(data => {\r\n\r\n if (resp === 404 || resp === 400) {\r\n this.isNotFound();\r\n } else { \r\n data.validaciones.map(val => { respuestas.push(val.infoObservacion) })\r\n notCurso = data.validaciones.filter(x => x.cursoNull == 'S')\r\n this.setState({\r\n validaciones: data.validaciones, nombreProf: data.nombreProfesor, horasTotal: data.horasTotal,\r\n otrasHoras: data.otrasHoras, horasLicencia: data.horasLicencia,\r\n atendidoVice: data.atendidoVice,\r\n decanoRespuestas: respuestas,\r\n tipoContrato: data.tipoContrato,\r\n enviado: data.enviado === \"AD\" || data.enviado === \"DD\" ? true : false,\r\n enviadoVRA: notCurso.length > 0 ? true : false,\r\n strDecisionDiretivo: data.strDecisionDiretivo,\r\n loading: false\r\n }) \r\n this.populateAUTH(data.idUnidad); \r\n }\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n /*console.log(this.state.decanoRespuestas);*/\r\n }\r\n\r\n populateAUTH(unidad) {\r\n fetch(local + 'validacion/getdataUATH/' + unidad, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAUATH\", data)*/\r\n this.setState({ dataUATH: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n isNotFound() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n agregarActividad() {\r\n this.props.history.push({\r\n pathname: '/agregarActividad/'+ this.props.match.params.id,\r\n })\r\n }\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n const key = target.id;\r\n //console.log(name);\r\n //console.log(target);\r\n //console.log(value);\r\n //console.log(key);\r\n }\r\n\r\n handleHideClick = (id) => {\r\n /*console.log(id)*/\r\n let obj = this.state.fila.find((o, i) => {\r\n if (o.id === id) {\r\n this.state.fila[i].validacion = 'si'\r\n return this.state.fila[i];\r\n }\r\n return null\r\n });\r\n if (obj === null) {\r\n this.state.fila.push({\r\n id: id,\r\n validacion: 'si'\r\n })\r\n }\r\n if (this.state.expanded.includes(id)) {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== id)\r\n }));\r\n }\r\n /*console.log(this.state.fila);*/\r\n this.validateInput();\r\n }\r\n\r\n updateStatus = (idValid, estado, solic) => {\r\n //updating hours\r\n /*console.log('CAMBIO HORASSSSS', idValid)*/\r\n //console.log('not filter', this.state.delegados)\r\n //console.log('filter', this.state.delegados.filter(x => x.intIdValidacionDet !== idValid))\r\n let val = this.state.validaciones.find(x => x.intIdValidacionDet === idValid)\r\n if (val.delegado === \"1\") {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== idValid),\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, solicitudForm: solic, estado: estado, delegado: \"0\"\r\n } : x)), delegados: this.state.delegados.filter(x => x.intIdValidacionDet !== idValid), \r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== idValid),\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n } : x)),\r\n revisados: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid && x.respuestaDecano === \"S\" ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n } : x)),\r\n revisadosVice: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid && x.respuestaVice === \"S\" ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n } : x))\r\n }));\r\n }\r\n\r\n\r\n }\r\n\r\n updateDelegado = (idValid) => {\r\n //console.log(\"ENTRO UPDATE DELEGAR\")\r\n //console.log(idValid)\r\n const coordinador = this.state.coordinadores.find(x => {\r\n return x.intIdPersona.toString() + x.idPrograma.toString() === this.state.idCoordinador + this.state.idPrograma\r\n });\r\n let validacion = this.state.validaciones.find(x => x.intIdValidacionDet === idValid)\r\n validacion.infoDelegado = { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n\r\n if (this.state.delegados.some(x => x.intIdValidacionDet === idValid)) {\r\n this.setState(() => ({\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, delegado: \"1\", estado: \"P\", solicitudForm: null,\r\n infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x)),\r\n delegados: this.state.delegados.map(x => (x.intIdValidacionDet === idValid ?\r\n {\r\n ...x, infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x))\r\n\r\n }), //console.log(this.state.validaciones)\r\n );\r\n } else {\r\n this.setState(() => ({\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, delegado: \"1\", estado: \"P\", solicitudForm: null,\r\n infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x)),\r\n delegados: [...this.state.delegados, validacion]\r\n\r\n }), //console.log(this.state.validaciones)\r\n );\r\n }\r\n }\r\n\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n if (tab != '1') {\r\n this.setState({ expanded: [] });\r\n }\r\n }\r\n\r\n handleShowClick = (id) => {\r\n const validacion = this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === id\r\n })\r\n \r\n if (!this.state.expanded.includes(id)) {\r\n //console.log(\"No lo incluye\", this.state.expanded);\r\n this.setState(() => ({\r\n expanded: [...this.state.expanded, id]\r\n }));\r\n } else {\r\n //console.log(\"Lo incluye\", this.state.expanded);\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== id)\r\n }));\r\n }\r\n //console.log(\"Final\", this.state.expanded);\r\n }\r\n\r\n handleCoordinadorChange(event) {\r\n const target = event.target;\r\n const value = target.value;\r\n const name = target.name;\r\n var coordinador = this.state.coordinadores.find(x => {\r\n return x.intIdPersona.toString() + x.idPrograma.toString() === value\r\n });\r\n\r\n this.setState({ idCoordinador: coordinador.intIdPersona.toString(), idPrograma: coordinador.idPrograma.toString() });\r\n /*console.log(this.state.fila);*/\r\n\r\n }\r\n\r\n rejectValidation = () => {\r\n if (this.state.idValid != '0') {\r\n this.setState({ rechazarState: 'L' });\r\n var currentTime = new Date();\r\n var year = currentTime.getFullYear()\r\n /*console.log(this.state.idValid)*/\r\n const idValidacion = this.state.idValid\r\n let solic = this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === parseInt(this.state.idValid)\r\n });\r\n //console.log(\"Reject\",solic);\r\n if (solic != null) {\r\n solic = toPostRequest(solic);\r\n solic.aprobado = 0;\r\n solic.anio = year;\r\n solic['observacion'] = this.state.observacion\r\n solic['tipoSolicitud'] = solic[\"strAccion\"];\r\n const data = JSON.stringify(solic)\r\n fetch(local + 'Validacion/PostValidacion', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n this.updateStatus(idValidacion, 'R', { fechaFin: '', fechaInicio: '', strObservacion: '', termino: '', nivel: '', idCargaUnidad: '', horasTotal: solic.totalHoras });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud rechazada',\r\n text: 'Observación guardada exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n //console.log(data)\r\n //console.log(response)\r\n });\r\n }\r\n this.setState({ rechazarState: 'N' });\r\n this.handleModal(false, '0')\r\n }\r\n //this.validateInput();\r\n\r\n //this.handleModal(false, '0')\r\n }\r\n\r\n handleEnviar = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({idProfesor: this.state.idProf, estado: this.state.checkContrato ? \"EDC\" : \"ED\", rol: \"S\"})\r\n fetch(local + 'Validacion/PostDecisionDirectivo', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n \r\n }\r\n\r\n handleEnviarCorrecionVice = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: \"EV\", rol: \"S\" })\r\n fetch(local + 'Validacion/PostDecisionDirectivoCorrectionVice', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n\r\n }\r\n\r\n handleEnviarCorrection = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: this.state.checkContrato ? \"EDC\" : \"ED\", rol: \"S\" })\r\n fetch(local + 'Validacion/PostDecisionDirectivoCorrection', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n\r\n }\r\n\r\n handleAprobarAutoridad = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: \"A\", rol: \"D\" })\r\n //console.log(data);\r\n fetch(local + 'Decano/PostDecisionAutoridad', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitudes Enviadas',\r\n text: 'No comentarios que enviar!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n } else {\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error ',\r\n confirmButtonText: 'salir',\r\n timer: 5000\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n }\r\n\r\n handleRechazarAutoridad = (event) => {\r\n event.preventDefault();\r\n const list = this.state.decanoRespuestas.map(item => {\r\n return {\r\n intIdPlnDecisionSolAutoridad: item.intIdPlnDecisionSolAutoridad,\r\n intIdValDetalle: item.intIdValDetalle,\r\n intIdProfesor: item.intIdProfesor,\r\n idplnsolicitudcambiodetactividades: item.idplnsolicitudcambiodetactividades,\r\n estado: item.estado,\r\n rol: item.rol,\r\n observacion: item.observacion\r\n }\r\n });\r\n const data = JSON.stringify(list)\r\n //console.log(data);\r\n fetch(local + 'Decano/PostValidacionDecano', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n } else {\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error',\r\n confirmButtonText: 'salir',\r\n timer: 5000\r\n })\r\n }\r\n /*console.log(response)*/\r\n });\r\n }\r\n\r\n delegar = () => {\r\n if (this.state.idValid != '0') {\r\n this.setState({ delegarState: 'L' });\r\n /*console.log(this.state.idValid)*/\r\n let solic = { \"idValDetalle\": this.state.idValid, \"idCoordinador\": this.state.idCoordinador, \"idProgramaSaacp\": this.state.idPrograma }\r\n const data = JSON.stringify(solic)\r\n fetch(local + 'Delegacion/PostDelegacionIndividual', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Delegación asignada',\r\n text: 'Delegación guardada exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.updateDelegado(this.state.idValid)\r\n this.handleModalReasignar(false, '0')\r\n this.setState({ delegarState: 'N' });\r\n }\r\n /*console.log(response)*/\r\n });\r\n }\r\n }\r\n\r\n removeDelegacion = (idVal) => {\r\n this.setState({\r\n delegados: this.state.delegados.filter(x => x.intIdValidacionDet !== idVal)\r\n })\r\n }\r\n\r\n aprobar = (estado) => {\r\n if (this.state.idValid != '0') {\r\n const delegacion = this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid))\r\n /*console.log(\"DELEGACIOOOOOON\", delegacion)*/\r\n let solic = { \"idSolicitudDet\": delegacion.infoDelegado.solicitudCoordinador.idValidDet, \"estado\": estado, \"observacion\": this.state.observacion }\r\n const data = JSON.stringify(solic)\r\n /*console.log(data)*/\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n if (estado === 'A') {\r\n this.removeDelegacion(parseInt(this.state.idValid))\r\n this.updateStatus(this.state.idValid, delegacion.infoDelegado.estadoCoordinador, delegacion.infoDelegado.solicitudCoordinador)\r\n } else {\r\n let val = this.state.validaciones.find(x => x.intIdValidacionDet === this.state.idValid)\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== this.state.idValid),\r\n delegados: this.state.delegados.map(x => (x.intIdValidacionDet === this.state.idValid ? {\r\n ...x, infoDelegado: {nombreCoordinador: x.infoDelegado.nombreCoordinador, estadoCoordinador: \"P\", solicitudCoordinador: null}\r\n } : x))\r\n }));\r\n }\r\n\r\n this.handleModalDelegar(false, '0', estado)\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n this.handleModalDelegar(false, '0', estado)\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleChangeModal(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n this.setState({ observacion: value });\r\n /*console.log(this.state.observacion);*/\r\n }\r\n\r\n handleChangeObservacionesDeca(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n let name = target.name.split('-');\r\n let cod = name[1];\r\n let observaciones = this.state.decanoRespuestas.filter(x => x.intIdValDetalle != cod);\r\n let nuevo = this.state.decanoRespuestas.filter(x => x.intIdValDetalle == cod)[0];\r\n nuevo.observacion = value;\r\n nuevo.estado = value == '' ? 'A' + nuevo.rol : 'R' + nuevo.rol;\r\n observaciones.push(nuevo);\r\n let comentados = observaciones.filter(x => x.observacion != \"\");\r\n let bandera = comentados.length > 0;\r\n //console.log(cod);\r\n //console.log(value);\r\n //console.log(observaciones);\r\n //console.log(nuevo);\r\n this.setState({ decanoRespuestas: observaciones, hayComentarios: bandera });\r\n \r\n }\r\n\r\n handleModal = (status, idValid, banderaI) => {\r\n //console.log('entro metodo')\r\n //console.log(status);\r\n /*console.log(banderaI)*/\r\n this.setState(() => ({\r\n show: status, idValid: idValid, observacion: '', infoDelegado: banderaI\r\n }));\r\n\r\n }\r\n\r\n //abrir o cerrar modal para delegar\r\n handleModalReasignar = (status, idValid) => {\r\n\r\n if (Object.keys(this.state.coordinadores).length === 0) {\r\n fetch(local + 'Validacion/GetCoordinadores', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log('DATA COORDINADORES', data)*/\r\n this.setState({ coordinadores: data, showReasignar: status, idValid: idValid, idCoordinador: 0, idPrograma: 0 })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n } else {\r\n /*console.log('entro metodo')*/\r\n //console.log(status);\r\n //console.log(idValid)\r\n this.setState(() => ({\r\n showReasignar: status, idValid: idValid, idCoordinador: '0', idPrograma: '0'\r\n }));\r\n }\r\n }\r\n\r\n handleModalDelegar = (status, idValid, aprobacion) => {\r\n if (aprobacion === \"A\") {\r\n if (status) {\r\n this.setState(() => ({\r\n showDelegarA: status, idValid: idValid\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n showDelegarA: status, idValid: idValid, observacion: ''\r\n }));\r\n }\r\n\r\n } else {\r\n if (status) {\r\n this.setState(() => ({\r\n showDelegarR: status, idValid: idValid\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n showDelegarR: status, idValid: idValid, observacion: ''\r\n }));\r\n }\r\n\r\n }\r\n }\r\n\r\n handleOnExpand = (row, isExpand, rowIndex, e) => {\r\n if (isExpand) {\r\n this.setState(() => ({\r\n expanded: [...this.state.expanded, row.id]\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== row.id)\r\n }));\r\n }\r\n\r\n }\r\n\r\n returnColor = (estado) => {\r\n return colorStatus[estado]\r\n }\r\n\r\n handleStateChange = (status) => {\r\n if (status.status === Sticky.STATUS_FIXED) {\r\n this.setState(() => ({\r\n sticky: true\r\n }));\r\n } else if (status.status === Sticky.STATUS_ORIGINAL) {\r\n this.setState(() => ({\r\n sticky: false\r\n }));\r\n }\r\n };\r\n\r\n render() {\r\n const { validaciones, delegados, revisados, revisadosVice, decanoRespuestas, hayComentarios, loading } = this.state;\r\n let decanoMode = window.location.pathname.includes('/profesorDecano/'); \r\n //console.log(decanoRespuestas);\r\n //console.log(hayComentarios);\r\n const expandRow = {\r\n renderer: (row, rowIndex) => (\r\n
\r\n {row.intIdCurso != \"0\" ?\r\n <>\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n : <>\r\n {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n }\r\n
\r\n ),\r\n expanded: this.state.expanded,\r\n onExpand: this.handleOnExpand,\r\n expandByColumnOnly: true\r\n };\r\n\r\n const expandRowDec = {\r\n renderer: (row, rowIndex) => (\r\n
\r\n {row.intIdCurso != \"0\" ?\r\n <> {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n : <>\r\n {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n }\r\n
\r\n ),\r\n expanded: this.state.expanded,\r\n onExpand: this.handleOnExpand,\r\n expandByColumnOnly: true\r\n };\r\n\r\n const expandRowVice = {\r\n renderer: (row, rowIndex) => (\r\n
\r\n {row.intIdCurso != \"0\" ?\r\n <> {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n : <>\r\n {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n }\r\n
\r\n ),\r\n expanded: this.state.expanded,\r\n onExpand: this.handleOnExpand,\r\n expandByColumnOnly: true\r\n };\r\n\r\n const columnsMat = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (this.state.enviado || !this.state.bandera),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) && row['cursoNull'] != 'S' ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {/*{!(decanoMode) && row['cursoNull'] != 'S' ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}*/}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'], row['delegado'] == 1 && row['infoDelegado']['estadoCoordinador'] !== 'P' )} /> : <>}\r\n
\r\n {this.state.roles.includes('SUBDECANO') && !(decanoMode) && row['cursoNull'] != 'S'\r\n ?
\r\n \"reassign\" this.handleModalReasignar(true, row['intIdValidacionDet'])} />\r\n
\r\n : <>}\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Estado',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n headerStyle: color_head_desc_mat('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['estado'] === 'A' ? \"APROBADO\" : row['estado'] === 'R' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n {row['delegado'] === '1' ? <>\r\n
\r\n
\r\n DELEGADO\r\n
\r\n \r\n :\r\n <>}\r\n \r\n\r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsMatDel = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'infoDelegado.nombreCoordinador',\r\n text: 'Coordinador',\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Estado Coordinador',\r\n datafield: 'infoDelegado.estadoCoordinador',\r\n headerStyle: color_head_desc_mat('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n\r\n
\r\n {row['infoDelegado']['estadoCoordinador'] === 'A' ? \"APROBADO\" : row['infoDelegado']['estadoCoordinador'] === 'R' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n\r\n\r\n )\r\n }\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['infoDelegado']['estadoCoordinador'] !== 'P' ?\r\n
\r\n \"check\" this.handleShowClick(row['intIdValidacionDet'])} />\r\n
\r\n :
\r\n \"reassign\" this.handleModalReasignar(true, row['intIdValidacionDet'])} />\r\n
}\r\n \r\n )\r\n }\r\n }];\r\n\r\n const columnsMatRev = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'infoDelegado.nombreCoordinador',\r\n text: 'Coordinador',\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Estado Coordinador',\r\n datafield: 'infoDelegado.estadoCoordinador',\r\n headerStyle: color_head_desc_mat('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n\r\n
\r\n {row['infoDelegado']['estadoCoordinador'] === 'A' ? \"APROBADO\" : row['infoDelegado']['estadoCoordinador'] === 'R' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n\r\n\r\n )\r\n }\r\n }];\r\n\r\n const columnsMatDec = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!this.state.banderaDec),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsMatDecResp = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacionDecano',\r\n text: 'Observación Decano', \r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!this.state.banderaDec),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsMatViceResp = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacionVicerrector',\r\n text: 'Observación Vicerrector',\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!this.state.banderaVice),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsAct = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: this.state.enviado || !this.state.bandera,\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) && row['cursoNull'] != 'S' ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'], row['delegado'] == 1 && row['infoDelegado']['estadoCoordinador'] !== 'P')} /> : <>}\r\n
\r\n {this.state.roles.includes('SUBDECANO') && !(decanoMode) && row['cursoNull'] != 'S'\r\n ?
\r\n \"reassign\" this.handleModalReasignar(true, row['intIdValidacionDet'])} />\r\n
\r\n : <>}\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Estado',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_act('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['estado'] === 'A' ? \"APROBADO\" : row['estado'] === 'R' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n {row['delegado'] === '1' ? <>\r\n
\r\n
\r\n DELEGADO\r\n
\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n\r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsActDel = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'infoDelegado.nombreCoordinador',\r\n text: 'Coordinador',\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Estado Coordinador',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n headerStyle: color_head_desc_act('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['infoDelegado']['estadoCoordinador'] === 'A' ? \"APROBADO\" : row['infoDelegado']['estadoCoordinador'] === 'R' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['infoDelegado']['estadoCoordinador'] !== 'P' ?\r\n
\r\n \"check\" this.handleShowClick(row['intIdValidacionDet'])} />\r\n
\r\n :
\r\n \"reassign\" this.handleModalReasignar(true, row['intIdValidacionDet'])} />\r\n
}\r\n \r\n\r\n )\r\n }\r\n }];\r\n\r\n const columnsActDec = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!this.state.banderaDec),\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsActDecResp = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacionDecano',\r\n text: 'Observación Decano',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!this.state.banderaDec),\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsActViceResp = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacionVicerrector',\r\n text: 'Observación Vicerrector',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!this.state.banderaVice),\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('DECANO') && (decanoMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"check\" this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {!(decanoMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' || row['strObservacionVicerrector'] != 'Aprobado Por Vicerrectorado'?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const elemModalEscogido = this.state.idValid !== \"0\" ? this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === parseInt(this.state.idValid)\r\n }) : null;\r\n\r\n const gradoAsi = validaciones.filter(x => x.strTipo === \"M|R\");\r\n const gradoAct = validaciones.filter(x => x.strTipo === \"A|R\");\r\n const posgradoAsi = validaciones.filter(x => x.strTipo === \"M|P\");\r\n const posgradoAct = validaciones.filter(x => x.strTipo === \"A|P\");\r\n const invAct = validaciones.filter(x => x.strTipo === \"A|I\");\r\n const vinAct = validaciones.filter(x => x.strTipo === \"A|V\");\r\n const gesAct = validaciones.filter(x => x.strTipo === \"A|G\");\r\n\r\n\r\n const gradoAsiDel = delegados.filter(x => x.strTipo === \"M|R\");\r\n const gradoActDel = delegados.filter(x => x.strTipo === \"A|R\");\r\n const posgradoAsiDel = delegados.filter(x => x.strTipo === \"M|P\");\r\n const posgradoActDel = delegados.filter(x => x.strTipo === \"A|P\");\r\n const invActDel = delegados.filter(x => x.strTipo === \"A|I\");\r\n const vinActDel = delegados.filter(x => x.strTipo === \"A|V\");\r\n const gesActDel = delegados.filter(x => x.strTipo === \"A|G\");\r\n\r\n const gradoAsiRev = revisados.filter(x => x.strTipo === \"M|R\");\r\n const gradoActRev = revisados.filter(x => x.strTipo === \"A|R\");\r\n const posgradoAsiRev = revisados.filter(x => x.strTipo === \"M|P\");\r\n const posgradoActRev = revisados.filter(x => x.strTipo === \"A|P\");\r\n const invActRev = revisados.filter(x => x.strTipo === \"A|I\");\r\n const vinActRev = revisados.filter(x => x.strTipo === \"A|V\");\r\n const gesActRev = revisados.filter(x => x.strTipo === \"A|G\");\r\n\r\n const gradoAsiRevVice = revisadosVice.filter(x => x.strTipo === \"M|R\");\r\n const gradoActRevVice = revisadosVice.filter(x => x.strTipo === \"A|R\");\r\n const posgradoAsiRevVice = revisadosVice.filter(x => x.strTipo === \"M|P\");\r\n const posgradoActRevVice = revisadosVice.filter(x => x.strTipo === \"A|P\");\r\n const invActRevVice = revisadosVice.filter(x => x.strTipo === \"A|I\");\r\n const vinActRevVice = revisadosVice.filter(x => x.strTipo === \"A|V\");\r\n const gesActRevVice = revisadosVice.filter(x => x.strTipo === \"A|G\");\r\n\r\n //adminsiones\r\n const adminMat = validaciones.filter(x => x.strTipo === \"M|A\");\r\n const adminMatDel = validaciones.filter(x => x.strTipo === \"M|A\");\r\n const adminMatRev = validaciones.filter(x => x.strTipo === \"M|A\");\r\n const adminMatRevVice = validaciones.filter(x => x.strTipo === \"M|A\");\r\n\r\n const objHour = rankHours[this.state.tipoContrato];\r\n\r\n let horasTPL = this.state.horasTotal + this.state.horasLicencia;\r\n\r\n let otrasHoras = this.state.otrasHoras;\r\n\r\n\r\n let horasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|R\" || x.strTipo === \"M|P\") && x.strAccion === \"Modificar Carga\") && x.esProf !== \"S\").reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n let horasModificadas = (horasTPL + horasRequeridas);\r\n\r\n let otrashorasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|P\") && x.strAccion === \"Modificar Carga\") && x.esProf == \"S\").reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n let otrashorasModificadas = (this.state.otrasHoras + otrashorasRequeridas);\r\n\r\n if (this.state.atendidoVice == \"S\") { \r\n\r\n horasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|R\" || x.strTipo === \"M|P\")\r\n && x.strAccion === \"Modificar Carga\") && x.esProf !== \"S\"\r\n && (x.respuestaVice == \"S\" && x.strObservacionVicerrector == \"Aprobado Por Vicerrectorado\")).reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n horasModificadas = (horasTPL);\r\n\r\n horasTPL = horasModificadas - horasRequeridas;\r\n\r\n otrashorasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|P\")\r\n && x.strAccion === \"Modificar Carga\") && x.esProf == \"S\" && (x.respuestaVice == \"S\"\r\n && x.strObservacionVicerrector == \"Aprobado Por Vicerrectorado\")).reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n otrashorasModificadas = (this.state.otrasHoras);\r\n\r\n otrasHoras = otrashorasModificadas - otrashorasRequeridas;\r\n }\r\n\r\n //console.log('Decano Mode ',decanoMode);\r\n //console.log('Validaciones ',validaciones.length > 0);\r\n //console.log('Enviado ', (this.state.enviado));\r\n //console.log('Activado ', (this.state.activeTab));\r\n //console.log('ViceAtento ', this.state.atentoVice);\r\n\r\n /*console.log(\"HORAS MODIFICADAS\", horasModificadas)*/\r\n return (\r\n <>\r\n
\r\n {this.state.roles.includes('SUBDECANO') || this.state.roles.includes('DECANO') || this.state.roles.includes('COORDINADOR')\r\n ?\r\n this.handleStateChange}>\r\n
\r\n \r\n \r\n
\r\n {this.state.nombreProf.split('/')[1]}\r\n
\r\n \r\n
\r\n \r\n \r\n DEDICACION: \r\n\r\n {objHour ? objHour.label : \"\"}\r\n\r\n \r\n \r\n RANGO DE HORAS: \r\n MIN: {objHour ? parseInt(objHour.min).toLocaleString('en', { maximumFractionDigits: 2 }) : \"\"}H - MAX: {objHour ? parseInt(objHour.max).toLocaleString('en', { maximumFractionDigits: 2 }) : \"\"}H\r\n \r\n \r\n HORAS DE LICENCIAS:  \r\n {this.state.horasLicencia.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
: <>}\r\n
\r\n {this.state.roles.includes('SUBDECANO') && !this.state.enviado && !(decanoMode)\r\n ?\r\n \r\n
\"alert\" INFORMACIÓN
\r\n
Para realizar delegaciones múltiples recuerde usar la opción del menú principal de la izquierda
\r\n
: <>}\r\n\r\n {this.state.roles.includes('SUBDECANO') && this.state.enviado && !(decanoMode)\r\n ?\r\n \r\n
\"alert\" INFORMACIÓN
\r\n
Las observaciones del presente profesor no pueden editarse pues ya se envio al Decano.
\r\n
: <>}\r\n \r\n \r\n \r\n {loading ? : <>}\r\n {this.state.enviado ? <> :\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(gradoAsi.length > 0 || gradoAct.length > 0) ?

DOCENCIA GRADO

: <>}\r\n {gradoAsi.length > 0 ? <>\r\n
\r\n : <>}\r\n {gradoAct.length > 0 ? <>\r\n
\r\n : <>}\r\n {(adminMat.length > 0) ?

ADMISIONES

: <>}\r\n {adminMat.length > 0 ? <>\r\n
\r\n : <>}\r\n {(posgradoAsi.length > 0 || posgradoAct.length > 0) ?

DOCENCIA POSGRADO

: <>}\r\n {posgradoAsi.length > 0 ? <>\r\n
\r\n : <>}\r\n {posgradoAct.length > 0 ? <>\r\n
\r\n : <>}\r\n {invAct.length > 0 ? <>\r\n

INVESTIGACIÓN

\r\n
\r\n : <>}\r\n {gesAct.length > 0 ? <>\r\n

GESTIÓN ACADÉMICA

\r\n
\r\n : <>}\r\n {vinAct.length > 0 ? <>\r\n

VINCULACIÓN

\r\n
\r\n : <>}\r\n {validaciones.filter(x => x.delegado === \"0\").length === this.state.validaciones.length &&\r\n validaciones.every(x => x.solicitudForm !== null) && objHour && validaciones.some(x => x.estado === \"A\") && !this.state.enviado ?\r\n
\r\n \r\n \r\n \r\n \r\n {!(objHour.min <= horasModificadas) ?\r\n \r\n : <>}\r\n \r\n
\r\n : <>\r\n \r\n }\r\n {this.state.enviado ? <> :\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n decanoMode && validaciones.length > 0 && !(this.state.enviado) && this.state.banderaDec ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : <>\r\n }\r\n

\r\n this.handleModal(false, '0')}>\r\n \r\n Rechazar observación\r\n \r\n \r\n Escriba el motivo por el cual rechaza la observación\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n this.handleModalReasignar(false, '0')}>\r\n \r\n Asignar Delegación\r\n \r\n \r\n Elija el coordinador a delegar\r\n \r\n \r\n {elemModalEscogido ?\r\n this.state.coordinadores.filter(x => (elemModalEscogido.strTipo === 'M|P' || elemModalEscogido.strTipo === 'A|P') ? !x.esGrado : x.esGrado).map(ej =>\r\n \r\n ) : <>}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n {this.state.roles.includes('SUBDECANO') ?\r\n \r\n {delegados.length === 0 ? No hubo resultados : <>}\r\n {(gradoAsiDel.length > 0 || gradoActDel.length > 0) ?

DOCENCIA GRADO

: <>}\r\n {gradoAsiDel.length > 0 ? <>\r\n
\r\n : <>}\r\n {gradoActDel.length > 0 ? <>\r\n
\r\n : <>}\r\n {(posgradoAsiDel.length > 0 || posgradoActDel.length > 0) ?

DOCENCIA POSGRADO

: <>}\r\n {posgradoAsiDel.length > 0 ? <>\r\n
\r\n : <>}\r\n {posgradoActDel.length > 0 ? <>\r\n
\r\n : <>}\r\n {invActDel.length > 0 ? <>\r\n

INVESTIGACIÓN

\r\n
\r\n : <>}\r\n {gesActDel.length > 0 ? <>\r\n

GESTIÓN ACADÉMICA

\r\n
\r\n : <>}\r\n {vinActDel.length > 0 ? <>\r\n

VINCULACIÓN

\r\n
\r\n : <>}\r\n\r\n this.handleModalDelegar(false, '0', 'R')}>\r\n \r\n Rechazar cambio del Coordinador\r\n \r\n \r\n Escriba el motivo por el cual rechaza el cambio sugerido por el Coordinador\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n this.handleModalDelegar(false, '0', 'A')}>\r\n \r\n Aceptar cambio del Coordinador\r\n \r\n \r\n {this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid)) && this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid)).infoDelegado.estadoCoordinador === 'R' ?\r\n \"Escriba la razón al profesor por la cuál la observación es Aceptada\"\r\n : \"Escriba la recomendación que se le presentará al VRA\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n : <>}\r\n {this.state.roles.includes('SUBDECANO') ?\r\n \r\n {revisados.length === 0 ? No hubo resultados : <>}\r\n {(gradoAsiRev.length > 0 || gradoActRev.length > 0) ?

DOCENCIA GRADO

: <>}\r\n {gradoAsiRev.length > 0 ? <>\r\n
\r\n : <>}\r\n {gradoActRev.length > 0 ? <>\r\n
\r\n : <>}\r\n {(posgradoAsiRev.length > 0 || posgradoActRev.length > 0) ?

DOCENCIA POSGRADO

: <>}\r\n {posgradoAsiRev.length > 0 ? <>\r\n
\r\n : <>}\r\n {posgradoActRev.length > 0 ? <>\r\n
\r\n : <>}\r\n {invActRev.length > 0 ? <>\r\n

INVESTIGACIÓN

\r\n
\r\n : <>}\r\n {gesActRev.length > 0 ? <>\r\n

GESTIÓN ACADÉMICA

\r\n
\r\n : <>}\r\n {vinActRev.length > 0 ? <>\r\n

VINCULACIÓN

\r\n
\r\n : <>}\r\n {validaciones.filter(x => x.delegado === \"0\").length === this.state.validaciones.length &&\r\n validaciones.every(x => x.solicitudForm !== null) && objHour && validaciones.some(x => x.estado === \"A\") ?\r\n
\r\n \r\n \r\n \r\n \r\n {!(objHour.min <= horasModificadas) ?\r\n \r\n : <>\r\n }\r\n \r\n
\r\n : <>\r\n }\r\n this.handleModalDelegar(false, '0', 'R')}>\r\n \r\n Rechazar cambio del Coordinador\r\n \r\n \r\n Escriba el motivo por el cual rechaza el cambio sugerido por el Coordinador\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n this.handleModalDelegar(false, '0', 'A')}>\r\n \r\n Aceptar cambio del Coordinador\r\n \r\n \r\n {this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid)) && this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid)).infoDelegado.estadoCoordinador === 'R' ?\r\n \"Escriba la razón al profesor por la cuál la observación es rechazada\"\r\n : \"Escriba la recomendación que se le presentará al VRA\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n : <>}\r\n {this.state.roles.includes('SUBDECANO') ?\r\n \r\n {revisadosVice.length === 0 ? No hubo resultados : <>}\r\n {(gradoAsiRevVice.length > 0 || gradoActRevVice.length > 0) ?

DOCENCIA GRADO

: <>}\r\n {gradoAsiRevVice.length > 0 ? <>\r\n
\r\n : <>}\r\n {gradoActRevVice.length > 0 ? <>\r\n
\r\n : <>}\r\n {(posgradoAsiRevVice.length > 0 || posgradoActRevVice.length > 0) ?

DOCENCIA POSGRADO

: <>}\r\n {posgradoAsiRevVice.length > 0 ? <>\r\n
\r\n : <>}\r\n {posgradoActRevVice.length > 0 ? <>\r\n
\r\n : <>}\r\n {invActRevVice.length > 0 ? <>\r\n

INVESTIGACIÓN

\r\n
\r\n : <>}\r\n {gesActRevVice.length > 0 ? <>\r\n

GESTIÓN ACADÉMICA

\r\n
\r\n : <>}\r\n {vinActRevVice.length > 0 ? <>\r\n

VINCULACIÓN

\r\n
\r\n : <>}\r\n {validaciones.filter(x => x.delegado === \"0\").length === this.state.validaciones.length &&\r\n validaciones.every(x => x.solicitudForm !== null) && objHour && validaciones.some(x => x.estado === \"A\") ?\r\n
\r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n {!(objHour.min <= horasModificadas) ?\r\n \r\n : <>}\r\n\r\n \r\n
\r\n : <>\r\n }\r\n this.handleModalDelegar(false, '0', 'R')}>\r\n \r\n Rechazar cambio del Coordinador\r\n \r\n \r\n Escriba el motivo por el cual rechaza el cambio sugerido por el Coordinador\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n this.handleModalDelegar(false, '0', 'A')}>\r\n \r\n Aceptar cambio del Coordinador\r\n \r\n \r\n {this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid)) && this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid)).infoDelegado.estadoCoordinador === 'R' ?\r\n \"Escriba la razón al profesor por la cuál la observación es rechazada\"\r\n : \"Escriba la recomendación que se le presentará al VRA\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n : <>}\r\n
\r\n \r\n );\r\n }\r\n}\r\nExpandTable.contextType = AppContext;\r\nexport default withRouter(ExpandTable);","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Form, FormGroup, Label, Input, Row, Col, Button, Spinner } from 'reactstrap';\r\nimport './css/Formulario.css';\r\nimport { toPostRequest, getWeeksDiff } from './functions/ExpandTableFunctions';\r\nimport Swal from 'sweetalert2'\r\nimport withReactContent from 'sweetalert2-react-content'\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\nconst MySwal = withReactContent(Swal)\r\n\r\nconst ejSelect = [{ 'txt': 'Alola', 'id': 1 }, { 'txt': 'Fium', 'id': 3 }, { 'txt': 'Powder', 'id': 2 }]\r\nconst nivel = [{ 'txt': 'Grado', 'id': 1 }, { 'txt': 'Postgrado', 'id': 2 }, { 'txt': 'Admisiones', 'id': 3 }]\r\n\r\nclass FormularioMateriaVice extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n idForm: this.props.idForm ?? '0', fila: this.props.profesor.solicitudForm ?? {},\r\n next: false, profesor: this.props.profesor ?? null, idProf: this.props.idProf ?? '0',\r\n nombreProf: this.props.nombreProf ?? '', dataForm: this.props.dataForm ?? [],\r\n mensaje: '', viewDelegar: this.props.viewDelegar, infoDelegar: this.props.profesor.infoDelegado ?? null,\r\n horas: this.props.profesor.solicitudForm != null ? this.props.profesor.solicitudForm.horasTotal : this.props.profesor.totalHoras,\r\n roles: this.props.roles ?? [],\r\n infoDelegado: this.props.infoDelegado ?? false,\r\n banderaDecano: this.props.banderaDecano ?? false,\r\n messageUnidad: '', alertUnidad: true, messageNivel: '', alertNivel: true, messageTermino: '', alertTermino: true,\r\n FormEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n fileState: 'N',\r\n termino: this.props.profesor.strPeriodo.trim(),\r\n decanoRespuestas: this.props.decanoRespuestas\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n //console.log(this.state.fila);\r\n //console.log(this.props.profesor);\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n var dto = this.state.fila;\r\n let duracionTipo = 0;\r\n if (dto.nhorasSem > 0) {\r\n duracionTipo = dto.nhorasSem;\r\n } else {\r\n duracionTipo = this.state.profesor.duracionTipo;\r\n }\r\n dto[name] = value;\r\n if (name === \"termino\") {\r\n const nivel = this.state.profesor.strTipo === \"M|R\" ? \"1\" : this.state.profesor.strTipo === \"M|P\" ? \"2\" : \"1\";\r\n if (nivel === \"1\") {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === parseInt(value)).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === parseInt(value)).fechaFin\r\n \r\n } else {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === parseInt(value)).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === parseInt(value)).fechaFin\r\n }\r\n\r\n }\r\n else if ((name === \"fechaInicio\" || name === \"fechaFin\")) {\r\n let semanas = 0;\r\n if (name === \"fechaInicio\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(value), Date.parse(dto[\"fechaFin\"]));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n } else if (name === \"fechaFin\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(value));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n }\r\n\r\n }\r\n\r\n this.setState({ fila: dto });\r\n //console.log(this.state.fila);\r\n\r\n }\r\n\r\n cleanForm = () => {\r\n /*console.log('entro a clean y limpio')*/\r\n let profesor = this.state.fila;\r\n profesor.fechaInicio = \"\";\r\n profesor.fechaFin = \"\"\r\n profesor.termino = \"0\"\r\n profesor.nivel = \"0\"\r\n profesor.idCargaUnidad = \"0\"\r\n this.setState({\r\n fila: profesor\r\n })\r\n /*console.log(this.state.fila)*/\r\n }\r\n\r\n mensajeUnidad(texto) {\r\n this.setState({ alertUnidad: false, messageUnidad: texto })\r\n }\r\n\r\n mensajeNivel(texto) {\r\n /*console.log(texto);*/\r\n this.setState({ alertNivel: false, messageNivel: texto })\r\n }\r\n\r\n mensajeTermino(texto) {\r\n /*console.log(texto);*/\r\n this.setState({ alertTermino: false, messageTermino: texto })\r\n }\r\n\r\n comprobar = () => {\r\n return this.state.fila.idCargaUnidad === \"0\" || this.state.fila.idCargaUnidad === undefined;\r\n }\r\n\r\n comprobarNivel = () => {\r\n return this.state.fila.nivel === \"0\" || this.state.fila.nivel === undefined;\r\n }\r\n\r\n comprobarTermino = () => {\r\n return this.state.fila.termino === \"0\" || this.state.fila.termino === undefined;\r\n }\r\n\r\n handleSave = (event) => {\r\n event.preventDefault(); \r\n let problemas = 0;\r\n const forma = new FormData(event.target);\r\n let dto = this.state.fila;\r\n /*console.log(forma)*/\r\n\r\n if (this.state.profesor[\"strAccion\"] === \"Eliminar Carga\") {\r\n dto = toPostRequest(this.state.profesor);\r\n dto[\"observacion\"] = forma.get(\"observacion\")\r\n dto[\"totalHoras\"] = 0\r\n } else {\r\n forma.forEach((value, clave) => {\r\n dto[clave] = value;\r\n })\r\n if (dto != null) {\r\n dto[\"idPersona\"] = this.state.idProf;\r\n dto[\"idValidacionDet\"] = this.state.idForm;\r\n /* dto[\"idAutoridad\"]= this.state.idautoridad; */\r\n }\r\n \r\n }\r\n dto[\"aprobado\"] = 1\r\n const data = JSON.stringify(dto);\r\n /*console.log(data);*/\r\n\r\n if(this.state.profesor.strAccion !== \"Eliminar Carga\"){\r\n if (this.comprobar()) {\r\n problemas++;\r\n this.mensajeUnidad('Por favor seleccione una unidad.')\r\n } else {\r\n this.setState({ alertUnidad: true });\r\n }\r\n\r\n if (this.comprobarNivel()) {\r\n problemas++;\r\n this.mensajeNivel('Por favor seleccione un nivel.')\r\n } else {\r\n this.setState({ alertTermino: true });\r\n }\r\n\r\n if (this.comprobarTermino()) {\r\n problemas++;\r\n this.mensajeTermino('Por favor seleccione un término.')\r\n } else {\r\n this.setState({ alertTermino: true });\r\n }\r\n } \r\n\r\n /*console.log(\"PROBLEMAAAAAAAAAAS\",problemas)*/\r\n\r\n if (problemas == 0) {\r\n this.setState({ fileState: 'L' });\r\n // to test\r\n // const val = {\r\n // termino: this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino,\r\n // horasTotal: parseInt(dto['totalHoras']), strObservacion: dto['observacion'], fechaFin: dto.fechaFin, fechaInicio: dto.fechaInicio,\r\n // nivel: dto.nivel, idCargaUnidad: dto.idCargaUnidad\r\n // }\r\n // this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n // const objUpdated = {}\r\n // MySwal.fire({\r\n // icon: 'success',\r\n // title: 'Solicitud ingresada',\r\n // text: 'Datos guardados exitosamente!',\r\n // confirmButtonText: 'Listo',\r\n // timer: 5000\r\n // })\r\n\r\n fetch(local + 'Validacion/PostValidacion', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ next: true });\r\n /*console.log('alola')*/\r\n this.setState({ fileState: 'N' });\r\n let val = this.state.fila;\r\n val['nivel'] = dto['nivel']\r\n val['horasTotal'] = dto['totalHoras']\r\n val['strObservacion'] = dto['observacion']\r\n this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n this.setState({ fileState: 'N' });\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n\r\n }\r\n });\r\n }\r\n this.setState({ fileState: 'N' });\r\n }\r\n\r\n handleDecision = (estado) => {\r\n const idDet = this.state.infoDelegar.solicitudCoordinador.idValidDet\r\n const data = JSON.stringify({ idSolicitudDet: idDet, estado: estado })\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { infoDelegar, termino } = this.state;\r\n const nivel = this.state.profesor.strTipo === \"M|R\" ? \"1\" : this.state.profesor.strTipo === \"M|P\" ? \"2\" : \"1\";\r\n //console.log(this.state.profesor.strPeriodo);\r\n //console.log('Termino', termino); \r\n let terminoCut = termino.replace('-',' ');\r\n //console.log('Termino-Cut', terminoCut);\r\n let idtermino = nivel === 1 ? this.state.dataForm.terminos['grado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo }) : this.state.dataForm.terminos['posgrado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo });\r\n //console.log(idtermino);\r\n\r\n let fechaInicioBeta = this.state.fila.fechaInicio != undefined ? this.state.fila.fechaInicio : nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio;\r\n\r\n let fechaFinBeta = this.state.fila.fechaFin != undefined ? this.state.fila.fechaFin : nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin;\r\n //console.log('fechaInicio', fechaInicioBeta);\r\n //console.log('fechaFin', fechaFinBeta);\r\n\r\n let inputTermino;\r\n\r\n /*let observacionDec = this.state.decanoRespuestas.filter(x => x.intIdValDetalle === this.state.idForm).map(x => { return x.observacion });*/\r\n\r\n let idCargaUnidad = this.state.profesor.unidadPlanifica != null ? this.state.dataForm.unidades.filter(x => x.nombreUnidad === this.state.profesor.unidadPlanifica).map(ex => ex.idUnidad) : 0;\r\n \r\n if (nivel === \"1\" || nivel === \"2\") {\r\n inputTermino = \r\n \r\n {nivel === \"1\" ?\r\n this.state.dataForm.terminos['grado'].map(ej =>\r\n \r\n )\r\n : this.state.dataForm.terminos['posgrado'].map(ej =>\r\n \r\n )\r\n }\r\n \r\n } else {\r\n inputTermino = \r\n\r\n \r\n }\r\n return (\r\n
\r\n
\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idUnidad === parseInt(infoDelegar.solicitudCoordinador.idCargaUnidad)).nombreUnidad\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataForm.unidades.map(ej =>\r\n \r\n )} \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.state.viewDelegar === \"2\" ? :\r\n inputTermino}\r\n \r\n
\r\n \r\n
\r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n }\r\n {this.state.viewDelegar === \"2\" && (infoDelegar.estadoCoordinador === \"R\" || this.state.profesor.strAccion === \"Eliminar Carga\") ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FormularioMateriaVice;","import React from 'react';\r\nimport Select from 'react-select';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Form, FormGroup, Label, Input, Row, Col, Button, Spinner} from 'reactstrap';\r\nimport { toPostRequest, getWeeksDiff } from './functions/ExpandTableFunctions';\r\nimport { BsFileEarmarkArrowUp, BsFileEarmarkArrowDown, BsFileEarmarkCheck, BsFileEarmarkX } from 'react-icons/bs';\r\nimport { HiDocumentDownload } from 'react-icons/hi';\r\nimport './css/Formulario.css';\r\nimport Swal from 'sweetalert2'\r\nimport withReactContent from 'sweetalert2-react-content'\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\nconst localFront = url.localFront;\r\nconst MySwal = withReactContent(Swal)\r\n\r\nconst GRADO_NIVEL = \"1\";\r\nconst POSGRADO_NIVEL = \"2\";\r\nconst ADMISIONES_NIVEL = \"3\";\r\nconst ejSelect = [{ 'txt': 'Alola', 'id': 1 }, { 'txt': 'Fium', 'id': 3 }, { 'txt': 'Powder', 'id': 2 }]\r\nconst nivel = [{ 'txt': 'Grado', 'id': 1 }, { 'txt': 'Postgrado', 'id': 2 }, { 'txt': 'Admisiones', 'id': 3 }]\r\nconst tipoCalc = {\r\n 'S': (duracion, periodos) => {\r\n let semanas = 0;\r\n if (periodos.find(x => { return /PAE/i.test(x.label) }) !== undefined) {\r\n semanas += 8;\r\n }\r\n var perOrd = periodos.filter(x => { return /PAO/i.test(x.label) });\r\n semanas += perOrd.length * 20\r\n\r\n return semanas * duracion\r\n },\r\n 'H': (duracion, periodos) => { return duracion * periodos.length },\r\n 'A': (duracion, periodos) => { return duracion }\r\n //h semestral a anual s semanal\r\n }\r\n\r\nconst valUATHP = 'CA'\r\nconst ANIO = '2022'\r\n\r\nclass FormularioActVice extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n idForm: this.props.idForm ?? '0', fila: this.props.profesor.solicitudForm ?? {}, \r\n next: false, profesor: this.props.profesor ?? null, idProf: this.props.idProf ?? '0',\r\n nombreProf: this.props.nombreProf ?? '',\r\n idUnidad: this.props.idUnidad ?? 0,\r\n dataForm: this.props.dataForm ?? [], readOnly: false,\r\n dataUATH: this.props.dataUATH ?? [],\r\n infoDelegado: this.props.infoDelegado ?? false,\r\n horas: this.props.profesor.solicitudForm != null ? this.props.profesor.solicitudForm.horasTotal : this.props.profesor.totalHoras,\r\n multiTermino: \"\",\r\n terminos: this.props.profesor.solicitudForm != null ? this.props.profesor.solicitudForm.termino.trim().split(\" \") : [],\r\n termino: this.props.profesor.strPeriodo,\r\n /*termino: ' PAE 2021 PAO 2021-1 PAO 2021-2',*/\r\n mensaje: '', viewDelegar: this.props.viewDelegar, infoDelegar: this.props.profesor.infoDelegado ?? null,\r\n sisUATH: this.props.profesor.sisUATH ?? 'XX',\r\n /*sisUATH: this.props.profesor.intIdValidacionDet == 9089 ? 'CA' : this.props.profesor.intIdValidacionDet == 9094 ? 'CV' : this.props.profesor.intIdValidacionDet == 9090 ? 'RE': 'XX',*/\r\n roles: this.props.roles ?? [],\r\n banderaDecano: this.props.banderaDecano ?? false,\r\n alertPrograma: true, alertUnidad: true, alertNivel: true, alertTermino: true,\r\n FormEstado: [{ cod: 'R', nombre: '' },{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }, { cod: 'B', nombre: 'Error' }, { cod: 'G', nombre: 'Listo' }],\r\n formState: 'N',\r\n nivelBeta: 1,\r\n file: undefined,\r\n fileName: undefined,\r\n fileState: 'N',\r\n rutaArchivo: '',\r\n formaFile: {'fileName': undefined, 'formFile': undefined },\r\n promcarr: this.props.profesor.sisUATH == 'CC' || this.props.profesor.sisUATH == 'CP' || this.props.profesor.sisUATH == 'CV' ? 'C' : this.props.profesor.sisUATH == 'CA' && this.props.profesor.solicitudForm !=null && this.props.profesor.solicitudForm.idcarrera > 0 ? 'C' : 'P',\r\n /*promcarr: this.props.profesor.intIdValidacionDet == 9089 ? this.props.profesor.solicitudForm.idcarrera > 0 ? 'C' : 'P' : this.props.profesor.intIdValidacionDet == 9094 ? 'C': 'P',*/\r\n typeSelect: [{ cod: 'P', nombre: 'Programa' }, { cod: 'C', nombre: 'Carrera' }],\r\n EditHoras: this.props.profesor.tieneLimite ?? 'N' \r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleMultipleChange = this.handleMultipleChange.bind(this);\r\n this.onChangeFile = this.onChangeFile.bind(this);\r\n this.onChangePorC = this.onChangePorC.bind(this); \r\n //console.log('unidad: ',this.props.idUnidad);\r\n //console.log('terminos', this.state.terminos);\r\n //console.log('fila: ', this.state.fila);\r\n //console.log('infoDelegar: ', this.state.infoDelegar);\r\n\r\n }\r\n\r\n onChangeFile(e) { \r\n //console.log(e.target.files[0]);\r\n //console.log(e.target.files[0].name);\r\n this.setState({ file: e.target.files[0], fileName: e.target.files[0].name })\r\n }\r\n\r\n onChangePorC(e) {\r\n /*console.log(e.target.value);*/\r\n var id = e.target.value; \r\n this.setState({ promcarr: id });\r\n }\r\n\r\n needProgram(text) {\r\n let list = ['RE', 'VR', 'DG'];\r\n return list.includes(text);\r\n }\r\n\r\n handleUpFile() { \r\n this.setState({ fileState: 'L' });\r\n var dto = this.state.fila;\r\n //console.log(\"formFile\", this.state.file);\r\n //console.log(\"fileName\", this.state.fileName);\r\n let formData = new FormData();\r\n formData.set(\"fileName\", this.state.fileName);\r\n formData.append(\"formFile\", this.state.file);\r\n //735650, 694076\r\n try {\r\n fetch(local + \"File/CargarDocumento\",\r\n { \r\n method: 'POST',\r\n body: formData\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n if (data.operation.length > 0) { \r\n this.setState({ fileState: 'B' });\r\n } else {\r\n dto.rutaarchivo = data.idFile;\r\n this.setState({ fila: dto, fileState: 'G' });\r\n }\r\n \r\n });\r\n /*console.log(this.state.fila);*/\r\n } catch (ie) {\r\n this.setState({ fileState: 'B' });\r\n console.log(\"Error: \" + ie);\r\n } \r\n /*this.setState({ fileState: 'B' });*/\r\n }\r\n\r\n getPdf(link) {\r\n let a = link.split(',');\r\n let id = a[a.length - 1];\r\n let enlace = localFront + 'DescargarDocumento/' + id;\r\n window.open(enlace, '_blank', 'noopener,noreferrer');\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target; \r\n const name = target.name;\r\n let value = target.type === 'checkbox' ? target.checked : target.value;\r\n var dto = this.state.fila;\r\n let duracionTipo = 0;\r\n if (dto.nhorasSem > 0) {\r\n duracionTipo = dto.nhorasSem; \r\n } else {\r\n duracionTipo = this.state.profesor.duracionTipo;\r\n }\r\n /*console.log('before',dto);*/\r\n if (name === \"nivel\") {\r\n /*console.log(value)*/\r\n if (value === GRADO_NIVEL || value === POSGRADO_NIVEL) {\r\n //console.log('no readonly')\r\n //console.log(dto.nivel !== value)\r\n if (dto.nivel !== value) {\r\n this.setState({ readOnly: false, terminos: [] });\r\n } else {\r\n this.setState({ readOnly: false });\r\n }\r\n\r\n } else {\r\n /*console.log('si readonly')*/\r\n this.setState({ readOnly: true });\r\n }\r\n\r\n } else if ((name === \"fechaInicio\" || name === \"fechaFin\")) {\r\n let semanas = 0;\r\n if (name === \"fechaInicio\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(value), Date.parse(dto[\"fechaFin\"]));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n } else if (name === \"fechaFin\" && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(value));\r\n let horas = semanas * duracionTipo;\r\n this.setState({ horas: horas });\r\n }\r\n\r\n } else if (name === 'idprograma') {\r\n dto['idcarrera'] = 0;\r\n } else if (name === 'idcarrera') {\r\n dto['idprograma'] = 0;\r\n } else if (name === 'nhorasSem') {\r\n let min = 1;\r\n let max = this.state.profesor.duracionTipo;\r\n let semanas = 0;\r\n value = Math.max(min, Math.min(max, Number(value)));\r\n if (dto[\"fechaInicio\"] !== undefined && dto[\"fechaFin\"] !== undefined) {\r\n semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(dto[\"fechaFin\"]));\r\n let horas = semanas * value;\r\n /*console.log('horas', horas, 'semanas', semanas, 'duracionTipo', value);*/\r\n this.setState({ horas: horas });\r\n } \r\n \r\n }\r\n dto[name] = value;\r\n\r\n this.setState({ fila: dto });\r\n /*console.log('fila', this.state.fila); */ \r\n }\r\n\r\n handleMultipleChange = (selectedChange) => {\r\n /*console.log('terminos', this.state.terminos) */ \r\n if (selectedChange.length !== 0) {\r\n /*console.log('existe', selectedChange)*/\r\n var dto = this.state.fila;\r\n /*console.log('fila',dto)*/\r\n let horas = this.state.horas;\r\n //console.log('terminos', this.state.dataForm.terminos)\r\n //console.log('horas', horas) \r\n const minPeriodo = Math.min(...selectedChange.map(x => x.value))\r\n const maxPeriodo = Math.max(...selectedChange.map(x => x.value))\r\n let duracion = this.state.profesor.duracionTipo;\r\n if (dto.nhorasSem > 0) {\r\n duracion = dto.nhorasSem;\r\n }\r\n const tipoCalculo = this.state.profesor.tipoCalculo\r\n let values = \"\";\r\n selectedChange.forEach(element => {\r\n values += element.value + \" \"\r\n });\r\n if (this.state.fila.nivel === GRADO_NIVEL) {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === minPeriodo).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['grado'].find(x => x.idPeriodo === maxPeriodo).fechaFin\r\n } else if (this.state.fila.nivel === POSGRADO_NIVEL) {\r\n dto[\"fechaInicio\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === minPeriodo).fechaInicio\r\n dto[\"fechaFin\"] = this.state.dataForm.terminos['posgrado'].find(x => x.idPeriodo === maxPeriodo).fechaFin\r\n }\r\n /*console.log('dto new ',dto);*/\r\n if(tipoCalculo === \"S\"){\r\n let semanas = getWeeksDiff(Date.parse(dto[\"fechaInicio\"]), Date.parse(dto[\"fechaFin\"]));\r\n /*console.log(selectedChange.filter(x => { return /PAO/i.test(x.label) }))*/\r\n if(selectedChange.filter(x => { return /PAO/i.test(x.label) }).length >= 2 )\r\n --semanas;\r\n\r\n horas = semanas * duracion;\r\n }else{\r\n horas = tipoCalc[tipoCalculo](duracion, selectedChange);\r\n }\r\n //console.log('ACTIVIDAAAAAD HORAS MEN')\r\n //console.log(horas);\r\n\r\n this.setState({ multiTermino: values, fila: dto, horas: horas, terminos: selectedChange.map(x => x.value.toString()) }, () =>\r\n //console.log('Seleccionado Multiple: ', this.state.multiTermino)\r\n console.log('')\r\n )\r\n }\r\n else {\r\n /*console.log('no existe', selectedChange)*/\r\n this.setState({ multiTermino: \"\", horas: this.state.profesor.totalHoras, terminos: [] })\r\n }\r\n }\r\n\r\n cleanForm = () => {\r\n /*console.log('entro a clean y limpio')*/\r\n let profesor = this.state.fila;\r\n profesor.fechaInicio = \"\";\r\n profesor.fechaFin = \"\"\r\n profesor.termino = \"0\"\r\n profesor.nivel = \"0\"\r\n profesor.idCargaUnidad = \"0\"\r\n profesor.idcarrera = \"0\"\r\n profesor.idprograma = \"0\"\r\n profesor.fechadocumento = \"\"\r\n this.setState({\r\n fila: profesor, readOnly: true\r\n })\r\n /*console.log(this.state.fila)*/\r\n }\r\n\r\n populateAUTH(unidad) {\r\n fetch(local + 'validacion/getdataUATH/' + unidad, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAUATH\", data)*/\r\n this.setState({ dataUATH: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n handleSave = (event) => {\r\n event.preventDefault();\r\n let problemas = 0;\r\n const forma = new FormData(event.target);\r\n let dto = this.state.fila;\r\n /*console.log(forma)*/\r\n\r\n if (this.state.profesor[\"strAccion\"] === \"Eliminar Carga\") {\r\n dto = toPostRequest(this.state.profesor);\r\n dto[\"observacion\"] = forma.get(\"observacion\")\r\n dto[\"totalHoras\"] = 0\r\n } else {\r\n forma.forEach((value, clave) => {\r\n dto[clave] = value;\r\n })\r\n if (dto != null) {\r\n dto[\"idPersona\"] = this.state.idProf;\r\n dto[\"idValidacionDet\"] = this.state.idForm;\r\n /* dto[\"idAutoridad\"]= this.state.idautoridad; */\r\n }\r\n dto[\"termino\"] = this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino;\r\n }\r\n\r\n dto[\"aprobado\"] = 1\r\n const data = JSON.stringify(dto);\r\n /*console.log(data);*/ \r\n\r\n \r\n if(this.state.profesor.strAccion !== \"Eliminar Carga\"){\r\n if (this.state.fila.idCargaUnidad === \"0\" || this.state.fila.idCargaUnidad === undefined) {\r\n problemas++;\r\n this.setState({ alertUnidad: false })\r\n } else {\r\n this.setState({ alertUnidad: true });\r\n }\r\n\r\n if (this.state.fila.nivel === \"0\" || this.state.fila.nivel === undefined) {\r\n problemas++;\r\n this.setState({ alertNivel: false })\r\n } else {\r\n this.setState({ alertNivel: true });\r\n }\r\n //console.log(this.state.terminos.length)\r\n //console.log(this.state.terminos)\r\n if (this.state.terminos.length === 0) {\r\n problemas++;\r\n this.setState({ alertTermino: false })\r\n } else {\r\n this.setState({ alertTermino: true });\r\n }\r\n }\r\n\r\n \r\n if (problemas === 0) {\r\n this.setState({ formState: 'L' });\r\n /*to test*/\r\n //const val = {termino: this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino, \r\n // horasTotal: this.state.profesor.strAccion === 'Eliminar Carga' ? 0 : parseInt(dto['totalHoras']), strObservacion: dto['observacion'], fechaFin: dto.fechaFin, fechaInicio: dto.fechaInicio,\r\n // nivel: dto.nivel, idCargaUnidad: dto.idCargaUnidad}\r\n //this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n // // const objUpdated = {}\r\n // MySwal.fire({\r\n // icon: 'success',\r\n // title: 'Solicitud ingresada',\r\n // text: 'Datos guardados exitosamente!',\r\n // confirmButtonText: 'Listo',\r\n // timer: 5000\r\n // }) \r\n\r\n fetch(local + 'Validacion/PostValidacion', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ next: true });\r\n /*console.log('alola')*/\r\n dto['termino'] = this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino;\r\n const val = {\r\n termino: this.state.multiTermino === '' ? this.state.terminos.join(' ') : this.state.multiTermino,\r\n horasTotal: parseInt(dto['totalHoras']), strObservacion: dto['observacion'],\r\n fechaFin: dto.fechaFin, fechaInicio: dto.fechaInicio,\r\n nivel: dto.nivel, idCargaUnidad: dto.idCargaUnidad,\r\n ndocumento: dto.ndocumento, fechadocumento: dto.fechadocumento,\r\n nhorasSem: dto.nhorasSem, idprograma: dto.idprograma, idcarrera: dto.idcarrera\r\n }\r\n\r\n this.props.method(dto[\"idValidacionDet\"], 'A', val)\r\n /*console.log(\"dto\", val);*/\r\n // const objUpdated = {}\r\n this.setState({ formState: 'N' });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n this.setState({ formState: 'N' });\r\n window.alert('fallo post')\r\n }})\r\n } else {\r\n this.setState({ formState: 'N' });\r\n /*console.log(\"HAY PROBLEMAS\")*/\r\n }\r\n }\r\n\r\n handleDecision = (estado) => {\r\n const idDet = this.state.infoDelegar.solicitudCoordinador.idValidDet\r\n const data = JSON.stringify({ idSolicitudDet: idDet, estado: estado })\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n\r\n let multiTermino = [];\r\n const { infoDelegar, sisUATH, promcarr, EditHoras, termino, infoDelegado } = this.state;\r\n //console.log(infoDelegado)\r\n\r\n //console.log('UATH: ', sisUATH);\r\n //console.log('infoDelegar: ', infoDelegar); \r\n //console.log('Fila: ', this.state.fila); \r\n\r\n const optGrado = this.state.dataForm.terminos['grado'].map(ej =>\r\n ({ value: ej.idPeriodo, label: ej.nombre })\r\n );\r\n\r\n const optPosgrado = this.state.dataForm.terminos['posgrado'].map(ej =>\r\n ({ value: ej.idPeriodo, label: ej.nombre })\r\n );\r\n\r\n let nivelBeta = this.state.profesor.strTipo === \"A|P\" ? POSGRADO_NIVEL : GRADO_NIVEL;\r\n\r\n //Dterminar los Terminos seleccionados anteriormente.\r\n let terminor = termino.replace('PAE 20', 'PAE-20');\r\n terminor = terminor.replace('PAO 20', 'PAO-20');\r\n terminor = terminor.replace('PAO 20', 'PAO-20');\r\n let strTermino = terminor.trim().split(\" \");\r\n\r\n const strTerminoFinal = strTermino.map(obj => {\r\n // 👇️ if id equals 2 replace object\r\n if (obj.includes('PAE-20')) {\r\n return obj.replace('PAE-20', 'PAE 20');\r\n } else if (obj.includes('PAO-20')) {\r\n return obj.replace('PAO-20', 'PAO 20');\r\n }\r\n\r\n // 👇️ otherwise return object as is\r\n return obj;\r\n });\r\n\r\n let optChosed = this.state.terminos.length > 0 ?\r\n this.state.fila.nivel === GRADO_NIVEL ?\r\n optGrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) })\r\n : optPosgrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) }) \r\n : [];\r\n\r\n //console.log('Original: ', termino)\r\n //console.log('Replace: ', terminor) \r\n //console.log('strTermino trim: ', strTermino)\r\n //console.log('Termino Final: ', strTerminoFinal)\r\n //console.log('optChosed', optChosed)\r\n //console.log('optChosed', optGrado)\r\n\r\n let idCargaUnidad = this.state.profesor.unidadPlanifica != null ? this.state.dataForm.unidades.filter(x => x.nombreUnidad === this.state.profesor.unidadPlanifica).map(ex => ex.idUnidad) : 0;\r\n\r\n //let idtermino = nivel === 1 ? this.state.dataForm.terminos['grado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo }) : this.state.dataForm.terminos['posgrado'].filter(x => x.nombre === termino || x.nombre === terminoCut).map(x => { return x.idPeriodo });\r\n //console.log(idtermino);\r\n\r\n //let fechaInicioBeta = nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaInicio;\r\n\r\n //let fechaFinBeta = nivel === 1 ? this.state.dataForm.terminos['grado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin : this.state.dataForm.terminos['posgrado'].find(x => x.nombre === termino || x.nombre === terminoCut).fechaFin;\r\n //console.log('fechaInicio', fechaInicioBeta);\r\n //console.log('fechaFin', fechaFinBeta);\r\n\r\n //console.log(optChosed)\r\n //console.log('Profesor', this.state.profesor)\r\n //console.log('Tipo', this.state.nivelBeta)\r\n //console.log(this.state.dataForm.terminos)\r\n //console.log('fila: ',this.state.fila.leght)\r\n //console.log(optGrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) }));\r\n optGrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) })\r\n\r\n if (this.state.multiTermino != \"\") {\r\n multiTermino = this.state.multiTermino.trim().split(\" \");\r\n } \r\n\r\n return (\r\n
\r\n
\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n : sisUATH != 'XX' ?\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n 0 ? this.state.fila.nhorasSem : this.state.profesor.duracionTipo}\r\n onChange={this.handleInputChange}\r\n \r\n />\r\n }\r\n \r\n \r\n \r\n {sisUATH === \"CA\" ?\r\n \r\n \r\n : <>}\r\n \r\n {!this.needProgram(sisUATH) ? promcarr == 'P' ? \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idPrograma === parseInt(infoDelegar.solicitudCoordinador.idprograma)).nombrePrograma\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataUATH.programas.map(ej =>\r\n \r\n )}\r\n }\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idCarrera === parseInt(infoDelegar.solicitudCoordinador.idcarrera)).nombreCarrera\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataUATH.carreras.map(ej =>\r\n \r\n )}\r\n }\r\n \r\n \r\n \r\n : <>}\r\n \r\n : \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n 0 ? this.state.fila.nhorasSem : this.state.profesor.duracionTipo}\r\n onChange={this.handleInputChange}\r\n readOnly={this.props.banderaDecano}\r\n />\r\n }\r\n \r\n \r\n \r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n : \r\n \r\n {nivel.map(niv =>\r\n \r\n )}\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ? x.idUnidad === parseInt(infoDelegar.solicitudCoordinador.idCargaUnidad)).nombreUnidad\r\n : ''}\r\n /> :\r\n \r\n \r\n {this.state.dataForm.unidades.map(ej =>\r\n \r\n )}\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n : }\r\n placeholder=\"Elija el término académico\"\r\n className=\"basic-multi-select\" \r\n />}\r\n \r\n
\r\n \r\n
\r\n }\r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n } \r\n {(this.state.viewDelegar === \"2\" && infoDelegar.estadoCoordinador === \"R\") || this.state.profesor.strAccion === \"Eliminar Carga\" ?\r\n <>\r\n : sisUATH != 'XX' ?\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n \r\n } \r\n this.handleUpFile()}> \r\n {this.state.fileState === 'L' ? : this.state.fileState === 'B' ? : this.state.fileState === 'G' ? : this.state.fileState === 'R' ? : } \r\n \r\n  \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n this.state.fila != null && this.state.fila.rutaarchivo ?\r\n \r\n : <>\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n }\r\n \r\n \r\n \r\n : <>\r\n } \r\n \r\n {this.state.viewDelegar === \"2\" && (infoDelegar.estadoCoordinador === \"R\" || this.state.profesor.strAccion === \"Eliminar Carga\") ?\r\n <>\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {this.state.viewDelegar === \"2\" ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FormularioActVice;","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport './css/custom.css';\r\nimport './css/ExpandTable.css';\r\nimport xml2js from \"xml2js\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport {\r\n NavItem, NavLink, Nav, TabContent, TabPane, Input, UncontrolledAlert,\r\n Row, Col, Card, Button, Form, Spinner, FormGroup, Label\r\n} from 'reactstrap';\r\nimport FormularioMateriaVice from './FormularioMateriaVice';\r\nimport { withRouter } from \"react-router\";\r\nimport FormularioActVice from './FormularioActVice';\r\nimport classnames from 'classnames';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nimport { color, color_head_desc_act, color_head_desc_mat, toPostRequest } from './functions/ExpandTableFunctions';\r\nimport { AppContext } from '../AppContext';\r\nimport { BsEye } from 'react-icons/bs';\r\nimport Sticky from 'react-stickynode';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst MySwal = withReactContent(Swal)\r\nconst colorStatus = { \"A\": \"#2dc937\", \"R\": \"#cc3232\", \"P\": \"#e7b416\" }\r\nconst rankHours = { \"TC\": { min: \"1880\", max: \"1960\", label: \"TIEMPO COMPLETO\" }, \"MT\": { min: \"940\", max: \"980\", label: \"MEDIO TIEMPO\" }, \"TP\": { min: \"892\", max: \"932\", label: \"TIEMPO PARCIAL\" } }\r\n\r\n//const fechaInicio = process.env.REACT_APP_FECHA_INICIO_VICE;\r\n//const fechaFin = process.env.REACT_APP_FECHA_FIN_VICE;\r\n\r\n// const products = [{ \"id\": 0, \"name\": \"alola\", \"price\": \"2\" }, { \"id\": 1, \"name\": \"alola2\", \"price\": \"3\" },\r\n// { \"id\": 2, \"name\": \"alola3\", \"price\": \"4\" }];\r\nconst currentDate = new Date();\r\n/*const bandera = currentDate > new Date(fechaInicio) && currentDate < new Date(fechaFin);*/\r\n\r\nclass ExpandTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expanded: [], fila: [], next: false, validaciones: [], delegados: [], revisados: [], idautoridad: '0',\r\n idProf: this.props.match.params.id ?? 0, nombreProf: '', idUnidad: 0,\r\n dataForm: [], dataUATH: [], show: false, showDelegar: false, showReasignar: false, idValid: '0', observacion: '',\r\n horasTotal: 0,\r\n horasLicencia: 0,\r\n atendidoVice: \"N\",\r\n idUser: 0,\r\n infoDelegado: false,\r\n idCoordinador: '0', idPrograma: '0', coordinadores: [], activeTab: \"1\", nombreCoordinador: '', roles: [],\r\n tipoContrato: \"\", sticky: false, status: 0, checkContrato: false,\r\n enviado: false,\r\n enviadoVRA: false,\r\n otrasHoras: 0,\r\n rejectEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n rechazarState: 'N',\r\n delegarEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n delegarState: 'N',\r\n decanoRespuestas: [],\r\n viceRespuestas: [],\r\n hayComentarios: false,\r\n devuelto: false,\r\n operando: false,\r\n operando2: false,\r\n alertas: [],\r\n bandera: false\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleChangeModal = this.handleChangeModal.bind(this);\r\n this.handleCoordinadorChange = this.handleCoordinadorChange.bind(this);\r\n this.handleChangeObservacionesVice = this.handleChangeObservacionesVice.bind(this);\r\n\r\n if (window.location.pathname.includes('/profesorVicerrector/')) {\r\n this.populateTable();\r\n }\r\n\r\n fetch(local + 'Validacion/GetDataForm', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"DATAFORRRRRM\", data)\r\n this.setState({ dataForm: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"leyesInicio\", data.fecha_inicio_vice)\r\n //console.log(\"leyesFin\", data.fecha_fin_vice)\r\n let banVice = currentDate > this.changeFormat(data.fecha_inicio_vice) && currentDate < this.changeFormat(data.fecha_fin_vice)\r\n this.setState({\r\n bandera: banVice, checkCambioContrato: data.checkCambioContrato\r\n })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n componentDidUpdate() {\r\n let user = this.context\r\n let ruta = window.location.pathname;\r\n if (user != null && this.state.idUser === 0) {\r\n this.setState({ idUser: user.idpersona, roles: user.roles });\r\n if (ruta.includes('/profesorVicerrector/')) {\r\n this.populateTable();\r\n } \r\n /*console.log(user.roles);*/\r\n }\r\n\r\n }\r\n\r\n validateInput() {\r\n if (this.state.fila.length === this.state.validaciones.length) {\r\n /*console.log('validado')*/\r\n this.setState(() => ({\r\n next: true\r\n }))\r\n }\r\n }\r\n\r\n populateTable() {\r\n let resp = 0\r\n let notCurso = []\r\n let respuestas = []\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n\r\n fetch(local + 'Vicerrector/GetObservacionesVicerrectorById/' + this.props.match.params.id, {\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n resp = response.status\r\n MySwal.close();\r\n this.setState({ status: response.status });\r\n /*console.log(response.status);*/\r\n return response.json();\r\n })\r\n .then(data => {\r\n\r\n if (resp === 404 || resp === 400) {\r\n this.isNotFound();\r\n } else {\r\n data.validaciones.map(val => { respuestas.push(val.infoObservacion) })\r\n notCurso = data.validaciones.filter(x => x.cursoNull == 'S')\r\n //console.log(\"data\", data); \r\n this.setState({\r\n validaciones: data.validaciones, nombreProf: data.nombreProfesor, horasTotal: data.horasTotal,\r\n otrasHoras: data.otrasHoras, horasLicencia: data.horasLicencia,\r\n atendidoVice: data.atendidoVice,\r\n viceRespuestas: respuestas,\r\n tipoContrato: data.tipoContrato,\r\n enviado: data.enviado === \"AD\" || data.enviado === \"DD\" ? true : false,\r\n enviadoVRA: notCurso.length > 0 ? true : false,\r\n strDecisionDiretivo: data.strDecisionDiretivo\r\n })\r\n this.populateAUTH(data.idUnidad); \r\n }\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n \r\n }\r\n\r\n populateAUTH(unidad) {\r\n fetch(local + 'validacion/getdataUATH/' + unidad, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAUATH\", data)*/\r\n this.setState({ dataUATH: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n isNotFound() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n const key = target.id;\r\n //console.log(name);\r\n //console.log(target);\r\n //console.log(value);\r\n //console.log(key);\r\n }\r\n\r\n handleHideClick = (id) => {\r\n /*console.log(id)*/\r\n let obj = this.state.fila.find((o, i) => {\r\n if (o.id === id) {\r\n this.state.fila[i].validacion = 'si'\r\n return this.state.fila[i];\r\n }\r\n return null\r\n });\r\n if (obj === null) {\r\n this.state.fila.push({\r\n id: id,\r\n validacion: 'si'\r\n })\r\n }\r\n if (this.state.expanded.includes(id)) {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== id)\r\n }));\r\n }\r\n /*console.log(this.state.fila);*/\r\n this.validateInput();\r\n }\r\n\r\n updateStatus = (idValid, estado, solic) => {\r\n //updating hours\r\n /*console.log('CAMBIO HORASSSSS', idValid)*/\r\n //console.log('not filter', this.state.delegados)\r\n //console.log('filter', this.state.delegados.filter(x => x.intIdValidacionDet !== idValid))\r\n let val = this.state.validaciones.find(x => x.intIdValidacionDet === idValid)\r\n if (val.delegado === \"1\") {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== idValid),\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, solicitudForm: solic, estado: estado, delegado: \"0\"\r\n } : x)), delegados: this.state.delegados.filter(x => x.intIdValidacionDet !== idValid), \r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== idValid),\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n } : x)),\r\n revisados: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid && x.respuestaDecano === \"S\" ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n }:x))\r\n }));\r\n }\r\n\r\n\r\n }\r\n\r\n updateDelegado = (idValid) => {\r\n //console.log(\"ENTRO UPDATE DELEGAR\")\r\n //console.log(idValid)\r\n const coordinador = this.state.coordinadores.find(x => {\r\n return x.intIdPersona.toString() + x.idPrograma.toString() === this.state.idCoordinador + this.state.idPrograma\r\n });\r\n let validacion = this.state.validaciones.find(x => x.intIdValidacionDet === idValid)\r\n validacion.infoDelegado = { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n\r\n if (this.state.delegados.some(x => x.intIdValidacionDet === idValid)) {\r\n this.setState(() => ({\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, delegado: \"1\", estado: \"P\", solicitudForm: null,\r\n infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x)),\r\n delegados: this.state.delegados.map(x => (x.intIdValidacionDet === idValid ?\r\n {\r\n ...x, infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x))\r\n\r\n }), //console.log(this.state.validaciones)\r\n );\r\n } else {\r\n this.setState(() => ({\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, delegado: \"1\", estado: \"P\", solicitudForm: null,\r\n infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x)),\r\n delegados: [...this.state.delegados, validacion]\r\n\r\n }), //console.log(this.state.validaciones)\r\n );\r\n }\r\n }\r\n\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n handleShowClick = (id) => {\r\n const validacion = this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === id\r\n })\r\n \r\n if (!this.state.expanded.includes(id)) {\r\n this.setState(() => ({\r\n expanded: [...this.state.expanded, id]\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== id)\r\n }));\r\n } \r\n }\r\n\r\n handleCoordinadorChange(event) {\r\n const target = event.target;\r\n const value = target.value;\r\n const name = target.name;\r\n var coordinador = this.state.coordinadores.find(x => {\r\n return x.intIdPersona.toString() + x.idPrograma.toString() === value\r\n });\r\n\r\n this.setState({ idCoordinador: coordinador.intIdPersona.toString(), idPrograma: coordinador.idPrograma.toString() });\r\n /*console.log(this.state.fila);*/\r\n\r\n }\r\n\r\n rejectValidation = () => {\r\n if (this.state.idValid != '0') {\r\n this.setState({ rechazarState: 'L' });\r\n var currentTime = new Date();\r\n var year = currentTime.getFullYear()\r\n /*console.log(this.state.idValid)*/\r\n const idValidacion = this.state.idValid\r\n let solic = this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === parseInt(this.state.idValid)\r\n });\r\n if (solic != null) {\r\n solic = toPostRequest(solic);\r\n solic.aprobado = 0;\r\n solic.anio = year;\r\n solic['observacion'] = this.state.observacion\r\n const data = JSON.stringify(solic)\r\n fetch(local + 'Validacion/PostValidacion', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n this.updateStatus(idValidacion, 'R', { fechaFin: '', fechaInicio: '', strObservacion: '', termino: '', nivel: '', idCargaUnidad: '', horasTotal: solic.totalHoras });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud rechazada',\r\n text: 'Observación guardada exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n //console.log(data)\r\n //console.log(response)\r\n });\r\n }\r\n this.setState({ rechazarState: 'N' });\r\n this.handleModal(false, '0')\r\n }\r\n //this.validateInput();\r\n\r\n //this.handleModal(false, '0')\r\n }\r\n\r\n handleEnviar = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({idProfesor: this.state.idProf, estado: this.state.checkContrato ? \"EDC\" : \"ED\", rol: \"S\"})\r\n fetch(local + 'Validacion/PostDecisionDirectivo', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n \r\n }\r\n\r\n handleEnviarCorrection = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: this.state.checkContrato ? \"EDC\" : \"ED\", rol: \"S\" })\r\n fetch(local + 'Validacion/PostDecisionDirectivoCorrection', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n\r\n }\r\n\r\n handleAprobarAutoridad = (event) => {\r\n event.preventDefault();\r\n this.setState({ operando: true });\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: \"A\", rol: \"V\" })\r\n //console.log(data);\r\n fetch(local + 'Vicerrector/PostDecisionAutoridad', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then(response => response.json())\r\n .then(data => { \r\n //console.log(data);\r\n //console.log(data.mensajes);\r\n if (data.status == 200) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitudes Enviadas',\r\n text: 'No comentarios que enviar!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado, \r\n })\r\n } else {\r\n let alert = [];\r\n data.mensajes.map(val => { alert.push(val.observacion) });\r\n let mensaje = alert.join(' ');\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: mensaje,\r\n confirmButtonText: 'salir' \r\n }) \r\n this.setState({\r\n enviado: !this.state.enviado,\r\n alertas: data.mensajes\r\n })\r\n }\r\n this.setState({ operando: false });\r\n //console.log(this.state.alertas);\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n \r\n }\r\n\r\n handleRechazarAutoridad = (event) => {\r\n event.preventDefault();\r\n this.setState({operando2: true});\r\n const list = this.state.viceRespuestas.map(item => {\r\n return {\r\n intIdPlnDecisionSolAutoridad: item.intIdPlnDecisionSolAutoridad,\r\n intIdValDetalle: item.intIdValDetalle,\r\n intIdProfesor: item.intIdProfesor,\r\n idplnsolicitudcambiodetactividades: item.idplnsolicitudcambiodetactividades,\r\n estado: item.estado,\r\n rol: item.rol,\r\n observacion: item.observacion\r\n }\r\n });\r\n const data = JSON.stringify(list)\r\n //console.log(data);\r\n fetch(local + 'Vicerrector/PostValidacionVicerrector', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n } else {\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error',\r\n confirmButtonText: 'salir',\r\n timer: 5000\r\n })\r\n }\r\n this.setState({ operando2: false });\r\n //console.log(response)\r\n });\r\n }\r\n\r\n delegar = () => {\r\n if (this.state.idValid != '0') {\r\n this.setState({ delegarState: 'L' });\r\n /*console.log(this.state.idValid)*/\r\n let solic = { \"idValDetalle\": this.state.idValid, \"idCoordinador\": this.state.idCoordinador, \"idProgramaSaacp\": this.state.idPrograma }\r\n const data = JSON.stringify(solic)\r\n fetch(local + 'Delegacion/PostDelegacionIndividual', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Delegación asignada',\r\n text: 'Delegación guardada exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.updateDelegado(this.state.idValid)\r\n this.handleModalReasignar(false, '0')\r\n this.setState({ delegarState: 'N' });\r\n }\r\n //console.log(response)\r\n });\r\n }\r\n }\r\n\r\n removeDelegacion = (idVal) => {\r\n this.setState({\r\n delegados: this.state.delegados.filter(x => x.intIdValidacionDet !== idVal)\r\n })\r\n }\r\n\r\n aprobar = (estado) => {\r\n if (this.state.idValid != '0') {\r\n const delegacion = this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid))\r\n /*console.log(\"DELEGACIOOOOOON\", delegacion)*/\r\n let solic = { \"idSolicitudDet\": delegacion.infoDelegado.solicitudCoordinador.idValidDet, \"estado\": estado, \"observacion\": this.state.observacion }\r\n const data = JSON.stringify(solic)\r\n /*console.log(data)*/\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n if (estado === 'A') {\r\n this.removeDelegacion(parseInt(this.state.idValid))\r\n this.updateStatus(this.state.idValid, delegacion.infoDelegado.estadoCoordinador, delegacion.infoDelegado.solicitudCoordinador)\r\n } else {\r\n let val = this.state.validaciones.find(x => x.intIdValidacionDet === this.state.idValid)\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== this.state.idValid),\r\n delegados: this.state.delegados.map(x => (x.intIdValidacionDet === this.state.idValid ? {\r\n ...x, infoDelegado: {nombreCoordinador: x.infoDelegado.nombreCoordinador, estadoCoordinador: \"P\", solicitudCoordinador: null}\r\n } : x))\r\n }));\r\n }\r\n\r\n this.handleModalDelegar(false, '0', estado)\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n this.handleModalDelegar(false, '0', estado)\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleChangeModal(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n this.setState({ observacion: value });\r\n /*console.log(this.state.observacion);*/\r\n }\r\n\r\n handleChangeObservacionesVice(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n let name = target.name.split('-');\r\n let cod = name[1];\r\n let observaciones = this.state.viceRespuestas.filter(x => x.intIdValDetalle != cod);\r\n let nuevo = this.state.viceRespuestas.filter(x => x.intIdValDetalle == cod)[0];\r\n nuevo.observacion = value;\r\n nuevo.estado = value == '' ? 'A' + nuevo.rol : 'R' + nuevo.rol;\r\n observaciones.push(nuevo);\r\n let comentados = observaciones.filter(x => x.observacion != \"\");\r\n let bandera = comentados.length > 0;\r\n //console.log(cod);\r\n //console.log(value);\r\n //console.log(observaciones);\r\n //console.log(nuevo);\r\n this.setState({ decanoRespuestas: observaciones, hayComentarios: bandera });\r\n \r\n }\r\n\r\n handleModal = (status, idValid, banderaI) => {\r\n //console.log('entro metodo')\r\n //console.log(status);\r\n //console.log(banderaI)\r\n this.setState(() => ({\r\n show: status, idValid: idValid, observacion: '', infoDelegado: banderaI\r\n }));\r\n\r\n }\r\n\r\n //abrir o cerrar modal para delegar\r\n handleModalReasignar = (status, idValid) => {\r\n\r\n if (Object.keys(this.state.coordinadores).length === 0) {\r\n fetch(local + 'Validacion/GetCoordinadores', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log('DATA COORDINADORES', data)*/\r\n this.setState({ coordinadores: data, showReasignar: status, idValid: idValid, idCoordinador: 0, idPrograma: 0 })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n } else {\r\n /*console.log('entro metodo')*/\r\n //console.log(status);\r\n //console.log(idValid)\r\n this.setState(() => ({\r\n showReasignar: status, idValid: idValid, idCoordinador: '0', idPrograma: '0'\r\n }));\r\n }\r\n }\r\n\r\n handleModalDelegar = (status, idValid, aprobacion) => {\r\n if (aprobacion === \"A\") {\r\n if (status) {\r\n this.setState(() => ({\r\n showDelegarA: status, idValid: idValid\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n showDelegarA: status, idValid: idValid, observacion: ''\r\n }));\r\n }\r\n\r\n } else {\r\n if (status) {\r\n this.setState(() => ({\r\n showDelegarR: status, idValid: idValid\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n showDelegarR: status, idValid: idValid, observacion: ''\r\n }));\r\n }\r\n\r\n }\r\n }\r\n\r\n handleOnExpand = (row, isExpand, rowIndex, e) => {\r\n if (isExpand) {\r\n this.setState(() => ({\r\n expanded: [...this.state.expanded, row.id]\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== row.id)\r\n }));\r\n }\r\n\r\n }\r\n\r\n returnColor = (estado) => {\r\n return colorStatus[estado]\r\n }\r\n\r\n handleStateChange = (status) => {\r\n if (status.status === Sticky.STATUS_FIXED) {\r\n this.setState(() => ({\r\n sticky: true\r\n }));\r\n } else if (status.status === Sticky.STATUS_ORIGINAL) {\r\n this.setState(() => ({\r\n sticky: false\r\n }));\r\n }\r\n };\r\n\r\n render() {\r\n const { validaciones, delegados, revisados, decanoRespuestas, hayComentarios, alertas, bandera } = this.state;\r\n let viceMode = window.location.pathname.includes('/profesorVicerrector/'); \r\n //console.log(decanoRespuestas);\r\n //console.log(hayComentarios);\r\n //console.log(alertas);\r\n const expandRow = {\r\n renderer: (row, rowIndex) => (\r\n
\r\n {row.intIdCurso != \"0\" ?\r\n <>\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n : <>\r\n {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n }\r\n
\r\n ),\r\n expanded: this.state.expanded,\r\n onExpand: this.handleOnExpand,\r\n expandByColumnOnly: true\r\n };\r\n\r\n //const alert = [];\r\n //alertas.map(val => { alert.push(val.observacion) });\r\n //console.log(alert);\r\n\r\n const columnsMat = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (this.state.enviado || !bandera),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('VICERRECTOR') && (viceMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>} \r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Estado',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n headerStyle: color_head_desc_mat('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['estado'] === 'A' ? \"APROBADO\" : row['estado'] === 'R' || row['estado'] === 'RA' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n {row['delegado'] === '1' ? <>\r\n
\r\n
\r\n DELEGADO\r\n
\r\n \r\n :\r\n <>}\r\n \r\n\r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsMatDec = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!bandera),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('VICERRECTOR') ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsMatResp = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacionDecano',\r\n text: 'Observación Decano', \r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!bandera),\r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('VICERRECTOR') && (viceMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>} \r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsAct = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: this.state.enviado || !bandera,\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('VICERRECTOR') && (viceMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>} \r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Estado',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_act('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['estado'] === 'A' ? \"APROBADO\" : row['estado'] === 'R' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n {row['delegado'] === '1' ? <>\r\n
\r\n
\r\n DELEGADO\r\n
\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n\r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsActDec = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!bandera),\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('VICERRECTOR') && (viceMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>} \r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsActResp = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacionDecano',\r\n text: 'Observación Decano',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true,\r\n hidden: (!bandera),\r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/* \r\n */}\r\n {this.state.roles.includes('VICERRECTOR') && (viceMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>} \r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const elemModalEscogido = this.state.idValid !== \"0\" ? this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === parseInt(this.state.idValid)\r\n }) : null;\r\n\r\n const gradoAsi = validaciones.filter(x => x.strTipo === \"M|R\");\r\n const gradoAct = validaciones.filter(x => x.strTipo === \"A|R\");\r\n const posgradoAsi = validaciones.filter(x => x.strTipo === \"M|P\");\r\n const posgradoAct = validaciones.filter(x => x.strTipo === \"A|P\");\r\n const invAct = validaciones.filter(x => x.strTipo === \"A|I\");\r\n const vinAct = validaciones.filter(x => x.strTipo === \"A|V\");\r\n const gesAct = validaciones.filter(x => x.strTipo === \"A|G\");\r\n\r\n const objHour = rankHours[this.state.tipoContrato];\r\n\r\n let horasTPL = this.state.horasTotal + this.state.horasLicencia;\r\n\r\n let otrasHoras = this.state.otrasHoras;\r\n\r\n let horasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|R\" || x.strTipo === \"M|P\") && x.strAccion === \"Modificar Carga\") && x.esProf !== \"S\").reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n let horasModificadas = (horasTPL + horasRequeridas);\r\n\r\n let otrashorasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|P\") && x.strAccion === \"Modificar Carga\") && x.esProf == \"S\").reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n let otrashorasModificadas = (this.state.otrasHoras + otrashorasRequeridas);\r\n\r\n //if (this.state.atendidoVice == \"S\") {\r\n\r\n // horasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|R\" || x.strTipo === \"M|P\")\r\n // && x.strAccion === \"Modificar Carga\") && x.esProf !== \"S\"\r\n // && (x.strObservacionVicerrector == \"Aprobado Por Vicerrectorado\")).reduce(\r\n // (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n // )\r\n // horasModificadas = (horasTPL);\r\n\r\n // horasTPL = horasModificadas - horasRequeridas;\r\n\r\n // otrashorasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|P\")\r\n // && x.strAccion === \"Modificar Carga\") && x.esProf == \"S\" && (x.strObservacionVicerrector == \"Aprobado Por Vicerrectorado\")).reduce(\r\n // (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n // )\r\n // otrashorasModificadas = (this.state.otrasHoras);\r\n\r\n // otrasHoras = otrashorasModificadas - otrashorasRequeridas;\r\n //}\r\n\r\n //console.log(\"Horas\", horasTPL);\r\n //console.log(\"difercncia\", horasRequeridas);\r\n //console.log(\"total\", horasModificadas);\r\n //console.log(\"Otras Horas\", otrasHoras);\r\n //console.log(\"dif otrass\", otrashorasRequeridas);\r\n //console.log(\"otras total\", otrashorasModificadas);\r\n\r\n return (\r\n <>\r\n
\r\n {this.state.roles.includes('VICERRECTOR')\r\n ?\r\n this.handleStateChange}>\r\n
\r\n \r\n \r\n
\r\n {this.state.nombreProf.split('/')[1]}\r\n
\r\n \r\n
\r\n \r\n \r\n DEDICACION: \r\n\r\n {objHour ? objHour.label : \"\"}\r\n\r\n \r\n \r\n RANGO DE HORAS: \r\n\r\n MIN: {objHour ? parseInt(objHour.min).toLocaleString('en', { maximumFractionDigits: 2 }) : \"\"}H - MAX: {objHour ? parseInt(objHour.max).toLocaleString('en', { maximumFractionDigits: 2 }) : \"\"}H\r\n\r\n \r\n \r\n HORAS DE LICENCIAS:  \r\n {this.state.horasLicencia.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n \r\n
\r\n \r\n {objHour ?\r\n = horasTPL ? \"green\" : \"red\" }}>\r\n TOTAL HORAS PLANIFICADAS + LICENCIAS: {horasTPL.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"}\r\n \r\n DIFERENCIAL HORA: {horasRequeridas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n {objHour && horasRequeridas !== 0 ?\r\n = horasModificadas ? \"green\" : \"red\" }}>\r\n TOTAL HORAS MODIFICADAS:  {horasModificadas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"\r\n }\r\n \r\n
\r\n \r\n {objHour ?\r\n \r\n HORAS DE ACTIVIDADES INDEPENDIENTES REMUNERADAS: {otrasHoras.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"}\r\n \r\n DIFERENCIAL HORA: {otrashorasRequeridas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n {objHour && horasRequeridas !== 0 ?\r\n \r\n TOTAL OTRAS HORAS:  {otrashorasModificadas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"\r\n }\r\n \r\n
\r\n
: <>}\r\n
\r\n\r\n {this.state.roles.includes('SUBDECANO') && this.state.enviado && !(viceMode)\r\n ?\r\n \r\n
\"alert\" INFORMACIÓN
\r\n
Las observaciones del presente profesor no pueden editarse pues ya se envio al Decano.
\r\n
: <>}\r\n \r\n \r\n \r\n {(gradoAsi.length > 0 || gradoAct.length > 0) ?

DOCENCIA GRADO

: <>}\r\n {gradoAsi.length > 0 ? <>\r\n
\r\n : <>}\r\n {gradoAct.length > 0 ? <>\r\n
\r\n : <>}\r\n {(posgradoAsi.length > 0 || posgradoAct.length > 0) ?

DOCENCIA POSGRADO

: <>}\r\n {posgradoAsi.length > 0 ? <>\r\n
\r\n : <>}\r\n {posgradoAct.length > 0 ? <>\r\n
\r\n : <>}\r\n {invAct.length > 0 ? <>\r\n

INVESTIGACIÓN

\r\n
\r\n : <>}\r\n {gesAct.length > 0 ? <>\r\n

GESTIÓN ACADÉMICA

\r\n
\r\n : <>}\r\n {vinAct.length > 0 ? <>\r\n

VINCULACIÓN

\r\n
\r\n : <>}\r\n {validaciones.filter(x => x.delegado === \"0\").length === this.state.validaciones.length &&\r\n validaciones.every(x => x.solicitudForm !== null) && objHour && validaciones.some(x => x.estado === \"A\") && !this.state.enviado ?\r\n
\r\n \r\n \r\n \r\n \r\n {!(objHour.min <= horasModificadas) ?\r\n \r\n : <>}\r\n\r\n \r\n
\r\n : <>\r\n } \r\n {\r\n viceMode && validaciones.length > 0 && !(this.state.enviado) && bandera ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : <>\r\n }\r\n

\r\n this.handleModal(false, '0')}>\r\n \r\n Rechazar observación\r\n \r\n \r\n Escriba el motivo por el cual rechaza la observación\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\nExpandTable.contextType = AppContext;\r\nexport default withRouter(ExpandTable);","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport './css/custom.css';\r\nimport './css/ExpandTable.css';\r\nimport xml2js from \"xml2js\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport {\r\n NavItem, NavLink, Nav, TabContent, TabPane, Input, UncontrolledAlert,\r\n Row, Col, Card, Button, Form, Spinner, FormGroup, Label\r\n} from 'reactstrap';\r\nimport FormularioMateriaVice from './FormularioMateriaVice';\r\nimport { withRouter } from \"react-router\";\r\nimport FormularioActVice from './FormularioActVice';\r\nimport classnames from 'classnames';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nimport { color, color_head_desc_act, color_head_desc_mat, toPostRequest } from './functions/ExpandTableFunctions';\r\nimport { AppContext } from '../AppContext';\r\nimport { BsEye } from 'react-icons/bs';\r\nimport Sticky from 'react-stickynode';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst MySwal = withReactContent(Swal)\r\nconst colorStatus = { \"A\": \"#2dc937\", \"R\": \"#cc3232\", \"P\": \"#e7b416\" }\r\nconst rankHours = { \"TC\": { min: \"1880\", max: \"1960\", label: \"TIEMPO COMPLETO\" }, \"MT\": { min: \"940\", max: \"980\", label: \"MEDIO TIEMPO\" }, \"TP\": { min: \"892\", max: \"932\", label: \"TIEMPO PARCIAL\" } }\r\n\r\n// const products = [{ \"id\": 0, \"name\": \"alola\", \"price\": \"2\" }, { \"id\": 1, \"name\": \"alola2\", \"price\": \"3\" },\r\n// { \"id\": 2, \"name\": \"alola3\", \"price\": \"4\" }];\r\nconst currentDate = new Date();\r\nconst bandera = currentDate > new Date(2022, 6, 22, 0, 0, 1, 0) && currentDate < new Date(2022, 10, 12, 0, 0, 1, 0);\r\n\r\nclass ExpandTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expanded: [], fila: [], next: false, validaciones: [], delegados: [], revisados: [], idautoridad: '0',\r\n idProf: this.props.match.params.id ?? 0, nombreProf: '', idUnidad: 0,\r\n dataForm: [], dataUATH: [], show: false, showDelegar: false, showReasignar: false, idValid: '0', observacion: '',\r\n horasTotal: 0,\r\n horasLicencia: 0,\r\n idUser: 0,\r\n infoDelegado: false,\r\n idCoordinador: '0', idPrograma: '0', coordinadores: [], activeTab: \"1\", nombreCoordinador: '', roles: [],\r\n tipoContrato: \"\", sticky: false, status: 0, checkContrato: false,\r\n enviado: false,\r\n enviadoVRA: false,\r\n otrasHoras: 0,\r\n rejectEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n rechazarState: 'N',\r\n delegarEstado: [{ cod: 'N', nombre: '' }, { cod: 'L', nombre: 'Loading....' }],\r\n delegarState: 'N',\r\n decanoRespuestas: [],\r\n viceRespuestas: [],\r\n hayComentarios: false,\r\n devuelto: false,\r\n operando: true,\r\n operando2: false\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleChangeModal = this.handleChangeModal.bind(this);\r\n this.handleCoordinadorChange = this.handleCoordinadorChange.bind(this);\r\n this.handleChangeObservacionesVice = this.handleChangeObservacionesVice.bind(this);\r\n\r\n if (window.location.pathname.includes('/profesorAdministrador/')) {\r\n this.populateTable();\r\n }\r\n\r\n fetch(local + 'Validacion/GetDataForm', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAFORRRRRM\", data)*/\r\n this.setState({ dataForm: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n }); \r\n }\r\n\r\n componentDidUpdate() {\r\n let user = this.context\r\n let ruta = window.location.pathname;\r\n if (user != null && this.state.idUser === 0) {\r\n this.setState({ idUser: user.idpersona, roles: user.roles });\r\n if (ruta.includes('/profesorAdministrador/')) {\r\n this.populateTable();\r\n } \r\n /*console.log(user.roles);*/\r\n }\r\n\r\n }\r\n\r\n validateInput() {\r\n if (this.state.fila.length === this.state.validaciones.length) {\r\n /*console.log('validado')*/\r\n this.setState(() => ({\r\n next: true\r\n }))\r\n }\r\n }\r\n\r\n populateTable() {\r\n let resp = 0\r\n let notCurso = []\r\n let respuestas = []\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n\r\n fetch(local + 'Administrador/GetObservacionesById/' + this.props.match.params.id, {\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n MySwal.close();\r\n resp = response.status\r\n this.setState({ status: response.status });\r\n /*console.log(response.status);*/\r\n return response.json();\r\n })\r\n .then(data => {\r\n\r\n if (resp === 404 || resp === 400) {\r\n this.isNotFound();\r\n } else {\r\n data.validaciones.map(val => { respuestas.push(val.infoObservacion) })\r\n notCurso = data.validaciones.filter(x => x.cursoNull == 'S')\r\n this.setState({\r\n validaciones: data.validaciones, nombreProf: data.nombreProfesor, horasTotal: data.horasTotal,\r\n otrasHoras: data.otrasHoras, horasLicencia: data.horasLicencia,\r\n viceRespuestas: respuestas,\r\n tipoContrato: data.tipoContrato,\r\n enviado: data.enviado === \"AD\" || data.enviado === \"DD\" ? true : false,\r\n enviadoVRA: notCurso.length > 0 ? true : false,\r\n strDecisionDiretivo: data.strDecisionDiretivo\r\n })\r\n this.populateAUTH(data.idUnidad);\r\n }\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n \r\n }\r\n\r\n populateAUTH(unidad) {\r\n fetch(local + 'validacion/getdataUATH/' + unidad, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAUATH\", data)*/\r\n this.setState({ dataUATH: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n isNotFound() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n const key = target.id;\r\n //console.log(name);\r\n //console.log(target);\r\n //console.log(value);\r\n //console.log(key);\r\n }\r\n\r\n handleHideClick = (id) => {\r\n /*console.log(id)*/\r\n let obj = this.state.fila.find((o, i) => {\r\n if (o.id === id) {\r\n this.state.fila[i].validacion = 'si'\r\n return this.state.fila[i];\r\n }\r\n return null\r\n });\r\n if (obj === null) {\r\n this.state.fila.push({\r\n id: id,\r\n validacion: 'si'\r\n })\r\n }\r\n if (this.state.expanded.includes(id)) {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== id)\r\n }));\r\n }\r\n /*console.log(this.state.fila);*/\r\n this.validateInput();\r\n }\r\n\r\n updateStatus = (idValid, estado, solic) => {\r\n //updating hours\r\n /*console.log('CAMBIO HORASSSSS', idValid)*/\r\n //console.log('not filter', this.state.delegados)\r\n //console.log('filter', this.state.delegados.filter(x => x.intIdValidacionDet !== idValid))\r\n let val = this.state.validaciones.find(x => x.intIdValidacionDet === idValid)\r\n if (val.delegado === \"1\") {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== idValid),\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, solicitudForm: solic, estado: estado, delegado: \"0\"\r\n } : x)), delegados: this.state.delegados.filter(x => x.intIdValidacionDet !== idValid), \r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== idValid),\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n } : x)),\r\n revisados: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid && x.respuestaDecano === \"S\" ? {\r\n ...x, solicitudForm: solic, estado: estado\r\n }:x))\r\n }));\r\n }\r\n\r\n\r\n }\r\n\r\n updateDelegado = (idValid) => {\r\n //console.log(\"ENTRO UPDATE DELEGAR\")\r\n //console.log(idValid)\r\n const coordinador = this.state.coordinadores.find(x => {\r\n return x.intIdPersona.toString() + x.idPrograma.toString() === this.state.idCoordinador + this.state.idPrograma\r\n });\r\n let validacion = this.state.validaciones.find(x => x.intIdValidacionDet === idValid)\r\n validacion.infoDelegado = { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n\r\n if (this.state.delegados.some(x => x.intIdValidacionDet === idValid)) {\r\n this.setState(() => ({\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, delegado: \"1\", estado: \"P\", solicitudForm: null,\r\n infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x)),\r\n delegados: this.state.delegados.map(x => (x.intIdValidacionDet === idValid ?\r\n {\r\n ...x, infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x))\r\n\r\n }), //console.log(this.state.validaciones)\r\n );\r\n } else {\r\n this.setState(() => ({\r\n validaciones: this.state.validaciones.map(x => (x.intIdValidacionDet === idValid ? {\r\n ...x, delegado: \"1\", estado: \"P\", solicitudForm: null,\r\n infoDelegado: { estadoCoordinador: \"P\", nombreCoordinador: coordinador.strApellidos + ' ' + coordinador.strNombres, solicitudCoordinador: null }\r\n } : x)),\r\n delegados: [...this.state.delegados, validacion]\r\n\r\n }), //console.log(this.state.validaciones)\r\n );\r\n }\r\n }\r\n\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n handleShowClick = (id) => {\r\n const validacion = this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === id\r\n })\r\n \r\n if (!this.state.expanded.includes(id)) {\r\n this.setState(() => ({\r\n expanded: [...this.state.expanded, id]\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== id)\r\n }));\r\n } \r\n }\r\n\r\n handleCoordinadorChange(event) {\r\n const target = event.target;\r\n const value = target.value;\r\n const name = target.name;\r\n var coordinador = this.state.coordinadores.find(x => {\r\n return x.intIdPersona.toString() + x.idPrograma.toString() === value\r\n });\r\n\r\n this.setState({ idCoordinador: coordinador.intIdPersona.toString(), idPrograma: coordinador.idPrograma.toString() });\r\n /*console.log(this.state.fila);*/\r\n\r\n }\r\n\r\n rejectValidation = () => {\r\n if (this.state.idValid != '0') {\r\n this.setState({ rechazarState: 'L' });\r\n var currentTime = new Date();\r\n var year = currentTime.getFullYear()\r\n /*console.log(this.state.idValid)*/\r\n const idValidacion = this.state.idValid\r\n let solic = this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === parseInt(this.state.idValid)\r\n });\r\n if (solic != null) {\r\n solic = toPostRequest(solic);\r\n solic.aprobado = 0;\r\n solic.anio = year;\r\n solic['observacion'] = this.state.observacion\r\n const data = JSON.stringify(solic)\r\n fetch(local + 'Administrador/PostValidacion', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n this.updateStatus(idValidacion, 'R', { fechaFin: '', fechaInicio: '', strObservacion: '', termino: '', nivel: '', idCargaUnidad: '', horasTotal: solic.totalHoras });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud rechazada',\r\n text: 'Observación guardada exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n //console.log(data)\r\n //console.log(response)\r\n });\r\n }\r\n this.setState({ rechazarState: 'N' });\r\n this.handleModal(false, '0')\r\n }\r\n //this.validateInput();\r\n\r\n //this.handleModal(false, '0')\r\n }\r\n\r\n handleEnviar = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({idProfesor: this.state.idProf, estado: this.state.checkContrato ? \"EDC\" : \"ED\", rol: \"S\"})\r\n fetch(local + 'Validacion/PostDecisionDirectivo', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n \r\n }\r\n\r\n handleEnviarCorrection = (event) => {\r\n event.preventDefault();\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: this.state.checkContrato ? \"EDC\" : \"ED\", rol: \"S\" })\r\n fetch(local + 'Validacion/PostDecisionDirectivoCorrection', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n }\r\n //console.log(response)\r\n });\r\n\r\n }\r\n\r\n handleAprobarAutoridad = (event) => {\r\n event.preventDefault();\r\n this.setState({operando: true});\r\n const data = JSON.stringify({ idProfesor: this.state.idProf, estado: \"A\", rol: \"V\" })\r\n //console.log(data);\r\n fetch(local + 'Administrador/PostDecisionAutoridad', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitudes Enviadas',\r\n text: 'No comentarios que enviar!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n } else {\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error ',\r\n confirmButtonText: 'salir',\r\n timer: 5000\r\n })\r\n }\r\n this.setState({operando: false})\r\n //console.log(response)\r\n });\r\n }\r\n\r\n handleRechazarAutoridad = (event) => {\r\n event.preventDefault();\r\n this.setState({ operando2: true });\r\n const list = this.state.viceRespuestas.map(item => {\r\n return {\r\n intIdPlnDecisionSolAutoridad: item.intIdPlnDecisionSolAutoridad,\r\n intIdValDetalle: item.intIdValDetalle,\r\n intIdProfesor: item.intIdProfesor,\r\n idplnsolicitudcambiodetactividades: item.idplnsolicitudcambiodetactividades,\r\n estado: item.estado,\r\n rol: item.rol,\r\n observacion: item.observacion\r\n }\r\n });\r\n const data = JSON.stringify(list)\r\n //console.log();\r\n //console.log(data);\r\n fetch(local + 'Administrador/PostValidacionVicerrector', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Observaciones enviadas',\r\n text: 'Enviado exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({\r\n enviado: !this.state.enviado\r\n })\r\n } else {\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error',\r\n confirmButtonText: 'salir',\r\n timer: 5000\r\n })\r\n }\r\n this.setState({ operando2: false });\r\n //console.log(response)\r\n });\r\n }\r\n\r\n delegar = () => {\r\n if (this.state.idValid != '0') {\r\n this.setState({ delegarState: 'L' });\r\n /*console.log(this.state.idValid)*/\r\n let solic = { \"idValDetalle\": this.state.idValid, \"idCoordinador\": this.state.idCoordinador, \"idProgramaSaacp\": this.state.idPrograma }\r\n const data = JSON.stringify(solic)\r\n fetch(local + 'Delegacion/PostDelegacionIndividual', {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n //response.json()\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Delegación asignada',\r\n text: 'Delegación guardada exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.updateDelegado(this.state.idValid)\r\n this.handleModalReasignar(false, '0')\r\n this.setState({ delegarState: 'N' });\r\n }\r\n // console.log(response)\r\n });\r\n }\r\n }\r\n\r\n removeDelegacion = (idVal) => {\r\n this.setState({\r\n delegados: this.state.delegados.filter(x => x.intIdValidacionDet !== idVal)\r\n })\r\n }\r\n\r\n aprobar = (estado) => {\r\n if (this.state.idValid != '0') {\r\n const delegacion = this.state.delegados.find(x => x.intIdValidacionDet === parseInt(this.state.idValid))\r\n /*console.log(\"DELEGACIOOOOOON\", delegacion)*/\r\n let solic = { \"idSolicitudDet\": delegacion.infoDelegado.solicitudCoordinador.idValidDet, \"estado\": estado, \"observacion\": this.state.observacion }\r\n const data = JSON.stringify(solic)\r\n /*console.log(data)*/\r\n fetch(local + 'Delegacion/PostDecision', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n /*console.log('alola')*/\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n if (estado === 'A') {\r\n this.removeDelegacion(parseInt(this.state.idValid))\r\n this.updateStatus(this.state.idValid, delegacion.infoDelegado.estadoCoordinador, delegacion.infoDelegado.solicitudCoordinador)\r\n } else {\r\n let val = this.state.validaciones.find(x => x.intIdValidacionDet === this.state.idValid)\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== this.state.idValid),\r\n delegados: this.state.delegados.map(x => (x.intIdValidacionDet === this.state.idValid ? {\r\n ...x, infoDelegado: {nombreCoordinador: x.infoDelegado.nombreCoordinador, estadoCoordinador: \"P\", solicitudCoordinador: null}\r\n } : x))\r\n }));\r\n }\r\n\r\n this.handleModalDelegar(false, '0', estado)\r\n } else {\r\n response.json().then(data => {\r\n /*console.log(data);*/\r\n MySwal.fire(\r\n 'Error',\r\n data.lMensajesError[0],\r\n 'error'\r\n )\r\n })\r\n this.handleModalDelegar(false, '0', estado)\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleChangeModal(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n this.setState({ observacion: value });\r\n /*console.log(this.state.observacion);*/\r\n }\r\n\r\n handleChangeObservacionesVice(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n let name = target.name.split('-');\r\n let cod = name[1];\r\n let observaciones = this.state.viceRespuestas.filter(x => x.intIdValDetalle != cod);\r\n let nuevo = this.state.viceRespuestas.filter(x => x.intIdValDetalle == cod)[0];\r\n nuevo.observacion = value;\r\n nuevo.estado = value == '' ? 'A' + nuevo.rol : 'R' + nuevo.rol;\r\n observaciones.push(nuevo);\r\n let comentados = observaciones.filter(x => x.observacion != \"\");\r\n let bandera = comentados.length > 0;\r\n //console.log(cod);\r\n //console.log(value);\r\n //console.log(observaciones);\r\n //console.log(nuevo);\r\n this.setState({ decanoRespuestas: observaciones, hayComentarios: bandera });\r\n \r\n }\r\n\r\n handleModal = (status, idValid, banderaI) => {\r\n //console.log('entro metodo')\r\n //console.log(status);\r\n //console.log(banderaI)\r\n this.setState(() => ({\r\n show: status, idValid: idValid, observacion: '', infoDelegado: banderaI\r\n }));\r\n\r\n }\r\n\r\n //abrir o cerrar modal para delegar\r\n handleModalReasignar = (status, idValid) => {\r\n\r\n if (Object.keys(this.state.coordinadores).length === 0) {\r\n fetch(local + 'Validacion/GetCoordinadores', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log('DATA COORDINADORES', data)*/\r\n this.setState({ coordinadores: data, showReasignar: status, idValid: idValid, idCoordinador: 0, idPrograma: 0 })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n } else {\r\n /*console.log('entro metodo')*/\r\n //console.log(status);\r\n //console.log(idValid)\r\n this.setState(() => ({\r\n showReasignar: status, idValid: idValid, idCoordinador: '0', idPrograma: '0'\r\n }));\r\n }\r\n }\r\n\r\n handleModalDelegar = (status, idValid, aprobacion) => {\r\n if (aprobacion === \"A\") {\r\n if (status) {\r\n this.setState(() => ({\r\n showDelegarA: status, idValid: idValid\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n showDelegarA: status, idValid: idValid, observacion: ''\r\n }));\r\n }\r\n\r\n } else {\r\n if (status) {\r\n this.setState(() => ({\r\n showDelegarR: status, idValid: idValid\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n showDelegarR: status, idValid: idValid, observacion: ''\r\n }));\r\n }\r\n\r\n }\r\n }\r\n\r\n handleOnExpand = (row, isExpand, rowIndex, e) => {\r\n if (isExpand) {\r\n this.setState(() => ({\r\n expanded: [...this.state.expanded, row.id]\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n expanded: this.state.expanded.filter(x => x !== row.id)\r\n }));\r\n }\r\n\r\n }\r\n\r\n returnColor = (estado) => {\r\n return colorStatus[estado]\r\n }\r\n\r\n handleStateChange = (status) => {\r\n if (status.status === Sticky.STATUS_FIXED) {\r\n this.setState(() => ({\r\n sticky: true\r\n }));\r\n } else if (status.status === Sticky.STATUS_ORIGINAL) {\r\n this.setState(() => ({\r\n sticky: false\r\n }));\r\n }\r\n };\r\n\r\n render() {\r\n const { validaciones, delegados, revisados, decanoRespuestas, hayComentarios, operando, operando2 } = this.state;\r\n let adminMode = window.location.pathname.includes('/profesorAdministrador/'); \r\n //console.log(decanoRespuestas);\r\n //console.log(hayComentarios);\r\n const expandRow = {\r\n renderer: (row, rowIndex) => (\r\n
\r\n {row.intIdCurso != \"0\" ?\r\n <>\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n : <>\r\n {}\r\n {decanoRespuestas.filter(x => x.intIdValidacionDet === row.intIdValidacionDet) != null ?\r\n \r\n : <>}\r\n \r\n }\r\n
\r\n ),\r\n expanded: this.state.expanded,\r\n onExpand: this.handleOnExpand,\r\n expandByColumnOnly: true\r\n };\r\n\r\n const columnsMat = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipo',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_mat('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipo'] === 'M|R' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE GRADO\" : row['strCategoria'] === 'C' ? \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO INVESTIGACIÓN Y DOCTORADO\" : \"IMPARTICIÓN DE CLASES EN CURSOS DE POSGRADO PROFESIONALIZANTE\"}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Asignatura',\r\n headerStyle: color_head_desc_mat('asi'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n // hidden: this.state.enviado,\r\n headerStyle: color_head_desc_mat('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'paralelo',\r\n text: 'Par.',\r\n headerStyle: color_head_desc_mat('par'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_mat('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true, \r\n headerStyle: color_head_desc_mat('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/*{this.state.roles.includes('DECANO') && (adminMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}*/}\r\n {this.state.roles.includes('ADMINISTRADOR') && (adminMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {(adminMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'], row['delegado'] == 1 && row['infoDelegado']['estadoCoordinador'] !== 'P')} /> : <>} \r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Estado',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n headerStyle: color_head_desc_mat('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['estado'] === 'A' ? \"APROBADO\" : row['estado'] === 'R' || row['estado'] === 'RA' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n {row['delegado'] === '1' ? <>\r\n
\r\n
\r\n DELEGADO\r\n
\r\n \r\n :\r\n <>}\r\n \r\n\r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_mat('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n (row['estado'] === 'A' && row['strAccion'] === 'Eliminar Carga') ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>\r\n 0\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const columnsAct = [{\r\n dataField: 'intIdValidacionDet',\r\n text: 'ID',\r\n hidden: true,\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {rowIndex + 1} alola\r\n {row['intIdValidacionDet']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strTipoActividad',\r\n text: 'Actividad',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strTipoActividad']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strDescripcion',\r\n text: 'Descripción',\r\n headerStyle: color_head_desc_act('act'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n
\r\n {row['strDescripcion']}\r\n
\r\n )\r\n }\r\n }, {\r\n dataField: 'strObservacion',\r\n text: 'Observación',\r\n headerStyle: color_head_desc_act('ob'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strPeriodo',\r\n text: 'Periodos',\r\n hidden: this.state.enviado,\r\n headerStyle: color_head_desc_act('per'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strAccion',\r\n text: 'Tipo Solicitud',\r\n headerStyle: color_head_desc_act('tipo'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n text: 'Acciones',\r\n isDummyField: true, \r\n headerStyle: color_head_desc_act('acc'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {/*{this.state.roles.includes('DECANO') && (adminMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}*/}\r\n {this.state.roles.includes('ADMINISTRADOR') && (adminMode) ? this.handleShowClick(row['intIdValidacionDet'])} /> : <>}\r\n {(adminMode) ? \"close\" this.handleModal(true, row['intIdValidacionDet'], row['delegado'] == 1 && row['infoDelegado']['estadoCoordinador'] !== 'P')} /> : <>}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Estado',\r\n isDummyField: true,\r\n headerStyle: color_head_desc_act('est'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n
\r\n {row['estado'] === 'A' ? \"APROBADO\" : row['estado'] === 'R' || row['estado'] === 'RA' ? \"RECHAZADO\" : \"PENDIENTE\"}\r\n
\r\n {row['delegado'] === '1' ? <>\r\n
\r\n
\r\n DELEGADO\r\n
\r\n \r\n :\r\n <>}\r\n\r\n \r\n\r\n\r\n )\r\n }\r\n }, {\r\n text: 'Horas',\r\n isDummyField: true,\r\n\r\n headerStyle: color_head_desc_act('hor'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n <>\r\n {row['solicitudForm'] ?\r\n row['estado'] === 'R' ?\r\n <>\r\n 0\r\n \r\n :\r\n row['solicitudForm']['horasTotal'] - row['totalHoras'] > 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
: row['solicitudForm']['horasTotal'] - row['totalHoras'] === 0 ?\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
:\r\n
{row['solicitudForm']['horasTotal'] - row['totalHoras']}
\r\n :\r\n <>}\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n ];\r\n\r\n const elemModalEscogido = this.state.idValid !== \"0\" ? this.state.validaciones.find(x => {\r\n return x.intIdValidacionDet === parseInt(this.state.idValid)\r\n }) : null;\r\n\r\n const gradoAsi = validaciones.filter(x => x.strTipo === \"M|R\");\r\n const gradoAct = validaciones.filter(x => x.strTipo === \"A|R\");\r\n const posgradoAsi = validaciones.filter(x => x.strTipo === \"M|P\");\r\n const posgradoAct = validaciones.filter(x => x.strTipo === \"A|P\");\r\n const invAct = validaciones.filter(x => x.strTipo === \"A|I\");\r\n const vinAct = validaciones.filter(x => x.strTipo === \"A|V\");\r\n const gesAct = validaciones.filter(x => x.strTipo === \"A|G\");\r\n\r\n const objHour = rankHours[this.state.tipoContrato];\r\n\r\n const horasTPL = this.state.horasTotal + this.state.horasLicencia;\r\n\r\n\r\n const horasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|R\" || x.strTipo === \"M|P\") && x.strAccion === \"Modificar Carga\") && x.esProf !== \"S\").reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n const horasModificadas = (horasTPL + horasRequeridas);\r\n\r\n const otrashorasRequeridas = validaciones.filter(x => x.solicitudForm && !((x.strTipo === \"M|P\") && x.strAccion === \"Modificar Carga\") && x.esProf == \"S\").reduce(\r\n (acc, val) => val.solicitudForm.horasTotal - val.totalHoras + acc, 0\r\n )\r\n const otrashorasModificadas = (this.state.otrasHoras + otrashorasRequeridas);\r\n\r\n //console.log('Vice Mode ',adminMode);\r\n //console.log('Validaciones ',validaciones.length > 0);\r\n //console.log('Enviado ', (this.state.enviado));\r\n //console.log('Activado ', (this.state.activeTab));\r\n\r\n /*console.log(\"HORAS MODIFICADAS\", horasModificadas)*/\r\n return (\r\n <>\r\n
\r\n {this.state.roles.includes('ADMINISTRADOR')\r\n ?\r\n this.handleStateChange}>\r\n
\r\n \r\n \r\n
\r\n {this.state.nombreProf.split('/')[1]}\r\n
\r\n \r\n
\r\n \r\n \r\n DEDICACION: \r\n\r\n {objHour ? objHour.label : \"\"}\r\n\r\n \r\n \r\n RANGO DE HORAS: \r\n\r\n MIN: {objHour ? parseInt(objHour.min).toLocaleString('en', { maximumFractionDigits: 2 }) : \"\"}H - MAX: {objHour ? parseInt(objHour.max).toLocaleString('en', { maximumFractionDigits: 2 }) : \"\"}H\r\n\r\n \r\n \r\n HORAS DE LICENCIAS:  \r\n {this.state.horasLicencia.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n \r\n
\r\n \r\n {objHour ?\r\n = horasTPL ? \"green\" : \"red\" }}>\r\n TOTAL HORAS PLANIFICADAS + LICENCIAS: {horasTPL.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"}\r\n \r\n DIFERENCIAL HORA: {horasRequeridas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n {objHour && horasRequeridas !== 0 ?\r\n = horasModificadas ? \"green\" : \"red\" }}>\r\n TOTAL HORAS MODIFICADAS:  {horasModificadas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"\r\n }\r\n \r\n
\r\n \r\n {objHour ?\r\n \r\n HORAS DE ACTIVIDADES INDEPENDIENTES REMUNERADAS: {this.state.otrasHoras.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"}\r\n \r\n DIFERENCIAL HORA: {otrashorasRequeridas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n {objHour && horasRequeridas !== 0 ?\r\n \r\n TOTAL OTRAS HORAS:  {otrashorasModificadas.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n \r\n : \"\"\r\n }\r\n \r\n
\r\n
: <>}\r\n
\r\n\r\n {this.state.roles.includes('SUBDECANO') && this.state.enviado && !(adminMode)\r\n ?\r\n \r\n
\"alert\" INFORMACIÓN
\r\n
Las observaciones del presente profesor no pueden editarse pues ya se envio al Decano.
\r\n
: <>}\r\n \r\n \r\n \r\n {(gradoAsi.length > 0 || gradoAct.length > 0) ?

DOCENCIA GRADO

: <>}\r\n {gradoAsi.length > 0 ? <>\r\n
\r\n : <>}\r\n {gradoAct.length > 0 ? <>\r\n
\r\n : <>}\r\n {(posgradoAsi.length > 0 || posgradoAct.length > 0) ?

DOCENCIA POSGRADO

: <>}\r\n {posgradoAsi.length > 0 ? <>\r\n
\r\n : <>}\r\n {posgradoAct.length > 0 ? <>\r\n
\r\n : <>}\r\n {invAct.length > 0 ? <>\r\n

INVESTIGACIÓN

\r\n
\r\n : <>}\r\n {gesAct.length > 0 ? <>\r\n

GESTIÓN ACADÉMICA

\r\n
\r\n : <>}\r\n {vinAct.length > 0 ? <>\r\n

VINCULACIÓN

\r\n
\r\n : <>}\r\n {validaciones.filter(x => x.delegado === \"0\").length === this.state.validaciones.length &&\r\n validaciones.every(x => x.solicitudForm !== null) && objHour && validaciones.some(x => x.estado === \"A\") && !this.state.enviado ?\r\n
\r\n \r\n \r\n \r\n \r\n {!(objHour.min <= horasModificadas) ?\r\n \r\n : <>}\r\n\r\n \r\n
\r\n : <>\r\n } \r\n {\r\n !adminMode && validaciones.length > 0 && !(this.state.enviado) ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : <>\r\n }\r\n

\r\n this.handleModal(false, '0')}>\r\n \r\n Rechazar observación\r\n \r\n \r\n Escriba el motivo por el cual rechaza la observación\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\nExpandTable.contextType = AppContext;\r\nexport default withRouter(ExpandTable);","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst LEFT_PAGE = 'LEFT';\r\nconst RIGHT_PAGE = 'RIGHT';\r\n\r\n/**\r\n * Helper method for creating a range of numbers\r\n * range(1, 5) => [1, 2, 3, 4, 5]\r\n */\r\nconst range = (from, to, step = 1) => {\r\n let i = from;\r\n const range = [];\r\n\r\n while (i <= to) {\r\n //console.log(\"PUSHEO PAGINA:\",i)\r\n range.push(i);\r\n i += step;\r\n }\r\n return range;\r\n}\r\n\r\nclass Paginacion extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { currentPage: this.props.currentPage ?? 1, totalRecords: this.props.totalRecords ?? null, \r\n totalPages: Math.ceil(this.props.totalRecords / this.props.pageLimit) ?? 0};\r\n const { totalRecords = this.props.totalRecords ?? null, pageLimit = 30, pageNeighbours = 0 } = props;\r\n\r\n this.pageLimit = typeof pageLimit === 'number' ? pageLimit : 30;\r\n this.totalRecords = typeof totalRecords === 'number' ? totalRecords : 0;\r\n\r\n // pageNeighbours can be: 0, 1 or 2\r\n this.pageNeighbours = typeof pageNeighbours === 'number'\r\n ? Math.max(0, Math.min(pageNeighbours, 2))\r\n : 0;\r\n\r\n this.totalPages = Math.ceil(this.totalRecords / this.pageLimit);\r\n\r\n \r\n }\r\n\r\n fetchPageNumbers = () => {\r\n\r\n\r\n const totalPages = Math.ceil(this.props.totalRecords / this.props.pageLimit) \r\n const currentPage = this.props.currentPage ?? this.state.currentPage;\r\n //console.log(\"CURRENTO PAIGU MAI FREND IN FETCH\",currentPage)\r\n const pageNeighbours = this.pageNeighbours;\r\n\r\n \r\n\r\n //console.log(\"PAGES MI LLAVE: \", totalPages)\r\n\r\n /**\r\n * totalNumbers: the total page numbers to show on the control\r\n * totalBlocks: totalNumbers + 2 to cover for the left(<) and right(>) controls\r\n */\r\n const totalNumbers = (this.pageNeighbours * 2) + 3;\r\n const totalBlocks = totalNumbers + 2;\r\n\r\n if (totalPages > totalBlocks) {\r\n const startPage = Math.max(2, currentPage - pageNeighbours);\r\n const endPage = Math.min(totalPages - 1, currentPage + pageNeighbours);\r\n let pages = range(startPage, endPage);\r\n\r\n /**\r\n * hasLeftSpill: has hidden pages to the left\r\n * hasRightSpill: has hidden pages to the right\r\n * spillOffset: number of hidden pages either to the left or to the right\r\n */\r\n const hasLeftSpill = startPage > 2;\r\n const hasRightSpill = (totalPages - endPage) > 1;\r\n const spillOffset = totalNumbers - (pages.length + 1);\r\n\r\n switch (true) {\r\n // handle: (1) < {5 6} [7] {8 9} (10)\r\n case (hasLeftSpill && !hasRightSpill): {\r\n const extraPages = range(startPage - spillOffset, startPage - 1);\r\n pages = [LEFT_PAGE, ...extraPages, ...pages];\r\n break;\r\n }\r\n\r\n // handle: (1) {2 3} [4] {5 6} > (10)\r\n case (!hasLeftSpill && hasRightSpill): {\r\n const extraPages = range(endPage + 1, endPage + spillOffset);\r\n pages = [...pages, ...extraPages, RIGHT_PAGE];\r\n break;\r\n }\r\n\r\n // handle: (1) < {4 5} [6] {7 8} > (10)\r\n case (hasLeftSpill && hasRightSpill):\r\n default: {\r\n pages = [LEFT_PAGE, ...pages, RIGHT_PAGE];\r\n break;\r\n }\r\n }\r\n\r\n return [1, ...pages, totalPages];\r\n }\r\n\r\n return range(1, totalPages);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(prevProps.totalRecords)\r\n //console.log(this.props.totalRecords)\r\n //console.log(\"CURRENTO PAIGUUUUUUUUUU\",this.props.currentPage)\r\n if (prevProps.totalRecords !== this.props.totalRecords) {\r\n this.setState({currentPage: this.props.currentPage})\r\n //console.log('1', prevState.currentPage);\r\n //console.log('2', this.state.currentPage);\r\n }\r\n }\r\n\r\n render() {\r\n const totalPages = Math.ceil(this.props.totalRecords / this.props.pageLimit) \r\n //console.log(\"FIRST CALL: \",totalPages)\r\n if (!this.state.totalRecords || totalPages === 1) {\r\n //console.log(\"RETORNO NULO?\")\r\n return null;\r\n }\r\n\r\n const currentPage = this.props.currentPage ?? this.state.currentPage;\r\n const pages = this.fetchPageNumbers();\r\n //console.log(\"PAGEEEEES RENDA\",pages)\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"MONTO\")\r\n this.gotoPage(1);\r\n }\r\n\r\n gotoPage = page => {\r\n //console.log(\"PAGE:\",page)\r\n const { onPageChanged = f => f } = this.props;\r\n const currentPage = Math.max(0, Math.min(page, this.totalPages));\r\n //console.log(\"CURRENT:\", currentPage)\r\n const paginationData = {\r\n currentPage,\r\n totalPages: Math.ceil(this.props.totalRecords / this.props.pageLimit) ,\r\n pageLimit: this.props.pageLimit,\r\n totalRecords: this.props.totalRecords\r\n };\r\n\r\n this.setState({ currentPage }, () => onPageChanged(paginationData));\r\n }\r\n\r\n handleClick = page => evt => {\r\n evt.preventDefault();\r\n this.gotoPage(page);\r\n }\r\n\r\n handleMoveLeft = evt => {\r\n evt.preventDefault();\r\n this.gotoPage(this.state.currentPage - (this.pageNeighbours * 2) - 1);\r\n }\r\n\r\n handleMoveRight = evt => {\r\n evt.preventDefault();\r\n this.gotoPage(this.state.currentPage + (this.pageNeighbours * 2) + 1);\r\n }\r\n\r\n}\r\n\r\nPaginacion.propTypes = {\r\n totalRecords: PropTypes.number.isRequired,\r\n pageLimit: PropTypes.number,\r\n pageNeighbours: PropTypes.number,\r\n onPageChanged: PropTypes.func\r\n};\r\n\r\nexport default Paginacion;","import React, { Component } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { CardBody, Card, CardHeader, CardFooter, Label, Button, CardText, Row, Col } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Image from 'react-bootstrap/Image';\r\nimport Paginacion from './Paginacion';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport Select from 'react-select';\r\nimport { bindNodeCallback } from 'rxjs';\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(jpg|png|jpe?g|svg)$/));\r\n\r\nconst imgStyle = {\r\n maxHeight: 50,\r\n maxWidth: 50\r\n}\r\n\r\n//cantidad a items a renderizar en paginación\r\n/*const limite = 6;*/\r\nconst vecindario = 1;\r\nlet optPagina = { \"pageLimit\": 6, \"totalRecords\": 0, \"currentPage\": 1, \"totalPages\": 0 }\r\n\r\nclass LoteCarga extends Component {\r\n static displayName = LoteCarga.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n this.state = {\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0,\r\n filterTipo: 0,\r\n rol: this.props.rol,\r\n totalPageP: Math.ceil(cargaList.length / 9),\r\n actualPage: 1,\r\n limite: 9,\r\n siblingCount: 1,\r\n };\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n /*console.log(\"MONTADOOOO\", this.props.location.state)*/\r\n if (this.props.location.state !== undefined) {\r\n const locationState = this.props.location.state;\r\n const labelTipo = options.find(x => parseInt(x.value) === locationState.type).label\r\n const labelDelegacion = optionsDelegacion.find(x => parseInt(x.value) === locationState.delegation).label\r\n //console.log(locationState.type)\r\n this.setState({ filterTipo: locationState.type, tipoSelect: labelTipo }, function () {\r\n this.handleChangeDelegacion({ value: locationState.delegation, label: labelDelegacion })\r\n });\r\n\r\n }\r\n /*console.log('user', this.state.actividades);*/\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n //console.log(`Option selected:`, selectedOption);\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n //console.log(\"MAPEO\", mapeo);\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => (x.cantAcciones) == x.accionesIngresadas);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n //console.log(\"MAPEO\", mapeo);\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n //console.log(\"ENTRO 0\")\r\n //reseteo\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.intIdPersona === value);\r\n //const currentActividades = mapeo.slice(0, 0 + 6);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1});\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n //console.log(`Option selected:`, selectedOption);\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1});\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n onPageChanged = data => {\r\n const { actividadesMutar } = this.state;\r\n const { currentPage, totalPages, pageLimit } = data;\r\n const offset = (currentPage - 1) * pageLimit;\r\n //console.log(data)\r\n //console.log(actividadesMutar)\r\n const currentActividades = actividadesMutar.slice(offset, offset + pageLimit);\r\n\r\n this.setState({ currentPage: currentPage, currentActividades });\r\n //console.log(currentActividades);\r\n //console.log(currentPage);\r\n }\r\n\r\n returnStatus = act => {\r\n return (act.accionesIngresadas + act.accionesIngresadasCoor === 0 || this.state.filterTipo === 3) ? \"pe\" :\r\n (act.accionesIngresadas + act.accionesIngresadasCoor == act.cantAcciones + act.cantAccionesCoor || this.state.filterTipo === 1) ? \"at\" : \"pa\"\r\n }\r\n\r\n redirect = idPersona =>{\r\n //console.log('alola')\r\n this.props.history.push('/profesor/'+idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n //console.log(num, valor);\r\n return valor;\r\n }\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n const {\r\n currentActividades, currentPage,\r\n actividadesMutar, filterTipo\r\n } = this.state;\r\n\r\n let nombresText = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ({ label: x.strNombreCompleto, value: x.intIdPersona }));\r\n /*console.log(filterTipo)*/\r\n if(filterTipo === 0 ){\r\n /*console.log(\"OG\",currentActividades)*/\r\n currentActividades.sort((a,b) => {\r\n if(a.strEstado > b.strEstado) { return -1; }\r\n if(a.strEstado < b.strEstado) { return 1; }\r\n })\r\n //console.log(\"UPDATED\",currentActividades)\r\n }\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n /*console.log(nombresText)*/\r\n nombresText.push({ label: \"Ninguna\", value: 0 });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.rol.includes('SUBDECANO') ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {actividadesMutar.map((act,i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ?\r\n No hubo resultados\r\n : <>}\r\n \r\n
\r\n

\r\n \r\n

\r\n
{/* 918AD3 */}\r\n\r\n
\r\n {/**/}\r\n
\r\n
\r\n \r\n \r\n //
\r\n // \r\n // \r\n // \r\n // \r\n \r\n // \r\n // \r\n // {this.state.rol.includes('SUBDECANO') ?\r\n // <>\r\n // \r\n // \r\n \r\n \r\n \r\n \r\n \r\n : <>}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(ListaCarga);","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport './css/custom.css';\r\nimport { NavItem, NavLink, Nav, TabContent, TabPane } from 'reactstrap';\r\nimport { Spinner, Alert, UncontrolledAlert } from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport LoteCarga from './LoteCarga';\r\nimport { AppContext } from './../AppContext';\r\nimport ListaCarga from './ListaCarga';\r\nimport url from './variables/url.js';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nconst local = url.localBack;\r\nconst fechaInicio = url.fechaInicio;\r\nconst fechaFin = url.fechaInicio;\r\n\r\nconst MySwal = withReactContent(Swal)\r\n\r\nfunction importAll(r) {\r\n\tlet images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n\treturn images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(jpg|png|jpe?g|svg)$/));\r\n\r\nconst currentDate = new Date();\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Asignado' },\r\n { value: '2', label: 'Asignado a mí' }\r\n]\r\n\r\nfunction color_head() {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white',\r\n width: '20%', fontSize: 11,\r\n };\r\n}\r\nfunction color_head_desc(tipo) {\r\n if (tipo == 'medium') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 14,\r\n width: '15%'\r\n };\r\n } else if (tipo == 'd') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '30%'\r\n }\r\n } else if (tipo == 'id') {\r\n return {\r\n backgroundColor: '#010053',\r\n color: 'white', fontSize: 12,\r\n width: '10%'\r\n };\r\n } else {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '10%'\r\n };\r\n }\r\n}\r\n//Funcion para colocar color a las celdasde la tabla\r\nfunction color(rowIndex) {\r\n if (rowIndex % 2 === 0) {\r\n return {\r\n backgroundColor: 'white'\r\n };\r\n }\r\n return {\r\n backgroundColor: '#E7E7E7'\r\n };\r\n}\r\n\r\nconst profes = [{ intIdPersona: 2069, strCedula: '1234', strNombre: 'Daniel', strApellido: 'Ochoa', strUnidad: 'Fiec' },\r\n { intIdPersona: 2, strCedula: '3333', strNombre: 'Diego', strApellido: 'Yance', strUnidad: 'Fimcp' }]\r\n\r\nconst fechaInicioSub = process.env.REACT_APP_FECHA_INICIO_SUB;\r\nconst fechaFinSub = process.env.REACT_APP_FECHA_FIN_SUB;\r\n\r\nclass ListadoProfesores extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = { iduser: 0, profesores: [], next: false, validaciones: [], validacionesMut: [], noValidaciones: [], \r\n activeTab: \"2\", aceptados: [], delegacion: {}, roles: [], notSC: false, populateFinish: false,\r\n bandera: false, banderaDec: false, banderaVice: false};\r\n \r\n this.toggle = this.toggle.bind(this);\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"leyes\", data)\r\n //console.log(\"leyesInicio\", data.fecha_inicio_sub)\r\n //console.log(\"leyesFin\", data.fecha_fin_sub)\r\n let banSub = currentDate > this.changeFormat(data.fecha_inicio_sub) && currentDate < this.changeFormat(data.fecha_fin_sub)\r\n let banDec = currentDate > this.changeFormat(data.fecha_inicio_dec) && currentDate < this.changeFormat(data.fecha_fin_dec)\r\n let banVice = currentDate > this.changeFormat(data.fecha_inicio_vice) && currentDate < this.changeFormat(data.fecha_fin_vice)\r\n this.setState({ bandera: banSub, banderaDec: banDec, banderaVice: banVice })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n \r\n }\r\n\r\n componentDidMount() {\r\n let id = 0;\r\n let currentUser = this.context;\r\n //console.log('Mount',currentUser);\r\n if (currentUser != null) {\r\n //console.log(currentUser)\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('SUBDECANO') || currentUser.roles.includes('COORDINADOR')) {\r\n this.populate(currentUser.idpersona);\r\n } else if (currentUser.roles.includes('DECANO')) {\r\n this.isDecano();\r\n } else if (currentUser.roles.includes('VICERRECTOR')) {\r\n this.isVicerrector(currentUser.idpersona);\r\n } else if (currentUser.roles.includes('ADMINISTRADOR')) {\r\n this.isAdministrador();\r\n }\r\n \r\n } \r\n //console.log(\"id\", id); \r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context;\r\n //console.log('Update',currentUser);\r\n if(currentUser != null && this.state.iduser == 0){\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('SUBDECANO') || currentUser.roles.includes('COORDINADOR')) {\r\n this.populate(currentUser.idpersona);\r\n } else if (currentUser.roles.includes('DECANO')) {\r\n this.isDecano();\r\n } else if (currentUser.roles.includes('VICERRECTOR')) {\r\n this.isVicerrector(currentUser.idpersona);\r\n } else if (currentUser.roles.includes('ADMINISTRADOR')) {\r\n this.isAdministrador();\r\n }\r\n } \r\n }\r\n \r\n populate(idpersona) {\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n\r\n fetch(local + 'Validacion/GetProfesoresPorValidar/'+ idpersona, {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n MySwal.close();\r\n this.setState({\r\n validaciones: data.validados,\r\n validacionesMut: data.validados, noValidaciones: data.noValidados,\r\n aceptados: data.validacionAceptada, delegacion: data.delegacion,\r\n populateFinish: true\r\n })\r\n \r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n populateNotP(idpersona) {\r\n this.setState({ validaciones: ['No se porque logeaste'], notSC: true});\r\n }\r\n \r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n isDecano() {\r\n this.props.history.push({\r\n pathname: '/Decano',\r\n })\r\n }\r\n\r\n isVicerrector(idpersona) {\r\n this.props.history.push({\r\n pathname: '/Vicerrector',\r\n })\r\n }\r\n\r\n isAdministrador() {\r\n this.props.history.push({\r\n pathname: '/Administrador',\r\n })\r\n }\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //EXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n render() {\r\n const currentUser = this.context;\r\n let currentDate = new Date(); \r\n\r\n let bandera = this.state.bandera;//currentDate > this.changeFormat(fechaInicioSub) && currentDate < this.changeFormat(fechaFinSub);\r\n let noacceso = Ha finalizado la fecha maxima para el acceso a el sistema, no podra realizar cambios pero si consultar.\r\n if(currentUser == null){\r\n return <>;\r\n }else if(currentUser != null && this.state.iduser == 0){\r\n this.setState({iduser : currentUser.idpersona}) \r\n }\r\n \r\n const columns = [{\r\n dataField: 'strCedula',\r\n text: 'C. Identidad',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strNombreCompleto',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strUnidad',\r\n text: 'Unidad',\r\n hidden: true,\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'totalObservaciones',\r\n isDummyField:true,\r\n text: 'Total de observaciones',\r\n headerStyle: color_head_desc('id'),\r\n align: 'center',\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cell, row, rowIndex) => {\r\n return(\r\n
\r\n {row['accionesIngresadas']} / {row['cantAcciones']}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Revisar observaciones',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n align: 'center',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n\r\n \r\n \"edit\"\r\n \r\n\r\n )\r\n }\r\n }];\r\n\r\n const columnsNotValidate = [{\r\n dataField: 'nombres',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'numeroIdentificacion',\r\n text: 'Número de identificación',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n },\r\n ];\r\n \r\n // let delegacion;\r\n // console.log('alola')\r\n // console.log(this.state.delegacion);\r\n // if(this.state.delegacion === null || Object.keys(this.state.delegacion).length ===0){\r\n // console.log('entro?');\r\n // delegacion = <>;\r\n // }else{\r\n // console.log(this.state.delegacion);\r\n // delegacion = ;\r\n // }\r\n let validacionCard;\r\n let validacionList = <>

Alola

;\r\n if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && !this.state.populateFinish) {\r\n validacionCard = <>;\r\n validacionList = <>;\r\n } else if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && this.state.populateFinish) {\r\n validacionCard = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n validacionList = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n } else if (this.state.notSC) {\r\n validacionCard = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n validacionList = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n }else {\r\n /* console.log(this.state.validaciones);*/\r\n validacionCard = \r\n <>\r\n
\r\n \r\n
\r\n ;\r\n validacionList = <>
\r\n \r\n
; \r\n } \r\n \r\n return (\r\n <>\r\n
\r\n {!bandera ? noacceso : <>}\r\n
\r\n

\r\n
\r\n \r\n \r\n \r\n {validacionCard} \r\n \r\n \r\n {validacionList} \r\n \r\n \r\n {/* {this.state.delegacion && \r\n {delegacion}\r\n } */}\r\n
\r\n \r\n\r\n );\r\n }\r\n}\r\nListadoProfesores.contextType = AppContext;\r\nexport default withRouter(ListadoProfesores);","import React from 'react';\r\nimport Select from 'react-select';\r\nimport { Collapse, UncontrolledCollapse, Button, CardBody, Card, CardHeader, CardText, CardTitle, Row, Col, Spinner } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Alert } from 'reactstrap';\r\nimport './css/Delegar.css';\r\nimport Image from 'react-bootstrap/Image';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nimport './css/fonts.css';\r\nimport { AppContext } from './../AppContext';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nconst MySwal = withReactContent(Swal)\r\nconst fechaInicioSub = process.env.REACT_APP_FECHA_INICIO_SUB;\r\nconst fechaFinSub = process.env.REACT_APP_FECHA_FIN_SUB;\r\nconst currentDate = new Date();\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nclass Delegar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n profesores: [],\r\n coordinadores: [],\r\n asignados: [],\r\n loading: true,\r\n profesoresMutar: [],\r\n coordinador: { label: 'Elija el coordinador', value: 0, programa: 0, idPersona: 0 },\r\n marcados: [],\r\n totalPageP: 0,\r\n actualPage: 1, \r\n siblingCount: 1,\r\n currentPage: 1,\r\n currentTotalPages: 0,\r\n postsActividad: [],\r\n respItems: -1,\r\n postsPerPage: 10,\r\n block: false,\r\n bandera: false, banderaDec: false, banderaVice: false\r\n };\r\n this.toggleChange = this.toggleChange.bind(this);\r\n this.marcados = [];\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"leyes\", data)\r\n //console.log(\"leyesInicio\", data.fecha_inicio_sub)\r\n //console.log(\"leyesFin\", data.fecha_fin_sub)\r\n let banSub = currentDate > this.changeFormat(data.fecha_inicio_sub) && currentDate < this.changeFormat(data.fecha_fin_sub)\r\n let banDec = currentDate > this.changeFormat(data.fecha_inicio_dec) && currentDate < this.changeFormat(data.fecha_fin_dec)\r\n let banVice = currentDate > this.changeFormat(data.fecha_inicio_vice) && currentDate < this.changeFormat(data.fecha_fin_vice)\r\n this.setState({ bandera: banSub, banderaDec: banDec, banderaVice: banVice })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n let currentUser = this.context\r\n /*console.log(\"current\");*/\r\n if (currentUser != null) {\r\n if (currentUser.roles.includes('SUBDECANO')) {\r\n this.populate();\r\n } else {\r\n this.isForbidden();\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context\r\n /*console.log(\"current\");*/\r\n if (currentUser != null && this.state.coordinadores.length === 0) {\r\n if (currentUser.roles.includes('SUBDECANO')) { \r\n this.populate();\r\n } else {\r\n this.isForbidden();\r\n } \r\n }\r\n }\r\n\r\n isForbidden() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n setPagePrevious() {\r\n if (this.state.currentPage !== 1) {\r\n let p = this.state.currentPage;\r\n this.setState({\r\n currentPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n setPageNext() {\r\n if (this.state.currentPage !== this.state.totalPageP) {\r\n let p = this.state.currentPage;\r\n this.setState({\r\n currentPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n setPage = (pageNum) => {\r\n this.setState({ currentPage: pageNum })\r\n }\r\n\r\n setYouAreMySibling(num) {\r\n let actualPage = this.state.currentPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n return valor;\r\n }\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite), actualPage: 1, currentPage: 1 });\r\n\r\n }\r\n\r\n populate() {\r\n /*console.log(\"Populate\")*/\r\n fetch(local + 'Validacion/DelegacionInfo', {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n this.setState({\r\n profesores: data.profesores, coordinadores: data.coordinadores, asignados: data.usuarioAsignado, loading: false, profesoresMutar: data.profesores,\r\n marcados: data.usuarioAsignado.length > 0 ? data.usuarioAsignado.map(({ valDetalle }) => valDetalle).flat() : []\r\n })\r\n this.reLoadTotalPage(this.state.profesoresMutar.length, this.state.postsPerPage);\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n handleCoordinadorChange = (coor) => {\r\n /*console.log(coor)*/\r\n if (coor !== null) {\r\n const coordinador = this.state.coordinadores.find(x => x.intIdPersona == coor.idPersona && x.idPrograma == coor.programa)\r\n /*console.log(coordinador)*/\r\n let idAsignados = this.state.asignados.length === 0 ? [] : this.state.asignados.map(x => x.valDetalle[0])\r\n //si programa es mayor que 0, es coordinador de posgrado; caso contrario el coordinador seleccionado es de grado\r\n let profesores = coor.programa > 0 ? this.state.profesores.filter(x => x.esPosgrado) : this.state.profesores.filter(x => x.esGrado)\r\n\r\n /*console.log('PROFESORES FILTRADO', profesores)*/\r\n const marcados = this.state.asignados.find(x => x.usuario.intIdPersona === coor.idPersona);\r\n /*console.log(marcados)*/\r\n this.setState({\r\n coordinador: coor, marcados: (typeof marcados === 'undefined' ? [] : marcados.valDetalle), profesoresMutar: profesores,\r\n })\r\n this.reLoadTotalPage(profesores.length, this.state.postsPerPage);\r\n } else {\r\n const marcados = this.state.asignados;\r\n this.setState({\r\n coordinador: coor, marcados: marcados === [] ? [] : marcados.map(x => x.valDetalle), profesoresMutar: this.state.profesores\r\n })\r\n this.reLoadTotalPage(this.state.profesores.length, this.state.postsPerPage);\r\n }\r\n\r\n // console.log('Coordinador seleccionado' + coor.value))\r\n\r\n }\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n toggleChange(event) {\r\n\r\n let { marcados } = this.state;\r\n /*console.log(\"CAMBIANDO ARREGLO MARCADOS\", marcados)*/\r\n let idVal = parseInt(event.target.value)\r\n if (marcados.some(x => x === idVal)) {\r\n this.setState({ marcados: marcados.filter(x => x !== idVal) });\r\n } else {\r\n // this.setState({ marcados: [...this.state.marcados, idVal] });\r\n this.setState({ marcados: [...marcados, idVal] });\r\n }\r\n }\r\n\r\n toggleReactivar = (idVal) => {\r\n\r\n let { marcados } = this.state;\r\n /*console.log(\"CAMBIANDO ARREGLO MARCADOS\", marcados)*/\r\n if (marcados.some(x => x === idVal)) {\r\n this.setState({ marcados: marcados.filter(x => x !== idVal) });\r\n } else {\r\n this.setState({ marcados: [...marcados, idVal] });\r\n }\r\n }\r\n\r\n toggleChangeAll = e => {\r\n //console.log(e)\r\n const { profesoresMutar, asignados, coordinador } = this.state;\r\n const idAsignados = asignados.length === 0 ? [] : asignados.filter(x => x.usuario.intIdPersona !== coordinador.idPersona).map(({ valDetalle }) => valDetalle).flat()\r\n let profesor = profesoresMutar.find(x => x.intIdPersona === parseInt(e.target.value))\r\n const validaciones = profesor.detalle.filter(x => !idAsignados.includes(x.idValDet)).map(x => x.idValDet)\r\n /*console.log(\"VALIDACIONES\", validaciones)*/\r\n if (e.target.checked) {\r\n const resultado = Array.from(new Set([...this.state.marcados, ...validaciones]));\r\n /*console.log(\"SIUUU\", resultado)*/\r\n this.setState({ marcados: resultado });\r\n } else {\r\n const resultado = this.state.marcados.filter(x => !validaciones.includes(x))\r\n /*console.log(\"NOUUU\", resultado)*/\r\n this.setState({ marcados: resultado });\r\n }\r\n }\r\n\r\n handleSave(idProfesor) {\r\n let dto = {}\r\n this.setState({ block: true});\r\n dto['idValDetalle'] = this.state.marcados //modificar\r\n dto['idCoordinador'] = this.state.coordinador.idPersona\r\n dto['idProgramaSaacp'] = this.state.coordinador.programa\r\n const data = JSON.stringify(dto);\r\n /*console.log(data);*/\r\n fetch(local + 'Validacion/PostDelegacion', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n response.json().then(data => {\r\n /*console.log(data)*/\r\n this.setState(prevState => ({ profesores: data.value.profesores, coordinadores: data.value.coordinadores, asignados: data.value.usuarioAsignado, loading: false, profesoresMutar: prevState.profesoresMutar }))\r\n })\r\n this.reLoadTotalPage(this.state.profesoresMutar.length, this.state.postsPerPage);\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Delegación completada',\r\n text: 'Operacion exitosa!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({ block: false });\r\n } else {\r\n // window.alert('fallo post')\r\n window.location.reload(false);\r\n this.setState({ block: false });\r\n }\r\n })\r\n }\r\n\r\n handleSaveAll() {\r\n let dto = {}\r\n this.setState({ block: true });\r\n dto['idValDetalle'] = this.state.marcados //modificar\r\n dto['idCoordinador'] = this.state.coordinador.idPersona\r\n dto['idProgramaSaacp'] = this.state.coordinador.programa\r\n const data = JSON.stringify(dto);\r\n /*console.log(data);*/\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false, \r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n fetch(local + 'Validacion/PostDelegacion', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n response.json().then(data => {\r\n /*console.log(data)*/\r\n this.setState(prevState => ({ profesores: data.value.profesores, coordinadores: data.value.coordinadores, asignados: data.value.usuarioAsignado, loading: false, profesoresMutar: prevState.profesoresMutar }))\r\n })\r\n MySwal.close();\r\n this.reLoadTotalPage(this.state.profesoresMutar.length, this.state.postsPerPage);\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Delegación completada',\r\n text: 'Operacion exitosa!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n this.setState({ block: false });\r\n } else {\r\n // window.alert('fallo post')\r\n MySwal.close();\r\n window.location.reload(false);\r\n this.setState({ block: false });\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n\r\n let { profesoresMutar, coordinador, coordinadores, asignados, marcados, bandera } = this.state;\r\n const coordinadoresMutar = coordinadores.map(x => ({\r\n label: x.strApellidos + ' ' + x.strNombres + ' | ' + x.nombreCarrera,\r\n value: x.intIdPersona.toString() + x.idPrograma.toString(), programa: x.idPrograma, idPersona: x.intIdPersona\r\n }));\r\n\r\n let idAsignados = []\r\n if (coordinador === null)\r\n idAsignados = asignados.length === 0 ? [] : asignados.map(({ valDetalle }) => valDetalle).flat()\r\n else\r\n idAsignados = asignados.length === 0 ? [] : asignados.filter(x => x.usuario.intIdPersona !== coordinador.idPersona).map(({ valDetalle }) => valDetalle).flat()\r\n \r\n const coordinadorSelected = coordinador != null && coordinador.idPersona >= 0 \r\n ? coordinadores.find(x => x.intIdPersona == coordinador.idPersona && x.idPrograma == coordinador.programa) : null;\r\n\r\n const indexOfLastPost = this.state.currentPage * this.state.postsPerPage;\r\n\r\n const indexOfFirstPost = indexOfLastPost - this.state.postsPerPage;\r\n\r\n const currentPosts = profesoresMutar.slice(indexOfFirstPost, indexOfLastPost);\r\n\r\n const pageNumbers = []\r\n\r\n for (let i = 1; i <= Math.ceil(profesoresMutar.length / this.state.postsPerPage); i++) {\r\n pageNumbers.push(i);\r\n }\r\n let noacceso = Ha finalizado la fecha maxima para el acceso a el sistema.\r\n \r\n\r\n return (\r\n <>\r\n {!bandera ? noacceso : <>
\r\n

\r\n
\r\n

\r\n

\r\n \r\n
\r\n {this.state.loading ? : <>}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {currentPosts.map(profesor =>\r\n \r\n \r\n \r\n (e.target.onerror = null, e.target.src = images['user2.png'].default)}\r\n style={{ width: 60, height: 60, borderRadius: '50%', overflow: 'hidden', borderWidth: 3, borderColor: 'red', }} />\r\n \r\n \r\n \r\n \r\n \r\n {this.state.coordinador !== null && this.state.coordinador.idPersona > 0 ?\r\n <>\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n : <>}\r\n
\r\n \r\n {profesor.detalle.filter(x => {\r\n if (coordinador != null && coordinador.idPersona != 0) {\r\n if (coordinador.programa > 0) {\r\n return x.tipo == \"M|P\" || x.tipo == \"A|P\"\r\n } else {\r\n return x.tipo != \"M|P\" && x.tipo != \"A|P\"\r\n }\r\n } else {\r\n return true\r\n }\r\n }).map(validacion => {\r\n return \r\n {!idAsignados.includes(validacion.idValDet) ?\r\n \r\n
\r\n \r\n
\r\n \r\n :\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \"reactivar\" this.toggleReactivar(validacion.idValDet)} />\r\n \r\n \r\n }\r\n
\r\n }\r\n\r\n )}\r\n
\r\n {/*{this.state.coordinador !== null && this.state.coordinador.idPersona > 0 ?*/}\r\n {/* : <>*/}\r\n {/*}*/}\r\n
\r\n
\r\n\r\n
\r\n \r\n )}\r\n {currentPosts.length == 0 ?\r\n \r\n : <>}\r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n )\r\n }\r\n}\r\nDelegar.contextType = AppContext;\r\nexport default Delegar;","import React, { Component } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport Chart from \"react-apexcharts\";\r\nimport { Col, Row, CardBody, Card, CardHeader, Label } from 'reactstrap';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nconst colors1 = ['#FF3500', '#71D800'];\r\nconst colors2 = ['#F17B7C', '#26CB97'];\r\nconst colors3 = ['#71D800', '#FF7300', '#CC3232'];\r\nconst colors4 = ['#FFD800', '#FF7300', '#42A49D', '#71D800'];\r\nclass Graficos extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n options1: {\r\n labels: ['Carga No Validada', 'Carga Validada'],\r\n colors: colors1,\r\n legend: {\r\n show: true,\r\n horizontalAlign: 'left',\r\n position: 'top',\r\n },\r\n },\r\n series1: this.props.series1,\r\n options2: {\r\n chart: {\r\n events: {\r\n dataPointSelection: (event, chartContext, config) => {\r\n //console.log(config.w.config.series[config.dataPointIndex])\r\n //console.log(config.w.config.labels[config.dataPointIndex])\r\n let type = 0;\r\n let delegacion = 0;\r\n if(config.w.config.labels[config.dataPointIndex] === 'Sin Delegar'){\r\n delegacion = 2;\r\n }else if(config.w.config.labels[config.dataPointIndex] === 'Delegado'){\r\n delegacion = 1;\r\n }\r\n this.props.history.push({\r\n pathname: '/',\r\n state:{\r\n type: type,\r\n delegation: delegacion\r\n }\r\n });\r\n }\r\n }\r\n },\r\n labels: ['Sin Delegar', 'Delegado'],\r\n colors: colors2,\r\n legend: {\r\n show: true,\r\n horizontalAlign: 'left',\r\n position: 'top',\r\n },\r\n tooltip: {\r\n intersect: true,\r\n shared: false\r\n },\r\n },\r\n series2: this.props.series2,\r\n options3: {\r\n chart: {\r\n events: {\r\n dataPointSelection: (event, chartContext, config) => {\r\n //console.log(config.w.config.series[config.dataPointIndex])\r\n //console.log(config.w.config.labels[config.dataPointIndex])\r\n let type = 0;\r\n let delegacion = 2;\r\n if(config.w.config.labels[config.dataPointIndex] === 'Atendidas'){\r\n type = 1;\r\n }else if(config.w.config.labels[config.dataPointIndex] === 'Parcialmente Atendidas'){\r\n type = 2;\r\n }else if(config.w.config.labels[config.dataPointIndex] === 'Pendientes'){\r\n type = 3;\r\n }\r\n this.props.history.push({\r\n pathname: '/',\r\n state:{\r\n type: type,\r\n delegation: delegacion\r\n }\r\n });\r\n }\r\n },\r\n tooltip: {\r\n intersect: true,\r\n shared: false\r\n },\r\n },\r\n labels: ['Atendidas', 'Parcialmente Atendidas', 'Pendientes'],\r\n colors: colors3,\r\n legend: {\r\n show: true,\r\n horizontalAlign: 'left',\r\n position: 'top',\r\n }\r\n },\r\n series3: this.props.series3,\r\n options4: {\r\n chart: {\r\n events: {\r\n dataPointSelection: (event, chartContext, config) => {\r\n //console.log(config.w.config.series[config.dataPointIndex])\r\n //console.log(config.w.config.labels[config.dataPointIndex])\r\n let type = 0;\r\n let delegacion = 1;\r\n if(config.w.config.labels[config.dataPointIndex] === 'Atendidas'){\r\n type = 1;\r\n }else if(config.w.config.labels[config.dataPointIndex] === 'Parcialmente Atendidas'){\r\n type = 2;\r\n }else if(config.w.config.labels[config.dataPointIndex] === 'Pendientes'){\r\n type = 3;\r\n }\r\n this.props.history.push({\r\n pathname: '/',\r\n state:{\r\n type: type,\r\n delegation: delegacion\r\n }\r\n });\r\n }\r\n }\r\n },\r\n labels: ['Atendidas', 'Parcialmente Atendidas', 'Pendientes'],\r\n colors: colors4,\r\n legend: {\r\n show: true,\r\n horizontalAlign: 'left',\r\n position: 'top',\r\n },\r\n tooltip: {\r\n intersect: true,\r\n shared: false\r\n },\r\n },\r\n series4: this.props.series4,\r\n optionsBar1: {\r\n plotOptions: {\r\n bar: {\r\n distributed: true, // this line is mandatory \r\n barHeight: '95%',\r\n },\r\n },\r\n colors: colors3,\r\n legend: {\r\n show: false,\r\n },\r\n chart: {\r\n id: \"basic-bar\"\r\n },\r\n xaxis: {\r\n categories: ['Atendidas', 'P. Atendidas', 'Pendientes']\r\n }\r\n },\r\n seriesBar1: [\r\n {\r\n name: \"series-1\",\r\n data: this.props.series3\r\n }\r\n ],\r\n optionsBar2: { \r\n colors: colors3,\r\n legend: {\r\n show: false, \r\n },\r\n plotOptions: {\r\n bar: {\r\n distributed: true, // this line is mandatory \r\n barHeight: '95%',\r\n },\r\n },\r\n chart: {\r\n id: \"basic-bar-2\"\r\n },\r\n xaxis: {\r\n categories: ['Atendidas', 'P. Atendidas', 'Pendientes']\r\n }\r\n },\r\n seriesBar2: [\r\n {\r\n name: \"series-2\",\r\n data: this.props.series4\r\n }\r\n ]\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n this.state.series1.every(x => x === 0) ? <>No hay datos que presentar.\r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n this.state.series2.every(x => x === 0) && this.state.series2[1] === 0 ?\r\n <>No hay datos que presentar.\r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n this.state.series3.every(x => x === 0) && this.state.series3[1] === 0 && this.state.series3[2] === 0 ?\r\n <>No hay datos que presentar.\r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*
*/}\r\n {\r\n this.state.series4.every(x => x === 0) && this.state.series4[1] === 0 && this.state.series4[2] === 0\r\n ? :\r\n \r\n }\r\n {/*
*/}\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\nGraficos.propTypes = {\r\n series1: PropTypes.array.isRequired,\r\n series2: PropTypes.array.isRequired,\r\n series3: PropTypes.array.isRequired,\r\n series4: PropTypes.array.isRequired,\r\n};\r\nexport default withRouter(Graficos);","import React, { Component } from \"react\";\r\nimport { Spinner} from 'reactstrap';\r\nimport Graficos from './Graficos';\r\nimport { AppContext } from './../AppContext';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\nconst fechaInicio = url.fechaInicio;\r\nconst fechaFin = url.fechaInicio;\r\n\r\nclass PadreGraficos extends Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = { \r\n loading: true,\r\n iduser: 0,\r\n roles: [],\r\n validados: 0,\r\n noValidados: 0,\r\n delegados: 0,\r\n sinDelegar: 0,\r\n pendientes: 0,\r\n atendidos: 0,\r\n parcAtendidos: 0,\r\n pendientesCoor: 0,\r\n atendidosCoor: 0,\r\n parcAtendidosCoor: 0,\r\n };\r\n }\r\n\r\n componentDidMount() { \r\n let currentUser = this.context \r\n if (currentUser != null) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles }); \r\n if (currentUser.roles.includes('SUBDECANO')) {\r\n this.populate();\r\n } else {\r\n this.isForbidden();\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n isForbidden() {\r\n this.props.history.push({\r\n pathname: '/', \r\n })\r\n } \r\n\r\n componentDidUpdate(){\r\n let currentUser = this.context\r\n if (currentUser != null && ((this.state.validados + this.state.noValidados) == 0) && this.state.iduser == 0) {\r\n /*console.log(\"updateded\");*/\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n /*console.log(currentUser.roles);*/\r\n if (currentUser.roles.includes('SUBDECANO')) {\r\n this.populate();\r\n } else {\r\n this.isForbidden();\r\n }\r\n }\r\n }\r\n\r\n populate(){\r\n /*console.log(\"Populate\")*/\r\n fetch(local + 'Graficos/GetData', {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n //console.log(data);\r\n this.setState({ validados: data.validados, noValidados: data.noValidados, \r\n delegados: data.delegados, sinDelegar: data.sinDelegar, \r\n pendientes: data.pendientes, atendidos: data.atendidos, parcAtendidos: data.parcAtendidos,\r\n pendientesCoor: data.pendientesCoor, atendidosCoor: data.atendidosCoor, \r\n parcAtendidosCoor: data.parcAtendidosCoor, loading: false})\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n renderGraficos(validados, noValidados, delegados, sinDelegar, \r\n pendientes, atendidos, parcAtendidos, \r\n pendientesCoor, atendidosCoor, parcAtendidosCoor){\r\n return ();\r\n }\r\n\r\n render() { \r\n const currentUser = this.context;\r\n \r\n if(currentUser == null){\r\n return <>;\r\n }\r\n \r\n let content = this.state.loading ? <> \r\n : this.renderGraficos(this.state.validados, \r\n this.state.noValidados,\r\n this.state.delegados,\r\n this.state.sinDelegar,\r\n this.state.pendientes,\r\n this.state.atendidos,\r\n this.state.parcAtendidos,\r\n this.state.pendientesCoor,\r\n this.state.atendidosCoor,\r\n this.state.parcAtendidosCoor\r\n );\r\n\r\n return ( \r\n
\r\n {content}\r\n
\r\n );\r\n }\r\n}\r\nPadreGraficos.contextType = AppContext;\r\nexport default PadreGraficos;","export default __webpack_public_path__ + \"static/media/Logosistema.2275cf24.svg\";","import React, { Component } from 'react';\r\n\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink, Row, Col } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { AppContext } from './../AppContext';\r\nimport './css/NavMenu.css';\r\nimport logo from './img/svg/Logosistema.svg';\r\nimport url from \"./variables/url.js\";\r\nimport CasClient, { constant } from \"react-cas-client\";\r\nimport { ImExit } from 'react-icons/im';\r\nimport { FaRegUserCircle,FaHome } from 'react-icons/fa';\r\n\r\nconst CAS_PARAMS = url.cas.split(\"://\");\r\nconst casOptions = { version: constant.CAS_VERSION_2_0, path: '/', protocol: CAS_PARAMS[0] };\r\nconst casClient = new CasClient(CAS_PARAMS[1], casOptions);\r\n\r\nconst ColoredLine = ({ color }) => (\r\n \r\n);\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n logout() {\r\n casClient.logout();\r\n }\r\n\r\n toggleNavbar() {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render() {\r\n const currentUser = this.context;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {currentUser && currentUser.idpersona > 0 ?\r\n
{currentUser.apellidos} {currentUser.nombres}  
\r\n :\r\n ''\r\n } \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {currentUser && currentUser.usuario ?\r\n <>\r\n \r\n :\r\n Usuario no autorizado\r\n }\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\nNavMenu.contextType = AppContext;","import React, { Component } from \"react\";\r\nimport {Collapse, NavbarBrand, NavbarToggler} from \"reactstrap\";\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n ProSidebar,\r\n Menu,\r\n MenuItem,\r\n SubMenu,\r\n SidebarHeader,\r\n SidebarContent,\r\n SidebarFooter\r\n} from \"react-pro-sidebar\";\r\nimport { FaGem, FaList, FaCodiepie, FaSolarPanel } from \"react-icons/fa\";\r\nimport { RiUserSharedFill } from \"react-icons/ri\";\r\nimport { GoRepoPull } from \"react-icons/go\";\r\nimport { GrConfigure } from \"react-icons/gr\";\r\nimport './css/custom.css';\r\nimport './css/SideBar.css';\r\nimport { AppContext } from './../AppContext';\r\n\r\nimport logo from './img/svg/Logosistema.svg';\r\nimport { components } from \"react-select\";\r\n\r\nconst styles = {\r\n sideBarHeight: {\r\n height: \"100vh\",\r\n }, \r\n sidebarBgColor: {\r\n bgcolor: \"#ffffff\",\r\n }, \r\n}\r\n\r\nconst headerStyle = {\r\n padding: \"0px\",\r\n textTransform: \"uppercase\",\r\n fontWeight: \"bold\",\r\n letterSpacing: \"1px\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"noWrap\"\r\n};\r\n\r\nexport class SideBar extends Component {\r\n static displayName = SideBar.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n iduser: 0,\r\n roles: [],\r\n activePage: '/',\r\n };\r\n\r\n this.handleActive = this.handleActive.bind(this);\r\n this.activeRoute.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n let id = 0;\r\n let currentUser = this.context\r\n if (currentUser != null) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n }\r\n /*console.log(\"id\", id);*/\r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context\r\n if (currentUser != null && this.state.iduser == 0) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n }\r\n }\r\n\r\n handleActive(side) {\r\n if (!(side === this.state.activePage)) {\r\n this.setState({ activePage: side });\r\n }\r\n }\r\n\r\n activeRoute(routeName) {\r\n return this.props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\r\n }\r\n\r\n /*const currentUser = this.context;*/\r\n render() { \r\n let iconStyles = { color: \"white\", fontSize: \"1.5em\" }\r\n return (\r\n \r\n \r\n \r\n {this.state.roles !== [] && (this.state.roles.includes('SUBDECANO') || this.state.roles.includes('COORDINADOR'))\r\n ? <>} style={{ fontSize: \"1vw\" }}>Carga{this.state.roles.includes('DECANO') ? <>
Subdecano : <>} this.handleActive('/')} />
\r\n
: <>}\r\n {this.state.roles !== [] && this.state.roles.includes('SUBDECANO')\r\n ? <>} style={{ fontSize: \"1vw\" }}>Gráficos this.handleActive('/Graficos')} />\r\n
: <>} \r\n {this.state.roles !== [] && this.state.roles.includes('SUBDECANO')\r\n ? <>} style={{ fontSize: \"1vw\" }}>Delegación
Masiva this.handleActive('/delegar')} />
\r\n
: <>}\r\n {this.state.roles !== [] && this.state.roles.includes('DECANO')\r\n ? <>} style={{ fontSize: \"1vw\" }}>Carga
Decano this.handleActive('/Decano')} />
\r\n
: <>}\r\n {this.state.roles !== [] && this.state.roles.includes('VICERRECTOR')\r\n ? <>} style={{ fontSize: \"1vw\" }}>Carga
Vicerrector this.handleActive('/Vicerrector')} />
\r\n
: <>} \r\n {this.state.roles !== [] && this.state.roles.includes('ADMINISTRADOR')\r\n ? <>} style={{ fontSize: \"1vw\" }}>Panel
Administrador this.handleActive('/Administrador')} />
\r\n
: <>} \r\n {this.state.roles !== [] && this.state.roles.includes('ADMINISTRADOR')\r\n ? <>} style={{ fontSize: \"1vw\" }}>Configuración this.handleActive('/Configuracion')} />\r\n
: <>}\r\n {this.state.roles !== [] && this.state.roles.includes('ADMINISTRADOR')\r\n ?\r\n } style={{ fontSize: \"1vw\" }}>Reportes this.handleActive('/Reportes')} />\r\n : <>}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nSideBar.contextType = AppContext;\r\nexport default SideBar;","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport { NavMenu } from './NavMenu';\r\nimport './css/NavMenu.css';\r\n\r\nimport SideBar from './SideBar';\r\nimport \"react-pro-sidebar/dist/css/styles.css\";\r\nimport './css/SideBar.css';\r\n\r\nconst ColoredLine = ({ color }) => (\r\n \r\n);\r\n\r\nconst styles = {\r\n contentDiv: {\r\n display: \"flex\",\r\n },\r\n contentMargin: {\r\n marginLeft: \"10px\",\r\n width: \"100%\",\r\n },\r\n};\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n render() {\r\n return (\r\n
\r\n {/**/}\r\n\r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* {this.props.children}*/}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/*

*/}\r\n {/* Escuela Superior Politécnica del Litoral - Campus Gustavo Galindo - Guayaquil - Ecuador*/}\r\n {/*
*/}\r\n {/* © El contenido de esta obra es de propiedad de la ESPOL. Todos los derechos reservados.*/}\r\n {/*
*/}\r\n {/* Prohibida su reproducción total o parcial, comunicación pública o distribución sin autorización previa del titular de los derechos.*/}\r\n {/*

*/}\r\n {/*
*/}\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {this.props.children}\r\n
\r\n
\r\n
\r\n\r\n {/**/}\r\n {/* */}\r\n {/* {this.props.children}*/}\r\n {/* */}\r\n {/**/}\r\n {/**/}\r\n

\r\n Escuela Superior Politécnica del Litoral - Campus Gustavo Galindo - Guayaquil - Ecuador\r\n
\r\n © El contenido de esta obra es de propiedad de la ESPOL. Todos los derechos reservados.\r\n
\r\n Prohibida su reproducción total o parcial, comunicación pública o distribución sin autorización previa del titular de los derechos.\r\n

\r\n {/*
*/}\r\n
\r\n );\r\n }\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport url from \"./../components/variables/url.js\";\r\n\r\nconst APP_ID = process.env.REACT_APP_ID;\r\nconst localBack = url.localBack;\r\nconst cas = url.cas\r\n\r\nconst currentUser = {\r\n usuario: \"\",\r\n idpersona: 0,\r\n identificacion: \"\",\r\n ultimoCambio: \"\",\r\n apellidos: \"\",\r\n nombres: \"\",\r\n roles: [],\r\n token: \"\"\r\n};\r\n\r\nconst currentUserSubject = new BehaviorSubject(currentUser);\r\n\r\nexport const authService = {\r\n login,\r\n logout,\r\n currentUser: currentUserSubject.asObservable(),\r\n get currentUserValue() { return currentUserSubject.value },\r\n};\r\n\r\nfunction login(username) {\r\n fetch(localBack + \"account\", {\r\n method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ idapp: APP_ID, netid: username })\r\n }) \r\n\r\n .then(response => response.json().then(data => ({ok: response.ok, body: data})))\r\n .then((result) => {\r\n if(!result.ok){\r\n logout();\r\n }else{\r\n const body = result.body\r\n let loggedUser = {\r\n idpersona: body.user.idpersona,\r\n usuario: body.user.netId,\r\n identificacion: body.user.numeroidentificacion,\r\n apellidos: body.user.apellidos,\r\n nombres: body.user.nombres,\r\n roles: body.user.roles,\r\n token: body.token\r\n };\r\n\r\n let realFetch = window.fetch;\r\n window.fetch = function (url, opts = null) {\r\n let headers = opts.headers;\r\n console.log(headers);\r\n if (loggedUser.token) {\r\n headers = Object.assign({}, headers, { 'Authorization': `Bearer ${loggedUser.token}` });\r\n if (url.indexOf('File') < 0 && headers['Content-Type'] == undefined) {\r\n console.log(url);\r\n headers = Object.assign({}, headers, { 'Content-Type': 'application/json' });\r\n }\r\n opts.headers = headers;\r\n return realFetch(url, opts);\r\n } else {\r\n return realFetch(url, opts);\r\n }\r\n };\r\n currentUserSubject.next(loggedUser);\r\n }\r\n \r\n });\r\n}\r\n\r\nfunction logout() {\r\n // remove user and go to logout CAS\r\n currentUserSubject.next(null);\r\n window.location.href = cas+\"/logout\";\r\n}","import { createBrowserHistory } from 'history';\r\nexport default createBrowserHistory({ });","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport './css/ListaCargaDecano.css';\r\nimport Image from 'react-bootstrap/Image';\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport { AiOutlineDoubleLeft, AiOutlineDoubleRight } from \"react-icons/ai\";\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListaCargaDecano extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n };\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return (act.accionesIngresadas + act.accionesIngresadasCoor === 0 || this.state.filterTipo === 3) || act.strEstado == \"P\" ? \"pe\" :\r\n (act.accionesIngresadas + act.accionesIngresadasCoor == act.cantAcciones + act.cantAccionesCoor || this.state.filterTipo === 1) || act.strEstado == \"AT\" ? \"at\" : \"pa\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorDecano/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.intIdPersona === value); \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n let nombresText = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ({ label: x.strNombreCompleto, value: x.intIdPersona }));\r\n\r\n let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n const unicos = [];\r\n\r\n for (var i = 0; i < unidades.length; i++) {\r\n\r\n const elemento = unidades[i];\r\n\r\n if (!unicos.includes(unidades[i])) {\r\n unicos.push(elemento);\r\n }\r\n }\r\n\r\n let unidadText = [];\r\n\r\n for (var i = 0; i < unicos.length; i++) {\r\n const elemento = unicos[i];\r\n unidadText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Ninguna\", value: 0 });\r\n\r\n unidadText.push({ label: \"Ninguna\", value: 0 }); \r\n\r\n //console.log(unidadText);\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n : <>}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(ListaCargaDecano);","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport './css/custom.css';\r\nimport { NavItem, NavLink, Nav, TabContent, TabPane } from 'reactstrap';\r\nimport { Spinner, Alert, UncontrolledAlert } from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport LoteCarga from './LoteCarga';\r\nimport { AppContext } from './../AppContext';\r\nimport ListaCargaDecano from './ListaCargaDecano';\r\nimport url from './variables/url.js';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\n\r\nconst MySwal = withReactContent(Swal);\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n\tlet images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n\treturn images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(jpg|png|jpe?g|svg)$/));\r\n\r\nconst currentDate = new Date();\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Asignado' },\r\n { value: '2', label: 'Asignado a mí' }\r\n]\r\n\r\n//const fechaInicioDec = process.env.REACT_APP_FECHA_INICIO_DEC;\r\n//const fechaFinDec = process.env.REACT_APP_FECHA_FIN_DEC;\r\n\r\nfunction color_head() {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white',\r\n width: '20%', fontSize: 11,\r\n };\r\n}\r\nfunction color_head_desc(tipo) {\r\n if (tipo == 'medium') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 14,\r\n width: '15%'\r\n };\r\n } else if (tipo == 'd') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '30%'\r\n }\r\n } else if (tipo == 'id') {\r\n return {\r\n backgroundColor: '#010053',\r\n color: 'white', fontSize: 12,\r\n width: '10%'\r\n };\r\n } else {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '10%'\r\n };\r\n }\r\n}\r\n//Funcion para colocar color a las celdasde la tabla\r\nfunction color(rowIndex) {\r\n if (rowIndex % 2 === 0) {\r\n return {\r\n backgroundColor: 'white'\r\n };\r\n }\r\n return {\r\n backgroundColor: '#E7E7E7'\r\n };\r\n}\r\n\r\nclass ListadoProfesoresDecano extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = { iduser: 0, profesores: [], next: false, validaciones: [], validacionesMut: [],tipo: '', \r\n activeTab: \"2\", aceptados: [], delegacion: {}, roles: [], notSC: false, populateFinish: false,\r\n bandera: false, banderaDec: false, banderaVice: false};\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"leyes\", data)\r\n //console.log(\"leyesInicio\", data.fecha_inicio_sub)\r\n //console.log(\"leyesFin\", data.fecha_fin_sub)\r\n let banSub = currentDate > this.changeFormat(data.fecha_inicio_sub) && currentDate < this.changeFormat(data.fecha_fin_sub)\r\n let banDec = currentDate > this.changeFormat(data.fecha_inicio_dec) && currentDate < this.changeFormat(data.fecha_fin_dec)\r\n let banVice = currentDate > this.changeFormat(data.fecha_inicio_vice) && currentDate < this.changeFormat(data.fecha_fin_vice)\r\n this.setState({ bandera: banSub, banderaDec: banDec, banderaVice: banVice })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n })\r\n\r\n this.toggle = this.toggle.bind(this);\r\n /*console.log(currentUser);*/\r\n ;\r\n }\r\n\r\n componentDidMount() {\r\n let id = 0;\r\n let currentUser = this.context \r\n if (currentUser != null) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('DECANO')) {\r\n this.populate(currentUser.idpersona);\r\n } else {\r\n\r\n }\r\n \r\n } \r\n //console.log(\"id\", id); \r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context\r\n //console.log('Update', currentUser); \r\n //console.log('InicioDec', fechaInicioDec);\r\n //console.log('FinDec', fechaFinDec); \r\n if(currentUser != null && this.state.iduser == 0){\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('DECANO')) {\r\n this.populate(currentUser.idpersona);\r\n } else {\r\n this.isForbidden();\r\n }\r\n \r\n } \r\n }\r\n \r\n populate(idpersona){\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n\r\n fetch(local + 'Decano/GetProfesoresEnviados/' + idpersona, {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n MySwal.close();\r\n this.setState({\r\n validaciones: data.validado,\r\n validacionesMut: data.validado,\r\n tipo: data.tipo,\r\n populateFinish: true\r\n })\r\n \r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n populateNotP(idpersona) {\r\n this.setState({ validaciones: ['No se porque logeaste'], notSC: true});\r\n }\r\n \r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n isForbidden() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n render() {\r\n const currentUser = this.context;\r\n let currentDate = new Date();\r\n\r\n let bandera = this.state.banderaDec//currentDate > this.changeFormat(fechaInicioDec) && currentDate < this.changeFormat(fechaFinDec);\r\n let noacceso = Ha finalizado la fecha maxima para el acceso a el sistema con rol Decano, no podra realizar cambios pero si consultar.\r\n if(currentUser == null){\r\n return <>;\r\n }else if(currentUser != null && this.state.iduser == 0){\r\n this.setState({iduser : currentUser.idpersona}) \r\n }\r\n \r\n const columns = [{\r\n dataField: 'strCedula',\r\n text: 'C. Identidad',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strNombreCompleto',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strUnidad',\r\n text: 'Unidad',\r\n hidden: true,\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'totalObservaciones',\r\n isDummyField:true,\r\n text: 'Total de observaciones',\r\n headerStyle: color_head_desc('id'),\r\n align: 'center',\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cell, row, rowIndex) => {\r\n return(\r\n
\r\n {row['accionesIngresadas']} / {row['cantAcciones']}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Revisar observaciones',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n align: 'center',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n\r\n \r\n \"edit\"\r\n \r\n\r\n )\r\n }\r\n }];\r\n\r\n const columnsNotValidate = [{\r\n dataField: 'nombres',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'numeroIdentificacion',\r\n text: 'Número de identificación',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n },\r\n ]; \r\n \r\n let validacionCard;\r\n let validacionList = <>

Alola

;\r\n if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && !this.state.populateFinish) {\r\n validacionCard = <>;\r\n validacionList = <>;\r\n } else if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && this.state.populateFinish) {\r\n validacionCard = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n validacionList = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n } else if (this.state.notSC) {\r\n validacionCard = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n validacionList = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n }else {\r\n /* console.log(this.state.validaciones);*/\r\n validacionCard = \r\n <>\r\n
\r\n \r\n
\r\n ;\r\n validacionList = <>
\r\n \r\n
; \r\n } \r\n \r\n return (\r\n <>\r\n
\r\n {!bandera ? noacceso : <>}\r\n
\r\n

\r\n
\r\n \r\n \r\n \r\n {validacionCard} \r\n \r\n \r\n {validacionList} \r\n \r\n \r\n {/* {this.state.delegacion && \r\n {delegacion}\r\n } */}\r\n
\r\n \r\n\r\n );\r\n }\r\n}\r\nListadoProfesoresDecano.contextType = AppContext;\r\nexport default withRouter(ListadoProfesoresDecano);","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport './css/ListaCargaVicerrector.css';\r\nimport Image from 'react-bootstrap/Image';\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport { AiOutlineDoubleLeft, AiOutlineDoubleRight } from \"react-icons/ai\";\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListaCargaVicerrector extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n //console.log(cargaList);\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n };\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return (act.accionesIngresadas + act.accionesIngresadasCoor === 0 || this.state.filterTipo === 3) || act.strEstado == \"PZ\" ? \"pe\" :\r\n (act.accionesIngresadas + act.accionesIngresadasCoor == act.cantAcciones + act.cantAccionesCoor || this.state.filterTipo === 1) || act.strEstado == \"AT\" ? \"at\" : \"pt\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorVicerrector/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.intIdPersona === value); \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n let nombresText = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ({ label: x.strNombreCompleto, value: x.intIdPersona }));\r\n\r\n let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n const unicos = [];\r\n\r\n for (var i = 0; i < unidades.length; i++) {\r\n\r\n const elemento = unidades[i];\r\n\r\n if (!unicos.includes(unidades[i])) {\r\n unicos.push(elemento);\r\n }\r\n }\r\n\r\n let unidadText = [];\r\n\r\n for (var i = 0; i < unicos.length; i++) {\r\n const elemento = unicos[i];\r\n unidadText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Ninguna\", value: 0 });\r\n\r\n unidadText.push({ label: \"Ninguna\", value: 0 }); \r\n\r\n //console.log(unidadText);\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n : <>}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(ListaCargaVicerrector);","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport './css/custom.css';\r\nimport { NavItem, NavLink, Nav, TabContent, TabPane } from 'reactstrap';\r\nimport { Spinner, Alert, UncontrolledAlert } from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport LoteCarga from './LoteCarga';\r\nimport { AppContext } from './../AppContext';\r\nimport ListaCargaVicerrector from './ListaCargaVicerrector';\r\nimport url from './variables/url.js';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\n\r\nconst MySwal = withReactContent(Swal);\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n\tlet images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n\treturn images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(jpg|png|jpe?g|svg)$/));\r\n\r\nconst currentDate = new Date();\r\n\r\n//const fechaInicioVice = process.env.REACT_APP_FECHA_INICIO_VICE;\r\n//const fechaFinVice = process.env.REACT_APP_FECHA_FIN_VICE;\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Asignado' },\r\n { value: '2', label: 'Asignado a mí' }\r\n]\r\n\r\nfunction color_head() {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white',\r\n width: '20%', fontSize: 11,\r\n };\r\n}\r\nfunction color_head_desc(tipo) {\r\n if (tipo == 'medium') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 14,\r\n width: '15%'\r\n };\r\n } else if (tipo == 'd') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '30%'\r\n }\r\n } else if (tipo == 'id') {\r\n return {\r\n backgroundColor: '#010053',\r\n color: 'white', fontSize: 12,\r\n width: '10%'\r\n };\r\n } else {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '10%'\r\n };\r\n }\r\n}\r\n//Funcion para colocar color a las celdasde la tabla\r\nfunction color(rowIndex) {\r\n if (rowIndex % 2 === 0) {\r\n return {\r\n backgroundColor: 'white'\r\n };\r\n }\r\n return {\r\n backgroundColor: '#E7E7E7'\r\n };\r\n}\r\n\r\nclass ListadoProfesoresVicerrector extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = { iduser: 0, profesores: [], next: false, validaciones: [], validacionesMut: [],tipo: '', \r\n activeTab: \"2\", aceptados: [], delegacion: {}, roles: [], notSC: false, populateFinish: false,\r\n bandera: false, banderaDec: false, banderaVice: false\r\n };\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"leyes\", data)\r\n //console.log(\"leyesInicio\", data.fecha_inicio_sub)\r\n //console.log(\"leyesFin\", data.fecha_fin_sub)\r\n let banSub = currentDate > this.changeFormat(data.fecha_inicio_sub) && currentDate < this.changeFormat(data.fecha_fin_sub)\r\n let banDec = currentDate > this.changeFormat(data.fecha_inicio_dec) && currentDate < this.changeFormat(data.fecha_fin_dec)\r\n let banVice = currentDate > this.changeFormat(data.fecha_inicio_vice) && currentDate < this.changeFormat(data.fecha_fin_vice)\r\n this.setState({ bandera: banSub, banderaDec: banDec, banderaVice: banVice })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n })\r\n\r\n this.toggle = this.toggle.bind(this);\r\n //console.log(currentUser);\r\n }\r\n\r\n componentDidMount() {\r\n let id = this.props.match.params.id; \r\n let currentUser = this.context; \r\n if (currentUser != null) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('VICERRECTOR')) { \r\n this.populate(currentUser.idpersona);\r\n } else {\r\n\r\n } \r\n } \r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context\r\n let id = this.props.match.params.id; \r\n if(currentUser != null && this.state.iduser == 0){\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('VICERRECTOR')) { \r\n this.populate(currentUser.idpersona);\r\n } else {\r\n this.isForbidden();\r\n }\r\n \r\n } \r\n }\r\n \r\n populate(idpersona) {\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n\r\n fetch(local + 'Vicerrector/GetProfesoresVice/' + idpersona, {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n MySwal.close();\r\n this.setState({\r\n validaciones: data.validado,\r\n validacionesMut: data.validado,\r\n tipo: data.tipo,\r\n populateFinish: true\r\n }) \r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n populateNotP(idpersona) {\r\n this.setState({ validaciones: ['No se porque logeaste'], notSC: true});\r\n }\r\n \r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n isForbidden() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n render() {\r\n const currentUser = this.context;\r\n let currentDate = new Date();\r\n //console.log(currentUser);\r\n let bandera = this.state.banderaVice;\r\n let noacceso = Ha finalizado la fecha maxima para el acceso a el sistema con rol Vicerrector, no podra realizar cambios pero si consultar.\r\n if(currentUser == null){\r\n return <>;\r\n }else if(currentUser != null && this.state.iduser == 0){\r\n this.setState({iduser : currentUser.idpersona}) \r\n }\r\n \r\n const columns = [{\r\n dataField: 'strCedula',\r\n text: 'C. Identidad',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strNombreCompleto',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strUnidad',\r\n text: 'Unidad',\r\n hidden: true,\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'totalObservaciones',\r\n isDummyField:true,\r\n text: 'Total de observaciones',\r\n headerStyle: color_head_desc('id'),\r\n align: 'center',\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cell, row, rowIndex) => {\r\n return(\r\n
\r\n {row['accionesIngresadas']} / {row['cantAcciones']}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Revisar observaciones',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n align: 'center',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n\r\n \r\n \"edit\"\r\n \r\n\r\n )\r\n }\r\n }];\r\n\r\n const columnsNotValidate = [{\r\n dataField: 'nombres',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'numeroIdentificacion',\r\n text: 'Número de identificación',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n },\r\n ]; \r\n \r\n let validacionCard;\r\n let validacionList = <>

Alola

;\r\n if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && !this.state.populateFinish) {\r\n validacionCard = <>;\r\n validacionList = <>;\r\n } else if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && this.state.populateFinish) {\r\n validacionCard = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n validacionList = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n } else if (this.state.notSC) {\r\n validacionCard = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n validacionList = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n }else {\r\n /* console.log(this.state.validaciones);*/\r\n validacionCard = \r\n <>\r\n
\r\n \r\n
\r\n ;\r\n validacionList = <>
\r\n \r\n
; \r\n } \r\n \r\n return (\r\n <>\r\n
\r\n {!bandera ? noacceso : <>}\r\n
\r\n

\r\n
\r\n \r\n \r\n \r\n {validacionCard} \r\n \r\n \r\n {validacionList} \r\n \r\n \r\n {/* {this.state.delegacion && \r\n {delegacion}\r\n } */}\r\n
\r\n \r\n\r\n );\r\n }\r\n}\r\nListadoProfesoresVicerrector.contextType = AppContext;\r\nexport default withRouter(ListadoProfesoresVicerrector);","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport './css/ListaCargaAdministrador.css';\r\nimport Image from 'react-bootstrap/Image';\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport { AiOutlineDoubleLeft, AiOutlineDoubleRight } from \"react-icons/ai\";\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListaCargaAdministrador extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n //console.log(cargaList);\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n };\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return act.strEstado == 'AD' || act.strEstado == 'AV' ? \"rd\" :\r\n act.strEstado == 'RD' || act.strEstado == 'RV' || act.strEstado == 'R' || act.strEstado == 'RA' ? \"pe\" :\r\n act.strEstado == 'ED' || act.strEstado == 'EDC' || act.strEstado == 'EV' ? \"pa\" :\r\n act.strEstado == 'P' ? \"pe\" : \"at\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorAdministrador/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.intIdPersona === value); \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n let nombresText = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ({ label: x.strNombreCompleto, value: x.intIdPersona }));\r\n\r\n let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n const unicos = [];\r\n\r\n for (var i = 0; i < unidades.length; i++) {\r\n\r\n const elemento = unidades[i];\r\n\r\n if (!unicos.includes(unidades[i])) {\r\n unicos.push(elemento);\r\n }\r\n }\r\n\r\n let unidadText = [];\r\n\r\n for (var i = 0; i < unicos.length; i++) {\r\n const elemento = unicos[i];\r\n unidadText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Ninguna\", value: 0 });\r\n\r\n unidadText.push({ label: \"Ninguna\", value: 0 }); \r\n\r\n //console.log(unidadText);\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n : <>}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(ListaCargaAdministrador);","import React from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport './css/custom.css';\r\nimport { NavItem, NavLink, Nav, TabContent, TabPane } from 'reactstrap';\r\nimport { Spinner, Alert, UncontrolledAlert } from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport LoteCarga from './LoteCarga';\r\nimport { AppContext } from './../AppContext';\r\nimport ListaCargaAdministrador from './ListaCargaAdministrador';\r\nimport url from './variables/url.js';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\n\r\nconst MySwal = withReactContent(Swal);\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n\tlet images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n\treturn images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(jpg|png|jpe?g|svg)$/));\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Asignado' },\r\n { value: '2', label: 'Asignado a mí' }\r\n]\r\n\r\nfunction color_head() {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white',\r\n width: '20%', fontSize: 11,\r\n };\r\n}\r\nfunction color_head_desc(tipo) {\r\n if (tipo == 'medium') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 14,\r\n width: '15%'\r\n };\r\n } else if (tipo == 'd') {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '30%'\r\n }\r\n } else if (tipo == 'id') {\r\n return {\r\n backgroundColor: '#010053',\r\n color: 'white', fontSize: 12,\r\n width: '10%'\r\n };\r\n } else {\r\n return {\r\n backgroundColor: '#25223f',\r\n color: 'white', fontSize: 11,\r\n width: '10%'\r\n };\r\n }\r\n}\r\n//Funcion para colocar color a las celdasde la tabla\r\nfunction color(rowIndex) {\r\n if (rowIndex % 2 === 0) {\r\n return {\r\n backgroundColor: 'white'\r\n };\r\n }\r\n return {\r\n backgroundColor: '#E7E7E7'\r\n };\r\n}\r\n\r\nclass ListadoProfesoresAdministrador extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = { iduser: 0, profesores: [], next: false, validaciones: [], validacionesMut: [],tipo: '', \r\n activeTab: \"2\", aceptados: [], delegacion: {}, roles: [], notSC: false, populateFinish: false\r\n }; \r\n\r\n this.toggle = this.toggle.bind(this);\r\n //console.log(currentUser);\r\n }\r\n\r\n componentDidMount() {\r\n let id = this.props.match.params.id; \r\n let currentUser = this.context; \r\n if (currentUser != null) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('ADMINISTRADOR')) { \r\n this.populate(currentUser.idpersona);\r\n } else {\r\n\r\n } \r\n } \r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context\r\n let id = this.props.match.params.id; \r\n if(currentUser != null && this.state.iduser == 0){\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('VICERRECTOR')) { \r\n this.populate(currentUser.idpersona);\r\n } else {\r\n this.isForbidden();\r\n }\r\n \r\n } \r\n }\r\n \r\n populate(idpersona) {\r\n MySwal.fire({\r\n icon: 'warning',\r\n title: 'Por favor espere!',\r\n html: 'Estamos procesando la consulta, esto puede tomar hasta 1 minuto.',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n onOpen: () => {\r\n Swal.showLoading()\r\n },\r\n })\r\n\r\n fetch(local + 'Administrador/GetProfesores/' + idpersona, {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n /*console.log(data);*/\r\n MySwal.close();\r\n this.setState({\r\n validaciones: data.validado,\r\n validacionesMut: data.validado,\r\n tipo: data.tipo,\r\n populateFinish: true\r\n })\r\n \r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n populateNotP(idpersona) {\r\n this.setState({ validaciones: ['No se porque logeaste'], notSC: true});\r\n }\r\n \r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n isForbidden() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n render() {\r\n const currentUser = this.context;\r\n let currentDate = new Date();\r\n //console.log(currentUser);\r\n let bandera = currentDate > new Date(2022, 7, 18, 0, 0, 1, 0) && currentDate < new Date(2022, 11, 30, 0, 0, 1, 0);\r\n let noacceso = Ha finalizado la fecha maxima para el acceso a el sistema con rol Vicerrector, no podra realizar cambios pero si consultar.\r\n if(currentUser == null){\r\n return <>;\r\n }else if(currentUser != null && this.state.iduser == 0){\r\n this.setState({iduser : currentUser.idpersona}) \r\n }\r\n \r\n const columns = [{\r\n dataField: 'strCedula',\r\n text: 'C. Identidad',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strNombreCompleto',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'strUnidad',\r\n text: 'Unidad',\r\n hidden: true,\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'totalObservaciones',\r\n isDummyField:true,\r\n text: 'Total de observaciones',\r\n headerStyle: color_head_desc('id'),\r\n align: 'center',\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cell, row, rowIndex) => {\r\n return(\r\n
\r\n {row['accionesIngresadas']} / {row['cantAcciones']}\r\n
\r\n \r\n )\r\n }\r\n }, {\r\n text: 'Revisar observaciones',\r\n isDummyField: true,\r\n datafield: 'vald',\r\n align: 'center',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n formatter: (cellContent, row, rowIndex) => {\r\n return (\r\n\r\n \r\n \"edit\"\r\n \r\n\r\n )\r\n }\r\n }];\r\n\r\n const columnsNotValidate = [{\r\n dataField: 'nombres',\r\n text: 'Nombre / Apellido',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n }, {\r\n dataField: 'numeroIdentificacion',\r\n text: 'Número de identificación',\r\n headerStyle: color_head_desc('id'),\r\n style: (cell, row, rowIndex, colIndex) => {\r\n return color(rowIndex)\r\n },\r\n },\r\n ]; \r\n \r\n let validacionCard;\r\n let validacionList = <>

Alola

;\r\n if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && !this.state.populateFinish) {\r\n validacionCard = <>;\r\n validacionList = <>;\r\n } else if ((this.state.validaciones === null || Object.keys(this.state.validaciones).length === 0) && this.state.populateFinish) {\r\n validacionCard = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n validacionList = \r\n
\"alert\" INFORMACIÓN
\r\n
Actualmente no posee Carga para validar.
\r\n
;\r\n } else if (this.state.notSC) {\r\n validacionCard = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n validacionList = Usted no Posee el rol de Subdecano o Coordinador de Carrera.;\r\n }else {\r\n /* console.log(this.state.validaciones);*/\r\n validacionCard = \r\n <>\r\n
\r\n \r\n
\r\n ;\r\n validacionList = <>
\r\n \r\n
; \r\n } \r\n \r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n
\r\n \r\n \r\n \r\n {validacionCard} \r\n \r\n \r\n {validacionList} \r\n \r\n \r\n {/* {this.state.delegacion && \r\n {delegacion}\r\n } */}\r\n
\r\n \r\n\r\n );\r\n }\r\n}\r\nListadoProfesoresAdministrador.contextType = AppContext;\r\nexport default withRouter(ListadoProfesoresAdministrador);","import React from 'react';\r\nimport Select from 'react-select';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport './css/custom.css';\r\nimport './css/ExpandTable.css';\r\nimport xml2js from \"xml2js\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport { getWeeksDiff, getYearsDiff, getSemestralDiff } from './functions/ExpandTableFunctions';\r\nimport {\r\n NavItem, NavLink, Nav, TabContent, TabPane, Input, UncontrolledAlert,\r\n Row, Col, Card, Button, Form, Spinner, FormGroup, Label, Container\r\n} from 'reactstrap';\r\nimport { withRouter } from \"react-router\";\r\nimport FormularioAct from './FormularioAct';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nimport Image from 'react-bootstrap/Image';\r\nimport { AppContext } from './../AppContext';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\n\r\nconst MySwal = withReactContent(Swal)\r\n// { \"id\": 2, \"name\": \"alola3\", \"price\": \"4\" }];\r\n\r\nconst currentDate = new Date();\r\n\r\nclass AgregarActividad extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n idpersona: 0,\r\n nombreProfesor: '',\r\n cedula: '',\r\n multiTermino: \"\",\r\n terminos: [],\r\n optsTerminos: [{\r\n \"idPeriodo\": 584,\r\n \"nombre\": \"PAE 2022\",\r\n \"fechaInicio\": \"2022-03-14\",\r\n \"fechaFin\": \"2022-05-06\"\r\n },\r\n {\r\n \"idPeriodo\": 585,\r\n \"nombre\": \"PAO 2022-1\",\r\n \"fechaInicio\": \"2022-05-09\",\r\n \"fechaFin\": \"2022-09-23\"\r\n },\r\n {\r\n \"idPeriodo\": 586,\r\n \"nombre\": \"PAO 2022-2\",\r\n \"fechaInicio\": \"2022-09-26\",\r\n \"fechaFin\": \"2023-02-17\"\r\n }],\r\n dataForm: [],\r\n options: [],\r\n optionSelected: {},\r\n idOption: 0,\r\n idambito: 'R',\r\n filtroAmbito: 'D',\r\n periodo: 0,\r\n nivel: \"1\",\r\n observacion: \"\",\r\n descripcion: \"\",\r\n PAE: false,\r\n PAO1: false,\r\n PAO2: true,\r\n formState: 'N',\r\n alertaPeriodo: true,\r\n alertaObservacion: true,\r\n alertaDescripcion: true,\r\n alertaActividad: true,\r\n alertNivel: true,\r\n messagePeriodo: '',\r\n messageObservacion: '',\r\n messageDescripcion: '',\r\n messageActividad: '',\r\n //Actividad Horas \r\n EditHoras: 'N',\r\n tipoCalculo: 'S',\r\n nhorasSem: 0,\r\n duracionTipo: 0,\r\n fechaInicio: '',\r\n fechaFin: '',\r\n fechaMin: '',\r\n fechaMax: '',\r\n max: 0,\r\n totalhoras: 0, \r\n fechaInicioSub: \"\",\r\n fechaFinSub: \"\"\r\n }; \r\n\r\n this.handleMultipleChange = this.handleMultipleChange.bind(this);\r\n this.handleAmbitoChange = this.handleAmbitoChange.bind(this);\r\n this.handleChangeCheck = this.handleChangeCheck.bind(this);\r\n this.handleDuracionChange = this.handleDuracionChange.bind(this);\r\n this.handleFechaChange = this.handleFechaChange.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleSave = this.handleSave.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleDescription = this.handleDescription.bind(this);\r\n\r\n fetch(local + 'Validacion/Getapplaw', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"leyes\", data)\r\n //console.log(\"leyesInicio\", data.fecha_inicio_sub)\r\n //console.log(\"leyesFin\", data.fecha_fin_sub)\r\n this.setState({ fechaInicioSub: data.fecha_inicio_sub, fechaFinSub: data.fecha_fin_sub })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n\r\n fetch(local + 'Validacion/GetDataForm', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAFORRRRRM\", data)*/\r\n let lista = data[\"terminos\"].grado;\r\n /*console.log(lista);*/\r\n let primero = lista[0]\r\n let ultimo = lista[lista.length - 1]\r\n this.setState({ dataForm: data, fechaInicio: primero.fechaInicio, fechaFin: ultimo.fechaFin, fechaMin: primero.fechaInicio, fechaMax: ultimo.fechaFin })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n\r\n fetch(local + 'Validacion/GetDataTipoActividad', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"tipos\", data)*/\r\n this.setState({ options: data })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n\r\n fetch(local + 'Validacion/GetInfoAgregarActividad/' + this.props.match.params.id, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /* console.log(\"Info\", data)*/\r\n this.setState({ idpersona: data.idPersona, nombreProfesor: data.nombreProfesor, cedula: data.cedula })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n } \r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n }\r\n\r\n calculosHorasSem(tipoCalculo, duracionTipo, inicio, fin) {\r\n let semanas = 0;\r\n if (tipoCalculo == 'S') {\r\n //console.log(\"Semanal\");\r\n semanas = getWeeksDiff(Date.parse(inicio), Date.parse(fin));\r\n } else if (tipoCalculo == 'A') {\r\n //console.log(\"Anual\");\r\n semanas = getYearsDiff(Date.parse(inicio), Date.parse(fin));\r\n } else {\r\n //console.log(\"Semestral\");\r\n semanas = getSemestralDiff(Date.parse(inicio), Date.parse(fin));\r\n }\r\n //console.log(semanas);\r\n this.setState({ nhorasSem: semanas * duracionTipo });\r\n }\r\n\r\n handleMultipleChange = (selectedChange) => {\r\n \r\n this.calculosHorasSem(selectedChange.tipoCalculo, selectedChange.duraciontipo, this.state.fechaInicio, this.state.fechaFin)\r\n this.setState({\r\n optionSelected: selectedChange,\r\n tipoCalculo: selectedChange.tipoCalculo,\r\n EditHoras: selectedChange.tieneLimite,\r\n idOption: selectedChange.value,\r\n duracionTipo: selectedChange.duraciontipo,\r\n max: selectedChange.duraciontipo\r\n }, () => {\r\n //console.log('Seleccionado Multiple: ', this.state.optionSelected)\r\n console.log('');\r\n })\r\n }\r\n\r\n handleDuracionChange(event) {\r\n const target = event.target;\r\n const name = target.name;\r\n let value = target.type === 'checkbox' ? target.checked : target.value; \r\n let min = 1;\r\n let max = this.state.max;\r\n if (value >= min && value <= max) {\r\n this.calculosHorasSem(this.state.tipoCalculo, value, this.state.fechaInicio, this.state.fechaFin);\r\n this.setState({ duracionTipo: value });\r\n }\r\n };\r\n\r\n changeFormat(fecha) {\r\n const date = fecha.split('T');\r\n //eXAMPLE\r\n //\"2022-09-30\"\r\n //\"07:59:59\"\r\n const [year, month, day] = date[0].split('-');\r\n const [hours, minutes, seconds] = date[1].split(':');\r\n\r\n var resp = new Date(+year, month - 1, +day, +hours, +minutes, +seconds);\r\n return resp;\r\n };\r\n\r\n handleFechaChange(event) {\r\n const target = event.target;\r\n const name = target.name;\r\n let value = target.type === 'checkbox' ? target.checked : target.value;\r\n if (name == 'fechaInicio') {\r\n this.calculosHorasSem(this.state.tipoCalculo, this.state.duracionTipo, value, this.state.fechaFin);\r\n this.setState({ fechaInicio: value });\r\n } else {\r\n this.calculosHorasSem(this.state.tipoCalculo, this.state.duracionTipo, this.state.fechaInicio, value);\r\n this.setState({ fechaFin: value });\r\n }\r\n \r\n };\r\n\r\n handleAmbitoChange(event){\r\n var cod = event.target.value;\r\n var fil = cod == 'R' || cod == 'P' ? 'D' : cod == 'G' ? 'A' : cod\r\n this.setState({ idambito: cod, filtroAmbito: fil, optionSelected: null });\r\n //console.log('filtro', fil);\r\n //console.log('codigo', cod);\r\n };\r\n\r\n handleInputChange(event) {\r\n var cod = event.target.value;\r\n var ambito = cod == '1' ? 'R' : 'P'; \r\n this.setState({ nivel: cod, idambito: ambito, filtroAmbito: 'D'});\r\n };\r\n\r\n handleSearch(event) {\r\n this.setState({ observacion: event.target.value });\r\n //console.log(this.state.observacion);\r\n };\r\n\r\n handleDescription(event) {\r\n this.setState({ descripcion: event.target.value });\r\n //console.log(this.state.descripcion);\r\n };\r\n\r\n handleChangeCheck(periodo) {\r\n let nvalue1 = this.state.PAO1;\r\n let nvalue2 = this.state.PAO2;\r\n let nvalue3 = this.state.PAE;\r\n if (periodo == 'PAO-1') {\r\n if (nvalue1) {\r\n nvalue1 = false;\r\n } else {\r\n nvalue1 = true;\r\n }\r\n }\r\n if (periodo == 'PAO-2') {\r\n if (nvalue2) {\r\n nvalue2 = false;\r\n } else {\r\n nvalue2 = true;\r\n } \r\n } \r\n if (periodo == 'PAE') {\r\n if (nvalue3) {\r\n nvalue3 = false;\r\n } else {\r\n nvalue3 = true;\r\n }\r\n }\r\n //console.log('Check', nvalue2);\r\n this.setState({ PAO2: nvalue2, PAO1: nvalue1, PAE: nvalue3 });\r\n };\r\n\r\n mensajeObservacion(texto) {\r\n this.setState({ alertaObservacion: false, messageObservacion: texto })\r\n }\r\n\r\n mensajeDescripcion(texto) {\r\n this.setState({ alertaDescripcion: false, messageDescripcion: texto })\r\n }\r\n\r\n mensajePeriodo(texto) {\r\n this.setState({ alertaPeriodo: false, messagePeriodo: texto })\r\n }\r\n\r\n mensajeActividad(texto) {\r\n this.setState({ alertaActidad: false, messageActividad: texto })\r\n }\r\n\r\n handleSave = (event) => {\r\n event.preventDefault();\r\n let problemas = 0;\r\n this.setState({ formState: 'L' });\r\n let dto = {};\r\n dto[\"Ambito\"] = this.state.idambito;\r\n dto[\"idpersona\"] = this.props.match.params.id;\r\n dto[\"idTipoActividad\"] = this.state.optionSelected.value;\r\n dto[\"observacion\"] = this.state.observacion;\r\n dto[\"descripcion\"] = this.state.descripcion;\r\n dto[\"pae\"] = this.state.PAE;\r\n dto[\"pao1\"] = this.state.PAO1;\r\n dto[\"pao2\"] = this.state.PAO2;\r\n dto[\"fechaInicio\"] = this.state.fechaInicio;\r\n dto[\"fechaFin\"] = this.state.fechaFin;\r\n dto[\"nivel\"] = this.state.nivel;\r\n dto[\"horasSem\"] = this.state.duracionTipo;\r\n dto[\"horas\"] = this.state.nhorasSem;\r\n //console.log(dto);\r\n if (!(this.state.PAE || this.state.PAO1 || this.state.PAO2)) {\r\n problemas++\r\n this.mensajePeriodo('Debe seleccionar al menos un periodo.')\r\n } else {\r\n this.setState({ alertaPeriodo: true });\r\n }\r\n if (this.state.observacion == \"\") {\r\n problemas++\r\n this.mensajeObservacion(\"No puede enviar la observacion vac�a.\")\r\n } else {\r\n this.setState({ alertaObservacion: true });\r\n }\r\n if (this.state.descripcion == \"\") {\r\n problemas++\r\n this.mensajeDescripcion(\"No puede enviar la descripci�n vac�a.\")\r\n } else {\r\n this.setState({ alertaDescripcion: true });\r\n }\r\n if (this.state.optionSelected.value == 0) {\r\n problemas++\r\n this.mensajeActividad('Debe seleccionar una actividad.')\r\n } else {\r\n this.setState({ alertaActidad: true });\r\n }\r\n const data = JSON.stringify(dto);\r\n /*console.log(data);*/\r\n if (problemas == 0) {\r\n fetch(local + 'Validacion/PostAgregarActividad', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Solicitud ingresada',\r\n text: 'Datos guardados exitosamente!',\r\n confirmButtonText: 'Listo', \r\n })\r\n window.location.replace(\"/profesor/\" + this.props.match.params.id);\r\n } else {\r\n MySwal.fire(\r\n 'Error',\r\n 'Error',\r\n 'error'\r\n )\r\n }\r\n })\r\n }\r\n this.setState({ formState: 'N', alerta: false });\r\n }\r\n\r\n cancelar() {\r\n window.location.replace(\"/profesor/\"+this.props.match.params.id);\r\n }\r\n\r\n render() {\r\n const { EditHoras, fechaInicioSub, fechaFinSub } = this.state;\r\n const optGrado = this.state.optsTerminos.map(ej =>\r\n ({ value: ej.idPeriodo, label: ej.nombre })\r\n );\r\n let optChosed = optGrado.filter((x) => { return this.state.terminos.includes(x.value.toString()) })\r\n return (\r\n <>\r\n {fechaInicioSub != \"\" && fechaFinSub != \"\" ?\r\n \r\n
\r\n \r\n \r\n (e.target.onerror = null, e.target.src = images['user2.png'].default)}\r\n style={{ width: 60, height: 60, borderRadius: '50%', overflow: 'hidden', borderWidth: 3, borderColor: 'red', }} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {/*
*/}\r\n {/* this.handleChangeCheck('PAO-1')} />*/}\r\n {/* */}\r\n {/*
*/}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {currentDate > this.changeFormat(fechaInicioSub) && currentDate < this.changeFormat(fechaFinSub)\r\n ?\r\n
\r\n \r\n\r\n \r\n
\r\n :\r\n \r\n }\r\n\r\n \r\n \r\n : \r\n }\r\n \r\n );\r\n }\r\n}\r\nAgregarActividad.contextType = AppContext;\r\nexport default withRouter(AgregarActividad);","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { downloadExcel } from \"react-export-table-to-excel\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\nconst header = [\"Profesor\", \"Actividad\",\"Tipo Actividad\", \"Estado Subdecano\", \"Delegado\",\"Estado Coordinador\"];\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListadoCargaReporteSubdecanos extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n /*console.log(cargaList);*/\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n subdecanos: [],\r\n };\r\n\r\n //fetch(local + 'Administrador/GetSubdecanos', {\r\n // method: 'GET'\r\n //}).then(response => response.json())\r\n // .then(data => {\r\n // console.log(\"Unidades\", data)\r\n // this.setState({ subdecanos: data })\r\n // }).catch(function F(error) {\r\n // console.log(error);\r\n // });\r\n\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n this.handleDownloadExcel = this.handleDownloadExcel.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return act.strEstado == 'AD' || act.strEstado == 'AV' ? \"rd\" :\r\n act.strEstado == 'RD' || act.strEstado == 'RV' || act.strEstado == 'R' || act.strEstado == 'RA' ? \"pe\" :\r\n act.strEstado == 'ED' || act.strEstado == 'EDC' || act.strEstado == 'EV' ? \"pa\" :\r\n act.strEstado == 'P' ? \"pe\" : \"at\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorAdministrador/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleDownloadExcel() {\r\n //console.log(this.state.actividadesMutar);\r\n downloadExcel({\r\n fileName: \"Reporte Subdecano\",\r\n sheet: \"Reporte\",\r\n tablePayload: {\r\n header,\r\n // accept two different data structures\r\n body: this.state.actividadesMutar,\r\n },\r\n });\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.nombreCompleto === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeDelegado = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.delegado === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n //if (value === 0) {\r\n // this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n //} else {\r\n // mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n // this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n // this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n //}\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo, subdecanos } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n } \r\n\r\n let nombres = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ( x.nombreCompleto));\r\n\r\n const nombrado = [];\r\n\r\n for (var i = 0; i < nombres.length; i++) {\r\n\r\n const elemento = nombres[i];\r\n\r\n if (!nombrado.includes(nombres[i])) {\r\n nombrado.push(elemento);\r\n }\r\n }\r\n\r\n let nombresText = []\r\n\r\n for (var i = 0; i < nombrado.length; i++) {\r\n const elemento = nombrado[i];\r\n nombresText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n let delegados = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => (x.delegado));\r\n\r\n const delegado = [];\r\n\r\n for (var i = 0; i < delegados.length; i++) {\r\n\r\n const elemento = delegados[i];\r\n\r\n if (!delegado.includes(delegados[i])) {\r\n delegado.push(elemento);\r\n }\r\n }\r\n\r\n let delegadosText = []\r\n\r\n for (var i = 0; i < delegado.length; i++) {\r\n const elemento = delegado[i];\r\n delegadosText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n //let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n // : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n //const unicos = [];\r\n\r\n //for (var i = 0; i < unidades.length; i++) {\r\n\r\n // const elemento = unidades[i];\r\n\r\n // if (!unicos.includes(unidades[i])) {\r\n // unicos.push(elemento);\r\n // }\r\n //}\r\n\r\n let unidadText = subdecanos === null || Object.keys(subdecanos).length === 0 ? [] : subdecanos.map(x => ({ label: x.nombreFinal, value: x.idSubdecano }));\r\n\r\n //for (var i = 0; i < unicos.length; i++) {\r\n // const elemento = unicos[i];\r\n // unidadText.push({ label: elemento, value: elemento })\r\n //}\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Todos\", value: 0 });\r\n\r\n unidadText.push({ label: \"Todos\", value: 0 });\r\n\r\n delegadosText.push({ label: \"Todos\", value: 0 });\r\n\r\n /*console.log(unidadText);*/\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n */}\r\n {/* */}\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\nexport default withRouter(ListadoCargaReporteSubdecanos);","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { downloadExcel } from \"react-export-table-to-excel\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\nconst header = [\"Profesor\", \"Actividad\", \"Tipo Actividad\", \"Estado Decano\", \"Subdecano\",\"Estado Subdecano\",\"Observaci�n\"];\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListadoCargaReporteDecanos extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n /*console.log(cargaList);*/\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n subdecanos: [],\r\n };\r\n\r\n //fetch(local + 'Administrador/GetSubdecanos', {\r\n // method: 'GET'\r\n //}).then(response => response.json())\r\n // .then(data => {\r\n // console.log(\"Unidades\", data)\r\n // this.setState({ subdecanos: data })\r\n // }).catch(function F(error) {\r\n // console.log(error);\r\n // });\r\n\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n this.handleDownloadExcel = this.handleDownloadExcel.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return act.strEstado == 'AD' || act.strEstado == 'AV' ? \"rd\" :\r\n act.strEstado == 'RD' || act.strEstado == 'RV' || act.strEstado == 'R' || act.strEstado == 'RA' ? \"pe\" :\r\n act.strEstado == 'ED' || act.strEstado == 'EDC' || act.strEstado == 'EV' ? \"pa\" :\r\n act.strEstado == 'P' ? \"pe\" : \"at\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorAdministrador/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleDownloadExcel() {\r\n //console.log(this.state.actividadesMutar);\r\n downloadExcel({\r\n fileName: \"Reporte Decano\",\r\n sheet: \"Reporte\",\r\n tablePayload: {\r\n header,\r\n // accept two different data structures\r\n body: this.state.actividadesMutar,\r\n },\r\n });\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n } \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.nombreCompleto === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeDelegado = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.nombreSubdecano === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n //if (value === 0) {\r\n // this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n //} else {\r\n // mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n // this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n // this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n //}\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo, subdecanos } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n //console.log(\"OG\", actividadesMutar)\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n } \r\n\r\n let nombres = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ( x.nombreCompleto));\r\n\r\n const nombrado = [];\r\n\r\n for (var i = 0; i < nombres.length; i++) {\r\n\r\n const elemento = nombres[i];\r\n\r\n if (!nombrado.includes(nombres[i])) {\r\n nombrado.push(elemento);\r\n }\r\n }\r\n\r\n let nombresText = []\r\n\r\n for (var i = 0; i < nombrado.length; i++) {\r\n const elemento = nombrado[i];\r\n nombresText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n let delegados = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => (x.nombreSubdecano));\r\n\r\n const delegado = [];\r\n\r\n for (var i = 0; i < delegados.length; i++) {\r\n\r\n const elemento = delegados[i];\r\n\r\n if (!delegado.includes(delegados[i])) {\r\n delegado.push(elemento);\r\n }\r\n }\r\n\r\n let delegadosText = []\r\n\r\n for (var i = 0; i < delegado.length; i++) {\r\n const elemento = delegado[i];\r\n delegadosText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n //let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n // : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n //const unicos = [];\r\n\r\n //for (var i = 0; i < unidades.length; i++) {\r\n\r\n // const elemento = unidades[i];\r\n\r\n // if (!unicos.includes(unidades[i])) {\r\n // unicos.push(elemento);\r\n // }\r\n //}\r\n\r\n let unidadText = subdecanos === null || Object.keys(subdecanos).length === 0 ? [] : subdecanos.map(x => ({ label: x.nombreFinal, value: x.idSubdecano }));\r\n\r\n //for (var i = 0; i < unicos.length; i++) {\r\n // const elemento = unicos[i];\r\n // unidadText.push({ label: elemento, value: elemento })\r\n //}\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Todos\", value: 0 });\r\n\r\n unidadText.push({ label: \"Todos\", value: 0 });\r\n\r\n delegadosText.push({ label: \"Todos\", value: 0 });\r\n\r\n /*console.log(unidadText);*/\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n */}\r\n {/* */}\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\nexport default withRouter(ListadoCargaReporteDecanos);","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { downloadExcel } from \"react-export-table-to-excel\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\nconst header = [\"Profesor\", \"Actividad\",\"Tipo Actividad\", \"Estado\", \"Observacion\"];\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListadoCargaReporteVicerrector extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n /*console.log(cargaList);*/\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n subdecanos: [],\r\n };\r\n\r\n //fetch(local + 'Administrador/GetSubdecanos', {\r\n // method: 'GET'\r\n //}).then(response => response.json())\r\n // .then(data => {\r\n // console.log(\"Unidades\", data)\r\n // this.setState({ subdecanos: data })\r\n // }).catch(function F(error) {\r\n // console.log(error);\r\n // });\r\n\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n this.handleDownloadExcel = this.handleDownloadExcel.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return act.strEstado == 'AD' || act.strEstado == 'AV' ? \"rd\" :\r\n act.strEstado == 'RD' || act.strEstado == 'RV' || act.strEstado == 'R' || act.strEstado == 'RA' ? \"pe\" :\r\n act.strEstado == 'ED' || act.strEstado == 'EDC' || act.strEstado == 'EV' ? \"pa\" :\r\n act.strEstado == 'P' ? \"pe\" : \"at\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorAdministrador/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleDownloadExcel() {\r\n //console.log(this.state.actividadesMutar);\r\n downloadExcel({\r\n fileName: \"Reporte Vicerrector\",\r\n sheet: \"Reporte\",\r\n tablePayload: {\r\n header,\r\n // accept two different data structures\r\n body: this.state.actividadesMutar,\r\n },\r\n });\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.nombreCompleto === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeDelegado = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.tipoActividad === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n //if (value === 0) {\r\n // this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n //} else {\r\n // mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n // this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n // this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n //}\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo, subdecanos } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n } \r\n\r\n let nombres = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ( x.nombreCompleto));\r\n\r\n const nombrado = [];\r\n\r\n for (var i = 0; i < nombres.length; i++) {\r\n\r\n const elemento = nombres[i];\r\n\r\n if (!nombrado.includes(nombres[i])) {\r\n nombrado.push(elemento);\r\n }\r\n }\r\n\r\n let nombresText = []\r\n\r\n for (var i = 0; i < nombrado.length; i++) {\r\n const elemento = nombrado[i];\r\n nombresText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n let delegados = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => (x.tipoActividad));\r\n\r\n const delegado = [];\r\n\r\n for (var i = 0; i < delegados.length; i++) {\r\n\r\n const elemento = delegados[i];\r\n\r\n if (!delegado.includes(delegados[i])) {\r\n delegado.push(elemento);\r\n }\r\n }\r\n\r\n let delegadosText = []\r\n\r\n for (var i = 0; i < delegado.length; i++) {\r\n const elemento = delegado[i];\r\n delegadosText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n //let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n // : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n //const unicos = [];\r\n\r\n //for (var i = 0; i < unidades.length; i++) {\r\n\r\n // const elemento = unidades[i];\r\n\r\n // if (!unicos.includes(unidades[i])) {\r\n // unicos.push(elemento);\r\n // }\r\n //}\r\n\r\n let unidadText = subdecanos === null || Object.keys(subdecanos).length === 0 ? [] : subdecanos.map(x => ({ label: x.nombreFinal, value: x.idSubdecano }));\r\n\r\n //for (var i = 0; i < unicos.length; i++) {\r\n // const elemento = unicos[i];\r\n // unidadText.push({ label: elemento, value: elemento })\r\n //}\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Todos\", value: 0 });\r\n\r\n unidadText.push({ label: \"Todos\", value: 0 });\r\n\r\n delegadosText.push({ label: \"Todos\", value: 0 });\r\n\r\n /*console.log(unidadText);*/\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n */}\r\n {/* */}\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\nexport default withRouter(ListadoCargaReporteVicerrector);","import React from 'react';\r\nimport { Button, CardText, Card, CardHeader, Row, CardTitle, Col, Container } from 'reactstrap';\r\nimport { Pagination, PaginationItem, PaginationLink, Input } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { downloadExcel } from \"react-export-table-to-excel\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport './css/fonts.css';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\nfunction importAll(r) {\r\n let images = {};\r\n r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });\r\n return images\r\n}\r\n\r\nconst images = importAll(require.context('./icons', false, /\\.(png|jpe?g|svg)$/));\r\nconst header = [\"Profesor\", \"Estado\",\"Subdecano\", \"Estado Subdecano\",\"Observaci�n\"];\r\n\r\nconst options = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Atendidas' },\r\n { value: '2', label: 'Parcialmente Atendidas' },\r\n { value: '3', label: 'Pendientes' }\r\n]\r\n\r\nconst optionsDelegacion = [\r\n { value: '0', label: 'Todos' },\r\n { value: '1', label: 'Delegados' },\r\n { value: '2', label: 'No delegados' }\r\n]\r\n\r\n\r\nclass ListadoCargaReporteViceEnv extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const cargaList = this.props.carga;\r\n const roles = this.props.rol\r\n /*console.log(cargaList);*/\r\n this.state = {\r\n loading: true,\r\n actividades: cargaList,\r\n actividadesMutar: cargaList,\r\n currentActividades: [],\r\n currentPage: 1,\r\n totalPages: null,\r\n delegacionSelect: 'Todos',\r\n tipoSelect: 'Todos',\r\n filterDelegacion: 0, \r\n filterTipo: 0,\r\n roles: roles, \r\n totalPageP: Math.ceil(cargaList.length / 10),\r\n actualPage: 1,\r\n limite: 10,\r\n siblingCount: 1,\r\n subdecanos: [],\r\n };\r\n\r\n //fetch(local + 'Administrador/GetSubdecanos', {\r\n // method: 'GET'\r\n //}).then(response => response.json())\r\n // .then(data => {\r\n // console.log(\"Unidades\", data)\r\n // this.setState({ subdecanos: data })\r\n // }).catch(function F(error) {\r\n // console.log(error);\r\n // });\r\n\r\n this.page = this.page.bind(this);\r\n this.onChangeLimite = this.onChangeLimite.bind(this);\r\n this.handleDownloadExcel = this.handleDownloadExcel.bind(this);\r\n //console.log(window.location.pathname);\r\n }\r\n\r\n returnStatus = act => {\r\n return act.strEstado == 'AD' || act.strEstado == 'AV' ? \"rd\" :\r\n act.strEstado == 'RD' || act.strEstado == 'RV' || act.strEstado == 'R' || act.strEstado == 'RA' ? \"pe\" :\r\n act.strEstado == 'ED' || act.strEstado == 'EDC' || act.strEstado == 'EV' ? \"pa\" :\r\n act.strEstado == 'P' ? \"pe\" : \"at\"\r\n }\r\n\r\n redirect = idPersona => {\r\n /*console.log('alola')*/\r\n this.props.history.push('/profesorAdministrador/' + idPersona)\r\n }\r\n\r\n page(num) {\r\n if (this.state.actualPage !== num) {\r\n this.setState({\r\n actualPage: num\r\n });\r\n }\r\n }\r\n\r\n pagePrevious() {\r\n if (this.state.actualPage !== 1) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p - 1\r\n });\r\n }\r\n }\r\n\r\n pageNext() {\r\n if (this.state.actualPage !== this.state.totalPageP) {\r\n let p = this.state.actualPage;\r\n this.setState({\r\n actualPage: p + 1\r\n });\r\n }\r\n }\r\n\r\n youAreMySibling(num) {\r\n let actualPage = this.state.actualPage;\r\n let sibling = this.state.siblingCount;\r\n let total = this.state.totalPageP;\r\n let valor = false;\r\n if (num === actualPage || num - sibling === actualPage || num + sibling === actualPage) {\r\n valor = true;\r\n }\r\n if (actualPage === 1 && (num - 1 === actualPage || num - 2 === actualPage || num - 3 === actualPage) ){\r\n valor = true;\r\n }\r\n if (actualPage === 2 && (num - 1 === actualPage || num - 2 === actualPage )) {\r\n valor = true;\r\n }\r\n if (actualPage === total && (num + 1 === actualPage || num + 2 === actualPage || num + 3 === actualPage)) {\r\n valor = true;\r\n }\r\n if (actualPage === total - 1 && (num + 1 === actualPage || num + 2 === actualPage)) {\r\n valor = true;\r\n }\r\n /*console.log(num, valor);*/\r\n return valor;\r\n }\r\n\r\n handleDownloadExcel() {\r\n //console.log(this.state.actividadesMutar);\r\n downloadExcel({\r\n fileName: \"Reporte Enviados\",\r\n sheet: \"Reporte\",\r\n tablePayload: {\r\n header,\r\n // accept two different data structures\r\n body: this.state.actividadesMutar,\r\n },\r\n });\r\n }\r\n\r\n handleChangeTipo = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterTipo: value, tipoSelect: selectedOption.label });\r\n const { filterDelegacion } = this.state;\r\n let mapeo = this.state.actividades;\r\n /*console.log(\"MAPEO\", mapeo);*/\r\n if (filterDelegacion === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0 && x.cantAccionesCoor > 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (filterDelegacion === 2) {\r\n if (filterDelegacion === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n } else if (filterDelegacion === 0) {\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor == x.accionesIngresadas + x.accionesIngresadasCoor && x.cantAcciones > 0);\r\n }\r\n else if (value === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas + x.accionesIngresadasCoor === 0 && x.cantAcciones + x.cantAccionesCoor !== 0);\r\n }\r\n else if (value === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones + x.cantAccionesCoor > 1 && x.accionesIngresadas + x.accionesIngresadasCoor >= 1 && x.cantAcciones + x.cantAccionesCoor > x.accionesIngresadas + x.accionesIngresadasCoor);\r\n }\r\n }\r\n \r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n handleChangeNombre = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) { \r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.nombreCompleto === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeDelegado = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n if (value === 0) {\r\n this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n } else {\r\n mapeo = this.state.actividades.filter(x => x.nombreSubdecano === value);\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n }\r\n };\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n let mapeo = []\r\n //if (value === 0) {\r\n // this.handleChangeTipo({ label: \"Todos\", value: this.state.filterTipo });\r\n //} else {\r\n // mapeo = this.state.actividades.filter(x => x.strUnidad === value);\r\n // this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n // this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n //}\r\n\r\n };\r\n\r\n handleChangeDelegacion = selectedOption => {\r\n /*console.log(`Option selected:`, selectedOption);*/\r\n\r\n const value = parseInt(selectedOption.value);\r\n this.setState({ filterDelegacion: value, delegacionSelect: selectedOption.label });\r\n const { filterTipo } = this.state;\r\n let mapeo = this.state.actividades;\r\n if (value === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor == x.accionesIngresadasCoor);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadasCoor === 0 && x.cantAccionesCoor !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor > 1 && x.accionesIngresadasCoor >= 1);\r\n }\r\n }\r\n else if (value === 2 || value === 0) {\r\n if (value === 2)\r\n mapeo = mapeo.filter(x => x.cantAccionesCoor === 0)\r\n if (filterTipo === 1) {\r\n mapeo = mapeo.filter(x => x.cantAcciones == x.accionesIngresadas);\r\n }\r\n else if (filterTipo === 3) {\r\n mapeo = mapeo.filter(x => x.accionesIngresadas === 0 && x.cantAcciones !== 0);\r\n }\r\n else if (filterTipo === 2) {\r\n mapeo = mapeo.filter(x => x.cantAcciones > 1 && x.accionesIngresadas >= 1 && x.cantAcciones > x.accionesIngresadas);\r\n }\r\n }\r\n //console.log(\"FILTER TIPO: \", filterTipo)\r\n //console.log(\"MAPEO POS FILTER TIPO: \", mapeo)\r\n //const currentActividades = mapeo.slice(0, 0 + limite);\r\n //console.log(currentActividades);\r\n //this.setState({ currentActividades: currentActividades, totalRecords: currentActividades.length, actividadesMutar: mapeo });\r\n this.setState({ actividadesMutar: mapeo, actualPage: 1 });\r\n this.reLoadTotalPage(mapeo.length, this.state.limite);\r\n };\r\n\r\n reLoadTotalPage(lenActividades, limite) {\r\n this.setState({ totalPageP: Math.ceil(lenActividades / limite) });\r\n /*console.log('Total Paginas: ',this.state.totalPageA);*/\r\n }\r\n\r\n onChangeLimite(event) {\r\n //console.log('Cambio limite');\r\n //console.log(event.target.value);\r\n var num = event.target.value;\r\n this.setState({ limite: num, actualPage: 1 });\r\n this.reLoadTotalPage(this.state.actividadesMutar.length, num);\r\n }\r\n\r\n render() {\r\n let { actividadesMutar, actividades, filterTipo, subdecanos } = this.state;\r\n\r\n let xmCol = 'col-2';\r\n\r\n let jumpP = '<<';\r\n let jumpN = '>>';\r\n\r\n if (actividadesMutar !== null) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n } \r\n\r\n let nombres = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => ( x.nombreCompleto));\r\n\r\n const nombrado = [];\r\n\r\n for (var i = 0; i < nombres.length; i++) {\r\n\r\n const elemento = nombres[i];\r\n\r\n if (!nombrado.includes(nombres[i])) {\r\n nombrado.push(elemento);\r\n }\r\n }\r\n\r\n let nombresText = []\r\n\r\n for (var i = 0; i < nombrado.length; i++) {\r\n const elemento = nombrado[i];\r\n nombresText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n let delegados = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? [] : actividadesMutar.map(x => (x.nombreSubdecano));\r\n\r\n const delegado = [];\r\n\r\n for (var i = 0; i < delegados.length; i++) {\r\n\r\n const elemento = delegados[i];\r\n\r\n if (!delegado.includes(delegados[i])) {\r\n delegado.push(elemento);\r\n }\r\n }\r\n\r\n let delegadosText = []\r\n\r\n for (var i = 0; i < delegado.length; i++) {\r\n const elemento = delegado[i];\r\n delegadosText.push({ label: elemento, value: elemento })\r\n }\r\n\r\n //let unidades = actividadesMutar === null || Object.keys(actividadesMutar).length === 0 ? []\r\n // : actividadesMutar.map(x => (x.strUnidad));\r\n\r\n //const unicos = [];\r\n\r\n //for (var i = 0; i < unidades.length; i++) {\r\n\r\n // const elemento = unidades[i];\r\n\r\n // if (!unicos.includes(unidades[i])) {\r\n // unicos.push(elemento);\r\n // }\r\n //}\r\n\r\n let unidadText = subdecanos === null || Object.keys(subdecanos).length === 0 ? [] : subdecanos.map(x => ({ label: x.nombreFinal, value: x.idSubdecano }));\r\n\r\n //for (var i = 0; i < unicos.length; i++) {\r\n // const elemento = unicos[i];\r\n // unidadText.push({ label: elemento, value: elemento })\r\n //}\r\n\r\n /*console.log(filterTipo)*/\r\n if (filterTipo === 0) {\r\n /*console.log(\"OG\", actividadesMutar)*/\r\n actividadesMutar.sort((a, b) => {\r\n if (a.strEstado > b.strEstado) { return -1; }\r\n if (a.strEstado < b.strEstado) { return 1; }\r\n })\r\n /*console.log(\"UPDATED\", actividadesMutar)*/\r\n }\r\n\r\n nombresText.push({ label: \"Todos\", value: 0 });\r\n\r\n unidadText.push({ label: \"Todos\", value: 0 });\r\n\r\n delegadosText.push({ label: \"Todos\", value: 0 });\r\n\r\n /*console.log(unidadText);*/\r\n\r\n let pagesA = [];\r\n for (let i = 1; i <= this.state.totalPageP; i++) {\r\n pagesA.push(<>);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n */}\r\n {/* */}\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {actividadesMutar.map((profesor, i) =>\r\n \r\n )}\r\n {actividadesMutar.length === 0 ? \r\n No hubo resultados\r\n : <>}\r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\nexport default withRouter(ListadoCargaReporteViceEnv);","import React, { Component } from \"react\";\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport './css/custom.css';\r\nimport './css/ExpandTable.css';\r\nimport { Col, Row, CardBody, Card, CardHeader, Label, Spinner} from 'reactstrap';\r\nimport { Nav, NavItem, NavLink, TabContent, TabPane, Alert } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { AppContext } from './../AppContext';\r\nimport classnames from 'classnames';\r\nimport ListaCargaReporteSubdecanos from './ListaCargaReporteSubdecanos';\r\nimport ListaCargaReporteDecanos from './ListaCargaReporteDecanos';\r\nimport ListaCargaReporteVicerrector from './ListaCargaReporteVicerrector';\r\nimport ListaCargaReporteViceEnv from './ListaCargaReporteViceEnv';\r\nimport url from './variables/url.js';\r\nconst local = url.localBack;\r\n\r\n\r\nclass Reportes extends Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = {\r\n profesores: [],\r\n profesoresDec: [],\r\n profesoresVice1: [],\r\n profesoresVice2: [],\r\n activeTab: 1,\r\n iduser: 0,\r\n roles: [],\r\n loading: true,\r\n loadingDecR: true,\r\n loadingVice1: true,\r\n loadingVice2: true,\r\n loadingSub: true,\r\n loadingDec: true,\r\n subdecanos: [],\r\n decanos: [],\r\n subdecano: 0,\r\n decano: 0\r\n };\r\n this.populateSub();\r\n this.populateDec();\r\n }\r\n\r\n componentDidMount() {\r\n let id = 0;\r\n let currentUser = this.context;\r\n //console.log('Mount', currentUser);\r\n if (currentUser != null) {\r\n this.populateSub();\r\n this.populateDec();\r\n //console.log(currentUser)\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('SUBDECANO')) {\r\n this.populate(currentUser.idpersona);\r\n } else if (currentUser.roles.includes('DECANO')) {\r\n this.populateDecano(currentUser.idpersona);\r\n this.setState({ activeTab: 2 });\r\n } else if (currentUser.roles.includes('VICERRECTOR')) { \r\n this.populateVice1();\r\n this.populateVice2();\r\n this.setState({ activeTab: 3 });\r\n } else if (currentUser.roles.includes('ADMINISTRADOR')) {\r\n this.populate(0);\r\n this.populateDecano(0);\r\n this.populateVice1();\r\n this.populateVice2();\r\n }\r\n }\r\n //console.log(\"id\", id);\r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context;\r\n //console.log('Update', currentUser); \r\n if (currentUser != null && this.state.iduser == 0) {\r\n this.populateSub();\r\n this.populateDec();\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('SUBDECANO')) { \r\n this.populate(currentUser.idpersona);\r\n }\r\n if (currentUser.roles.includes('DECANO')) {\r\n this.populateDecano(currentUser.idpersona);\r\n this.setState({ activeTab: 2 });\r\n }\r\n if (currentUser.roles.includes('VICERRECTOR')) {\r\n this.populateVice1();\r\n this.populateVice2();\r\n this.setState({ activeTab: 3 });\r\n }\r\n if (currentUser.roles.includes('ADMINISTRADOR')) {\r\n this.populate(0);\r\n this.populateDecano(0);\r\n this.populateVice1();\r\n this.populateVice2();\r\n }\r\n }\r\n }\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) this.setState({ activeTab: tab });\r\n }\r\n\r\n\r\n populate(id) {\r\n fetch(local + 'Validacion/GetReporteSubdecanos/'+id, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"Subdecano\", data)\r\n this.setState({ profesores: data, loading: false })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n populateDecano(id) {\r\n fetch(local + 'Validacion/GetReporteDecanos/' + id, {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"Decano\", data)\r\n this.setState({ profesoresDec: data, loadingDec: false })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n populateVice1() {\r\n fetch(local + 'Validacion/GetReporteVicerrector/', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"DATAFORRRRRM\", data)\r\n this.setState({ profesoresVice1: data, loadingVice1: false })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n populateVice2() {\r\n fetch(local + 'Validacion/GetReporteRecibidosVice/', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n //console.log(\"DATAFORRRRRM\", data)\r\n this.setState({ profesoresVice2: data, loadingVice2: false })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n populateSub() {\r\n fetch(local + 'Administrador/GetSubdecanos', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAFORRRRRM\", data)*/\r\n this.setState({ subdecanos: data, loadingSub: false })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n populateDec() {\r\n fetch(local + 'Administrador/GetDecanos', {\r\n method: 'GET'\r\n }).then(response => response.json())\r\n .then(data => {\r\n /*console.log(\"DATAFORRRRRM\", data)*/\r\n this.setState({ decanos: data, loadingDecR: false })\r\n }).catch(function F(error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n handleChangeUnidad = selectedOption => {\r\n const { value, label } = selectedOption;\r\n this.setState({ loading: true });\r\n let mapeo = []\r\n if (value === 0) { \r\n mapeo = { label: \"Todos\", value: 0 };\r\n this.setState({ subdecano: mapeo });\r\n this.populate(0);\r\n } else {\r\n mapeo = { label: label, value: value };\r\n this.setState({ subdecano: mapeo });\r\n this.populate(value);\r\n }\r\n };\r\n\r\n handleChangeDecano = selectedOption => {\r\n const { value, label } = selectedOption;\r\n this.setState({ loadingDec: true });\r\n let mapeo = []\r\n if (value === 0) {\r\n mapeo = { label: \"Todos\", value: 0 };\r\n this.setState({ decano: mapeo });\r\n this.populateDecano(0);\r\n } else {\r\n mapeo = { label: label, value: value };\r\n this.setState({ decano: mapeo });\r\n this.populateDecano(value);\r\n }\r\n //console(\"D\", this.state.decano);\r\n };\r\n\r\n render() {\r\n let { subdecanos, decanos, roles } = this.state;\r\n let currentUser = this.context;\r\n let unidadText = subdecanos === null || subdecanos.length === 0 ? [] : subdecanos.map(x => ({ label: x.nombreFinal, value: x.idSubdecano }));\r\n unidadText.push({ label: \"Todos\", value: 0 });\r\n let decanoText = decanos === null || decanos.length === 0 ? [] : decanos.map(x => ({ label: x.nombreFinal, value: x.idDecano }));\r\n decanoText.push({ label: \"Todos\", value: 0 });\r\n return ( \r\n \r\n

\r\n {currentUser !== null ? <>\r\n \r\n
\r\n \r\n {/*Pesta�a Todos*/}\r\n \r\n \r\n \r\n {!this.state.loadingSub && currentUser.roles.includes('ADMINISTRADOR') ? <>\r\n \r\n \r\n : <>}\r\n \r\n {/**/}\r\n\r\n {/**/}\r\n {/**/}\r\n\r\n {/**/}\r\n \r\n \r\n {this.state.loadingDec ? : }\r\n \r\n \r\n \r\n {this.state.loadingVice1 ? : }\r\n \r\n \r\n \r\n \r\n {this.state.loadingVice2 ? : }\r\n \r\n \r\n \r\n : <>}\r\n
\r\n );\r\n }\r\n}\r\nReportes.contextType = AppContext;\r\nexport default withRouter(Reportes);","import React, { Component } from \"react\";\r\nimport {\r\n Row, Col, Card, Button, Form, Spinner, FormGroup, Label, CardTitle, CardText, CardBody, Table, Input\r\n} from 'reactstrap';\r\nimport dateFormat, { masks } from \"dateformat\";\r\nimport { AppContext } from './../AppContext';\r\nimport url from './variables/url.js';\r\nimport Swal from 'sweetalert2';\r\nimport withReactContent from 'sweetalert2-react-content';\r\nconst local = url.localBack;\r\nconst MySwal = withReactContent(Swal)\r\n\r\nclass Configuracion extends Component {\r\n constructor(props) {\r\n super(props);\r\n let currentUser = this.context;\r\n this.state = {\r\n loading: true, updateP: false, updateS: false, updateD: false, updateV: false,\r\n iduser: 0,\r\n roles: [],\r\n idperiodo: 0,\r\n nombrePeriodo: \"\",\r\n docentes: {},\r\n subdecanos: {},\r\n decanos: {},\r\n vicerrector: {},\r\n data: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let currentUser = this.context\r\n if (currentUser != null) {\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n if (currentUser.roles.includes('ADMINISTRADOR')) {\r\n this.populate();\r\n } else {\r\n this.isForbidden();\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n isForbidden() {\r\n this.props.history.push({\r\n pathname: '/',\r\n })\r\n }\r\n\r\n componentDidUpdate() {\r\n let currentUser = this.context\r\n if (currentUser != null && this.state.iduser == 0) {\r\n /*console.log(\"updateded\");*/\r\n this.setState({ iduser: currentUser.idpersona, roles: currentUser.roles });\r\n /*console.log(currentUser.roles);*/\r\n if (currentUser.roles.includes('ADMINISTRADOR')) {\r\n this.populate();\r\n } else {\r\n this.isForbidden();\r\n }\r\n }\r\n }\r\n\r\n handleSaveP() {\r\n let docente = this.state.docentes;\r\n this.setState({ updateP: true });\r\n let problemas = 0;\r\n if (problemas === 0) { \r\n const data = JSON.stringify(docente);\r\n fetch(local + 'Administrador/PostAccesoConfig', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) { \r\n this.setState({ updateP: false });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Actulizado',\r\n text: 'Se han actualizado las fechas para Docentes!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n this.setState({ updateP: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n })\r\n } else {\r\n this.setState({ updateP: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n }\r\n\r\n handleSaveS() {\r\n let docente = this.state.subdecanos;\r\n this.setState({ updateS: true });\r\n let problemas = 0;\r\n if (problemas === 0) {\r\n const data = JSON.stringify(docente);\r\n fetch(local + 'Administrador/PostAccesoConfig', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ updateS: false });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Actulizado',\r\n text: 'Se han actualizado las fechas para Subdecanos y Coordinadores!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n this.setState({ updateS: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n })\r\n } else {\r\n this.setState({ updateS: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n }\r\n\r\n handleSaveD() {\r\n let docente = this.state.decanos;\r\n this.setState({ updateD: true });\r\n let problemas = 0;\r\n if (problemas === 0) {\r\n const data = JSON.stringify(docente);\r\n fetch(local + 'Administrador/PostAccesoConfig', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ updateD: false });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Actulizado',\r\n text: 'Se han actualizado las fechas para Decano!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n this.setState({ updateD: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n })\r\n } else {\r\n this.setState({ updateD: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n };\r\n }\r\n\r\n handleSaveV() {\r\n let docente = this.state.vicerrector;\r\n this.setState({ updateV: true });\r\n let problemas = 0;\r\n if (problemas === 0) {\r\n const data = JSON.stringify(docente);\r\n fetch(local + 'Administrador/PostAccesoConfig', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: data,\r\n }).then((response) => {\r\n if (response.ok) {\r\n this.setState({ updateV: false });\r\n MySwal.fire({\r\n icon: 'success',\r\n title: 'Actulizado',\r\n text: 'Se han actualizado las fechas para Vicerrector!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n } else {\r\n this.setState({ updateV: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n })\r\n } else {\r\n this.setState({ updateV: false });\r\n MySwal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'A ocurrido un problema!',\r\n confirmButtonText: 'Listo',\r\n timer: 5000\r\n })\r\n }\r\n }\r\n\r\n\r\n onChangeFecha = (event) => {\r\n const target = event.target;\r\n const name = target.name;\r\n switch (name) {\r\n case 'fechaInicioDocente':\r\n let docente = this.state.docentes;\r\n /*console.log(target.value);*/\r\n docente.inicio = target.value +'T00:00:00-05:00';\r\n this.setState({ docentes: docente });\r\n /*console.log(this.state.docentes);*/\r\n break;\r\n case 'fechaFinDocente':\r\n let docentef = this.state.docentes;\r\n docentef.fin = target.value + 'T00:00:00-05:00';\r\n this.setState({ docentes: docentef });\r\n /*console.log(this.state.docentes);*/\r\n break;\r\n case 'fechaInicioSubdecano':\r\n let sub = this.state.subdecanos;\r\n /*console.log(target.value);*/\r\n sub.inicio = target.value + 'T00:00:00-05:00';\r\n this.setState({ subdecanos: sub });\r\n //console.log(this.state.subdecanos);\r\n break;\r\n case 'fechaFinSubdecano':\r\n let subf = this.state.subdecanos;\r\n subf.fin = target.value + 'T00:00:00-05:00';\r\n this.setState({ subdecanos: subf });\r\n //console.log(this.state.subdecanos);\r\n break;\r\n case 'fechaInicioDecano':\r\n let dec = this.state.decanos;\r\n /*console.log(target.value);*/\r\n dec.inicio = target.value + 'T00:00:00-05:00';\r\n this.setState({ decanos: dec });\r\n //console.log(this.state.decanos);\r\n break;\r\n case 'fechaFinDecano':\r\n let decf = this.state.decanos;\r\n decf.fin = target.value + 'T00:00:00-05:00';\r\n this.setState({ decanos: decf });\r\n //console.log(this.state.decanos);\r\n break;\r\n case 'fechaInicioVicerrector':\r\n let vice = this.state.vicerrector;\r\n /*console.log(target.value);*/\r\n vice.inicio = target.value + 'T00:00:00-05:00';\r\n this.setState({ vicerrector: vice });\r\n //console.log(this.state.vicerrector);\r\n break;\r\n case 'fechaFinVicerrector':\r\n let vicef = this.state.vicerrector;\r\n vicef.fin = target.value + 'T00:00:00-05:00';\r\n this.setState({ vicerrector: vicef });\r\n //console.log(this.state.vicerrector);\r\n break;\r\n default:\r\n //console.log('Algo mal');\r\n break;\r\n }\r\n //console.log(name);\r\n }\r\n\r\n populate() {\r\n /*console.log(\"Populate\")*/\r\n fetch(local + 'Administrador/GetAccesoConfig/', {\r\n method: 'GET'\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n //console.log(data);\r\n this.setState({\r\n loading: false,\r\n idperiodo: data.idperiodo,\r\n nombrePeriodo: data.nombre,\r\n docentes: data.accesoDocentes,\r\n subdecanos: data.accesoSubdecanos,\r\n decanos: data.accesoDecanos,\r\n vicerrector: data.accesoVicerrector\r\n })\r\n })\r\n .catch(function F(error) {\r\n console.log(error);\r\n })\r\n }\r\n\r\n tipoNombre(tipo) {\r\n let nombre = \"\";\r\n switch (tipo) {\r\n case 'P':\r\n nombre = \"DOCENTE\";\r\n break;\r\n case 'S':\r\n nombre = \"SUBDECANO/COORDINADOR\";\r\n break;\r\n case 'D':\r\n nombre = \"DECANO\";\r\n break;\r\n case 'V':\r\n nombre = \"VICERRECTOR\";\r\n break;\r\n default:\r\n nombre = \"NOT FOUND\";\r\n break;\r\n }\r\n return nombre\r\n }\r\n\r\n renderConfig() {\r\n let pInicio = this.state.docentes.inicio;\r\n return (\r\n \r\n \r\n \r\n {this.state.nombrePeriodo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TipoFecha InicioFecha FinActualizar
{this.tipoNombre(this.state.docentes.tipoUsuario)}\r\n \r\n \r\n \r\n
{this.tipoNombre(this.state.subdecanos.tipoUsuario)}\r\n \r\n \r\n \r\n
{this.tipoNombre(this.state.decanos.tipoUsuario)}\r\n \r\n \r\n \r\n
{this.tipoNombre(this.state.vicerrector.tipoUsuario)}\r\n \r\n \r\n \r\n
\r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const currentUser = this.context;\r\n\r\n if (currentUser == null) {\r\n return <>;\r\n }\r\n\r\n let content = this.state.loading ? <>\r\n : this.renderConfig();\r\n\r\n return (\r\n
\r\n {content}\r\n
\r\n );\r\n }\r\n}\r\nConfiguracion.contextType = AppContext;\r\nexport default Configuracion;","\r\n// import './App.css';\r\nimport React, { Component } from 'react';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport ExpandTable from './components/ExpandTable';\r\nimport ExpandTableVicerrector from './components/ExpandTableVicerrector';\r\nimport ExpandTableAdministrador from './components/ExpandTableAdministrador';\r\nimport ListadoProfesores from './components/ListadoProfesores';\r\nimport Delegar from './components/Delegar';\r\nimport PadreGraficos from './components/PadreGraficos';\r\nimport {\r\n Route,\r\n BrowserRouter as Router,\r\n} from 'react-router-dom';\r\nimport { Layout } from './components/Layout';\r\nimport { AppContext } from './AppContext';\r\nimport url from \"./components/variables/url.js\";\r\nimport CasClient, { constant } from \"react-cas-client\";\r\nimport { authService } from './services/auth.service';\r\nimport history from \"./historyBeta\";\r\nimport ListadoProfesoresDecano from './components/ListadoProfesoresDecano';\r\nimport ListadoProfesoresVicerrector from './components/ListadoProfesoresVicerrector';\r\nimport ListadoProfesoresAdministrador from './components/ListadoProfesoresAdministrador';\r\nimport AgregarActividad from './components/AgregarActividad';\r\nimport Reportes from './components/Reportes';\r\nimport Configuracion from './components/Configuracion';\r\n\r\nconst local = url.localBack;\r\nconst CAS_PARAMS = url.cas.split(\"://\");\r\nconst casOptions = { version: constant.CAS_VERSION_2_0, path: '/', protocol: CAS_PARAMS[0] };\r\nconst casClient = new CasClient(CAS_PARAMS[1], casOptions);\r\n\r\n/* function App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n} */\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n username: null,\r\n currentUser: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n /*console.log(\"app state = \" + JSON.stringify(this.state));*/\r\n const { username } = this.state;\r\n\r\n if (!username) {\r\n casClient\r\n .auth()\r\n .then(successRes => {\r\n /*console.log(\"App successRes = \" + JSON.stringify(successRes));*/\r\n this.setState({ username: successRes.user });\r\n history.replace(successRes.currentPath);\r\n })\r\n .catch(errorRes => { \r\n console.log(\"App errorRes = \" + JSON.stringify(errorRes)) \r\n });\r\n }\r\n\r\n this.subscription = authService.currentUser.subscribe(currentUser => {\r\n if (currentUser && currentUser.idpersona) {\r\n this.setState({ currentUser: currentUser });\r\n //console.log(this.state.currentUser.roles);\r\n //console.log(this.state.currentUser.usuario);\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n const { username, currentUser } = this.state;\r\n if (username && !currentUser) {\r\n authService.login(username);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // unsubscribe to ensure no memory leaks\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n logout() {\r\n casClient.logout();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n } />\r\n {\r\n fetch(local + 'File/DescargarDocumento/' + props.match.params[\"id\"], {\r\n method: 'GET',\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(data => {\r\n if (data !== '') {\r\n\r\n let a = document.createElement('a');\r\n a.href = \"data:application/pdf;base64,\" + data + \"\";\r\n a.download = \"evidencia-\" + \".pdf\";\r\n a.click();\r\n } else {\r\n console.log('Not file');\r\n }\r\n });\r\n }\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","export default __webpack_public_path__ + \"static/media/NeueHansKendrick-Regular.a4571028.otf\";","export default __webpack_public_path__ + \"static/media/Roboto-Medium.32be89b1.ttf\";","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport './index.css';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport * as dotenv from 'dotenv';\r\nimport \"./components/fonts/NeueHansKendrick-Regular.otf\";\r\nimport \"./components/fonts/Roboto-Medium.ttf\";\r\n\r\ndotenv.config();\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","var map = {\n\t\"./Aprobar.svg\": 242,\n\t\"./Cartillas.svg\": 243,\n\t\"./Delegacion(B).svg\": 244,\n\t\"./Delegacion.svg\": 245,\n\t\"./Lista(G).svg\": 246,\n\t\"./Lista.svg\": 247,\n\t\"./Reasignar.svg\": 248,\n\t\"./ReasignarACTIVO.svg\": 249,\n\t\"./Rechazar.svg\": 250,\n\t\"./ResumenDcarga.svg\": 251,\n\t\"./check.png\": 252,\n\t\"./chrome-banner.jpg\": 253,\n\t\"./close.png\": 254,\n\t\"./downArrow.svg\": 255,\n\t\"./edit.png\": 256,\n\t\"./graficos(B).svg\": 257,\n\t\"./graficos.svg\": 258,\n\t\"./notificacion.svg\": 259,\n\t\"./user.jpg\": 260,\n\t\"./user2.png\": 261\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 84;"],"sourceRoot":""}