{"version":3,"sources":["pages/registro/Historicos_Academicos.js","pages/registro/Rectificaciones/ingreso_rectificacion.js"],"names":["Auth","AuthService","tokenInfo","movil","test","navigator","userAgent","colorEqu","planes","widthTable","window","screen","width","globales","tabla","marginleft","marginright","columns","name","title","columnExtensions","columnName","align","grouping","columnsInfo","columnExtensionsInfo","settingFilter","predicate","value","filter","row","funciones","getTime","IntegratedFiltering","defaultPredicate","RowId","ID_SECCION_CLIENTE","VirtualTable_cellComponent","props","colorFont","ESTATUS_ACADEMICO","undefined","_jsx","Table","Cell","style","color","VirtualTable_cellComponentInfo","classes","_ref","column","promType","LABEL","toLowerCase","includes","border","_jsxs","paddingTop","paddingBottom","height","display","alignItems","children","Tooltip","PopperProps","zIndex","placement","arrow","InfoIcon","marginLeft","colores","color_iconos_SL","className","customCellBold","paddingLeft","GroupCellContent","_ref2","search","parseInt","RenderOption","option","flexDirection","ListItemAvatar","minWidth","Avatar","PersonIcon","size","CUENTA_ALUMNO","NOMBRE_COMPLETO","DataTypeProviders","DataTypeProvider","for","formatterComponent","_ref5","withStyles","theme","container","justifyContent","spacing","paddingRight","textField","marginRight","formControlSelect","textAlign","paper","borderRadius","border_dialog","maxWidth","maxHeight","paperDetail","minHeight","closeButton","position","right","top","palette","grey","small","fontSize","divDetailLoading","divDetail","azul","fontWeight","tooltip","divInfo","marginBottom","marginTop","backdrop","React","Component","constructor","super","tablaRef","createRef","tablaInfoRef","planesRef","rowRef","tablaDetailRef","dialogAction2Ref","dialogRef","drawInnerText","chart","ctx","restore","font","textBaseline","text","config","options","centerText","textX","Math","round","measureText","textY","fillStyle","naranja","fillText","save","drawLabelsPoints","this","state","rowsDetail","length","indexDataset","Object","keys","data","datasets","_meta","map","item","dataset","_this","labelDraw","totalPoints","forEach","points","index","FECHA_APLICO_NOTA","find","x","ID_PONDERACION","VALOR","PORCENTAJE","lessIdExtra","ID_CALIFICACION","fillRect","_view","y","selectionPlanEstudio","arrayPlanes","ID_PLAN","select","ESTADO","toString","trim","toUpperCase","handleChangeCuenta","event","cuenta","plataforma","user","valueAutoComplete","setState","loadingPlanes","Request","get","ip","set","getToken","retry","timeout","response","deadline","end","err","res","substr","location","reload","selectedPlan","datosSelectPlan","rows","idRowSelected","showToast","JSON","parse","niveles","datosSelect","i","ID_NIVEL","push","label","DESCRIPCION_NIVEL","itemx","j","DESCRIPCION_PLAN","estado","datosSelect_","MenuItem","handleChangePlan","obtenerHistorial","id_plan","loadingMain","expandedGroups","foundAnio","foundPeriodo","allGroups","anio","ANIO","periodo","PERIODO","obtenerTotalCumplidas","totalCumplidas","TOTAL_CUMPLIDAS","obtenerPromedios","rowsInfo","loadingInfo","VALUE","CODIGO_PLAN","TOTAL_CURSOS_PLAN","PROMEDIO_GRADUACION","toFixed","PROMEDIO_HISTORICO","async","target","Promise","resolve","changeExpandedGroups","handleCloseInfo","openModalInfo","onEnteringInfo","recorrido","chartData","labels","backgroundColor","hoverBackgroundColor","hoverBorderColor","borderColor","chartOptions","maintainAspectRatio","legend","fullWidth","onClick","plugins","render","args","precision","fontColor","showZero","tooltips","enabled","animation","easing","handleCloseDetail","openModalDetail","chartDetailData","onEnteringDetail","loadingDetail","extraValue","availableExtra","EXTRAORDINARIO","PERMITE_EXTRAORDINARIO","labelChart","dataChart","PONDERACION","parseFloat","fill","lineTension","azul_rgb","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","onChangeAutocomplete","openAutoComplete","filtersClientes","optionAutocomplete","loadingClientes","onBlurAutoComplete","handleRowDetailsClick","preventDefault","DESCRIPCION_CURSO","split","titleDetail","handleClickInfo","isEmpty","handleRowClick","IdSeccionCliente","onChangeInput","e","isLoggin","heightTableMain","tableDetailHeight","chartDetailOptions","scales","yAxes","ticks","beginAtZero","steps","stepValue","max","callback","layout","padding","callbacks","tooltipItems","componentDidMount","getProfile","getHeightTableMain","heightTable","current","focus","document","getElementById","Chart","pluginService","register","afterDraw","afterDatasetsDraw","Fragment","Paper","square","Autocomplete","id","getOptionLabel","renderInput","params","TextField","variant","onBlur","InputProps","endAdornment","Fade","in","transitionDelay","unmountOnExit","CircularProgress","renderOption","onChange","open","loading","ListboxComponent","virtual","disableClearable","onInputChange","popupIcon","PaperComponent","elevation","Select","Label","Datos","Selected","Style","Outlined","Ref","ref","marginleft_movil","marginright_movil","CustomTable","Columns","Rows","Grouping","TableColumnExtensions","columnWidths","DefaultHiddenColumnNames","ExpandedGroups","ChangeExpandedGroups","getRowId","rowSelected","rowClick","enabledFilterRows","rowHeaderCellComponent","Icon","SchoolIcon","color_iconos","ToolTipText","_ref4","resizingEnabled","TableHeaderRow","IconButton","left","groupContentComponent","stubCellComponentTable","_ref3","colSpan","tableRow","type","tableColumn","StubCell","TimelineIcon","ETIQUETA","LabelImportantIcon","cursor","key","FilteringColumnExtensions","Dialog","TransitionProps","onEntering","fullScreen","DialogTitle","Typography","component","Box","lineHeight","m","CloseIcon","Pie","disableHeader","disableBoxShadow","disabledAlternateRowColor","DialogActions","PaperProps","DialogContent","overflowY","Line","background","Backdrop","invisible","transitionDuration","StubCellComponentTable","currentnota","movil_pequeño","isVisibleRowSelected","colorRowSelected","selection","alternateColorRow1","alternateColorRow2","ListboxComponent_periodos","getRowId_notas","clone","obj","temp","styles","margin","columns_notas","tableColumnExtensions","wordWrapEnabled","innerWidth","tableColumnExtensions_notas","createMuiTheme","overrides","MuiDialogTitle","root","defaultHiddenColumnNames_notas","defaultHiddenColumnNames","HeaderRowCellComponent_nota","valueStudent","handleClickmodificar","disabled","Icono","icono","borderLeft","totalSummaryItems","VirtualTable_cellComponent_notas","borderRight","NUEVA","notaRef","handleClickrectificar","open_rectificar","consulta_parciales","open_modificar","igual","optionAutocompleteAdd","isLoadingClientes","isSaving","onBlurAutoCompleteAdd","openAutoCompleteAdd","onBlurAutoCompleteAdd_periodos","openAutoCompleteAdd_periodos","onChangeAutocompleteAdd","valueAutoCompleteAdd","consulta_periodos","onChangeAutocompleteAdd_periodos","valueAutoCompleteAdd_periodos","consulta_clases","onChangeInput_periodos","ID_CONTROL_MATRICULA","cuenta_alumno","post","send","USUARIO","openBackDrop","optionAutocompleteAdd_periodos","openAutoComplete_periodos","isLoading_periodos","isSaving_periodos","tmp","ex","consulta_notafinal","rows_notas","rows_notas_original","cancelar","valor_nuevo","valor_actual","selection_nota","cancelar_modificar","cadena","temporal","isloading_notas","VALORES_TEMPORALES","TEMPORAL","onChangenota","errornota","guardamodificar","rowss","array","element","guardarectificacion","stringify","open_confirmacion","acepto_confirmacion","VALORES","RESP","handleClose_confirmacion","l","actualizarbarra","actualizarcircular","filteringColumnExtensions","filters","expandedRowIds","selection_cm","open_rectificar_nota","trow","TableRow","highlighted","rowIndex","selectByRowClick","odd","r","Row","clickselection","onDoubleClick","dblclickselection","trow_notas","clickselection_notas","DESCRIPCION_PONDERACION","dblclickselection_notas","botones_rectificar","toolt","nombre","escritura","onclick","botones_modificar","readOnly","noOptionsText","loadingText","disableListWrap","autoHighlight","clearText","openText","closeText","popper","DESCRIPCION","Selection","ExpandedRowIds","RowComponent","standarPlugin","TableRowsIndexer","showSelectionColumn","onEscapeKeyDown","totalItems","totalCellComponent","inputProps","BarraBotones","botones","BackdropProps","FormControlLabel","control","maxLength","labelPlacement","focused","autoFocus","error","defaultValue","onKeyDown","onlyNumbers","InputLabelProps","shrink","MuiThemeProvider","scroll","dividers","DialogContentText","tabIndex","Button","textTransform","logout","TotalCellComponent"],"mappings":"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","file":"static/js/main~1010f61e.83ac2ca2.chunk.js","sourcesContent":["import React from 'react';\r\nimport CustomTable from '../../components/CustomTable';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport {globales, colores, funciones} from '../../global';\r\nimport AuthService from '../../AuthService';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport Select from '../../components/Select';\r\nimport Request from 'superagent';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\n//import ListSubheader from '@material-ui/core/ListSubheader';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport {Table} from '@devexpress/dx-react-grid-material-ui';\r\nimport {TableHeaderRow} from '@devexpress/dx-react-grid-material-ui';\r\nimport {DataTypeProvider, IntegratedFiltering} from '@devexpress/dx-react-grid';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport SchoolIcon from '@material-ui/icons/School';\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 { Pie, Chart, Line } from 'react-chartjs-2';\r\nimport Typography from '@material-ui/core/Typography'\r\nimport Box from '@material-ui/core/Box';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport TimelineIcon from '@material-ui/icons/Timeline';\r\nimport LabelImportantIcon from '@material-ui/icons/LabelImportant';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport {virtual} from '../../components/VirtualListBox';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\r\nimport Fade from '@material-ui/core/Fade';\r\n//import { Divider } from '@material-ui/core';\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\nlet colorRep = '#CB4335';\r\nlet colorEqu = '#886F0B';\r\nlet colorRet = '#7D3C98';\r\nlet colorCur = '#229954';\r\nlet colorAus = '#D35400';\r\nlet colorProped = '#0e4682';\r\nlet planes = [];\r\n\r\nconst styles = theme => ({\r\ncontainer: {\r\n display: 'flex',\r\n justifyContent: !movil ? 'center' : undefined, \r\n alignItems: \"center\",\r\n flexDirection: !movil ? \"row\" : \"column\",\r\n paddingTop: \"2px\",\r\n paddingBottom: \"5px\", \r\n paddingLeft: theme.spacing(1),\r\n paddingRight: theme.spacing(1)\r\n},\r\ntextField: {\r\n marginRight: !movil ? theme.spacing(1) : undefined, \r\n},\r\nformControlSelect: {\r\n width: movil ? '100%' : '430px', \r\n marginLeft: !movil ? theme.spacing(1) : undefined, \r\n textAlign: 'left',\r\n},\r\npaper: { \r\n borderRadius: globales.border_dialog,\r\n minWidth: !movil ? '420px' : undefined,\r\n maxWidth: !movil ? '420px' : undefined,\r\n height: !movil ? '620px' : undefined,\r\n maxHeight: !movil ? '95%' : undefined,\r\n},\r\npaperDetail: { \r\n borderRadius: globales.border_dialog,\r\n minHeight: !movil ? '490px' : undefined,\r\n maxHeight: !movil ? '490px' : undefined,\r\n minWidth: !movil ? '717px' : undefined,\r\n maxWidth: !movil ? '717px' : undefined,\r\n},\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\nsmall: {\r\n width: theme.spacing(3),\r\n height: theme.spacing(3),\r\n marginLeft: '30px',\r\n fontSize: '12px'\r\n},\r\ndivDetailLoading: {\r\n width: '100%', \r\n height: '100%', \r\n display: 'flex', \r\n alignItems: 'center', \r\n justifyContent: 'center'\r\n},\r\ndivDetail:{\r\n width: '100%', \r\n height: '100%',\r\n},\r\ncustomCellBold: {\r\n color: colores.azul,\r\n fontWeight: 'bold'\r\n},\r\ntooltip: {\r\n maxWidth: !movil ? 'none' : undefined,\r\n},\r\ndivInfo: {\r\npaddingBottom: '0px', \r\nmarginBottom:'0px', \r\nmarginTop: \"0px\", \r\npaddingLeft: '10px', \r\npaddingRight: '10px', \r\nmarginLeft: '8px', \r\nmarginRight: '8px',\r\n},\r\nbackdrop: {\r\n zIndex: 500000,\r\n color: '#fff', \r\n flexDirection: 'column'\r\n},\r\n\r\n});\r\nconst widthTable = !movil ? window.screen.width - (globales.tabla.marginleft + globales.tabla.marginright) : 1336;\r\nconst columns=[ \r\n { name: 'ICON', title: 'ICON'},\r\n { name: 'ANIO', title: 'Año'},\r\n { name: 'PERIODO', title: 'Período'},\r\n { name: 'CODIGO_CURSO', title: 'Código'},\r\n { name: 'DESCRIPCION_CURSO', title: 'Descripción'},\r\n { name: 'CREDITOS', title: 'Uv'}, \r\n { name: 'NOTA', title: 'Nota'},\r\n { name: 'ESTATUS', title: 'Estado'},\r\n { name: 'ID_SECCION_CLIENTE', title: 'ID_SECCION_CLIENTE'},\r\n { name: 'DIAS', title: 'Dias' },\r\n { name: 'INICIO', title: 'Desde'},\r\n { name: 'FIN', title: 'Hasta'},\r\n { name: 'CATEDRATICO', title: 'Catedrático' },\r\n { name: 'ETIQUETA', title: 'ETIQUETA'}\r\n ];\r\nconst columnExtensions = [\r\n { columnName: 'ICON', width: 1},\r\n { columnName: 'CODIGO_CURSO', width: widthTable * 0.09},\r\n { columnName: 'DESCRIPCION_CURSO', width: widthTable * 0.22 }, \r\n { columnName: 'CREDITOS', width: widthTable * 0.06, align: 'center'},\r\n { columnName: 'NOTA', width: widthTable * 0.06, align: 'center'},\r\n { columnName: 'ESTATUS', width: widthTable * 0.08, align: 'center'}, \r\n { columnName: 'DIAS', width: widthTable * 0.07, align: 'center'},\r\n { columnName: 'INICIO', width: widthTable * 0.08, align: 'center'},\r\n { columnName: 'FIN', width: widthTable * 0.08, align: 'center'},\r\n { columnName: 'CATEDRATICO', width: widthTable * 0.15, }, \r\n { columnName: 'ID_SECCION_CLIENTE', width: 0},\r\n { columnName: 'ETIQUETA', width: 0}, \r\n { columnName: 'ANIO', width: 0},\r\n { columnName: 'PERIODO', width: 0}, \r\n];\r\nconst grouping = [{ columnName: 'ANIO' }, { columnName: 'PERIODO' }];\r\n\r\nconst columnsInfo = [ { name: 'LABEL', title: ' ' },\r\n { name: 'VALUE', title: ' ' },\r\n ];\r\nconst columnExtensionsInfo = [\r\n { columnName: 'LABEL', width: movil ? 145 : 180}, \r\n ];\r\n\r\nconst settingFilter = [{ columnName: 'INICIO',\r\n predicate: (value, filter, row) => {\r\n value = value !== null ? funciones.getTime(value, 1) : value; \r\n return IntegratedFiltering.defaultPredicate(value, filter, row);\r\n },\r\n }, \r\n { columnName: 'FIN',\r\n predicate: (value, filter, row) => {\r\n value = value !== null ? funciones.getTime(value, 1) : value; \r\n return IntegratedFiltering.defaultPredicate(value, filter, row);\r\n },\r\n }, \r\n ];\r\n\r\nconst RowId = row => row.ID_SECCION_CLIENTE;\r\nconst VirtualTable_cellComponent = (props) => {\r\n \r\nconst {row} = props; \r\nconst colorFont = row.ESTATUS_ACADEMICO === '' ? colorCur : \r\n row.ESTATUS_ACADEMICO === 'R' ? colorRep : \r\n row.ESTATUS_ACADEMICO === 'E' ? colorRet :\r\n row.ESTATUS_ACADEMICO === 'C' ? colorEqu :\r\n row.ESTATUS_ACADEMICO === 'N' ? colorAus :\r\n row.ESTATUS_ACADEMICO === 'S' ? colorEqu :\r\n row.ESTATUS_ACADEMICO === 'P' ? colorProped :\r\n undefined;\r\n \r\n\r\nreturn ();\r\n \r\n} \r\nconst VirtualTable_cellComponentInfo= (classes)=>({value, ...props}) => {\r\n \r\n const {column, row} = props;\r\n const promType = row.LABEL.toLowerCase().includes(\"his\") ? 2 : 1;\r\n const border = promType === 2 ? \"none\" : undefined;\r\n \r\n if (column.name === 'VALUE' && row.LABEL.toLowerCase().includes(\"promedio\"))\r\n {\r\n return (\r\n {value}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (); \r\n \r\n}\r\n\r\nconst GroupCellContent = ({ column, row }) => (\r\n \r\n {row.value.search('Equivalencias') === '0' ? 'Equivalencias' : parseInt(row.value) <= 100 ? 'Período ' + row.value : row.value } \r\n \r\n);\r\n\r\nconst StubCellComponentTable = (idRowSelected, handleRowDetailsClick) => ({colSpan, ...props}) => {\r\n\r\nif (props.tableRow.type.toString() === 'Symbol(data)' && props.tableColumn.column !== undefined && props.tableColumn.column.name === 'PERIODO' && props.tableRow.row.ID_SECCION_CLIENTE === idRowSelected \r\n && props.tableRow.row.ESTATUS_ACADEMICO !== 'C' && props.tableRow.row.ESTATUS_ACADEMICO !== 'E' && props.tableRow.row.ESTATUS_ACADEMICO !== 'S' && props.tableRow.row.ESTATUS_ACADEMICO !== 'P') \r\n{\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nif (props.tableRow.type.toString() === 'Symbol(data)' && props.tableColumn.column !== undefined && props.tableColumn.column.name === 'ANIO' && props.tableRow.row.ETIQUETA !== null)\r\n{\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nreturn ();\r\n\r\n}\r\nconst ColumnHeader_cellComponent = (Icon, ToolTipText, handleClickInfo) => ({resizingEnabled, ...props}) => {\r\n \r\n const {column} = props;\r\n \r\n if (column.name === 'ICON')\r\n { \r\n return (\r\n '} >\r\n \r\n\r\n {\r\n (() => {\r\n\r\n return (\r\n Icon\r\n );\r\n\r\n })()\r\n\r\n }\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n \r\n return ();\r\n \r\n}\r\nconst RenderOption = (option) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{option.CUENTA_ALUMNO}\r\n
{option.NOMBRE_COMPLETO}
\r\n \r\n);\r\nconst DateFormatter = ({ value }) => (value != null) ? funciones.getTime(value, 1) : value; \r\nconst DataTypeProviders = ();\r\n\r\nexport default withStyles(styles) ( \r\nclass App extends React.Component {\r\n\r\ntablaRef = React.createRef();\r\ntablaInfoRef = React.createRef();\r\nplanesRef = React.createRef();\r\nrowRef = React.createRef();\r\ntablaDetailRef = React.createRef();\r\ndialogAction2Ref = React.createRef();\r\ndialogRef = React.createRef();\r\n\r\n constructor (props) {\r\n super(props);\r\n this.state = { \r\n isLoggin : undefined,\r\n heightTableMain: 0, \r\n datosSelectPlan : null,\r\n selectedPlan: '',\r\n rows: [],\r\n expandedGroups: [],\r\n loadingMain: false,\r\n idRowSelected: null,\r\n openModalInfo: false,\r\n chartData: {},\r\n chartOptions:{},\r\n rowsInfo: [], \r\n totalCumplidas: -1,\r\n openModalDetail: false,\r\n rowsDetail: [],\r\n tableDetailHeight: 0,\r\n lessIdExtra: -1,\r\n valueAutoComplete: null,\r\n loadingClientes: true,\r\n openAutoComplete: false,\r\n optionAutocomplete: [],\r\n chartDetailData: {},\r\n chartDetailOptions: {\r\n legend: { display: false},\r\n scales: { yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: true,\r\n steps: 10,\r\n stepValue: 10, //5,\r\n max: 105,\r\n callback: function (value) { \r\n return value === 105 ? null : value;\r\n } \r\n }, \r\n }]\r\n \r\n },\r\n layout: { \r\n padding: {\r\n top: !movil ? 15 : 20\r\n },\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItems){ \r\n return 'Promedio en el parcial: ' + tooltipItems.value.toString() + '%';\r\n }\r\n }\r\n }\r\n },\r\n loadingDetail: false,\r\n titleDetail: '',\r\n loadingInfo: false,\r\n loadingPlanes: false,\r\n };\r\n this.cuenta = null;\r\n}\r\n\r\ndrawInnerText = (chart) => {\r\n \r\n var width = chart.chart.width,\r\n height = chart.chart.height,\r\n ctx = chart.chart.ctx;\r\n\r\n ctx.restore();\r\n var fontSize = 1.8; \r\n ctx.font = fontSize + \"em sans-serif\";\r\n ctx.textBaseline = \"middle\";\r\n\r\n var text = chart.config.options.centerText.text,\r\n textX = Math.round((width - ctx.measureText(text).width) / 2), \r\n textY = (height / 2) - 5; \r\n \r\n ctx.fillStyle = colores.naranja;\r\n ctx.fillText(text, textX, textY);\r\n ctx.save();\r\n}\r\n\r\ndrawLabelsPoints = (chart) =>{\r\n\r\nif (this.state.rowsDetail.length === 0) {return; } \r\n\r\nlet indexDataset;\r\n\r\nObject.keys(chart.config.data.datasets[0]._meta).map((item)=>{\r\n indexDataset = item;\r\n return item;\r\n});\r\n\r\nvar ctx = chart.chart.ctx;\r\n\r\nlet dataset = chart.config.data.datasets[0]._meta[indexDataset].data; \r\nlet _this =this;\r\nlet labelDraw = '';\r\nlet totalPoints = chart.config.data.datasets[0]._meta[indexDataset].data.length;\r\n\r\ndataset.forEach(function (points, index) { \r\n labelDraw = '';\r\n if (_this.state.rowsDetail[index].FECHA_APLICO_NOTA !== null || _this.state.rowsDetail.find(x => x.ID_PONDERACION === 100).VALOR !== null || _this.state.rowsDetail[index].VALOR > 0 || (_this.state.rowsDetail[index].VALOR === 0 && _this.state.rowsDetail[index].ID_PONDERACION!==99))\r\n {\r\n labelDraw = _this.state.rowsDetail[index].VALOR + ' | ' + _this.state.rowsDetail[index].PORCENTAJE; \r\n }\r\n\r\n if (_this.state.lessIdExtra === _this.state.rowsDetail[index].ID_CALIFICACION)\r\n {\r\n ctx.fillStyle = 'red'; \r\n ctx.fillRect(points._view.x - 8, points._view.y - 27, 48, 20);\r\n ctx.fillStyle = 'white';\r\n }\r\n else\r\n {\r\n ctx.fillStyle = 'black';\r\n }\r\n\r\n ctx.textAlign = \"center\";\r\n ctx.textBaseline = \"bottom\";\r\n ctx.fillText(labelDraw, index === 0 ? points._view.x + 22 : index === totalPoints - 1 ? points._view.x + 5 : points._view.x + 15, points._view.y - 10);\r\n \r\n ctx.save(); \r\n \r\n});\r\n\r\n\r\n\r\n}\r\n\r\nselectionPlanEstudio = (arrayPlanes) => {\r\n \r\n if (arrayPlanes.length === 0){\r\n \r\n return '';\r\n\r\n } \r\n\r\n if (arrayPlanes.length === 1){\r\n \r\n return arrayPlanes[0].ID_PLAN;\r\n\r\n } \r\n \r\n let select = arrayPlanes.filter(x => x.ESTADO.toString().trim().toUpperCase() ==='ACTIVO');\r\n\r\n if (select !== null && select.length > 0)\r\n { \r\n return select[0].ID_PLAN;\r\n }\r\n\r\n\r\n select = arrayPlanes.filter(x => x.ESTADO.toString().trim().toUpperCase() ==='EGRESADO');\r\n\r\n if (select !== null && select.length > 0)\r\n {\r\n return select[0].ID_PLAN;\r\n }\r\n\r\n\r\n select = arrayPlanes.filter(x => x.ESTADO.toString().trim().toUpperCase() ==='GRADUADO');\r\n\r\n if (select !== null && select.length > 0)\r\n {\r\n return select[0].ID_PLAN;\r\n }\r\n \r\n return '';\r\n \r\n\r\n}\r\n\r\nhandleChangeCuenta = (event) => {\r\n \r\n this.cuenta = (event === null && tokenInfo.plataforma === 2) ? tokenInfo.user : tokenInfo.plataforma === 1 ? this.state.valueAutoComplete.CUENTA_ALUMNO : null;\r\n this.setState({ loadingPlanes: true }, ()=>{ \r\n\r\n new Request\r\n .get(`${globales.ip}/historial/planes/${this.cuenta}/${tokenInfo.plataforma}`)\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 planes = [];\r\n this.setState({ selectedPlan: '', datosSelectPlan: null, rows: [], idRowSelected: null, loadingPlanes: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión');\r\n });\r\n \r\n return;\r\n }\r\n \r\n planes = JSON.parse(res.text);\r\n let niveles = [];\r\n let datosSelect = [];\r\n \r\n if (planes.length > 0) \r\n { \r\n planes.map((item, i) =>{\r\n\r\n if (!niveles.find(x => x === item.ID_NIVEL))\r\n {\r\n niveles.push(item.ID_NIVEL);\r\n\r\n if (!datosSelect.find(x => x.label === item.DESCRIPCION_NIVEL.trim())){\r\n datosSelect.push({value: item.ID_NIVEL * -1, label: item.DESCRIPCION_NIVEL.trim() })\r\n }\r\n\r\n planes.map((itemx, j) =>{ \r\n if (itemx.ID_NIVEL === item.ID_NIVEL)\r\n datosSelect.push({value: itemx.ID_PLAN, label: itemx.DESCRIPCION_PLAN ,estado: itemx.ESTADO})\r\n \r\n return item;\r\n }); \r\n \r\n }\r\n \r\n return item;\r\n\r\n });\r\n\r\n let datosSelect_ = datosSelect.map((item, i) =>{\r\n if (item.value < 0)\r\n return (\r\n
\r\n {item.label}\r\n
\r\n ); \r\n else\r\n return ({item.estado==='ACTIVO'?{item.label}- Activo:item.label});\r\n });\r\n \r\n this.setState({ datosSelectPlan: datosSelect_, selectedPlan: this.selectionPlanEstudio(planes), loadingPlanes: false });\r\n this.handleChangePlan('auto');\r\n } \r\n else\r\n { \r\n planes = [];\r\n this.setState({ selectedPlan: '', datosSelectPlan: null, rows: [], idRowSelected: null, loadingPlanes: false }); \r\n }\r\n \r\n\r\n }); \r\n\r\n});\r\n\r\n}\r\n\r\nobtenerHistorial = (cuenta, id_plan) => {\r\n \r\nthis.setState({ loadingMain: true }, ()=>{ \r\n\r\n new Request\r\n .get(`${globales.ip}/historial/informacion/${cuenta}/${id_plan}`)\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({ rows: [], expandedGroups: [], 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 \r\n if (rows.length > 0)\r\n { \r\n\r\n let allGroups = [];\r\n let foundAnio;\r\n let foundPeriodo; \r\n\r\n rows.map((item, i) => {\r\n\r\n foundAnio = allGroups.find(anio => anio === item.ANIO);\r\n \r\n if (foundAnio === undefined && item.ANIO !== \"0\")\r\n allGroups.push(item.ANIO);\r\n else\r\n foundAnio = undefined;\r\n\r\n foundPeriodo= allGroups.find(periodo => periodo === item.ANIO + '|' + item.PERIODO);\r\n\r\n if (foundPeriodo === undefined && item.ANIO !== \"0\")\r\n allGroups.push(item.ANIO + '|' + item.PERIODO);\r\n else \r\n foundPeriodo = undefined;\r\n \r\n return item;\r\n }); \r\n\r\n this.setState({ rows: rows, expandedGroups: allGroups, loadingMain: false });\r\n }\r\n else\r\n this.setState({ rows: [], expandedGroups: [], loadingMain: false });\r\n \r\n });\r\n\r\n});\r\n\r\n}\r\n\r\nobtenerTotalCumplidas = (cuenta, id_plan) =>\r\n{\r\n \r\n new Request\r\n .get(`${globales.ip}/historial/total_cumplidos/${cuenta}/${id_plan}`)\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({ totalCumplidas: 0 }, ()=>{ \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 if (rows.length > 0)\r\n this.setState({ totalCumplidas: rows[0].TOTAL_CUMPLIDAS }); \r\n \r\n });\r\n}\r\n\r\nobtenerPromedios = (cuenta, id_plan) =>{\r\n \r\n new Request\r\n .get(`${globales.ip}/historial/promedios/${cuenta}/${id_plan}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 20000, deadline: 15000, }) \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({ rowsInfo: [], loadingInfo: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión');\r\n }); \r\n \r\n return;\r\n\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0)\r\n { \r\n \r\n const rowsInfo = [\r\n { LABEL: 'Código de plan', VALUE: planes.find(x => x.ID_PLAN === this.state.selectedPlan).CODIGO_PLAN },\r\n { LABEL: 'Descripción de plan', VALUE: planes.find(x => x.ID_PLAN === this.state.selectedPlan).DESCRIPCION_PLAN },\r\n { LABEL: 'Estado de plan', VALUE: planes.find(x => x.ID_PLAN === this.state.selectedPlan).ESTADO + ' (' + this.state.totalCumplidas + ' de ' + planes.find(x => x.ID_PLAN === this.state.selectedPlan).TOTAL_CURSOS_PLAN + ' cursos)' },\r\n { LABEL: 'Promedio graduación', VALUE: rows[0].PROMEDIO_GRADUACION < 100 ? rows[0].PROMEDIO_GRADUACION.toFixed(2) + '%' : rows[0].PROMEDIO_GRADUACION + '%' }, \r\n { LABEL: 'Promedio histórico', VALUE: rows[0].PROMEDIO_HISTORICO < 100 ? rows[0].PROMEDIO_HISTORICO.toFixed(2) + '%' : rows[0].PROMEDIO_HISTORICO + '%'}, \r\n ];\r\n \r\n this.setState({ rowsInfo, loadingInfo: false }); \r\n \r\n }\r\n else\r\n this.setState({ rowsInfo: [], loadingInfo: false });\r\n \r\n });\r\n\r\n}\r\n\r\nhandleChangePlan = async (event) => {\r\n\r\nif (event !== 'auto' && this.state.selectedPlan === event.target.value)\r\n return;\r\n\r\n \r\nif (event === 'auto' || event.target.value > 0 )\r\n{ \r\n this.obtenerTotalCumplidas(this.cuenta, event === 'auto' ? this.state.selectedPlan : event.target.value ); \r\n await Promise.resolve(this.setState({ totalCumplidas: -1, selectedPlan: event === 'auto' ? this.state.selectedPlan : event.target.value, rowsInfo: [] })); \r\n this.obtenerHistorial(this.cuenta, event === 'auto' ? this.state.selectedPlan : event.target.value );\r\n}\r\n \r\n}\r\n\r\nchangeExpandedGroups = expandedGroups =>\r\n{\r\n this.setState({ expandedGroups }); \r\n}\r\n\r\nhandleCloseInfo = () => {\r\n\r\nthis.setState({ openModalInfo: false });\r\n\r\n}\r\n\r\nonEnteringInfo = () => {\r\n \r\n let recorrido = this.state.rows.length > 0 ? this.state.totalCumplidas * 100 / planes.find(x => x.ID_PLAN === this.state.selectedPlan).TOTAL_CURSOS_PLAN : 0;\r\n\r\n let chartData = {\r\n\r\n labels : ['Cursado', 'Restante'],\r\n datasets: [ { data: [recorrido , 100 - recorrido ], \r\n backgroundColor: [ colores.azul, 'white' ], \r\n hoverBackgroundColor: [colores.azul, 'white'],\r\n hoverBorderColor: [colores.azul,'#E5E7E9'],\r\n borderColor: recorrido < 100 ? [colores.azul,'#E5E7E9'] : colores.azul, \r\n }, \r\n ],\r\n };\r\n \r\n let chartOptions = {\r\n\r\n maintainAspectRatio: true, \r\n legend: { position: 'bottom', fullWidth: false, onClick: null }, \r\n plugins: {\r\n labels: { \r\n render: (args) => { \r\n return '';\r\n },\r\n precision: 2,\r\n fontColor: colores.naranja,\r\n fontSize: 25,\r\n showZero: true, \r\n },\r\n },\r\n tooltips: { enabled: false },\r\n title: {\r\n display: true,\r\n text: 'Porcentaje completado de carrera',\r\n },\r\n centerText: {\r\n display: true,\r\n text: recorrido < 100 ? recorrido.toFixed(2) + '%' : recorrido + '%', \r\n }, \r\n animation: { \r\n easing: 'easeOutExpo' //'linear' \r\n },\r\n\r\n }\r\n \r\n this.setState({ chartData: chartData, chartOptions: chartOptions });\r\n \r\n}\r\n\r\nhandleCloseDetail = () => {\r\n \r\n this.setState({ openModalDetail: false, rowsDetail: [], chartDetailData: {}, });\r\n \r\n}\r\n\r\nonEnteringDetail = () => {\r\n \r\n new Request\r\n .get(`${globales.ip}/historial/calificaciones/${this.state.idRowSelected}/${this.cuenta}`)\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({ openModalDetail: false, rowsDetail: [], chartDetailData: {}, loadingDetail: 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 if (rows.length > 0) \r\n { \r\n let extraValue = rows.find(x => x.ID_PONDERACION === 99);\r\n let lessIdExtra = [];\r\n let availableExtra =[];\r\n \r\n if (extraValue !== null && extraValue !== undefined && (extraValue.VALOR > 0 || rows[0].EXTRAORDINARIO))\r\n {\r\n \r\n availableExtra = rows.filter(x => x.PERMITE_EXTRAORDINARIO === 1);\r\n\r\n if (availableExtra.length === 0)\r\n {\r\n lessIdExtra.push({ ID_CALIFICACION: rows.find(x => x.ID_PONDERACION === 99).ID_CALIFICACION, VALOR: rows.find(x => x.ID_PONDERACION === 99).VALOR });\r\n }\r\n\r\n availableExtra.map((item, index)=> {\r\n\r\n if (index === 0)\r\n {\r\n lessIdExtra = [];\r\n lessIdExtra.push({ ID_CALIFICACION: item.ID_CALIFICACION, VALOR: item.VALOR });\r\n }\r\n else\r\n {\r\n if (item.VALOR < lessIdExtra[0].VALOR)\r\n {\r\n lessIdExtra = [];\r\n lessIdExtra.push({ ID_CALIFICACION: item.ID_CALIFICACION, VALOR: item.VALOR });\r\n }\r\n }\r\n\r\n return item;\r\n });\r\n\r\n }\r\n else\r\n { \r\n if (extraValue !== undefined)\r\n {\r\n lessIdExtra.push({ ID_CALIFICACION: rows.find(x => x.ID_PONDERACION === 99).ID_CALIFICACION, VALOR: rows.find(x => x.ID_PONDERACION === 99).VALOR });\r\n }\r\n }\r\n \r\n let labelChart = []; \r\n let dataChart = []; \r\n rows.map((item)=>{\r\n\r\n if ((item.ID_PONDERACION !== 100 && item.ID_PONDERACION !== 99 && item.PORCENTAJE > 0) || (item.ID_PONDERACION === 99 && item.ID_CALIFICACION !== lessIdExtra[0].ID_CALIFICACION))\r\n {\r\n labelChart.push(item.PONDERACION);\r\n dataChart.push(parseFloat(item.VALOR*100/item.PORCENTAJE).toFixed(2) > 100 ? 100 : parseFloat(item.VALOR*100/item.PORCENTAJE).toFixed(2));\r\n }\r\n return item;\r\n });\r\n \r\n dataChart = { \r\n labels: labelChart,\r\n datasets: [\r\n {\r\n label: 'Valor porcentual',\r\n fill: true,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgba(' + colores.azul_rgb + ', 0.6)', \r\n borderColor: 'rgba(' + colores.azul_rgb + ', 1)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgba(' + colores.azul_rgb + ', 1)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgba(75,192,192,1)',\r\n pointHoverBorderColor: 'rgba(220,220,220,1)',\r\n pointHoverBorderWidth: 3,\r\n pointRadius: 5,\r\n pointHitRadius: 10,\r\n data: dataChart\r\n }\r\n ]\r\n }\r\n \r\n this.setState({ lessIdExtra: lessIdExtra[0] !== undefined ? lessIdExtra[0].ID_CALIFICACION : -1, rowsDetail: rows, chartDetailData: dataChart, loadingDetail: false }); \r\n } \r\n \r\n });\r\n\r\n\r\n}\r\n\r\nonChangeAutocomplete = (event, value) =>{\r\n \r\n planes = [];\r\n this.setState({ valueAutoComplete: value, \r\n openAutoComplete: false, \r\n selectedPlan: '', \r\n datosSelectPlan: null, \r\n rows: [], \r\n idRowSelected: null,\r\n rowsInfo: [] }, ()=>{\r\n \r\n if (value === null)\r\n return;\r\n \r\n this.handleChangeCuenta(null); \r\n \r\n });\r\n \r\n\r\n}\r\n\r\nfiltersClientes = (value)=>{ \r\n \r\n new Request\r\n .get(`${globales.ip}/historial/estudiantes/${value}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\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 \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ optionAutocomplete: [], openAutoComplete: false, loadingClientes: 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({ optionAutocomplete: rows, loadingClientes: false }); \r\n \r\n \r\n});\r\n \r\n}\r\n\r\nonBlurAutoComplete = ()=>{\r\n\r\n if (this.state.openAutoComplete)\r\n this.setState({ openAutoComplete: false }); \r\n \r\n}\r\n\r\nhandleRowDetailsClick = event => {\r\n \r\nevent.preventDefault();\r\nconst title = this.state.rows.find(x => x.ID_SECCION_CLIENTE === this.state.idRowSelected).DESCRIPCION_CURSO.split('(')[0].trim();\r\n\r\nthis.setState({ loadingDetail: true, \r\n titleDetail: title, \r\n openModalDetail: true });\r\n \r\n}\r\n\r\nhandleClickInfo = () => {\r\n \r\nif (funciones.isEmpty(this.state.selectedPlan)) { return; }\r\n \r\nif (this.state.totalCumplidas < 0)\r\n return;\r\n \r\nif (this.state.rowsInfo.length > 0){\r\n this.setState({ openModalInfo: true });\r\n return;\r\n}\r\n\r\nthis.setState({ loadingInfo: true, openModalInfo: true }, ()=>{ \r\n this.obtenerPromedios(this.cuenta, this.state.selectedPlan);\r\n}); \r\n\r\n}\r\n\r\nhandleRowClick = (IdSeccionCliente) => event => {\r\n \r\nevent.preventDefault();\r\nthis.setState({ idRowSelected: IdSeccionCliente });\r\n\r\n \r\n}\r\n\r\nonChangeInput = (e, value)=>{ \r\n \r\n if (e === null || e.target.value === undefined)\r\n {\r\n if (this.state.openAutoComplete) \r\n this.setState({ openAutoComplete: false });\r\n \r\n return;\r\n }\r\n \r\n if ((e.target.value.toString().trim().length < 3 || (this.state.valueAutoComplete !== null && value === this.state.valueAutoComplete.CUENTA_ALUMNO + ' | ' + this.state.valueAutoComplete.NOMBRE_COMPLETO)) && this.state.openAutoComplete)\r\n this.setState({ openAutoComplete: false });\r\n else if (e.target.value.toString().trim().length >= 3 && !this.state.openAutoComplete)\r\n this.setState({ openAutoComplete: true });\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.filtersClientes(\"-\");\r\n }\r\n else if (tokenInfo.plataforma === 2) //Usuario estudiante\r\n { \r\n this.setState({ loadingClientes: false }); \r\n this.handleChangeCuenta(null); \r\n }\r\n\r\n this.setState({ heightTableMain: funciones.getHeightTableMain(movil, this).heightTable }, ()=>{\r\n if (!movil && tokenInfo.plataforma === 1) {\r\n document.getElementById(\"est_historial\").focus();\r\n return;\r\n }\r\n\r\n if (!movil){\r\n this.planesRef.current.focus();\r\n }\r\n }); \r\n\r\n let _this = this; \r\n Chart.Chart.pluginService.register({\r\n afterDraw: function (chart) { \r\n \r\n if (_this.state.openModalInfo)\r\n {\r\n if (chart.config.options.centerText.display !== null &&\r\n typeof chart.config.options.centerText.display !== 'undefined' &&\r\n chart.config.options.centerText.display) {\r\n _this.drawInnerText(chart);\r\n }\r\n }\r\n \r\n },\r\n afterDatasetsDraw: function (chart) { \r\n if (_this.state.openModalDetail){ \r\n _this.drawLabelsPoints(chart);\r\n }\r\n }\r\n });\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 \r\n \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 \r\n
\r\n option.CUENTA_ALUMNO + ' - ' + option.NOMBRE_COMPLETO}\r\n style={{ width: movil ? '100%' : '430px' }}\r\n renderInput={(params) => \r\n {this.state.loadingClientes ? \r\n \r\n \r\n \r\n : null}\r\n {params.InputProps.endAdornment}\r\n \r\n ),\r\n }}\r\n fullWidth \r\n />}\r\n renderOption={RenderOption} \r\n onChange={this.onChangeAutocomplete}\r\n open={this.state.openAutoComplete}\r\n loading={this.state.loadingClientes}\r\n ListboxComponent={virtual.ListboxComponent}\r\n value={this.state.valueAutoComplete} \r\n className={classes.textField}\r\n disableClearable={this.state.loadingMain}\r\n onInputChange={this.onChangeInput}\r\n popupIcon={null} \r\n PaperComponent={(props)=>()} \r\n /> \r\n \r\n
\r\n
\r\n );\r\n\r\n }\r\n \r\n })()\r\n\r\n }\r\n\r\n
\r\n = 0 ? colores.tabla.color_iconos : colores.tabla.color_iconos_SL }} />, this.state.selectedPlan !== '' ? this.state.totalCumplidas >= 0 ? 'Estado de plan: ' + planes.find(x => x.ID_PLAN === this.state.selectedPlan ).ESTADO : 'cargando por favor espere...' : undefined, this.handleClickInfo)}\r\n groupContentComponent={GroupCellContent}\r\n stubCellComponentTable = {StubCellComponentTable(this.state.idRowSelected, this.handleRowDetailsClick)} \r\n FilteringColumnExtensions = {settingFilter}\r\n /> \r\n
\r\n\r\n \r\n {this.state.selectedPlan !== '' ? planes.find(x => x.ID_PLAN === this.state.selectedPlan ).DESCRIPCION_NIVEL : undefined} \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {this.state.titleDetail}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {(()=>{\r\n \r\n if (!this.state.loadingDetail && this.state.openModalDetail) \r\n { \r\n return (\r\n \r\n \r\n
\r\n
{'Parcial sustituído por extra ordinario.'}\r\n
\r\n \r\n );\r\n \r\n }\r\n else if (this.state.loadingDetail && this.state.openModalDetail)\r\n return();\r\n\r\n })()\r\n }\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\nelse if (this.state.isLoggin === false)\r\n{\r\n //Auth.logout();\r\n window.location.reload();\r\n return; //(())\r\n}\r\nreturn null;\r\n\r\n}//FIN RENDER\r\n}\r\n\r\n)\r\n","\r\nimport React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {colores, globales,funciones} from '../../../global';\r\nimport BarraBotones from '../../../components/Barra_menu';\r\nimport AuthService from '../../../AuthService';\r\nimport Request from 'superagent';\r\nimport CustomTable from '../../../components/CustomTable';\r\nimport {Table,TableHeaderRow} from '@devexpress/dx-react-grid-material-ui';\r\nimport TableRowsIndexer from '../../../components/tableRowsIndexer'\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Icono from '../../../components/Icono';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport {virtual} from '../../../components/VirtualListBox';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { Avatar, Typography } from '@material-ui/core';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Button from '@material-ui/core/Button';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport {createMuiTheme,MuiThemeProvider} from '@material-ui/core/styles';\r\n\r\nlet Auth = new AuthService();\r\nvar ip=globales.ip\r\nlet currentnota = null;\r\nvar border_dialog=globales.border_dialog\r\nvar movil=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\nvar movil_pequeño=/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n\r\nlet isVisibleRowSelected = false;\r\nconst colorRowSelected = 'rgb('+ colores.tabla.selection +')';\r\nlet alternateColorRow1 = colores.tabla.alternateColorRow1; \r\nlet alternateColorRow2 = colores.tabla.alternateColorRow2;\r\n\r\nconst ListboxComponent = virtual.ListboxComponent;\r\nconst ListboxComponent_periodos = virtual.ListboxComponent;\r\n\r\n\r\nconst getRowId = row => row.ID_SECCION_CLIENTE;\r\nconst getRowId_notas = row => row.ID_CALIFICACION;\r\n\r\nfunction clone( obj ) {\r\n if ( obj === null || typeof obj !== 'object' ) {\r\n return obj;\r\n }\r\n\r\n var temp = obj.constructor();\r\n for ( var key in obj ) {\r\n temp[ key ] = clone( obj[ key ] );\r\n }\r\n\r\n return temp;\r\n}\r\n\r\n\r\n\r\n/* CLASES DE ESTILO */\r\n\r\nvar styles = theme =>({\r\n Dialog:{\r\n borderRadius: border_dialog,margin:0,padding:0\r\n },\r\n backdrop: {\r\n zIndex: 500000,color: '#fff',flexDirection: 'column'\r\n },\r\n select: { //CONFIGURA EL SELECT \r\n margin: theme.spacing(movil_pequeño?2:1, 1,0,0), padding: 0,\r\n minWidth: movil_pequeño?'100%':'50%',\r\n },\r\n textField: {\r\n margin: theme.spacing(movil_pequeño?2:1, 1,0,0),\r\n padding: 0,\r\n minWidth: movil_pequeño?'100%':'20%',\r\n width: '20%' \r\n },\r\n})\r\n\r\n const columns= [\r\n {name:'ROOT',title: ' ',},\r\n {name:'DESCRIPCION_NIVEL',title: 'Nivel',},\r\n {name:'ID_SECCION_CLIENTE',title: 'ID_SECCION_CLIENTE',},{name:'ID_SECCION',title: 'ID_SECCION',}\r\n ,{name:'CODIGO_CURSO',title: 'Código Curso',},{name:'DESCRIPCION_CURSO',title: 'Descripción',},{name:'NUMERO_SECCION',title: 'Sección',}\r\n ,{name:'INICIO',title: 'Inicio',},{name:'FIN',title: 'Fin',},{name:'CUENTA_CATEDRATICO',title: 'CUENTA_CATEDRATICO',},{name:'NOMBRE_COMPLETO',title: 'Catedrático',}\r\n ,{name:'NOTA',title: 'Nota',},{name:'ESTATUS_ACADEMICO',title: 'Estado',}\r\n ];\r\n\r\n const columns_notas=[\r\n {name:'ROOT',title: ' ',},\r\n {name:'ID_SECCION_CLIENTE',title: 'ID_SECCION_CLIENTE',},\r\n {name:'ID_CALIFICACION',title: 'ID_CALIFICACION',}\r\n ,{name:'ID_PONDERACION',title: 'ID_PONDERACION',}\r\n ,{name:'ID_POND_CATEDRATICO',title: 'ID_POND_CATEDRATICO',}\r\n ,{name:'DESCRIPCION_PONDERACION',title: 'Ponderación',}\r\n ,{name:'PORCENTAJE',title: '%',}\r\n ,{name:'PERMITE_EXTRAORDINARIO',title: ' '}\r\n ,{name:'VALOR',title: 'Nota',}\r\n ,{name:'NUEVA',title: 'Nueva',}\r\n ];\r\n\r\n const tableColumnExtensions= [\r\n { columnName: 'ROOT',width:35, align: 'center'},\r\n { columnName: 'DESCRIPCION_NIVEL', wordWrapEnabled: false, align: 'center',width:!movil?(window.innerWidth-740)/2:250}\r\n ,{ columnName: 'CODIGO_CURSO', wordWrapEnabled: false, align: 'center',width:110}\r\n ,{ columnName: 'DESCRIPCION_CURSO', wordWrapEnabled: false, align: 'center',width:!movil?(window.innerWidth-740)/2:250}\r\n ,{ columnName: 'NUMERO_SECCION', wordWrapEnabled: false, align: 'center',width:100}\r\n ,{ columnName: 'INICIO', wordWrapEnabled: false, align: 'center',width:100}\r\n ,{ columnName: 'FIN', wordWrapEnabled: false, align: 'center',width:100}\r\n ,{ columnName: 'NOMBRE_COMPLETO', wordWrapEnabled: false, align: 'center'}\r\n ,{ columnName: 'NOTA', wordWrapEnabled: false, align: 'center',width:100}\r\n ,{ columnName: 'ESTATUS_ACADEMICO', wordWrapEnabled: false, align: 'center',width:100}\r\n ];\r\n\r\n const tableColumnExtensions_notas=[\r\n { columnName: 'ROOT',width:35, align: 'center'}\r\n ,{ columnName: 'DESCRIPCION_PONDERACION', wordWrapEnabled: false, align: 'center',width: 300 }\r\n ,{ columnName: 'PORCENTAJE', wordWrapEnabled: false, align: 'right',width:55}\r\n ,{ columnName: 'VALOR', wordWrapEnabled: false, align: 'center',width:70}\r\n ,{ columnName: 'PERMITE_EXTRAORDINARIO', wordWrapEnabled: false, align: 'left',width:30}\r\n ,{ columnName: 'NUEVA', wordWrapEnabled: false, align: 'center',width:70}\r\n ];\r\n\r\n const theme = createMuiTheme({\r\n palette: {\r\n type: 'dark',\r\n },\r\n overrides: {\r\n MuiDialogTitle: {\r\n root: {\r\n textAlign: \"center\", \r\n color: \"white\",\r\n paddingTop: \"8px\",\r\n paddingBottom: \"8px\"\r\n }\r\n },\r\n }\r\n })\r\n\r\n const defaultHiddenColumnNames_notas=['ID_PONDERACION','ID_SECCION_CLIENTE','ID_CALIFICACION','ID_POND_CATEDRATICO']\r\n\r\n const defaultHiddenColumnNames= ['ID_SECCION_CLIENTE','ID_SECCION','CUENTA_CATEDRATICO','NOMBRE_COMPLETO']\r\n\r\n const HeaderRowCellComponent = (valueStudent, handleClickrectificar,selection)=> ({ ...props}) => {\r\n \r\n const style={paddingTop: props.column.name === \"ROOT\" ? \"5px\" : undefined, paddingBottom: props.column.name === \"ROOT\" ? \"5px\" : undefined }\r\n \r\n if (props.column.name === \"ROOT\")\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n \r\n return ();\r\n \r\n }\r\n\r\n const HeaderRowCellComponent_nota = (valueStudent, handleClickmodificar,selection)=> ({ ...props}) => {\r\n\r\n const style={paddingTop: props.column.name === \"ROOT\" ? \"5px\" : undefined, paddingBottom: props.column.name === \"ROOT\" ? \"5px\" : undefined }\r\n\r\n if (props.column.name === \"ROOT\")\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (props.column.name === \"NUEVA\")\r\n {\r\n return (\r\n \r\n );\r\n }\r\n\r\n \r\n return ();\r\n \r\n }\r\n\r\n\r\n\r\n const totalSummaryItems = [\r\n { columnName: \"ID_CALIFICACION\", type: \"count\" }, \r\n ];\r\n\r\n const TotalCellComponent =(valor_actual,valor_nuevo)=> (props) => {\r\n\r\n const {column} = props;\r\n\r\n if(column.name==='PERMITE_EXTRAORDINARIO'){\r\n return(\r\n \r\n );\r\n }\r\n\r\n if(column.name==='VALOR'){\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n if(column.name==='NUEVA'){\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return ();\r\n}\r\n\r\n\r\nconst VirtualTable_cellComponent_notas = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n\r\n if(column.name==='PERMITE_EXTRAORDINARIO'){\r\n return(\r\n \r\n {row.PERMITE_EXTRAORDINARIO?\r\n Ex \r\n :' '}\r\n \r\n );\r\n }\r\n\r\n if(column.name==='PORCENTAJE'){\r\n return(\r\n \r\n );\r\n }\r\n\r\n if(column.name==='NUEVA'){\r\n return(\r\n \r\n );\r\n }\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class IngresoRectificacion extends React.Component {\r\n tablaRef = React.createRef();\r\n notaRef = 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.isVisibleRowSelected=isVisibleRowSelected\r\n this.actualizarbarra=props.actualizarbarra\r\n this.actualizarcircular=props.actualizarcircular\r\n\r\n this.state = {\r\n openBackDrop: false, \r\n isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n rows_notas: [],\r\n rows_notas_original: [],\r\n selection: [],\r\n selection_nota: [],\r\n grouping: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n enabledFilterRows: true,\r\n openAutoCompleteAdd: false,\r\n openAutoCompleteAdd_periodos: false,\r\n optionAutocompleteAdd: [],\r\n optionAutocompleteAdd_periodos: [],\r\n isLoadingClientes: true,\r\n valueAutoCompleteAdd: null,\r\n isLoading_periodos: true,\r\n isSaving: true,\r\n isSaving_periodos: true,\r\n valueAutoCompleteAdd_periodos: null,\r\n selection_cm: '',\r\n open_rectificar: false,\r\n open_rectificar_nota: false,\r\n valor_actual: 0,\r\n valor_nuevo: 0,\r\n open_modificar: false,\r\n igual: true,\r\n errornota: false,\r\n open_confirmacion: false,\r\n }\r\n \r\n const trow = TableRow => withStyles(styles, { name: \"Row\" })( ({classes,highlighted, rowIndex, row, selectByRowClick, ...props}) => {\r\n\r\n const odd = !!(rowIndex % 2);\r\n const r = props.tableRow \r\n\r\n const clickselection = (ID_SECCION_CLIENTE,DESCRIPCION_CURSO) => event =>{\r\n this.setState({ selection: [{ID_SECCION_CLIENTE:ID_SECCION_CLIENTE,DESCRIPCION_CURSO: DESCRIPCION_CURSO}] });\r\n }\r\n const dblclickselection = (ID_SECCION_CLIENTE,DESCRIPCION_CURSO) => event =>{ \r\n this.setState({open_rectificar: true,selection: [{ID_SECCION_CLIENTE:ID_SECCION_CLIENTE,DESCRIPCION_CURSO: DESCRIPCION_CURSO}]})\r\n this.consulta_parciales(ID_SECCION_CLIENTE)\r\n }\r\n \r\n if (this.state.selection[0]===undefined?this.state.selection[0]:this.state.selection[0].ID_SECCION_CLIENTE === props.tableRow.row.ID_SECCION_CLIENTE) { isVisibleRowSelected = true; }\r\n return (\r\n \r\n );\r\n });\r\n\r\n const trow_notas = TableRow => withStyles(styles, { name: \"Row\" })( ({classes,highlighted, rowIndex, row, selectByRowClick, ...props}) => {\r\n\r\n const odd = !!(rowIndex % 2);\r\n const r = props.tableRow \r\n\r\n const clickselection_notas = (ID_CALIFICACION,DESCRIPCION_PONDERACION,VALOR,PORCENTAJE,ID_PONDERACION,NUEVA) => event =>{\r\n this.setState({ selection_nota: [{ID_CALIFICACION:ID_CALIFICACION,DESCRIPCION_PONDERACION:DESCRIPCION_PONDERACION,VALOR:VALOR,PORCENTAJE:PORCENTAJE,ID_PONDERACION:ID_PONDERACION,NUEVA:NUEVA}] });\r\n }\r\n const dblclickselection_notas = (ID_CALIFICACION,DESCRIPCION_PONDERACION,VALOR,PORCENTAJE,ID_PONDERACION,NUEVA) => event =>{\r\n \r\n if(ID_PONDERACION!==6){\r\n if(PORCENTAJE!==0)\r\n this.setState({open_modificar: true,igual: true, selection_nota: [{ID_CALIFICACION:ID_CALIFICACION,DESCRIPCION_PONDERACION:DESCRIPCION_PONDERACION,VALOR:VALOR,PORCENTAJE:PORCENTAJE,ID_PONDERACION:ID_PONDERACION,NUEVA:NUEVA}]})\r\n }\r\n else\r\n funciones.showToast('w','Debe modificar el correquisito en su sección respectiva')\r\n }\r\n \r\n if (this.state.selection_nota[0]===undefined?this.state.selection_nota[0]:this.state.selection_nota[0].ID_CALIFICACION === props.tableRow.row.ID_CALIFICACION) { isVisibleRowSelected = true; }\r\n return (\r\n \r\n );\r\n });\r\n\r\n //this.VirtualTable_cellComponent_notas = VirtualTable_cellComponent_notas\r\n this.trow = trow(Table.Row);\r\n this.trow_notas = trow_notas(Table.Row);\r\n }; //FIN CONSTRUCTORS\r\n\r\nhandleClickrectificar=(selection)=>event=>{\r\n this.setState({open_rectificar: true})\r\n this.consulta_parciales(selection)\r\n}\r\n\r\nhandleClickmodificar=(selection)=>event=>{\r\n if(selection.ID_PONDERACION!==6){\r\n if(selection.PORCENTAJE!==0)\r\n this.setState({open_modificar: true,igual: true})\r\n }\r\n else\r\n funciones.showToast('w','Debe modificar el correquisito en su sección respectiva')\r\n}\r\n\r\ncomponentDidMount()\r\n{\r\n let _this = this;\r\n _this.actualizarbarra(false)\r\n\r\n //Auth.loggedIn().then( function(b){\r\n // _this.setState({ isLoggin: b})\r\n this.setState({ isLoggin: Auth.getProfile().plataforma !== undefined ? true : false }, ()=>{\r\n _this.filtersClientes('-');\r\n _this.consulta_periodos()\r\n // if(b)\r\n _this.setState({rows: [], heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable})\r\n _this.actualizarbarra(true)\r\n })\r\n}\r\n\r\n\r\nfiltersClientes = (value)=>{\r\n new Request\r\n .get(`${globales.ip}/rectificacion/Filtrar_estudiantes/${value}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(0)\r\n .timeout({ response: 20000, deadline: 30000, })\r\n .end((err, res) => {\r\n \r\n if (err) {\r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n window.location.reload();\r\n return;\r\n }\r\n this.setState({ optionAutocompleteAdd: [], openAutoComplete: false, isLoadingClientes: false,isSaving: false }, ()=>{\r\n funciones.showToast('e', 'No hay conexión');\r\n });\r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0)\r\n { \r\n this.setState({ optionAutocompleteAdd: rows, isLoadingClientes: false,isSaving: false });\r\n }\r\n else\r\n {\r\n this.setState({ optionAutocompleteAdd: [], openAutoComplete: false, isLoadingClientes: false,isSaving: false })\r\n } \r\n });\r\n }\r\n\r\n \r\nonBlurAutoCompleteAdd = ()=>{\r\n if (this.state.openAutoCompleteAdd)\r\n {\r\n this.setState({ openAutoCompleteAdd: false }); \r\n }\r\n}\r\n\r\nonBlurAutoCompleteAdd_periodos = ()=>{\r\n if (this.state.openAutoCompleteAdd_periodos)\r\n {\r\n this.setState({ openAutoCompleteAdd_periodos: false}); \r\n }\r\n}\r\n \r\nonChangeAutocompleteAdd = (event, value) => {\r\n this.setState({ valueAutoCompleteAdd: value, openAutoCompleteAdd: false }, ()=>{\r\n this.consulta_periodos();\r\n });\r\n}\r\n\r\nonChangeAutocompleteAdd_periodos = (event, value) => {\r\n this.setState({ valueAutoCompleteAdd_periodos: value, openAutoCompleteAdd_periodos: false }, ()=>{\r\n this.consulta_clases();\r\n });\r\n}\r\n\r\nonChangeInput = (e, value)=>{ \r\n if (e === null || e.target.value === undefined)\r\n {\r\n if (this.state.openAutoCompleteAdd){ \r\n this.setState({ openAutoCompleteAdd: false });\r\n }\r\n return;\r\n }\r\n if ((e.target.value.toString().trim().length < 3 || (this.state.valueAutoCompleteAdd !== null && value === this.state.valueAutoCompleteAdd.CUENTA_ALUMNO + ' | ' + this.state.valueAutoCompleteAdd.NOMBRE_COMPLETO)) && this.state.openAutoCompleteAdd)\r\n {\r\n this.setState({ openAutoCompleteAdd: false });\r\n }\r\n else if (e.target.value.toString().trim().length >= 3 && !this.state.openAutoCompleteAdd)\r\n {\r\n this.setState({ openAutoCompleteAdd: true });\r\n }\r\n}\r\n\r\nonChangeInput_periodos = (e, value)=>{ \r\n if (e === null || e.target.value === undefined)\r\n {\r\n if (this.state.openAutoCompleteAdd_periodos){ \r\n this.setState({ openAutoCompleteAdd_periodos: false });\r\n }\r\n return;\r\n }\r\n \r\n if ((e.target.value.toString().trim().length < 3 || (this.state.valueAutoCompleteAdd_periodos !== null && value === this.state.valueAutoCompleteAdd_periodos.ID_CONTROL_MATRICULA)) && this.state.openAutoCompleteAdd_periodos)\r\n {\r\n this.setState({ openAutoCompleteAdd_periodos: false });\r\n }\r\n else if (e.target.value.toString().trim().length >= 3 && !this.state.openAutoCompleteAdd_periodos)\r\n {\r\n this.setState({ openAutoCompleteAdd_periodos: true });\r\n }\r\n}\r\n\r\nconsulta_periodos=()=>{\r\n\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n try{\r\n new Request\r\n .post(`${ip}/rectificacion/obtener_periodos_rectificacion`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({CUENTA_ALUMNO: cuenta_alumno , USUARIO: Auth.getProfile().user })\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 60000, }) \r\n .end((err, res) => {\r\n if (err) { \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n { \r\n window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false }, ()=> { \r\n this.setState({optionAutocompleteAdd_periodos: [], openAutoComplete_periodos: false,isLoading_periodos: false,isSaving_periodos: false})\r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n }\r\n\r\n const tmp = JSON.parse(res.text);\r\n if (tmp.length > 0) \r\n { \r\n this.setState({optionAutocompleteAdd_periodos: tmp,valueAutoCompleteAdd_periodos: null,rows:[], openAutoComplete_periodos: false, isLoading_periodos: false, isSaving_periodos: false})\r\n }\r\n else{\r\n this.setState({optionAutocompleteAdd_periodos: [],valueAutoCompleteAdd_periodos: null,rows:[], openAutoComplete_periodos: false, isLoading_periodos: false, isSaving_periodos: false})\r\n }\r\n })\r\n }\r\n catch(ex){\r\n this.setState({optionAutocompleteAdd_periodos: [],valueAutoCompleteAdd_periodos: null,rows:[], openAutoComplete_periodos: false,isLoading_periodos: false,isSaving_periodos: false})\r\n }\r\n}\r\n\r\nconsulta_clases=()=>{\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n let periodo = this.state.valueAutoCompleteAdd_periodos!==null? this.state.valueAutoCompleteAdd_periodos.ID_CONTROL_MATRICULA:'0'\r\n\r\n try{\r\n new Request\r\n .post(`${ip}/rectificacion/obtener_clases_por_periodo`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ID_CONTROL_MATRICULA: periodo,cuenta_alumno: cuenta_alumno,USUARIO: Auth.getProfile().user })\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 60000, }) \r\n .end((err, res) => {\r\n if (err) { \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n { \r\n window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n }\r\n\r\n const rows = JSON.parse(res.text);\r\n if (rows.length > 0) \r\n { \r\n this.setState({rows: rows})\r\n }\r\n else\r\n {\r\n this.setState({rows: []})\r\n }\r\n })\r\n}\r\ncatch(ex){\r\n this.setState({rows: []})\r\n}\r\n}\r\n\r\nconsulta_parciales=(value)=>{\r\n try{\r\n new Request\r\n .post(`${ip}/rectificacion/obtener_parciales_clase`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ID_SECCION_CLIENTE: value, USUARIO: Auth.getProfile().user })\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 60000, }) \r\n .end((err, res) => {\r\n if (err) { \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n { \r\n window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n if (rows.length > 0) \r\n { \r\n this.consulta_notafinal(value,'',2)\r\n this.setState({rows_notas: rows, rows_notas_original: rows})\r\n }\r\n })\r\n }\r\n catch(ex){\r\n \r\n }\r\n}\r\n\r\ncancelar=()=>{\r\n this.setState({open_rectificar: false,valor_nuevo:0,valor_actual:0,selection:[],selection_nota:[],rows_notas:[],rows_notas_original:[]})\r\n}\r\n\r\ncancelar_modificar=()=>{\r\n this.setState({open_modificar: false,selection_nota:[]})\r\n}\r\n\r\nconsulta_notafinal=(value,cadena,temporal)=>{\r\n\r\n this.setState({isloading_notas: true},()=>{\r\n try{\r\n new Request\r\n .post(`${ip}/rectificacion/obtener_nota_final`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ID_SECCION_CLIENTE: value ,VALORES_TEMPORALES: cadena,TEMPORAL: temporal===2?0:temporal,USUARIO: Auth.getProfile().user})\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 60000, }) \r\n .end((err, res) => {\r\n if (err) { \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n { \r\n window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false, isloading_notas: false }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n if (rows.length > 0) \r\n { \r\n this.setState((state,props)=>({valor_actual: temporal===1?state.valor_actual:rows[0].VALOR\r\n ,valor_nuevo: temporal===1||temporal===2?rows[0].VALOR:state.valor_nuevo\r\n ,isloading_notas:false\r\n }))\r\n }\r\n })\r\n }\r\n catch(ex){\r\n this.setState({isloading_notas: false})\r\n }\r\n })\r\n}\r\n\r\nonChangenota=()=> event =>{\r\n\r\n if((this.notaRef.current.value.toString().trim()===this.state.selection_nota[0].VALOR.toString().trim() \r\n || this.notaRef.current.value.toString().trim()===this.state.selection_nota[0].NUEVA.toString().trim())||this.notaRef.current.value.toString().trim()==='')\r\n this.setState({igual:true})\r\n else\r\n this.setState({igual:false})\r\n\r\n if(event.target.value>this.state.selection_nota[0].PORCENTAJE){\r\n this.setState({errornota:true})\r\n }\r\n else{\r\n this.setState({errornota:false})\r\n }\r\n}\r\n\r\nguardamodificar=()=> event => {\r\n\r\n if(this.notaRef.current.value.toString().trim()===''||parseInt(this.notaRef.current.value)<0||parseInt(this.notaRef.current.value)>100){\r\n funciones.showToast('e','Ingrese una nota correcta')\r\n return;\r\n }\r\n\r\n let rowss=clone(this.state.rows_notas)\r\n let cadena=''\r\n\r\n\r\n rowss.map((text,index,array)=>{\r\n if(text.ID_CALIFICACION===this.state.selection_nota[0].ID_CALIFICACION)\r\n {\r\n text.NUEVA=parseInt(this.notaRef.current.value)\r\n }\r\n return text;\r\n })\r\n\r\n\r\n rowss.forEach((element,index)=>{\r\n if(index===0)\r\n cadena=element.NUEVA.toString()\r\n else\r\n cadena=cadena+','+element.NUEVA.toString()\r\n })\r\n\r\n // console.log(this.state.selection[0].ID_SECCION_CLIENTE)\r\n // console.log(cadena)\r\n this.consulta_notafinal(this.state.selection[0].ID_SECCION_CLIENTE,cadena,1)\r\n this.setState({open_modificar: false,rows_notas: rowss, selection_nota: []})\r\n currentnota='';\r\n}\r\n\r\nguardarectificacion=()=> event => {\r\n\r\n if(JSON.stringify(this.state.rows_notas)===JSON.stringify(this.state.rows_notas_original)){\r\n return;\r\n }\r\n\r\n this.setState({open_confirmacion: true})\r\n}\r\n\r\nacepto_confirmacion=()=>{\r\n\r\n if(JSON.stringify(this.state.rows_notas)===JSON.stringify(this.state.rows_notas_original)){\r\n return;\r\n }\r\n\r\n let cadena=''\r\n\r\n this.state.rows_notas.forEach((element,index)=>{\r\n if(index===0)\r\n cadena=element.NUEVA.toString()\r\n else\r\n cadena=cadena+','+element.NUEVA.toString()\r\n })\r\n\r\n this.setState({isloading_notas: true,openBackDrop: true},()=>{\r\n try{\r\n new Request\r\n .post(`${ip}/rectificacion/U_rectificar_nota`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ID_SECCION_CLIENTE: this.state.selection[0].ID_SECCION_CLIENTE ,VALORES: cadena,USUARIO: Auth.getProfile().user})\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 60000, }) \r\n .end((err, res) => {\r\n if (err) { \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n { \r\n window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false, isloading_notas: false }, ()=> { \r\n \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n if (rows.length > 0) \r\n { \r\n if (rows[0].RESP === \"OK\") {\r\n this.setState({ openBackDrop: false , isloading_notas: false,open_rectificar: false,open_confirmacion: false,selection: [],selection_nota: [],rows_notas: []}, () => {\r\n funciones.showToast(\"s\", 'Proceso Completado Correctamente.');\r\n this.consulta_clases()\r\n })\r\n }\r\n else {\r\n this.setState({ openBackDrop: false , isloading_notas: false}, () => {\r\n funciones.showToast(\"w\", rows[0].RESP);\r\n });\r\n }\r\n }\r\n })\r\n }\r\n catch(ex){\r\n this.setState({isloading_notas: false,openBackDrop: false})\r\n funciones.showToast('e', 'Error de conexión'); \r\n }\r\n })\r\n}\r\n\r\nhandleClose_confirmacion=()=>{\r\n this.setState({open_confirmacion: false})\r\n}\r\n\r\n/* RENDER */\r\nrender() {\r\n const { classes } = this.props;\r\n\r\n const botones_rectificar = [\r\n {icono: 'Save', toolt: 'Guardar Rectificación', nombre: 'Guardar' ,escritura:true, onclick: this.guardarectificacion()\r\n , display: 'auto'},\r\n {icono: 'Close', toolt: 'Cancelar', nombre: 'Cancelar' , onclick: this.cancelar\r\n , display:'auto', color: 'red'},\r\n ]\r\n const botones_modificar = [\r\n {icono: 'Save', toolt: 'Aceptar Cambio', nombre: 'Aceptar' ,escritura:true,disabled: this.state.errornota||this.state.igual , onclick: this.guardamodificar()\r\n , display: 'auto'},\r\n {icono: 'Close', toolt: 'Cancelar', nombre: 'Cancelar' , onclick: this.cancelar_modificar\r\n , display:'auto', color: 'red'},\r\n ]\r\n\r\n if (this.state.isLoggin === true )\r\n {\r\n return ( \r\n \r\n \r\n \r\n {'Guardando...'}\r\n \r\n
\r\n option.CUENTA_ALUMNO + ' | ' + option.NOMBRE_COMPLETO}\r\n style={{ width: !movil ? '400px' : '95%'}} \r\n renderInput={(params) => \r\n {this.state.isLoadingClientes ? : null}\r\n {params.InputProps.endAdornment}\r\n \r\n ),\r\n readOnly: this.state.isSaving\r\n }}\r\n />}\r\n renderOption={(option) => (\r\n \r\n {option.CUENTA_ALUMNO}\r\n {option.NOMBRE_COMPLETO} \r\n \r\n )}\r\n noOptionsText={'No hay resultados'}\r\n loadingText={'Cargando...'} \r\n onChange={this.onChangeAutocompleteAdd}\r\n open={this.state.openAutoCompleteAdd}\r\n loading = {this.state.isLoadingClientes}\r\n ListboxComponent={ListboxComponent}\r\n disableListWrap\r\n value={this.state.valueAutoCompleteAdd} \r\n autoHighlight\r\n disableClearable={this.state.isSaving}\r\n clearText = 'Borrar'\r\n openText = ''\r\n closeText = ''\r\n classes= {{ popper: classes.popper }}\r\n onInputChange={this.onChangeInput} \r\n /> \r\n option.DESCRIPCION}\r\n style={{ width: !movil ? '400px' : '95%', marginLeft: 10 }} \r\n renderInput={(params) => \r\n {this.state.isLoading_periodos ? : null}\r\n {params.InputProps.endAdornment}\r\n \r\n ),\r\n readOnly: this.state.isSaving_periodos\r\n }}\r\n />}\r\n renderOption={(option) => (\r\n \r\n {option.DESCRIPCION} \r\n \r\n )}\r\n noOptionsText={'No hay resultados'}\r\n loadingText={'Cargando...'} \r\n onChange={this.onChangeAutocompleteAdd_periodos}\r\n //open={this.state.openAutoCompleteAdd_periodos}\r\n loading = {this.state.isLoading_periodos}\r\n ListboxComponent={ListboxComponent_periodos}\r\n disableListWrap\r\n value={this.state.valueAutoCompleteAdd_periodos} \r\n autoHighlight\r\n disableClearable={this.state.isSaving_periodos}\r\n clearText = 'Borrar'\r\n openText = ''\r\n closeText = ''\r\n classes= {{ popper: classes.popper }}\r\n //sonInputChange={this.onChangeInput_periodos} \r\n /> \r\n
\r\n
\r\n }\r\n VirtualTable_cellComponent={this.VirtualTable_cellComponent}\r\n //rowHeaderCellComponent={TableTreeColumnHeader_cellComponent}\r\n showSelectionColumn={false}\r\n />\r\n
\r\n\r\n {/*--------------------------------------------------------------DIALOG DE PARCIALES----------------------------------------*/}\r\n\r\n \r\n \r\n Rectificación de Nota ( {this.state.selection[0]!==undefined?this.state.selection[0].DESCRIPCION_CURSO:''} ) \r\n \r\n \r\n }\r\n totalItems={totalSummaryItems}\r\n totalCellComponent= {TotalCellComponent(this.state.valor_actual,this.state.valor_nuevo)} \r\n VirtualTable_cellComponent={VirtualTable_cellComponent_notas}\r\n //rowHeaderCellComponent={TableTreeColumnHeader_cellComponent}\r\n showSelectionColumn={false}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {/*---------------------------------------- DIALOG INGRESO DE NOTA NUEVA ----------------------------------------------- */}\r\n\r\n \r\n \r\n Modificar Nota \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n label={'Nota'}\r\n labelPlacement=\"start\"\r\n style={{margin:0}}\r\n />\r\n \r\n \r\n }\r\n label={'Nueva Nota'}\r\n labelPlacement=\"start\"\r\n style={{margin:0}}\r\n />\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n {/*-------------------------------------------------------DIALOG DE CONFIRMACION---------------------------------------------*/}\r\n\r\n \r\n \r\n Confirmación\r\n \r\n \r\n 1. Si modifica un correquisito -Lab/Pc-, se modificará automáticamente la ponderación de correquisito -Lab/Pc- en el curso base.\r\n

\r\n 2. Si el curso a modificar está con doble titulación, tambien se modificará la nota final del curso en el plan secundario.\r\n

\r\n 3. Al momento de confirmar, se modificarán las evaluaciones editadas y la nota final del curso.\r\n

\r\n 4. Tener en cuenta que cada modificación se guarda en un histórico, por lo tanto, estar seguro del cambio a realizar.\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n ); /// finaliza return\r\n }\r\n else if (this.state.isLoggin === false)\r\n {\r\n Auth.logout()\r\n window.location.reload();\r\n return; \r\n }\r\n\r\n\r\n return null;\r\n} /// finaliza render\r\n} /// finaliza class\r\n)/// finaliza withStyles\r\n\r\n"],"sourceRoot":""}