Agregar filtro de busqueda y tab para descargar los archivos de facturacion a la vista del cliente

feature/Vista_Cliente_Agregar_Filtro_Y_Tab_de_Facturacion_20240322
Felix Morales 6 months ago
parent 7e6e222dd4
commit 3a866b416b
  1. 25
      src/Components/Clientes/Traficos/RptClientesTraficos.tsx
  2. 98
      src/Components/Clientes/Traficos/TraficoCliente.tsx
  3. 2
      src/Components/Reportes/customCells/ClienteProgressBar.tsx
  4. 1
      src/DTO/Corresponsales/DTOFiltrosTraficosClientes.ts
  5. 2
      src/Services/Catalogos/Clientes.Services.ts

@ -32,7 +32,7 @@ import ClientesServices from '../../../Services/Catalogos/Clientes.Services'
import reportesServices from '../../../Services/Reportes/reportes.services'
import DTOFiltrosTraficosClientes from '../../../DTO/Corresponsales/DTOFiltrosTraficosClientes'
import TraficoCliente from './TraficoCliente'
import { AlenProgressBar } from '../../Reportes/customCells/AlenProgressBar'
import { ClienteProgressBar } from '../../Reportes/customCells/ClienteProgressBar'
/* import '../../css/generic01.css' */
interface IProps {}
@ -77,6 +77,7 @@ export default function RptClientesTraficos(props: IProps) {
const [Patente, setPatente] = useState(0);
const [Aduana, setAduana] = useState('0');
const [Referencia, setReferencia] = useState('')
const [Estado, setEstado] = useState(0)
const [Clientes, setClientes] = useState<Array<IClientes>>()
const [filtro, setFiltro] = useState('')
const gridRef = React.useRef<any>(null)
@ -93,7 +94,7 @@ export default function RptClientesTraficos(props: IProps) {
center: true,
sortable: true,
filter: true,
cellRenderer: AlenProgressBar,
cellRenderer: ClienteProgressBar,
},
{
field: 'folioGemco',
@ -264,7 +265,8 @@ export default function RptClientesTraficos(props: IProps) {
Aduana: Aduana,
Patente: Patente,
Referencia: Referencia,
IdUsuario: UserId
IdUsuario: UserId,
Estado: Estado
}
ClientesServices
.GetTraficos(data)
@ -454,6 +456,23 @@ export default function RptClientesTraficos(props: IProps) {
</Form.Control>
</Form.Label>
</Col>
<Col lg={2}>
<Form.Label style={{width:'100%', fontSize:'smaller'}}>
Estado
<Form.Control
as='select'
onChange={(e) => {
setEstado(parseInt(e.target.value))
}}
className='form-select form-select-sm'
>
<option value='0'>-SELECCIONE-</option>
<option value='1'>Por Terminar</option>
<option value='2'>Despachado Sin Facturar</option>
<option value='3'>Despachado y Facturado</option>
</Form.Control>
</Form.Label>
</Col>
{(Perfil !== "Corresponsales" && Perfil !== "Clientes")? <>
<Col lg={4}>
<Form.Label style={{width:'100%', fontSize:'smaller'}}>

@ -3114,6 +3114,104 @@ export default function TraficoCliente(props:IProps){
</Col>
</Row>
</Tab>
<Tab
eventKey="ComprobantesFacturacion"
title="Comprobantes Facturacion"
//tabClassName={Proceso >= 3 && Depto === 'Facturacion'? '' : 'd-none'}
>
<Card>
<Card.Body>
<Row>
<Col xs={6}>
<Form.Label>PDF Cuenta Mexicana</Form.Label>
</Col>
<Col xs={6}>
<Form.Label>XML Cuenta Mexicana</Form.Label>
</Col>
</Row>
<Row>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={37}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['pdf']}
Leyenda={`Seleccione el PDF para subirlo al servidor...`}
onAppendFM={function (idFile: number ): void {}}
/>
</Col>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={38}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['xml']}
Leyenda={`Seleccione el XML para subirlo al servidor...`}
onAppendFM={function (idFile: number): void {}}
/>
</Col>
</Row>
<Row>
<Col xs={6}>
<Form.Label>PDF de Notas de Cargos</Form.Label>
</Col>
<Col xs={6}>
<Form.Label>Archivos Adicionales</Form.Label>
</Col>
</Row>
<Row>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={41}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['pdf']}
Leyenda={`Seleccione el PDF de las notas de cargos para subirlo al servidor...`}
onAppendFM={function (idFile: number): void {
}}
/>
</Col>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={39}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['zip']}
Leyenda={`Seleccione el zip con los archivos adicionales para subirlo al servidor...`}
onAppendFM={function (idFile: number): void {
}}
/>
</Col>
</Row>
</Card.Body>
</Card>
</Tab>
</Tabs>
</Card.Body>
</Card>

@ -1,7 +1,7 @@
import { ICellRendererParams } from "ag-grid-community";
import { FC, useState, useEffect } from "react";
export const AlenProgressBar: FC<ICellRendererParams> = (props: ICellRendererParams) => {
export const ClienteProgressBar: FC<ICellRendererParams> = (props: ICellRendererParams) => {
const [Color, setColor] = useState('progress-bar bg-CORRESPONSAL_NORMAL')
useEffect(() => {

@ -9,4 +9,5 @@ export default interface DTOFiltrosTraficosClientes {
Patente: number;
Referencia: string;
IdUsuario: number;
Estado: number;
}

@ -35,7 +35,7 @@ class ClientesDataService {
}
GetTraficos(data: DTOFiltrosTraficosClientes){
return http.get<ICorresponsalTrafico[]>(`/Clientes/Traficos?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}&IdCorresponsal=${data.IdCorresponsal}&Pedimento=${data.Pedimento}&Aduana=${data.Aduana}&Patente=${data.Patente}&Referencia=${data.Referencia}&IdUsuario=${data.IdUsuario}`)
return http.get<ICorresponsalTrafico[]>(`/Clientes/Traficos?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}&IdCorresponsal=${data.IdCorresponsal}&Pedimento=${data.Pedimento}&Aduana=${data.Aduana}&Patente=${data.Patente}&Referencia=${data.Referencia}&IdUsuario=${data.IdUsuario}&Estado=${data.Estado}`)
}
}
export default new ClientesDataService();
Loading…
Cancel
Save