diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx index d60e1cf..9d95cb3 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx @@ -1,5 +1,14 @@ import { useEffect, useState } from 'react' -import { Button, Card, Col, Form, Row, Table } from 'react-bootstrap' +import { + Alert, + Button, + Card, + Col, + Form, + Modal, + Row, + Table +} from 'react-bootstrap' import { IconContext } from 'react-icons' import { BsChevronDown, BsChevronRight, BsSearch } from 'react-icons/bs' import { @@ -27,6 +36,8 @@ import { import RtpAmazonFinishedClasificationInvoicesDetail from './RptAmazonFinishedClasificationInvoicesDetail' // Redux import { useDispatch, useSelector } from 'react-redux' +import DTO2096PerfilesParecidos from '../../../DTO/DTO2096PerfilesParecidos' +import { SelectEstatus } from '../../../../../Corresponsales/CuentasComplementarias/SelectEstatus/SelectEstatus' export interface IRptAmazonFinishedClasificationInvoicesProps {} @@ -37,22 +48,30 @@ export default function RptAmazonFinishedClasificationInvoices( const mInvoices = useSelector( (state: RootState) => state.AmazonInvoices.Invoice ) - const [Inicio, setInicio] = useState(currentDate(0)) + const [Data, setData] = useState([]) + /* const [Inicio, setInicio] = useState(currentDate(0)) const [Fin, setFin] = useState(currentDate(0)) const [filtro, setFiltro] = useState('') + */ + const [Accion, setAccion] = useState(0) + const [Estatus, setEstatus] = useState(0) + const [IDInvoice, setIDInvoice] = useState(0) + const [IDClasificador, setIDClasificador] = useState(0) + const [Clasificador, setClasificador] = useState('') + const [ShowModal, setShowModal] = useState(false) const [header, setHeader] = useState('') const [show, setShowMsg] = useState(false) const [msg, setMsg] = useState('') const msgColor = 'primary' - function currentDate(days: number): string { +/* function currentDate(days: number): string { var today = new Date() today.setDate(today.getDate() + days) var dd = String(today.getDate()).padStart(2, '0') var mm = String(today.getMonth() + 1).padStart(2, '0') var yyyy = today.getFullYear() return yyyy + '-' + mm + '-' + dd - } + } */ const loadReport = () => { DSAmazon.AmazonFinishedClasificationInvoiceGET() @@ -79,10 +98,10 @@ export default function RptAmazonFinishedClasificationInvoices( document.body.appendChild(link) link.click() DSAmazon.TerminaClasificarFactura(id) - .then((response) => { }) - .catch((e: Error) => { - alert('Ocurrio un error' + e.message.toString()) - }) + .then((response) => {}) + .catch((e: Error) => { + alert('Ocurrio un error' + e.message.toString()) + }) } }) .catch((e: Error) => { @@ -95,8 +114,31 @@ export default function RptAmazonFinishedClasificationInvoices( useEffect(() => { loadReport() + DSAmazon.PerfilesParecidosGet('Clasificador') + .then((response) => { + setData(response.data) + }) + .catch((e: Error) => { + alert('Ocurrio un error' + e.message.toString()) + }) }, []) + const getUser = (Id: number) => { + const NoAsignado = ' - NO ASIGNADO -' + if (Id === 0) return NoAsignado + else if (Data.length) { + const Usuario = Data.filter((item) => item.idUsuario === Id) + return Usuario[0].nombre ? Usuario[0].nombre : NoAsignado + } + return NoAsignado + } + + useEffect(() => { + if (ShowModal) { + setClasificador(getUser(IDClasificador)) + } + }, [ShowModal]) + const changeToggle = (row: I2096Headers) => { let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === row.id) const Obj = { ...Invoice[0] } @@ -104,9 +146,21 @@ export default function RptAmazonFinishedClasificationInvoices( dispatch(updateInvoice(Obj)) } + const returnTO = () => { + DSAmazon.InvoiceReturnState(IDInvoice, 0) + .then((response) => { + loadReport() + setShowModal(false) + }) + .catch((e: Error) => { + alert('Ocurrio un error' + e.message.toString()) + }) + } + const openLink = (item: string) => { window.open('https://www.amazon.com/dp/' + item) } + return (
@@ -149,7 +203,8 @@ export default function RptAmazonFinishedClasificationInvoices( Tot Charge or allowance Tot currency ISO code Tot Monetary amount - Total de partidas + Tot partidas + @@ -250,6 +305,22 @@ export default function RptAmazonFinishedClasificationInvoices( return row.detail.length })} + + { + setIDInvoice(MasterData.id) + setAccion(parseInt(e.target.value)) + setIDClasificador(MasterData.clasificador) + setEstatus(MasterData.estatus) + setShowModal(true) + }} + > + + + + {MasterData.max ? ( - + + + { + setShowModal(false) + }} + size={'sm'} + dialogClassName={'modal-50w'} + > + +
+ +
+ + + ¿Esta seguro de regresarle esta factura a: {Clasificador}? + + + + + + + + + + + + + + + + diff --git a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts index 441e7ca..656faea 100644 --- a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts +++ b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts @@ -37,6 +37,9 @@ class AmazonDataService { CheckDetail(id: number) { return http.put(`/AmazonInvoice/C2096CheckDetail?id=${id}`) } + InvoiceReturnState(IdFactura: number, Estatus: number) { + return http.put(`/AmazonInvoice/InvoiceReturnState?IdFactura=${IdFactura}&Estatus=${Estatus}`) + } AmazonPendingTraficInvoiceGET() {