Se agregan campos: Cita, Validacion que se genere un AOL con minimo 1 servicio, se empieza control de AOL con estatus
parent
73ec7ccaf0
commit
4dab58af3f
@ -0,0 +1,40 @@ |
||||
import React, { FC, useState } from 'react' |
||||
import { Form } from 'react-bootstrap' |
||||
import { useSelector } from 'react-redux' |
||||
import { RootState } from '../../../store/store' |
||||
|
||||
interface IProps { |
||||
IDViaje: number |
||||
TipoOperacion: number |
||||
} |
||||
|
||||
export const ViajeEstatus: FC<IProps> = (props) => { |
||||
const mTripStatus = useSelector((state: RootState) => state.OpViajesEstatusSecuencia.OpViajesEstatusSecuencia) |
||||
const [IDStatus, setIDStatus] = useState(0) |
||||
return ( |
||||
<div> |
||||
<Form.Control |
||||
as='select' |
||||
onChange={(e) => { |
||||
setIDStatus(parseInt(e.target.value)) |
||||
}} |
||||
value={IDStatus} |
||||
className='form-select form-select-sm dialogLabel' |
||||
> |
||||
<option value='0'>Pendiente</option> |
||||
{mTripStatus |
||||
? mTripStatus |
||||
.filter((row) => row.tipoOperacion === props.TipoOperacion) |
||||
.sort((a, b) => a.secuencia - b.secuencia) |
||||
.map((row) => { |
||||
return ( |
||||
<option key={row.id} value={row.id}> |
||||
{row.sEstatus} |
||||
</option> |
||||
) |
||||
}) |
||||
: null} |
||||
</Form.Control> |
||||
</div> |
||||
) |
||||
} |
@ -0,0 +1,9 @@ |
||||
export default interface DTOViajeEstatusSecuencia { |
||||
id: number, |
||||
tipoOperacion: number, |
||||
sTipoOperacion: string, |
||||
estatus: number, |
||||
sEstatus: string, |
||||
secuencia: number, |
||||
activo: number |
||||
}
|
@ -0,0 +1,34 @@ |
||||
import { createSlice, PayloadAction } from '@reduxjs/toolkit' |
||||
import DTOViajeEstatusSecuencia from '../../../DTOs/Operaciones/DTOViajeEstatusSecuencia' |
||||
const OpViajesEstatusSecuencia: DTOViajeEstatusSecuencia[] = [] |
||||
const initialState = { OpViajesEstatusSecuencia } |
||||
|
||||
export const OpViajesEstatusSecuenciaSlice = createSlice({ |
||||
name: 'OpViajesEstatusSecuencia', |
||||
initialState: initialState, |
||||
reducers: { |
||||
resetOpViajesEstatusSecuencia : (state, action: PayloadAction<string>) => { |
||||
state.OpViajesEstatusSecuencia = [] |
||||
},
|
||||
populateOpViajesEstatusSecuencia : (state, action: PayloadAction<DTOViajeEstatusSecuencia[]>) => { |
||||
action.payload.forEach(element => { |
||||
const index = state.OpViajesEstatusSecuencia.findIndex(object => object.id === element.id) |
||||
if (index<0) state.OpViajesEstatusSecuencia.push(element) |
||||
}) |
||||
}, |
||||
updateOpViajesEstatusSecuencia : (state, action: PayloadAction<DTOViajeEstatusSecuencia[]>) => { |
||||
action.payload.forEach(row => { |
||||
const i = state.OpViajesEstatusSecuencia.findIndex(_element => _element.id === row.id); |
||||
if (i > -1) state.OpViajesEstatusSecuencia[i] = row; |
||||
else state.OpViajesEstatusSecuencia.push(row); |
||||
}) |
||||
}, |
||||
deleteOpViajesEstatusSecuencia : (state, action: PayloadAction<number>) => { |
||||
const newArr = state.OpViajesEstatusSecuencia.filter(data => data.id != action.payload); |
||||
state.OpViajesEstatusSecuencia=newArr |
||||
}, |
||||
}, |
||||
}) |
||||
|
||||
export const { resetOpViajesEstatusSecuencia, populateOpViajesEstatusSecuencia, updateOpViajesEstatusSecuencia, deleteOpViajesEstatusSecuencia } = OpViajesEstatusSecuenciaSlice.actions; |
||||
export default OpViajesEstatusSecuenciaSlice.reducer; |
Loading…
Reference in new issue