From 8980ec340d1ef2bd80ad08f7de76b9dcb8e9408f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 29 Nov 2022 17:59:15 -0600 Subject: [PATCH] Se modifica el Monitor de operaciones y se complemente el search para que incluye los servicios no solo los AOLs --- src/App.tsx | 30 ++- src/Components/Catalogos/CatUsuarios.tsx | 22 +- src/Components/Login/Login.tsx | 23 +- src/Components/Operaciones/OpMonitor.tsx | 251 ++++++++++++++---- .../Utils/MFileManager/MFileManager.tsx | 1 - src/Services/Auth/config/http-common.ts | 51 ++-- src/Services/Operaciones/OpViajes.Services.ts | 52 ++-- src/images/ajaxloader.gif | Bin 0 -> 42933 bytes 8 files changed, 311 insertions(+), 119 deletions(-) create mode 100644 src/images/ajaxloader.gif diff --git a/src/App.tsx b/src/App.tsx index 0ae4480..324e2ab 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ import 'bootstrap/dist/css/bootstrap.min.css' -import { BrowserRouter, Route, Routes } from 'react-router-dom' +import { BrowserRouter, HashRouter, Route, Routes } from 'react-router-dom' import './App.css' import { Login } from './Components/Login/Login' import { Home } from './Components/Home/Home' @@ -20,7 +20,9 @@ import { CatUsuarios } from './Components/Catalogos/CatUsuarios' import { ResetAccount } from './Components/ResetAccount/ResetAccount' function App() { - const UserLogued = useSelector((state: RootState) => state.UserProfile.UserProfile.logueado) + const UserLogued = useSelector( + (state: RootState) => state.UserProfile.UserProfile.logueado + ) /* useEffect(() => { console.log('Entro al proceso de router ' + UserLogued) @@ -36,27 +38,27 @@ function App() { return (
- + {/* }> }> */} }> - }> - }> + }> + }> }> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> } /> - +
) } diff --git a/src/Components/Catalogos/CatUsuarios.tsx b/src/Components/Catalogos/CatUsuarios.tsx index bf72e59..8908a9f 100644 --- a/src/Components/Catalogos/CatUsuarios.tsx +++ b/src/Components/Catalogos/CatUsuarios.tsx @@ -1,5 +1,5 @@ import React, { FC, useEffect, useState } from 'react' -import { Button, Card, Col, FloatingLabel, Form, Row } from 'react-bootstrap' +import { Button, Card, Col, FloatingLabel, Form, Modal, Row } from 'react-bootstrap' import { useSelector } from 'react-redux' import { RootState } from '../../store/store' import DSCatUsuarios from '../../Services/Catalogos/CatUsuarios.Services' @@ -8,6 +8,7 @@ import DataTable from 'react-data-table-component' import { IconContext } from 'react-icons' import { BsFillPencilFill } from 'react-icons/bs' import Clean from '../../images/Clean.png' +import loadingImg from '../../images/ajaxloader.gif' interface IProps {} @@ -21,6 +22,7 @@ export const CatUsuarios: FC = (props) => { const [TipoUsuario, setTipoUsuario] = useState(0) const [Search, setSearch] = useState('') const [SearchUser, setSearchUser] = useState('') + const [showDialog, setShowDialog] = useState(false) const columnsConcepts = [ { name: 'id', @@ -73,6 +75,7 @@ export const CatUsuarios: FC = (props) => { } const saveForm = () => { + setShowDialog(true) const data: ICatUsuarios = { id: IDUsuario, usuario: Usuario, @@ -86,6 +89,7 @@ export const CatUsuarios: FC = (props) => { .then((response) => { cleanForm() loadUsers() + setShowDialog(false) }) .catch((e: Error) => { alert('Ocurrio un error' + e.message.toString()) @@ -283,6 +287,22 @@ export const CatUsuarios: FC = (props) => { + { + setShowDialog(false) + }} + + > + + + + + proccessing + Generando acceso y enviando correo... + + + ) } diff --git a/src/Components/Login/Login.tsx b/src/Components/Login/Login.tsx index 16001d1..ab04a56 100644 --- a/src/Components/Login/Login.tsx +++ b/src/Components/Login/Login.tsx @@ -24,14 +24,20 @@ interface IProps {} export const Login: FC = (props) => { const navigate = useNavigate() const dispatch = useDispatch() - const UserLogued = useSelector((state: RootState) => state.UserProfile.UserProfile.logueado) + const UserLogued = useSelector( + (state: RootState) => state.UserProfile.UserProfile.logueado + ) const [Usuario, setUsuario] = useState('') const [Contrasena, setContrasena] = useState('') const [token, setToken] = useState( - (window.localStorage.getItem('token') ? window.localStorage.getItem('token') : '')! + (window.localStorage.getItem('token') + ? window.localStorage.getItem('token') + : '')! ) const [menuStr, setMenuStr] = useState( - (window.localStorage.getItem('menu') ? window.localStorage.getItem('menu') : '')! + (window.localStorage.getItem('menu') + ? window.localStorage.getItem('menu') + : '')! ) const Login = async () => { @@ -44,10 +50,13 @@ export const Login: FC = (props) => { localStorage.setItem('token', response.data.token) localStorage.setItem('menu', JSON.stringify(response.data.menu)) setToken(response.data.token) - localStorage.setItem('tokenInfo', JSON.stringify(jwt_decode(response.data.token))) + localStorage.setItem( + 'tokenInfo', + JSON.stringify(jwt_decode(response.data.token)) + ) dispatch(populateMenuItems(response.data.menu)) dispatch(populateUserProfile(response.data.token)) - navigate('/', { replace: true }) + navigate('/#/', { replace: true }) }) .catch((e: Error) => { alert('Credeciales invalidas! ' + e.message.toString()) @@ -115,7 +124,9 @@ export const Login: FC = (props) => {
- + = (props) => { const dispatch = useDispatch() - const navigate = useNavigate() + // 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([]) const [showTripDialog, setShowTripDialog] = useState(false) const [ShowDeleteDialog, setShowDeleteDialog] = useState(false) @@ -144,6 +157,10 @@ export const OpMonitor: FC = (props) => { loadEveryting() }, []) + useEffect(() => { + console.log(JSON.stringify(AllTripsServices)) + }, [AllTripsServices]) + const loadStatus = () => { DSOpStatusSecuence.GetStatusSecuence() .then((response) => { @@ -152,6 +169,23 @@ export const OpMonitor: FC = (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) => { @@ -163,7 +197,7 @@ export const OpMonitor: FC = (props) => { }) setOpViajes(data) dispatch(populateOpViajes(data)) - DSOpViajes.GetAllServices() + DSOpViajes.GetAllServices(99) .then((responsed) => { dispatch(populateOpViajesServicios(responsed.data)) }) @@ -214,10 +248,16 @@ export const OpMonitor: FC = (props) => { style={{ cursor: 'pointer' }} > De un click aqui para iniciar un viaje} + overlay={ + + De un click aqui para iniciar un viaje + + } > - + @@ -239,15 +279,13 @@ export const OpMonitor: FC = (props) => { > {DataUsuarios - ? DataUsuarios.filter((row) => row.id > 1) - /* .sort((a, b) => a.nombre - b.nombre) */ - .map((row) => { - return ( - - ) - }) + ? DataUsuarios.filter((row) => row.id > 1).map((row) => { + return ( + + ) + }) : null} @@ -292,86 +330,152 @@ export const OpMonitor: FC = (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.toLowerCase().includes(Search.toLowerCase()) || - MasterData.noCaja.toLowerCase().includes(Search.toLowerCase()) || - MasterData.refAgenciaAduanal.toLowerCase().includes(Search.toLowerCase()) || - MasterData.pickUpNumber.toLowerCase().includes(Search.toLowerCase())) + ((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 + .toLowerCase() + .includes(Search.toLowerCase()) || + MasterData.noCaja + .toLowerCase() + .includes(Search.toLowerCase()) || + MasterData.refAgenciaAduanal + .toLowerCase() + .includes(Search.toLowerCase()) || + MasterData.pickUpNumber + .toLowerCase() + .includes(Search.toLowerCase()))) || + filterServices(Search.toLowerCase(), MasterData.id) ).map((MasterData) => { return ( <> {MasterData.id} { changeToggle(MasterData) }} > {MasterData.max === true ? ( - + ) : ( - + )} {MasterData.sCliente} {MasterData.sTipoOperacion} {MasterData.sOrigen} {MasterData.sDestino} {MasterData.sTipoUnidad} {MasterData.noCaja} = (props) => { {MasterData.hazmat === 1 ? 'Si' : 'No'} {MasterData.refAgenciaAduanal} @@ -399,17 +511,29 @@ export const OpMonitor: FC = (props) => { setShowDocumentsDialog(true) }} > - + {MasterData.pickUpNumber} - + - + {MasterData.max === true ? ( - - - + + + = (props) => { - Esta seguro de eliminar este viaje AOL: {IDViaje}? + Esta seguro de eliminar este viaje{' '} + AOL: {IDViaje}?
{SCliente}
diff --git a/src/Components/Utils/MFileManager/MFileManager.tsx b/src/Components/Utils/MFileManager/MFileManager.tsx index 39e5425..7cd287b 100644 --- a/src/Components/Utils/MFileManager/MFileManager.tsx +++ b/src/Components/Utils/MFileManager/MFileManager.tsx @@ -96,7 +96,6 @@ export const MFileManager: FC = (props) => { .then((response: any) => { if (response.status === 200) { if (row.nombreArchivo.toLowerCase().endsWith('.pdf')) { - // console.log(response.data) const blob = new Blob([response.data], { type: 'application/pdf' }) const url = window.URL.createObjectURL(blob) window.open(url) diff --git a/src/Services/Auth/config/http-common.ts b/src/Services/Auth/config/http-common.ts index 2803379..48a6b82 100644 --- a/src/Services/Auth/config/http-common.ts +++ b/src/Services/Auth/config/http-common.ts @@ -1,45 +1,44 @@ -import axios from "axios"; +import axios from 'axios' import { TargetURL } from '../../../Constants/TargetURL' -let token = window.localStorage.getItem('token'); +let token = window.localStorage.getItem('token') const URL = new TargetURL() const instance = axios.create({ baseURL: URL.get(), headers: { - "Content-type": "application/json", - "Authorization": (token) ? `Bearer ${token}` : '' + 'Content-type': 'application/json', + Authorization: token ? `Bearer ${token}` : '', }, -}); - - -instance.interceptors.response.use(function (response) { - return response; -}, function (error) { - if (401 === error.response.status) { - localStorage.clear(); - window.location.href = "/"; - } else { - return Promise.reject(error); - } - return Promise.reject(error); -}); +}) +instance.interceptors.response.use( + function (response) { + return response + }, + function (error) { + if (401 === error.response.status) { + localStorage.clear() + window.location.href = '/#/login' + } else { + return Promise.reject(error) + } + return Promise.reject(error) + } +) instance.interceptors.request.use( (config) => { let token = window.localStorage.getItem('token') if (token) { - config.headers!!.Authorization = `Bearer ${token}`; + config.headers!!.Authorization = `Bearer ${token}` } else { - config.headers!!.Authorization = ``; + config.headers!!.Authorization = `` } - return config; + return config }, (error) => { - return Promise.reject(error); + return Promise.reject(error) } -); - - -export default instance; +) +export default instance diff --git a/src/Services/Operaciones/OpViajes.Services.ts b/src/Services/Operaciones/OpViajes.Services.ts index 85ce973..2075e87 100644 --- a/src/Services/Operaciones/OpViajes.Services.ts +++ b/src/Services/Operaciones/OpViajes.Services.ts @@ -1,39 +1,53 @@ -import http from "../../Services/Auth/config/http-common"; -import DTOViajes from "../../DTOs/Operaciones/DTOViajes"; -import IRespuesta from "../../Interfaces/Respuestas/IRespuesta"; -import DTOViajesServicios from "../../DTOs/Operaciones/DTOViajesServicios"; -import DTOUltimaCaja from "../../DTOs/Operaciones/DTOUltimaCaja"; -import DTOViajeEstatusSecuencia from "../../DTOs/Operaciones/DTOViajeEstatusSecuencia"; -import DTOChangeTripStatus from "../../DTOs/Operaciones/DTOChangeTripStatus"; -import DTOResultTripStatus from "../../DTOs/Operaciones/DTOResultTripStatus"; +import http from '../../Services/Auth/config/http-common' +import DTOViajes from '../../DTOs/Operaciones/DTOViajes' +import IRespuesta from '../../Interfaces/Respuestas/IRespuesta' +import DTOViajesServicios from '../../DTOs/Operaciones/DTOViajesServicios' +import DTOUltimaCaja from '../../DTOs/Operaciones/DTOUltimaCaja' +import DTOViajeEstatusSecuencia from '../../DTOs/Operaciones/DTOViajeEstatusSecuencia' +import DTOChangeTripStatus from '../../DTOs/Operaciones/DTOChangeTripStatus' +import DTOResultTripStatus from '../../DTOs/Operaciones/DTOResultTripStatus' class OpViajesDataService { async Get() { - return await http.get("Operaciones/OpViajes/Get"); + return await http.get('Operaciones/OpViajes/Get') } - async GetAllServices() { - return await http.get("Operaciones/OpViajes/GetAllServices"); + async GetAllServices(Status: number) { + return await http.get( + `Operaciones/OpViajes/GetAllServices?Status=${Status}` + ) } async GetLastTrailerBox(idViaje: number) { - return await http.get(`Operaciones/OpViajes/GetLastTrailerBox?idViaje=${idViaje}`); + return await http.get( + `Operaciones/OpViajes/GetLastTrailerBox?idViaje=${idViaje}` + ) } async GetStatusSecuence() { - return await http.get(`Operaciones/OpViajes/GetStatusSecuence`); + return await http.get( + `Operaciones/OpViajes/GetStatusSecuence` + ) } async ChangeTripStatus(data: DTOChangeTripStatus) { - return await http.put(`Operaciones/OpViajes/ChangeTripStatus/${data.idViaje}`, data); + return await http.put( + `Operaciones/OpViajes/ChangeTripStatus/${data.idViaje}`, + data + ) } async Append(data: DTOViajes) { - return await http.post(`Operaciones/OpViajes/Append`,data); + return await http.post(`Operaciones/OpViajes/Append`, data) } async AppendServices(data: DTOViajesServicios) { - return await http.post(`Operaciones/OpViajes/AppendService`,data); + return await http.post( + `Operaciones/OpViajes/AppendService`, + data + ) } async Delete(id: number) { - return await http.delete(`Operaciones/OpViajes/Delete/${id}`); + return await http.delete(`Operaciones/OpViajes/Delete/${id}`) } async DeleteService(id: number) { - return await http.delete(`Operaciones/OpViajes/DeleteService/${id}`); + return await http.delete( + `Operaciones/OpViajes/DeleteService/${id}` + ) } } -export default new OpViajesDataService(); \ No newline at end of file +export default new OpViajesDataService() diff --git a/src/images/ajaxloader.gif b/src/images/ajaxloader.gif new file mode 100644 index 0000000000000000000000000000000000000000..a011d56bcc1d0fe624efa5d79c09bba8081872a8 GIT binary patch literal 42933 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 b1*Uk4rdW!ph>EP(imv#IsaT3@6c7MAHCHwR literal 0 HcmV?d00001