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)
+ }}
+
+ >
+
+
+
+
+
+ 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 0000000..a011d56
Binary files /dev/null and b/src/images/ajaxloader.gif differ
|