{"version":3,"sources":["pages/horarios/horariosalumno.js","pages/financiero/historico_pagos_alumnos.js","pages/financiero/estado_cuenta_alumno.js","pages/financiero/extraordinario.js","pages/financiero/detallePagar.js","pages/financiero/tramites_alumno.js"],"names":["Auth","AuthService","ip","globales","border_dialog","movil_pequeño","test","navigator","userAgent","getRowId","row","ID_SECCION_CLIENTE","getRowId_dias","DIA","columns","name","title","columns_dias","defaultHiddenColumnNames","defaultHiddenColumnNames_dias","tableColumnExtensions","columnName","wordWrapEnabled","align","width","tableColumnExtensions_dias","withStyles","theme","Dialog","borderRadius","margin","padding","backdrop","zIndex","color","flexDirection","select","spacing","minWidth","textField","React","Component","constructor","props","super","tablaRef","createRef","onExpandedRowDetailIdsChange","expandedRowIds","expandedRowIds2","length","this","setState","l","e","i","isVisibleRowSelected","actualizarbarra","actualizarcircular","state","openBackDrop","isLoggin","undefined","heightTableMain","rows","rows_principal","rows_dias","selection","grouping","expandedGroups","filteringColumnExtensions","filters","VirtualTable_cellComponent","column","ESTATUS","ESTATUS_FINANCIERO","ESTATUS_ACADEMICO","_jsx","Table","Cell","style","fontWeight","URL","children","Tooltip","Button","onClick","window","open","variant","Icono","icono","fontSize","RowDetail","_ref","height","filter","grupo","position","CustomTable","Columns","Rows","TableColumnExtensions","DefaultHiddenColumnNames","enabledFilterRows","standarPlugin","TableRowsIndexer","showSelectionColumn","componentDidMount","_this","loggedIn","then","b","Request","get","getProfile","user","set","getToken","retry","timeout","response","deadline","end","err","res","toString","substr","funciones","showToast","tmp","JSON","parse","text","forEach","item","index","find","push","getHeightTableMain","heightTable","render","classes","_jsxs","Fragment","Backdrop","className","CircularProgress","marginTop","open_seleccion","open_borrar","ref","background","marginLeft","tabla","marginleft_movil","marginleft","marginRight","marginright_movil","marginright","ExpandedRowDetailIds","columnWidths","logout","location","reload","movil","SIMBOLO","MONTO","VirtualTable_cellComponent_detalle","ID_FACTURA","getRowId_detalle","ID_DETALLE","columns_detalle","defaultHiddenColumnNames_detalle","innerWidth","tableColumnExtensions_detalle","rowHeaderRowComponent","Row","backgroundColor","colores","encabezado","handleDateChange_desde","date","fechahasta","fechadesde","llenar_tabla","handleDateChange_hasta","cargando","fecha_ini","getDateSelect","Date","fecha_fin","rows_detalle","_ref2","MuiPickersUtilsProvider","utils","DateFnsUtils","locale","esLocale","KeyboardDatePicker","inputVariant","format","label","value","onChange","InputProps","paddingRight","readOnly","ToolbarComponent","CustomToolbar","autoOk","disabled","VirtualTable_cellComponent_favor","MONTO_TOTAL","getRowId_favor","columns_favor","defaultHiddenColumnNames_favor","tableColumnExtensions_favor","root","paddig","minHeight","maxHeight","selected","handleChangeCheckbox","event","open_mover","Mover","post","send","cuenta_alumno","RESP","filas_facturas","filas_favor","element","TIPO","rows_facturas","rows_favor","ex","handleChange","newValue","cerrarmodal","Checkbox","checked","CHECKED","botones","nombre","escritura","onclick","display","disableEnforceFocus","disableAutoFocus","maxWidth","fullWidth","paper","fullScreen","DialogTitle","Typography","component","DialogContent","BarraBotones","TabContext","TabList","centered","orientation","borderBottom","Tab","textTransform","TabPanel","tokenInfo","checkId","widthTable","screen","columnExtensions","settingFilter","predicate","formatCurrency","IntegratedFiltering","defaultPredicate","GroupCellContent","TableSelectionCellComponent","estado","paddingBottom","paddingTop","paddingLeft","size","Boolean","MODIFICABLE","TableSelection","ColumnFixed_cellComponent","_ref3","showRightDivider","showLeftDivider","tableRow","key","TableFixedColumns","paperTitle","textAlign","verticalAlign","lineHeight","marginBottom","obtener_cursos","loadingMain","map","x","DESCRIPCION_NIVEL","changeExpandedGroups","changeSelection","getIdRowChecking","tipo_proceso","accion","loadingCheck","id_seccion_cliente","ad_usuario","plataforma","componentWillUnmount","Paper","square","Grouping","ExpandedGroups","ChangeExpandedGroups","loading","groupContentComponent","tableSelectionCellComponent","Selection","ChangeSelection","leftColumnsFixed","COLUMN_TYPE","columnFixedCellComponent","FilteringColumnExtensions","invisible","transitionDuration","totalSummaryItems","type","columnsDetalle","columnExtensionsDetalle","columnsCuotas","columnExtensionsCuotas","RowId","detalleCuotas","getTime","FECHA_PROCESO","ID_TIPO_TRANSACCION","simbolo","isEmpty","closeButton","right","top","palette","grey","container","justifyContent","alignItems","formControlSelect","tablaDialogRef","dialogActionRef","obtener_mod_pagos","loadingModPago","modalidades","VISIBLE_WEB","ID_MODALIDAD_CLIENTE","selectedModPago","itemsModPago","MOD_PAGO_ID","MenuItem","MOD_PAGO_DESCRIPCION","handleChangeModPago","target","obtener_facturas","id_mod_pago_nueva","id_mod_pago","obtener_detalle","id_factura","facturaDetalle","slice","loadingDetail","rowsDetail","DETALLE_FACTURA","obtener_detalle_cuotas","loadingCuotas","rowsCuotas","DESCRIPCIÓN","toLowerCase","includes","id_modalidad_pago","detalle_cuotas","openModal","handleClose","onEntering","heightTableDialog","getHeightTableDialog","monedas","calcular_totales","rowsMoneda","monto","resultado","moneda","pagar","cargar","reporte","pagina","descripcion","manual","desplegados","styleDiv","left","overflow","ItemComponent","parseFloat","TableSummaryRow","Item","Select","Label","Datos","Selected","Style","Outlined","Divider","flexItem","startIcon","CheckIcon","totalItems","summaryRowMessages","sum","totalItemComponent","TransitionProps","IconButton","CloseIcon","DialogActions","onChangeAutocompletetransaccion","setSelectedtransaccion","open_agregar","open_eliminar","FACTURA_ELIMINAR","guardar","ID_GESTION","transacciones","isloadingtransaccion","CLICK","ELIMINAR","botones_agregar","botones_eliminar","Autocomplete","id","options","getOptionLabel","option","DESCRIPCION","MONTO_ARANCEL","renderInput","params","TextField","getOptionSelected","button","iconSizeSmall"],"mappings":"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","file":"static/js/main~872e6c8a.b509429d.chunk.js","sourcesContent":["import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {globales,funciones} from '../../global';\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 TableRowsIndexer from '../../components/tableRowsIndexer'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Button from '@material-ui/core/Button';\r\nimport Icono from '../../components/Icono';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\n\r\n\r\nlet Auth = new AuthService();\r\nvar ip=globales.ip\r\nvar border_dialog=globales.border_dialog\r\n//var 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\n\r\n\r\nconst getRowId = row => row.ID_SECCION_CLIENTE;\r\nconst getRowId_dias = row => row.DIA;\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,\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 const columns= [{name:'ID_SECCION_CLIENTE',title: 'ID_SECCION_CLIENTE'},\r\n {name:'CODIGO_CURSO',title: 'Código'},\r\n {name:'DESCRIPCION_CURSO',title: 'Descripción'},\r\n {name:'CREDITOS',title: 'U.V.'},\r\n {name:'NUMERO_SECCION',title: 'Sección'},\r\n {name:'INICIO',title: 'Inicio'},\r\n {name:'FIN',title: 'Fin'},\r\n {name:'GRUPO',title: 'Grupo'},\r\n {name:'ESTATUS',title: 'ESTATUS'},\r\n {name:'ESTATUS_ACADEMICO',title: 'ESTATUS_ACADEMICO'},\r\n {name:'ESTATUS_FINANCIERO',title: 'ESTATUS_FINANCIERO'},\r\n {name:'ESTADO',title: 'Estado'},\r\n {name:'ESTADO_PAGO',title: 'Financiero'},\r\n {name:'URL',title: 'URL'},\r\n {name:'MOODLE',title: ' '},\r\n ];\r\n\r\n const columns_dias= [{name:'DIA',title: 'Día'},\r\n {name:'AULA',title: 'Aula'},\r\n {name:'INICIO_DIA',title: 'Inicio'},\r\n {name:'FIN_DIA',title: 'Fin'},\r\n ];\r\n\r\n const defaultHiddenColumnNames= ['ID_SECCION_CLIENTE','ESTATUS','ESTATUS_ACADEMICO','ESTATUS_FINANCIERO','URL'];\r\n const defaultHiddenColumnNames_dias= [];\r\n\r\n const tableColumnExtensions= [\r\n { columnName: 'CODIGO_CURSO', wordWrapEnabled: false, align: 'center',width:150},\r\n { columnName: 'DESCRIPCION_CURSO', wordWrapEnabled: false, align: 'left',width:400},\r\n { columnName: 'CREDITOS', wordWrapEnabled: false, align: 'center',width:50},\r\n { columnName: 'NUMERO_SECCION', wordWrapEnabled: false, align: 'center',width:70},\r\n { columnName: 'INICIO', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'FIN', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'GRUPO', wordWrapEnabled: false, align: 'center',width:150},\r\n { columnName: 'ESTADO', wordWrapEnabled: false, align: 'center',width:150},\r\n { columnName: 'ESTADO_PAGO', wordWrapEnabled: false, align: 'center',width:150},\r\n { columnName: 'MOODLE', wordWrapEnabled: false, align: 'center',width:100},\r\n ];\r\n\r\n const tableColumnExtensions_dias= [\r\n { columnName: 'DIA', wordWrapEnabled: false, align: 'left',width:120},\r\n { columnName: 'AULA', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'INICIO_DIA', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'FIN_DIA', wordWrapEnabled: false, align: 'center',width:100},\r\n ];\r\n\r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class Horarios_Alumno 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 isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n rows_principal: [],\r\n rows_dias: [],\r\n selection: [],\r\n grouping: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n }\r\n\r\n \r\n const VirtualTable_cellComponent = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n var color='green'\r\n\r\n if(row.ESTATUS==='C')\r\n color='red'\r\n else if(row.ESTATUS_FINANCIERO==='K')\r\n color='orange'\r\n else if(row.ESTATUS_ACADEMICO==='W')\r\n color='orange'\r\n else if(row.ESTATUS_FINANCIERO==='T')\r\n color='grey'\r\n\r\n if(column.name==='ESTADO'||column.name==='ESTADO_PAGO')\r\n return(\r\n \r\n );\r\n\r\n if(column.name==='MOODLE' && row.URL!==null && row.URL!==undefined && row.URL!=='')\r\n {\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\n\r\n const RowDetail= ({ row }) => {\r\n\r\n var rows_dias=[]\r\n var height='170px'\r\n\r\n rows_dias = this.state.rows.filter(grupo => grupo.ID_SECCION_CLIENTE === row.ID_SECCION_CLIENTE);\r\n \r\n if(rows_dias.length===1)\r\n height='86px'\r\n else if(rows_dias.length===2)\r\n height='120px'\r\n else if(rows_dias.length===3)\r\n height='150px'\r\n\r\n return(\r\n
\r\n }\r\n //VirtualTable_cellComponent={this.VirtualTable_cellComponent}\r\n showSelectionColumn={false}\r\n />\r\n
\r\n )\r\n }\r\n\r\n this.VirtualTable_cellComponent=VirtualTable_cellComponent\r\n this.RowDetail=RowDetail\r\n }; //FIN CONSTRUCTORS\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 if(b)\r\n Request.get(`${ip}/Horariosalumno/obtener_horarios_alumno/${Auth.getProfile().user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 20000, 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 return;\r\n }\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n var found\r\n var rows_principal=[]\r\n tmp.forEach(\r\n function getCheck(item, index) {\r\n found = rows_principal.find(grupo => grupo.ID_SECCION_CLIENTE === item.ID_SECCION_CLIENTE);\r\n if (found==null){\r\n rows_principal.push(item);\r\n }\r\n else{\r\n found=null;\r\n }\r\n })\r\n \r\n _this.setState({ rows:tmp,rows_principal: rows_principal,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 _this.actualizarbarra(true)\r\n })\r\n })\r\n}\r\n\r\nonExpandedRowDetailIdsChange = expandedRowIds =>\r\n{\r\n var expandedRowIds2=[]\r\n\r\n if(expandedRowIds.length>1)\r\n expandedRowIds2=[expandedRowIds[1]]\r\n else\r\n expandedRowIds2=[expandedRowIds[0]]\r\n \r\n this.setState({ expandedRowIds:expandedRowIds2 });\r\n};\r\n\r\n/* RENDER */\r\nrender() {\r\n const { 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 {this.state.open_seleccion?'Guardando...':this.state.open_borrar?'Eliminando...':''}\r\n \r\n
\r\n }\r\n VirtualTable_cellComponent={this.VirtualTable_cellComponent}\r\n showSelectionColumn={false}\r\n columnWidths={tableColumnExtensions}\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 \r\n\r\n ","import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { globales,funciones,colores} from '../../global';\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 TableRowsIndexer from '../../components/tableRowsIndexer'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Backdrop from '@material-ui/core/Backdrop';\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 CustomToolbar from '../../components/toolbarPicker'; \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\nlet isVisibleRowSelected = false;\r\n\r\nconst VirtualTable_cellComponent = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n\r\n if(column.name==='MONTO'){\r\n return(\r\n \r\n {row.SIMBOLO+' '+row.MONTO}\r\n \r\n );\r\n }\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nconst VirtualTable_cellComponent_detalle = (props) => {\r\n const {column} = props;\r\n const {row} = props; \r\n\r\n if(column.name==='MONTO_DTL'||column.name==='MONTO_TOTAL'||column.name==='MONTO_BEC_CREDITO'||column.name==='MONTO_MORA'||column.name==='FINANCIADO')\r\n {\r\n return({row.SIMBOLO+' '+(row[column.name]===0?'0.00':row[column.name])});\r\n }\r\n\r\n return();\r\n}\r\n\r\nconst getRowId = row => row.ID_FACTURA;\r\nconst getRowId_detalle = row => row.ID_DETALLE;\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,\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?0:1, movil_pequeño?0: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= [{name:'ID_FACTURA',title: 'Factura'},\r\n {name:'FECHA_PROCESO',title: 'Fecha'},\r\n {name:'DESCRIPCION',title: 'Descripción'},\r\n {name:'REFERENCIA1',title: 'Referencia'},\r\n {name:'MONTO',title: 'Monto'}, \r\n ];\r\n\r\n const columns_detalle= [{name:'ID_DETALLE',title: 'ID_DETALLE'},\r\n {name:'DESCRIPCION_DTL',title: 'Descripción'},\r\n {name:'MONTO_TOTAL',title: 'Total'},\r\n {name:'MONTO_DTL',title: 'Monto'},\r\n {name:'MONTO_MORA',title: 'Mora'},\r\n {name:'MONTO_BEC_CREDITO',title: 'Bec | Crédito'},\r\n {name:'FINANCIADO',title: 'Financiado'},\r\n ];\r\n\r\n const defaultHiddenColumnNames= [];\r\n const defaultHiddenColumnNames_detalle= ['ID_DETALLE'];\r\n\r\n const tableColumnExtensions= [\r\n { columnName: 'ID_FACTURA', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'FECHA_PROCESO', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'DESCRIPCION', wordWrapEnabled: true, align: 'left',width:window.innerWidth/2},\r\n { columnName: 'REFERENCIA1', wordWrapEnabled: false, align: 'center',width:100},\r\n { columnName: 'MONTO', wordWrapEnabled: false, align: 'left',width:100},\r\n ];\r\n\r\n const tableColumnExtensions_detalle= [\r\n { columnName: 'DESCRIPCION_DTL', wordWrapEnabled: false, align: 'left',width:300},\r\n { columnName: 'MONTO_TOTAL', wordWrapEnabled: false, align: 'left',width:100},\r\n { columnName: 'MONTO_DTL', wordWrapEnabled: false, align: 'left',width:100},\r\n { columnName: 'MONTO_MORA', wordWrapEnabled: false, align: 'left',width:100},\r\n { columnName: 'MONTO_BEC_CREDITO', wordWrapEnabled: false, align: 'left',width:100},\r\n { columnName: 'FINANCIADO', wordWrapEnabled: false, align: 'left',width:100},\r\n ];\r\n\r\n const rowHeaderRowComponent = ({style, ...props}) => {\r\n return ();\r\n }\r\n \r\n \r\n \r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class Historico_Pago 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 fechadesde: null,\r\n fechahasta: null,\r\n cargando: false, \r\n isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n rows_principal: [],\r\n rows_detalle: [],\r\n selection: [],\r\n grouping: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n enabledFilterRows: true\r\n }\r\n\r\n const RowDetail= ({ row }) => {\r\n\r\n var rows_detalle=[]\r\n var height='170px'\r\n\r\n rows_detalle = this.state.rows.filter(grupo => grupo.ID_FACTURA === row.ID_FACTURA);\r\n \r\n if(rows_detalle.length===1)\r\n height='86px'\r\n else if(rows_detalle.length===2)\r\n height='120px'\r\n else if(rows_detalle.length===3)\r\n height='150px'\r\n\r\n return(\r\n
\r\n }\r\n VirtualTable_cellComponent={VirtualTable_cellComponent_detalle}\r\n showSelectionColumn={false}\r\n />\r\n
\r\n )\r\n }\r\n this.RowDetail=RowDetail\r\n \r\n }; //FIN CONSTRUCTORS\r\n\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 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\nhandleDateChange_desde=(date)=>{\r\n if(date>this.state.fechahasta && this.state.fechahasta!==null){\r\n funciones.showToast('w','La fecha de inicio debe ser menor a la final.');\r\n return;\r\n }\r\n this.setState({ fechadesde: date },()=>{\r\n if(this.state.fechahasta!==null&&this.state.fechahasta!==undefined)\r\n this.llenar_tabla()\r\n }); \r\n\r\n}\r\n\r\nhandleDateChange_hasta=(date)=>{\r\n if(date{\r\n this.llenar_tabla()\r\n })\r\n \r\n}\r\n\r\nllenar_tabla=()=>{\r\n let _this = this;\r\n\r\n const fecha_ini = funciones.getDateSelect(new Date(this.state.fechadesde + (!movil?\" UTC\":\"\")));\r\n const fecha_fin = funciones.getDateSelect(new Date(this.state.fechahasta + (!movil?\" UTC\":\"\")));\r\n this.setState({cargando:true},()=>{\r\n Request.get(`${ip}/HistoricoPago_Alumno/obtener_historico_pago/${fecha_ini}/${fecha_fin}/${Auth.getProfile().user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 20000, 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 _this.setState({ cargando: false});\r\n return;\r\n }\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n var found\r\n var rows_principal=[]\r\n tmp.forEach(\r\n function getCheck(item, index) {\r\n found = rows_principal.find(grupo => grupo.ID_FACTURA === item.ID_FACTURA);\r\n if (found==null){\r\n rows_principal.push(item);\r\n }\r\n else{\r\n found=null;\r\n }\r\n })\r\n \r\n _this.setState({ cargando: false,rows:tmp,rows_principal: rows_principal,heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable}); \r\n }\r\n else\r\n {\r\n _this.setState({cargando: false,rows: [],rows_principal:[], heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable})\r\n }\r\n })\r\n })\r\n}\r\n\r\nonExpandedRowDetailIdsChange = expandedRowIds =>\r\n{\r\n var expandedRowIds2=[]\r\n\r\n if(expandedRowIds.length>1)\r\n expandedRowIds2=[expandedRowIds[1]]\r\n else\r\n expandedRowIds2=[expandedRowIds[0]]\r\n \r\n this.setState({ expandedRowIds:expandedRowIds2 });\r\n};\r\n\r\n/* RENDER */\r\nrender() {\r\n const { 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 \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n VirtualTable_cellComponent={VirtualTable_cellComponent}\r\n showSelectionColumn={false}\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","import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {colores, globales,funciones} from '../../global';\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 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\n//import Tooltip from '@material-ui/core/Tooltip'\r\nimport {Tab, Checkbox, Typography } from '@material-ui/core';\r\nimport { TabContext, TabList, TabPanel } from '@material-ui/lab';\r\nimport BarraBotones from '../../components/Barra_menu';\r\n\r\nlet Auth = new AuthService();\r\nvar ip=globales.ip\r\nvar border_dialog=globales.border_dialog\r\n//var 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\n//const colorRowSelected = 'rgb('+ colores.tabla.selection +')';\r\n//let alternateColorRow1 = colores.tabla.alternateColorRow1; \r\n//let alternateColorRow2 = colores.tabla.alternateColorRow2;\r\n\r\n\r\nconst VirtualTable_cellComponent_favor = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n\r\n if(column.name==='MONTO_TOTAL'){\r\n return(\r\n \r\n {row.SIMBOLO+' '+row.MONTO_TOTAL}\r\n \r\n );\r\n }\r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nconst getRowId = row => row.ID_FACTURA;\r\nconst getRowId_favor = row => row.ID_FACTURA;\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,\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 root:{\r\n paddig:0,\r\n margin:0,\r\n background: 'white',\r\n borderRadius:3,\r\n color: 'inherit',\r\n minHeight: '30px',\r\n maxHeight: '30px',\r\n },\r\n selected:{\r\n background:colores.tabla.encabezado,\r\n color: '#ffff'\r\n },\r\n\r\n })\r\n\r\n const columns= [{name:'CHECKED',title: ' '},{name:'ID_FACTURA',title: 'Factura'},\r\n {name:'DESCRIPCION',title: 'Descripción'},\r\n {name:'FECHA_PROCESO',title: 'Fecha'},\r\n {name:'FECHA_PROCESO_ANT',title: 'FECHA_PROCESO_ANT'},\r\n {name:'MONTO_TOTAL',title: 'Monto'},\r\n {name:'SIMBOLO',title: 'SIMBOLO'},\r\n ];\r\n\r\n const columns_favor= [{name:'ID_FACTURA',title: 'Factura'},\r\n {name:'DESCRIPCION',title: 'Descripción'},\r\n {name:'FECHA_PROCESO',title: 'Fecha'},\r\n {name:'MONTO_TOTAL',title: 'Monto'},\r\n {name:'SIMBOLO',title: 'SIMBOLO'},\r\n ];\r\n\r\n const defaultHiddenColumnNames= ['FECHA_PROCESO_ANT','SIMBOLO'];\r\n const defaultHiddenColumnNames_favor= ['ID_FACTURA','SIMBOLO'];\r\n\r\n const tableColumnExtensions= [\r\n { columnName: 'CHECKED', wordWrapEnabled: false, align: 'center',width: 50},\r\n { columnName: 'ID_FACTURA', wordWrapEnabled: false, align: 'center',width: 100},\r\n { columnName: 'DESCRIPCION', wordWrapEnabled: true, align: 'left',width: movil_pequeño?250:400},\r\n { columnName: 'FECHA_PROCESO', wordWrapEnabled: false, align: 'left',width: movil_pequeño?80:150},\r\n { columnName: 'MONTO_TOTAL', wordWrapEnabled: false, align: 'center',width: 150},\r\n ];\r\n\r\n const tableColumnExtensions_favor= [\r\n { columnName: 'DESCRIPCION', wordWrapEnabled: true, align: 'left',width:movil_pequeño?250:500},\r\n { columnName: 'FECHA_PROCESO', wordWrapEnabled: false, align: 'left',width: movil_pequeño?80:150},\r\n { columnName: 'MONTO_TOTAL', wordWrapEnabled: false, align: 'center',width: 150},\r\n ];\r\n\r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class Estado_Cuenta_Alumno 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_mover: false,\r\n isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows_facturas: [],\r\n rows_favor: [],\r\n selection: null,\r\n grouping: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n enabledFilterRows: true,\r\n value: \"1\",\r\n }\r\n\r\n const VirtualTable_cellComponent = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n \r\n if(column.name==='CHECKED'){\r\n return(\r\n \r\n \r\n \r\n );\r\n }\r\n \r\n if(column.name==='MONTO_TOTAL'){\r\n return(\r\n \r\n {row.SIMBOLO+' '+row.MONTO_TOTAL}\r\n \r\n );\r\n }\r\n \r\n return(\r\n \r\n );\r\n }\r\n\r\n this.VirtualTable_cellComponent=VirtualTable_cellComponent\r\n \r\n }; //FIN CONSTRUCTORS\r\n handleChangeCheckbox= (ID_FACTURA)=>event => {\r\n this.setState({ open_mover: true,selection: ID_FACTURA});\r\n }\r\n\r\n Mover= ()=>{\r\n this.setState({ openBackDrop: true }, ()=>{\r\n try{\r\n new Request\r\n .post(`${ip}/EstadoCuentaAlumno/Mover_factura`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_FACTURA: this.state.selection, cuenta_alumno: 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 === undefined)\r\n { \r\n var filas_facturas=[]\r\n var filas_favor=[]\r\n\r\n rows.forEach(element => {\r\n if(element.TIPO==='FACTURA')\r\n {\r\n filas_facturas.push(element)\r\n }\r\n else if(element.TIPO==='FAVOR')\r\n {\r\n filas_favor.push(element)\r\n }\r\n });\r\n\r\n this.setState({open_mover: false,selection: null, openBackDrop: false, rows_facturas: filas_facturas,rows_favor: filas_favor, heightTableMain: funciones.getHeightTableMain(movil_pequeño,this).heightTable}); \r\n }\r\n else{\r\n this.setState({open_mover: false,selection: null, openBackDrop: false}, ()=>{funciones.showToast('w', rows[0].RESP);});\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\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 if(b)\r\n Request.get(`${ip}/EstadoCuentaAlumno/obtener_facturas_estado_cuenta/${Auth.getProfile().user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 20000, 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 filas_facturas=[]\r\n var filas_favor=[]\r\n\r\n tmp.forEach(element => {\r\n if(element.TIPO==='FACTURA')\r\n {\r\n filas_facturas.push(element)\r\n }\r\n else if(element.TIPO==='FAVOR')\r\n {\r\n filas_favor.push(element)\r\n }\r\n });\r\n\r\n _this.setState({rows_facturas: filas_facturas,rows_favor: filas_favor, heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable\r\n }); \r\n }\r\n else\r\n {\r\n _this.setState({rows_facturas: [],rows_favor: [], heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable})\r\n }\r\n \r\n _this.actualizarbarra(true)\r\n })\r\n })\r\n}\r\n\r\nhandleChange=(event, newValue)=> {\r\n this.setState({value: newValue});\r\n}\r\n\r\ncerrarmodal=()=>event=>{\r\n this.setState({open_mover: false,selection: null});\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', nombre: 'Aceptar',escritura:true,onclick: this.Mover\r\n , display:'auto'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n\r\n\r\n if (this.state.isLoggin === true )\r\n {\r\n return ( \r\n \r\n \r\n \r\n {this.state.open_seleccion?'Guardando...':this.state.open_borrar?'Eliminando...':''}\r\n \r\n {/*--------------------------------------------------------DIALOG PARA ELIMINAR---------------------------------------------------------------------*/}\r\n\r\n \r\n \r\n \r\n {'Mover Cuota'}\r\n \r\n \r\n \r\n \r\n ¿Está seguro de mover la cuota?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n }\r\n VirtualTable_cellComponent={this.VirtualTable_cellComponent}\r\n showSelectionColumn={false}\r\n />\r\n
\r\n
\r\n \r\n
\r\n }\r\n VirtualTable_cellComponent={VirtualTable_cellComponent_favor}\r\n showSelectionColumn={false}\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 \r\n\r\n ","import React from 'react';\r\nimport CustomTable from '../../components/CustomTable';\r\nimport {globales, funciones } from '../../global';\r\nimport AuthService from '../../AuthService';\r\nimport Request from 'superagent';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport {Table, TableSelection, TableFixedColumns} from '@devexpress/dx-react-grid-material-ui';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport {IntegratedFiltering} from '@devexpress/dx-react-grid';\r\n\r\nlet Auth = new AuthService();\r\nlet tokenInfo = [];\r\n\r\nvar movil=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\nlet checkId = undefined;\r\n\r\nconst styles = theme => ({\r\n\r\nbackdrop: {\r\n zIndex: 500000,\r\n color: '#fff', \r\n flexDirection: 'column'\r\n},\r\npaperTitle: { \r\n height: '40px', \r\n textAlign: 'center',\r\n verticalAlign: 'middle',\r\n lineHeight: '40px',\r\n margin: \"1px \" + globales.tabla.marginright + \"px 0px \" + globales.tabla.marginleft + \"px\", \r\n marginBottom: '10px'\r\n},\r\n});\r\nconst widthTable = !movil ? window.screen.width - (globales.tabla.marginleft + globales.tabla.marginright) : 1336;\r\nconst columns = [ \r\n {name: 'ID_SECCION_CLIENTE', title: 'ID_SECCION_CLIENTE'},\r\n {name: 'CODIGO_CURSO', title: 'Código'},\r\n {name: 'DESCRIPCION_CURSO', title: 'Descripción'},\r\n {name: 'MODALIDAD', title: 'Modalidad'},\r\n {name: 'CREDITOS', title: 'Créditos'},\r\n {name: 'MONTO', title: 'Monto'},\r\n {name: 'DESCRIPCION_NIVEL', title: 'DESCRIPCION_NIVEL'},\r\n];\r\nconst columnExtensions = [\r\n { columnName: 'CODIGO_CURSO', width: widthTable * 0.12 },\r\n { columnName: 'DESCRIPCION_CURSO', width: widthTable * 0.33 }, \r\n { columnName: 'MODALIDAD', width: widthTable * 0.13, align: 'center'},\r\n { columnName: 'CREDITOS', width: widthTable * 0.09, align: 'center'}, \r\n { columnName: 'MONTO', width: widthTable * 0.10, align: 'center'}, \r\n { columnName: 'DESCRIPCION_NIVEL', width: 0}, \r\n];\r\n\r\nconst settingFilter = [\r\n { columnName: 'MONTO',\r\n predicate: (value, filter, row) => {\r\n value = funciones.formatCurrency(value); \r\n return IntegratedFiltering.defaultPredicate(value, filter, row);\r\n },\r\n\r\n },\r\n];\r\n\r\nconst GroupCellContent = ({ column, row }) => { \r\n return({row.value});\r\n}\r\nconst TableSelectionCellComponent = (estado, checkId) => ({style, ...props}) =>{\r\n \r\n if (estado && props.row.ID_SECCION_CLIENTE === checkId)\r\n {\r\n return (\r\n \r\n );\r\n } \r\n \r\n if (!Boolean(props.row.MODIFICABLE))\r\n { \r\n return (\r\n \r\n );\r\n }\r\n \r\n return ();\r\n}\r\nconst VirtualTable_cellComponent = (props) => { \r\n \r\n if (props.column.name === 'MONTO')\r\n {\r\n return (\r\n {funciones.formatCurrency(props.row.MONTO)} \r\n );\r\n }\r\n \r\n \r\n return ();\r\n \r\n}\r\nconst ColumnFixed_cellComponent = ({ showRightDivider, showLeftDivider, ...props}) => { \r\n \r\n if (props.tableRow.key === \"Symbol(filter)\"){\r\n return (\r\n
\r\n );\r\n }\r\n\r\n return ();\r\n}\r\n\r\nexport default withStyles(styles) ( \r\nclass App extends React.Component {\r\n\r\ntablaRef = React.createRef();\r\n\r\n constructor (props) {\r\n super(props);\r\n this.l=props.l\r\n this.e=props.e\r\n this.i=props.i\r\n this.state = {\r\n isLoggin : undefined,\r\n heightTableMain: 0,\r\n loadingMain: true,\r\n rows: [],\r\n openBackDrop: false,\r\n expandedGroups: [],\r\n selection: [],\r\n loadingCheck: false,\r\n };\r\n}\r\n\r\nobtener_cursos = ()=>{\r\n\r\nnew Request\r\n .get(`${globales.ip}/extraordinario/cursos/${tokenInfo.user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 15000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ loadingMain: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión'); \r\n }); \r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n let expandedGroups = [];\r\n let selection = [];\r\n rows.map((item)=>{\r\n if (!expandedGroups.find(x => x === item.DESCRIPCION_NIVEL))\r\n expandedGroups.push(item.DESCRIPCION_NIVEL); \r\n\r\n if (Boolean(item.CHECKED) && !selection.find(x => x.ID_SECCION_CLIENTE === item.ID_SECCION_CLIENTE))\r\n selection.push(item.ID_SECCION_CLIENTE);\r\n\r\n return item;\r\n })\r\n\r\n this.setState({ rows, \r\n selection,\r\n expandedGroups, \r\n loadingMain: false }); \r\n \r\n });\r\n\r\n}\r\n\r\nchangeExpandedGroups = expandedGroups =>{\r\n this.setState({ expandedGroups });\r\n}\r\n\r\nchangeSelection = selection =>{ \r\n \r\n checkId = funciones.getIdRowChecking(selection, this.state.selection); \r\n const tipo_proceso = selection.length > this.state.selection.length ? 1 : 2;\r\n const accion = tipo_proceso === 1 ? \"marcado\" : \"desmarcado\";\r\n\r\n this.setState({ loadingCheck: true }, ()=>{\r\n \r\n new Request\r\n .post(`${globales.ip}/extraordinario`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ id_seccion_cliente: checkId,\r\n tipo_proceso, \r\n cuenta_alumno: tokenInfo.user, \r\n ad_usuario: tokenInfo.user })\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ loadingCheck: false }, ()=> { \r\n funciones.showToast('e', 'No hay conexión'); \r\n });\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n this.setState({ loadingCheck: false }, ()=>{\r\n if (rows[0].RESP === 'OK')\r\n this.setState({ selection }, ()=>{\r\n funciones.showToast(\"s\", \"Ha \" + accion + \" el examen extraordinario\");\r\n });\r\n else\r\n funciones.showToast(\"w\", rows[0].RESP);\r\n }); \r\n\r\n });\r\n\r\n});\r\n\r\n //console.log(checkId);\r\n \r\n //this.setState({ selection });\r\n}\r\n\r\ncomponentDidMount() { //Load\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 === 2) //Usuario estudiante\r\n {\r\n this.obtener_cursos(); \r\n }\r\n \r\n this.setState({ heightTableMain: funciones.getHeightTableMain(movil, this).heightTable }); \r\n\r\n }); \r\n \r\n}\r\n\r\ncomponentWillUnmount() { //Cerrar Subcripciones\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 === 2) //Si es Usuario Admin\r\n {\r\n \r\n return (\r\n \r\n \r\n \r\n Cursos registrados para Examen Extraordinario\r\n \r\n \r\n
\r\n row.ID_SECCION_CLIENTE}\r\n VirtualTable_cellComponent={VirtualTable_cellComponent}\r\n height={this.state.heightTableMain} \r\n loading={this.state.loadingMain}\r\n enabledFilterRows \r\n showSelectionColumn \r\n groupContentComponent={GroupCellContent}\r\n tableSelectionCellComponent={TableSelectionCellComponent(this.state.loadingCheck, checkId)}\r\n Selection={this.state.selection}\r\n ChangeSelection={this.changeSelection}\r\n leftColumnsFixed={[TableSelection.COLUMN_TYPE]}\r\n columnFixedCellComponent={ColumnFixed_cellComponent} \r\n FilteringColumnExtensions={settingFilter} \r\n /> \r\n
\r\n \r\n \r\n\r\n
\r\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","import React from 'react';\r\nimport CustomTable from '../../components/CustomTable';\r\nimport {globales, funciones} from '../../global';\r\nimport AuthService from '../../AuthService';\r\nimport Request from 'superagent';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport {Table, TableSummaryRow} from '@devexpress/dx-react-grid-material-ui';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Select from '../../components/Select';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Button from '@material-ui/core/Button';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\n\r\nlet Auth = new AuthService();\r\nlet tokenInfo = [];\r\n\r\nvar movil=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n\r\nconst styles = theme => ({\r\n\r\npaper: { \r\n borderRadius: globales.border_dialog,\r\n minWidth: !movil ? '700px' : undefined, \r\n maxWidth: !movil ? '700px' : undefined,\r\n minHeight: !movil ? '420px' : undefined, \r\n maxHeight: !movil ? '420px' : 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\nbackdrop: {\r\n zIndex: 500000,\r\n color: '#fff', \r\n flexDirection: 'column'\r\n},\r\ncontainer: {\r\n display: 'flex',\r\n justifyContent: !movil ? 'center' : undefined, \r\n alignItems: !movil ? \"center\" : \"start\",\r\n flexDirection: !movil ? \"row\" : \"column\",\r\n paddingTop: \"2px\",\r\n paddingBottom: \"5px\", \r\n paddingLeft: !movil ? theme.spacing(4) : theme.spacing(1),\r\n paddingRight: !movil ? theme.spacing(4) : theme.spacing(1), \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\n});\r\nconst widthTable = !movil ? window.screen.width - (globales.tabla.marginleft + globales.tabla.marginright) : 1336;\r\nconst columns = [ \r\n { name: 'ID_FACTURA', title: 'N° Factura'},\r\n { name: 'FECHA_PROCESO', title: 'Fecha proceso'},\r\n { name: 'DESCRIPCION', title: 'Descripción'},\r\n { name: 'MONTO', title: 'Monto'},\r\n { name: 'DETALLE_CUOTAS', title: 'Detalle de cuotas'},\r\n];\r\nconst columnExtensions = [ \r\n { columnName: 'ID_FACTURA', width: widthTable * 0.11 }, \r\n { columnName: 'FECHA_PROCESO', width: widthTable * 0.12, align: \"center\"}, \r\n { columnName: 'DESCRIPCION', width: widthTable * 0.30 },\r\n { columnName: 'MONTO', width: widthTable * 0.11, align: \"center\" },\r\n { columnName: 'DETALLE_CUOTAS', width: widthTable * 0.15, align: \"center\" }, \r\n];\r\nconst totalSummaryItems = [\r\n { columnName: \"MONTO\", type: \"sum\" },\r\n];\r\n\r\nconst columnsDetalle = [ \r\n { name: 'DESCRIPCION', title: 'Descripción'},\r\n { name: 'MONTO', title: 'Monto'},\r\n { name: 'MORA', title: 'Mora'},\r\n { name: 'BECA', title: 'Beca/Desc.'},\r\n { name: 'CREDITO', title: 'Crédito'},\r\n { name: 'PAGAR', title: 'Pagar'},\r\n { name: 'FINAN', title: 'Finan.'},\r\n];\r\nconst columnExtensionsDetalle = [\r\n { columnName: 'DESCRIPCION', width: widthTable * 0.9 * (!movil ? 0.30 : 0.28) },\r\n { columnName: 'MONTO', width: widthTable * 0.9 * (!movil ? 0.10 : 0.09), align: \"center\" }, \r\n { columnName: 'MORA', width: widthTable * 0.9 * (!movil ? 0.10 : 0.09), align: \"center\" }, \r\n { columnName: 'BECA', width: widthTable * 0.9 * (!movil ? 0.10 : 0.09), align: \"center\" }, \r\n { columnName: 'CREDITO', width: widthTable * 0.9 * (!movil ? 0.10 : 0.09), align: \"center\" },\r\n { columnName: 'PAGAR', width: widthTable * 0.9 * (!movil ? 0.10 : 0.09), align: \"center\" }, \r\n { columnName: 'FINAN', width: widthTable * 0.9 * (!movil ? 0.10 : 0.09), align: \"center\" },\r\n];\r\n\r\nconst columnsCuotas=[\r\n { name: 'DESCRIPCIÓN', title: 'Descripción' },\r\n { name: 'FECHA DE PAGO', title: 'Fecha de pago' },\r\n { name: 'MONTO', title: 'Monto' },\r\n];\r\nconst columnExtensionsCuotas = [\r\n { columnName: 'DESCRIPCIÓN', width: 400 },\r\n { columnName: 'FECHA DE PAGO', width: 110, align: 'center' },\r\n { columnName: 'MONTO', width: 110, align: 'right' },\r\n];\r\n\r\nconst RowId = row => row.ID_FACTURA;\r\nconst VirtualTable_cellComponent = (detalleCuotas) => (props) => { \r\n \r\n if (props.column.name === 'FECHA_PROCESO'){\r\n return (\r\n {funciones.getTime(props.row.FECHA_PROCESO, 0)}\r\n \r\n );\r\n }\r\n\r\n if (props.column.name === \"DETALLE_CUOTAS\" && props.row.ID_TIPO_TRANSACCION === 5){\r\n return (\r\n \r\n );\r\n } \r\n\r\n if (props.column.name === \"MONTO\" || props.column.name === \"MORA\" || props.column.name === \"BECA\" || props.column.name === \"CREDITO\" || props.column.name === \"PAGAR\" || props.column.name === \"FINAN\"){\r\n \r\n const simbolo = funciones.isEmpty(props.row.SIMBOLO) ? \"\" : props.row.SIMBOLO + \" \"; \r\n\r\n return (\r\n {simbolo + funciones.formatCurrency(props.row[props.column.name])}\r\n );\r\n }\r\n\r\n return ();\r\n \r\n}\r\n\r\nexport default withStyles(styles) ( \r\nclass App extends React.Component {\r\n\r\ntablaRef = React.createRef();\r\ntablaDialogRef = React.createRef();\r\ndialogActionRef = React.createRef();\r\n\r\n constructor (props) { \r\n super(props); \r\n this.cargar=props.cargar\r\n this.state = {\r\n isLoggin : undefined,\r\n heightTableMain: 0,\r\n loadingMain: false,\r\n rows: [],\r\n itemsModPago: null,\r\n selectedModPago: '',\r\n loadingModPago: true,\r\n expandedRowIds: [],\r\n loadingDetail: false,\r\n openModal: false,\r\n heightTableDialog: 0,\r\n loadingCuotas: false,\r\n rowsCuotas: [],\r\n };\r\n this.RowDetail = ({ row }) => {\r\n \r\n const desplegados = this.facturaDetalle.length;\r\n const id_factura = this.facturaDetalle[desplegados-1];\r\n const styleDiv = { minWidth: 40, marginLeft: 5, marginTop: 5, position: \"absolute\", left: 0 }\r\n \r\n return(
\r\n {this.state.loadingDetail && id_factura === row.ID_FACTURA ?
:
}\r\n
\r\n \r\n
\r\n
);\r\n }\r\n this.ItemComponent = ({children, ...props})=>{\r\n const monedas = this.monedas(); \r\n\r\n if (monedas.length === 0)\r\n children = funciones.formatCurrency(parseFloat(children));\r\n else if (monedas.length === 1)\r\n children = monedas[0] + \" \" + funciones.formatCurrency(parseFloat(children));\r\n else\r\n children = this.calcular_totales(monedas);\r\n \r\n return ();\r\n }\r\n this.facturaDetalle = [];\r\n}\r\n\r\nobtener_mod_pagos = ()=>{\r\n\r\nnew Request\r\n .get(`${globales.ip}/detallePago/modalidades_pago/${tokenInfo.user}/${tokenInfo.user}/${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 window.location.reload();\r\n return; \r\n }\r\n \r\n this.setState({ loadingModPago: 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 let modalidades = JSON.parse(res.text);\r\n modalidades = modalidades.filter(x => x.VISIBLE_WEB || x.ID_MODALIDAD_CLIENTE);\r\n if (modalidades.find(x => x.ID_MODALIDAD_CLIENTE && !x.VISIBLE_WEB))\r\n modalidades = modalidades.filter(x => x.ID_MODALIDAD_CLIENTE && !x.VISIBLE_WEB);\r\n\r\n let selectedModPago = '';\r\n const itemsModPago = modalidades.map((item, i) =>{\r\n if (item.ID_MODALIDAD_CLIENTE) selectedModPago = item.MOD_PAGO_ID;\r\n return {item.MOD_PAGO_DESCRIPCION} \r\n });\r\n\r\n this.setState({ itemsModPago, \r\n loadingModPago: false }, ()=>{\r\n this.handleChangeModPago({ target: { value: selectedModPago }});\r\n }); \r\n \r\n});\r\n\r\n}\r\n\r\nobtener_facturas = (id_mod_pago_nueva, id_mod_pago)=>{\r\n\r\nif (id_mod_pago === \"\") id_mod_pago = id_mod_pago_nueva;\r\n\r\nnew Request\r\n .post(`${globales.ip}/detallePago/modalidad`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ cuenta_alumno: tokenInfo.user, \r\n id_mod_pago_nueva })\r\n .retry(0)\r\n .timeout({ response: 15000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ rows: [], expandedRowIds: [], selectedModPago: id_mod_pago, loadingMain: false }, ()=> { \r\n funciones.showToast('e', 'No hay conexión'); \r\n });\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n this.setState({ loadingMain: false }, ()=>{\r\n if (rows.length > 0 && rows[0].RESP === undefined)\r\n this.setState({ expandedRowIds: [], rows });\r\n else if (rows.length > 0)\r\n this.setState({ selectedModPago: id_mod_pago }, ()=>{\r\n funciones.showToast('w', rows[0].RESP);\r\n });\r\n else\r\n this.setState({ expandedRowIds: [], rows }); \r\n }); \r\n\r\n});\r\n\r\n}\r\n\r\nobtener_detalle= (id_factura)=>{\r\n\r\nnew Request\r\n .get(`${globales.ip}/detallePago/detalle/${id_factura}/${tokenInfo.user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 15000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.facturaDetalle = this.facturaDetalle.filter(x => x !== id_factura);\r\n const expandedRowIds = this.state.expandedRowIds.slice().filter(x => x !== id_factura);\r\n this.setState({ expandedRowIds, 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 rowsDetail = JSON.parse(res.text); \r\n const rows = this.state.rows.slice().map((item)=>{\r\n if (item.ID_FACTURA === id_factura)\r\n item.DETALLE_FACTURA=rowsDetail; \r\n\r\n return item;\r\n });\r\n \r\n this.setState({ rows, loadingDetail: false }); \r\n \r\n });\r\n\r\n}\r\n\r\nobtener_detalle_cuotas= ()=>{\r\n\r\n new Request\r\n .get(`${globales.ip}/detallePago/cuotas/${tokenInfo.user}`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 15000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ loadingCuotas: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión'); \r\n }); \r\n \r\n return;\r\n }\r\n \r\n const rowsCuotas = JSON.parse(res.text).filter(x => !x.DESCRIPCIÓN.toLowerCase().includes(\"matr\")); \r\n this.setState({ rowsCuotas, loadingCuotas: false }); \r\n \r\n });\r\n\r\n}\r\n\r\nhandleChangeModPago = (event)=>{ \r\n const id_modalidad_pago = this.state.selectedModPago; \r\n this.setState({ selectedModPago: event.target.value,\r\n loadingMain: true }, ()=>{\r\n this.facturaDetalle = [];\r\n this.obtener_facturas(event.target.value, id_modalidad_pago);\r\n });\r\n}\r\n\r\nonExpandedRowDetailIdsChange=(expandedRowIds)=>{ \r\n const id_factura = funciones.getIdRowChecking(expandedRowIds, this.state.expandedRowIds);\r\n\r\n if (expandedRowIds.length > this.state.expandedRowIds.length && !this.facturaDetalle.find(x => x === id_factura)){\r\n this.facturaDetalle.push(id_factura);\r\n this.setState({ loadingDetail: true, expandedRowIds }, ()=>{\r\n this.obtener_detalle(id_factura);\r\n });\r\n }\r\n else\r\n this.setState({ expandedRowIds });\r\n}\r\n\r\ndetalle_cuotas = ()=>{\r\nthis.setState({ rowsCuotas: [], openModal: true });\r\n}\r\n\r\nhandleClose = ()=>{\r\n this.setState({ openModal: false });\r\n}\r\n\r\nonEntering = ()=>{\r\n\r\nthis.setState({ loadingCuotas: true, \r\n heightTableDialog: funciones.getHeightTableDialog(movil, this.tablaDialogRef, this.dialogActionRef, 3) }, ()=>{\r\n this.obtener_detalle_cuotas();\r\n});\r\n\r\n}\r\n\r\nmonedas = ()=>{\r\n\r\nlet monedas = [];\r\n\r\nthis.state.rows.map((item)=>{ \r\n if (!monedas.find(x => x === item.SIMBOLO))\r\n monedas.push(item.SIMBOLO);\r\n \r\n return item;\r\n});\r\n\r\nreturn monedas;\r\n\r\n}\r\n\r\ncalcular_totales = (monedas)=>{\r\n\r\nlet rowsMoneda = [];\r\nlet monto = 0;\r\nlet resultado = \"\";\r\n\r\nmonedas.map((moneda, index)=>{\r\n \r\n monto = 0;\r\n rowsMoneda = this.state.rows.filter(x => x.SIMBOLO === moneda);\r\n rowsMoneda.map((item) => {\r\n monto += item.MONTO;\r\n return item;\r\n }); \r\n \r\n resultado += moneda + \" \" + funciones.formatCurrency(monto) + (monedas.length === index + 1 ? \"\" : \" | \");\r\n\r\n return moneda;\r\n});\r\n\r\nreturn resultado;\r\n\r\n}\r\n\r\npagar = ()=>{ \r\n this.cargar({reporte: false, i:true, e:true, l:true, pagina: 'Pago_Linea', nombre: 'Pago en línea', descripcion:'Pago en línea', icono: 'PaymentIcon', manual: false})();\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 === 2) //Usuario estudiante\r\n {\r\n this.obtener_mod_pagos(); \r\n }\r\n \r\n this.setState({ heightTableMain: funciones.getHeightTableMain(movil, this).heightTable }); \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 === 2) \r\n {\r\n \r\n return (\r\n \r\n
\r\n