{"version":3,"sources":["themeMui.js","themeMui_login.js","pages/suficiencia/suficiencia_estudiante.js","pages/reportes/reporte_parametros.js","serviceWorker.js"],"names":["movil","test","navigator","userAgent","theme","createMuiTheme","palette","secondary","main","colores","naranja","primary","azul","props","MuiButton","size","MuiFilledInput","margin","MuiFormControl","MuiFormHelperText","MuiIconButton","MuiInputBase","MuiInputLabel","MuiListItem","dense","MuiOutlinedInput","MuiFab","MuiTable","MuiTextField","MuiToolbar","variant","MuiButtonBase","disableRipple","MuiSwitch","MuiCheckbox","MuiAutocomplete","disableListWrap","autoHighlight","clearText","openText","closeText","noOptionsText","loadingText","MuiListItemIcon","style","minWidth","overrides","MuiAccordion","root","boxShadow","border","borderBottom","display","MuiAccordionSummary","maxHeight","minHeight","expandIcon","width","height","transform","label","fontSize","MuiSelect","icon","marginTop","marginRight","select","paddingLeft","popupIndicator","clearIndicator","paper","listbox","option","undefined","MuiTooltip","tooltip","MuiTableRow","color","MuiTabs","backgroundColor","tabla","encabezado","indicator","MuiTab","MuiDialogTitle","paddingTop","paddingBottom","textAlign","MuiDialogContent","paddingRight","MuiDialogActions","justifyContent","marginLeft","MuiTableCell","body","footer","MuiListSubheader","whiteSpace","textOverflow","overflow","cursor","verticalAlign","lineHeight","MuiInput","input","background","padding","typography","fontFamily","display4","display3","display2","display1","headline","title","subtitle1","subtitle2","subheading","body2","body1","caption","button","h6","h5","alignItems","Auth","AuthService","ip","globales","border_dialog","movil_pequeño","isVisibleRowSelected","colorRowSelected","selection","alternateColorRow1","alternateColorRow2","ListboxComponent","virtual","getRowId","row","ID_CURSO_HIJO","getRowId_niveles","defaultHiddenColumnNames","defaultHiddenColumnNames_niveles","columns","name","columns_niveles","tableColumnExtensions","columnName","wordWrapEnabled","align","tableColumnExtensions_niveles","groupSummaryItems","type","grouping","GroupCellContent","_ref","column","_jsx","children","value","styles","popper","zIndex","Dialog","borderRadius","backdrop","flexDirection","spacing","textField","withStyles","React","Component","constructor","super","tablaRef","createRef","onEntering","this","consulta_suficiencia_especial","aceptar_suficiencia","setState","openBackDrop","cuenta_alumno","state","valueAutoCompleteAdd","CUENTA_ALUMNO","Request","post","set","getToken","send","getProfile","plataforma","user","ID_FACTURA","ID_CURSO_PADRE","ID_DETALLE_PLAN","TIPO","ESPECIAL","ID_SUFICIENCIA","USUARIO","retry","timeout","response","deadline","end","err","res","toString","substr","window","location","reload","funciones","showToast","rows","JSON","parse","text","length","RESP","consulta_suficiencias","open_seleccion","ex","aceptar_suficiencia_niveles","selection_niveles","open_seleccion_niveles","quitar_suficiencia_niveles","open_borrar_niveles","quitar_suficiencia","open_borrar","_this","get","tmp","rows_niveles","actualizarcircular","allGroups","grupo","found","forEach","item","index","find","GRUPO","push","filters","expandedGroups","segundo_grupo","heightTableMain","getHeightTableMain","heightTable","cerrardialog_niveles","event","open_niveles","cerrardialog_selection","cerrardialog_selection_niveles","changeFilters","changeExpandedGroups","filtersClientes","optionAutocompleteAdd","openAutoComplete","isLoadingClientes","onBlurAutoCompleteAdd","openAutoCompleteAdd","onChangeAutocompleteAdd","onChangeInput","e","target","trim","NOMBRE_COMPLETO","l","i","actualizarbarra","isLoggin","filteringColumnExtensions","expandedRowIds","enabledFilterRows","loadingsuficiencias","isSaving","TotalGroupCellComponent","allMONEDAS","CHECK1","SIMBOLO_MONEDA","tableRow","Table","StubCell","TableSummaryRow","TotalCell","StubCellComponentTable","_ref4","colSpan","tableColumn","key","VirtualTable_cellComponent","ClickCheckbox","CODIGO_CURSO","DESCRIPCION_CURSO","MONTO","Clickniveles","Cell","PAGO","Checkbox","checked","onClick","disabled","Tooltip","Button","textTransform","startIcon","Icono","icono","VirtualTable_cellComponent_niveles","SECUENCIA","trow","TableRow","_ref2","classes","highlighted","rowIndex","selectByRowClick","odd","Row","trow_niveles","_ref3","componentDidMount","render","botones_seleccionar","nombre","escritura","onclick","botones_quitar","botones_seleccionar_niveles","botones_quitar_niveles","botones_niveles","_jsxs","Fragment","marginBottom","Autocomplete","id","options","getOptionLabel","renderInput","params","TextField","onBlur","InputProps","endAdornment","CircularProgress","readOnly","renderOption","onChange","open","loading","disableClearable","onInputChange","Backdrop","className","fullWidth","maxWidth","TransitionProps","DialogTitle","DialogContent","CustomTable","Columns","Rows","TableColumnExtensions","DefaultHiddenColumnNames","Selection","RowComponent","standarPlugin","TableRowsIndexer","ChangeExpandedGroups","showSelectionColumn","BarraBotones","botones","Typography","ref","marginleft_movil","marginleft","marginright_movil","marginright","Filters","onFiltersChange","Grouping","ExpandedGroups","groupItems","summaryRowMessages","count","sum","groupContentComponent","groupCellComponent","stubCellComponentTable","logout","url_reporte","parametros_reporte","root_speed","actionsClosed","transition","fab_speed","borderTopRightRadius","borderBottomLeftRadius","Switch","common","white","opacity","thumb","track","transitions","create","abrirgenerar","validado","valores","thiss","parametros","NOMBRE","PERMITE_NULO","parametros_extras","debe_validar","valores_parametros_validar","parametros_validar","split","text2","index2","ID","substring","validando","LABEL_REPORTE","label_reporte","PARAMETROS","tmp2","ES_ALUMNO","getDateSelect","parametros_final","switch","document","getElementById","click","URL_reporte","reporte","parametros_valores","tipo","cargando","rol","URL","param","param_valor","x","windowSize","innerWidth","innerHeight","url","open_parametros","botoncancelar","botonlimpiar","VARIABLE","filter","SECUENCIA_PARAMETRO","ESPERA_PARAMETRO","Datos","Condicion","CONDICION","COLUMNA","map","datos","MenuItem","onChangeAutocomplete","newValue","condicion","valor1","valor2","match","ChangeSelect","changeswitch","openchangedspeed","open_speed","closechangedspeed","handleDateChange","date","error","parametro_error","loggedIn","then","b","tmp_sinesalumno","ES_QUERY","QUERY","QUERY_SQL","DEBE_VALIDAR","PARAMETROS_VALIDAR","toolt","Reporte","nom_boton","nom_bar","backcolor","fill","fullScreen","boton","color_bar","position","bottom","top","left","right","SpeedDial","ariaLabel","SpeedDialIcon","openIcon","SettingsIcon","SettingsTwoToneIcon","hidden","direction","onClose","fab","SpeedDialAction","FilterListRoundedIcon","tooltipTitle","tooltipPlacement","Drawer","anchor","PaperProps","BackdropProps","ModalProps","container","Paper","borderTopLeftRadius","fontWeight","correo_soporte","ETIQUETA","InputLabelProps","shrink","Select","Label","Selected","Multiple","SelectClass","Style","ShowItemNone","LabelItemNone","ValueItemNone","AutoFocus","Outlined","LinearProgress","required","DESCRIPCION","getOptionSelected","MuiPickersUtilsProvider","utils","DateFnsUtils","locale","esLocale","KeyboardDatePicker","inputVariant","format","autoOk","ToolbarComponent","CustomToolbar","FormControlLabel","control","switchBase","onLoad","src","frameBorder","Boolean","hostname","unregister","serviceWorker","ready","registration"],"mappings":"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","file":"static/js/main~3d9b8e9e.6d6e092b.chunk.js","sourcesContent":["import {createMuiTheme} from '@material-ui/core/styles';\r\nimport {colores} from './global';\r\n\r\nconst movil=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n\r\nexport const theme = createMuiTheme({\r\n palette: {\r\n secondary: {\r\n main: colores.naranja\r\n },\r\n primary: {\r\n main: colores.azul\r\n },\r\n //type: 'dark'\r\n },\r\n props: {\r\n MuiButton: {\r\n size: 'small',\r\n },\r\n MuiFilledInput: {\r\n margin: 'dense',\r\n },\r\n MuiFormControl: {\r\n margin: 'dense',\r\n },\r\n MuiFormHelperText: {\r\n margin: 'dense',\r\n },\r\n MuiIconButton: {\r\n size: 'small',\r\n },\r\n MuiInputBase: {\r\n margin: 'dense',\r\n },\r\n MuiInputLabel: {\r\n margin: 'dense',\r\n },\r\n MuiListItem: {\r\n dense: true,\r\n },\r\n MuiOutlinedInput: {\r\n margin: 'dense',\r\n },\r\n MuiFab: {\r\n size: 'small',\r\n },\r\n MuiTable: {\r\n size: 'small',\r\n },\r\n MuiTextField: {\r\n margin: 'dense',\r\n },\r\n MuiToolbar: {\r\n variant: 'dense',\r\n },\r\n MuiButtonBase: { \r\n disableRipple: true, \r\n },\r\n MuiSwitch: {\r\n size: 'small'\r\n },\r\n MuiCheckbox: {\r\n size: 'small'\r\n },\r\n MuiAutocomplete: { \r\n disableListWrap: true,\r\n autoHighlight: true, \r\n clearText: 'Borrar',\r\n openText: 'Abrir',\r\n closeText: 'Cerrar',\r\n noOptionsText: 'Sin opciones',\r\n loadingText: 'Cargando...' \r\n },\r\n MuiListItemIcon: {\r\n style: { minWidth: 30 }\r\n },\r\n },\r\n overrides: {\r\n //MuiIconButton: {\r\n //sizeSmall: {\r\n // Adjust spacing to reach minimal touch target hitbox\r\n //marginLeft: 4,\r\n //marginRight: 4, \r\n //marginTop: 2,\r\n //padding: 1,\r\n //},\r\n //},\r\n MuiAccordion: {\r\n root: { \r\n boxShadow: 'none',\r\n border: '1px solid rgba(0, 0, 0, .125)',\r\n '&:not(:last-child)': {\r\n borderBottom: 0,\r\n },\r\n '&:before': {\r\n display: 'none',\r\n },\r\n '&$expanded': {\r\n margin: 'auto',\r\n }\r\n },\r\n },\r\n MuiAccordionSummary: {\r\n root: { \r\n maxHeight: 35,\r\n minHeight: 35,\r\n '&$expanded': { \r\n minHeight: 35,\r\n },\r\n }, \r\n expandIcon: { \r\n width: 22, \r\n height: 22,\r\n }\r\n }, \r\n MuiCheckbox: {\r\n root: {\r\n transform: \"scale(1.2)\",\r\n width: 26,\r\n height: 26,\r\n }\r\n },\r\n MuiButton: {\r\n label: { fontSize: 12 }\r\n },\r\n MuiSelect: {\r\n icon: { marginTop: 2, marginRight: 2 },\r\n select: { paddingLeft: 12 } \r\n },\r\n MuiAutocomplete: {\r\n popupIndicator: { marginTop: 2 },\r\n clearIndicator: { marginTop: 2 },\r\n paper: { marginTop: 0 },\r\n listbox: { maxHeight: movil ? 160 : 243 }, \r\n option: { minHeight: movil ? 28 : undefined }\r\n },\r\n MuiTooltip:{\r\n tooltip:{\r\n fontSize: 12\r\n }\r\n },\r\n MuiTableRow: { \r\n root: {\r\n \"&:first-child th\": {\r\n color: \"white\"\r\n }, \r\n }\r\n },\r\n MuiTabs:{\r\n root: {\r\n color: \"white\",\r\n backgroundColor: colores.tabla.encabezado, \r\n minHeight: \"35px\"\r\n ,maxHeight: \"35px\"\r\n },\r\n indicator:{\r\n backgroundColor: colores.naranja,\r\n },\r\n },\r\n MuiTab: {\r\n root: {\r\n backgroundColor: colores.tabla.encabezado, \r\n maxHeight: 35,\r\n minHeight: 35, \r\n //color: 'inherit'\r\n },\r\n /*selected: {\r\n backgroundColor: colores.tabla.encabezado,\r\n color:'#ffff'\r\n }*/\r\n },\r\n MuiDialogTitle: {\r\n root: {\r\n color: \"white\",\r\n backgroundColor: colores.tabla.encabezado,//colores.azul,\r\n paddingTop: \"6px\",\r\n paddingBottom: \"6px\",\r\n textAlign: \"center\",\r\n }\r\n },\r\n MuiDialogContent:{\r\n root:{\r\n paddingLeft: '18px', \r\n paddingRight: '18px',\r\n paddingBottom: \"0px\", \r\n paddingTop: \"18px\"\r\n }\r\n },\r\n MuiDialogActions:{\r\n root: {\r\n justifyContent: 'center', \r\n marginLeft: \"15px\",\r\n marginRight: \"15px\"\r\n }\r\n },\r\n MuiTableCell: {\r\n body: { height: 29 },\r\n footer: { height: 29 }\r\n },\r\n MuiListSubheader: {\r\n root: {\r\n fontSize: 12, \r\n color: colores.azul,\r\n backgroundColor: '#FFFFFF !important',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden', \r\n cursor: \"default\", \r\n maxHeight: \"35px\", \r\n minHeight: \"35px\",\r\n display: \"inline-block\", \r\n verticalAlign: \"middle\", \r\n lineHeight: \"35px\", \r\n width: \"100%\", \r\n },\r\n },\r\n MuiInput: {\r\n input: {\r\n fontSize: \"12px !important\",\r\n },\r\n },\r\n MuiInputLabel: { \r\n root: { \r\n \"&$shrink\": { \r\n fontSize: 15,\r\n background: '#ffffff',\r\n padding: '0px 5px 0px 0px', \r\n marginLeft: \"-2px !important\" \r\n },\r\n }, \r\n },\r\n },\r\n typography: {\r\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif',\r\n fontSize: 12,\r\n display4: {\r\n fontSize: 12,\r\n },\r\n display3: {\r\n fontSize: 12,\r\n },\r\n display2: {\r\n fontSize: 12,\r\n },\r\n display1: {\r\n fontSize: 12,\r\n },\r\n headline: {\r\n fontSize: 12,\r\n },\r\n title: {\r\n fontSize: 12,\r\n },\r\n subtitle1: {\r\n fontSize: 12, \r\n },\r\n subtitle2: {\r\n fontSize: 14, \r\n },\r\n subheading: {\r\n fontSize: 12,\r\n },\r\n body2: {\r\n fontSize: 12,\r\n },\r\n body1: {\r\n fontSize: 12,\r\n },\r\n caption: {\r\n fontSize: 12,\r\n },\r\n button: {\r\n fontSize: 12,\r\n },\r\n h6: {\r\n fontSize: 15,\r\n },\r\n },\r\n});","import {createMuiTheme} from '@material-ui/core/styles';\r\nimport {colores} from './global';\r\n\r\n//const movil=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n\r\nexport const theme = createMuiTheme({\r\n palette: {\r\n //type: 'dark',\r\n secondary: { main: colores.naranja },\r\n primary: { main: colores.azul },\r\n },\r\n typography: {\r\n body1: {\r\n fontSize: 12,\r\n },\r\n body2: {\r\n fontSize: \"12px !important\",\r\n },\r\n subtitle1: { fontSize: 14 },\r\n subtitle2: { fontSize: 15 },\r\n h5: { fontSize: 16 },\r\n h6: { fontSize: 14 },\r\n },\r\n overrides: {\r\n MuiInputLabel: {\r\n root: {\r\n \"&$shrink\": {\r\n fontSize: 16,\r\n background: \"#ffffff\",\r\n padding: \"0px 4px 0px 0px\",\r\n },\r\n },\r\n },\r\n MuiInputBase: {\r\n root: {\r\n fontSize: \"12px !important\",\r\n },\r\n },\r\n MuiTooltip: {\r\n tooltip: {\r\n fontSize: 12,\r\n },\r\n },\r\n MuiTableRow: {\r\n root: {\r\n \"&:first-child th\": {\r\n color: \"white\",\r\n },\r\n },\r\n },\r\n MuiTabs: {\r\n root: {\r\n color: \"white\",\r\n backgroundColor: colores.azul,\r\n },\r\n indicator: {\r\n backgroundColor: colores.naranja,\r\n },\r\n },\r\n MuiDialogTitle: {\r\n root: {\r\n textAlign: \"center\",\r\n color: \"white\",\r\n backgroundColor: colores.azul,\r\n paddingTop: \"8px\",\r\n paddingBottom: \"8px\",\r\n },\r\n },\r\n MuiDialogContent: {\r\n root: {\r\n paddingLeft: \"10px\",\r\n paddingRight: \"10px\",\r\n marginLeft: \"8px\",\r\n marginRight: \"8px\",\r\n paddingBottom: \"0px\",\r\n paddingTop: \"18px\",\r\n },\r\n },\r\n MuiDialogActions: {\r\n root: {\r\n justifyContent: \"center\",\r\n marginLeft: \"0px\",\r\n marginRight: \"0px\",\r\n },\r\n },\r\n MuiTableCell: {\r\n root: {\r\n paddingTop: \"12px\",\r\n paddingBottom: \"12px\",\r\n },\r\n body: {\r\n height: \"43px\",\r\n },\r\n footer: {\r\n height: \"43px\",\r\n },\r\n },\r\n MuiInput: {\r\n input: {\r\n fontSize: \"12px !important\",\r\n },\r\n },\r\n MuiListSubheader: {\r\n root: {\r\n fontSize: 12,\r\n paddingTop: \"10px !important\",\r\n maxHeight: \"45px !important\",\r\n minHeight: \"45px !important\",\r\n color: colores.azul,\r\n backgroundColor: \"#FFFFFF !important\",\r\n whiteSpace: \"nowrap\",\r\n textOverflow: \"ellipsis\",\r\n overflow: \"hidden\",\r\n display: \"flex\",\r\n alignItems: \"bottom\",\r\n },\r\n },\r\n },\r\n props: {\r\n MuiButtonBase: {\r\n disableRipple: true,\r\n },\r\n },\r\n});","import 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} from '@devexpress/dx-react-grid-material-ui';\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 TableRowsIndexer from '../../components/tableRowsIndexer'\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport { Typography } from '@material-ui/core';\r\nimport {TableSummaryRow} from '@devexpress/dx-react-grid-material-ui';\r\nimport Button from '@material-ui/core/Button';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport {virtual} from '../../components/VirtualListBox';\r\n\r\nlet Auth = new AuthService();\r\nvar ip=globales.ip\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\n//let searchWorker = undefined;\r\nlet isVisibleRowSelected = false;\r\nconst colorRowSelected = 'rgb('+ colores.tabla.selection +')';\r\nlet alternateColorRow1 = colores.tabla.alternateColorRow1; \r\nlet alternateColorRow2 = colores.tabla.alternateColorRow2;\r\nconst ListboxComponent = virtual.ListboxComponent;\r\n\r\nconst getRowId = row => row.ID_CURSO_HIJO;\r\nconst getRowId_niveles = row => row.ID_CURSO_HIJO;\r\n\r\n\r\nconst defaultHiddenColumnNames= ['ID_SUFICIENCIA','SIMBOLO_MONEDA','ID_CURSO_HIJO','ID_CURSO_PADRE','ID_FACTURA','CURSO_PADRE','ID_DETALLE_PLAN','CHECK1','PAGO','ESPECIAL'];\r\nconst defaultHiddenColumnNames_niveles= ['SECUENCIA','SIMBOLO_MONEDA','CODIGO_CURSO','CREDITOS','ID_CURSO_HIJO','ID_CURSO_PADRE','ID_FACTURA','CURSO_PADRE','ID_DETALLE_PLAN','CHECK1','PAGO'];\r\n\r\nconst columns= [{name:'CHECK',title: ' '},{name:'CODIGO_CURSO',title: 'Código'},{name:'DESCRIPCION_CURSO',title: 'Descripción'}\r\n ,{name:'CREDITOS',title: 'UV'},{name:'ID_CURSO_HIJO',title: 'ID_CURSO_HIJO'},{name:'ID_CURSO_PADRE',title: 'ID_CURSO_PADRE'},\r\n {name:'ID_FACTURA',title: 'ID_FACTURA'},\r\n {name:'CURSO_PADRE',title: 'CURSO_PADRE'},{name:'ID_DETALLE_PLAN',title: 'ID_DETALLE_PLAN'},{name:'ID_SUFICIENCIA',title: 'ID_SUFICIENCIA'},\r\n {name:'MONTO',title: 'Monto'},{name:'GRUPO',title: 'GRUPO'},{name:'ESTADO',title: 'Estado'},{name:'SIMBOLO_MONEDA',title: 'SIMBOLO_MONEDA'},{name:'CHECK1',title: 'CHECK1'},{name:'PAGO',title: 'PAGO'},{name:'ESPECIAL',title: 'ESPECIAL'},{name:'ELIMINAR',title: ' '},\r\n];\r\n\r\nconst columns_niveles= [{name:'CHECK',title: ' '},{name:'CODIGO_CURSO',title: 'Código'},{name:'DESCRIPCION_CURSO',title: 'Descripción'}\r\n,{name:'CREDITOS',title: 'UV'},{name:'ID_CURSO_HIJO',title: 'ID_CURSO_HIJO'},{name:'ID_CURSO_PADRE',title: 'ID_CURSO_PADRE'}\r\n,{name:'ID_FACTURA',title: 'ID_FACTURA'}\r\n,{name:'CURSO_PADRE',title: 'CURSO_PADRE'},{name:'ID_DETALLE_PLAN',title: 'ID_DETALLE_PLAN'}\r\n,{name:'MONTO',title: 'Monto'},{name:'ESTADO',title: 'Estado'}\r\n,{name:'SECUENCIA',title: 'SECUENCIA'}\r\n,{name:'CHECK1',title: 'CHECK1'},{name:'SIMBOLO_MONEDA',title: 'SIMBOLO_MONEDA'},{name:'PAGO',title: 'PAGO'},{name:'ELIMINAR',title: ' '}]\r\n\r\nconst tableColumnExtensions= [\r\n { columnName: 'CHECK', wordWrapEnabled: false, align: 'center',width: 60},\r\n { columnName: 'CODIGO_CURSO', wordWrapEnabled: false, align: 'center',width: 250},\r\n { columnName: 'DESCRIPCION_CURSO', wordWrapEnabled: true, align: 'center'},\r\n { columnName: 'CREDITOS', wordWrapEnabled: false, align: 'center',width: 50},\r\n { columnName: 'MONTO', wordWrapEnabled: false, align: 'center',width: 200},\r\n { columnName: 'ESTADO', wordWrapEnabled: false, align: 'center',width: 150},\r\n { columnName: 'ELIMINAR', wordWrapEnabled: false, align: 'center',width: 150},\r\n];\r\nconst tableColumnExtensions_niveles= [{ columnName: 'CHECK', wordWrapEnabled: false, align: 'center',width: 60},\r\n { columnName: 'DESCRIPCION_CURSO', wordWrapEnabled: true, align: 'center'},\r\n { columnName: 'MONTO', wordWrapEnabled: false, align: 'center',width: 120},\r\n { columnName: 'ESTADO', wordWrapEnabled: false, align: 'center',width: 150},\r\n { columnName: 'ELIMINAR', wordWrapEnabled: false, align: 'center',width: 150},\r\n];\r\n\r\n/*\r\nconst totalSummaryItems = [\r\n { columnName: \"CHECK\", type: \"count\" },\r\n { columnName: \"MONTO\", type: \"sum\" }, \r\n];*/\r\n\r\nconst groupSummaryItems = [ \r\n { columnName: \"MONTO\", type: \"sum\" },\r\n];\r\n\r\nconst grouping= [{ columnName: 'GRUPO' }]\r\n\r\n\r\nconst GroupCellContent = ({ column, row }) => {\r\n return(\r\n \r\n {row.value}\r\n \r\n )\r\n};\r\n/* CLASES DE ESTILO */\r\n\r\nvar styles = theme =>({\r\n popper: {\r\n zIndex: 400500,\r\n },\r\n Dialog:{\r\n borderRadius: border_dialog,\r\n margin:0,\r\n padding:0\r\n },\r\n backdrop: {\r\n zIndex: 500000,\r\n color: '#fff', \r\n flexDirection: 'column'\r\n },\r\n select: { //CONFIGURA EL SELECT \r\n margin: theme.spacing(movil_pequeño?2:1, 1,0,0),\r\n 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/* EXPORT */\r\nexport default withStyles(styles)(\r\n class Suficiencia_estudiante extends React.Component {\r\n tablaRef = 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 open_niveles: false,\r\n open_seleccion_niveles: false,\r\n open_borrar_niveles: false,\r\n segundo_grupo: '',\r\n isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n rows_niveles: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n enabledFilterRows: true,\r\n selection: [],\r\n selection_niveles: [],\r\n open_seleccion: false,\r\n open_borrar: false,\r\n optionAutocompleteAdd: [],\r\n isLoadingClientes: true,\r\n loadingsuficiencias: false,\r\n openAutoCompleteAdd: false,\r\n valueAutoCompleteAdd: null,\r\n isSaving: false,\r\n }\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 \r\n if (this.state.selection[0]===undefined?this.state.selection[0]:this.state.selection[0].ID_CURSO_HIJO === props.tableRow.row.ID_CURSO_HIJO) { isVisibleRowSelected = true; }\r\n return (\r\n \r\n );\r\n });\r\n const trow_niveles = TableRow => withStyles(styles, { name: \"Row\" })( ({classes,highlighted, rowIndex, row, selectByRowClick, ...props}) => {\r\n\r\n const odd = !!(rowIndex % 2);\r\n \r\n if (this.state.selection_niveles[0]===undefined?this.state.selection_niveles[0]:this.state.selection_niveles[0].ID_CURSO_HIJO === props.tableRow.row.ID_CURSO_HIJO) { isVisibleRowSelected = true; }\r\n return (\r\n \r\n );\r\n });\r\n\r\n\r\n const VirtualTable_cellComponent_niveles = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n\r\n const ClickCheckbox=(ID_CURSO_HIJO,ID_CURSO_PADRE,DESCRIPCION_CURSO,MONTO,ID_FACTURA,ID_DETALLE_PLAN,TIPO) => event =>{\r\n this.setState({selection_niveles: [{ID_CURSO_HIJO,ID_CURSO_PADRE,DESCRIPCION_CURSO,MONTO,ID_FACTURA,ID_DETALLE_PLAN}] ,open_seleccion_niveles: TIPO===1?true:false,open_borrar_niveles: TIPO===2?true:false})\r\n }\r\n\r\n if(column.name===\"ESTADO\")\r\n {\r\n return(\r\n \r\n {row.CHECK1?row.PAGO?Pagada:Pendiente de Pago:null}\r\n \r\n );\r\n }\r\n\r\n if(column.name===\"CHECK\")\r\n {\r\n return(\r\n \r\n \r\n \r\n );\r\n }\r\n if(column.name===\"ELIMINAR\")\r\n {\r\n return(\r\n \r\n {\r\n row.CHECK1&&!row.PAGO?(this.state.rows_niveles[row.SECUENCIA]!==undefined?this.state.rows_niveles[row.SECUENCIA].CHECK1:false)?\r\n \r\n : \r\n }>\r\n Eliminar\r\n \r\n \r\n :null\r\n } \r\n \r\n );\r\n\r\n }\r\n if(column.name===\"MONTO\")\r\n {\r\n return(\r\n \r\n {row.SIMBOLO_MONEDA+' '+ row.MONTO}\r\n \r\n );\r\n }\r\n\r\n return(\r\n \r\n );\r\n }\r\n\r\n const VirtualTable_cellComponent = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n const ClickCheckbox=(ID_CURSO_HIJO,ID_CURSO_PADRE,CODIGO_CURSO,DESCRIPCION_CURSO,MONTO,ID_FACTURA,ID_DETALLE_PLAN,TIPO) => event =>{\r\n \r\n this.setState({selection: [{ID_CURSO_HIJO,ID_CURSO_PADRE,CODIGO_CURSO,DESCRIPCION_CURSO,MONTO,ID_FACTURA,ID_DETALLE_PLAN}] ,open_seleccion: TIPO===1?true:false,open_borrar: TIPO===2?true:false})\r\n }\r\n const Clickniveles=(ID_CURSO_HIJO,ID_CURSO_PADRE,CODIGO_CURSO,DESCRIPCION_CURSO,MONTO,ID_FACTURA,ID_DETALLE_PLAN,ID_SUFICIENCIA) => event =>{\r\n this.setState({selection: [{ID_CURSO_HIJO,ID_CURSO_PADRE,CODIGO_CURSO,DESCRIPCION_CURSO,MONTO,ID_FACTURA,ID_DETALLE_PLAN,ID_SUFICIENCIA}],open_niveles:true})\r\n }\r\n\r\n if(column.name===\"ESTADO\")\r\n {\r\n return(\r\n \r\n {row.CHECK1?row.PAGO?Pagada:Pendiente de Pago:null}\r\n \r\n );\r\n }\r\n\r\n if(column.name===\"CHECK\")\r\n {\r\n return(\r\n \r\n \r\n \r\n );\r\n }\r\n if(column.name===\"MONTO\")\r\n {\r\n return(\r\n \r\n {row.SIMBOLO_MONEDA+' '+ row.MONTO}\r\n \r\n );\r\n }\r\n if(column.name===\"ELIMINAR\")\r\n {\r\n return(\r\n \r\n {row.CHECK1?\r\n !row.PAGO?\r\n \r\n \r\n \r\n :row.ESPECIAL?\r\n \r\n \r\n :null\r\n :null\r\n } \r\n \r\n );\r\n }\r\n return(\r\n \r\n );\r\n }\r\n\r\n const TotalGroupCellComponent = (props) => {\r\n var allMONEDAS=[]\r\n var found = null;\r\n this.state.rows.forEach(\r\n function getCheck(item, index) {\r\n if(item.CHECK1){\r\n found = allMONEDAS.find(grupo => grupo === item.SIMBOLO_MONEDA);\r\n if (found == null){\r\n allMONEDAS.push(item.SIMBOLO_MONEDA);\r\n }else {\r\n found = null;\r\n }\r\n }\r\n })\r\n if (props.tableRow.row.value === this.state.segundo_grupo || (props.tableRow.row.value !== this.state.segundo_grupo && allMONEDAS.length>1))\r\n {\r\n return ;\r\n }\r\n \r\n return ();\r\n \r\n }\r\n \r\n const StubCellComponentTable = ({ colSpan,...props}) => {\r\n var allMONEDAS=[]\r\n var found = null;\r\n this.state.rows.forEach(\r\n function getCheck(item, index) {\r\n if(item.CHECK1){\r\n found = allMONEDAS.find(grupo => grupo === item.SIMBOLO_MONEDA);\r\n if (found == null){\r\n allMONEDAS.push(item.SIMBOLO_MONEDA);\r\n }else {\r\n found = null;\r\n }\r\n }\r\n })\r\n\r\n if (props.tableRow.type.toString() === \"Symbol(groupSummary)\" && (props.tableRow.row.value === this.state.segundo_grupo || (props.tableRow.row.value !== this.state.segundo_grupo && allMONEDAS.length>1))) //&& props.tableColumn.type.toString() === \"Symbol(group)\"\r\n {\r\n return (); \r\n }\r\n return ();\r\n }\r\n this.TotalGroupCellComponent=TotalGroupCellComponent;\r\n this.StubCellComponentTable=StubCellComponentTable;\r\n this.VirtualTable_cellComponent = VirtualTable_cellComponent;\r\n this.VirtualTable_cellComponent_niveles=VirtualTable_cellComponent_niveles;\r\n this.trow = trow(Table.Row);\r\n this.trow_niveles = trow_niveles(Table.Row);\r\n }; //FIN CONSTRUCTORS\r\n\r\nonEntering=()=>{\r\n this.consulta_suficiencia_especial()\r\n}\r\n\r\naceptar_suficiencia=()=>{\r\n\r\n this.setState({ openBackDrop: true }, ()=>{\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}/suficiencia/ID_suficiencia`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({cuenta_alumno: Auth.getProfile().plataforma===2?Auth.getProfile().user:cuenta_alumno, ID_FACTURA: this.state.selection[0].ID_FACTURA, ID_CURSO_HIJO: this.state.selection[0].ID_CURSO_HIJO,ID_CURSO_PADRE: this.state.selection[0].ID_CURSO_PADRE\r\n , ID_DETALLE_PLAN: this.state.selection[0].ID_DETALLE_PLAN, TIPO: 1,ESPECIAL:0,ID_SUFICIENCIA: null,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 if (rows[0].RESP === 'OK')\r\n { \r\n this.consulta_suficiencias()\r\n this.setState({openBackDrop: false, open_seleccion: false, selection: []}, ()=>{\r\n funciones.showToast('s', 'Suficiencia ingresada correctamente.'); \r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: 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({ openBackDrop: false}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n}\r\n\r\naceptar_suficiencia_niveles=()=>{\r\n \r\n this.setState({ openBackDrop: true }, ()=>{\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}/suficiencia/ID_suficiencia`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({cuenta_alumno: Auth.getProfile().plataforma===2?Auth.getProfile().user:cuenta_alumno, ID_FACTURA: this.state.selection_niveles[0].ID_FACTURA, ID_CURSO_HIJO: this.state.selection_niveles[0].ID_CURSO_HIJO,ID_CURSO_PADRE: this.state.selection_niveles[0].ID_CURSO_PADRE\r\n , ID_DETALLE_PLAN: this.state.selection_niveles[0].ID_DETALLE_PLAN, TIPO: 1,ESPECIAL:1,ID_SUFICIENCIA: this.state.selection[0].ID_SUFICIENCIA,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 if (rows[0].RESP === 'OK')\r\n { \r\n this.consulta_suficiencia_especial()\r\n this.setState({openBackDrop: false, open_seleccion_niveles: false, selection_niveles: []}, ()=>{\r\n funciones.showToast('s', 'Suficiencia ingresada correctamente.'); \r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: 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({ openBackDrop: false}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n}\r\n\r\nquitar_suficiencia_niveles=()=>{\r\n this.setState({ openBackDrop: true }, ()=>{\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}/suficiencia/ID_suficiencia`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({cuenta_alumno: Auth.getProfile().plataforma===2?Auth.getProfile().user:cuenta_alumno, ID_FACTURA: this.state.selection_niveles[0].ID_FACTURA, ID_CURSO_HIJO: this.state.selection_niveles[0].ID_CURSO_HIJO,ID_CURSO_PADRE: this.state.selection_niveles[0].ID_CURSO_PADRE\r\n , ID_DETALLE_PLAN: this.state.selection_niveles[0].ID_DETALLE_PLAN, TIPO: 2,ESPECIAL:1,ID_SUFICIENCIA: this.state.selection[0].ID_SUFICIENCIA,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 if (rows[0].RESP === 'OK')\r\n { \r\n this.consulta_suficiencia_especial()\r\n this.setState({openBackDrop: false, open_borrar_niveles: false, selection_niveles: []}, ()=>{\r\n funciones.showToast('s', 'Se eliminó satisfactoriamente.'); \r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: 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({ openBackDrop: false}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n}\r\n\r\nquitar_suficiencia=()=>{\r\n\r\n this.setState({ openBackDrop: true }, ()=>{\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}/suficiencia/ID_suficiencia`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({cuenta_alumno: Auth.getProfile().plataforma===2?Auth.getProfile().user:cuenta_alumno, ID_FACTURA: this.state.selection[0].ID_FACTURA, ID_CURSO_HIJO: this.state.selection[0].ID_CURSO_HIJO,ID_CURSO_PADRE: this.state.selection[0].ID_CURSO_PADRE\r\n , ID_DETALLE_PLAN: this.state.selection[0].ID_DETALLE_PLAN, TIPO: 2,ESPECIAL:0,ID_SUFICIENCIA: null,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 if (rows[0].RESP === 'OK')\r\n { \r\n this.consulta_suficiencias()\r\n this.setState({openBackDrop: false,open_borrar: false,selection: []}, ()=>{\r\n funciones.showToast('s', 'Se eliminó satisfactoriamente.'); \r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: 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({ openBackDrop: false}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\ncomponentDidMount()\r\n{\r\n let _this = this;\r\n _this.actualizarcircular(false)\r\n // Auth.loggedIn().then( function(b){\r\n // _this.setState({ isLoggin: b})\r\n if(Auth.getProfile().plataforma===1){\r\n _this.filtersClientes('-');\r\n }\r\n \r\n //if(b)\r\n this.setState({ isLoggin: Auth.getProfile().plataforma !== undefined ? true : false }, ()=>{\r\n Request.get(`${ip}/suficiencia/obtener_seleccion_suficiencia/${Auth.getProfile().user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(10)\r\n .timeout({ response: 5000, deadline: 50000, }) \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 (async function() {\r\n funciones.showToast('e', 'Error de conexión');\r\n })();//FIN FUNCION ASYNC\r\n return;\r\n }\r\n const tmp = JSON.parse(res.text);\r\n \r\n if(tmp.length>0){\r\n var allGroups=[]\r\n var grupo=''\r\n var found = null;\r\n tmp.forEach(\r\n function getCheck(item, index) {\r\n found = allGroups.find(grupo => grupo === item.GRUPO);\r\n if(index===tmp.length-1)\r\n grupo=item.GRUPO\r\n if (found == null){\r\n allGroups.push(item.GRUPO);\r\n }else {\r\n found = null;\r\n }\r\n })\r\n _this.setState({ rows: tmp,expandedGroups: allGroups,segundo_grupo: grupo, heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable\r\n }); \r\n }\r\n else\r\n {\r\n _this.setState({rows: [], heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable})\r\n }\r\n \r\n _this.actualizarcircular(true)\r\n })\r\n })\r\n}\r\n\r\nconsulta_suficiencia_especial=()=>{\r\n var _this=this\r\n\r\n this.setState({openBackDrop: true},()=>{\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n try{\r\n Request.get(`${ip}/suficiencia/obtener_suficiencia_especial/${Auth.getProfile().plataforma===2?Auth.getProfile().user:cuenta_alumno}/${this.state.selection[0].ID_DETALLE_PLAN}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(10)\r\n .timeout({ response: 5000, deadline: 50000, }) \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 (async function() {\r\n _this.setState({openBackDrop:false }); \r\n funciones.showToast('e', 'Error de conexión');\r\n })();//FIN FUNCION ASYNC\r\n return;\r\n }\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n _this.setState({ rows_niveles: tmp,openBackDrop:false }); \r\n }\r\n else\r\n {\r\n _this.setState({rows_niveles: [],openBackDrop:false})\r\n }\r\n })\r\n }\r\n catch(ex){\r\n _this.setState({openBackDrop:false }); \r\n funciones.showToast('e', 'Error de conexión');\r\n }\r\n })\r\n}\r\n\r\nconsulta_suficiencias=()=>{\r\n this.actualizarcircular(false)\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n try{\r\n Request.get(`${ip}/suficiencia/obtener_seleccion_suficiencia/${Auth.getProfile().plataforma===1?cuenta_alumno:Auth.getProfile().user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(10)\r\n .timeout({ response: 5000, deadline: 50000, }) \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 (async function() {\r\n funciones.showToast('e', 'Error de conexión');\r\n })();//FIN FUNCION ASYNC\r\n return;\r\n }\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n var allGroups=[]\r\n var grupo=''\r\n var found = null;\r\n tmp.forEach(\r\n function getCheck(item, index) {\r\n found = allGroups.find(grupo => grupo === item.GRUPO);\r\n if(index===tmp.length-1)\r\n grupo=item.GRUPO\r\n if (found == null){\r\n allGroups.push(item.GRUPO);\r\n }else {\r\n found = null;\r\n }\r\n })\r\n this.setState({ rows: tmp,filters:[], expandedGroups: allGroups,segundo_grupo: grupo, heightTableMain: funciones.getHeightTableMain(movil_pequeño,this).heightTable}); \r\n }\r\n else\r\n {\r\n this.setState({rows: [], heightTableMain: funciones.getHeightTableMain(movil_pequeño,this).heightTable})\r\n }\r\n \r\n this.actualizarcircular(true)\r\n })\r\n }\r\n catch(ex){\r\n funciones.showToast('e', 'Error de conexión');\r\n this.actualizarcircular(true)\r\n }\r\n}\r\n\r\ncerrardialog_niveles =()=> event =>{\r\n this.setState({open_niveles: false,selection: [],selection_niveles:[],rows_niveles:[]},()=>{\r\n\r\n })\r\n}\r\n\r\ncerrardialog_selection =()=> event =>{\r\n this.setState({open_seleccion: false, open_borrar: false,selection: []},()=>{\r\n })\r\n}\r\ncerrardialog_selection_niveles =()=> event =>{\r\n this.setState({open_seleccion_niveles: false, open_borrar_niveles: false,selection_niveles: []},()=>{\r\n })\r\n}\r\n\r\nchangeFilters = filters => this.setState({ filters });\r\n\r\nchangeExpandedGroups = expandedGroups =>\r\n{\r\n this.setState({ expandedGroups });\r\n};\r\n\r\n\r\nfiltersClientes = (value)=>{\r\n\r\n new Request\r\n .get(`${globales.ip}/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 }, ()=>{\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 });\r\n }\r\n else\r\n {\r\n this.setState({ optionAutocompleteAdd: [], openAutoComplete: false, isLoadingClientes: false })\r\n } \r\n });\r\n }\r\n \r\n\r\nonBlurAutoCompleteAdd = ()=>{\r\n\r\n if (this.state.openAutoCompleteAdd)\r\n {\r\n this.setState({ openAutoCompleteAdd: false }); \r\n }\r\n\r\n}\r\n\r\n\r\nonChangeAutocompleteAdd = (event, value) => {\r\n\r\n this.setState({ valueAutoCompleteAdd: value, openAutoCompleteAdd: false }, ()=>{\r\n this.consulta_suficiencias()\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.openAutoCompleteAdd){ \r\n this.setState({ openAutoCompleteAdd: false });\r\n }\r\n return;\r\n }\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\n\r\n\r\n/* RENDER */\r\nrender() {\r\n const { classes } = this.props;\r\n\r\n const botones_seleccionar = [\r\n {icono: 'CheckCircle', nombre: 'Aceptar' ,escritura:true, onclick: this.aceptar_suficiencia\r\n , display: 'auto',color: 'green'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrardialog_selection(), display:'auto', color: 'red'},\r\n ]\r\n const botones_quitar = [\r\n {icono: 'Delete', nombre: 'Aceptar' ,escritura:true, onclick: this.quitar_suficiencia\r\n , display: 'auto',color: 'green'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrardialog_selection(), display:'auto', color: 'red'},\r\n ]\r\n const botones_seleccionar_niveles = [\r\n {icono: 'CheckCircle', nombre: 'Aceptar' ,escritura:true, onclick: this.aceptar_suficiencia_niveles\r\n , display: 'auto',color: 'green'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrardialog_selection_niveles(), display:'auto', color: 'red'},\r\n ]\r\n const botones_quitar_niveles = [\r\n {icono: 'Delete', nombre: 'Aceptar' ,escritura:true, onclick: this.quitar_suficiencia_niveles\r\n , display: 'auto',color: 'green'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrardialog_selection_niveles(), display:'auto', color: 'red'},\r\n ]\r\n const botones_niveles = [\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrardialog_niveles(), display:'auto', color: 'red'},\r\n ]\r\n\r\n if (this.state.isLoggin === true )\r\n {\r\n return (\r\n \r\n {Auth.getProfile().plataforma===1?\r\n
\r\n option.CUENTA_ALUMNO + ' | ' + option.NOMBRE_COMPLETO}\r\n style={{ width: !movil ? '500px' : '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
\r\n :null\r\n }\r\n\r\n \r\n \r\n {this.state.open_seleccion?'Guardando...':this.state.open_borrar?'Eliminando...':''}\r\n \r\n \r\n \r\n {'Facturar Otros Niveles'}\r\n \r\n \r\n }\r\n ChangeExpandedGroups = {this.changeExpandedGroups} \r\n VirtualTable_cellComponent={this.VirtualTable_cellComponent_niveles}\r\n showSelectionColumn={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {'Confirmación'}\r\n \r\n \r\n \r\n {(this.state.open_seleccion?'¿Desea agregar la factura pendiente de suficiencia para la clase ':this.state.open_borrar?'¿Desea quitar la factura de la suficiencia por la clase ':'')+(this.state.selection.length>0?this.state.selection[0].DESCRIPCION_CURSO:'')+'?'\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {'Confirmación'}\r\n \r\n \r\n \r\n {(this.state.open_seleccion_niveles?'¿Seleccionó ':this.state.open_borrar_niveles?'¿Desea quitar ':'')+(this.state.selection_niveles.length>0?this.state.selection_niveles[0].DESCRIPCION_CURSO:'')+'?'\r\n }\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n Grouping={grouping}\r\n ExpandedGroups = {this.state.expandedGroups} \r\n ChangeExpandedGroups = {this.changeExpandedGroups} \r\n //totalItems={totalSummaryItems}\r\n groupItems={groupSummaryItems}\r\n summaryRowMessages={{ count: 'Count', sum: 'Monto' }}\r\n VirtualTable_cellComponent={this.VirtualTable_cellComponent}\r\n showSelectionColumn={false}\r\n groupContentComponent={GroupCellContent}\r\n groupCellComponent={this.TotalGroupCellComponent} \r\n stubCellComponentTable={this.StubCellComponentTable}\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","import 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 Select from '../../components/Select';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Reporte from '../../components/Modalreporte';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Icono from '../../components/Icono'\r\nimport FilterListRoundedIcon from '@material-ui/icons/FilterListRounded';\r\nimport {Typography} from '@material-ui/core';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport SpeedDial from '@material-ui/lab/SpeedDial';\r\nimport SpeedDialIcon from '@material-ui/lab/SpeedDialIcon';\r\nimport SpeedDialAction from '@material-ui/lab/SpeedDialAction';\r\nimport SettingsTwoToneIcon from '@material-ui/icons/SettingsTwoTone';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport {virtual} from '../../components/VirtualListBox';\r\nimport MenuItem from '@material-ui/core/MenuItem';\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 CustomToolbar from '../../components/toolbarPicker'; \r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\n\r\nlet Auth = new AuthService();\r\nvar ip=globales.ip\r\nvar border_dialog=globales.border_dialog\r\nvar url_reporte;\r\nvar parametros_reporte;\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\nconst ListboxComponent = virtual.ListboxComponent;\r\n\r\n\r\n/* CLASES DE ESTILO */\r\nvar styles = theme =>({\r\n Dialog:{\r\n borderRadius: border_dialog,\r\n margin:0,\r\n padding:0\r\n },\r\n root_speed:{\r\n padding:0,\r\n },\r\n actionsClosed:{\r\n transition: 'top 0s linear 5.2s',\r\n },\r\n fab_speed:{\r\n background: 'rgba(0, 33, 88 ,0.9)',\r\n padding:0,\r\n margin:0,\r\n borderRadius:2,\r\n borderTopRightRadius:3,\r\n borderBottomLeftRadius:45\r\n \r\n },\r\n backdrop: {\r\n zIndex: 5000,\r\n color: '#fff', \r\n flexDirection: 'column',\r\n background:'rgba(0,0,0,0.8)'\r\n },\r\n select: { //CONFIGURA EL SELECT \r\n margin: theme.spacing(movil_pequeño?2:1, 1,0,0),\r\n 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 root: {\r\n width: 40,\r\n height: 24,\r\n padding: 0,\r\n margin: theme.spacing(1),\r\n },\r\n Switch:{\r\n padding: 1,\r\n '&$checked': {\r\n transform: 'translateX(16px)',\r\n color: theme.palette.common.white,\r\n '& + $track': {\r\n backgroundColor: '#52d869',\r\n opacity: 1,\r\n border: 'none',\r\n },\r\n },\r\n },\r\n thumb: {\r\n width: 22,\r\n height: 22,\r\n },\r\n track: {\r\n borderRadius: 26 / 2,\r\n border: `1px solid grey`,\r\n backgroundColor: 'grey',\r\n opacity: 1,\r\n transition: theme.transitions.create(['background-color', 'border']),\r\n },\r\n checked: {},\r\n })\r\n\r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class ReporteParametros extends React.Component {\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.label_reporte = props.label_reporte\r\n this.actualizarbarra= props.actualizarbarra\r\n this.actualizarcircular= props.actualizarcircular\r\n\r\n\r\n\r\n this.state = {\r\n openBackDrop: false, \r\n isLoggin: undefined,\r\n parametros: [],\r\n parametros_extras: [],\r\n label_reporte: '',\r\n parametros_final: '',\r\n open_parametros: true,\r\n switch: false,\r\n url: '',\r\n cargando: false,\r\n open_speed: false,\r\n url_reporte: '',\r\n debe_validar: false,\r\n parametros_validar: '',\r\n validando: false,\r\n error: false,\r\n parametro_error: '',\r\n }\r\n \r\n}; //FIN CONSTRUCTORS\r\n\r\n\r\ncomponentDidMount()\r\n{\r\n let thiss = this;\r\n Auth.loggedIn().then( function(b){\r\n thiss.setState({ isLoggin: b,label_reporte: thiss.label_reporte})\r\n if(b)\r\n thiss.setState({cargando:true},()=>{\r\n Request.post(`${ip}/obtener_parametros_reporte`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({LABEL_REPORTE: thiss.label_reporte,cuenta_alumno: Auth.getProfile().user.toString()})\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 60000, }) \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 (async function() {\r\n funciones.showToast('e','Error de conexión')\r\n })();//FIN FUNCION ASYNC\r\n thiss.setState({cargando:false});\r\n return;\r\n }\r\n\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n var tmp_sinesalumno=[]\r\n tmp.forEach(function getCheck(text, index) {\r\n if(!text.ES_ALUMNO)\r\n {\r\n tmp_sinesalumno.push(text)\r\n }\r\n\r\n if(text.ES_QUERY)\r\n {\r\n Request.post(`${ip}/obtener_consulta_parametro`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({QUERY: text.QUERY_SQL,cuenta_alumno: Auth.getProfile().user.toString()})\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 50000, }) \r\n .end((err, res) => {\r\n if (err) { \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n return; \r\n }\r\n (async function() {\r\n funciones.showToast('e','Error de conexión');\r\n })();//FIN FUNCION ASYNC\r\n thiss.setState({error:true, parametro_error: text.NOMBRE});\r\n return;\r\n }\r\n\r\n const tmp2 = JSON.parse(res.text);\r\n if(tmp2.length>0){\r\n if(text.TIPO==='autocomplete')\r\n thiss.setState({['datos_'+text.NOMBRE]:tmp2,['json_'+text.NOMBRE]:tmp2})\r\n else{\r\n const Datos = tmp2.map((datos, i) =>\r\n \r\n {datos.NOMBRE}\r\n \r\n );\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos,['json_'+text.NOMBRE]:tmp2})\r\n }\r\n }\r\n })\r\n }\r\n\r\n thiss.setState({[text.NOMBRE]:text.TIPO==='select' || text.TIPO==='textfield'?'':null})\r\n \r\n if(index===tmp.length-1){\r\n thiss.setState({debe_validar:text.DEBE_VALIDAR, parametros_validar: text.PARAMETROS_VALIDAR,cargando:false,parametros: tmp,parametros_extras: tmp_sinesalumno,open_parametros: Auth.getProfile().plataforma===2?tmp_sinesalumno.length>0?true:false:true}); \r\n\r\n if(Auth.getProfile().plataforma===2 && tmp_sinesalumno.length===0){\r\n thiss.URL_reporte(thiss.label_reporte,Auth.getProfile().user,'PRINT');\r\n }\r\n }\r\n })\r\n }\r\n else{\r\n thiss.setState({label_reporte: thiss.label_reporte,cargando:false});\r\n thiss.URL_reporte(thiss.label_reporte,'','PRINT');\r\n }\r\n })\r\n })\r\n })\r\n}\r\n\r\nabrirgenerar=()=> event =>{\r\n\r\n var validado = true;\r\n var valores = '';\r\n var thiss = this;\r\n\r\n if(Auth.getProfile().plataforma!==2)\r\n this.state.parametros.forEach(\r\n function getCheck(text, index){\r\n if((thiss.state[text.NOMBRE]==='' || thiss.state[text.NOMBRE]===null) && text.PERMITE_NULO===false) validado=false;\r\n });\r\n else\r\n this.state.parametros_extras.forEach(\r\n function getCheck(text, index){\r\n if((thiss.state[text.NOMBRE]==='' || thiss.state[text.NOMBRE]===null) && text.PERMITE_NULO===false) validado=false;\r\n });\r\n\r\n\r\n if(validado){\r\n if(thiss.state.debe_validar)\r\n {\r\n var arr_split=[]\r\n var valores_parametros_validar=''\r\n\r\n arr_split=thiss.state.parametros_validar.split(',')\r\n arr_split.forEach(\r\n function getCheck(text, index){\r\n thiss.state.parametros.forEach(\r\n function getCheck(text2, index2){\r\n if(text===text2.NOMBRE){\r\n valores_parametros_validar=valores_parametros_validar+text2.NOMBRE+':'+(text2.TIPO==='autocomplete'?thiss.state[text2.NOMBRE].ID:thiss.state[text2.NOMBRE])+','\r\n }\r\n })\r\n })\r\n\r\n \r\n valores_parametros_validar=valores_parametros_validar.substring(0,valores_parametros_validar.length-1)\r\n\r\n this.setState({validando:true},()=>{\r\n Request.post(`${ip}/se_debe_validar`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({LABEL_REPORTE: thiss.label_reporte,PARAMETROS: valores_parametros_validar, cuenta_alumno: Auth.getProfile().user.toString()})\r\n .retry(0)\r\n .timeout({ response: 30000, 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 return; \r\n }\r\n (async function() {\r\n //funciones.showToast('e','Error de conexión')\r\n funciones.showToast('e',err)\r\n })();//FIN FUNCION ASYNC\r\n thiss.setState({validando:false})\r\n return;\r\n }\r\n\r\n const tmp2 = JSON.parse(res.text);\r\n if(tmp2.length>0){\r\n if(tmp2[0].RESP!=='OK')\r\n {\r\n funciones.showToast('w',tmp2[0].RESP);\r\n thiss.setState({validando:false});\r\n return;\r\n }\r\n else\r\n {\r\n this.state.parametros.forEach(\r\n function getCheck(text, index){\r\n if(index===0)\r\n valores= text.ES_ALUMNO&&Auth.getProfile().plataforma===2?Auth.getProfile().user:text.TIPO==='autocomplete'?thiss.state[text.NOMBRE].ID.toString():text.TIPO==='muipickers'?funciones.getDateSelect(thiss.state[text.NOMBRE]):text.PERMITE_NULO?thiss.state[text.NOMBRE].toString()===''?\"' '\":thiss.state[text.NOMBRE].toString():thiss.state[text.NOMBRE].toString();\r\n else\r\n valores= valores+','+(text.ES_ALUMNO&&Auth.getProfile().plataforma===2?Auth.getProfile().user:text.TIPO==='autocomplete'?thiss.state[text.NOMBRE].ID.toString():text.TIPO==='muipickers'?funciones.getDateSelect(thiss.state[text.NOMBRE]):text.PERMITE_NULO?thiss.state[text.NOMBRE].toString()===''?\"' '\":thiss.state[text.NOMBRE].toString():thiss.state[text.NOMBRE].toString());\r\n });\r\n \r\n this.setState({parametros_final:valores, validando:false});\r\n \r\n if(this.state.switch)\r\n document.getElementById(\"BT\"+this.state.label_reporte).click();\r\n else{\r\n this.URL_reporte(this.state.label_reporte,valores,'PRINT');\r\n }\r\n }\r\n }\r\n else{\r\n thiss.setState({validando:false})\r\n }\r\n \r\n })\r\n })\r\n }\r\n else{\r\n this.state.parametros.forEach(\r\n function getCheck(text, index){\r\n if(index===0)\r\n valores= text.ES_ALUMNO&&Auth.getProfile().plataforma===2?Auth.getProfile().user:text.TIPO==='autocomplete'?thiss.state[text.NOMBRE].ID.toString():text.TIPO==='muipickers'?funciones.getDateSelect(thiss.state[text.NOMBRE]):text.PERMITE_NULO?thiss.state[text.NOMBRE].toString()===''?\"' '\":thiss.state[text.NOMBRE].toString():thiss.state[text.NOMBRE].toString();\r\n else\r\n valores= valores+','+(text.ES_ALUMNO&&Auth.getProfile().plataforma===2?Auth.getProfile().user:text.TIPO==='autocomplete'?thiss.state[text.NOMBRE].ID.toString():text.TIPO==='muipickers'?funciones.getDateSelect(thiss.state[text.NOMBRE]):text.PERMITE_NULO?thiss.state[text.NOMBRE].toString()===''?\"' '\":thiss.state[text.NOMBRE].toString():thiss.state[text.NOMBRE].toString());\r\n });\r\n \r\n this.setState({parametros_final:valores});\r\n \r\n if(this.state.switch)\r\n document.getElementById(\"BT\"+this.state.label_reporte).click();\r\n else{\r\n this.URL_reporte(this.state.label_reporte,valores,'PRINT');\r\n }\r\n }\r\n }\r\n else{\r\n funciones.showToast('w','Valide los datos ingresados.');\r\n }\r\n};\r\n\r\nURL_reporte=(reporte,parametros_valores,tipo)=> {\r\n \r\n this.setState({cargando:true},()=>{\r\n try{\r\n Request.get(`${globales.ip}/generar_token_knowage/${reporte}/${Auth.getProfile().rol}/${Auth.getProfile().plataforma===2?'PDF':tipo}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 20000, 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 return; \r\n }\r\n (async function() {\r\n funciones.showToast('e','Error de conexión')\r\n })();//FIN FUNCION ASYNC\r\n this.setState({cargando: false});\r\n return;\r\n \r\n }\r\n\r\n const tmp = JSON.parse(res.text);\r\n if (tmp.URL!=='') //SI HAY REGISTROS\r\n {\r\n url_reporte= tmp.URL;\r\n parametros_reporte= tmp.PARAMETROS;\r\n if(parametros_reporte!=='')\r\n {\r\n var param = parametros_reporte.split(',');\r\n var param_valor = parametros_valores.split(',');\r\n for(var x=0; x{window.open(url_reporte, 'Reporte', windowSize); })\r\n } \r\n } \r\n else{\r\n funciones.showToast('w','No se encontro el reporte.')\r\n this.setState({cargando: false});\r\n } \r\n })\r\n }\r\n catch(ex){\r\n funciones.showToast('e','Error en el proceso.')\r\n this.setState({cargando: false})\r\n }\r\n})\r\n}\r\n\r\nbotoncancelar=()=>event=>{\r\n if(!movil_pequeño)\r\n this.setState({open_parametros:false})\r\n}\r\n\r\nbotonlimpiar=()=>event=>{\r\n var thiss=this\r\n if(Auth.getProfile().plataforma!==2)\r\n this.state.parametros.forEach(\r\n function getCheck(text, index) {\r\n if(text.TIPO==='select' || text.TIPO==='textfield')\r\n thiss.setState({[text.NOMBRE]:''})\r\n else\r\n thiss.setState({[text.NOMBRE]:null})\r\n })\r\n else{\r\n this.state.parametros_extras.forEach(\r\n function getCheck(text, index) {\r\n if(text.TIPO==='select' || text.TIPO==='textfield')\r\n thiss.setState({[text.NOMBRE]:''})\r\n else\r\n thiss.setState({[text.NOMBRE]:null})\r\n })\r\n }\r\n}\r\n\r\nonChange=(VARIABLE)=>event=>{\r\n var thiss=this\r\n \r\n this.state.parametros.forEach(\r\n function getCheck(text, index) {\r\n var found\r\n if(text.NOMBRE===VARIABLE)\r\n {\r\n found=thiss.state.parametros.filter(grupo => grupo.SECUENCIA_PARAMETRO === text.SECUENCIA && grupo.ESPERA_PARAMETRO);\r\n\r\n if(found!==null)\r\n {\r\n found.forEach(function getCheck(text, index) {\r\n if(text.TIPO==='select'){\r\n const Datos = thiss.state['json_'+text.NOMBRE].filter((row)=>thiss.Condicion(text.CONDICION,row[text.COLUMNA],event.target.value)).map((datos, i) =>\r\n \r\n {datos.NOMBRE}\r\n \r\n );\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos})\r\n }\r\n if(text.TIPO==='autocomplete'){\r\n const Datos = thiss.state['json_'+text.NOMBRE].filter((row)=>thiss.Condicion(text.CONDICION,row[text.COLUMNA],event.target.value))\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos})\r\n }\r\n })\r\n found=null\r\n }\r\n }\r\n })\r\n\r\n this.setState({[VARIABLE]: event.target.value})\r\n}\r\n\r\nonChangeAutocomplete = (VARIABLE)=> (event, newValue) =>{\r\n if (newValue!==null)\r\n {\r\n var thiss=this\r\n \r\n this.state.parametros.forEach(\r\n function getCheck(text, index) {\r\n var found\r\n if(text.NOMBRE===VARIABLE)\r\n {\r\n found=thiss.state.parametros.filter(grupo => grupo.SECUENCIA_PARAMETRO === text.SECUENCIA && grupo.ESPERA_PARAMETRO);\r\n //console.log(newValue)\r\n if(found!==null)\r\n { \r\n found.forEach(function getCheck(text, index) {\r\n if(text.TIPO==='select'){\r\n const Datos = thiss.state['json_'+text.NOMBRE].filter((row)=>thiss.Condicion(text.CONDICION,row[text.COLUMNA],newValue.ID)).map((datos, i) =>\r\n \r\n {datos.NOMBRE}\r\n \r\n );\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos})\r\n }\r\n if(text.TIPO==='autocomplete'){\r\n const Datos = thiss.state['json_'+text.NOMBRE].filter((row)=>thiss.Condicion(text.CONDICION,row[text.COLUMNA],newValue.ID))\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos})\r\n }\r\n })\r\n found=null;\r\n }\r\n }\r\n })\r\n\r\n thiss.setState({[VARIABLE]:newValue});\r\n } \r\n}\r\n\r\nCondicion=(condicion,valor1,valor2)=>{\r\n if(condicion==='='){if(valor1===valor2) return true;}\r\n if(condicion==='>='){if(valor1>=valor2) return true;}\r\n if(condicion==='<='){if(valor1<=valor2) return true;}\r\n if(condicion==='<'){if(valor1'){if(valor1>valor2) return true;}\r\n if(condicion==='like'){if(valor1.toString().match(valor2.toString()))return true;}\r\n\r\n return false;\r\n}\r\n\r\nChangeSelect = (VARIABLE)=> (event) =>{\r\n var thiss=this\r\n \r\n thiss.state.parametros.forEach(\r\n function getCheck(text, index) {\r\n var found\r\n if(text.NOMBRE===VARIABLE)\r\n {\r\n found=thiss.state.parametros.filter(grupo => grupo.SECUENCIA_PARAMETRO === text.SECUENCIA && grupo.ESPERA_PARAMETRO);\r\n\r\n if(found!==null)\r\n {\r\n \r\n found.forEach(function getCheck(text, index) {\r\n if(text.TIPO==='select'){\r\n const Datos = thiss.state['json_'+text.NOMBRE].filter((row)=>thiss.Condicion(text.CONDICION,row[text.COLUMNA],event.target.value)).map((datos, i) =>\r\n \r\n {datos.NOMBRE}\r\n \r\n );\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos})\r\n }\r\n if(text.TIPO==='autocomplete'){\r\n const Datos = thiss.state['json_'+text.NOMBRE].filter((row)=>thiss.Condicion(text.CONDICION,row[text.COLUMNA],event.target.value))\r\n thiss.setState({['datos_'+text.NOMBRE]: Datos})\r\n }\r\n\r\n })\r\n found=null;\r\n }\r\n }\r\n })\r\n thiss.setState({[VARIABLE]:event.target.value});\r\n}\r\n\r\nchangeswitch=()=>event=>{\r\n this.setState({switch: event.target.checked})\r\n}\r\n\r\nopenchangedspeed=()=>{\r\n this.setState({open_speed:true})\r\n}\r\nclosechangedspeed=()=>{\r\n this.setState({open_speed:false})\r\n}\r\nhandleDateChange=(VARIABLE)=>(date)=>{\r\n this.setState({ [VARIABLE]: date }, ()=>{}); \r\n}\r\n\r\n/* RENDER */\r\nrender() {\r\n const { classes } = this.props;\r\n \r\n const botones = [\r\n {icono: 'CheckCircle', toolt: 'Generar Reporte', nombre: 'Generar' ,escritura:true , onclick: this.abrirgenerar()\r\n , display: 'auto'},\r\n {icono: 'DeleteSweepTwoToneIcon', toolt: 'Limpiar Parámetros', nombre: 'Limpiar',escritura:true , onclick: this.botonlimpiar()\r\n , display: 'auto'},\r\n {icono: 'CancelIcon', toolt: 'Cancelar Parámetros', nombre: 'Cancelar',disabled: this.state.parametros_final==='',escritura:true , onclick: this.botoncancelar()\r\n , display: 'auto',color:this.state.parametros_final===''?'grey':'red'},\r\n ]\r\n\r\n if (this.state.isLoggin === true )\r\n {\r\n if(this.state.label_reporte!=='')\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {'Validando...'}\r\n \r\n
\r\n } icon={} />}\r\n hidden={this.state.open_parametros}\r\n direction={'left'}\r\n onClose={this.closechangedspeed}\r\n onClick={this.openchangedspeed}\r\n open={this.state.open_speed}\r\n classes={{root: classes.root_speed,fab: classes.fab_speed, actionsClosed: classes.actionsClosed}}\r\n style={{textTransform:'none',position: 'absolute',top:2,right:2,}}\r\n >\r\n {((this.state.parametros_extras.length>0&&Auth.getProfile().plataforma===2)||(this.state.parametros.length>0&&Auth.getProfile().plataforma!==2))?\r\n }\r\n tooltipTitle={'Parámetros'} tooltipPlacement={'bottom'}\r\n onClick={()=>{return this.setState({open_parametros:true})}}\r\n />:null\r\n }\r\n {Auth.getProfile().plataforma!==2 && this.i?\r\n } tooltipTitle={'Exportar'} tooltipPlacement={'bottom'}\r\n onClick={()=>{document.getElementById(\"BT\"+this.state.label_reporte).click();}}\r\n />:null\r\n }\r\n }\r\n tooltipTitle={'Refrescar'} tooltipPlacement={'bottom'}\r\n onClick={this.abrirgenerar()}\r\n />\r\n \r\n {document.getElementById('div-reporte'+this.state.label_reporte)!==null?\r\n 1100?'35%':window.innerWidth<600?'80%':'45%',background:'#E0E0E0' } }}\r\n BackdropProps={{ style: { position: 'absolute' } }}\r\n ModalProps={{container: document.getElementById('div-reporte'+this.state.label_reporte),style: { position: 'absolute' }}}\r\n >\r\n \r\n Parámetros\r\n \r\n \r\n {\r\n !this.state.error?\r\n this.state.parametros.map((item,index) =>{\r\n if((Auth.getProfile().plataforma!==2)||(!item.ES_ALUMNO&&Auth.getProfile().plataforma===2))\r\n return(\r\n item.TIPO==='textfield'?\r\n \r\n :item.TIPO==='select'?this.state['datos_'+item.NOMBRE]!==undefined?\r\n