Compare commits
2 Commits
6fa3bba918
...
52ba9c13d4
Author | SHA1 | Date |
---|---|---|
Luis Rendon | 52ba9c13d4 | 8 months ago |
Luis Rendon | 195449562c | 8 months ago |
@ -0,0 +1,125 @@ |
|||||||
|
import { useEffect, useState } from 'react' |
||||||
|
import { Button, Card, Col, Row } from 'react-bootstrap' |
||||||
|
import DataTable from 'react-data-table-component' |
||||||
|
import IConsolidadosSinFirmaBanco from '../../../../Interfaces/Facturacion/Anexo/IConsolidadosSinFirmaBanco' |
||||||
|
import DSOperaciones from '../../../../Services/Operaciones/Operaciones.Services' |
||||||
|
import * as XLSX from 'xlsx' |
||||||
|
import { BsFileEarmarkExcel } from 'react-icons/bs' |
||||||
|
|
||||||
|
export interface IRtpConsolidadosSinFirmaBancoProps {} |
||||||
|
|
||||||
|
export default function RtpConsolidadosSinFirmaBanco( |
||||||
|
props: IRtpConsolidadosSinFirmaBancoProps |
||||||
|
) { |
||||||
|
const [Data, setData] = useState<IConsolidadosSinFirmaBanco[]>([]) |
||||||
|
const [Total, setTotal] = useState(0) |
||||||
|
const columnsConcepts = [ |
||||||
|
{ |
||||||
|
name: 'Referencia', |
||||||
|
width: '150px', |
||||||
|
cell: (row: IConsolidadosSinFirmaBanco) => row.referencia, |
||||||
|
sortable: true |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: 'Fecha Pago', |
||||||
|
width: '250px', |
||||||
|
cell: (row: IConsolidadosSinFirmaBanco) => row.fechaPago, |
||||||
|
sortable: true |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: 'Fecha Validacion', |
||||||
|
width: '250px', |
||||||
|
cell: (row: IConsolidadosSinFirmaBanco) => row.firmaValidacion, |
||||||
|
sortable: true |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: 'Firma Banco', |
||||||
|
with: '250px', |
||||||
|
cell: (row: IConsolidadosSinFirmaBanco) => row.firmaBanco, |
||||||
|
sortable: true |
||||||
|
} |
||||||
|
] |
||||||
|
|
||||||
|
const downloadExcel = () => { |
||||||
|
exportExcel(Data, 'Consolidados sin firma de banco') |
||||||
|
} |
||||||
|
|
||||||
|
function exportExcel(jsonData: any[], fileName: string): void { |
||||||
|
let Heading = [ |
||||||
|
['Referencia', 'FechaPago', 'Fecha Validacion', 'Firma Banco'] |
||||||
|
] |
||||||
|
const wb = XLSX.utils.book_new() |
||||||
|
const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([]) |
||||||
|
XLSX.utils.sheet_add_aoa(ws, Heading) |
||||||
|
XLSX.utils.sheet_add_json(ws, jsonData, { origin: 'A2', skipHeader: true }) |
||||||
|
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1') |
||||||
|
XLSX.writeFile(wb, fileName + '.xlsx') |
||||||
|
var range = XLSX.utils.decode_range(ws['!ref?']) |
||||||
|
for (var C = range.s.c; C <= range.e.c; ++C) { |
||||||
|
var address = XLSX.utils.encode_col(C) + '1' // <-- first row, column number C
|
||||||
|
if (!ws[address]) continue |
||||||
|
ws[address].v = ws[address].v.toUpperCase() |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
const generaReporte = () => { |
||||||
|
DSOperaciones.OperacionesSinFirmaBancoGet() |
||||||
|
.then((response) => { |
||||||
|
setData(response.data) |
||||||
|
setTotal(response.data.length) |
||||||
|
}) |
||||||
|
.catch((e: Error) => { |
||||||
|
console.log(e) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
useEffect(() => { |
||||||
|
generaReporte() |
||||||
|
}, []) |
||||||
|
|
||||||
|
return ( |
||||||
|
<div> |
||||||
|
<Card> |
||||||
|
<Card.Body> |
||||||
|
<Card.Title> |
||||||
|
<Row> |
||||||
|
<Col xs={3}>Consolidados sin firma banco : {Total} registros</Col> |
||||||
|
<Col xs={8}></Col> |
||||||
|
<Col xs={1} className="colAlignRight"> |
||||||
|
<Button |
||||||
|
size="sm" |
||||||
|
variant="success" |
||||||
|
onClick={() => { |
||||||
|
downloadExcel() |
||||||
|
}} |
||||||
|
> |
||||||
|
<BsFileEarmarkExcel /> |
||||||
|
Excel |
||||||
|
</Button> |
||||||
|
</Col> |
||||||
|
</Row> |
||||||
|
</Card.Title> |
||||||
|
<Row> |
||||||
|
<Col xs={12}> |
||||||
|
<DataTable |
||||||
|
dense |
||||||
|
noHeader |
||||||
|
defaultSortFieldId={'cliente'} |
||||||
|
defaultSortAsc={true} |
||||||
|
fixedHeaderScrollHeight="550px" |
||||||
|
striped={true} |
||||||
|
fixedHeader |
||||||
|
/* paginationPerPage={10} |
||||||
|
pagination */ |
||||||
|
highlightOnHover |
||||||
|
columns={columnsConcepts} |
||||||
|
data={Data} |
||||||
|
pointerOnHover |
||||||
|
/> |
||||||
|
</Col> |
||||||
|
</Row> |
||||||
|
</Card.Body> |
||||||
|
</Card> |
||||||
|
</div> |
||||||
|
) |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
export default interface IConsolidadosSinFirmaBanco{ |
||||||
|
referencia: string,
|
||||||
|
fechaPago: string,
|
||||||
|
firmaValidacion: string,
|
||||||
|
firmaBanco: string |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue