cambiar perfil de validacion para captura de corresponsal

feature/ConsolidarPedimentos_20231229
Felix Morales 12 months ago
parent 1d45606cf3
commit 37a86e86a3
  1. 17
      src/Components/Clientes/Clientes.tsx
  2. 86
      src/Components/Corresponsales/TraficoCorresponsales.tsx
  3. 4
      src/Components/Login/login.tsx
  4. 54
      src/Components/Reportes/Embarques/ReportesEmbarques.tsx
  5. 6
      src/Components/Reportes/RptCorresponsalesTraficos.tsx
  6. 22
      src/Components/Utils/SideBar/SideBar.tsx
  7. 2
      src/index.tsx

@ -0,0 +1,17 @@
import React from "react";
import { SideBarMenu } from "../Utils/SideBar/SideBar";
import { Outlet, Route, Routes } from "react-router-dom";
export const ClientesExternos: React.FC = () => {
return (
<>
<div className="container-fluid m-1">
<div className="row flex-nowrap">
<SideBarMenu/>
<Outlet/>
</div>
</div>
</>
)
}

@ -859,7 +859,7 @@ export default function TraficoCorresponsales (props:IProps) {
setChangePermission(true) setChangePermission(true)
} else if (Depto === 'Corresponsalias' && Proceso > 1) { } else if (Depto === 'Corresponsalias' && Proceso > 1) {
setChangePermission(false) setChangePermission(false)
} else if (Perfil === 'heineken' && Proceso <= 1){ } else if (Perfil === 'Corresponsales' && Proceso <= 1){
setChangePermission(true) setChangePermission(true)
}else setChangePermission(false) }else setChangePermission(false)
} }
@ -1364,27 +1364,29 @@ export default function TraficoCorresponsales (props:IProps) {
} }
const getCentroCostos = (idCliente: number, clientes: IClientes[]) => { const getCentroCostos = (idCliente: number, clientes: IClientes[]) => {
if(idCliente > 0){ if(Perfil === "Corresponsales"){
CentrosCostosService.get(idCliente) if(idCliente > 0){
.then(response => { CentrosCostosService.get(idCliente)
setCentroCostos(response.data.centroCostos) .then(response => {
setClaveClienteFacturacion(response.data.clienteFacturacion); setCentroCostos(response.data.centroCostos)
setClaveClienteFacturacion(response.data.clienteFacturacion);
if(response.data.clienteFacturacion !== 0 && response.data.clienteFacturacion !== idCliente){
let cliente = clientes!.filter(x => x.sClave === response.data.clienteFacturacion)[0]; if(response.data.clienteFacturacion !== 0 && response.data.clienteFacturacion !== idCliente){
let nombreCliente = cliente.sRazonSocial.split('|')[0].trim() let cliente = clientes!.filter(x => x.sClave === response.data.clienteFacturacion)[0];
setNombreClienteFacturacion(nombreCliente); let nombreCliente = cliente.sRazonSocial.split('|')[0].trim()
setRfcClienteFacturacion(cliente.sRFC); setNombreClienteFacturacion(nombreCliente);
} setRfcClienteFacturacion(cliente.sRFC);
return }
}) return
.catch((e: Error) => { })
setCentroCostos(''); setClaveClienteFacturacion(0); setNombreClienteFacturacion(''); setRfcClienteFacturacion(''); .catch((e: Error) => {
setHeader('Error') setCentroCostos(''); setClaveClienteFacturacion(0); setNombreClienteFacturacion(''); setRfcClienteFacturacion('');
setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.') setHeader('Error')
setShowMsg(true) setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.')
return setShowMsg(true)
}); return
});
}
} }
} }
@ -1747,7 +1749,7 @@ export default function TraficoCorresponsales (props:IProps) {
</Card> </Card>
<br /> <br />
<Tabs <Tabs
defaultActiveKey= {Perfil === 'heineken'? "InformacionCorresponsal" : "InformacionGeneral"} defaultActiveKey= {Perfil === 'Corresponsales'? "InformacionCorresponsal" : "InformacionGeneral"}
id="uncontrolled-tab-example" id="uncontrolled-tab-example"
className="mb-3" className="mb-3"
style={{visibility: IDTrafico !== 0 ? 'visible' : 'hidden'}} style={{visibility: IDTrafico !== 0 ? 'visible' : 'hidden'}}
@ -1756,7 +1758,7 @@ export default function TraficoCorresponsales (props:IProps) {
eventKey="InformacionGeneral" eventKey="InformacionGeneral"
title="Informacion general" title="Informacion general"
id="TabInformacionGeneral" id="TabInformacionGeneral"
tabClassName={Perfil === 'heineken' ? 'd-none' : ''} tabClassName={Perfil === 'Corresponsales' ? 'd-none' : ''}
> >
<Card <Card
style={{ visibility: IDTrafico !== 0 ? 'visible' : 'hidden' }} style={{ visibility: IDTrafico !== 0 ? 'visible' : 'hidden' }}
@ -2840,7 +2842,7 @@ export default function TraficoCorresponsales (props:IProps) {
<Tab <Tab
eventKey="InformacionAdicional" eventKey="InformacionAdicional"
title="Informacion adicional" title="Informacion adicional"
tabClassName={mCFacturas.length >= 2 && Perfil !== 'heineken' ? '' : 'd-none'} tabClassName={mCFacturas.length >= 2 && Perfil !== 'Corresponsales' ? '' : 'd-none'}
> >
<Card> <Card>
<Card.Body> <Card.Body>
@ -3331,7 +3333,7 @@ export default function TraficoCorresponsales (props:IProps) {
id="FechaEntrada" id="FechaEntrada"
size="sm" size="sm"
value={FEntrada} value={FEntrada}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onChange={(e) => setFEntrada(e.target.value)} onChange={(e) => setFEntrada(e.target.value)}
/> />
</Col> </Col>
@ -3342,7 +3344,7 @@ export default function TraficoCorresponsales (props:IProps) {
id="FechaRevalidacionGuia" id="FechaRevalidacionGuia"
size="sm" size="sm"
value={FRevalidacionGuia} value={FRevalidacionGuia}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onChange={(e) => setFRevalidacionGuia(e.target.value)} onChange={(e) => setFRevalidacionGuia(e.target.value)}
/> />
</Col> </Col>
@ -3373,7 +3375,7 @@ export default function TraficoCorresponsales (props:IProps) {
<Col> <Col>
<CurrencyFormat <CurrencyFormat
value={Fletes} value={Fletes}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
thousandSeparator={true} thousandSeparator={true}
onValueChange={(values: any) => { onValueChange={(values: any) => {
const { value } = values const { value } = values
@ -3405,7 +3407,7 @@ export default function TraficoCorresponsales (props:IProps) {
<CurrencyFormat <CurrencyFormat
value={Seguros} value={Seguros}
thousandSeparator={true} thousandSeparator={true}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onValueChange={(values: any) => { onValueChange={(values: any) => {
const { value } = values const { value } = values
setSeguros(value) setSeguros(value)
@ -3436,7 +3438,7 @@ export default function TraficoCorresponsales (props:IProps) {
<CurrencyFormat <CurrencyFormat
value={Embalaje} value={Embalaje}
thousandSeparator={true} thousandSeparator={true}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onValueChange={(values: any) => { onValueChange={(values: any) => {
const { value } = values const { value } = values
setEmbalaje(value) setEmbalaje(value)
@ -3467,7 +3469,7 @@ export default function TraficoCorresponsales (props:IProps) {
<CurrencyFormat <CurrencyFormat
value={Otros} value={Otros}
thousandSeparator={true} thousandSeparator={true}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onValueChange={(values: any) => { onValueChange={(values: any) => {
const { value } = values const { value } = values
setOtros(value) setOtros(value)
@ -3514,7 +3516,7 @@ export default function TraficoCorresponsales (props:IProps) {
id="FechaInicioGastosAlmacenaje" id="FechaInicioGastosAlmacenaje"
size="sm" size="sm"
value={FAlmacenajeInicioGastos} value={FAlmacenajeInicioGastos}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onChange={(e) => onChange={(e) =>
setFAlmacenajeInicioGastos(e.target.value) setFAlmacenajeInicioGastos(e.target.value)
} }
@ -3525,7 +3527,7 @@ export default function TraficoCorresponsales (props:IProps) {
<CurrencyFormat <CurrencyFormat
value={CostoDiario} value={CostoDiario}
thousandSeparator={true} thousandSeparator={true}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onValueChange={(values: any) => { onValueChange={(values: any) => {
const { value } = values const { value } = values
setCostoDiario(value) setCostoDiario(value)
@ -3556,7 +3558,7 @@ export default function TraficoCorresponsales (props:IProps) {
<CurrencyFormat <CurrencyFormat
value={TotalPagar} value={TotalPagar}
thousandSeparator={true} thousandSeparator={true}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onValueChange={(values: any) => { onValueChange={(values: any) => {
const { value } = values const { value } = values
setTotalPagar(value) setTotalPagar(value)
@ -3636,7 +3638,7 @@ export default function TraficoCorresponsales (props:IProps) {
id="FechaDespacho" id="FechaDespacho"
size="sm" size="sm"
value={FDespacho} value={FDespacho}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onChange={(e) => setFDespacho(e.target.value)} onChange={(e) => setFDespacho(e.target.value)}
/> />
</Col> </Col>
@ -3650,7 +3652,7 @@ export default function TraficoCorresponsales (props:IProps) {
as="select" as="select"
className="form-select form-select-sm" className="form-select form-select-sm"
value={Estatus} value={Estatus}
disabled={Depto !== 'Corresponsalias' && Perfil !== 'heineken'} disabled={Depto !== 'Corresponsalias' && Perfil !== 'Corresponsales'}
onChange={(e) => { onChange={(e) => {
setEstatus(parseInt(e.target.value)) setEstatus(parseInt(e.target.value))
}} }}
@ -3675,7 +3677,7 @@ export default function TraficoCorresponsales (props:IProps) {
<Col xs={12}> <Col xs={12}>
<Partidas <Partidas
IDTrafico={IDTrafico} IDTrafico={IDTrafico}
canEdit={Depto === 'Corresponsalias' || Perfil === 'heineken'} canEdit={Depto === 'Corresponsalias' || Perfil === 'Corresponsales'}
/> />
</Col> </Col>
</Row> </Row>
@ -3704,7 +3706,7 @@ export default function TraficoCorresponsales (props:IProps) {
IdFile={IDTrafico} IdFile={IDTrafico}
FileName={''} FileName={''}
canDelete={ canDelete={
Depto === 'Corresponsalias' && Perfil !== 'heineken' Depto === 'Corresponsalias' && Perfil !== 'Corresponsales'
} }
FileType={['pdf']} FileType={['pdf']}
setBackgroundColor={c.id} setBackgroundColor={c.id}
@ -3733,7 +3735,7 @@ export default function TraficoCorresponsales (props:IProps) {
IDTrafico={IDTrafico} IDTrafico={IDTrafico}
Proceso={10} Proceso={10}
showPreview={1} showPreview={1}
canEdit={Depto === 'Corresponsalias' || Perfil === 'heineken'} canEdit={Depto === 'Corresponsalias' || Perfil === 'Corresponsales'}
Leyenda={'Selecciones las imagenes de previo...'} Leyenda={'Selecciones las imagenes de previo...'}
/> />
</Col> </Col>
@ -3742,7 +3744,7 @@ export default function TraficoCorresponsales (props:IProps) {
<Tab <Tab
eventKey="CuentasComplementarias" eventKey="CuentasComplementarias"
title="Cuentas complementarias" title="Cuentas complementarias"
tabClassName={Perfil === 'heineken' ? 'd-none' : ''} tabClassName={Perfil === 'Corresponsales' ? 'd-none' : ''}
> >
<Row> <Row>
<Col xs={12}> <Col xs={12}>
@ -3756,7 +3758,7 @@ export default function TraficoCorresponsales (props:IProps) {
<Tab <Tab
eventKey="Rectificaciones" eventKey="Rectificaciones"
title="Rectificaciones" title="Rectificaciones"
tabClassName={Perfil === 'heineken' ? 'd-none' : ''} tabClassName={Perfil === 'Corresponsales' ? 'd-none' : ''}
> >
{/* <Card> {/* <Card>
<Row> <Row>
@ -3883,7 +3885,7 @@ export default function TraficoCorresponsales (props:IProps) {
<div style={{ height: '350px', overflow: 'scroll' }}> <div style={{ height: '350px', overflow: 'scroll' }}>
<Partidas <Partidas
IDTrafico={IDTrafico} IDTrafico={IDTrafico}
canEdit={Depto === 'Corresponsalias' || Perfil === 'heineken'} canEdit={Depto === 'Corresponsalias' || Perfil === 'Corresponsales'}
/> />
</div> </div>
) : null} ) : null}

@ -55,8 +55,10 @@ export const Login: React.FC<{}> = () => {
localStorage.setItem('UserType', JSON.stringify(values.UserType)) localStorage.setItem('UserType', JSON.stringify(values.UserType))
localStorage.setItem('Perfil', JSON.stringify(values.Perfil)) localStorage.setItem('Perfil', JSON.stringify(values.Perfil))
dispatch(logued(true)) dispatch(logued(true))
if(values.Perfil === 'heineken'){ if(values.Perfil === 'Corresponsales'){
navigate('/RptCorresponsalesTraficos/proc=1/modo=1') navigate('/RptCorresponsalesTraficos/proc=1/modo=1')
}else if(values.Perfil === 'Clientes'){
navigate('/Clientes')
}else{ }else{
navigate('/') navigate('/')
} }

@ -0,0 +1,54 @@
import React from 'react';
import { Card, Tab, Tabs } from 'react-bootstrap';
export const ReportesEmbarques: React.FC = () => {
return (
<Card>
<Card.Body>
<Tabs
id="uncontrolled-tab-example"
className="mb-3"
>
<Tab
eventKey="EmbarquesPorImportar"
title="Embarques por importar"
id="TabEmbarquesPorImportar"
>
<Card>
<Card.Body>
Aqui van los elementos para actualizar, descargar y filtrar los registros
</Card.Body>
</Card>
<Card>
<Card.Body>
</Card.Body>
</Card>
</Tab>
<Tab
eventKey="EmbarquesDespachados"
title="Embarques Despachados"
id="TabEmbarquesdespachados"
>
<Card>
<Card.Body>
Reporte de embarques despachados
</Card.Body>
</Card>
</Tab>
<Tab
eventKey="BuscarEmbarques"
title="Buscar Embarques"
id="TabBuscarEmbarques"
>
<Card>
<Card.Body>
Buscador de embarques
</Card.Body>
</Card>
</Tab>
</Tabs>
</Card.Body>
</Card>
)
}

@ -56,6 +56,10 @@ export default function RptCorresponsalesTraficos(props: IProps) {
const stickyValue = window.localStorage.getItem('Departamento') const stickyValue = window.localStorage.getItem('Departamento')
return stickyValue !== null ? JSON.parse(stickyValue) : '' return stickyValue !== null ? JSON.parse(stickyValue) : ''
}) })
const [Perfil, setPerfil] = useState(() => {
const stickyValue = window.localStorage.getItem('Perfil')
return stickyValue !== null ? JSON.parse(stickyValue) : ''
})
const queryParams = new URLSearchParams(window.location.search) const queryParams = new URLSearchParams(window.location.search)
const status = queryParams.get('status') const status = queryParams.get('status')
const [StatusAnticipos, setStatusAnticipos] = useState( const [StatusAnticipos, setStatusAnticipos] = useState(
@ -597,7 +601,7 @@ export default function RptCorresponsalesTraficos(props: IProps) {
</Form.Control> </Form.Control>
</Form.Label> </Form.Label>
</Col> </Col>
{(Depto === 'Corresponsalias' || Depto === 'Sistemas')? <> {(Perfil !== "Corresponsales")? <>
<Col lg={4}> <Col lg={4}>
<Form.Label style={{width:'100%', fontSize:'smaller'}}> <Form.Label style={{width:'100%', fontSize:'smaller'}}>
Cliente Cliente

@ -0,0 +1,22 @@
import React from "react";
import { BsFileEarmarkText } from "react-icons/bs";
import { Link } from "react-router-dom";
export const SideBarMenu: React.FC = () => {
return (
<>
<div className="col-auto col-md-3 col-xl-2 px-sm-2 px-0" style={{backgroundColor:'#2d343c'}}>
<div className="d-flex flex-column align-items-center align-items-sm-start px-3 pt-2 text-white">
<ul className="nav nav-pills flex-column mb-sm-auto mb-0 align-items-center align-items-sm-start" id="menu">
<li className="nav-item p-2 pt-4">
<Link to="/ReporteEmbarques" className="nav-link align-middle px-0 text-white">
<BsFileEarmarkText/>
<span className="ms-1 d-none d-sm-inline">Reporte de Embarques</span>
</Link>
</li>
</ul>
</div>
</div>
</>
);
}

@ -23,6 +23,7 @@ import ResetCredentials from './Components/Login/ResetCredentials'
import { ReporteSemanalNewell } from './Components/ReportesClientes/ReporteSemanalNewel' import { ReporteSemanalNewell } from './Components/ReportesClientes/ReporteSemanalNewel'
import { ReporteMensualNewell } from './Components/ReportesClientes/ReporteMensualNewell' import { ReporteMensualNewell } from './Components/ReportesClientes/ReporteMensualNewell'
import { CatCentroConstos } from './Components/Catalogos/CatCentroCostos/CatCentroCostos' import { CatCentroConstos } from './Components/Catalogos/CatCentroCostos/CatCentroCostos'
import { ReportesEmbarques } from './Components/Reportes/Embarques/ReportesEmbarques'
require (`./css/${process.env.REACT_APP_ENVIRONMENT}-home.css`) require (`./css/${process.env.REACT_APP_ENVIRONMENT}-home.css`)
function PageNotFound() { function PageNotFound() {
@ -77,6 +78,7 @@ root.render(
<Route path='newellSemanal' element={<ReporteSemanalNewell/>}/> <Route path='newellSemanal' element={<ReporteSemanalNewell/>}/>
<Route path='newellMensual' element={<ReporteMensualNewell/>}/> <Route path='newellMensual' element={<ReporteMensualNewell/>}/>
<Route path='CentroCostos' element={<CatCentroConstos/>}/> <Route path='CentroCostos' element={<CatCentroConstos/>}/>
<Route path='ReportesEmbarques' element={<ReportesEmbarques/>}/>
</Route> </Route>
</Routes> </Routes>
</HashRouter> </HashRouter>

Loading…
Cancel
Save