diff --git a/src/Components/Corresponsales/Anticipos/Anticipos.tsx b/src/Components/Corresponsales/Anticipos/Anticipos.tsx index 8d12df8..6b68bfc 100644 --- a/src/Components/Corresponsales/Anticipos/Anticipos.tsx +++ b/src/Components/Corresponsales/Anticipos/Anticipos.tsx @@ -28,10 +28,11 @@ import { useDispatch, useSelector } from 'react-redux' import { RootState } from '../../../store/store' import { AgGridReact } from 'ag-grid-react' import { RowClickedEvent } from 'ag-grid-community' -import { BiCoinStack } from 'react-icons/bi' +import { BiCoinStack, BiDownload } from 'react-icons/bi' import CurrencyFormat from 'react-currency-format' import FileManager from '../../Utils/FileManager/FileManager' import DTOAnticiposAutoriza from '../../../DTO/Corresponsales/DTOAnticiposAutoriza' +import CorresponsalesAnticiposServices from '../../../Services/Corresponsalias/Corresponsales.Anticipos.Services' interface ItemList { id: number @@ -40,8 +41,10 @@ interface ItemList { interface IProps { IDTrafico: number + FolioTrafico: string closeCRUDItems: (arg: boolean) => void canDelete: boolean + canUseActions: boolean } export const Anticipos: FC = (props) => { @@ -73,7 +76,7 @@ export const Anticipos: FC = (props) => { const btnSaveRef = React.useRef(null) const [deleteFile, setDeleteFile] = useState(false) const [columnDefs] = useState([ - Depto === 'Corresponsalias' + props.canUseActions ? { field: 'id', headerName: 'Acciones', @@ -82,6 +85,7 @@ export const Anticipos: FC = (props) => { filter: true, cellRenderer: (params: any) => { return ( + Depto === 'Corresponsalias' ?
= (props) => { /> : "" } +
: +
+ + { + downloadAnticipo(params.data.id, params.data.concepto) + }} + style={{ cursor: 'pointer' }} + /> +
) }, @@ -374,6 +388,24 @@ export const Anticipos: FC = (props) => { const result = mCAnticipos.filter((row) => row.id > 0 && row.idTrafico === props.IDTrafico) }, [mCAnticipos]) + const downloadAnticipo = (idAnticipo: number, concepto: string) => { + CorresponsalesAnticiposServices.DownloadAnticipo(props.IDTrafico, idAnticipo) + .then((response) => { + const url = window.URL.createObjectURL(new Blob([response.data])); + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', `Anticipo_${concepto}_${props.FolioTrafico}.pdf`); + document.body.appendChild(link); + link.click(); + }) + .catch((error) => { + setHeader('Error') + setMsg('Ocurrio un error al generar el archivo. Por favor, intentelo de nuevo.') + setShowMsg(true) + return + }) + } + return (
@@ -473,7 +505,7 @@ export const Anticipos: FC = (props) => { -
+
p.id !== 0)} columnDefs={columnDefs} diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx index 3707e73..0265d41 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -118,7 +118,6 @@ import CentrosCostosService from '../../Services/Catalogos/CentrosCostos.Service import ClavesPedimentosService from '../../Services/Catalogos/ClavesPedimentos.Service' import { ICatClavesPedimentos } from '../../Interfaces/Catalogos/ICatClavesPedimentos' import FileManagerServices from '../../Services/Utils/FileManager.Services' -import { BiDownload } from 'react-icons/bi' import CorresponsalesAnticiposServices from '../../Services/Corresponsalias/Corresponsales.Anticipos.Services' interface IProps { @@ -1468,19 +1467,6 @@ export default function TraficoCorresponsales (props:IProps) { link.click(); } - const downloadAnticipos = () => { - CorresponsalesAnticiposServices.DownloadAnticipos(IDTrafico) - .then((response) => { - downloadFile(response.data, `Anticipos_${FolioTrafico}.pdf`) - }) - .catch((error) => { - setHeader('Error') - setMsg('Ocurrio un error al generar el archivo. Por favor, intentelo de nuevo.') - setShowMsg(true) - return - }) - } - return (
@@ -2580,25 +2566,18 @@ export default function TraficoCorresponsales (props:IProps) { - -
{ - showModalBox(9) - }} - style={{ cursor: 'pointer', display:'inline-block' }} - > - - - -  {LblAnticipos} -
  + { + showModalBox(9) + }} + style={{ cursor: 'pointer' }} + > - downloadAnticipos()} style={{ cursor: 'pointer'}}/> + +  {LblAnticipos} @@ -4230,13 +4209,15 @@ export default function TraficoCorresponsales (props:IProps) {
) : null} {LoadComponent === 9 ? ( -
+
) : null} diff --git a/src/Services/Corresponsalias/Corresponsales.Anticipos.Services.ts b/src/Services/Corresponsalias/Corresponsales.Anticipos.Services.ts index 448c0cd..e2eb2eb 100644 --- a/src/Services/Corresponsalias/Corresponsales.Anticipos.Services.ts +++ b/src/Services/Corresponsalias/Corresponsales.Anticipos.Services.ts @@ -16,8 +16,8 @@ class CorresponsalesDataService { Autoriza(data: DTOAnticiposAutoriza) { return http.post("/Corresponsalias/Anticipos/Autoriza", data); } - DownloadAnticipos(IdTrafico: number){ - return http.get(`/Corresponsalias/Anticipos/Download?idTrafico=${IdTrafico}`, {responseType: 'blob'}) + DownloadAnticipo(IdTrafico: number, idAnticipo: number){ + return http.get(`/Corresponsalias/Anticipos/Download?idTrafico=${IdTrafico}&idAnticipo=${idAnticipo}`, {responseType: 'blob'}) } }