Se arreglo un detalle en el boton Excel

FraccionesVulneFronted
Luis Rendon 1 year ago
parent aa63b7d31e
commit 14577fd3cb
  1. 23
      src/Components/Catalogos/CatFraccionesVulnerables/CatFraccionesVulnerables.tsx

@ -4,7 +4,6 @@ import { IconContext } from 'react-icons'
import ICatFraccionesVulnerables from '../../../Interfaces/Catalogos/ICatFraccionesVulnerables' import ICatFraccionesVulnerables from '../../../Interfaces/Catalogos/ICatFraccionesVulnerables'
import FraccionesVulnerables from '../../../Services/Catalogos/FraccionesVulnerables' import FraccionesVulnerables from '../../../Services/Catalogos/FraccionesVulnerables'
import { useDispatch, useSelector } from 'react-redux' import { useDispatch, useSelector } from 'react-redux'
import { BsFileEarmarkExcel, BsFillPencilFill, BsSearch } from 'react-icons/bs' import { BsFileEarmarkExcel, BsFillPencilFill, BsSearch } from 'react-icons/bs'
import DataTable from 'react-data-table-component' import DataTable from 'react-data-table-component'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
@ -166,11 +165,6 @@ export default function CatFraccionesVulnerables(props: IProps) {
function deleteRow(id: number): void { function deleteRow(id: number): void {
FraccionesVulnerables.Delete(id) FraccionesVulnerables.Delete(id)
.then((response) => { .then((response) => {
// Una vez que obtengas la respuesta exitosa del servidor, puedes actualizar la tabla para reflejar el cambio.
// Podrías eliminar la fila directamente o marcarla como desactivada según tus necesidades.
// Por ejemplo, supongamos que en tu objeto ICatFraccionesVulnerables tienes una propiedad 'activo' que indica si la fila está activa o no.
// Podrías marcarla como desactivada al recibir la respuesta del servidor.
setData((prevData) => setData((prevData) =>
prevData.map((item) => prevData.map((item) =>
item.id === id ? { ...item, activo: 0 } : item item.id === id ? { ...item, activo: 0 } : item
@ -219,7 +213,7 @@ export default function CatFraccionesVulnerables(props: IProps) {
try { try {
const response = await uploadFile(newRecord) const response = await uploadFile(newRecord)
const newId = response.id // Asegúrate de usar el nombre correcto para el nuevo ID const newId = response.id
// Actualizar el estado local con el nuevo registro que incluye el nuevo ID // Actualizar el estado local con el nuevo registro que incluye el nuevo ID
const updatedRecord = { ...newRecord, id: newId } const updatedRecord = { ...newRecord, id: newId }
@ -273,12 +267,23 @@ export default function CatFraccionesVulnerables(props: IProps) {
const wb = XLSX.utils.book_new() const wb = XLSX.utils.book_new()
const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([]) const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([])
XLSX.utils.sheet_add_aoa(ws, Heading) XLSX.utils.sheet_add_aoa(ws, Heading)
XLSX.utils.sheet_add_json(ws, jsonData, { origin: 'A2', skipHeader: true })
// Transformar los valores de 'activo' en 'Si' o 'No' antes de agregarlos a la hoja de cálculo
const transformedData = jsonData.map((row) => ({
...row,
activo: row.activo === 1 ? 'Si' : 'No'
}))
XLSX.utils.sheet_add_json(ws, transformedData, {
origin: 'A2',
skipHeader: true
})
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1') XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')
XLSX.writeFile(wb, fileName + '.xlsx') XLSX.writeFile(wb, fileName + '.xlsx')
var range = XLSX.utils.decode_range(ws['!ref?']) var range = XLSX.utils.decode_range(ws['!ref?'])
for (var C = range.s.c; C <= range.e.c; ++C) { for (var C = range.s.c; C <= range.e.c; ++C) {
var address = XLSX.utils.encode_col(C) + '1' // <-- first row, column number C var address = XLSX.utils.encode_col(C) + '1'
if (!ws[address]) continue if (!ws[address]) continue
ws[address].v = ws[address].v.toUpperCase() ws[address].v = ws[address].v.toUpperCase()
} }

Loading…
Cancel
Save