|
|
|
@ -1,28 +1,7 @@ |
|
|
|
|
import React, { FC, useEffect, useState } from 'react' |
|
|
|
|
import { |
|
|
|
|
Alert, |
|
|
|
|
Button, |
|
|
|
|
Card, |
|
|
|
|
Col, |
|
|
|
|
Form, |
|
|
|
|
Modal, |
|
|
|
|
OverlayTrigger, |
|
|
|
|
Row, |
|
|
|
|
Table, |
|
|
|
|
Tooltip, |
|
|
|
|
} from 'react-bootstrap' |
|
|
|
|
import { Alert, Button, Card, Col, Form, Modal, OverlayTrigger, Row, Table, Tooltip } from 'react-bootstrap' |
|
|
|
|
import { IconContext } from 'react-icons' |
|
|
|
|
import { |
|
|
|
|
BsChevronDown, |
|
|
|
|
BsChevronRight, |
|
|
|
|
BsChevronUp, |
|
|
|
|
BsFillPencilFill, |
|
|
|
|
BsPaperclip, |
|
|
|
|
BsPlusSquareFill, |
|
|
|
|
BsTruck, |
|
|
|
|
BsXLg, |
|
|
|
|
} from 'react-icons/bs' |
|
|
|
|
import { HiOutlineRefresh } from 'react-icons/hi' |
|
|
|
|
import { BsChevronDown, BsChevronRight, BsChevronUp, BsFillPencilFill, BsPlusSquareFill, BsTruck } from 'react-icons/bs' |
|
|
|
|
import { FcShipped, FcInTransit } from 'react-icons/fc' |
|
|
|
|
import { useDispatch, useSelector } from 'react-redux' |
|
|
|
|
import { RootState } from '../../store/store' |
|
|
|
@ -30,12 +9,7 @@ import DTOOpViajes from '../../DTOs/Operaciones/DTOViajes' |
|
|
|
|
import DSOpViajes from '../../Services/Operaciones/OpViajes.Services' |
|
|
|
|
import DSOpStatusSecuence from '../../Services/Operaciones/OpViajes.Services' |
|
|
|
|
import { Servicios } from './Viaje/Servicios/Servicios' |
|
|
|
|
import { |
|
|
|
|
resetOpViajes, |
|
|
|
|
deleteOpViajes, |
|
|
|
|
populateOpViajes, |
|
|
|
|
updateOpViajes, |
|
|
|
|
} from '../../store/features/Operaciones/OpViajesSlice' |
|
|
|
|
import { populateOpViajes, updateOpViajes } from '../../store/features/Operaciones/OpViajesSlice' |
|
|
|
|
import { Viaje } from './Viaje/Viaje' |
|
|
|
|
import '../../css/masterDetail.css' |
|
|
|
|
import '../../css/generalStyles.css' |
|
|
|
@ -45,37 +19,26 @@ import { |
|
|
|
|
} from '../../store/features/Operaciones/OpViajesServiciosSlice' |
|
|
|
|
import { populateOpViajesEstatusSecuencia } from '../../store/features/Operaciones/OpViajes.Estatus.SecuenciaSlice' |
|
|
|
|
import { ViajeEstatus } from './Viaje/ViajeEstatus' |
|
|
|
|
import { useNavigate } from 'react-router-dom' |
|
|
|
|
import DSCatUsuarios from '../../Services/Catalogos/CatUsuarios.Services' |
|
|
|
|
import ICatUsuarios from '../../Interfaces/Catalogos/ICatUsuarios' |
|
|
|
|
import { MFileManager } from '../Utils/MFileManager/MFileManager' |
|
|
|
|
import '../../css/masterDetail.css' |
|
|
|
|
|
|
|
|
|
interface IProps {} |
|
|
|
|
|
|
|
|
|
export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
const dispatch = useDispatch() |
|
|
|
|
// const navigate = useNavigate()
|
|
|
|
|
const Info = JSON.parse(localStorage.getItem('tokenInfo') || '[]') |
|
|
|
|
/// const UserID = Info.UserId
|
|
|
|
|
/* const CatClientes = useSelector((state: RootState) => state.CatClientes.CatClientes) |
|
|
|
|
const UserID = Info.UserId |
|
|
|
|
const CatClientes = useSelector((state: RootState) => state.CatClientes.CatClientes) |
|
|
|
|
const CatProveedores = useSelector((state: RootState) => state.CatProveedores.CatProveedores) |
|
|
|
|
const CatTipoUnidades = useSelector((state: RootState) => state.CatTipoUnidades.CatTipoUnidades) |
|
|
|
|
const CatUbicaciones = useSelector((state: RootState) => state.CatUbicaciones.CatUbicaciones) |
|
|
|
|
const CatServicios = useSelector((state: RootState) => state.CatServicios.CatServicios)*/ |
|
|
|
|
const CatServicios = useSelector((state: RootState) => state.CatServicios.CatServicios) |
|
|
|
|
const AllTrips = useSelector((state: RootState) => state.OpViajes.OpViajes) |
|
|
|
|
const AllTripsServices = useSelector( |
|
|
|
|
(state: RootState) => state.OpViajesServicios.OpViajesServicios |
|
|
|
|
) |
|
|
|
|
const AllTripsServices = useSelector((state: RootState) => state.OpViajesServicios.OpViajesServicios) |
|
|
|
|
const [OpViajes, setOpViajes] = useState<DTOOpViajes[]>([]) |
|
|
|
|
const [showTripDialog, setShowTripDialog] = useState(false) |
|
|
|
|
const [ShowDeleteDialog, setShowDeleteDialog] = useState(false) |
|
|
|
|
const [ShowDocumentsDialog, setShowDocumentsDialog] = useState(false) |
|
|
|
|
const [Switch, setSwitch] = useState(false) |
|
|
|
|
const [NoCaja, setNoCaja] = useState('') |
|
|
|
|
const [IDViaje, setIDViaje] = useState(0) |
|
|
|
|
const [IDCliente, setIDCliente] = useState(0) |
|
|
|
|
const [SCliente, setSCliente] = useState('') |
|
|
|
|
const [IDProveedor, setIDProveedor] = useState(0) |
|
|
|
|
const [IDServicio, setIDServicio] = useState(0) |
|
|
|
|
const [IDTipoUnidad, setIDTipoUnidad] = useState(0) |
|
|
|
@ -85,8 +48,6 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
const [PickUpNumber, setPickUpNumber] = useState('') |
|
|
|
|
const [Hazmat, setHazmat] = useState(0) |
|
|
|
|
const [Search, setSearch] = useState('') |
|
|
|
|
const [DataUsuarios, setDataUsuarios] = useState<ICatUsuarios[]>([]) |
|
|
|
|
const [IDUsuario, setIDUsuario] = useState(0) |
|
|
|
|
|
|
|
|
|
const showInfo = (row: DTOOpViajes) => { |
|
|
|
|
setIDViaje(row.id) |
|
|
|
@ -121,46 +82,11 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
setShowTripDialog(true) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const deleteMaster = (row: DTOOpViajes) => { |
|
|
|
|
setSCliente(row.sCliente) |
|
|
|
|
setIDViaje(row.id) |
|
|
|
|
setShowDeleteDialog(true) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const deleteTrip = () => { |
|
|
|
|
DSOpViajes.Delete(IDViaje) |
|
|
|
|
.then((response) => { |
|
|
|
|
dispatch(deleteOpViajes(IDViaje)) |
|
|
|
|
setShowDeleteDialog(false) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => {}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const loadEveryting = () => { |
|
|
|
|
useEffect(() => { |
|
|
|
|
loadStatus() |
|
|
|
|
loadTrips() |
|
|
|
|
loadUsers() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const loadUsers = () => { |
|
|
|
|
DSCatUsuarios.GetAll() |
|
|
|
|
.then((response) => { |
|
|
|
|
console.log(response.data) |
|
|
|
|
setDataUsuarios(response.data) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
alert('Ocurrio un error' + e.message.toString()) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
loadEveryting() |
|
|
|
|
}, []) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
console.log(JSON.stringify(AllTripsServices)) |
|
|
|
|
}, [AllTripsServices]) |
|
|
|
|
|
|
|
|
|
const loadStatus = () => { |
|
|
|
|
DSOpStatusSecuence.GetStatusSecuence() |
|
|
|
|
.then((response) => { |
|
|
|
@ -169,35 +95,17 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
.catch((e: Error) => {}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const filterServices = (str: string, id: number) => { |
|
|
|
|
if (!str) return false |
|
|
|
|
const filtered = AllTripsServices.filter((obj) => obj.idViaje === id) |
|
|
|
|
if (filtered) { |
|
|
|
|
const filteredRows = filtered.filter( |
|
|
|
|
(obj) => |
|
|
|
|
obj.sProveedor.toLowerCase().indexOf(str.toLowerCase()) > -1 || |
|
|
|
|
obj.sServicio.toLowerCase().indexOf(str.toLowerCase()) > -1 || |
|
|
|
|
obj.comentarios.toLowerCase().indexOf(str.toLowerCase()) > -1 || |
|
|
|
|
obj.noCaja.toLowerCase().indexOf(str.toLowerCase()) > -1 |
|
|
|
|
) |
|
|
|
|
//console.log(JSON.stringify(filteredRows))
|
|
|
|
|
if (filteredRows.length) return true |
|
|
|
|
else return false |
|
|
|
|
} else return false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const loadTrips = () => { |
|
|
|
|
DSOpViajes.Get() |
|
|
|
|
.then((response) => { |
|
|
|
|
dispatch(resetOpViajes('')) |
|
|
|
|
//console.log('viajes=' + JSON.stringify(response.data))
|
|
|
|
|
console.log('viajes=' + JSON.stringify(response.data)) |
|
|
|
|
var data = response.data.map((x) => { |
|
|
|
|
x.max = false |
|
|
|
|
return x |
|
|
|
|
}) |
|
|
|
|
setOpViajes(data) |
|
|
|
|
dispatch(populateOpViajes(data)) |
|
|
|
|
DSOpViajes.GetAllServices(99) |
|
|
|
|
DSOpViajes.GetAllServices() |
|
|
|
|
.then((responsed) => { |
|
|
|
|
dispatch(populateOpViajesServicios(responsed.data)) |
|
|
|
|
}) |
|
|
|
@ -227,18 +135,7 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
<Col xs={2} style={{ textAlign: 'right', fontSize: '25px' }}> |
|
|
|
|
Monitor de Viajes |
|
|
|
|
</Col> |
|
|
|
|
<Col |
|
|
|
|
xs={1} |
|
|
|
|
style={{ textAlign: 'left', cursor: 'pointer' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
loadEveryting() |
|
|
|
|
//navigate('/OpMonitor', { replace: true })
|
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: 'orange', size: '35px' }}> |
|
|
|
|
<HiOutlineRefresh /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={1} style={{ textAlign: 'left', cursor: 'pointer' }}></Col> |
|
|
|
|
<Col xs={8}></Col> |
|
|
|
|
<Col xs={1}> |
|
|
|
|
<div |
|
|
|
@ -248,16 +145,10 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
style={{ cursor: 'pointer' }} |
|
|
|
|
> |
|
|
|
|
<OverlayTrigger |
|
|
|
|
overlay={ |
|
|
|
|
<Tooltip id='tooltip-disabled'> |
|
|
|
|
De un click aqui para iniciar un viaje |
|
|
|
|
</Tooltip> |
|
|
|
|
} |
|
|
|
|
overlay={<Tooltip id='tooltip-disabled'>De un click aqui para iniciar un viaje</Tooltip>} |
|
|
|
|
> |
|
|
|
|
<span className='d-inline-block'> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: 'blue', size: '35px' }} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: 'blue', size: '35px' }}> |
|
|
|
|
<FcInTransit /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</span> |
|
|
|
@ -268,28 +159,7 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
</Alert> |
|
|
|
|
</Card> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={2}> |
|
|
|
|
<Form.Control |
|
|
|
|
as='select' |
|
|
|
|
onChange={(e) => { |
|
|
|
|
setIDUsuario(parseInt(e.target.value)) |
|
|
|
|
}} |
|
|
|
|
value={IDUsuario} |
|
|
|
|
className='form-select form-select-sm dialogLabel' |
|
|
|
|
> |
|
|
|
|
<option value='0'>- Todos los usuarios -</option> |
|
|
|
|
{DataUsuarios |
|
|
|
|
? DataUsuarios.filter((row) => row.id > 1).map((row) => { |
|
|
|
|
return ( |
|
|
|
|
<option key={row.id} value={row.id}> |
|
|
|
|
{row.nombre} |
|
|
|
|
</option> |
|
|
|
|
) |
|
|
|
|
}) |
|
|
|
|
: null} |
|
|
|
|
</Form.Control> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={8}> |
|
|
|
|
<Col xs={10}> |
|
|
|
|
<Form.Control |
|
|
|
|
type='text' |
|
|
|
|
size='sm' |
|
|
|
@ -320,9 +190,7 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
<th style={{ width: '185px' }}>Estatus</th> |
|
|
|
|
<th>Hazmat</th> |
|
|
|
|
<th>Ref AA</th> |
|
|
|
|
<th></th> |
|
|
|
|
<th>PickUp No</th> |
|
|
|
|
<th>Elimina</th> |
|
|
|
|
<th>Editar</th> |
|
|
|
|
</tr> |
|
|
|
|
</thead> |
|
|
|
@ -330,152 +198,84 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
{AllTrips |
|
|
|
|
? AllTrips.filter( |
|
|
|
|
(MasterData) => |
|
|
|
|
((IDUsuario !== 0 |
|
|
|
|
? MasterData.usuario === IDUsuario |
|
|
|
|
: 1 === 1) && |
|
|
|
|
(MasterData.id |
|
|
|
|
.toString() |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sCliente |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sTipoOperacion |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sOrigen |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sDestino |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
((MasterData.sTipoUnidad) ? MasterData.sTipoUnidad |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) : false) || |
|
|
|
|
MasterData.noCaja |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.refAgenciaAduanal |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.pickUpNumber |
|
|
|
|
.toLowerCase() |
|
|
|
|
.includes(Search.toLowerCase()))) || |
|
|
|
|
filterServices(Search.toLowerCase(), MasterData.id) |
|
|
|
|
MasterData.sCliente.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sTipoOperacion.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sOrigen.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sDestino.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.sTipoUnidad.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.noCaja.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.refAgenciaAduanal.toLowerCase().includes(Search.toLowerCase()) || |
|
|
|
|
MasterData.pickUpNumber.toLowerCase().includes(Search.toLowerCase()) |
|
|
|
|
).map((MasterData) => { |
|
|
|
|
return ( |
|
|
|
|
<> |
|
|
|
|
<tr |
|
|
|
|
style={{ cursor: 'pointer' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.id} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
key={MasterData.id} |
|
|
|
|
onClick={() => { |
|
|
|
|
changeToggle(MasterData) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
{MasterData.max === true ? ( |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: 'blue', size: '15px' }} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: 'blue', size: '15px' }}> |
|
|
|
|
<BsChevronDown /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
) : ( |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: 'blue', size: '15px' }} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: 'blue', size: '15px' }}> |
|
|
|
|
<BsChevronRight /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
)} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.sCliente} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.sTipoOperacion} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.sOrigen} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.sDestino} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.sTipoUnidad} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.noCaja} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
<ViajeEstatus |
|
|
|
|
IDViaje={MasterData.id} |
|
|
|
@ -486,76 +286,23 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'center' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.hazmat === 1 ? 'Si' : 'No'} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.refAgenciaAduanal} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ paddingTop: '15px' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
setIDViaje(MasterData.id) |
|
|
|
|
setShowDocumentsDialog(true) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: 'green', size: '20px' }} |
|
|
|
|
> |
|
|
|
|
<BsPaperclip /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
style={{ textAlign: 'left' }} |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
className={MasterData.max === true ? 'masterSelected' : 'normalSelected'} |
|
|
|
|
> |
|
|
|
|
{MasterData.pickUpNumber} |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
> |
|
|
|
|
<Button |
|
|
|
|
size='sm' |
|
|
|
|
variant='white' |
|
|
|
|
style={{ textAlign: 'right' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
deleteMaster(MasterData) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: 'red', size: '15px' }} |
|
|
|
|
> |
|
|
|
|
<BsXLg /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</Button> |
|
|
|
|
</td> |
|
|
|
|
<td |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected' |
|
|
|
|
: 'normalSelected' |
|
|
|
|
} |
|
|
|
|
> |
|
|
|
|
<td className={MasterData.max === true ? 'masterSelected' : 'normalSelected'}> |
|
|
|
|
<Button |
|
|
|
|
size='sm' |
|
|
|
|
variant='white' |
|
|
|
@ -564,30 +311,16 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
EditMaster(MasterData) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: 'blue', size: '15px' }} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: 'blue', size: '15px' }}> |
|
|
|
|
<BsFillPencilFill /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</Button> |
|
|
|
|
</td> |
|
|
|
|
</tr> |
|
|
|
|
{MasterData.max === true ? ( |
|
|
|
|
<tr |
|
|
|
|
className={ |
|
|
|
|
MasterData.max === true |
|
|
|
|
? 'masterSelected2' |
|
|
|
|
: 'normalSelected2' |
|
|
|
|
} |
|
|
|
|
> |
|
|
|
|
<th |
|
|
|
|
colSpan={2} |
|
|
|
|
style={{ backgroundColor: '#F8F9FE' }} |
|
|
|
|
></th> |
|
|
|
|
<th |
|
|
|
|
colSpan={14} |
|
|
|
|
style={{ backgroundColor: '#F8F9FE' }} |
|
|
|
|
> |
|
|
|
|
<tr className={MasterData.max === true ? 'masterSelected2' : 'normalSelected2'}> |
|
|
|
|
<th colSpan={2} style={{ backgroundColor: '#F8F9FE' }}></th> |
|
|
|
|
<th colSpan={14} style={{ backgroundColor: '#F8F9FE' }}> |
|
|
|
|
<Servicios |
|
|
|
|
IDMaster={MasterData.id} |
|
|
|
|
key={MasterData.id} |
|
|
|
@ -616,7 +349,6 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
setShowTripDialog(false) |
|
|
|
|
}} |
|
|
|
|
size={'lg'} |
|
|
|
|
backdrop='static' |
|
|
|
|
> |
|
|
|
|
<Modal.Header closeButton className='tripHeader'> |
|
|
|
|
Informacion del viaje |
|
|
|
@ -625,128 +357,6 @@ export const OpMonitor: FC<IProps> = (props) => { |
|
|
|
|
<Viaje IDViaje={IDViaje} /> |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
|
|
|
|
|
<Modal |
|
|
|
|
show={ShowDeleteDialog} |
|
|
|
|
onHide={() => { |
|
|
|
|
setShowDeleteDialog(false) |
|
|
|
|
}} |
|
|
|
|
size={'lg'} |
|
|
|
|
backdrop='static' |
|
|
|
|
> |
|
|
|
|
<Modal.Header closeButton className='tripHeader'> |
|
|
|
|
Alerta |
|
|
|
|
</Modal.Header> |
|
|
|
|
<Modal.Body> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={12}> |
|
|
|
|
<Alert key='danger' variant='danger'> |
|
|
|
|
Esta seguro de eliminar este viaje{' '} |
|
|
|
|
<span style={{ fontWeight: 'bold' }}>AOL: {IDViaje}</span>? |
|
|
|
|
<br /> |
|
|
|
|
<span style={{ fontWeight: 'bold' }}>{SCliente}</span> |
|
|
|
|
</Alert> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={6}> |
|
|
|
|
<Button |
|
|
|
|
variant='primary' |
|
|
|
|
size='sm' |
|
|
|
|
onClick={() => { |
|
|
|
|
setShowDeleteDialog(false) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
No |
|
|
|
|
</Button> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={6} style={{ textAlign: 'right' }}> |
|
|
|
|
<Button |
|
|
|
|
variant='danger' |
|
|
|
|
size='sm' |
|
|
|
|
onClick={() => { |
|
|
|
|
deleteTrip() |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
Si |
|
|
|
|
</Button> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
|
|
|
|
|
<Modal |
|
|
|
|
show={ShowDocumentsDialog} |
|
|
|
|
onHide={() => { |
|
|
|
|
setShowDocumentsDialog(false) |
|
|
|
|
}} |
|
|
|
|
dialogClassName='modal-90w' |
|
|
|
|
backdrop='static' |
|
|
|
|
> |
|
|
|
|
<Modal.Header closeButton className='tripHeader'> |
|
|
|
|
Documentos del viaje |
|
|
|
|
</Modal.Header> |
|
|
|
|
<Modal.Body> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={4}> |
|
|
|
|
<Card style={{ width: '28rem', textAlign: 'center' }}> |
|
|
|
|
<Card.Body> |
|
|
|
|
<MFileManager |
|
|
|
|
IDTrafico={IDViaje} |
|
|
|
|
Proceso={1} |
|
|
|
|
canEdit={true} |
|
|
|
|
fileType={'application/pdf'} |
|
|
|
|
Leyenda={'Seleccione los archivos PDF: '} |
|
|
|
|
showPreview={3} |
|
|
|
|
/> |
|
|
|
|
</Card.Body> |
|
|
|
|
</Card> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={4}> |
|
|
|
|
<Card style={{ width: '28rem', textAlign: 'center' }}> |
|
|
|
|
<Card.Body> |
|
|
|
|
<MFileManager |
|
|
|
|
IDTrafico={IDViaje} |
|
|
|
|
Proceso={2} |
|
|
|
|
canEdit={true} |
|
|
|
|
fileType={'image/gif, image/jpeg, image/png, image/gif'} |
|
|
|
|
Leyenda={'Fotos de operaciones: '} |
|
|
|
|
showPreview={3} |
|
|
|
|
/> |
|
|
|
|
</Card.Body> |
|
|
|
|
</Card> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={4}> |
|
|
|
|
<Card style={{ width: '28rem', textAlign: 'center' }}> |
|
|
|
|
<Card.Body> |
|
|
|
|
<MFileManager |
|
|
|
|
IDTrafico={IDViaje} |
|
|
|
|
Proceso={3} |
|
|
|
|
canEdit={true} |
|
|
|
|
fileType={'application/pdf'} |
|
|
|
|
Leyenda={'Otros documentos: '} |
|
|
|
|
showPreview={3} |
|
|
|
|
/> |
|
|
|
|
</Card.Body> |
|
|
|
|
</Card> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={10}></Col> |
|
|
|
|
<Col xs={2} style={{ textAlign: 'right' }}> |
|
|
|
|
<Button |
|
|
|
|
variant='secondary' |
|
|
|
|
size='sm' |
|
|
|
|
onClick={() => { |
|
|
|
|
setShowDocumentsDialog(false) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
Cerrar |
|
|
|
|
</Button> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
</div> |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|