{"version":3,"sources":["pages/caja/arancel.js","pages/caja/bloqueoPL.js"],"names":["Auth","AuthService","tokenInfo","movil","test","navigator","userAgent","widthTable","window","screen","width","globales","tabla","marginleft","marginright","columns","name","title","columnExtensions","columnName","align","grouping","columnsJornadas","columnExtensionsJornadas","columnsDetail","controlCambiosArancel","idCursoDtl","RowId","row","ID_ARANCEL","RowIdJornada","ID_JORNADA","RowIdDtl","ID_ARANCEL_DTL","VirtualTable_cellComponent","props","_jsx","Table","Cell","VirtualTableDetail_cellComponent","style","paddingBottom","paddingTop","cursor","TableMainSelectionCellComponent","StubCell","TableSelectionCellComponent","_ref","HAVE_ARANCEL","paddingLeft","paddingRight","children","Checkbox","disabled","checked","TableSelection","TableSelectionCellComponentDetail","DESCRIPCION","trim","length","EditIcon","color","colores","color_disabled","TableRow","_ref4","highlighted","rowIndex","selectByRowClick","odd","Row","backgroundColor","alternateColorRow1","alternateColorRow2","filterOptions","createFilterOptions","stringify","option","CODIGO_CURSO","DESCRIPCION_CURSO","renderOptionCurso","_jsxs","display","flexDirection","lineHeight","fontSize","withStyles","theme","closeButton","position","right","spacing","top","palette","grey","paperArancel","borderRadius","border_dialog","minWidth","undefined","maxWidth","height","maxHeight","paperDetail","paperConfirm","popper","zIndex","groupAutocomplete","whiteSpace","textOverflow","overflow","TextField","marginTop","formControlSelect","marginRight","marginLeft","marginBottom","backdrop","divProgress","React","Component","constructor","super","tablaRef","createRef","tablaJornadasRef","dialogActionJornadasRef","arancelDescRef","tablaDetailRef","dialogActionDetailRef","vtRef","obtenerAranceles","Request","get","ip","set","getToken","retry","timeout","response","deadline","end","err","res","toString","substr","location","reload","this","setState","rows","isLoadingMain","funciones","showToast","JSON","parse","text","map","item","MONTO","MONEDA","formatCurrency","DESCRIPCION_CURSO_COMPLETA","String","ID_CURSO","obtenerCursos","optionAutocomplete","loadingCurso","handleRowClick","idRow","event","idRowSelected","changeExpandedGroups","expandedGroups","onClickGroup","value","e","preventDefault","stopPropagation","infoCurso","split","parseInt","titleDetail","rowsDetail","selectionDetail","openModalDetail","changeFilters","filters","state","addEvent","valueAutoComplete","rowsJornadas","shrink","editMode","openModalArancel","handleCloseArancel","onEnteringArancel","tJornadasHeight","getHeightTableDialog","document","getElementById","focus","idCurso","find","x","optionSelected","onChangeAutocomplete","newValue","selection","current","loadingJornada","MONTO_ARANCEL","parseFloat","toFixed","descripCollection","DESCRIPCION_ARANCEL","handleChange","target","changeSelection","replaceAll","getIdRowChecking","commitChanges","_ref6","IdJornada","changed","validation","currentColumn","index","isNaN","changedRows","strBegin","strEnd","JORNADA","handledOkChanges","isEmpty","isSaving","strAranceles","FINANCIADO","gestionAranceles","handleChangeCheck","idJornada","idArancel","tipoProceso","msgOk","post","send","id_curso","str_aranceles","id_arancel","ad_usuario","user","tipo_proceso","openBackDrop","RESP","filter","editEvent","deleteEvent","openModalConfirm","handleCloseConfirm","handleOKDelete","onEnteringDetail","tDetailHeight","loadingDetail","newRow","getNewIdRowDetail","EXISTS_ARANCEL","push","concat","handleCloseDetail","handleOKDetail","isSavingDetail","strDtl","str_detalle","refreshRows","commitChangesDetail","_ref7","idArancelDtl","newId","scrollToRow","changeSelectionDetail","isLoggin","heightTableMain","selectedFinan","botones","icono","toolt","nombre","escritura","onclick","naranja","botones_arancel","botones_eliminar","botones_detail","VirtualTableJornada_cellComponent","_ref8","onClick","Boolean","colorText","colorIcon","azul","column","Tooltip","PopperProps","placement","arrow","ShortTextIcon","CheckIcon","MONTO_CURSO","componentDidMount","getProfile","plataforma","getHeightTableMain","heightTable","componentWillUnmount","render","classes","Fragment","Paper","className","square","BarraBotones","l","i","ref","marginleft_movil","marginright_movil","CustomTable","Columns","Rows","Grouping","ExpandedGroups","ChangeExpandedGroups","groupContentComponent","_ref5","IconButton","size","CropDinIcon","TableColumnExtensions","columnWidths","DefaultHiddenColumnNames","getRowId","loading","rowSelected","rowClick","enabledFilterRows","onFiltersChange","showSelectionColumn","tableSelectionCellComponent","Dialog","open","TransitionProps","onEntering","paper","fullScreen","DialogTitle","Typography","component","variant","CloseIcon","DialogContent","Autocomplete","id","options","sort","a","b","DESCRIPCION_NIVEL","localeCompare","getOptionLabel","renderInput","params","label","InputProps","endAdornment","CircularProgress","fullWidth","renderOption","onChange","groupBy","renderGroup","classesRoot","ListSubheader","root","group","key","ListboxProps","PaperComponent","elevation","inputProps","maxLength","readOnly","InputLabelProps","RowComponent","Selection","ChangeSelection","cellsEditing","cellsEditingCellComponent","_ref2","editingEnabled","TableInlineCellEditing","textAlign","selectTextOnEditStart","DialogActions","minHeight","LinearProgress","Box","m","_ref3","gutterBottom","Backdrop","invisible","transitionDuration","settingFilter","predicate","getTime","IntegratedFiltering","defaultPredicate","PAGORP_ID","PAGORP_FECHA","paperTitle","verticalAlign","margin","divAviso","padding","obtener_reg_bloqueos","loadingMain","handleClickDelete","handleOK","pagorp_id","newRows","DeleteIcon","FilteringColumnExtensions","WarningIcon"],"mappings":"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","file":"static/js/main~cdbe1dc1.9b98f33f.chunk.js","sourcesContent":["import React from 'react';\r\nimport CustomTable from '../../components/CustomTable';\r\nimport {globales, colores, funciones} from '../../global';\r\nimport AuthService from '../../AuthService';\r\nimport Request from 'superagent';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport BarraBotones from '../../components/Barra_menu';\r\nimport {Table, TableInlineCellEditing, TableSelection} from '@devexpress/dx-react-grid-material-ui';\r\nimport Box from '@material-ui/core/Box';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport { createFilterOptions } from '@material-ui/lab/Autocomplete';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ListSubheader from '@material-ui/core/ListSubheader';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport ShortTextIcon from '@material-ui/icons/ShortText';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport CropDinIcon from '@material-ui/icons/CropDin';\r\nimport EditIcon from '@material-ui/icons/Edit';\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\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\npaperArancel: { \r\n borderRadius: globales.border_dialog,\r\n minWidth: !movil ? '520px' : undefined,\r\n maxWidth: !movil ? '520px' : undefined,\r\n height: !movil ? \"600px\" : undefined,\r\n maxHeight: !movil ? \"95%\" : undefined\r\n},\r\npaperDetail: {\r\n borderRadius: globales.border_dialog,\r\n minWidth: !movil ? '420px' : undefined,\r\n maxWidth: !movil ? '420px' : undefined,\r\n height: !movil ? \"500px\" : undefined,\r\n maxHeight: !movil ? \"90%\" : undefined\r\n},\r\npaperConfirm: { \r\n borderRadius: globales.border_dialog,\r\n minWidth: '320px', \r\n maxWidth: '320px', \r\n}, \r\npopper:{ \r\n zIndex: 400500\r\n},\r\ngroupAutocomplete: { \r\n maxHeight: '48px', \r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden'\r\n},\r\nTextField: {\r\n maxWidth: '100%',\r\n marginTop: theme.spacing(2), \r\n},\r\nformControlSelect: { \r\n width: '100%',\r\n marginRight: theme.spacing(1),\r\n marginLeft: theme.spacing(1),\r\n marginBottom: theme.spacing(0), \r\n},\r\nbackdrop: {\r\n zIndex: 500000,\r\n color: '#fff', \r\n flexDirection: 'column'\r\n},\r\ndivProgress:{\r\n height: '48px',\r\n width: \"100%\",\r\n paddingTop: '20px'\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_ARANCEL', title: 'ID_ARANCEL'},\r\n { name: 'ID_CURSO', title: 'ID_CURSO' },\r\n { name: 'CODIGO_CURSO', title: 'Código' },\r\n { name: 'DESCRIPCION_CURSO', title: 'Descripción de curso' },\r\n { name: 'DESCRIPCION', title: 'Descripción de arancel' },\r\n { name: 'JORNADA', title: 'Jornada' },\r\n { name: 'MONEDA', title: 'MONEDA' },\r\n { name: 'MONTO', title: 'Monto' }, \r\n { name: 'DESCRIPCION_CURSO_COMPLETA', title: 'DESCRIPCION_CURSO_COMPLETA' }, \r\n ];\r\nconst columnExtensions = [\r\n { columnName: 'DESCRIPCION', width: widthTable * 0.21 },\r\n { columnName: 'CODIGO_CURSO', width: widthTable * 0.10 }, \r\n { columnName: 'DESCRIPCION_CURSO', width: widthTable * 0.21 },\r\n { columnName: 'JORNADA', width: widthTable * 0.15 },\r\n { columnName: 'MONTO', width: widthTable * 0.09, align: \"center\"},\r\n { columnName: 'DESCRIPCION_CURSO_COMPLETA', width: 0 }, \r\n { columnName: 'ID_ARANCEL', width: 0 }, \r\n { columnName: 'MONEDA', width: 0 }, \r\n { columnName: 'ID_CURSO', width: 0 }, \r\n];\r\nconst grouping = [{ columnName: 'DESCRIPCION_CURSO_COMPLETA' }];\r\n\r\nconst columnsJornadas = [\r\n { name: 'ID_JORNADA', title: 'ID_JORNADA' },\r\n { name: 'JORNADA', title: 'Jornada' },\r\n { name: 'DESCRIPCION_ARANCEL', title: 'Descripción' },\r\n { name: 'FINANCIADO', title: 'Financiado' },\r\n { name: 'MONTO_ARANCEL', title: 'Monto' },\r\n];\r\nconst columnExtensionsJornadas = [ \r\n { columnName: 'JORNADA', width: 140, },\r\n { columnName: 'DESCRIPCION_ARANCEL', width: 85}, \r\n { columnName: 'FINANCIADO', width: 80, align: 'center'}, \r\n { columnName: 'MONTO_ARANCEL', width: 85, align: 'right'}, \r\n];\r\nconst columnsDetail = [\r\n { name: 'ID_ARANCEL_DTL', title: 'ID_ARANCEL_DTL' },\r\n { name: 'DESCRIPCION', title: 'Descripción' },\r\n];\r\n\r\nlet controlCambiosArancel = true;\r\nlet idCursoDtl = null;\r\nconst maxRowsDetail = 10;\r\n\r\nconst RowId = row => row.ID_ARANCEL;\r\nconst RowIdJornada = row => row.ID_JORNADA;\r\nconst RowIdDtl = row => row.ID_ARANCEL_DTL;\r\nconst VirtualTable_cellComponent = (props) => { \r\n \r\n //if (props.column.name === 'MONTO')\r\n //{\r\n //return (\r\n //
\r\n //{props.row.MONTO}\r\n //
\r\n //\r\n //);\r\n //}\r\n\r\n return ();\r\n \r\n}\r\nconst VirtualTableDetail_cellComponent = (props) => { \r\n \r\n return ();\r\n \r\n}\r\nconst TableMainSelectionCellComponent = (props) =>{\r\n \r\n return ();\r\n \r\n }\r\nconst TableSelectionCellComponent = ({style, ...props}) =>{\r\n \r\n if (props.row.HAVE_ARANCEL === 1 )\r\n {\r\n return(\r\n \r\n );\r\n }\r\n\r\n return (); \r\n}\r\nconst TableSelectionCellComponentDetail = (props) =>{\r\n \r\n if (props.row.DESCRIPCION.trim().length === 0)\r\n { \r\n return(\r\n \r\n \r\n \r\n );\r\n\r\n }\r\n\r\n return (); \r\n\r\n}\r\nconst cellsEditingCellComponent = (handleChangeCheck)=> ({value, editingEnabled, ...props}) =>{\r\n \r\n if (props.column.name === 'FINANCIADO')\r\n {\r\n return ( \r\n \r\n ); \r\n \r\n }\r\n \r\n return ();\r\n\r\n} \r\nconst cellsEditingCellComponentDetail = (selectionDetail)=> ({value, editingEnabled, ...props}) =>{\r\n\r\n return ( x === props.row.ID_ARANCEL_DTL) ? true : false} \r\n value={value} \r\n style={{ paddingTop: '0px', paddingBottom: '2px', }} \r\n {...props}\r\n />);\r\n\r\n}\r\nconst TableRow = ({ highlighted, rowIndex, row, selectByRowClick, ...props}) => {\r\n \r\n const odd = !!(rowIndex % 2); \r\n \r\n return (\r\n \r\n );\r\n\r\n\r\n} \r\nconst GroupCellContent = (onClickGroup) => ({ column, row }) => { \r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {row.value.split(\"!\")[1]}\r\n )\r\n\r\n}\r\nconst renderGroup = (classesRoot) => (params) => [\r\n \r\n {params.group}\r\n ,\r\n params.children,\r\n];\r\nconst filterOptions = createFilterOptions({\r\n //matchFrom: 'contains',\r\n stringify: option => option.CODIGO_CURSO + option.DESCRIPCION_CURSO,\r\n});\r\nconst renderOptionCurso = (option) => ( \r\n
\r\n
{option.CODIGO_CURSO}
\r\n {option.DESCRIPCION_CURSO} \r\n
);\r\n\r\nexport default withStyles(styles) ( \r\nclass App extends React.Component {\r\n\r\ntablaRef = React.createRef();\r\ntablaJornadasRef = React.createRef();\r\ndialogActionJornadasRef = React.createRef();\r\narancelDescRef = React.createRef();\r\ntablaDetailRef = React.createRef();\r\ndialogActionDetailRef= React.createRef();\r\nvtRef = React.createRef();\r\n\r\n constructor (props) {\r\n super(props);\r\n this.state = {\r\n isLoggin : undefined,\r\n heightTableMain: 0,\r\n rows: [],\r\n isLoadingMain: true,\r\n idRowSelected: null,\r\n expandedGroups: [],\r\n openModalArancel: false,\r\n loadingCurso: true,\r\n optionAutocomplete: [],\r\n valueAutoComplete: null,\r\n rowsJornadas: [],\r\n loadingJornada: false,\r\n selection: [],\r\n tJornadasHeight: 0,\r\n shrink: false,\r\n selectedFinan: '',\r\n openBackDrop: false,\r\n openModalConfirm: false,\r\n editMode: false,\r\n openModalDetail: false,\r\n titleDetail: '',\r\n tDetailHeight: 0,\r\n loadingDetail: false,\r\n rowsDetail: [],\r\n isSavingDetail: false,\r\n selectionDetail: [],\r\n };\r\n this.botones = [\r\n {icono: 'Add', toolt: 'Agregar arancel', nombre: 'Agregar', escritura:true, onclick: this.addEvent, display: 'auto'},\r\n {icono: 'Edit', toolt: 'Modificar arancel', nombre: 'Modificar', escritura:true, onclick: this.editEvent, display: 'auto'},\r\n {icono: 'Delete', toolt: 'Eliminar arancel', nombre: 'Eliminar' , escritura:true, onclick: this.deleteEvent, color: colores.naranja, display: 'auto'}, \r\n ];\r\n this.botones_arancel =[\r\n {icono: 'Check', toolt: '', nombre: 'Aceptar', onclick: this.handledOkChanges, display: 'auto'},\r\n {icono: 'Close', toolt: '', nombre: 'Cerrar', onclick: this.handleCloseArancel, display:'auto', color: 'red'},\r\n ];\r\n this.botones_eliminar =[\r\n {icono: 'Check', toolt: '', nombre: 'Aceptar', onclick: this.handleOKDelete, display:'auto'},\r\n {icono: 'Close', toolt: '', nombre: 'Cerrar', onclick: this.handleCloseConfirm, display:'auto', color: 'red'},\r\n ]; \r\n this.botones_detail =[\r\n {icono: 'Check', toolt: '', nombre: 'Aceptar', onclick: this.handleOKDetail, display:'auto'},\r\n {icono: 'Close', toolt: '', nombre: 'Cerrar' ,onclick: this.handleCloseDetail, display:'auto', color: 'red'},\r\n ]; \r\n this.VirtualTableJornada_cellComponent = ({value, onClick, ...props}) => { \r\n \r\n const {selection} = this.state;\r\n const checked = Boolean(selection.find(x => x === props.row.ID_JORNADA) || props.row.HAVE_ARANCEL === 1);\r\n const colorText = checked ? undefined : colores.color_disabled;\r\n const colorIcon = checked ? colores.azul : colores.color_disabled;\r\n const style = {paddingTop: 0, paddingBottom: 0, color: colorText};\r\n\r\n if (props.column.name === 'MONTO_ARANCEL')\r\n { \r\n return (\r\n {parseFloat(value).toFixed(2).toString()}\r\n );\r\n }\r\n \r\n if (props.column.name === 'DESCRIPCION_ARANCEL')\r\n {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n \r\n if (props.column.name === 'FINANCIADO')\r\n { \r\n if (value === 1)\r\n {\r\n return (\r\n \r\n );\r\n \r\n }\r\n \r\n return (\r\n
\r\n );\r\n \r\n }\r\n \r\n return (\r\n \r\n {value}\r\n \r\n );\r\n \r\n }\r\n}\r\n\r\nobtenerAranceles = ()=>{\r\n \r\n new Request\r\n .get(`${globales.ip}/aranceles`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .retry(1)\r\n .timeout({ response: 20000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ rows: [], isLoadingMain: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión');\r\n });\r\n \r\n return;\r\n }\r\n \r\n let rows = JSON.parse(res.text); \r\n \r\n rows = rows.map((item)=>{ \r\n item.MONTO = item.MONEDA + ' ' + funciones.formatCurrency(item.MONTO);\r\n item.DESCRIPCION_CURSO_COMPLETA = String(item.ID_CURSO) + \"!\" + item.CODIGO_CURSO + ' - ' + item.DESCRIPCION_CURSO;\r\n return item;\r\n });\r\n \r\n this.setState({ rows: rows, \r\n isLoadingMain: false }); \r\n \r\n });\r\n\r\n\r\n}\r\n\r\nobtenerCursos = ()=>{\r\n\r\n new Request\r\n .get(`${globales.ip}/aranceles/cursos/${0}`)\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({ optionAutocomplete: [], loadingCurso: false }, ()=> { \r\n funciones.showToast('e', 'No hay conexión');\r\n });\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0)\r\n { \r\n this.setState({ optionAutocomplete: rows, loadingCurso: false });\r\n }\r\n else \r\n {\r\n this.setState({ loadingCurso: false });\r\n } \r\n \r\n });\r\n\r\n}\r\n\r\nhandleRowClick = (idRow) => event => {\r\n \r\nthis.setState({ idRowSelected: idRow });\r\n \r\n}\r\n\r\nchangeExpandedGroups = expandedGroups =>\r\n{\r\n this.setState({ expandedGroups });\r\n}\r\n\r\nonClickGroup = (value)=> (e) =>{\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const infoCurso = value.split(\"!\");\r\n idCursoDtl = parseInt(infoCurso[0]);\r\n\r\n this.setState({ titleDetail: infoCurso[1], \r\n rowsDetail: [], \r\n selectionDetail: [], \r\n openModalDetail: true, });\r\n\r\n}\r\n\r\nchangeFilters = filters => { \r\n if (this.state.idRowSelected !== null)\r\n this.setState({ idRowSelected: null });\r\n}\r\n\r\naddEvent = ()=>{\r\n\r\n this.setState({ valueAutoComplete: null,\r\n rowsJornadas: [],\r\n shrink: false, \r\n editMode: false,\r\n openModalArancel: true });\r\n\r\n}\r\n\r\nhandleCloseArancel = ()=>{\r\n\r\n this.setState({ openModalArancel: false }, ()=>{\r\n \r\n if (controlCambiosArancel)\r\n {\r\n this.setState({ isLoadingMain: true, idRowSelected: null }, ()=>{\r\n this.obtenerAranceles();\r\n });\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\nonEnteringArancel = ()=>{\r\n \r\nthis.setState({ tJornadasHeight: funciones.getHeightTableDialog(movil, this.tablaJornadasRef, this.dialogActionJornadasRef, !movil ? 7 : 5) }, ()=> { \r\n controlCambiosArancel = false;\r\n\r\n if (!movil){\r\n document.getElementById(\"aranceles_cursos\").focus();\r\n }\r\n \r\n if (this.state.editMode)\r\n {\r\n let idCurso = this.state.rows.find(x => x.ID_ARANCEL === this.state.idRowSelected).ID_CURSO;\r\n let optionSelected = this.state.optionAutocomplete.find(x => x.ID_CURSO === idCurso);\r\n \r\n if (optionSelected !== undefined)\r\n {\r\n this.onChangeAutocomplete(null, optionSelected);\r\n }\r\n else\r\n {\r\n funciones.showToast('w', 'No se encontró el curso entre las opciones');\r\n }\r\n \r\n }\r\n\r\n });\r\n\r\n}\r\n\r\nonChangeAutocomplete = (event, newValue) =>{\r\n\r\nthis.setState({ valueAutoComplete: newValue }, ()=>{\r\n \r\n if (newValue === null)\r\n {\r\n this.setState({ rowsJornadas: [], selection: [], shrink: false }); \r\n this.arancelDescRef.current.value = ''; \r\n return;\r\n }\r\n\r\n this.setState({ selection: [], loadingJornada: true }, ()=>{ \r\n \r\n new Request\r\n .get(`${globales.ip}/aranceles/jornadas/${newValue.ID_CURSO}`)\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({ rowsJornadas: [], loadingJornada: false }, ()=> { \r\n funciones.showToast('e', 'No hay conexión');\r\n }); \r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0)\r\n { \r\n rows.map((item)=>{\r\n item.MONTO_ARANCEL = parseFloat(item.MONTO_ARANCEL).toString();\r\n if ((item.MONTO_ARANCEL + \"\").split(\".\")[1] === undefined || parseInt((item.MONTO_ARANCEL + \"\").split(\".\")[1]) === 0 || (item.MONTO_ARANCEL + \"\").split(\".\")[1].length <= 1)\r\n {\r\n item.MONTO_ARANCEL = parseFloat(item.MONTO_ARANCEL).toFixed(2).toString();\r\n } \r\n return item;\r\n });\r\n\r\n this.setState({ rowsJornadas: rows }, ()=>{\r\n \r\n let descripCollection = rows.find(x => x.DESCRIPCION_ARANCEL !== null && x.DESCRIPCION_ARANCEL.length > 0 );\r\n this.arancelDescRef.current.value = descripCollection !== undefined ? descripCollection.DESCRIPCION_ARANCEL : ''; \r\n this.setState({ shrink: this.arancelDescRef.current.value.trim().length > 0 ? true : false, loadingJornada: false });\r\n \r\n }); \r\n \r\n }\r\n else\r\n {\r\n this.setState({ rowsJornadas: [], loadingJornada: false });\r\n } \r\n \r\n });\r\n\r\n });\r\n\r\n\r\n });\r\n\r\n}\r\n\r\nhandleChange = (event) =>{\r\n\r\nif (event.target.value.trim().length === 0)\r\n{ \r\n this.setState({ shrink: false });\r\n}\r\n\r\n}\r\n\r\nchangeSelection = selection =>\r\n{ \r\n \r\n if (this.arancelDescRef.current.value.replaceAll('~', '').replaceAll('^', '').replaceAll('!', '').replaceAll('<', '').trim().length === 0)\r\n {\r\n funciones.showToast('w', 'Debe ingresar la descripción del arancel');\r\n this.arancelDescRef.current.focus();\r\n return;\r\n }\r\n \r\n const idRow = funciones.getIdRowChecking(selection, this.state.selection);\r\n \r\n this.state.rowsJornadas.map((item)=>{\r\n if (item.ID_JORNADA === idRow)\r\n {\r\n item.DESCRIPCION_ARANCEL = this.arancelDescRef.current.value.replaceAll('~', '').replaceAll('^', '').replaceAll('!', '').replaceAll('<', '').trim();\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({ selection }); \r\n}\r\n\r\ncommitChanges = ({ changed }) => { \r\n\r\n let IdJornada;\r\n let validation = false;\r\n let currentColumn = '';\r\n \r\n this.state.rowsJornadas.map((item, index) => {\r\n \r\n if (changed[item.ID_JORNADA] !== undefined && changed[item.ID_JORNADA]['FINANCIADO'] === undefined && changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'] === undefined)\r\n { \r\n IdJornada = item.ID_JORNADA;\r\n currentColumn = 'MONTO_ARANCEL';\r\n\r\n if (!isNaN(changed[item.ID_JORNADA]['MONTO_ARANCEL'].toString().trim()) && changed[item.ID_JORNADA]['MONTO_ARANCEL'].toString().trim().length > 0 )\r\n { \r\n if ((changed[item.ID_JORNADA]['MONTO_ARANCEL'].toString() + \"\").split(\".\")[1] === undefined || (changed[item.ID_JORNADA]['MONTO_ARANCEL'].toString() + \"\").split(\".\")[1].length <= 1)\r\n {\r\n changed[item.ID_JORNADA]['MONTO_ARANCEL'] = parseFloat(changed[item.ID_JORNADA]['MONTO_ARANCEL']).toFixed(2);\r\n }\r\n validation = true; \r\n } \r\n }\r\n else if (changed[item.ID_JORNADA] !== undefined && changed[item.ID_JORNADA]['FINANCIADO'] === undefined && changed[item.ID_JORNADA]['MONTO_ARANCEL'] === undefined)\r\n { \r\n IdJornada = item.ID_JORNADA;\r\n currentColumn = 'DESCRIPCION_ARANCEL';\r\n changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'] = changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'].toString().replaceAll('~', '').replaceAll('^', '').replaceAll('!', '').replaceAll('<', '').trim();\r\n\r\n if (changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'].toString().trim().length > 0)\r\n {\r\n validation = true;\r\n }\r\n\r\n if (changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'].toString().trim().length > 100)\r\n {\r\n changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'] = changed[item.ID_JORNADA]['DESCRIPCION_ARANCEL'].toString().trim().substr(0, 100);\r\n }\r\n \r\n } \r\n\r\n return item;\r\n });\r\n \r\n const changedRows = this.state.rowsJornadas.map(row => (changed[row.ID_JORNADA] && validation ? { ...row, ...changed[row.ID_JORNADA] } : row));\r\n this.setState({ rowsJornadas: changedRows}, ()=>{\r\n\r\n if (!validation && IdJornada !== undefined)\r\n { \r\n let strBegin = currentColumn === 'DESCRIPCION_ARANCEL' ? 'La descripción ingresada ' : 'El monto de arancel ingresado ';\r\n let strEnd = currentColumn === 'DESCRIPCION_ARANCEL' ? ' no es válida' : ' no es válido';\r\n funciones.showToast('w', strBegin + 'para la jornada ' + this.state.rowsJornadas.find(x => x.ID_JORNADA === IdJornada).JORNADA + strEnd);\r\n }\r\n \r\n });\r\n\r\n}\r\n\r\nhandledOkChanges = ()=>{\r\n\r\nif (funciones.isEmpty(this.state.valueAutoComplete))\r\n{\r\n funciones.showToast('w', 'No se ha especificado el curso');\r\n return;\r\n}\r\n\r\nif (!this.state.rowsJornadas.find(x => x.HAVE_ARANCEL === 1) && this.state.selection.length === 0)\r\n{\r\n funciones.showToast('w', 'No hay datos por actualizar');\r\n return;\r\n}\r\n\r\nthis.setState({ isSaving: true }, ()=>{ \r\n\r\n let strAranceles = '';\r\n\r\n this.state.rowsJornadas.map((item, index)=>{\r\n \r\n item.DESCRIPCION_ARANCEL = item.DESCRIPCION_ARANCEL.length === 0 ? this.arancelDescRef.current.value.replaceAll('~', '').replaceAll('^', '').replaceAll('!', '').replaceAll('<', '').trim() : item.DESCRIPCION_ARANCEL;\r\n\r\n if (index + 1 < this.state.rowsJornadas.length)\r\n { \r\n if (item.HAVE_ARANCEL === 1 || this.state.selection.find(x => x === item.ID_JORNADA))\r\n {\r\n strAranceles = strAranceles + item.ID_JORNADA + '~' + item.DESCRIPCION_ARANCEL + '^' + item.FINANCIADO + '!' + item.MONTO_ARANCEL + '<';\r\n }\r\n }\r\n else if (index + 1 === this.state.rowsJornadas.length)\r\n { \r\n if (item.HAVE_ARANCEL === 1 || this.state.selection.find(x => x === item.ID_JORNADA))\r\n {\r\n strAranceles = strAranceles + item.ID_JORNADA + '~' + item.DESCRIPCION_ARANCEL + '^' + item.FINANCIADO + '!' + item.MONTO_ARANCEL;\r\n }\r\n else if (strAranceles.length > 0)\r\n {\r\n strAranceles = strAranceles.substr(0, strAranceles.length - 1);\r\n }\r\n \r\n this.gestionAranceles(this.state.valueAutoComplete.ID_CURSO, strAranceles, 0, 1, 'Se han registrado los cambios');\r\n }\r\n\r\n return item;\r\n });\r\n\r\n });\r\n\r\n\r\n}\r\n\r\nhandleChangeCheck = (idJornada)=> (event)=>{\r\n\r\nlet rows = this.state.rowsJornadas;\r\n\r\nrows.map((item)=>{\r\n\r\n if (item.ID_JORNADA === idJornada)\r\n {\r\n item.FINANCIADO = item.FINANCIADO === 1 ? 0 : 1;\r\n }\r\n\r\n return item;\r\n\r\n});\r\n\r\nthis.setState({ rowsJornadas: rows });\r\n\r\n}\r\n\r\ngestionAranceles = (idCurso, strAranceles, idArancel, tipoProceso, msgOk)=>{\r\n\r\n new Request\r\n .post(`${globales.ip}/aranceles/operaciones`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ id_curso: idCurso, \r\n str_aranceles: strAranceles, \r\n id_arancel: idArancel, \r\n ad_usuario: tokenInfo.user, \r\n tipo_proceso: tipoProceso})\r\n .retry(0)\r\n .timeout({ response: 20000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ isSaving: false, openBackDrop: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión');\r\n });\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0)\r\n { \r\n if (rows[0].RESP === 'OK')\r\n { \r\n \r\n if (tipoProceso === 1)\r\n {\r\n\r\n controlCambiosArancel = true;\r\n\r\n this.state.rowsJornadas.map((item, index)=>{ \r\n\r\n if (this.state.selection.find(x => x === item.ID_JORNADA))\r\n {\r\n item.HAVE_ARANCEL = 1;\r\n }\r\n\r\n if (index + 1 === this.state.rowsJornadas.length)\r\n {\r\n this.setState({ selection: [], isSaving: false }, ()=> { \r\n funciones.showToast('s', msgOk);\r\n }); \r\n }\r\n\r\n return item;\r\n }); \r\n \r\n }\r\n else if (tipoProceso === 2)\r\n {\r\n this.setState({ rows: this.state.rows.filter( x => x.ID_ARANCEL !== idArancel) }, ()=>{\r\n this.setState({ idRowSelected: null, openBackDrop: false }, ()=>{\r\n funciones.showToast('s', msgOk); \r\n });\r\n });\r\n }\r\n }\r\n else\r\n {\r\n\r\n if (tipoProceso === 1)\r\n {\r\n this.setState({ isSaving: false }, ()=> {\r\n funciones.showToast('w', rows[0].RESP);\r\n }); \r\n }\r\n else if (tipoProceso === 2)\r\n {\r\n this.setState({ openBackDrop: false }, ()=>{\r\n funciones.showToast('w', rows[0].RESP);\r\n });\r\n }\r\n\r\n }\r\n }\r\n \r\n \r\n });\r\n\r\n\r\n}\r\n\r\neditEvent = ()=>{\r\n\r\nif (this.state.idRowSelected === null)\r\n{\r\n return;\r\n}\r\n\r\nthis.setState({ valueAutoComplete: null,\r\n rowsJornadas: [],\r\n shrink: false, \r\n editMode: true, \r\n openModalArancel: true });\r\n\r\n}\r\n\r\ndeleteEvent = ()=>{\r\n\r\nif (this.state.idRowSelected === null)\r\n return;\r\n\r\nthis.setState({ openModalConfirm: true });\r\n\r\n}\r\n\r\nhandleCloseConfirm = ()=>{\r\n this.setState({ openModalConfirm: false });\r\n}\r\n\r\nhandleOKDelete = ()=>{\r\n\r\nthis.setState({ openBackDrop: true, openModalConfirm: false }, ()=>{\r\n\r\n this.gestionAranceles(0, '-', this.state.idRowSelected, 2, 'Se ha eliminado el arancel');\r\n\r\n});\r\n\r\n}\r\n\r\nonEnteringDetail = () =>{\r\n \r\n this.setState({ tDetailHeight: funciones.getHeightTableDialog(movil, this.tablaDetailRef, this.dialogActionDetailRef, !movil ? 7 : 5), loadingDetail: true }, ()=> { \r\n\r\n new Request\r\n .get(`${globales.ip}/aranceles/detalle/${idCursoDtl}`)\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({ rowsDetail: [], selectionDetail: [], loadingDetail: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión');\r\n });\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text); \r\n const newRow = [{ ID_ARANCEL_DTL: this.getNewIdRowDetail(rows), ID_CURSO: idCursoDtl, DESCRIPCION: '', EXISTS_ARANCEL: 0 }];\r\n\r\n if (rows.length > 0)\r\n { \r\n let selectionDetail=[];\r\n rows.map((item)=>{\r\n selectionDetail.push(item.ID_ARANCEL_DTL);\r\n return item;\r\n }); \r\n \r\n this.setState({ rowsDetail: rows.length < maxRowsDetail ? rows.concat(newRow) : rows, \r\n selectionDetail, \r\n loadingDetail: false }); \r\n \r\n }\r\n else\r\n {\r\n this.setState({ rowsDetail: newRow, \r\n selectionDetail: [], \r\n loadingDetail: false }); \r\n } \r\n \r\n });\r\n\r\n });\r\n\r\n}\r\n\r\nhandleCloseDetail = ()=>{\r\n\r\nidCursoDtl = null;\r\nthis.setState({ openModalDetail: false });\r\n\r\n}\r\n\r\nhandleOKDetail = ()=>{\r\n \r\nif (!this.state.rowsDetail.find(x => x.DESCRIPCION.trim().length > 0))\r\n{\r\n funciones.showToast('w', 'No hay datos por actualizar');\r\n return;\r\n}\r\n\r\nthis.setState({ isSavingDetail: true }, ()=>{ \r\n\r\n let strDtl = '';\r\n\r\n this.state.rowsDetail.map((item, index)=>{\r\n\r\n if (index + 1 < this.state.rowsDetail.length)\r\n { \r\n if (this.state.selectionDetail.find(x => x === item.ID_ARANCEL_DTL))\r\n {\r\n strDtl = strDtl + item.ID_ARANCEL_DTL + '~' + item.DESCRIPCION + '^';\r\n }\r\n }\r\n else if (index + 1 === this.state.rowsDetail.length)\r\n { \r\n if (this.state.selectionDetail.find(x => x === item.ID_ARANCEL_DTL))\r\n {\r\n strDtl = strDtl + item.ID_ARANCEL_DTL + '~' + item.DESCRIPCION;\r\n }\r\n else if (strDtl.length > 0)\r\n {\r\n strDtl = strDtl.substr(0, strDtl.length - 1);\r\n }\r\n \r\n new Request\r\n .post(`${globales.ip}/aranceles/detalle/operaciones`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ id_curso: idCursoDtl, \r\n str_detalle: strDtl, \r\n ad_usuario: tokenInfo.user })\r\n .retry(0)\r\n .timeout({ response: 20000, deadline: 30000, }) \r\n .end((err, res) => {\r\n \r\n if (err) { \r\n \r\n if (err.toString().substr(0,16) === 'Error: Forbidden')\r\n {\r\n \r\n window.location.reload();\r\n return;\r\n \r\n }\r\n \r\n this.setState({ isSavingDetail: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión');\r\n })\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0) \r\n { \r\n if ((rows[0].RESP !== undefined && rows[0].RESP === 'OK') || rows[0].ID_ARANCEL_DTL !== undefined) \r\n { \r\n \r\n let refreshRows = rows[0].ID_ARANCEL_DTL !== undefined ? rows : [];\r\n let selectionDetail=[];\r\n refreshRows.map((item)=>{\r\n selectionDetail.push(item.ID_ARANCEL_DTL);\r\n return item;\r\n }); \r\n \r\n let newId = this.getNewIdRowDetail(refreshRows);\r\n const newRow = [{ ID_ARANCEL_DTL: newId, ID_CURSO: idCursoDtl, DESCRIPCION: '', EXISTS_ARANCEL: 0 }];\r\n \r\n this.setState({ rowsDetail: refreshRows.length < maxRowsDetail ? refreshRows.concat(newRow) : refreshRows,\r\n selectionDetail,\r\n isSavingDetail: false \r\n }, ()=>{\r\n funciones.showToast('s', 'Se ha actualizado el detalle del arancel');\r\n }); \r\n\r\n }\r\n else\r\n {\r\n this.setState({ isSavingDetail: false }, ()=> { \r\n funciones.showToast('w', rows[0].RESP);\r\n });\r\n\r\n }\r\n } \r\n \r\n });\r\n \r\n }\r\n\r\n return item;\r\n });\r\n\r\n\r\n\r\n});\r\n\r\n\r\n}\r\n\r\ncommitChangesDetail = ({ changed }) => { \r\n \r\n let idArancelDtl;\r\n let validation = false;\r\n\r\n this.state.rowsDetail.map((item, index) => {\r\n \r\n if (changed[item.ID_ARANCEL_DTL] !== undefined)\r\n { \r\n idArancelDtl = item.ID_ARANCEL_DTL;\r\n changed[item.ID_ARANCEL_DTL]['DESCRIPCION'] = changed[item.ID_ARANCEL_DTL]['DESCRIPCION'].toString().replaceAll('~', '').replaceAll('^', '').trim();\r\n \r\n if (changed[item.ID_ARANCEL_DTL]['DESCRIPCION'].toString().trim().length > 0)\r\n {\r\n validation = true;\r\n }\r\n\r\n if (changed[item.ID_ARANCEL_DTL]['DESCRIPCION'].toString().trim().length > 100)\r\n {\r\n changed[item.ID_ARANCEL_DTL]['DESCRIPCION'] = changed[item.ID_ARANCEL_DTL]['DESCRIPCION'].toString().trim().substr(0, 100);\r\n }\r\n } \r\n\r\n return item;\r\n });\r\n \r\n const changedRows = this.state.rowsDetail.map(row => (changed[row.ID_ARANCEL_DTL] && validation ? { ...row, ...changed[row.ID_ARANCEL_DTL] } : row));\r\n this.setState({ rowsDetail: changedRows }, ()=>{\r\n \r\n if (!validation && idArancelDtl !== undefined)\r\n { \r\n funciones.showToast('w', 'La descripción ingresada no es válida'); \r\n }\r\n else if (validation && idArancelDtl !== undefined)\r\n {\r\n let selectionDetail = this.state.selectionDetail;\r\n \r\n if (!selectionDetail.find(x => x === idArancelDtl))\r\n {\r\n selectionDetail.push(idArancelDtl);\r\n }\r\n \r\n this.setState({ selectionDetail }, ()=>{\r\n\r\n if (this.state.rowsDetail.length < maxRowsDetail && !this.state.rowsDetail.find(x => x.DESCRIPCION.trim().length === 0))\r\n { \r\n let newId = this.getNewIdRowDetail(this.state.rowsDetail); \r\n const newRow = [{ ID_ARANCEL_DTL: newId, ID_CURSO: idCursoDtl, DESCRIPCION: '', EXISTS_ARANCEL: 0 }];\r\n this.setState({ rowsDetail: this.state.rowsDetail.concat(newRow) }, ()=>{\r\n this.vtRef.current.scrollToRow(newId);\r\n });\r\n }\r\n\r\n });\r\n } \r\n\r\n });\r\n\r\n}\r\n\r\ngetNewIdRowDetail =(rows)=>{\r\n\r\nlet newId = rows.length > 0 ? rows[rows.length - 1].ID_ARANCEL_DTL + 1 : 1;\r\n\r\nreturn newId;\r\n\r\n}\r\n\r\nchangeSelectionDetail = selectionDetail =>\r\n{ \r\n this.setState({ selectionDetail });\r\n}\r\n\r\ncomponentDidMount() { //Load\r\n\r\ntokenInfo = Auth.getProfile(); //Token decodificado\r\n \r\nthis.setState({ isLoggin: tokenInfo.plataforma !== undefined ? true : false }, ()=>{ \r\n\r\n if (tokenInfo.plataforma === 1) // Usuario Admin\r\n {\r\n this.obtenerAranceles(); \r\n }\r\n else if (tokenInfo.plataforma === 2) //Usuario estudiante\r\n {\r\n \r\n }\r\n\r\n this.setState({ heightTableMain: funciones.getHeightTableMain(movil, this).heightTable }); \r\n this.obtenerCursos();\r\n\r\n}); \r\n \r\n}\r\n\r\ncomponentWillUnmount() { //Cerrar Subcripciones\r\n\r\n\r\n}\r\n\r\nrender() {\r\nconst { classes } = this.props; \r\n\r\n if (this.state.isLoggin === true)\r\n {\r\n return (\r\n \r\n \r\n \r\n {\r\n (() => {\r\n\r\n if (tokenInfo.plataforma === 1) //Si es Usuario Admin\r\n {\r\n \r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n Aranceles\r\n \r\n \r\n \r\n \r\n \r\n a.DESCRIPCION_NIVEL.localeCompare(b.DESCRIPCION_NIVEL))}\r\n getOptionLabel={(option) => option.DESCRIPCION_CURSO}\r\n style={{ width: '100%' }}\r\n renderInput={(params) => \r\n {this.state.loadingCurso ? : null}\r\n {params.InputProps.endAdornment}\r\n
\r\n ),\r\n }}\r\n fullWidth\r\n />}\r\n renderOption={renderOptionCurso} \r\n onChange={this.onChangeAutocomplete} \r\n loading={this.state.loadingCurso}\r\n value={this.state.valueAutoComplete} \r\n classes={{ popper: classes.popper }}\r\n groupBy={(option) => option.DESCRIPCION_NIVEL} \r\n renderGroup={renderGroup(classes.groupAutocomplete)} \r\n filterOptions={filterOptions} \r\n ListboxProps={{ style:{ paddingTop: 0 } }}\r\n PaperComponent={(props)=>()} /> \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {(() => {\r\n\r\n if (this.state.isSaving)\r\n return(
\r\n \r\n );\r\n \r\n return ();\r\n \r\n })()}\r\n \r\n \r\n \r\n \r\n {this.state.titleDetail}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {(() => {\r\n\r\n if (this.state.isSavingDetail)\r\n return(
\r\n \r\n
);\r\n \r\n return ();\r\n \r\n })()}\r\n
\r\n
\r\n\r\n \r\n Arancel\r\n \r\n \r\n \r\n \r\n \r\n \r\n ¿Desea eliminar el arancel?\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Eliminando...\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 BarraBotones from '../../components/Barra_menu';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport {Table} from '@devexpress/dx-react-grid-material-ui';\r\nimport {IntegratedFiltering} from '@devexpress/dx-react-grid';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport WarningIcon from '@material-ui/icons/Warning';\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\npaperConfirm: { \r\n borderRadius: globales.border_dialog,\r\n minWidth: '320px', \r\n maxWidth: '320px', \r\n},\t\r\ncloseButton: {\r\n position: 'absolute',\r\n right: theme.spacing(1),\r\n top: theme.spacing(1),\r\n color: theme.palette.grey[500],\r\n},\r\nbackdrop: {\r\n zIndex: 500000,\r\n color: '#fff', \r\n flexDirection: 'column'\r\n},\r\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\ndivAviso: {\r\n padding: 5, \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: 'PAGORP_ID', title: 'PAGORP_ID'},\r\n { name: 'CUENTA_ALUMNO', title: 'Cuenta' },\r\n { name: 'NOMBRE_COMPLETO', title: 'Nombre completo' },\r\n { name: 'DESCRIPCION', title: 'Descripción de factura' },\r\n { name: 'DESCRIPCION_PLAN', title: 'Descripción de plan' }, \r\n { name: 'PAGORP_FECHA', title: 'Fecha' },\r\n];\r\nconst columnExtensions = [\r\n { columnName: 'PAGORP_ID', width: 0 },\r\n { columnName: 'CUENTA_ALUMNO', width: widthTable * 0.09 },\r\n { columnName: 'NOMBRE_COMPLETO', width: widthTable * 0.24 },\r\n { columnName: 'DESCRIPCION', width: widthTable * 0.26 },\r\n { columnName: 'DESCRIPCION_PLAN', width: widthTable * 0.22 },\r\n { columnName: 'PAGORP_FECHA', width: widthTable * 0.10, align: 'center'}, \r\n ];\r\nconst settingFilter = [\r\n { columnName: 'PAGORP_FECHA',\r\n predicate: (value, filter, row) => {\r\n value = value !== null ? funciones.getTime(value, 0) : value; \r\n return IntegratedFiltering.defaultPredicate(value, filter, row);\r\n },\r\n },\r\n];\r\n\r\nconst RowId = row => row.PAGORP_ID;\r\nconst VirtualTable_cellComponent = (props) => { \r\n \r\n if (props.column.name === 'PAGORP_FECHA')\r\n {\r\n return ( \r\n { props.row.PAGORP_FECHA !== null ? funciones.getTime(props.row.PAGORP_FECHA, 0) : props.row.PAGORP_FECHA}\r\n );\r\n }\r\n \r\n \r\n return ();\r\n \r\n}\r\nconst TableSelectionCellComponent = (idRowSelected, handleClickDelete) => (props) =>{\r\n \r\n if (props.row.PAGORP_ID === idRowSelected)\r\n {\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 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\nvtRef = React.createRef();\r\n\r\n constructor (props) {\r\n super(props);\r\n this.l=props.l\r\n this.e=props.e\r\n this.i=props.i\r\n this.state = {\r\n isLoggin : undefined,\r\n heightTableMain: 0,\r\n loadingMain: true,\r\n rows: [],\r\n openBackDrop: false,\r\n idRowSelected: null,\r\n openModalConfirm: false,\r\n };\r\n this.botones_eliminar =[\r\n {icono: 'Check', toolt: '', nombre: 'Aceptar', onclick: this.handleOK, display:'auto'},\r\n {icono: 'Close', toolt: '', nombre: 'Cerrar' ,onclick: this.handleCloseConfirm, display:'auto', color: 'red'},\r\n ]; \r\n}\r\n\r\nobtener_reg_bloqueos = ()=>{\r\n\r\n new Request\r\n .get(`${globales.ip}/bloqueoPL`)\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 \r\n this.setState({ rows: rows, loadingMain: false }); \r\n \r\n });\r\n\r\n}\r\n\r\nhandleRowClick = (idRow) => event => {\r\n this.setState({ idRowSelected: idRow }); \r\n}\r\n\r\nhandleClickDelete = ()=>{\r\nthis.setState({ openModalConfirm: true });\r\n}\r\n\r\nhandleCloseConfirm = ()=>{\r\nthis.setState({ openModalConfirm: false }); \r\n}\r\n\r\nhandleOK = ()=>{\r\n\r\nthis.setState({ openBackDrop: true, openModalConfirm: false }, ()=>{\r\n\r\n new Request\r\n .post(`${globales.ip}/bloqueoPL/remove`)\r\n .set({'authorization': 'Bearer ' + Auth.getToken() })\r\n .set('Content-Type', 'application/json')\r\n .send({ pagorp_id: this.state.idRowSelected, \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({ openBackDrop: false }, ()=>{ \r\n funciones.showToast('e', 'No hay conexión'); \r\n });\r\n \r\n return;\r\n }\r\n \r\n const rows = JSON.parse(res.text);\r\n \r\n if (rows.length > 0)\r\n { \r\n if (rows[0].RESP === 'OK')\r\n { \r\n \r\n let newRows = this.state.rows.filter(x => x.PAGORP_ID !== this.state.idRowSelected);\r\n \r\n this.setState({ rows: newRows, idRowSelected: null, openBackDrop: false }, ()=> { \r\n funciones.showToast('s', 'Se ha eliminado el registro'); \r\n }); \r\n\r\n }\r\n else\r\n {\r\n this.setState({ openBackDrop: false }, ()=>{ \r\n funciones.showToast('w', rows[0].RESP);\r\n });\r\n\r\n }\r\n }\r\n \r\n });\r\n\r\n});\r\n\r\n}\r\n\r\ncomponentDidMount() { //Load\r\n\r\ntokenInfo = Auth.getProfile(); //Token decodificado\r\n\r\nthis.setState({ isLoggin: tokenInfo.plataforma !== undefined ? true : false }, ()=>{ \r\n\r\n if (tokenInfo.plataforma === 1) // Usuario Admin\r\n {\r\n this.obtener_reg_bloqueos();\r\n }\r\n else if (tokenInfo.plataforma === 2) //Usuario estudiante\r\n { \r\n \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 === 1) //Si es Usuario Admin\r\n {\r\n \r\n return (\r\n \r\n \r\n \r\n Registros de bloqueo\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n Bloqueo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Antes de eliminar se recomienda verificar que no se realizó el pago correspondiente.\r\n
\r\n
\r\n ¿Está seguro de eliminar el registro?\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n Eliminando...\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)"],"sourceRoot":""}