{"version":3,"sources":["pages/caja/Becas_descuentos/becas_descuentos.js","pages/caja/Becas_descuentos/aplicar_becas_descuentos.js"],"names":["Auth","AuthService","ip","globales","border_dialog","movil","test","navigator","userAgent","movil_pequeño","isVisibleRowSelected","colorRowSelected","colores","tabla","selection","alternateColorRow1","alternateColorRow2","VirtualTable_cellComponent","props","row","styleCell","color","ID_ESTATUS","undefined","_jsx","Table","Cell","style","getRowId","ID_BECA_DESC","styles","theme","button","margin","spacing","paddingRight","alignItems","boxShadow","border","borderRadius","iconSizeSmall","fontSize","Dialog","padding","backdrop","zIndex","flexDirection","select","minWidth","textField","width","defaultHiddenColumnNames","columns","name","title","tableColumnExtensions","columnName","wordWrapEnabled","align","currentdescripcion","currentvalor","withStyles","React","Component","constructor","super","tablaRef","createRef","descripcionRef","cerrarmodal","event","this","setState","setSelectedroles","selection_becas_roles","showSelectionColumn","open_roles","open_modificar","open_agregar","open_eliminar","selection_estado","selection_tipo","selection_tipo_valor","selection_aplica","valor","handleChangeCheckbox_valido_inscripcion","valido_inscripcion","target","checked","abrirmodal_eliminar","state","length","funciones","showToast","eliminar","openBackDrop","validado","Request","post","set","getToken","send","APLICA","DESCRIPCION","VALOR","TIPO_BECA_DESC","ID_TIPO_VALOR","VALIDO_INSCRIPCION","USUARIO","getProfile","user","ID_ROL","BECAS_DESCUENTOS_ROL","TIPO","retry","timeout","response","deadline","end","err","res","toString","substr","rows","JSON","parse","text","RESP","consulta_becas_descuentos","ex","ChangeSelect_tipo","value","ChangeSelect_aplica","ChangeSelect_tipo_valor","error","mensaje","ChangeSelect_estado","Change_Text_valor","abrirmodal_agregar","guardar_agregar","current","mensage","window","location","reload","abrirmodal_modificar","guardar_modificar","onEntering","abrirmodal_roles","onChangeAutocompleteroles","async","newValue","selection_becas","roles","forEach","item","index","push","Promise","resolve","activos","changeSelection_roles","guardar_asignacion_rol","every","includes","obtenerRoles","l","e","i","actualizarbarra","actualizarcircular","isLoggin","heightTableMain","datos_aplica","datos_tipo","datos_tipo_valor","datos_estados","MenuItem","dense","children","grouping","expandedGroups","filteringColumnExtensions","filters","expandedRowIds","enabledFilterRows","isloadingRoles","comboroles","_this","NumberFormatCustom","forwardRef","ref","onChange","inputRef","other","NumberFormat","getInputRef","onValueChange","values","decimalScale","thousandSeparator","isNumericString","prefix","trow","TableRow","_ref","classes","highlighted","rowIndex","selectByRowClick","odd","r","tableRow","Row","backgroundColor","onClick","clickselection","TIPO_VALOR","PERMITE_ASIGNAR_ROL","cursor","componentDidMount","loggedIn","then","b","get","tmp","getHeightTableMain","heightTable","Datos_aplica","map","datos","CAMPO","DATO","Datos_tipo","Datos_tipo_valor","ID","roles_combo","find","grupo","render","botones","icono","toolt","nombre","escritura","onclick","display","naranja","disabled","botones_agregar","botones_modificar","botones_eliminar","_jsxs","Fragment","Backdrop","className","open","CircularProgress","marginTop","open_seleccion","open_borrar","disableEnforceFocus","disableAutoFocus","fullWidth","paper","fullScreen","DialogTitle","Typography","component","variant","DialogContent","background","BarraBotones","LinearProgress","marginBottom","marginLeft","marginRight","maxWidth","TransitionProps","TextField","required","id","label","defaultValue","inputProps","Select","Label","Datos","Selected","Style","Outlined","shrink","InputLabelProps","InputProps","inputComponent","maxLength","FormControlLabel","control","Checkbox","labelPlacement","height","paddingLeft","paddingTop","paddingBottom","justifyContent","Autocomplete","options","getOptionLabel","option","CODIGO","NOMBRE","renderInput","params","getOptionSelected","loading","Button","size","textTransform","startIcon","Icono","marginleft_movil","marginleft","marginright_movil","marginright","CustomTable","Columns","Rows","TableColumnExtensions","columnWidths","DefaultHiddenColumnNames","Selection","ChangeSelection","showSelectAll","RowComponent","standarPlugin","TableRowsIndexer","logout","ListboxComponent","virtual","ID_BECADO","fieldset","textAlign","legend","FilterCellComponent","column","StubCell","TableFilterRow","onChangeAutocompletebecas","setSelectedbecas","aplica","tipo","tipo_valor","DESCRIPCION_VALOR","obtener_becados","cuenta_alumno","valueAutoCompleteAdd","CUENTA_ALUMNO","obtenerBecas","filtersClientes","optionAutocompleteAdd","openAutoComplete","isLoadingClientes","onChangeAutocompleteAdd","openAutoCompleteAdd","onChangeInput","trim","NOMBRE_COMPLETO","selectedDate","Date","handleDateChange","date","handleClickagregar","FECHA_VENCIMIENTO","ESTATUS","handleClickmodificar","replaceAll","handleClickeliminar","combobecas","isloadingBecas","_ref2","PERIODO","HeaderRowCellComponent","valueStudent","_ref3","TableHeaderRow","Tooltip","IconButton","color_iconos","color_iconos_SL","plataforma","document","getElementById","focus","becas","freeSolo","MuiPickersUtilsProvider","utils","DateFnsUtils","locale","esLocale","KeyboardDatePicker","disableToolbar","inputVariant","format","readOnly","autoOk","ToolbarComponent","CustomToolbar","onBlur","onBlurAutoCompleteAdd","endAdornment","isSaving","renderOption","noOptionsText","loadingText","disableListWrap","autoHighlight","disableClearable","clearText","openText","closeText","popper","onInputChange","rowHeaderCellComponent","filterCellComponent"],"mappings":"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","file":"static/js/main~b4eaa935.21e582ee.chunk.js","sourcesContent":["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 TableRowsIndexer from '../../../components/tableRowsIndexer'\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Icono from '../../../components/Icono'\r\nimport { Typography,LinearProgress,MenuItem,TextField, Button } from '@material-ui/core';\r\nimport Select from '../../../components/Select';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport NumberFormat from 'react-number-format';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\n\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\nconst colorRowSelected = 'rgb('+ colores.tabla.selection +')';\r\nlet alternateColorRow1 = colores.tabla.alternateColorRow1; \r\nlet alternateColorRow2 = colores.tabla.alternateColorRow2;\r\n\r\nconst VirtualTable_cellComponent = (props) => {\r\n const {row} = props;\r\n\r\n const styleCell = { color: row.ID_ESTATUS === 0 ? \"red\" : undefined} \r\n\r\n return(\r\n \r\n );\r\n}\r\n\r\nconst getRowId = row => row.ID_BECA_DESC;\r\n\r\n\r\n/* CLASES DE ESTILO */\r\n\r\nvar styles = theme =>({\r\n button: {\r\n margin: movil_pequeño?3:theme.spacing(1),\r\n paddingRight: theme.spacing(2),\r\n alignItems: 'center',\r\n // boxShadow: 'unset grey 1px 1px 3px 1px',\r\n boxShadow: '0px 0px 1px 2px rgba(179,179,179,0.5);-webkit-box-shadow: 0px 1px 1px 1px rgba(179,179,179,0.5);-moz-box-shadow: 0px 0px 2px 1px rgba(179,179,179,1);',\r\n border: 'none',\r\n borderRadius:2,\r\n },\r\n iconSizeSmall:{\r\n '& > *:first-child': {fontSize: 17}\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%':'200px',\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 defaultHiddenColumnNames= ['ID_BECA_DESC','ID_ESTATUS','ID_TIPO_VALOR','PERMITE_ASIGNAR_ROL','VALIDO_INSCRIPCION'];\r\n \r\n const columns= [{name:'ID_BECA_DESC',title: 'ID_BECA_DESC'},\r\n {name:'DESCRIPCION',title: 'Descripción'},\r\n {name:'APLICA',title: 'Aplica'},\r\n {name:'ID_ESTATUS',title: 'ID_ESTATUS'},\r\n {name:'TIPO_VALOR',title: 'Tipo de Valor'},\r\n {name:'VALOR',title: 'Valor'},\r\n {name:'TIPO_BECA_DESC',title: 'Tipo'},\r\n {name:'ID_TIPO_VALOR',title: 'ID_TIPO_VALOR'},\r\n {name:'ESTATUS',title: 'Estado'},\r\n {name:'VALIDO_INSCRIPCION',title: 'VALIDO_INSCRIPCION'},\r\n {name:'PERMITE_ASIGNAR_ROL',title: 'PERMITE_ASIGNAR_ROL'},\r\n ];\r\n\r\n const tableColumnExtensions= [\r\n { columnName: 'DESCRIPCION', wordWrapEnabled: false, align: 'left',width: 300},\r\n { columnName: 'APLICA', wordWrapEnabled: false, align: 'center',width: 150},\r\n { columnName: 'TIPO_VALOR', wordWrapEnabled: false, align: 'center',width: 200},\r\n { columnName: 'VALOR', wordWrapEnabled: false, align: 'center',width: 80},\r\n { columnName: 'TIPO_BECA_DESC', wordWrapEnabled: false, align: 'center',width: 200},\r\n { columnName: 'ESTATUS', wordWrapEnabled: false, align: 'center',width: 80},\r\n ];\r\n\r\n let currentdescripcion = null;\r\n let currentvalor = null;\r\n \r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class becas_descuentos extends React.Component {\r\n tablaRef = React.createRef();\r\n descripcionRef = React.createRef();\r\n //valorRef = 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 open_eliminar: false,\r\n open_agregar: false,\r\n open_modificar: false,\r\n open_roles: false,\r\n openBackDrop: false, \r\n isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n selection: [],\r\n selection_estado: '',\r\n selection_aplica: '',\r\n selection_tipo: '',\r\n selection_tipo_valor:'',\r\n datos_aplica: [],\r\n datos_tipo: [],\r\n datos_tipo_valor: [],\r\n datos_estados: [ \r\n {'Activo'}\r\n ,\r\n \r\n {'Inactivo'}\r\n \r\n ],\r\n grouping: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n enabledFilterRows: true,\r\n validado: true,\r\n valido_inscripcion: false,\r\n mensage: '',\r\n valor: null,\r\n isloadingRoles: false,\r\n comboroles: [],\r\n setSelectedroles: null,\r\n showSelectionColumn: false,\r\n selection_becas_roles: [],\r\n }\r\n\r\n const trow = TableRow => withStyles(styles, { name: \"Row\" })( ({classes,highlighted, rowIndex, row, selectByRowClick, ...props}) => {\r\n\r\n const odd = !!(rowIndex % 2);\r\n const r = props.tableRow \r\n \r\n const clickselection = (ID_BECA_DESC \r\n ,DESCRIPCION \r\n ,APLICA \r\n ,ID_ESTATUS \r\n ,TIPO_VALOR\r\n ,VALOR\r\n ,TIPO_BECA_DESC\r\n ,ID_TIPO_VALOR\r\n ,PERMITE_ASIGNAR_ROL\r\n ,VALIDO_INSCRIPCION\r\n ) => event =>{\r\n this.setState({ selection: [{ID_BECA_DESC:ID_BECA_DESC,DESCRIPCION:DESCRIPCION,APLICA:APLICA,ID_ESTATUS:ID_ESTATUS,TIPO_VALOR:TIPO_VALOR\r\n ,VALOR:VALOR,TIPO_BECA_DESC:TIPO_BECA_DESC,ID_TIPO_VALOR:ID_TIPO_VALOR,PERMITE_ASIGNAR_ROL:PERMITE_ASIGNAR_ROL,VALIDO_INSCRIPCION:VALIDO_INSCRIPCION\r\n }] });\r\n }\r\n \r\n if (this.state.selection[0]===undefined?this.state.selection[0]:this.state.selection[0].ID_BECA_DESC === props.tableRow.row.ID_BECA_DESC) { isVisibleRowSelected = true; }\r\n \r\n if(this.state.open_roles)\r\n return(\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n\r\n });\r\n\r\n let _this=this\r\n\r\n const NumberFormatCustom = React.forwardRef(function NumberFormatCustom(props, ref) {\r\n const { onChange,inputRef,...other } = props;\r\n \r\n return (\r\n {\r\n onChange({\r\n target: {\r\n name: props.name,\r\n value: values.value,\r\n },\r\n });\r\n }}\r\n \r\n decimalScale={2}\r\n thousandSeparator\r\n isNumericString\r\n prefix={_this.state.selection_tipo_valor===2?'L':''}\r\n />\r\n );\r\n });\r\n\r\n this.NumberFormatCustom=NumberFormatCustom\r\n this.trow = trow(Table.Row);\r\n }; //FIN CONSTRUCTORS\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}/Becas_descuentos/obtener_becas_descuentos/${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 _this.setState({ rows: tmp, 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.actualizarbarra(true)\r\n })\r\n Request.get(`${ip}/Becas_descuentos/obtener_aplica_tipo_becas_descuentos/${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\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 //toastr.error('Error de conexión')\r\n })();//FIN FUNCION ASYNC\r\n return;\r\n }\r\n\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n\r\n const Datos_aplica = tmp.map((datos, i) =>\r\n datos.CAMPO==='APLICA'?\r\n \r\n {datos.DATO}\r\n \r\n :null\r\n );\r\n const Datos_tipo = tmp.map((datos, i) =>\r\n datos.CAMPO==='TIPO'?\r\n \r\n {datos.DATO}\r\n \r\n :null\r\n );\r\n const Datos_tipo_valor = tmp.map((datos, i) =>\r\n datos.CAMPO==='TIPO_VALOR'?\r\n \r\n {datos.DATO}\r\n \r\n :null\r\n );\r\n\r\n\r\n _this.setState({ datos_aplica: Datos_aplica,datos_tipo: Datos_tipo,datos_tipo_valor: Datos_tipo_valor})\r\n }\r\n })\r\n})\r\nthis.obtenerRoles()\r\n}\r\n\r\ncerrarmodal =()=> event =>{\r\n currentdescripcion=''\r\n currentvalor=''\r\n this.setState({setSelectedroles: null,selection_becas_roles:[],showSelectionColumn:false,open_roles: false,open_modificar: false,open_agregar: false, open_eliminar: false, selection_estado: '',selection_tipo: '',selection_tipo_valor: '',selection_aplica: '',valor: null})\r\n}\r\n\r\nconsulta_becas_descuentos(){\r\n let _this = this;\r\n this.actualizarbarra(false)\r\n this.setState({openBackDrop: true},()=>{\r\n Request.get(`${ip}/Becas_descuentos/obtener_becas_descuentos/${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({openBackDrop: false})\r\n return;\r\n }\r\n\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n _this.setState({ rows: tmp,openBackDrop: false, heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable}); \r\n }\r\n else\r\n {\r\n _this.setState({rows: [],openBackDrop: false, 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\nhandleChangeCheckbox_valido_inscripcion= event => {\r\n this.setState({ valido_inscripcion: event.target.checked });\r\n}\r\n\r\n\r\n//--------------------------------------------ELIMINAR\r\n\r\nabrirmodal_eliminar=()=>event=>{\r\n if(this.state.selection.length>0)\r\n {\r\n if(this.state.selection[0].ID_ESTATUS===0) \r\n this.setState({open_eliminar: true})\r\n else\r\n funciones.showToast('w', 'Debe estar Inactivo para la eliminación.');\r\n }\r\n}\r\n\r\neliminar=()=>{\r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${globales.ip}/Becas_descuentos/IUD_gestion_becas_descuentos`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECA_DESC:this.state.selection[0].ID_BECA_DESC,APLICA:'',DESCRIPCION:'',ID_ESTATUS:0,VALOR:0,TIPO_BECA_DESC:'',ID_TIPO_VALOR:0,VALIDO_INSCRIPCION:0,USUARIO:Auth.getProfile().user,ID_ROL: 0,BECAS_DESCUENTOS_ROL: '',TIPO: 3 })\r\n .retry(0)\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 //window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n return; \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.setState({openBackDrop: false,validado: true,open_eliminar: false,selection:[]}, ()=>{\r\n funciones.showToast('s', 'Se eliminó correctamente.'); \r\n this.consulta_becas_descuentos();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\r\n funciones.showToast('w', rows[0].RESP);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n catch(ex){\r\n funciones.showToast('e', 'Error de conexión');\r\n this.setState({openBackDrop: false,validado: true})\r\n }\r\n })\r\n}\r\n\r\nChangeSelect_tipo = event =>{\r\n this.setState({ selection_tipo: event.target.value });\r\n}\r\nChangeSelect_aplica = event =>{\r\n this.setState({ selection_aplica: event.target.value });\r\n}\r\nChangeSelect_tipo_valor= event =>{\r\n this.setState({ selection_tipo_valor: event.target.value },()=>{\r\n \r\n if(event.target.value===1 && (this.state.valor>100 || this.state.valor<0))\r\n {\r\n this.setState({error: true,mensaje: 'El porcentaje debe tener rango entre 0% y 100%'})\r\n }\r\n else if(event.target.value===2 && (this.state.valor<0 || this.state.valor===null || this.state.valor===undefined || this.state.valor===''))\r\n {\r\n this.setState({error: true,mensaje:'El Monto debe ser mayor que 0'})\r\n }\r\n else{\r\n this.setState({error: false})\r\n }\r\n });\r\n}\r\nChangeSelect_estado= event =>{\r\n this.setState({ selection_estado: event.target.value });\r\n}\r\n\r\nChange_Text_valor=event=>{\r\n if(this.state.selection_tipo_valor===1 && (event.target.value>100 || event.target.value<0))\r\n {\r\n this.setState({error: true})\r\n }\r\n else if(this.state.selection_tipo_valor===2 && (event.target.value<0 || event.target.value===null || event.target.value===undefined || event.target.value===''))\r\n {\r\n this.setState({error: true})\r\n }\r\n else{\r\n this.setState({error: false,valor:event.target.value})\r\n }\r\n}\r\n\r\n//--------------------------------------------------AGREGAR\r\n\r\nabrirmodal_agregar = () => event => {\r\n currentdescripcion=''\r\n currentvalor=null\r\n this.setState({open_agregar: true,valor: null})\r\n}\r\n\r\n\r\nguardar_agregar=()=>{\r\n if(this.descripcionRef.current.value==='') {funciones.showToast('w','Ingrese la descripción.'); return;}\r\n if(this.state.selection_tipo==='') {funciones.showToast('w','Ingrese el tipo de registro.');return;}\r\n if(this.state.selection_aplica==='') {funciones.showToast('w','Ingrese donde aplicará la Beca/Descuento');return;}\r\n if(this.state.selection_tipo_valor==='') {funciones.showToast('w','Ingrese el tipo del valor.');return;}\r\n if(this.state.valor==='' || (this.state.selection_tipo_valor===1 && (this.state.valor<0 || this.state.valor>100 )) || this.state.valor===null) {funciones.showToast('w','Ingrese el valor.');return;}\r\n if(this.state.selection_tipo_valor===2 && this.state.valor<=0){funciones.showToast('w','El valor debe ser mayor que 0.');return;}\r\n if(this.state.selection_estado==='') {funciones.showToast('w','Ingrese el estado.');return;}\r\n \r\n\r\n if(!this.state.error)\r\n {\r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${ip}/Becas_descuentos/IUD_gestion_becas_descuentos`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECA_DESC:0,APLICA: this.state.selection_aplica, DESCRIPCION: this.descripcionRef.current.value, ID_ESTATUS: this.state.selection_estado,VALOR: this.state.valor, TIPO_BECA_DESC: this.state.selection_tipo, ID_TIPO_VALOR: this.state.selection_tipo_valor, VALIDO_INSCRIPCION: this.state.valido_inscripcion?1:0, USUARIO: Auth.getProfile().user,ID_ROL: 0,BECAS_DESCUENTOS_ROL: '', TIPO: 1 })\r\n .retry(0)\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 window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n console.log(err)\r\n return;\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.setState({openBackDrop: false,validado: true,open_agregar: false,selection_aplica:'',selection_estado:'',selection_tipo:'',selection_tipo_valor:'',valor:null}, ()=>{\r\n funciones.showToast('s', 'Información ingresada correctamente.'); \r\n this.consulta_becas_descuentos();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\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,validado: true}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n }\r\n else{\r\n funciones.showToast('w',this.state.mensage)\r\n }\r\n}\r\n\r\n////////////////////////////////////////////////////// MODIFICAR\r\n\r\nabrirmodal_modificar = () => event => {\r\n if(this.state.selection.length>0){\r\n currentdescripcion= this.state.selection[0].DESCRIPCION\r\n currentvalor= this.state.selection[0].VALOR\r\n this.setState({open_modificar: true })\r\n }\r\n}\r\nguardar_modificar=()=>{\r\n if(this.descripcionRef.current.value==='') {funciones.showToast('w','Ingrese la descripción.'); return;}\r\n if(this.state.selection_tipo==='') {funciones.showToast('w','Ingrese el tipo de registro.');return;}\r\n if(this.state.selection_aplica==='') {funciones.showToast('w','Ingrese donde aplicará la Beca/Descuento');return;}\r\n if(this.state.selection_tipo_valor==='') {funciones.showToast('w','Ingrese el tipo del valor.');return;}\r\n if(this.state.valor==='' || (this.state.selection_tipo_valor===1 && (this.state.valor<0 || this.state.valor>100)) || this.state.valor===null) {funciones.showToast('w','Ingrese el valor.');return;}\r\n if(this.state.selection_tipo_valor===2 && this.state.valor<=0){funciones.showToast('w','El valor debe ser mayor que 0.');return;}\r\n if(this.state.selection_estado==='') {funciones.showToast('w','Ingrese el estado.');return;}\r\n \r\n\r\n if(!this.state.error)\r\n {\r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${ip}/Becas_descuentos/IUD_gestion_becas_descuentos`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECA_DESC:this.state.selection[0].ID_BECA_DESC, APLICA: this.state.selection_aplica, DESCRIPCION: this.descripcionRef.current.value, ID_ESTATUS: this.state.selection_estado,VALOR: this.state.valor, TIPO_BECA_DESC: this.state.selection_tipo, ID_TIPO_VALOR: this.state.selection_tipo_valor, VALIDO_INSCRIPCION: this.state.valido_inscripcion?1:0, USUARIO: Auth.getProfile().user,ID_ROL: 0,BECAS_DESCUENTOS_ROL: '', TIPO: 2 })\r\n .retry(0)\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 window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n console.log(err)\r\n return;\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.setState({selection:[],openBackDrop: false,validado: true,open_modificar: false,selection_aplica:'',selection_estado:'',selection_tipo:'',selection_tipo_valor:'',valor:null}, ()=>{\r\n funciones.showToast('s', 'Información ingresada correctamente.'); \r\n this.consulta_becas_descuentos();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\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,validado: true}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n }\r\n else{\r\n funciones.showToast('w',this.state.mensage)\r\n }\r\n}\r\nonEntering = () =>{\r\n if(this.state.open_modificar)\r\n this.setState({valor:this.state.selection[0].VALOR,selection_aplica:this.state.selection[0].APLICA,selection_tipo: this.state.selection[0].TIPO_BECA_DESC\r\n ,selection_tipo_valor: this.state.selection[0].ID_TIPO_VALOR,selection_estado: this.state.selection[0].ID_ESTATUS,valido_inscripcion: this.state.selection[0].VALIDO_INSCRIPCION})\r\n}\r\n\r\n////////////////////////////////////////////////////// ROLES\r\n\r\nabrirmodal_roles = () => event => {\r\n this.setState({open_roles: true }) \r\n}\r\n\r\nobtenerRoles()\r\n{\r\nthis.setState({isloadingRoles: true},()=>{\r\nnew Request\r\n .get(`${globales.ip}/Becas_descuentos/obtener_roles_becas_Descuentos/${Auth.getProfile().user}`)\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 \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 funciones.showToast('e', 'Error de conexión'); \r\n return;\r\n }\r\n \r\n const roles = JSON.parse(res.text);\r\n if (roles.length > 0) \r\n { \r\n var found\r\n var roles_combo=[]\r\n roles.forEach(\r\n function getCheck(item, index) {\r\n found = roles_combo.find(grupo => grupo.ID_ROL === item.ID_ROL);\r\n \r\n if (found == null){\r\n roles_combo.push(item);\r\n }else {\r\n found = null;\r\n }\r\n })\r\n this.setState({ roles: roles,comboroles: roles_combo,isloadingRoles: false}); \r\n }\r\n });\r\n })\r\n}\r\n\r\nonChangeAutocompleteroles = async (event, newValue) =>{\r\n\r\n if (newValue!==null)\r\n {\r\n var selection_becas=[]\r\n this.state.roles.forEach(\r\n function getCheck(item, index) {\r\n \r\n if(newValue.ID_ROL === item.ID_ROL && item.ID_BECA_DESC!==null){\r\n selection_becas.push(item.ID_BECA_DESC);\r\n }\r\n })\r\n await Promise.resolve(this.setState({setSelectedroles :newValue, selection_becas_roles:selection_becas,activos:selection_becas, showSelectionColumn: true}));\r\n }\r\n else{\r\n await Promise.resolve(this.setState({showSelectionColumn: false, selection_becas_roles: []}));\r\n }\r\n}\r\n\r\nchangeSelection_roles = selection =>{\r\n this.setState({ selection_becas_roles: selection });\r\n}\r\n\r\nguardar_asignacion_rol=()=>{\r\n \r\n if(this.state.selection_becas_roles.length === this.state.activos.length && this.state.selection_becas_roles.every( item => this.state.activos.includes(item) ))\r\n {\r\n funciones.showToast('w','No hay cambios para realizar.');\r\n return;\r\n }\r\n\r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${ip}/Becas_descuentos/IUD_gestion_becas_descuentos`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECA_DESC:0,APLICA: '', DESCRIPCION: '', ID_ESTATUS: 0,VALOR: 0, TIPO_BECA_DESC: '', ID_TIPO_VALOR: 0, VALIDO_INSCRIPCION: 0, USUARIO: Auth.getProfile().user,ID_ROL: this.state.setSelectedroles.ID_ROL,BECAS_DESCUENTOS_ROL: this.state.selection_becas_roles.toString(), TIPO: 4 })\r\n .retry(0)\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 window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n return;\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.setState((state,props)=>({selection:[],openBackDrop: false,validado: true,activos: state.selection_becas_roles}), ()=>{\r\n funciones.showToast('s', 'Información ingresada correctamente.'); \r\n this.obtenerRoles();\r\n this.consulta_becas_descuentos();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\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,validado: true}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\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 = [\r\n {icono: 'Add', toolt: 'Agregar Descuento/Beca', nombre: 'Agregar' ,escritura:true , onclick: this.abrirmodal_agregar()\r\n , display: 'auto'},\r\n {icono: 'Edit', toolt: 'Modificar Descuento/Beca', nombre: 'Modificar' ,escritura:true , onclick: this.abrirmodal_modificar()\r\n , display:'auto'},\r\n {icono: 'Delete', toolt: 'Eliminar Descuento/Beca', nombre: 'Eliminar' ,escritura:true , onclick: this.abrirmodal_eliminar()\r\n , color: colores.naranja, display: 'auto'},\r\n {icono: 'ChevronRightIcon', toolt: 'Asignación Descuento/Beca a Rol', nombre: 'Roles' ,escritura:true , onclick: this.abrirmodal_roles()\r\n , color: 'green', display: 'auto',disabled: this.state.rows.length>0?!this.state.rows[0].PERMITE_ASIGNAR_ROL:true}\r\n ]\r\n const botones_agregar = [\r\n {icono: 'Save', nombre: 'Guardar',escritura:true,onclick: this.guardar_agregar\r\n , display:'auto'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n const botones_modificar = [\r\n {icono: 'Save', nombre: 'Guardar',escritura:true,onclick: this.guardar_modificar\r\n , display:'auto'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n const botones_eliminar = [\r\n {icono: 'Delete', toolt: 'Eliminar', nombre: 'Eliminar',onclick: this.eliminar , display:'auto'},\r\n {icono: 'Close', toolt: 'Cerrar', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n\r\n if (this.state.isLoggin === true )\r\n {\r\n return ( \r\n \r\n \r\n \r\n {this.state.open_seleccion?'Guardando...':this.state.open_borrar?'Eliminando...':''}\r\n \r\n\r\n {/*--------------------------------------------------------DIALOG PARA ELIMINAR---------------------------------------------------------------------*/}\r\n \r\n \r\n \r\n {'Eliminar Beca o Descuento'}\r\n \r\n \r\n \r\n \r\n ¿Está seguro de eliminar este registro?\r\n \r\n \r\n
\r\n {this.state.validado?\r\n :\r\n }\r\n
\r\n \r\n {/*--------------------------------------------------------DIALOG PARA INSERTAR Y MODIFICAR----------------------------------------------------------*/}\r\n \r\n \r\n \r\n \r\n {'Beca o Descuento'}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n }\r\n label={'Valido en Inscripción de Primer Ingreso'}\r\n labelPlacement=\"end\"\r\n style={{height:35,paddingLeft:0,paddingRight:0,paddingTop:5,paddingBottom:5,marginLeft:5 ,marginRight: 10, marginTop:8}}\r\n />\r\n \r\n \r\n
\r\n {this.state.validado?\r\n :\r\n }\r\n
\r\n
\r\n\r\n {/*------------------------------------------------ VENTANA PRINCIPAL DE DESCUENTOS -----------------------------------------------------------------*/}\r\n {this.state.open_roles?\r\n
\r\n option.CODIGO + ' | ' + option.NOMBRE}\r\n style={{ width: !movil ? '400px' : '100%' ,marginRight:!movil ? 5:0 }} \r\n renderInput={(params) => }\r\n value={this.state.setSelectedroles}\r\n getOptionSelected = {(option, value) => option.ID_ROL === value.ID_ROL}\r\n onChange={this.onChangeAutocompleteroles} \r\n loading={this.state.isloadingRoles}\r\n /> \r\n
\r\n {this.state.setSelectedroles===null?\r\n \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={this.state.showSelectionColumn}\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 {colores, globales,funciones} from '../../../global';\r\nimport BarraBotones from '../../../components/Barra_menu';\r\nimport AuthService from '../../../AuthService';\r\nimport Request from 'superagent';\r\nimport CustomTable from '../../../components/CustomTable';\r\nimport {Table,TableHeaderRow,TableFilterRow} from '@devexpress/dx-react-grid-material-ui';\r\nimport TableRowsIndexer from '../../../components/tableRowsIndexer'\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Icono from '../../../components/Icono'\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport {virtual} from '../../../components/VirtualListBox';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport { Typography,LinearProgress,TextField } from '@material-ui/core';\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\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\nconst colorRowSelected = 'rgb('+ colores.tabla.selection +')';\r\nlet alternateColorRow1 = colores.tabla.alternateColorRow1; \r\nlet alternateColorRow2 = colores.tabla.alternateColorRow2;\r\n\r\nconst ListboxComponent = virtual.ListboxComponent;\r\n\r\n/*\r\nconst VirtualTable_cellComponent = (props) => {\r\n const { column } = props;\r\n const {row} = props;\r\n return(\r\n \r\n );\r\n}*/\r\n\r\nconst getRowId = row => row.ID_BECADO;\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 fieldset: {\r\n textAlign: 'left', \r\n paddingLeft: 12, \r\n paddingRight: 12, \r\n paddingTop: 0,\r\n paddingBottom: 10,\r\n borderRadius:4,\r\n border: '#C9C9C9 solid 1px', \r\n height: 'auto',\r\n },\r\n legend: { \r\n marginLeft: -8, \r\n paddingLeft: 5,\r\n paddingRight: 5,\r\n color: 'grey'\r\n },\r\n })\r\n\r\n const columns= [\r\n {name:'ROOT',title: ' ',},\r\n {name:'ID_BECADO',title: 'ID_BECADO'},\r\n {name:'DESCRIPCION',title: 'Descripción'},\r\n {name:'CUENTA_ALUMNO',title: 'CUENTA_ALUMNO'},\r\n {name:'ID_BECA_DESC',title: 'ID_BECA_DESC'},\r\n {name:'FECHA_VENCIMIENTO',title: 'Fecha de Vencimiento'},\r\n {name:'FECHA_VENCIMIENTO_MOSTRAR',title: 'Fecha de Vencimiento'},\r\n {name:'NOMBRE_COMPLETO',title: 'NOMBRE_COMPLETO'},\r\n {name:'TIPO_BECA_DESC',title: 'Tipo'},\r\n {name:'APLICA',title: 'Aplica'},\r\n {name:'VALOR',title: 'Valor'},\r\n {name:'PERIODO',title: 'Periodo'},\r\n {name:'DESCRIPCION_VALOR',title: 'DESCRIPCION_VALOR'},\r\n ];\r\n\r\n const tableColumnExtensions= [\r\n { columnName: 'ROOT',width:100, align: 'center'},\r\n { columnName: 'DESCRIPCION', wordWrapEnabled: false, align: 'left',width: 360},\r\n { columnName: 'FECHA_VENCIMIENTO_MOSTRAR', wordWrapEnabled: false, align: 'center',width: 185},\r\n { columnName: 'VALOR', wordWrapEnabled: false, align: 'center',width: 150},\r\n { columnName: 'PERIODO', wordWrapEnabled: false, align: 'center',width: 150},\r\n { columnName: 'TIPO_BECA_DESC', wordWrapEnabled: false, align: 'center',width: 180},\r\n { columnName: 'APLICA', wordWrapEnabled: false, align: 'center',width: 180},\r\n ];\r\n\r\n const defaultHiddenColumnNames= ['ID_BECADO','CUENTA_ALUMNO','ID_BECA_DESC','NOMBRE_COMPLETO','FECHA_VENCIMIENTO','DESCRIPCION_VALOR'];\r\n\r\n \r\n\r\n const FilterCellComponent = ({style, className, ...props})=>{ \r\n if (props.column.name === \"ROOT\"){ \r\n return (\r\n
\r\n ); \r\n }\r\n return ();\r\n }\r\n\r\n \r\n\r\n/* EXPORT */\r\nexport default withStyles(styles)(\r\n class Aplicar_beca 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 open_eliminar: false,\r\n open_agregar: false,\r\n open_modificar: false,\r\n openBackDrop: false, \r\n isLoggin: undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n combobecas: [],\r\n selection: [],\r\n setSelectedbecas: null,\r\n selectedDate: new Date(),\r\n aplica: '',\r\n tipo: '',\r\n valor: '',\r\n tipo_valor: '',\r\n grouping: [],\r\n expandedGroups: [],\r\n filteringColumnExtensions: [],\r\n filters: [],\r\n expandedRowIds: [],\r\n enabledFilterRows: true,\r\n optionAutocompleteAdd: [],\r\n openAutoCompleteAdd: false,\r\n valueAutoCompleteAdd: null,\r\n validado: true,\r\n isloadingBecas: false,\r\n }\r\n\r\n const trow = TableRow => withStyles(styles, { name: \"Row\" })( ({classes,highlighted, rowIndex, row, selectByRowClick, ...props}) => {\r\n\r\n const odd = !!(rowIndex % 2);\r\n const r = props.tableRow \r\n \r\n const clickselection = (ID_BECADO,CUENTA_ALUMNO,ID_BECA_DESC,FECHA_VENCIMIENTO,NOMBRE_COMPLETO,DESCRIPCION\r\n ,VALOR,PERIODO,TIPO_BECA_DESC,APLICA,DESCRIPCION_VALOR\r\n ) => event =>{\r\n this.setState({ selection: [{ID_BECADO:ID_BECADO,CUENTA_ALUMNO:CUENTA_ALUMNO,ID_BECA_DESC:ID_BECA_DESC,FECHA_VENCIMIENTO:FECHA_VENCIMIENTO,NOMBRE_COMPLETO:NOMBRE_COMPLETO,DESCRIPCION:DESCRIPCION\r\n ,VALOR:VALOR,PERIODO:PERIODO,TIPO_BECA_DESC:TIPO_BECA_DESC,APLICA:APLICA,DESCRIPCION_VALOR:DESCRIPCION_VALOR\r\n }] });\r\n }\r\n \r\n if (this.state.selection[0]===undefined?this.state.selection[0]:this.state.selection[0].ID_BECADO === props.tableRow.row.ID_BECADO) { isVisibleRowSelected = true; }\r\n\r\n return (\r\n \r\n );\r\n });\r\n\r\n const HeaderRowCellComponent = (valueStudent, handleClickagregar, handleClickmodificar, handleClickeliminar,selection)=> ({ ...props}) => {\r\n \r\n if (valueStudent===null)\r\n valueStudent=[]\r\n\r\n const style={paddingTop: props.column.name === \"ROOT\" ? \"5px\" : undefined, paddingBottom: props.column.name === \"ROOT\" ? \"5px\" : undefined }\r\n \r\n if (props.column.name === \"ROOT\")\r\n {\r\n return (\r\n {this.e===true?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n }\r\n {this.e===true?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n }\r\n {this.e===true?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n }\r\n \r\n );\r\n }\r\n \r\n return ();\r\n }\r\n\r\n this.trow = trow(Table.Row);\r\n this.HeaderRowCellComponent=HeaderRowCellComponent\r\n }; //FIN CONSTRUCTORS\r\n\r\n\r\ncomponentDidMount()\r\n{\r\n let _this = this;\r\n _this.actualizarbarra(false)\r\n this.setState({ isLoggin: Auth.getProfile().plataforma !== undefined ? true : false }, ()=>{\r\n document.getElementById('estudiante').focus();\r\n _this.filtersClientes('-');\r\n _this.obtenerBecas();\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\nobtenerBecas()\r\n{\r\nlet cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\nthis.setState({isloadingBecas: true},()=>{\r\nnew Request\r\n .get(`${globales.ip}/Aplicar_beca/obtener_becas_Descuentos_aplicar/${cuenta_alumno}/${Auth.getProfile().user}`)\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 \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 funciones.showToast('e', 'Error de conexión'); \r\n return;\r\n this.setState({ isloadingBecas: false}); \r\n }\r\n \r\n const becas = JSON.parse(res.text);\r\n if (becas.length > 0) \r\n { \r\n this.setState({ combobecas: becas,isloadingBecas: false}); \r\n }\r\n });\r\n })\r\n}\r\n\r\nonChangeAutocompletebecas = async (event, newValue) =>{\r\n if (newValue!==null)\r\n {\r\n await Promise.resolve(this.setState({setSelectedbecas :newValue,aplica: newValue.APLICA,tipo: newValue.TIPO_BECA_DESC,tipo_valor:newValue.DESCRIPCION_VALOR ,valor: newValue.VALOR+(newValue.DESCRIPCION_VALOR==='PORCENTAJE'?'%':'')}));\r\n }\r\n\r\n}\r\n\r\nobtener_becados=()=>{\r\n let _this = this;\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n _this.obtenerBecas();\r\n this.setState({openBackDrop: true},()=>{\r\n Request.get(`${ip}/Aplicar_beca/obtener_becados/${cuenta_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 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({openBackDrop:false})\r\n return;\r\n }\r\n const tmp = JSON.parse(res.text);\r\n if(tmp.length>0){\r\n _this.setState({ openBackDrop:false,rows: tmp, heightTableMain: funciones.getHeightTableMain(movil_pequeño,_this).heightTable\r\n }); \r\n }\r\n else\r\n {\r\n _this.setState({openBackDrop:false,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\n \r\nfiltersClientes = (value)=>{\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 onChangeAutocompleteAdd = (event, value) => {\r\n \r\n this.setState({ valueAutoCompleteAdd: value, openAutoCompleteAdd: false }, ()=>{\r\n this.obtener_becados()\r\n });\r\n }\r\n\r\n \r\n onChangeInput = (e, value)=>{ \r\n if (e === null || e.target.value === undefined)\r\n {\r\n if (this.state.openAutoCompleteAdd){ \r\n this.setState({ openAutoCompleteAdd: false });\r\n }\r\n return;\r\n }\r\n \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\ncerrarmodal =()=> event =>{\r\n this.setState({open_modificar: false,open_agregar: false, open_eliminar: false, setSelectedbecas: null, selectedDate: new Date(), })\r\n}\r\n\r\nhandleDateChange = (date)=>{\r\n this.setState({ selectedDate: date }, ()=>{\r\n //this.obtenerActividades();\r\n }); \r\n}\r\n\r\n////////////////////////////////////////////////////////////////////////////////------AGREGAR\r\nhandleClickagregar=()=>event=>{\r\n this.setState({open_agregar: true})\r\n}\r\n\r\nguardar_agregar=()=>{\r\n if(this.state.setSelectedbecas===null) {funciones.showToast('w','Seleccione una beca o descuento.'); return;}\r\n if(this.state.selectedDate==='') {funciones.showToast('w','Ingrese una fecha de vencimiento.');return;}\r\n\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n \r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${globales.ip}/Aplicar_beca/IUD_gestion_becados`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECADO: 0,CUENTA_ALUMNO: cuenta_alumno,ID_BECA_DESC: this.state.setSelectedbecas.ID_BECA_DESC,FECHA_VENCIMIENTO:this.state.selectedDate,ESTATUS:1,USUARIO:Auth.getProfile().user,TIPO: 1 })\r\n .retry(0)\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 window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n return;\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.setState({openBackDrop: false,validado: true,open_agregar: false,setSelectedbecas:null, selectedDate: new Date()}, ()=>{\r\n funciones.showToast('s', 'Información ingresada correctamente.'); \r\n this.obtener_becados();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\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,validado: true}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\n////////////////////////////////////////////////////////////////////////////////------MODIFICAR\r\nhandleClickmodificar=()=>event=>{\r\n if(this.state.selection.length>0)\r\n {\r\n this.setState({open_modificar: true})\r\n }\r\n}\r\n\r\nguardar_modificar=()=>{\r\n if(this.state.setSelectedbecas===null) {funciones.showToast('w','Seleccione una beca o descuento.'); return;}\r\n if(this.state.selectedDate==='') {funciones.showToast('w','Ingrese una fecha de vencimiento.');return;}\r\n\r\n let cuenta_alumno = this.state.valueAutoCompleteAdd!==null? this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:'0'\r\n \r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${globales.ip}/Aplicar_beca/IUD_gestion_becados`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECADO: this.state.selection[0].ID_BECADO,CUENTA_ALUMNO: cuenta_alumno,ID_BECA_DESC: this.state.setSelectedbecas.ID_BECA_DESC,FECHA_VENCIMIENTO:this.state.selectedDate,ESTATUS:1,USUARIO:Auth.getProfile().user,TIPO: 2 })\r\n .retry(0)\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 window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n return;\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.setState({selection:[],openBackDrop: false,validado: true,open_modificar: false,setSelectedbecas:null, selectedDate: new Date()}, ()=>{\r\n funciones.showToast('s', 'Información ingresada correctamente.'); \r\n this.obtener_becados();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\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,validado: true}, ()=>{\r\n funciones.showToast('e', 'Error de conexión');\r\n });\r\n }\r\n })\r\n}\r\n\r\nonEntering = () =>{\r\n \r\n if(this.state.open_modificar)\r\n {\r\n var setSelectedbecas={'ID_BECA_DESC':this.state.selection[0].ID_BECA_DESC,'DESCRIPCION':this.state.selection[0].DESCRIPCION,'TIPO_BECA_DESC':this.state.selection[0].TIPO_BECA_DESC,'APLICA':this.state.selection[0].APLICA,'DESCRIPCION_VALOR': this.state.selection[0].DESCRIPCION_VALOR,'VALOR':this.state.selection[0].VALOR}\r\n\r\n this.setState({\r\n valor:this.state.selection[0].VALOR\r\n ,aplica:this.state.selection[0].APLICA\r\n ,tipo: this.state.selection[0].TIPO_BECA_DESC\r\n ,tipo_valor: this.state.selection[0].DESCRIPCION_VALOR\r\n ,selectedDate: this.state.selection[0].FECHA_VENCIMIENTO.replaceAll('Z','')\r\n ,setSelectedbecas:setSelectedbecas\r\n })\r\n}\r\n}\r\n\r\n////////////////////////////////////////////////////////////////////////////////------ELIMINAR\r\nhandleClickeliminar=()=>event=>{\r\n if(this.state.selection.length>0)\r\n {\r\n this.setState({open_eliminar: true})\r\n }\r\n}\r\n\r\neliminar=()=>{\r\n this.setState({ openBackDrop: true,validado: false }, ()=>{\r\n try{\r\n new Request\r\n .post(`${globales.ip}/Aplicar_beca/IUD_gestion_becados`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ ID_BECADO: this.state.selection[0].ID_BECADO,CUENTA_ALUMNO:'',ID_BECA_DESC:0,FECHA_VENCIMIENTO:'',ESTATUS:0,USUARIO:Auth.getProfile().user,TIPO: 3 })\r\n .retry(0)\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 //window.location.reload();\r\n return; \r\n } \r\n this.setState({ openBackDrop: false,validado: true }, ()=> { \r\n \r\n funciones.showToast('e', 'Error de conexión'); \r\n });\r\n return; \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.setState({openBackDrop: false,validado: true,open_eliminar: false,selection:[]}, ()=>{\r\n funciones.showToast('s', 'Se eliminó correctamente.'); \r\n this.obtener_becados();\r\n })\r\n }\r\n else{\r\n this.setState({ openBackDrop: false,validado: true}, ()=>{\r\n funciones.showToast('w', rows[0].RESP);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n catch(ex){\r\n funciones.showToast('e', 'Error de conexión');\r\n this.setState({openBackDrop: false,validado: true})\r\n }\r\n })\r\n}\r\n\r\n/* RENDER */\r\nrender() {\r\n const { classes } = this.props;\r\n\r\n\r\n const botones_agregar = [\r\n {icono: 'Save', nombre: 'Guardar',escritura:true,onclick: this.guardar_agregar\r\n , display:'auto'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n\r\n const botones_modificar = [\r\n {icono: 'Save', nombre: 'Guardar',escritura:true,onclick: this.guardar_modificar\r\n , display:'auto'},\r\n {icono: 'Close', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n\r\n const botones_eliminar = [\r\n {icono: 'Delete', toolt: 'Eliminar', nombre: 'Eliminar',onclick: this.eliminar , display:'auto'},\r\n {icono: 'Close', toolt: 'Cerrar', nombre: 'Cerrar' ,onclick: this.cerrarmodal(), display:'auto', color: 'red'},\r\n ]\r\n\r\n if (this.state.isLoggin === true )\r\n {\r\n return ( \r\n \r\n \r\n \r\n {this.state.open_seleccion?'Guardando...':this.state.open_borrar?'Eliminando...':''}\r\n \r\n\r\n {/*--------------------------------------------------------DIALOG PARA ELIMINAR---------------------------------------------------------------------*/}\r\n\r\n \r\n \r\n \r\n {'Eliminar Beca o Descuento'}\r\n \r\n \r\n \r\n \r\n ¿Está seguro de eliminar este registro?\r\n \r\n \r\n
\r\n {this.state.validado?\r\n :\r\n }\r\n
\r\n \r\n\r\n {/*--------------------------------------------------------DIALOG PARA INSERTAR Y MODIFICAR----------------------------------------------------------*/}\r\n \r\n \r\n \r\n \r\n {'Beca o Descuento'}\r\n \r\n \r\n \r\n
\r\n Información del Estudiante\r\n Cuenta: {this.state.valueAutoCompleteAdd!==null?this.state.valueAutoCompleteAdd.CUENTA_ALUMNO:null}\r\n Nombre: {this.state.valueAutoCompleteAdd!==null?this.state.valueAutoCompleteAdd.NOMBRE_COMPLETO:null}\r\n
\r\n
\r\n Beca | Descuento\r\n option.DESCRIPCION}\r\n style={{ width: !movil ? '400px' : '100%' ,marginRight:!movil ? 5:0,marginTop: 10 }} \r\n renderInput={(params) => }\r\n value={this.state.setSelectedbecas}\r\n getOptionSelected = {(option, value) => option.ID_BECA_DESC === value.ID_BECA_DESC}\r\n onChange={this.onChangeAutocompletebecas} \r\n loading={this.state.isloadingBecas}\r\n freeSolo\r\n /> \r\n
\r\n Información\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {this.state.validado?\r\n :\r\n }\r\n
\r\n
\r\n\r\n {/*------------------------------------------------ VENTANA PRINCIPAL DE DESCUENTOS -----------------------------------------------------------------*/}\r\n\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
\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\r\n\r\n \r\n\r\n "],"sourceRoot":""}