{"version":3,"sources":["pages/rrhh/catedraticos.js"],"names":["Auth","AuthService","tokenInfo","movil","test","navigator","userAgent","widthTable","window","screen","width","globales","tabla","marginleft","marginright","columns","name","title","columnExtensions","columnName","align","columnsTitulos","columnExtensionsTitulos","columnsIdiomas","columnsCursos","columnExtensionsCursos","columnsNiveles","columnExtensionsNiveles","columnsOferta","columnExtensionsOferta","totalSummaryItems","type","RowId","row","CUENTA_CATEDRATICO","RowIdCursos","ID_CURSO_DOCENTE","TableSelectionCellComponent","props","_jsx","Table","StubCell","VirtualTable_cellComponent","style","color","Boolean","ESTATUS","undefined","colores","color_inactive","column","DIRECTOR","Cell","padding","children","CheckIcon","VirtualTableCursos_cellComponent","cursor","VirtualTableOferta_cellComponent","_ref","value","funciones","getTime","cellsEditingCellComponent","_ref2","TableInlineCellEditing","paddingTop","paddingBottom","summaryCalculator","rows","getValue","filter","x","IntegratedSummary","defaultCalculator","TabLabel","label","Typography","component","variant","TabPanel","index","remainsHeight","other","role","hidden","id","height","Box","p","CustomInput","params","React","Fragment","TextField","placeholder","InputProps","endAdornment","InputAdornment","position","verticalAlign","SearchIcon","right","DatosPersonales","classes","_this","_jsxs","Grid","container","spacing","direction","item","xs","inputProps","ref","input1Ref","maxLength","textTransform","fullWidth","defaultValue","state","nombres","required","input2Ref","pApellido","input3Ref","sApellido","marginTop","Select","Label","Datos","datosSelectTipo","Selected","selectedTipo","onChange","handleChangeSelect","Style","formControlSelect","Outlined","shrink","input4Ref","inputMode","identidad","disabled","isEmpty","onKeyDown","onlyNumbers","datosSelectSexo","selectedSexo","Ref","select1Ref","KeyboardDatePicker","inputVariant","fechaNac","handleDateChange","format","invalidDateMessage","maxDateMessage","minDateMessage","KeyboardButtonProps","display","date1Ref","input5Ref","sSocial","input6Ref","tel1","input7Ref","tel2","datosSelectEC","selectedEC","select2Ref","input8Ref","readOnly","email1","input9Ref","email2","input10Ref","conyuge","String","marginBottom","Autocomplete","options","optionsPais","valuePais","getOptionLabel","option","NOMBRE_PAIS","renderInput","InputLabelProps","onChangePais","getOptionDisabled","ESTADO_PAIS","PaperComponent","Paper","elevation","optionsDep","valueDep","NOMBRE_DEPARTAMENTO","onChangeDep","ESTADO_DEPARTAMENTO","optionsMun","valueMun","NOMBRE_MUNICIPIO","onChangeMun","ESTADO_MUNICIPIO","optionsCol","valueCol","DESCRIPCION_COLONIA","onChangeCol","ESTADO_COLONIA","input11Ref","direccion","DatosUniversitarios","cuenta","Button","size","onClick","generar_cuenta","startIcon","loadingCuenta","CircularProgress","codigoRRHH","datosSelectEstado","selectedEstado","tipo_proceso","datosSelectSucursal","selectedSucursal","fechaIng","handleDateChangeIng","fechaEgr","handleDateChangeEgr","paddingLeft","FormControlLabel","control","Checkbox","checked","checkedDir","handleChangeCheck","className","min","max","seccion","seccUV","asignaturas","asigUV","observaciones","multiline","rowsMax","Estudios","valueTitulos","length","paddingRight","optionsTitulos","DESCRIPCION","onChangeTitulos","popupIcon","closeIcon","renderTags","freeSolo","multiple","disableCloseOnSelect","filterSelectedOptions","borderTop","container1Ref","CustomTable","Columns","Rows","TableColumnExtensions","DefaultHiddenColumnNames","disableBoxShadow","disableHeader","showSelectionColumn","disabledAlternateRowColor","tableSelectionCellComponent","TableSelectionOptionsCellComponent","valueIdiomas","optionsIdiomas","IDIOMA","onChangeIdiomas","container2Ref","rowsCursos","container3Ref","getRowId","cellsEditing","commitChanges","selectTextOnEditStart","vtRef","Experiencia","exp","Academico","valueNiveles","optionsNiveles","DESCRIPCION_NIVEL","onChangeNiveles","CursosActuales","rowsOferta","columnWidths","totalItems","totalItemComponent","ItemComponent","calculator","totalCellComponent","TotalCellComponent","withStyles","theme","paper","borderRadius","border_dialog","minWidth","maxHeight","paperConfirm","maxWidth","closeButton","top","palette","grey","backdrop","zIndex","flexDirection","tab","fontSize","textAlign","Component","constructor","super","tablaRef","createRef","obtener_catedraticos","Request","get","ip","user","set","getToken","retry","timeout","response","deadline","end","err","res","toString","substr","location","reload","this","setState","loadingMain","showToast","JSON","parse","text","obtener_estados_civiles","map","i","MenuItem","ID_ESTADO","obtener_tipos_identificadores","ID_TIPO_IDENTIFICACION","TIPO_IDENTIFICACION","establecer_generos","obtener_ubicaciones","ubicaciones","find","ID_PAIS","push","establecer_estados","obtener_sucursales","ID_SUCURSAL","DESCRIPCION_SUCURSAL","obtener_idiomas","obtener_titulos","obtener_cursos_docentes","cursos_docentes","obtener_niveles","obtener_oferta_docente","oferta_docentes","handleRowClick","idRow","event","idRowSelected","addEvent","Date","establecer_cursos_recibidos","valueTab","openModal","editEvent","async","rowSelected","Promise","resolve","establecer_ubicaciones","ID_MUNICIPIO","ID_COLONIA","FECHA_NACIMIENTO","FECHA_CREACION","FECHA_EGRESO","NOMBRES","APELLIDO1","APELLIDO2","IDENTIDAD","SEXO","SEGURO_SOCIAL","TELEFONO1","TELEFONO2","ID_ESTADO_CIVIL","EMAIL1","EMAIL2","NOMBRE_CONYUGE","DIRECCION","CODIGO_RRHH","GRUPOS","UNIDADES","CARGA_ASIG_CLASES","CARGA_ASIG_UV","OBSERVACIONES","establecer_titulos","TITULOS_CATEDRATICO","establecer_idiomas","IDIOMAS_CATEDRATICO","EXPERIENCIA_LABORAL","establecer_niveles","NIVELES_CATEDRATICO","establecer_oferta","deleteEvent","openModalConfirm","handleCloseConfirm","id_municipio","id_colonia","ub","ID_DEPARTAMENTO","id_titulos","titulos","split","ID_TITULO","parseInt","id_idiomas","idiomas","ID_IDIOMA_DOCENTE","cursos","id_niveles","nivel","niveles","ID_NIVEL","actualizar_cursos_docentes","handleClose","handleChangeTab","newValue","quitar_eventos_contenedor","setValuesTab","handleChangeIndexTab","current","agregar_eventos_contenedor","n","addEventListener","e","stopPropagation","passive","removeEventListener","onTransitionEnd","focusRef","focus","scrollToRow","target","date","onEntering","_ref3","changed","nuevo","obtener_indice_nuevo","Object","entries","forEach","_ref4","cursos_nuevos","cancelar_titulo","id_titulo","cancelar_idioma","id_idioma","cancelar_curso","id_curso_docente","cancelar_nivel","id_nivel","validaciones_cuenta","obtener_valores_principales","catedraticos","r","calRemainsHeightScreen","innerHeight","innerWidth","_innerHeight","_height","remainsHeightScreen","changeFilters","filters","loadVar","post","send","ad_usuario","RESP","newRow","CUENTA_NUEVA","toUpperCase","apellido1","apellido2","tipo_identificacion","sexo","fecha_nacimiento","getDateSelect","seguro_social","telefono1","telefono2","id_estado","codigo_rrhh","estatus","id_sucursal","fecha_egreso","director","carga_seccion","carga_uv","carga_tmp_cursos","carga_tmp_uv","carga_observacion","obtener_valores_titulos","obtener_valores_idiomas","obtener_valores_cursos","obtener_valores_niveles","handleOk","openBackDrop","experiencia","params2","obtener_total_uv","total","handleOkDelelte","delete","l","isLoggin","heightTableMain","botones","icono","toolt","nombre","escritura","onclick","naranja","botones_agregar","botones_eliminar","AddIcon","IconButton","CancelIcon","_ref5","_ref6","newChildren","Children","child","columnSummaries","cloneElement","TableSummaryRow","TotalCell","componentDidMount","getProfile","plataforma","getHeightTableMain","heightTable","render","square","BarraBotones","marginLeft","marginleft_movil","marginRight","marginright_movil","rowClick","loading","enabledFilterRows","onFiltersChange","Dialog","open","TransitionProps","fullScreen","DialogTitle","CloseIcon","DialogContent","overflow","MuiPickersUtilsProvider","utils","DateFnsUtils","locale","esLocale","Tabs","scrollButtons","Tab","SwipeableViews","axis","onChangeIndex","containerStyle","transition","dir","DialogActions","gutterBottom","Backdrop","invisible","transitionDuration"],"mappings":"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","file":"static/js/main~e17cf5eb.a8e00e86.chunk.js","sourcesContent":["import React from 'react';\r\nimport CustomTable from '../../components/CustomTable';\r\nimport {globales, colores, funciones } from '../../global';\r\nimport AuthService            from '../../AuthService';\r\nimport Request from 'superagent';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport BarraBotones   from '../../components/Barra_menu';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport DialogContent          from '@material-ui/core/DialogContent';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport {Table, TableInlineCellEditing, TableSummaryRow} from '@devexpress/dx-react-grid-material-ui';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport SwipeableViews from 'react-swipeable-views';\r\nimport Box from '@material-ui/core/Box';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Select from '../../components/Select';\r\nimport {KeyboardDatePicker, MuiPickersUtilsProvider} from \"@material-ui/pickers\";\r\nimport DateFnsUtils from \"@date-io/date-fns\";\r\nimport esLocale from \"date-fns/locale/es\";\r\nimport 'date-fns';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { Button } from '@material-ui/core';\r\nimport {IntegratedSummary} from '@devexpress/dx-react-grid'\r\n\r\nlet Auth = new AuthService();\r\nlet tokenInfo = [];\r\n\r\nvar movil=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n\r\nconst styles = theme => ({\r\n\r\npaper: { \r\n  borderRadius: globales.border_dialog,\r\n  minWidth: !movil ? '70%' : undefined, \r\n  height: !movil ? '600px' : undefined,\r\n  maxHeight: !movil ? '98%' : undefined\r\n  }, \r\npaperConfirm: { \r\n  borderRadius: globales.border_dialog,\r\n  minWidth: '320px', \r\n  maxWidth: '320px', \r\n},\t\r\ncloseButton: {\r\n  position: 'absolute',\r\n  right: theme.spacing(1),\r\n  top: theme.spacing(1),\r\n  color: theme.palette.grey[500],\r\n},\r\nbackdrop: {\r\n  zIndex: 500000,\r\n  color: '#fff', \r\n  flexDirection: 'column'\r\n},\r\ntab:{\r\n  textTransform: 'none',\r\n  minWidth: \"110px\",\r\n  fontSize: '8px'\r\n},\r\ntheme: { \r\n  direction: theme.direction \r\n},\r\nformControlSelect: {\r\n  width: '100%', \r\n  textAlign: 'left',\r\n},\r\n});\r\nconst widthTable = !movil ? window.screen.width - (globales.tabla.marginleft + globales.tabla.marginright) : 1336;\r\nconst columns =  [  \r\n  {name: 'CUENTA_CATEDRATICO', title: 'Cuenta'},\r\n  {name: 'NOMBRE_COMPLETO', title: 'Nombre completo'},\r\n  {name: 'SEXO', title: 'Sexo'},\r\n  {name: 'IDENTIDAD', title: 'Identidad'},\r\n  {name: 'TELEFONO1', title: 'Teléfono'},\r\n  {name: 'EMAIL2', title: 'Correo personal'}, \r\n  {name: 'DIRECTOR', title: 'Director'},\r\n  {name: 'ESTATUS', title: 'Estado'},\r\n];\r\nconst columnExtensions = [ \r\n { columnName: 'CUENTA_CATEDRATICO', width: widthTable * 0.09},\r\n { columnName: 'NOMBRE_COMPLETO', width: widthTable * 0.23},\r\n { columnName: 'SEXO', width: widthTable * 0.06, align: \"center\"}, \r\n { columnName: 'IDENTIDAD', width: widthTable * 0.12}, \r\n { columnName: 'TELEFONO1', width: widthTable * 0.10}, \r\n { columnName: 'EMAIL2', width: widthTable * 0.14}, \r\n { columnName: 'DIRECTOR', width: widthTable * 0.08, align: \"center\"},\r\n { columnName: 'ESTATUS', width: widthTable * 0.09, align: \"center\"},              \r\n];\r\n\r\nconst columnsTitulos = [\r\n  {name: 'ID_TITULO', title: 'ID_TITULO'},\r\n  {name: 'DESCRIPCION', title: 'Descripción'},\r\n];\r\nconst columnExtensionsTitulos = [ \r\n  { columnName: 'DESCRIPCION', width: 420},\r\n];\r\n\r\nconst columnsIdiomas = [\r\n  {name: 'ID_IDIOMA_DOCENTE', title: 'ID_IDIOMA_DOCENTE'},\r\n  {name: 'IDIOMA', title: 'Idioma'},\r\n];\r\n\r\nconst columnsCursos = [\r\n  {name: 'ID_CURSO_DOCENTE', title: 'ID_CURSO_DOCENTE'},\r\n  {name: 'DESCRIPCION', title: 'DESCRIPCION'},\r\n];\r\nconst columnExtensionsCursos = [ \r\n  { columnName: 'DESCRIPCION', width: 780},\r\n];\r\n\r\nconst columnsNiveles = [\r\n  {name: 'ID_NIVEL', title: 'ID_NIVEL'},\r\n  {name: 'CODIGO_NIVEL', title: 'CODIGO_NIVEL'},\r\n  {name: 'DESCRIPCION_NIVEL', title: 'DESCRIPCION'},\r\n];\r\nconst columnExtensionsNiveles = [ \r\n  { columnName: 'CODIGO_NIVEL', width: 100},\r\n  { columnName: 'DESCRIPCION_NIVEL', width: 600},\r\n];\r\n\r\nconst columnsOferta = [\r\n  {name: 'CODIGO_CURSO', title: 'Código'},\r\n  {name: 'DESCRIPCION_CURSO', title: 'Descripción'},\r\n  {name: 'INICIO', title: 'Desde'},\r\n  {name: 'FIN', title: 'Hasta'},\r\n  {name: 'CREDITOS', title: 'UV'},\r\n  {name: 'CREDITOS_PAGAR', title: 'UV pagar'},\r\n  {name: 'ESTATUS', title: 'Estado'},\r\n];\r\nconst columnExtensionsOferta = [\r\n  { columnName: 'CODIGO_CURSO', width: 100},\r\n  { columnName: 'DESCRIPCION_CURSO', width: 280},\r\n  { columnName: 'INICIO', width: 90, align: 'center'},\r\n  { columnName: 'FIN', width: 90, align: 'center'},\r\n  { columnName: 'CREDITOS', width: 90, align: 'center'},\r\n  { columnName: 'CREDITOS_PAGAR', width: 90, align: 'center'},\r\n  { columnName: 'ESTATUS', width: 90, align: 'center'},\r\n];\r\nconst totalSummaryItems= [\r\n  { columnName: \"CREDITOS\", type: \"sum\" },    \r\n  { columnName: \"CREDITOS_PAGAR\", type: \"sum\" },   \r\n];\r\n\r\nconst RowId = row => row.CUENTA_CATEDRATICO;\r\nconst RowIdCursos = row => row.ID_CURSO_DOCENTE;\r\nconst TableSelectionCellComponent= (props) =>{\r\n  return (<Table.StubCell />);\r\n}\r\nconst VirtualTable_cellComponent = (props) => { \r\n\r\n const style={color: !Boolean(props.row.ESTATUS) ? colores.color_inactive : undefined}\r\n\r\n if (props.column.name === \"DIRECTOR\" && Boolean(props.row.DIRECTOR)){\r\n   return (<Table.Cell style={{...style, padding: 0 }} {...props}>\r\n            <CheckIcon />\r\n           </ Table.Cell>);\r\n }\r\n\r\n if (props.column.name === \"ESTATUS\"){\r\n    return (<Table.Cell style={style} {...props}>\r\n             {Boolean(props.row.ESTATUS) ? \"ACTIVO\" : \"INACTIVO\"}\r\n            </ Table.Cell>);\r\n }\r\n  \r\n return (<Table.Cell style={style} {...props}/>);\r\n}\r\nconst VirtualTableCursos_cellComponent = (props) => {\r\n\r\n  const style = { color: props.row.ID_CURSO_DOCENTE === 0 ? \"#a9a9a9\" : undefined, cursor: \"text\" }\r\n\r\n  return (<Table.Cell style={style} {...props}/>);\r\n}\r\nconst VirtualTableOferta_cellComponent = ({value, ...props}) => {\r\n\r\n  const style= { color: props.row.ESTATUS === \"C\" ? \"red\" : undefined }\r\n\r\n  if (props.column.name === \"INICIO\" || props.column.name === \"FIN\"){\r\n    return (<Table.Cell style={style} {...props}>\r\n             {funciones.getTime(value, 1)}\r\n            </Table.Cell>);\r\n  }\r\n\r\n  return (<Table.Cell style={style} value={value} {...props}/>);\r\n}\r\nconst cellsEditingCellComponent = ({value, ...props}) =>{\r\n  \r\n value = (props.row.ID_CURSO_DOCENTE === 0 && value === \"Click para agregar...\") ? \"\" : value;\r\n  \r\n return (<TableInlineCellEditing.Cell \r\n          value={value}\r\n          style={{ paddingTop: 3, paddingBottom: 2, }} \r\n            {...props} />);\r\n\r\n}\r\nconst summaryCalculator = (type, rows, getValue) => { \r\n  rows = rows.filter(x => x.ESTATUS === \"A\");\r\n  return IntegratedSummary.defaultCalculator(type, rows, getValue);\r\n}\r\nconst TabLabel = (label)=>{\r\n return (<Typography component={'span'} variant={'body2'}>{label}</Typography>);\r\n}\r\nconst TabPanel = (props) =>{   \r\n  const { children, value, index, remainsHeight, ...other } = props;  \r\n \r\n  return (\r\n    <div\r\n      role=\"tabpanel\"\r\n      hidden={value !== index}\r\n      id={`full-width-tabpanel-${index}`}\r\n      {...other}\r\n      style={{ height: movil ? \"calc(100vh - \"+remainsHeight+\"px)\" : undefined }}\r\n    >\r\n      {value === index && (\r\n        <Box p={2} style={{ height: \"100%\" }}>\r\n         {children}\r\n        </Box>\r\n      )}\r\n    </div>\r\n  );\r\n}\r\nconst CustomInput = (params) => {\r\n  return (<React.Fragment>\r\n          <TextField {...params} \r\n             placeholder=\"Click para agregar....\"\r\n             InputProps={{ ...params.InputProps,\r\n                            endAdornment: (\r\n                              <InputAdornment position=\"end\" style={{ verticalAlign: \"middle\" }}>\r\n                                <SearchIcon style={{ position: \"absolute\", right: 0, color: \"gray\" }}/>\r\n                              </InputAdornment>\r\n                            ),\r\n                         }}\r\n          />\r\n          \r\n          </ React.Fragment>) \r\n}\r\nconst DatosPersonales = (props) =>{\r\n\r\n  const {classes, _this} = props;\r\n \r\n  return <div>\r\n           <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n            <Grid item xs={movil ? 12 : 6}>\r\n             <TextField label=\"Nombres\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input1Ref, maxLength: 40, style: {textTransform: \"uppercase\"}}}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.nombres}\r\n              required/> \r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <TextField label=\"Primer apellido\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input2Ref, maxLength: 20, style: {textTransform: \"uppercase\"} }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.pApellido}\r\n              required/>\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n            <TextField label=\"Segundo apellido\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input3Ref, maxLength: 20, style: {textTransform: \"uppercase\"} }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.sApellido}/>\r\n            </Grid>\r\n          </Grid>\r\n\r\n          <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n           <Grid item xs={movil ? 12 : 3}>\r\n            <Select Label=\"Tipo de identificación\"\r\n               Datos={_this.state.datosSelectTipo} \r\n               Selected={_this.state.selectedTipo}\r\n               onChange={_this.handleChangeSelect}\r\n               Style={classes.formControlSelect}\r\n               Outlined\r\n               name=\"Tipo\"                             \r\n               shrink={_this.state.selectedTipo !== \"\" ? true : undefined} \r\n               required \r\n              />\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <TextField label=\"Identidad\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input4Ref, maxLength: 25, inputMode: (_this.state.selectedTipo === 1) ? \"numeric\" : \"text\" }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.identidad}\r\n              disabled={funciones.isEmpty(_this.state.selectedTipo)}\r\n              onKeyDown={(_this.state.selectedTipo === 1) ? funciones.onlyNumbers(_this.input4Ref, false, false) : undefined}\r\n              required/>\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <Select Label=\"Sexo\"\r\n               Datos={_this.state.datosSelectSexo} \r\n               Selected={_this.state.selectedSexo}\r\n               onChange={_this.handleChangeSelect}\r\n               Style={classes.formControlSelect}\r\n               Outlined\r\n               name=\"Sexo\"                             \r\n               shrink={_this.state.selectedSexo !== \"\" ? true : undefined} \r\n               Ref={_this.select1Ref}\r\n               required \r\n              />\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n            <KeyboardDatePicker\r\n              inputVariant=\"outlined\"\r\n              value={_this.state.fechaNac}\r\n              onChange={_this.handleDateChange}\r\n              format=\"dd/MM/yyyy\"\r\n              label=\"Fecha de nacimiento\"\r\n              fullWidth\r\n              invalidDateMessage={null}\r\n              maxDateMessage={null}\r\n              minDateMessage={null}\r\n              KeyboardButtonProps={{ style: {display: \"none\"} }}\r\n              inputProps={{ placeholder: \"ejemplo: 25/01/2000\", ref: _this.date1Ref }}\r\n              required\r\n              />\r\n            </Grid>\r\n          </Grid>\r\n\r\n          <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n           <Grid item xs={movil ? 12 : 3}>\r\n            <TextField label=\"Nº seguro social\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input5Ref, maxLength: 50 }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.sSocial}/> \r\n           </Grid>\r\n           <Grid item xs={movil ? 12 : 3}>\r\n             <TextField label=\"Teléfono 1\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input6Ref, maxLength: 15, inputMode: \"numeric\" }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.tel1}\r\n              onKeyDown={funciones.onlyNumbers(_this.input6Ref, false, false)}\r\n              required/> \r\n           </Grid>\r\n           <Grid item xs={movil ? 12 : 3}>\r\n            <TextField label=\"Teléfono 2\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input7Ref, maxLength: 15, inputMode: \"numeric\" }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.tel2}\r\n              onKeyDown={funciones.onlyNumbers(_this.input7Ref, false, false)}/> \r\n           </Grid>\r\n           <Grid item xs={movil ? 12 : 3}>\r\n             <Select Label=\"Estado civil\"\r\n               Datos={_this.state.datosSelectEC} \r\n               Selected={_this.state.selectedEC}\r\n               onChange={_this.handleChangeSelect}\r\n               Style={classes.formControlSelect}\r\n               Outlined\r\n               name=\"EC\"                             \r\n               shrink={_this.state.selectedEC !== \"\" ? true : undefined} \r\n               Ref={_this.select2Ref}\r\n               required \r\n              />\r\n           </Grid>\r\n          </Grid>\r\n\r\n          <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n           <Grid item xs={movil ? 12 : 3}>\r\n             <TextField label=\"Email 1\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input8Ref, maxLength: 35, readOnly: true }}                                     \r\n              fullWidth\r\n              value={_this.state.email1}\r\n              placeholder=\"Pendiente...\"/>\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <TextField label=\"Email 2\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input9Ref, maxLength: 45 }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.email2}/>\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 6}>\r\n             <TextField label=\"Nombre de cónyuge\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input10Ref, maxLength: 200, style: {textTransform: \"uppercase\"} }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.conyuge}\r\n              disabled={String(_this.state.selectedEC) !== \"2\" && String(_this.state.selectedEC) !== \"3\"}/>\r\n            </Grid>\r\n          </Grid>\r\n          <div style={{ marginTop: 15, marginBottom: 10 }}><strong>Ubicación actual</strong></div>\r\n          <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n            <Autocomplete\r\n              options={_this.state.optionsPais}\r\n              value={_this.state.valuePais}\r\n              getOptionLabel={(option) => option.NOMBRE_PAIS}\r\n              renderInput={(params) => <TextField {...params} label=\"Pais\" variant=\"outlined\" InputLabelProps={{ shrink: (_this.state.valuePais !== null) ? true : undefined }} />}\r\n              fullWidth\r\n              onChange={_this.onChangePais}\r\n              getOptionDisabled={(option) => !Boolean(option.ESTADO_PAIS)}\r\n              PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n              required\r\n            />\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <Autocomplete\r\n              options={_this.state.optionsDep}\r\n              value={_this.state.valueDep}\r\n              getOptionLabel={(option) => option.NOMBRE_DEPARTAMENTO}\r\n              renderInput={(params) => <TextField {...params} label=\"Departamento\" variant=\"outlined\" InputLabelProps={{ shrink: (_this.state.valueDep !== null) ? true : undefined }} />}\r\n              fullWidth\r\n              onChange={_this.onChangeDep}\r\n              getOptionDisabled={(option) => !Boolean(option.ESTADO_DEPARTAMENTO)}\r\n              PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n              required\r\n             />\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <Autocomplete\r\n              options={_this.state.optionsMun}\r\n              value={_this.state.valueMun}\r\n              getOptionLabel={(option) => option.NOMBRE_MUNICIPIO}\r\n              renderInput={(params) => <TextField {...params} label=\"Municipio\" variant=\"outlined\" InputLabelProps={{ shrink: (_this.state.valueMun !== null) ? true : undefined }} />}\r\n              fullWidth\r\n              onChange={_this.onChangeMun}\r\n              getOptionDisabled={(option) => !Boolean(option.ESTADO_MUNICIPIO)}\r\n              PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n              required\r\n              />\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 3}>\r\n             <Autocomplete\r\n              options={_this.state.optionsCol}\r\n              value={_this.state.valueCol}\r\n              getOptionLabel={(option) => option.DESCRIPCION_COLONIA}\r\n              renderInput={(params) => <TextField {...params} label=\"Colonia\" variant=\"outlined\" InputLabelProps={{ shrink: (_this.state.valueCol !== null) ? true : undefined }} />}\r\n              fullWidth\r\n              onChange={_this.onChangeCol}\r\n              getOptionDisabled={(option) => !Boolean(option.ESTADO_COLONIA)}\r\n              PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n              required\r\n              />\r\n            </Grid>\r\n          </Grid>\r\n\r\n          <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n            <Grid item xs={movil ? 12 : 9}>\r\n             <TextField label=\"Dirección\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ ref: _this.input11Ref, style: {textTransform: \"uppercase\"} }}                                     \r\n              fullWidth\r\n              defaultValue={_this.state.direccion}/>\r\n            </Grid>\r\n          </Grid>\r\n\r\n         </div>\r\n}\r\nconst DatosUniversitarios = (props) =>{\r\n\r\n  const {classes, _this} = props;\r\n\r\n  return <div>\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n         <Grid item xs={movil ? 12 : 6}>\r\n         <Grid container spacing={movil ? 1 : 2} direction=\"row\">\r\n          <Grid item xs={6}>\r\n           <TextField label=\"Cuenta\"\r\n              variant=\"outlined\"                                       \r\n              inputProps={{ maxLength: 20, readOnly: true, ref: _this.input7Ref }}                                     \r\n              fullWidth\r\n              placeholder=\"Pendiente...\"\r\n              InputLabelProps={{ shrink: !funciones.isEmpty(_this.state.cuenta) ? true : undefined }}\r\n              value={_this.state.cuenta}\r\n            />\r\n            </Grid>\r\n            <Grid item xs={6}>\r\n             <Button \r\n              variant=\"contained\" \r\n              color=\"primary\"\r\n              style={{ textTransform: \"none\", marginTop: 10 }}\r\n              size=\"small\"\r\n              onClick={_this.generar_cuenta}\r\n              disabled={!funciones.isEmpty(_this.state.cuenta)}\r\n              startIcon={_this.state.loadingCuenta ? <CircularProgress size={15} style={{ color: \"inherit\" }} /> : null}>\r\n              {_this.state.loadingCuenta ? \"Creando...\" : \"Crear cuenta\"}\r\n            </Button>\r\n            </Grid>\r\n          </Grid>\r\n         </Grid>\r\n        </Grid>\r\n          \r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n          <Grid item xs={movil ? 12 : 3}>\r\n           <TextField label=\"Codigo RRHH\"\r\n             variant=\"outlined\"                                       \r\n             inputProps={{ ref: _this.input1Ref, maxLength: 40, style: {textTransform: \"uppercase\"}}}                                     \r\n             fullWidth\r\n             defaultValue={_this.state.codigoRRHH}\r\n             required/>\r\n          </ Grid>\r\n          <Grid item xs={movil ? 12 : 3}>\r\n            <Select Label=\"Estado\"\r\n              Datos={_this.state.datosSelectEstado} \r\n              Selected={_this.state.selectedEstado}\r\n              onChange={_this.handleChangeSelect}\r\n              Style={classes.formControlSelect}\r\n              Outlined\r\n              name=\"Estado\"                             \r\n              shrink={_this.state.selectedEstado !== \"\" ? true : undefined}\r\n              disabled={_this.state.tipo_proceso === 1}\r\n              />\r\n          </Grid>\r\n          <Grid item xs={movil ? 12 : 4}>\r\n           <Select Label=\"Sucursal\"\r\n             Datos={_this.state.datosSelectSucursal} \r\n             Selected={_this.state.selectedSucursal}\r\n             onChange={_this.handleChangeSelect}\r\n             Style={classes.formControlSelect}\r\n             Outlined\r\n             name=\"Sucursal\"                             \r\n             shrink={_this.state.selectedSucursal !== \"\" ? true : undefined} \r\n             required \r\n              />  \r\n          </Grid>\r\n         </Grid>\r\n\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n          <Grid item xs={movil ? 12 : 3}>\r\n           <KeyboardDatePicker\r\n             inputVariant=\"outlined\"\r\n             value={_this.state.fechaIng}\r\n             onChange={_this.handleDateChangeIng}\r\n             format=\"dd/MM/yyyy\"\r\n             label=\"Fecha ingreso\"\r\n             fullWidth\r\n             invalidDateMessage={null}\r\n             maxDateMessage={null}\r\n             minDateMessage={null}\r\n             KeyboardButtonProps={{ style: {display: \"none\"} }}\r\n             inputProps={{ placeholder: \"ejemplo: 25/01/2000\" }}\r\n             required/>  \r\n          </Grid>\r\n          <Grid item xs={movil ? 12 : 3}>\r\n           <KeyboardDatePicker\r\n            inputVariant=\"outlined\"\r\n            value={_this.state.fechaEgr}\r\n            onChange={_this.handleDateChangeEgr}\r\n            format=\"dd/MM/yyyy\"\r\n            label=\"Fecha egreso\"\r\n            fullWidth\r\n            invalidDateMessage={null}\r\n            maxDateMessage={null}\r\n            minDateMessage={null}\r\n            KeyboardButtonProps={{ style: {display: \"none\"} }}\r\n            inputProps={{ placeholder: \"ejemplo: 25/01/2000\" }}\r\n            disabled={_this.state.selectedEstado === 1}/> \r\n          </Grid>\r\n          <Grid item xs={movil ? 12 : 3} style={{ paddingLeft: 20, paddingTop: !movil ? 20 : 10 }}>\r\n           <FormControlLabel\r\n            control={\r\n              <Checkbox\r\n                checked={_this.state.checkedDir}\r\n                onChange={_this.handleChangeCheck}\r\n                name=\"Dir\"\r\n                color=\"primary\"\r\n              />\r\n            }\r\n            label=\"Director de carrera\"\r\n            className=\"disableTouchOptions\"\r\n           />    \r\n          </Grid>\r\n         </Grid>\r\n\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n           <Grid item xs={movil ? 12 : 4} style={{ paddingTop: !movil ? 15 : 15 }}>\r\n            <strong>Carga Oficial</strong><br/>\r\n            <Paper variant=\"outlined\" style={{ marginTop: 5, padding: 10, paddingLeft: 15 }}>\r\n            <Grid container spacing={2} direction=\"row\">\r\n             <Grid item xs={5}>\r\n              <TextField label=\"Sección\"\r\n                  variant=\"outlined\"                                       \r\n                  inputProps={{ ref: _this.input2Ref, min: 0, max: 99, type: \"number\", inputMode: \"numeric\" }}                                     \r\n                  fullWidth\r\n                  defaultValue={_this.state.seccion}/>\r\n             </Grid>\r\n             <Grid item xs={5}>\r\n               <TextField label=\"UV\"\r\n                variant=\"outlined\"                                       \r\n                inputProps={{ ref: _this.input3Ref, min: 0, max: 99, type: \"number\", inputMode: \"numeric\" }}                                     \r\n                fullWidth\r\n                defaultValue={_this.state.seccUV}/>\r\n             </Grid>\r\n\r\n            </Grid>\r\n            </Paper>\r\n            </Grid>\r\n            <Grid item xs={movil ? 12 : 4} style={{ paddingTop: !movil ? 15 : 10 }}>\r\n            <strong>Carga temporal</strong>\r\n            <Paper variant=\"outlined\" style={{ marginTop: !movil ? 5 : 8, padding: 10, paddingLeft: 15 }}>\r\n            <Grid container spacing={2} direction=\"row\">\r\n             <Grid item xs={5}> \r\n             <TextField label=\"Asignaturas\"\r\n                variant=\"outlined\"                                       \r\n                inputProps={{ ref: _this.input4Ref, min: 0, max: 99, type: \"number\", inputMode: \"numeric\" }}                                     \r\n                fullWidth\r\n                defaultValue={_this.state.asignaturas}/>\r\n             </Grid>\r\n             <Grid item xs={5}>\r\n              <TextField label=\"UV\"\r\n                variant=\"outlined\"                                       \r\n                inputProps={{ ref: _this.input5Ref, min: 0, max: 99, type: \"number\", inputMode: \"numeric\" }}                                     \r\n                fullWidth\r\n                defaultValue={_this.state.asigUV}/>\r\n             </Grid>\r\n            </Grid>  \r\n            </Paper>\r\n            </Grid>\r\n         </Grid>\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}> \r\n          <Grid item xs={12} style={{ paddingTop: 15, paddingBottom: 0 }}>\r\n           <TextField label=\"Observaciones\"\r\n            variant=\"outlined\"                                       \r\n            inputProps={{ ref: _this.input6Ref, style: {textTransform: \"uppercase\"} }}                                     \r\n            fullWidth\r\n            defaultValue={_this.state.observaciones}\r\n            multiline\r\n            rows={movil ? 8 : 7}\r\n            rowsMax={movil ? 8 : 7}/>\r\n           </Grid>\r\n          </Grid>\r\n         </div>\r\n}\r\nconst Estudios = (props) => {\r\n\r\n  const {_this} = props;\r\n  \r\n  return <div>\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n          <Grid item xs={movil ? 12 : 7}>\r\n          <strong>{\"Titulos (\"+ _this.state.valueTitulos.length +\")\"}</strong>\r\n          <Paper variant=\"outlined\" style={{ height: 180, marginTop: 5 }}>\r\n          <div style={{ paddingLeft: 20, paddingRight: 20, width: \"100%\" }}>\r\n           <Autocomplete\r\n             options={_this.state.optionsTitulos}\r\n             value={_this.state.valueTitulos}\r\n             getOptionLabel={(option) => option.DESCRIPCION}\r\n             renderInput={CustomInput}\r\n             fullWidth\r\n             onChange={_this.onChangeTitulos}\r\n             popupIcon={null}\r\n             closeIcon={null}\r\n             renderTags={()=> null}\r\n             freeSolo\r\n             multiple\r\n             disableCloseOnSelect\r\n             filterSelectedOptions\r\n             size=\"small\"\r\n             PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n            />\r\n            </div>\r\n            <Paper variant=\"outlined\" style={{ borderTop: \"none\", marginTop: 10, marginBottom: 2  }}/>\r\n            <div ref={_this.container1Ref}>\r\n             <CustomTable \r\n              Columns={columnsTitulos} \r\n              Rows={_this.state.valueTitulos}\r\n              TableColumnExtensions={columnExtensionsTitulos}                             \r\n              DefaultHiddenColumnNames={['ID_TITULO']}\r\n              height={120}\r\n              disableBoxShadow\r\n              disableHeader                         \r\n              showSelectionColumn\r\n              disabledAlternateRowColor\r\n              tableSelectionCellComponent={_this.TableSelectionOptionsCellComponent} \r\n              />\r\n            </ div>\r\n          </Paper>\r\n          </Grid>\r\n          <Grid item xs={movil ? 12 : 5}>\r\n          <strong>{\"Idiomas (\"+ _this.state.valueIdiomas.length + \")\"}</strong>\r\n          <Paper variant=\"outlined\" style={{ height: 180, marginTop: 5 }}>\r\n          <div style={{ paddingLeft: 20, paddingRight: 20, width: \"100%\" }}>\r\n           <Autocomplete\r\n            options={_this.state.optionsIdiomas}\r\n            value={_this.state.valueIdiomas}\r\n            getOptionLabel={(option) => option.IDIOMA}\r\n            renderInput={CustomInput}\r\n            fullWidth\r\n            onChange={_this.onChangeIdiomas}\r\n            popupIcon={null}\r\n            closeIcon={null}\r\n            renderTags={()=> null}\r\n            freeSolo\r\n            multiple\r\n            disableCloseOnSelect\r\n            filterSelectedOptions\r\n            size=\"small\"\r\n            PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n            /> \r\n           </ div>\r\n           <Paper variant=\"outlined\" style={{ borderTop: \"none\", marginTop: 10, marginBottom: 2  }}/>\r\n            <div ref={_this.container2Ref}>\r\n             <CustomTable \r\n              Columns={columnsIdiomas} \r\n              Rows={_this.state.valueIdiomas}                            \r\n              DefaultHiddenColumnNames={['ID_IDIOMA_DOCENTE']}\r\n              height={120}\r\n              disableBoxShadow\r\n              disableHeader                         \r\n              showSelectionColumn\r\n              disabledAlternateRowColor\r\n              tableSelectionCellComponent={_this.TableSelectionOptionsCellComponent} \r\n              />\r\n            </ div> \r\n          </Paper>  \r\n          </Grid>\r\n         </Grid>\r\n\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n          <Grid item xs={movil ? 12 : 12}>\r\n          <strong>{\"Cursos recibidos (\"+(_this.state.rowsCursos.length - 1)+ \")\"}</strong>\r\n          <Paper variant=\"outlined\" style={{ marginTop: 5 }} >\r\n           <div ref={_this.container3Ref}>\r\n           <CustomTable \r\n             Columns={columnsCursos} \r\n             Rows={_this.state.rowsCursos}\r\n             TableColumnExtensions={columnExtensionsCursos}                             \r\n             DefaultHiddenColumnNames={['ID_CURSO_DOCENTE']}                            \r\n             getRowId={RowIdCursos}\r\n             VirtualTable_cellComponent={VirtualTableCursos_cellComponent}\r\n             height={180}\r\n             disableBoxShadow\r\n             disableHeader                         \r\n             showSelectionColumn\r\n             disabledAlternateRowColor\r\n             tableSelectionCellComponent={_this.TableSelectionOptionsCellComponent}\r\n             cellsEditing\r\n             commitChanges={_this.commitChanges}\r\n             cellsEditingCellComponent={cellsEditingCellComponent}\r\n             selectTextOnEditStart\r\n             vtRef={_this.vtRef}   \r\n             />\r\n            </ div>\r\n          </Paper>  \r\n          </Grid>\r\n         </Grid>\r\n\r\n         </div>\r\n}\r\nconst Experiencia = (props)=>{\r\n  const {_this} = props;\r\n\r\n  return <div>\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"} style={{ marginTop: movil ? 4 : 0}}>\r\n          <Grid item xs={12} style={{ paddingBottom: 0 }}>\r\n           <TextField\r\n            variant=\"outlined\"                                       \r\n            inputProps={{ ref: _this.input1Ref, style: {textTransform: \"uppercase\"} }}                                     \r\n            fullWidth\r\n            defaultValue={_this.state.exp}\r\n            multiline\r\n            rows={26}\r\n            rowsMax={26}/>\r\n          </Grid>\r\n         </Grid>\r\n         </div>\r\n}\r\nconst Academico = (props) =>{\r\n\r\n  const {_this} = props;\r\n\r\n  return <div>\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n          <Grid item xs={12}>\r\n          <strong>{\"Niveles (\"+ _this.state.valueNiveles.length +\")\"}</strong>\r\n           <Paper variant=\"outlined\" style={{ marginTop: 5 }}>\r\n           <div style={{ paddingLeft: 20, paddingRight: 20, width: \"100%\" }}>\r\n           <Autocomplete\r\n             options={_this.state.optionsNiveles}\r\n             value={_this.state.valueNiveles}\r\n             getOptionLabel={(option) => option.DESCRIPCION_NIVEL}\r\n             renderInput={CustomInput}\r\n             fullWidth\r\n             onChange={_this.onChangeNiveles}\r\n             popupIcon={null}\r\n             closeIcon={null}\r\n             renderTags={()=> null}\r\n             freeSolo\r\n             multiple\r\n             disableCloseOnSelect\r\n             filterSelectedOptions\r\n             size=\"small\"\r\n             PaperComponent={(props)=>(<Paper elevation={8} {...props} />)}\r\n            />\r\n            </div>\r\n            <Paper variant=\"outlined\" style={{ borderTop: \"none\", marginTop: 10, marginBottom: 2  }}/>\r\n            <div ref={_this.container1Ref}>\r\n             <CustomTable \r\n              Columns={columnsNiveles} \r\n              Rows={_this.state.valueNiveles}\r\n              TableColumnExtensions={columnExtensionsNiveles}                             \r\n              DefaultHiddenColumnNames={['ID_NIVEL']}\r\n              height={330}\r\n              disableBoxShadow\r\n              disableHeader                         \r\n              showSelectionColumn\r\n              disabledAlternateRowColor\r\n              tableSelectionCellComponent={_this.TableSelectionOptionsCellComponent} \r\n              />\r\n            </ div>\r\n           </Paper> \r\n          </Grid>\r\n         </Grid>\r\n         </ div>\r\n\r\n}\r\nconst CursosActuales = (props)=>{\r\n\r\n  const {_this} = props;\r\n\r\n  return <div>\r\n         <Grid container spacing={movil ? 1 : 2} direction={movil ? \"column\" : \"row\"}>\r\n          <Grid item xs={12}>\r\n           <div ref={_this.container1Ref}>\r\n             <CustomTable \r\n              Columns={columnsOferta} \r\n              Rows={_this.state.rowsOferta}\r\n              TableColumnExtensions={columnExtensionsOferta}  \r\n              columnWidths={columnExtensionsOferta}                             \r\n              VirtualTable_cellComponent={VirtualTableOferta_cellComponent}\r\n              height={400}\r\n              totalItems={totalSummaryItems}\r\n              totalItemComponent={_this.ItemComponent}\r\n              calculator={summaryCalculator}\r\n              totalCellComponent={_this.TotalCellComponent}\r\n              />\r\n            </ div>  \r\n          </Grid>\r\n         </Grid>\r\n        </ div>\r\n\r\n}\r\n\r\nexport default withStyles(styles) ( \r\nclass App extends React.Component {\r\n\r\ntablaRef = React.createRef();\r\ninput1Ref = React.createRef();\r\ninput2Ref = React.createRef();\r\ninput3Ref = React.createRef();\r\ninput4Ref = React.createRef();\r\ninput5Ref = React.createRef();\r\ninput6Ref = React.createRef();\r\ninput7Ref = React.createRef();\r\ninput8Ref = React.createRef();\r\ninput9Ref = React.createRef();\r\ninput10Ref = React.createRef();\r\ninput11Ref = React.createRef();\r\nselect1Ref = React.createRef();\r\nselect2Ref = React.createRef();\r\ndate1Ref = React.createRef();\r\nvtRef = React.createRef();\r\ncontainer1Ref = React.createRef();\r\ncontainer2Ref = React.createRef();\r\ncontainer3Ref = React.createRef();\r\n\r\n  constructor (props) {\r\n    super(props);\r\n    this.l=props.l\r\n    this.e=props.e\r\n    this.i=props.i\r\n    this.state = {\r\n     isLoggin : undefined,\r\n     heightTableMain: 0,\r\n     loadingMain: true,\r\n     rows: [],\r\n     openBackDrop: false,\r\n     idRowSelected: null,\r\n     openModal: false,\r\n     openModalConfirm: false,\r\n     loadingCuenta: false,\r\n     valueTab: 0,\r\n     nombres: null,\r\n     pApellido: null,\r\n     sApellido: null,\r\n     identidad: null,\r\n     sSocial: null,\r\n     tel1: null,\r\n     tel2: null,\r\n     email1: null,\r\n     email2: null,\r\n     conyuge: null,\r\n     direccion: null,\r\n     datosSelectTipo: null,\r\n     selectedTipo: \"\",\r\n     datosSelectSexo: null,\r\n     selectedSexo: \"\",\r\n     fechaNac: null,\r\n     datosSelectEC: null,\r\n     selectedEC: \"\",\r\n     optionsPais: [],\r\n     valuePais: null,\r\n     optionsDep: [],\r\n     valueDep: null,\r\n     optionsMun: [],\r\n     valueMun: null,\r\n     optionsCol: [],\r\n     valueCol: null,\r\n     cuenta: null,\r\n     codigoRRHH: null,\r\n     datosSelectEstado: null,\r\n     selectedEstado: \"\",\r\n     datosSelectSucursal: null,\r\n     selectedSucursal: \"\",\r\n     fechaIng: null,\r\n     fechaEgr: null,\r\n     checkedDir: false,\r\n     seccion: null,\r\n     seccUV: null,\r\n     asignaturas: null,\r\n     asigUV: null,\r\n     optionsIdiomas: [],\r\n     valueIdiomas: [],\r\n     optionsTitulos: [],\r\n     valueTitulos: [],\r\n     rowsCursos: [],\r\n     optionsNiveles: [],\r\n     valueNiveles: [],\r\n     exp: null,\r\n     tipo_proceso: 0,\r\n     rowsOferta: [],\r\n   };\r\n  this.botones = [\r\n    {icono: 'Add', toolt: '', nombre: 'Agregar', escritura:true, onclick: this.addEvent,  display: 'auto'},\r\n    {icono: 'Edit', toolt: '', nombre: 'Modificar', escritura:true, onclick: this.editEvent,  display:'auto'},\r\n    {icono: 'Delete', toolt: '', nombre: 'Eliminar', escritura:true, onclick: this.deleteEvent, color: colores.naranja, display: 'auto'},  \r\n  ];\r\n  this.botones_agregar =[\r\n    {icono: 'Save', toolt: '', nombre: 'Guardar', escritura:true, onclick: this.handleOk, display:'auto'},\r\n    {icono: 'Close', toolt: '', nombre: 'Cerrar', onclick: this.handleClose, display:'auto', color: 'red'},\r\n  ];\r\n  this.botones_eliminar =[\r\n    {icono: 'Check', toolt: '', nombre: 'Aceptar', onclick: this.handleOkDelelte, display:'auto'},\r\n    {icono: 'Close', toolt: '', nombre: 'Cerrar' , onclick: this.handleCloseConfirm, display:'auto', color: 'red'},\r\n   ];\r\n  this.ubicaciones=[];\r\n  this.cursos_docentes=[];\r\n  this.oferta_docentes=[];\r\n  this.remainsHeightScreen=0;\r\n  this.TableSelectionOptionsCellComponent= (props) =>{\r\n  \r\n    const style = {textAlign: \"center\"}\r\n   \r\n   if (props.row.ID_CURSO_DOCENTE === 0){\r\n     return (<Table.StubCell style={style}>\r\n              <AddIcon style={{ color: \"#a9a9a9\" }} />\r\n             </ Table.StubCell>);\r\n   }\r\n\r\n   const onClick = props.row.ID_CURSO_DOCENTE !== undefined ? \r\n                    ()=> this.cancelar_curso(props.row.ID_CURSO_DOCENTE) :\r\n                   props.row.ID_NIVEL !== undefined ? ()=> this.cancelar_nivel(props.row.ID_NIVEL) : \r\n                   props.row.ID_TITULO !== undefined ? ()=> this.cancelar_titulo(props.row.ID_TITULO) : \r\n                   props.row.ID_IDIOMA_DOCENTE !== undefined ? ()=> this.cancelar_idioma(props.row.ID_IDIOMA_DOCENTE) : undefined;\r\n \r\n   return (<Table.StubCell style={style}>\r\n            <IconButton size=\"small\" onClick={onClick} style={{ width: 22, height: 22 }}>\r\n             <CancelIcon />\r\n            </IconButton>\r\n           </ Table.StubCell>);\r\n  };\r\n  this.ItemComponent = ({value, ...props})=>{\r\n       \r\n    return (<span style={{ fontSize: 12, color: \"#000000\" }}>\r\n             <strong>{value}</strong>\r\n            </span>);\r\n   \r\n  };\r\n  this.TotalCellComponent = ({children, ...props}) => {\r\n  \r\n    if (props.column.name===\"CREDITOS\" || props.column.name===\"CREDITOS_PAGAR\"){\r\n     \r\n     const newChildren = React.Children.map(children, (child, index) => { ;\r\n      \r\n      let {columnSummaries} = child.props;\r\n      const total = this.obtener_total_uv(props.column.name);\r\n      if (columnSummaries.length > 0 && parseInt(columnSummaries[0].value) < parseInt(total))\r\n       columnSummaries = [{ type: columnSummaries[0].type, value: String(columnSummaries[0].value) + \" / \" + total}];\r\n      \r\n      return React.cloneElement(child, { \r\n            ...child.props,\r\n            columnSummaries\r\n          });\r\n    \r\n     });\r\n  \r\n     return (<TableSummaryRow.TotalCell children={newChildren[0]} {...props} />);\r\n  \r\n    }\r\n       \r\n    return (<TableSummaryRow.TotalCell children={children} {...props} />);\r\n   \r\n  }\r\n}\r\n\r\nobtener_catedraticos = ()=>{\r\n\r\nnew Request\r\n .get(`${globales.ip}/catedraticos/${tokenInfo.user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 15000, deadline: 30000, }) \r\n .end((err, res) => {\r\n            \r\n  if (err) { \r\n    \r\n   if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n   {\r\n                \r\n    window.location.reload();\r\n    return;\r\n                  \r\n   }\r\n    \r\n  this.setState({ loadingMain: false }, ()=>{ \r\n   funciones.showToast('e', 'No hay conexión'); \r\n  }); \r\n                    \r\n  return;\r\n }\r\n          \r\n const rows = JSON.parse(res.text);  \r\n this.setState({ rows, loadingMain: false });      \r\n                  \r\n});\r\n  \r\n\r\n}\r\n\r\nobtener_estados_civiles = ()=>{\r\n\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/estadosciviles`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 20000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n        window.location.reload();\r\n        return;\r\n       }\r\n  \r\n       funciones.showToast('e', 'No hay conexión');                  \r\n       return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);\r\n     const datosSelectEC = rows.map((item, i) =>{\r\n      return <MenuItem value={item.ID_ESTADO} key={i} >{item.DESCRIPCION}</MenuItem> \r\n    });\r\n    this.setState({ datosSelectEC });\r\n                \r\n });\r\n\r\n}\r\n\r\nobtener_tipos_identificadores = ()=>{\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/tipos`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 20000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n        window.location.reload();\r\n        return;\r\n       }\r\n  \r\n       funciones.showToast('e', 'No hay conexión');                  \r\n       return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);\r\n     const datosSelectTipo = rows.map((item, i) =>{\r\n      return <MenuItem value={item.ID_TIPO_IDENTIFICACION} key={i} >{item.TIPO_IDENTIFICACION}</MenuItem> \r\n    });\r\n    this.setState({ datosSelectTipo });\r\n                \r\n });\r\n}\r\n\r\nestablecer_generos = ()=>{\r\n const generos = [{ value: \"F\", label: \"FEMENINO\" },\r\n                  { value: \"M\", label: \"MASCULINO\" }];\r\nconst datosSelectSexo = generos.map((item, i) =>{\r\n return <MenuItem value={item.value} key={i} >{item.label}</MenuItem> \r\n});\r\nthis.setState({ datosSelectSexo });\r\n\r\n}\r\n\r\nobtener_ubicaciones = ()=>{\r\n\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/ubicaciones`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 30000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n        window.location.reload();\r\n        return; \r\n       }\r\n  \r\n       funciones.showToast('e', 'No hay conexión');        \r\n       return;\r\n     }\r\n        \r\n     this.ubicaciones = JSON.parse(res.text);\r\n     let optionsPais = [];\r\n     this.ubicaciones.map((item)=>{\r\n      if (!optionsPais.find(x => x.ID_PAIS === item.ID_PAIS))\r\n       optionsPais.push({ ID_PAIS: item.ID_PAIS, \r\n                          NOMBRE_PAIS: item.NOMBRE_PAIS, \r\n                          ESTADO_PAIS: item.ESTADO_PAIS });\r\n\r\n      return item;\r\n     }); \r\n     this.setState({ optionsPais });      \r\n     \r\n });\r\n\r\n}\r\n\r\nestablecer_estados = ()=>{\r\n  const estados = [{ value: 0, label: \"INACTIVO\" },\r\n                   { value: 1, label: \"ACTIVO\" }];\r\n  const datosSelectEstado = estados.map((item, i) =>{\r\n    return <MenuItem value={item.value} key={i} >{item.label}</MenuItem> \r\n  });\r\n  this.setState({ datosSelectEstado });\r\n}\r\n\r\nobtener_sucursales = ()=>{\r\n\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/sucursales`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 20000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       { \r\n        window.location.reload();\r\n        return;  \r\n       }\r\n  \r\n       funciones.showToast('e', 'No hay conexión');                   \r\n       return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);  \r\n     const datosSelectSucursal = rows.map((item, i) =>{\r\n      return <MenuItem value={item.ID_SUCURSAL} key={i} >{item.DESCRIPCION_SUCURSAL}</MenuItem> \r\n     });\r\n    this.setState({ datosSelectSucursal });      \r\n     \r\n});\r\n\r\n\r\n}\r\n\r\nobtener_idiomas = ()=>{\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/idiomas`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 20000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n        window.location.reload();\r\n        return; \r\n       }\r\n       \r\n      funciones.showToast('e', 'No hay conexión');        \r\n       return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);\r\n     this.setState({ optionsIdiomas: rows });      \r\n                \r\n });\r\n}\r\n\r\nobtener_titulos = ()=>{\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/titulos`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n        window.location.reload();\r\n        return; \r\n       }\r\n       \r\n      funciones.showToast('e', 'No hay conexión');        \r\n       return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);\r\n     this.setState({ optionsTitulos: rows });      \r\n                \r\n });\r\n}\r\n\r\nobtener_cursos_docentes = ()=>{\r\n\r\nnew Request\r\n  .get(`${globales.ip}/catedraticos/formulario/cursos`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n              \r\n        window.location.reload();\r\n        return;\r\n                \r\n       }\r\n\r\n       funciones.showToast('e', 'No hay conexión'); \r\n       return;\r\n     }\r\n        \r\n     this.cursos_docentes = JSON.parse(res.text);   \r\n                \r\n });\r\n  \r\n}\r\n\r\nobtener_niveles = ()=>{\r\n\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/niveles/${tokenInfo.user}`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 20000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n        window.location.reload();\r\n        return;        \r\n       }\r\n\r\n       funciones.showToast('e', 'No hay conexión'); \r\n       return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);  \r\n     this.setState({ optionsNiveles: rows }); \r\n                \r\n });\r\n\r\n}\r\n\r\nobtener_oferta_docente = ()=>{\r\n\r\n  new Request\r\n  .get(`${globales.ip}/catedraticos/formulario/oferta`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .retry(1)\r\n  .timeout({ response: 15000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n       if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n       {\r\n              \r\n        window.location.reload();\r\n        return;\r\n                \r\n       }\r\n  \r\n       funciones.showToast('e', 'No hay conexión');           \r\n       return;\r\n     }\r\n        \r\n     this.oferta_docentes = JSON.parse(res.text);   \r\n                \r\n });\r\n\r\n}\r\n\r\nhandleRowClick = (idRow) => event => {\r\n this.setState({ idRowSelected: idRow });\r\n}\r\n\r\naddEvent = ()=>{\r\n\r\n this.setState({ nombres: null,\r\n                 pApellido: null,\r\n                 sApellido: null,\r\n                 selectedTipo: 1,\r\n                 identidad: null,\r\n                 selectedSexo: \"\",\r\n                 fechaNac: null,\r\n                 sSocial: null,\r\n                 tel1: null,\r\n                 tel2: null,\r\n                 selectedEC: \"\",\r\n                 email1: \"\",\r\n                 email2: null,\r\n                 conyuge: null,\r\n                 direccion: null,\r\n                 valuePais: null,\r\n                 valueDep: null,\r\n                 valueMun: null,\r\n                 valueCol: null,\r\n                 cuenta: \"\",\r\n                 codigoRRHH: null, \r\n                 selectedEstado: 1,\r\n                 selectedSucursal: 1,\r\n                 fechaIng: new Date(),\r\n                 fechaEgr: null,\r\n                 checkedDir: false,\r\n                 seccion: null,\r\n                 seccUV: null,\r\n                 asignaturas: null,\r\n                 asigUV: null,\r\n                 observaciones: null,\r\n                 valueTitulos: [],\r\n                 valueIdiomas: [],\r\n                 rowsCursos: this.establecer_cursos_recibidos(),\r\n                 exp: null,\r\n                 valueNiveles: [],\r\n                 rowsOferta: [],\r\n                 valueTab: 0,\r\n                 tipo_proceso: 1,\r\n                 optionsDep: [],\r\n                 optionsMun: [],\r\n                 optionsCol: [],\r\n                 openModal: true });\r\n}\r\n\r\neditEvent = async ()=>{\r\n\r\nif (funciones.isEmpty(this.state.idRowSelected))\r\n return;\r\n\r\nconst rowSelected = this.state.rows.find(x => x.CUENTA_CATEDRATICO === this.state.idRowSelected);\r\nawait Promise.resolve(this.establecer_ubicaciones(rowSelected.ID_MUNICIPIO, rowSelected.ID_COLONIA));\r\nconst fechaNac = rowSelected.FECHA_NACIMIENTO !== null ? new Date(rowSelected.FECHA_NACIMIENTO.substr(0,19)) : null;\r\nconst fechaIng = rowSelected.FECHA_CREACION !== null ? new Date(rowSelected.FECHA_CREACION) : null;\r\nconst fechaEgr = rowSelected.FECHA_EGRESO !== null ? new Date(rowSelected.FECHA_EGRESO.substr(0,19)) : null;\r\n\r\nthis.setState({ nombres: rowSelected.NOMBRES,\r\n                pApellido: rowSelected.APELLIDO1,\r\n                sApellido: rowSelected.APELLIDO2,\r\n                selectedTipo: rowSelected.TIPO_IDENTIFICACION,\r\n                identidad: rowSelected.IDENTIDAD,\r\n                selectedSexo: rowSelected.SEXO,\r\n                fechaNac,\r\n                sSocial: rowSelected.SEGURO_SOCIAL,\r\n                tel1: rowSelected.TELEFONO1,\r\n                tel2: rowSelected.TELEFONO2,\r\n                selectedEC: rowSelected.ID_ESTADO_CIVIL,\r\n                email1: funciones.isEmpty(rowSelected.EMAIL1) ? \"\" : rowSelected.EMAIL1,\r\n                email2: rowSelected.EMAIL2,\r\n                conyuge: rowSelected.NOMBRE_CONYUGE,\r\n                direccion: rowSelected.DIRECCION,\r\n                cuenta: rowSelected.CUENTA_CATEDRATICO,\r\n                codigoRRHH: rowSelected.CODIGO_RRHH, \r\n                selectedEstado: Boolean(rowSelected.ESTATUS) ? 1 : 0,\r\n                selectedSucursal: rowSelected.ID_SUCURSAL,\r\n                fechaIng,\r\n                fechaEgr,\r\n                checkedDir: Boolean(rowSelected.DIRECTOR),\r\n                seccion: rowSelected.GRUPOS,\r\n                seccUV: rowSelected.UNIDADES,\r\n                asignaturas: rowSelected.CARGA_ASIG_CLASES,\r\n                asigUV: rowSelected.CARGA_ASIG_UV,\r\n                observaciones: rowSelected.OBSERVACIONES,\r\n                valueTitulos: this.establecer_titulos(rowSelected.TITULOS_CATEDRATICO),\r\n                valueIdiomas: this.establecer_idiomas(rowSelected.IDIOMAS_CATEDRATICO),\r\n                rowsCursos: this.establecer_cursos_recibidos(rowSelected.CUENTA_CATEDRATICO),\r\n                exp: rowSelected.EXPERIENCIA_LABORAL,\r\n                valueNiveles: this.establecer_niveles(rowSelected.NIVELES_CATEDRATICO),\r\n                rowsOferta: this.establecer_oferta(rowSelected.CUENTA_CATEDRATICO),\r\n                valueTab: 0,\r\n                tipo_proceso: 2,\r\n                openModal: true });\r\n\r\n\r\n}\r\n\r\ndeleteEvent = ()=>{\r\n\r\n if (funciones.isEmpty(this.state.idRowSelected))\r\n  return;\r\n\r\n this.setState({ tipo_proceso: 3,\r\n                 openModalConfirm: true });\r\n}\r\n\r\nhandleCloseConfirm = ()=>{\r\n this.setState({ openModalConfirm: false });\r\n}\r\n\r\nestablecer_ubicaciones = async (id_municipio, id_colonia)=>{ \r\n const ub = this.ubicaciones.filter(x => x.ID_MUNICIPIO === id_municipio)[0];\r\n \r\n if (ub === undefined){\r\n  this.setState({ valuePais: null,\r\n                  optionsDep: [], \r\n                  valueDep: null,\r\n                  optionsMun: [], \r\n                  valueMun: null,\r\n                  optionsCol: [], \r\n                  valueCol: null });\r\n  return;\r\n }\r\n\r\n const valuePais = this.state.optionsPais.find(x => x.ID_PAIS === ub.ID_PAIS); \r\n await Promise.resolve(this.onChangePais({}, valuePais));\r\n \r\n const valueDep = this.state.optionsDep.find(x => x.ID_DEPARTAMENTO === ub.ID_DEPARTAMENTO);\r\n await Promise.resolve(this.onChangeDep({}, valueDep));\r\n\r\n const valueMun = this.state.optionsMun.find(x => x.ID_MUNICIPIO === ub.ID_MUNICIPIO);\r\n await Promise.resolve(this.onChangeMun({}, valueMun));\r\n\r\n if (funciones.isEmpty(id_colonia))\r\n  return;\r\n\r\n const valueCol = this.state.optionsCol.find(x => x.ID_COLONIA === id_colonia);\r\n this.onChangeCol({}, valueCol);\r\n\r\n}\r\n\r\nestablecer_titulos = (id_titulos)=>{\r\n\r\nif (funciones.isEmpty(id_titulos))\r\n return [];\r\n\r\nlet titulos = [];\r\nid_titulos.split(\",\").map((item)=>{\r\n  if (item.length > 0)\r\n    titulos.push(this.state.optionsTitulos.find(x => x.ID_TITULO === parseInt(item)));\r\n\r\n  return item;\r\n});\r\n\r\nreturn titulos;\r\n\r\n}\r\n\r\nestablecer_idiomas = (id_idiomas)=>{\r\n\r\nif (funciones.isEmpty(id_idiomas))\r\n  return [];\r\n\r\nlet idiomas = [];\r\nid_idiomas.split(\",\").map((item)=>{\r\n  if (item.length > 0)\r\n   idiomas.push(this.state.optionsIdiomas.find(x => x.ID_IDIOMA_DOCENTE === parseInt(item)));\r\n  \r\n  return item;\r\n});\r\n  \r\nreturn idiomas;\r\n\r\n}\r\n\r\nestablecer_cursos_recibidos = (cuenta)=>{ \r\n  \r\n  let cursos = [];\r\n\r\n  if (cuenta !== undefined){\r\n    const cursos_docente = this.cursos_docentes.filter(x => x.CUENTA_CATEDRATICO === cuenta);\r\n    cursos_docente.map((item)=>{\r\n      cursos.push({ ID_CURSO_DOCENTE: item.ID_CURSO_DOCENTE, DESCRIPCION: item.DESCRIPCION });\r\n      return item;\r\n    });\r\n    \r\n  }\r\n     \r\n  cursos.push({ ID_CURSO_DOCENTE: 0, DESCRIPCION: \"Click para agregar...\" });\r\n  return cursos;\r\n}\r\n\r\nestablecer_niveles = (id_niveles)=>{\r\n\r\n if (funciones.isEmpty(id_niveles))\r\n  return [];\r\n\r\nlet niveles = [];\r\nlet nivel;\r\nid_niveles.split(\",\").map((item)=>{\r\n  if (item.length > 0 && !niveles.find(x => x.ID_NIVEL === parseInt(item))){\r\n    nivel = this.state.optionsNiveles.find(x => x.ID_NIVEL === parseInt(item));\r\n    if (nivel !== undefined)\r\n      niveles.push(nivel);\r\n  }\r\n    \r\n  return item;\r\n});\r\n    \r\nreturn niveles;\r\n\r\n}\r\n\r\nestablecer_oferta = (cuenta)=>{\r\n\r\nconst rowsOferta = this.oferta_docentes.filter(x => x.CUENTA_CATEDRATICO === cuenta);\r\n\r\nreturn rowsOferta;\r\n\r\n}\r\n\r\nactualizar_cursos_docentes = (cuenta)=>{\r\n\r\nconst {rowsCursos} = this.state;\r\nthis.cursos_docentes = this.cursos_docentes.filter(x => x.CUENTA_CATEDRATICO !== cuenta);\r\n\r\nrowsCursos.map((item, index)=>{ \r\n  if (item.ID_CURSO_DOCENTE !== 0)\r\n  this.cursos_docentes.push({ ID_CURSO_DOCENTE: index + 1,\r\n                              DESCRIPCION: item.DESCRIPCION,\r\n                              CUENTA_CATEDRATICO: cuenta });\r\n return item;\r\n});\r\n\r\n}\r\n\r\nhandleClose = ()=>{\r\n this.setState({ openModal: false }); \r\n}\r\n\r\nhandleChangeTab = async (event, newValue)=>{ \r\n  if (movil) \r\n    this.quitar_eventos_contenedor();\r\n\r\n  await Promise.resolve(this.setValuesTab(this.state.valueTab));\r\n  this.setState({ valueTab: newValue });\r\n}\r\n\r\nhandleChangeIndexTab = async (index)=>{\r\n  if (movil) \r\n   this.quitar_eventos_contenedor();\r\n\r\n  await Promise.resolve(this.setValuesTab(this.state.valueTab));\r\n  this.setState({ valueTab: index });\r\n}\r\n\r\nsetValuesTab = (index)=>{\r\n \r\n switch (index) { \r\n  case 0: \r\n    const nombres = this.input1Ref.current.value;\r\n    const pApellido = this.input2Ref.current.value;\r\n    const sApellido = this.input3Ref.current.value;\r\n    const identidad = this.input4Ref.current.value;\r\n    const sSocial = this.input5Ref.current.value;\r\n    const tel1 = this.input6Ref.current.value;\r\n    const tel2 = this.input7Ref.current.value;\r\n    const email1 = this.input8Ref.current.value;\r\n    const email2 = this.input9Ref.current.value;\r\n    const conyuge = this.input10Ref.current.value;\r\n    const direccion = this.input11Ref.current.value;\r\n    this.setState({ nombres,\r\n                    pApellido,\r\n                    sApellido, \r\n                    identidad,\r\n                    sSocial,\r\n                    tel1,\r\n                    tel2,\r\n                    email1,\r\n                    email2,\r\n                    conyuge,\r\n                    direccion });\r\n\r\n    break;\r\n  case 1: \r\n    const codigoRRHH = this.input1Ref.current.value;\r\n    const seccion = this.input2Ref.current.value;\r\n    const seccUV = this.input3Ref.current.value;\r\n    const asignaturas = this.input4Ref.current.value;\r\n    const asigUV = this.input5Ref.current.value;\r\n    const observaciones = this.input6Ref.current.value;\r\n    this.setState({ codigoRRHH,\r\n                    seccion,\r\n                    seccUV,\r\n                    asignaturas,\r\n                    asigUV,\r\n                    observaciones });\r\n\r\n    break;\r\n  case 3: \r\n    const exp = this.input1Ref.current.value;\r\n    this.setState({ exp });\r\n    break;\r\n  default:\r\n    break;\r\n\r\n }\r\n\r\n}\r\n\r\nagregar_eventos_contenedor=()=>{\r\n  \r\n  let n = 1; \r\n  while(n < 4){\r\n     if (!funciones.isEmpty(this[\"container\"+String(n)+\"Ref\"].current)){\r\n       this[\"container\"+String(n)+\"Ref\"].current.addEventListener('touchstart', (e)=>{ e.stopPropagation() }, { passive: true });\r\n       this[\"container\"+String(n)+\"Ref\"].current.addEventListener('touchmove', (e)=>{ e.stopPropagation() }, { passive: true });\r\n       this[\"container\"+String(n)+\"Ref\"].current.addEventListener('touchend', (e)=>{ e.stopPropagation() }, { passive: true });\r\n     }\r\n     n++;\r\n  }\r\n  \r\n}\r\n\r\nquitar_eventos_contenedor = ()=>{\r\n  let n = 1;\r\n  while(n < 4){\r\n     if (!funciones.isEmpty(this[\"container\"+String(n)+\"Ref\"].current)){\r\n       this[\"container\"+String(n)+\"Ref\"].current.removeEventListener('touchstart', (e)=>{ e.stopPropagation() }, { passive: true });\r\n       this[\"container\"+String(n)+\"Ref\"].current.removeEventListener('touchmove', (e)=>{ e.stopPropagation() }, { passive: true });\r\n       this[\"container\"+String(n)+\"Ref\"].current.removeEventListener('touchend', (e)=>{ e.stopPropagation() }, { passive: true });\r\n     }\r\n     n++;\r\n  }\r\n}\r\n\r\nonTransitionEnd = () => {  \r\n  \r\n  if (movil){\r\n    this.agregar_eventos_contenedor();\r\n    this.focusRef = undefined;\r\n    return;\r\n  }\r\n\r\n  if (this.focusRef !== undefined){\r\n    this.focusRef.current.focus();\r\n    this.focusRef = undefined;\r\n    return;\r\n  }\r\n\r\n  switch (this.state.valueTab) { \r\n     case 0: \r\n       this.input1Ref.current.focus(); \r\n       break;\r\n     case 1: \r\n       this.input1Ref.current.focus(); \r\n       break;\r\n     case 2:\r\n       this.vtRef.current.scrollToRow(0);\r\n      break;\r\n     case 3: \r\n       this.input1Ref.current.focus()\r\n        break;\r\n     default:\r\n       break;\r\n  }\r\n \r\n  this.focusRef = undefined;\r\n\r\n}\r\n\r\nhandleChangeSelect = async (event)=>{\r\n  const {value, name} = event.target;\r\n  await Promise.resolve(this.setState({ [\"selected\"+name]: value }));\r\n\r\n  if (name === \"Tipo\"){\r\n   this.input4Ref.current.value = null;\r\n   this.input4Ref.current.focus(); \r\n  }\r\n\r\n\r\n}\r\n\r\nhandleDateChange = (date)=>{ \r\n\r\n if (String(date) !== \"Invalid Date\")\r\n   this.setState({ fechaNac: date });\r\n}\r\n\r\nonEntering = ()=>{\r\n\r\n  if (!movil)\r\n    this.input1Ref.current.focus();\r\n\r\n}\r\n\r\nonChangePais = (event, value) =>{\r\n\r\nthis.setState({ valuePais: value }, ()=>{\r\n  this.onChangeDep({}, null);\r\n  this.setState({ optionsDep: [] });\r\n  \r\n  if (value === null)\r\n   return;\r\n  \r\n  let optionsDep = [];\r\n  this.ubicaciones.filter(x => x.ID_PAIS === value.ID_PAIS && x.ID_DEPARTAMENTO !== null).map((item)=>{\r\n    if (!optionsDep.find(x => x.ID_DEPARTAMENTO === item.ID_DEPARTAMENTO))\r\n     optionsDep.push({ ID_DEPARTAMENTO: item.ID_DEPARTAMENTO, \r\n                       NOMBRE_DEPARTAMENTO: item.NOMBRE_DEPARTAMENTO,\r\n                       ESTADO_DEPARTAMENTO: item.ESTADO_DEPARTAMENTO });\r\n\r\n    return item;\r\n  }); \r\n  this.setState({ optionsDep });\r\n\r\n});\r\n}\r\n\r\nonChangeDep = (event, value) =>{\r\n this.setState({ valueDep: value }, ()=>{\r\n    this.onChangeMun({}, null);\r\n    this.setState({ optionsMun: [] });\r\n  \r\n    if (value === null)\r\n     return;\r\n\r\n    let optionsMun = [];\r\n    this.ubicaciones.filter(x => x.ID_DEPARTAMENTO === value.ID_DEPARTAMENTO && x.ID_MUNICIPIO !== null).map((item)=>{\r\n    if (!optionsMun.find(x => x.ID_MUNICIPIO === item.ID_MUNICIPIO))\r\n     optionsMun.push({ ID_MUNICIPIO: item.ID_MUNICIPIO, \r\n                       NOMBRE_MUNICIPIO: item.NOMBRE_MUNICIPIO,\r\n                       ESTADO_MUNICIPIO: item.ESTADO_MUNICIPIO });\r\n\r\n     return item;\r\n    }); \r\n    this.setState({ optionsMun });\r\n\r\n });\r\n}\r\n\r\nonChangeMun = (event, value) =>{ \r\n this.setState({ valueMun: value }, ()=>{ \r\n    this.onChangeCol({}, null);\r\n    this.setState({ optionsCol: [] });\r\n\r\n    if (value === null)\r\n     return;\r\n    \r\n    let optionsCol = [];\r\n    this.ubicaciones.filter(x => x.ID_MUNICIPIO === value.ID_MUNICIPIO && x.ID_COLONIA !== null).map((item)=>{\r\n    if (!optionsCol.find(x => x.ID_COLONIA === item.ID_COLONIA))\r\n     optionsCol.push({ ID_COLONIA: item.ID_COLONIA, \r\n                       DESCRIPCION_COLONIA: item.DESCRIPCION_COLONIA,\r\n                       ESTADO_COLONIA: item.ESTADO_COLONIA });\r\n\r\n     return item;\r\n    }); \r\n    this.setState({ optionsCol });\r\n\r\n  });\r\n}\r\n\r\nonChangeCol = (event, value) =>{ \r\n  this.setState({ valueCol: value });\r\n}\r\n\r\nhandleDateChangeIng = (date)=>{ \r\n \r\n  if (String(date) !== \"Invalid Date\")\r\n   this.setState({ fechaIng: date });\r\n}\r\n\r\nhandleDateChangeEgr = (date)=>{ \r\n\r\n if (String(date) !== \"Invalid Date\")\r\n  this.setState({ fechaEgr: date });\r\n}\r\n\r\nhandleChangeCheck = (event)=>{\r\n  const {checked, name} = event.target;\r\n  this.setState({ [\"checked\"+name]: checked });\r\n}\r\n\r\nonChangeIdiomas = (event, valueIdiomas)=>{\r\n this.setState({ valueIdiomas });\r\n}\r\n\r\nonChangeTitulos = (event, valueTitulos)=>{ \r\n  this.setState({ valueTitulos });\r\n}\r\n\r\ncommitChanges = ({ changed }) => { \r\n\r\n  let nuevo = false;\r\n  let rowsCursos = [];\r\n  if (changed[0] !== undefined){ \r\n\r\n   if (funciones.isEmpty(changed[0].DESCRIPCION)) return;\r\n\r\n   nuevo = true;\r\n   rowsCursos = this.state.rowsCursos.filter(x => x.ID_CURSO_DOCENTE !== 0);\r\n   rowsCursos.push({ ID_CURSO_DOCENTE: this.obtener_indice_nuevo(rowsCursos), DESCRIPCION: changed[0].DESCRIPCION});\r\n   rowsCursos.push({ ID_CURSO_DOCENTE: 0, DESCRIPCION: \"Click para agregar...\"  });\r\n  }\r\n  else{\r\n    let index = 0;\r\n    Object.entries(changed).forEach(([value]) => {\r\n      index = value;\r\n    });\r\n    if (changed[index] === undefined || funciones.isEmpty(changed[index].DESCRIPCION)) return;\r\n    \r\n    rowsCursos = this.state.rowsCursos.map(row => (changed[row.ID_CURSO_DOCENTE] ? { ...row, ...changed[row.ID_CURSO_DOCENTE] } : row));\r\n  }\r\n\r\n  this.setState({ rowsCursos }, ()=>{\r\n    if (nuevo)\r\n    this.vtRef.current.scrollToRow(0);\r\n  }); \r\n  \r\n}\r\n\r\nobtener_indice_nuevo = (cursos)=>{ \r\n  const cursos_nuevos = cursos.filter(x => x.ID_CURSO_DOCENTE < 0);\r\n\r\n  if (cursos_nuevos.length > 0)\r\n   return cursos_nuevos[cursos_nuevos.length - 1].ID_CURSO_DOCENTE - 1;\r\n  else\r\n   return - 1;\r\n}\r\n\r\ncancelar_titulo = (id_titulo)=>{\r\n  const valueTitulos = this.state.valueTitulos.filter(x => x.ID_TITULO !== id_titulo);\r\n  this.setState({ valueTitulos }); \r\n}\r\n\r\ncancelar_idioma = (id_idioma)=>{\r\n  const valueIdiomas = this.state.valueIdiomas.filter(x => x.ID_IDIOMA_DOCENTE !== id_idioma);\r\n  this.setState({ valueIdiomas }); \r\n}\r\n\r\ncancelar_curso = (id_curso_docente)=>{\r\nconst rowsCursos = this.state.rowsCursos.filter(x => x.ID_CURSO_DOCENTE !== id_curso_docente);\r\nthis.setState({ rowsCursos });\r\n\r\n}\r\n\r\nonChangeNiveles = (event, valueNiveles)=>{ \r\n this.setState({ valueNiveles });\r\n}\r\n\r\ncancelar_nivel = (id_nivel)=>{\r\n const valueNiveles = this.state.valueNiveles.filter(x => x.ID_NIVEL !== id_nivel);\r\n this.setState({ valueNiveles }); \r\n}\r\n\r\ngenerar_cuenta = async ()=>{\r\n\r\nif (!funciones.isEmpty(this.state.cuenta))\r\n return;\r\n\r\nawait Promise.resolve(this.setValuesTab(this.state.valueTab)); \r\n\r\nif (!this.validaciones_cuenta())\r\n return;\r\n\r\nthis.setState({ loadingCuenta: true }, ()=>{ \r\n  const params = this.obtener_valores_principales();\r\n  this.catedraticos(params, \"loadingCuenta\");\r\n});\r\n\r\n}\r\n\r\nvalidaciones_cuenta = ()=>{\r\n\r\nconst r = false;\r\n\r\nif (funciones.isEmpty(this.state.nombres)){\r\n  funciones.showToast(\"w\", \"Los nombres son necesarios\");\r\n  if (this.state.valueTab === 0)\r\n   this.input1Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.input1Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nif (funciones.isEmpty(this.state.pApellido)){\r\n  funciones.showToast(\"w\", \"El primer apellido es necesario\");\r\n  if (this.state.valueTab === 0)\r\n   this.input2Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.input2Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nif (funciones.isEmpty(this.state.identidad)){\r\n  funciones.showToast(\"w\", \"La identidad es necesaria\");\r\n  if (this.state.valueTab === 0)\r\n   this.input4Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.input4Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nif (funciones.isEmpty(this.state.selectedSexo)){\r\n  funciones.showToast(\"w\", \"Seleccione el género\");\r\n  if (this.state.valueTab === 0)\r\n   this.select1Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.select1Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nif (funciones.isEmpty(this.state.fechaNac)){\r\n  funciones.showToast(\"w\", \"La fecha de nacimiento es necesaria\");\r\n  if (this.state.valueTab === 0)\r\n   this.date1Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.date1Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nif (funciones.isEmpty(this.state.tel1)){\r\n  funciones.showToast(\"w\", \"El teléfono principal es necesario\");\r\n  if (this.state.valueTab === 0)\r\n   this.input6Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.input6Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nif (funciones.isEmpty(this.state.selectedEC)){\r\n  funciones.showToast(\"w\", \"El estado civil es necesario\");\r\n  if (this.state.valueTab === 0)\r\n   this.select2Ref.current.focus();\r\n  else{\r\n    this.focusRef = this.select2Ref;\r\n    this.setState({ valueTab: 0 });\r\n  }\r\n\r\n  return r;\r\n}\r\n\r\nreturn true;\r\n\r\n}\r\n\r\ncalRemainsHeightScreen = ()=>{\r\n\r\nconst {innerHeight, innerWidth, screen} = window;\r\nconst {height, width} = screen;\r\n\r\nconst _innerHeight = innerHeight < innerWidth ? innerWidth : innerHeight;\r\nconst _height = height < width ? width : height;\r\nif (this.remainsHeightScreen === 0)\r\n  this.remainsHeightScreen = (_height - _innerHeight) + 130;\r\n\r\n\r\n}\r\n\r\nchangeFilters= filters => {  \r\n\r\n if (this.state.idRowSelected !== null)\r\n  this.setState({ idRowSelected: null });\r\n  \r\n}\r\n\r\ncatedraticos = (params, loadVar)=>{\r\n\r\n  new Request\r\n  .post(`${globales.ip}/catedraticos/cuenta`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .set('Content-Type', 'application/json')\r\n  .send({ ...params,\r\n          ad_usuario: tokenInfo.user })\r\n  .retry(0)\r\n  .timeout({ response: 20000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n           \r\n    if (err) { \r\n   \r\n     if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n     {\r\n      window.location.reload();\r\n      return;           \r\n     }\r\n         \r\n     this.setState({ [loadVar]: false }, ()=> { \r\n      funciones.showToast('e', 'No hay conexión'); \r\n     });\r\n               \r\n     return;\r\n   }\r\n         \r\n   const rows = JSON.parse(res.text);\r\n   this.setState({ [loadVar]: false }, ()=>{\r\n\r\n     if (rows[0].RESP === undefined){\r\n      const newRow = rows.find(x => Boolean(x.CUENTA_NUEVA));\r\n      if (newRow !== undefined)\r\n        this.setState({ cuenta: newRow.CUENTA_CATEDRATICO, \r\n                        email1: newRow.EMAIL1 });\r\n\r\n      this.setState({ rows }, ()=>{\r\n       if (newRow === undefined)\r\n         funciones.showToast(\"s\", \"Datos almacenados\");\r\n       else\r\n         funciones.showToast(\"s\", \"Catedrático registrado\");\r\n\r\n      });\r\n\r\n      this.actualizar_cursos_docentes((newRow !== undefined) ? newRow.CUENTA_CATEDRATICO : params.cuenta);\r\n     }      \r\n     else\r\n     funciones.showToast(\"w\", rows[0].RESP); \r\n\r\n   });\r\n\r\n });\r\n\r\n\r\n}\r\n\r\nobtener_valores_principales = ()=>{\r\n\r\nconst cuenta = !funciones.isEmpty(this.state.cuenta) ? this.state.cuenta : null;\r\nconst nombres = this.state.nombres.toUpperCase();\r\nconst apellido1 = this.state.pApellido.toUpperCase();\r\nconst apellido2 = this.state.sApellido.toUpperCase();\r\nconst tipo_identificacion = this.state.selectedTipo;\r\nconst identidad = this.state.identidad;\r\nconst sexo = this.state.selectedSexo;\r\nconst fecha_nacimiento = new Date(Date.parse(funciones.getDateSelect(this.state.fechaNac)));\r\nconst seguro_social = this.state.sSocial;\r\nconst telefono1 = parseInt(this.state.tel1);\r\nconst telefono2 = !funciones.isEmpty(this.state.tel2) ? parseInt(this.state.tel2) : null;\r\nconst id_estado = this.state.selectedEC;\r\nconst email2 = this.state.email2;\r\nconst conyuge = this.state.conyuge;\r\nconst id_colonia = !funciones.isEmpty(this.state.valueCol) ? this.state.valueCol.ID_COLONIA : null;\r\nconst direccion = this.state.direccion;\r\nconst codigo_rrhh = this.state.codigoRRHH;\r\nconst estatus = this.state.selectedEstado;\r\nconst id_sucursal = this.state.selectedSucursal;\r\nconst fecha_egreso = (this.state.fechaEgr !== null) ? new Date(Date.parse(funciones.getDateSelect(this.state.fechaEgr))) : null;\r\nconst director = this.state.checkedDir ? 1 : 0;\r\nconst carga_seccion = !funciones.isEmpty(this.state.seccion) ? parseInt(this.state.seccion) : null;\r\nconst carga_uv = !funciones.isEmpty(this.state.seccUV) ? parseInt(this.state.seccUV) : null;\r\nconst carga_tmp_cursos = !funciones.isEmpty(this.state.asignaturas) ? parseInt(this.state.asignaturas) : null;\r\nconst carga_tmp_uv = !funciones.isEmpty(this.state.asigUV) ? parseInt(this.state.asigUV) : null;\r\nconst carga_observacion = this.state.observaciones;\r\n\r\nreturn {\r\n  cuenta,\r\n  nombres, \r\n  apellido1, \r\n  apellido2, \r\n  tipo_identificacion, \r\n  identidad, \r\n  sexo,\r\n  fecha_nacimiento,\r\n  seguro_social,\r\n  telefono1,\r\n  telefono2,\r\n  id_estado,\r\n  email2,\r\n  conyuge,\r\n  id_colonia,\r\n  direccion,\r\n  codigo_rrhh,\r\n  estatus,\r\n  id_sucursal,\r\n  fecha_egreso,\r\n  director,\r\n  carga_seccion,\r\n  carga_uv,\r\n  carga_tmp_cursos,\r\n  carga_tmp_uv,\r\n  carga_observacion\r\n}\r\n\r\n\r\n}\r\n\r\nobtener_valores_titulos = ()=>{\r\n\r\nconst {valueTitulos} = this.state;\r\nlet titulos = \"\";\r\nvalueTitulos.map((item, index)=>{\r\n titulos += String(item.ID_TITULO) + ((index + 1 < valueTitulos.length) ? \",\" : \"\");\r\n  \r\n return item;\r\n});\r\n\r\nreturn (titulos === \"\" ? null : titulos);\r\n\r\n}\r\n\r\nobtener_valores_idiomas = ()=>{\r\n\r\nconst {valueIdiomas} = this.state;\r\nlet idiomas = \"\";\r\nvalueIdiomas.map((item, index)=>{\r\n idiomas += String(item.ID_IDIOMA_DOCENTE) + ((index + 1 < valueIdiomas.length) ? \",\" : \"\");\r\n    \r\n return item;\r\n});\r\n  \r\nreturn (idiomas === \"\" ? null : idiomas);\r\n\r\n}\r\n\r\nobtener_valores_cursos = ()=>{\r\n\r\nconst {rowsCursos} = this.state;\r\nlet cursos = \"\";\r\nrowsCursos.filter(x => x.ID_CURSO_DOCENTE !== 0).map((item, index)=>{\r\n  cursos += String(item.DESCRIPCION) + (((index + 1) < (rowsCursos.length - 1)) ? \"\\\\\" : \"\");\r\n\r\n return item;\r\n});\r\n    \r\nreturn (cursos === \"\" ? null : cursos);\r\n\r\n}\r\n\r\nobtener_valores_niveles = ()=>{\r\n  \r\nconst {valueNiveles} = this.state;\r\nlet niveles = \"\";\r\nvalueNiveles.map((item, index)=>{\r\n niveles += String(item.ID_NIVEL) + ((index + 1 < valueNiveles.length) ? \",\" : \"\");\r\n      \r\n return item;\r\n});\r\n    \r\nreturn (niveles === \"\") ? null : niveles;\r\n\r\n}\r\n\r\nhandleOk = async ()=>{\r\n \r\n if (funciones.isEmpty(this.state.cuenta)){\r\n  funciones.showToast(\"w\", \"Debe crear la cuenta para el catedrático\");\r\n  await Promise.resolve(this.setValuesTab(this.state.valueTab)); \r\n  this.focusRef = this.input7Ref;\r\n  this.setState({ valueTab: 1 });\r\n  return;\r\n } \r\n \r\n await Promise.resolve(this.setValuesTab(this.state.valueTab)); \r\n\r\n if (!this.validaciones_cuenta())\r\n  return;\r\n \r\nthis.setState({ openBackDrop: true }, ()=>{ \r\n \r\n const params = this.obtener_valores_principales();\r\n const experiencia = !funciones.isEmpty(this.state.exp) ? String(this.state.exp).toUpperCase() : null;\r\n const params2= {titulos: this.obtener_valores_titulos(),\r\n                 idiomas: this.obtener_valores_idiomas(),\r\n                 cursos: this.obtener_valores_cursos(),\r\n                 experiencia,\r\n                 niveles: this.obtener_valores_niveles() }\r\n                 \r\nthis.catedraticos({ ...params, ...params2 }, \"openBackDrop\");\r\n\r\n});\r\n\r\n}\r\n\r\nobtener_total_uv= (columnName)=>{\r\n\r\nlet total = 0;\r\n\r\nthis.state.rowsOferta.map((item)=>{\r\n  total += item[columnName];\r\n  return item;\r\n});\r\n\r\nreturn String(total);\r\n\r\n}\r\n\r\nhandleOkDelelte = ()=>{\r\n\r\nthis.setState({ openBackDrop: true, openModalConfirm: false }, ()=>{\r\n\r\n  const cuenta = this.state.idRowSelected;\r\n\r\n  new Request\r\n  .delete(`${globales.ip}/catedraticos`)\r\n  .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n  .set('Content-Type', 'application/json')\r\n  .send({ cuenta, \r\n          ad_usuario: tokenInfo.user })\r\n  .retry(0)\r\n  .timeout({ response: 15000, deadline: 30000, }) \r\n  .end((err, res) => {\r\n          \r\n     if (err) { \r\n  \r\n        if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n        {\r\n          window.location.reload();\r\n          return;\r\n        }\r\n        \r\n        this.setState({ openBackDrop: false }, ()=> { \r\n          funciones.showToast('e', 'No hay conexión'); \r\n        });\r\n              \r\n        return;\r\n     }\r\n        \r\n     const rows = JSON.parse(res.text);\r\n  \r\n     this.setState({ openBackDrop: false }, ()=>{\r\n      if (rows[0].RESP === undefined)\r\n        this.setState({ rows, idRowSelected: null }, ()=>{\r\n          funciones.showToast(\"s\", \"Catedrático eliminado\");\r\n        });\r\n      else\r\n        funciones.showToast(\"w\", rows[0].RESP);\r\n     });\r\n\r\n});\r\n\r\n\r\n});\r\n\r\n}\r\n\r\ncomponentDidMount() { \r\n \r\n tokenInfo = Auth.getProfile(); //Token decodificado\r\n\r\n this.setState({ isLoggin: tokenInfo.plataforma !== undefined ? true : false }, ()=>{  \r\n\r\n  if (tokenInfo.plataforma === 1) // Usuario Admin\r\n  {\r\n    this.obtener_estados_civiles();\r\n    this.obtener_tipos_identificadores();\r\n    this.obtener_ubicaciones(); \r\n    this.obtener_sucursales();\r\n    this.obtener_idiomas();\r\n    this.obtener_titulos();\r\n    this.obtener_cursos_docentes();\r\n    this.obtener_niveles();\r\n    this.obtener_oferta_docente();\r\n    this.establecer_generos();\r\n    this.establecer_estados();\r\n    this.obtener_catedraticos();\r\n\r\n  }\r\n      \r\n  this.setState({ heightTableMain: funciones.getHeightTableMain(movil, this).heightTable });\r\n  \r\n  if (movil)\r\n   this.calRemainsHeightScreen(); \r\n\r\n }); \r\n             \r\n}\r\n\r\nrender() {\r\nconst { classes } = this.props;\r\n\r\n  if (this.state.isLoggin === true)\r\n  {\r\n  return (\r\n    \r\n    <React.Fragment>\r\n      <Paper className=\"Paper-main\" square>\r\n          {\r\n            (() => {\r\n              \r\n            if (tokenInfo.plataforma === 1) //Si es Usuario Admin\r\n             {\r\n              \r\n              return (\r\n                <React.Fragment>\r\n                 <BarraBotones align='center' botones={this.botones} l={this.l} e={this.e} i={this.i}/>\r\n                 <div ref={this.tablaRef} style={{ marginLeft: !movil ? globales.tabla.marginleft : globales.tabla.marginleft_movil, marginRight: !movil ? globales.tabla.marginright : globales.tabla.marginright_movil }} className=\"disableTouchOptions\">\r\n                 <CustomTable \r\n                  Columns={columns} \r\n                  Rows={this.state.rows}                   \r\n                  TableColumnExtensions={columnExtensions}\r\n                  columnWidths={columnExtensions}\r\n                  rowSelected={this.state.idRowSelected}\r\n                  rowClick={this.handleRowClick}\r\n                  getRowId={RowId}\r\n                  VirtualTable_cellComponent={VirtualTable_cellComponent}\r\n                  height={this.state.heightTableMain} \r\n                  loading={this.state.loadingMain}\r\n                  enabledFilterRows\r\n                  showSelectionColumn\r\n                  tableSelectionCellComponent={TableSelectionCellComponent}\r\n                  onFiltersChange={this.changeFilters}           \r\n                />                  \r\n                </div>\r\n                <Dialog open= {this.state.openModal}                            \r\n                        TransitionProps={{ onEntering: this.onEntering }} \r\n                        classes={{ paper: classes.paper }}\r\n                        fullScreen={movil}>\r\n                 <DialogTitle><Typography component='span' variant='subtitle2'>Catedrático</Typography>\r\n                  <IconButton className={classes.closeButton} onClick={this.handleClose} size=\"small\">\r\n                   <CloseIcon fontSize=\"small\" />\r\n                  </IconButton>\r\n                 </DialogTitle>\r\n                 <DialogContent style={{ padding: 0, overflow: \"hidden\"}}>\r\n                 <MuiPickersUtilsProvider utils={DateFnsUtils} locale={esLocale}> \r\n                  <Paper square elevation={0} style={{ height: \"100%\"}}>\r\n                  <Tabs\r\n                   value={this.state.valueTab}\r\n                   onChange={this.handleChangeTab}\r\n                   variant=\"scrollable\"\r\n                   scrollButtons=\"auto\">\r\n                    <Tab label={TabLabel(\"Datos personales\")} className={classes.tab} />\r\n                    <Tab label={TabLabel(\"Datos universitarios\")} className={classes.tab} />\r\n                    <Tab label={TabLabel(\"Estudios\")} className={classes.tab} disabled={funciones.isEmpty(this.state.cuenta)}/>\r\n                    <Tab label={TabLabel(\"Experiencia\")} className={classes.tab} disabled={funciones.isEmpty(this.state.cuenta)}/>\r\n                    <Tab label={TabLabel(\"Académico\")} className={classes.tab} disabled={funciones.isEmpty(this.state.cuenta)} />\r\n                    <Tab label={TabLabel(\"Cursos actuales\")} className={classes.tab} disabled={funciones.isEmpty(this.state.cuenta)} />\r\n                   </Tabs>\r\n                   <SwipeableViews\r\n                     axis={classes.theme.direction === 'rtl' ? 'x-reverse' : 'x'}\r\n                     index={this.state.valueTab}\r\n                     onTransitionEnd={this.onTransitionEnd}\r\n                     onChangeIndex={this.handleChangeIndexTab}\r\n                     containerStyle={{ transition: 'transform 0.35s cubic-bezier(0.15, 0.3, 0.25, 1) 0s' }}\r\n                     >\r\n                    <TabPanel value={this.state.valueTab} index={0} dir={classes.theme.direction} remainsHeight={this.remainsHeightScreen}>\r\n                     <DatosPersonales _this={this} classes={classes}/>\r\n                    </TabPanel>\r\n                    <TabPanel value={this.state.valueTab} index={1} dir={classes.theme.direction} remainsHeight={this.remainsHeightScreen}>\r\n                     <DatosUniversitarios _this={this} classes={classes} />\r\n                    </TabPanel>\r\n                    <TabPanel value={this.state.valueTab} index={2} dir={classes.theme.direction} remainsHeight={this.remainsHeightScreen}>\r\n                     <Estudios _this={this} />\r\n                    </TabPanel>\r\n                    <TabPanel value={this.state.valueTab} index={3} dir={classes.theme.direction} remainsHeight={this.remainsHeightScreen}>\r\n                     <Experiencia _this={this} />\r\n                    </TabPanel>\r\n                    <TabPanel value={this.state.valueTab} index={4} dir={classes.theme.direction} remainsHeight={this.remainsHeightScreen}>\r\n                     <Academico _this={this} />\r\n                    </TabPanel>\r\n                    <TabPanel value={this.state.valueTab} index={5} dir={classes.theme.direction} remainsHeight={this.remainsHeightScreen}>\r\n                     <CursosActuales _this={this} />\r\n                    </TabPanel>\r\n                    </SwipeableViews>\r\n                  </Paper> \r\n                  </MuiPickersUtilsProvider> \r\n                 </ DialogContent>\r\n                 <DialogActions style={{ maxHeight: 69 }}>\r\n                   <BarraBotones botones={this.botones_agregar} />                  \r\n                 </DialogActions>\r\n                </Dialog>\r\n\r\n                <Dialog open={this.state.openBackDrop ? false : this.state.openModalConfirm}\r\n                        classes={{ paper: classes.paperConfirm }}>\r\n                 <DialogTitle><Typography component='span' variant='subtitle2'>Catedrático</Typography>\r\n                   <IconButton className={classes.closeButton} onClick={this.handleCloseConfirm} size=\"small\">\r\n                    <CloseIcon fontSize=\"small\" />\r\n                   </IconButton>\r\n                 </DialogTitle>\r\n                 <DialogContent style={{ paddingTop: \"20px\", textAlign: \"center\" }}>\r\n                   <Typography variant=\"body1\" gutterBottom>                \r\n                   ¿Desea eliminar el catedrático?\r\n                   </Typography>    \r\n                  </DialogContent>                       \r\n                  <DialogActions style={{ marginTop: '20px'}}>\r\n                    <BarraBotones botones={this.botones_eliminar} />\r\n                    </DialogActions>\r\n                  </Dialog>\r\n\r\n                  <Backdrop className={classes.backdrop} open={this.state.openBackDrop}>                                       \r\n                    <CircularProgress color=\"inherit\" />\r\n                    <span style={{ marginTop: '10px' }}>{this.state.tipo_proceso < 3 ? \"Guardando...\" : \"Eliminando...\"}</span>\r\n                  </Backdrop>\r\n                  <Backdrop open={this.state.loadingMain || this.state.loadingCuenta}\r\n                            className={classes.backdrop} \r\n                            invisible \r\n                            transitionDuration={0}/>\r\n\r\n                </React.Fragment>\r\n              );\r\n\r\n             }             \r\n             \r\n          })()}\r\n        </Paper>\r\n      </React.Fragment>\r\n  );\r\n  }\r\nelse if (this.state.isLoggin === false)\r\n{\r\n  //Auth.logout();\r\n  window.location.reload();\r\n  return; //((<Redirect to=\"/login\"/>))\r\n}\r\nreturn null;\r\n\r\n}//FIN RENDER\r\n}\r\n\r\n)"],"sourceRoot":""}