feature/solicitar_reapertura_de_cuenta_20240206
parent
4a7d51f4b0
commit
5f92a4391e
@ -0,0 +1,119 @@ |
||||
import { Button, Col, Form, FormLabel, Row } from "react-bootstrap"; |
||||
import { CiWarning } from "react-icons/ci"; |
||||
import { MsgInformativo } from "../../Utils/Toast/msgInformativo"; |
||||
import '../../../css/generic01.css' |
||||
import { ICorresponsalTraficoSolicitudReapertura } from "../../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura"; |
||||
import { DTOTraficoSolicitudReapertura } from "../../../DTO/Corresponsales/DTOTraficoSolicitudReapertura"; |
||||
import CTrafDataService from "../../../Services/Corresponsalias/Corresponsales.Trafico.Services" |
||||
import { useState } from "react"; |
||||
|
||||
interface IProps { |
||||
solicitud: DTOTraficoSolicitudReapertura; |
||||
userId: number; |
||||
close: (estado: number) => void |
||||
} |
||||
export const AutorizarReapertura:React.FC<IProps> = (props) => { |
||||
const [Motivo, setMotivo] = useState('') |
||||
const [showMsg, setShowMsg] = useState(false) |
||||
const [msg, setMsg] = useState('') |
||||
const [header, setHeader] = useState('') |
||||
const [SelectedOption, setSelectedOption] = useState(2) |
||||
|
||||
const AppendSolicitud = () =>{ |
||||
if(SelectedOption === 0 && !Motivo){ |
||||
setHeader('Error'); |
||||
setMsg('Favor de capturar una razon válida.') |
||||
setShowMsg(true) |
||||
return; |
||||
} |
||||
if(SelectedOption === 0 && Motivo.length < 30){ |
||||
setHeader('Error'); |
||||
setMsg('La razón del rechazo debe contener al menos 30 caracteres') |
||||
setShowMsg(true) |
||||
return; |
||||
} |
||||
var solicitud: ICorresponsalTraficoSolicitudReapertura = { |
||||
id: props.solicitud.id, |
||||
idTrafico: props.solicitud.idTrafico, |
||||
idUsuarioSolicita: props.solicitud.idUsuarioSolicita, |
||||
fechaSolicita: props.solicitud.fechaSolicita, |
||||
motivoSolicita: props.solicitud.motivoSolicita, |
||||
idUsuarioAutoriza: props.userId, |
||||
fechaAutoriza: undefined, |
||||
motivoRechazo: Motivo, |
||||
estado: SelectedOption |
||||
} |
||||
CTrafDataService.AppendSolicitudReapertura(solicitud) |
||||
.then((resp) => { |
||||
if(resp.data.id > 0){ |
||||
props.close(SelectedOption) |
||||
} |
||||
}) |
||||
.catch(() => { |
||||
setHeader('Error'); |
||||
setMsg('Ocurrió un error. Favor de intentar nuevamente') |
||||
setShowMsg(true) |
||||
return; |
||||
}) |
||||
} |
||||
|
||||
return( |
||||
<> |
||||
<h3>Solicitud de Reapertura de Cuenta</h3> |
||||
<hr/> |
||||
<Row> |
||||
<CiWarning style={{fontSize:'150px', color:'#ff3100'}} /> |
||||
</Row> |
||||
<Row> |
||||
<Col xs={12}> |
||||
<p style={{textAlign:'center'}}> |
||||
{props.solicitud.usuarioSolicita} solicita la reapertura de esta cuenta por el motivo: |
||||
</p> |
||||
<p style={{textAlign:'center'}}>{props.solicitud.motivoSolicita}</p> |
||||
</Col> |
||||
</Row> |
||||
<Row className='justify-content-center'> |
||||
<Col xs={4}> |
||||
<Form.Control
|
||||
as='select' |
||||
className="form-select form-select-sm" |
||||
value={SelectedOption} |
||||
style={{width:'100%', marginBottom:'10px'}} |
||||
onChange={(e) => setSelectedOption(+e.target.value)} |
||||
> |
||||
<option value={2}>Autorizar</option> |
||||
<option value={0}>Rechazar</option> |
||||
</Form.Control> |
||||
</Col> |
||||
</Row> |
||||
<Row style={{visibility: SelectedOption === 0 ? 'visible' : 'hidden'}}> |
||||
<Col xs={12}> |
||||
<FormLabel style={{width:'100%'}}> |
||||
<Form.Control |
||||
as="textarea" |
||||
rows={3}
|
||||
onChange={(e) => setMotivo(e.target?.value)} |
||||
placeholder='ingrese el motivo del rechazo de la solicitud' |
||||
/> |
||||
</FormLabel> |
||||
</Col> |
||||
</Row> |
||||
<Row className='justify-content-end'> |
||||
<Col xs={4} style={{textAlign:'end'}}> |
||||
<Button variant='primary' onClick={() => {AppendSolicitud()}}> |
||||
Guardar |
||||
</Button> |
||||
</Col> |
||||
</Row> |
||||
<MsgInformativo |
||||
show={showMsg} |
||||
msg={msg} |
||||
header={header} |
||||
msgColor={'primary'} |
||||
closeToast={() => { |
||||
setShowMsg(false) |
||||
}} |
||||
/> |
||||
</> |
||||
) |
||||
} |
@ -0,0 +1,9 @@ |
||||
export interface DTOTraficoSolicitudReapertura{ |
||||
id: number, |
||||
idTrafico: number, |
||||
idUsuarioSolicita: number, |
||||
usuarioSolicita: string, |
||||
motivoSolicita: string, |
||||
fechaSolicita: string, |
||||
estado: number |
||||
} |
Loading…
Reference in new issue