diff --git a/src/Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar.tsx b/src/Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar.tsx index 27cd740..714d892 100644 --- a/src/Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar.tsx +++ b/src/Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar.tsx @@ -35,7 +35,7 @@ export default function RtpConsolidadosSinCerrar( ] const downloadExcel = () => { - exportExcel(Data, 'Relacion Mission') + exportExcel(Data, 'Consolidados sin cerrar') } function exportExcel(jsonData: any[], fileName: string): void { diff --git a/src/Components/GEMCO/Facturacion/Anexo/RptRelacionAlen.tsx b/src/Components/GEMCO/Facturacion/Anexo/RptRelacionAlen.tsx index 85b869f..c84b5c5 100644 --- a/src/Components/GEMCO/Facturacion/Anexo/RptRelacionAlen.tsx +++ b/src/Components/GEMCO/Facturacion/Anexo/RptRelacionAlen.tsx @@ -8,6 +8,7 @@ import DTOAnexoFacturacionMission from '../../../../DTO/Facturacion/Anexo/DTOAne import IAnexoFacturacionAlen from '../../../../Interfaces/Facturacion/Anexo/IAnexoFacturacionAlen' import DSAnexoFacturacion from '../../../../Services/Facturacion/Anexo/Anexo.Facturacion.Services' import DTOAnexoFacturacionAlen from '../../../../DTO/Facturacion/Anexo/DTOAnexoFacturacionAlen' +import * as CurrencyFormat from 'react-currency-format' export interface IRptRelacionAlenProps {} @@ -24,114 +25,121 @@ export default function RptRelacionAlen(props: IRptRelacionAlenProps) { name: 'Referencia', width: '110px', cell: (row: IAnexoFacturacionAlen) => row.sReferencia, - sortable: true, + sortable: true }, { name: 'Remesa', width: '90px', cell: (row: IAnexoFacturacionAlen) => row.remesa, - sortable: true, + sortable: true }, { name: 'Entrega', width: '200px', cell: (row: IAnexoFacturacionAlen) => row.entrega, - sortable: true, + sortable: true }, { name: 'Numero', width: '180px', cell: (row: IAnexoFacturacionAlen) => row.sNumero, - sortable: true, + sortable: true }, { name: 'Fecha', width: '100px', cell: (row: IAnexoFacturacionAlen) => row.dFecha, - sortable: true, + sortable: true }, { name: 'eDocument', width: '140px', cell: (row: IAnexoFacturacionAlen) => row.sEDocument, - sortable: true, + sortable: true }, { name: 'Val factura', width: '105px', cell: (row: IAnexoFacturacionAlen) => row.valorFactura, - sortable: true, + sortable: true }, { name: 'Pedimento', width: '110px', cell: (row: IAnexoFacturacionAlen) => row.sPedimento, - sortable: true, + sortable: true }, { name: 'Cruce', width: '150px', cell: (row: IAnexoFacturacionAlen) => row.cruce, - sortable: true, + sortable: true }, { name: 'Semaforo', width: '125px', cell: (row: IAnexoFacturacionAlen) => row.semaforo, - sortable: true, + sortable: true }, { name: 'Fecha Cta Corresponsal', width: '125px', cell: (row: IAnexoFacturacionAlen) => row.fechaCtaCorresponsal, - sortable: true, + sortable: true }, { name: 'Honorarios', width: '110px', - cell: (row: IAnexoFacturacionAlen) => (Math.round(row.honorarios * 100) / 100).toFixed(2), - sortable: true, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.honorarios * 100) / 100).toFixed(2), + sortable: true }, { name: 'Maniobras', width: '120px', - cell: (row: IAnexoFacturacionAlen) => (Math.round(row.maniobras * 100) / 100).toFixed(2), - sortable: true, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.maniobras * 100) / 100).toFixed(2), + sortable: true }, { name: 'Validacion', width: '120px', - cell: (row: IAnexoFacturacionAlen) => (Math.round(row.validacion * 100) / 100).toFixed(2), - sortable: true, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.validacion * 100) / 100).toFixed(2), + sortable: true }, { name: 'Prevalidacion', width: '120px', - cell: (row: IAnexoFacturacionAlen) => (Math.round(row.prevalidacion * 100) / 100).toFixed(2), - sortable: true, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.prevalidacion * 100) / 100).toFixed(2), + sortable: true }, { name: 'Coordinacion', width: '120px', - cell: (row: IAnexoFacturacionAlen) =>(Math.round(row.coordinacion * 100) / 100).toFixed(2), - sortable: true, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.coordinacion * 100) / 100).toFixed(2), + sortable: true }, { name: 'IVA', width: '120px', - cell: (row: IAnexoFacturacionAlen) => (Math.round(row.iva * 100) / 100).toFixed(2), - sortable: true, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.iva * 100) / 100).toFixed(2), + sortable: true }, { name: 'Total MN', width: '120px', - cell: (row: IAnexoFacturacionAlen) => (Math.round(row.totalMN * 100) / 100).toFixed(2), - sortable: true, - }, + cell: (row: IAnexoFacturacionAlen) => + (Math.round(row.totalMN * 100) / 100).toFixed(2), + sortable: true + } ] const downloadExcel = () => { - exportExcel(Data, 'Relacion Alen '+Referencia) + exportExcel(Data, 'Relacion Alen ' + Referencia) } function exportExcel(jsonData: any[], fileName: string): void { @@ -155,7 +163,7 @@ export default function RptRelacionAlen(props: IRptRelacionAlenProps) { 'Coordinacion', 'IVA', 'Total MN' - ], + ] ] const wb = XLSX.utils.book_new() const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([]) @@ -177,7 +185,7 @@ export default function RptRelacionAlen(props: IRptRelacionAlenProps) { nHonorarios: Honorarios, nValidacion: Validacion, nPrevalidacion: Prevalidacion, - nCoordinacion: Coordinacion, + nCoordinacion: Coordinacion } DSAnexoFacturacion.GetAlen(data) .then((response) => { @@ -197,12 +205,14 @@ export default function RptRelacionAlen(props: IRptRelacionAlenProps) { - Relacion Alen : {Total>0 ? Total-1 : Total} registros + + Relacion Alen : {Total > 0 ? Total - 1 : Total} registros + - + + @@ -320,19 +490,34 @@ export function Notificaciones(props: INotificacionesProps) { - Contactos - { - setShowModal(!ShowModal) - }} - > - - - - + + + Contactos + { + setShowModal(!ShowModal) + }} + > + + + + + + + { + setFiltro(e.target.value) + console.log(Filtro) + }} + /> + + @@ -347,7 +532,19 @@ export function Notificaciones(props: INotificacionesProps) { highlightOnHover selectableRows columns={colContactos} - data={Contactos.filter(obj1 => !ContactosdelGrupo.some(obj2 => obj1.id === obj2.id))} + data={Contactos.filter( + (obj1) => + !ContactosdelGrupo.some( + (obj2) => obj1.id === obj2.id + ) + ).filter(function (row) { + return ( + row.celular.includes(Filtro) || + row.nombre.includes(Filtro) || + row.puesto.includes(Filtro) || + row.empresa.includes(Filtro) + ) + })} pointerOnHover onSelectedRowsChange={handleRowSelected} /> @@ -400,7 +597,21 @@ export function Notificaciones(props: INotificacionesProps) { - Contactos en el grupo + + + Contactos en el grupo + + { + setFiltroEnGrupo(e.target.value) + }} + /> + + + @@ -472,7 +690,7 @@ export function Notificaciones(props: INotificacionesProps) { - + - + + + { + setPais(e.target.value) + }} + > + + + + + + { setCelular(e.target.value) @@ -536,7 +770,7 @@ export function Notificaciones(props: INotificacionesProps) { - + + + + + + (`/Notificaciones/SendWhattsapp?IdConcepto=${IdConcepto}&Concepto=${Concepto}&Grupo=${Grupo}`); + } ContactosAppend(data: INotificacionesContactos) { return http.post(`/Notificaciones/Contacto/Append`, data); } @@ -24,7 +28,12 @@ class CorresponsalesDataService { ContactosdelGrupoGet(IdGrupo: number) { return http.get(`/Notificaciones/ContactosdelGrupo/Get?idGrupo=${IdGrupo}`); } - + Conceptos$Get() { + return http.get(`/Notificaciones/Catalogo/Conceptos/Get`); + } + Conceptos$Append(data: INotificacionesConceptos) { + return http.post(`/Notificaciones/Catalogo/Conceptos/Append`, data); + } } export default new CorresponsalesDataService(); \ No newline at end of file diff --git a/src/css/autoComplete.css b/src/css/autoComplete.css new file mode 100644 index 0000000..78a5cec --- /dev/null +++ b/src/css/autoComplete.css @@ -0,0 +1,54 @@ +.mainDiv { + /* padding-top: 50px; */ + font-family: sans-serif; + text-align: left; + /*width: 300px;*/ + /*margin: 0 auto;*/ +} + +.typeahead-form-group { + position: relative; + z-index: 1000; +} + +.typeahead-form-group1 { + position: relative; + z-index: 999; +} + +.typeahead-form-group2 { + position: relative; + z-index: 998; +} + +.typeahead-form-group3 { + position: relative; + z-index: 998; +} + +.typeahead-list-group4 { + position: absolute; + width: 100%; + top: 38px; + left: 0; +} + +.typeahead-list-group-item { + /* padding: 0.3rem 1.3rem; */ + background-color: rgb(228, 243, 240); +} + +.typeahead-list-group-item:hover { + cursor: pointer; + background: #2d4ddc; + color: #fff; +} + +.textBoxViaje { + z-index: 100; +} + +.textField { + margin-right: 0px !important; + padding-right: 0px; +}