|
|
|
@ -4,6 +4,7 @@ import DataTable from 'react-data-table-component' |
|
|
|
|
import I2096NoParte from '../Interfaces/I2096NoParte' |
|
|
|
|
import AmazonDS from '../Services/Amazon.Services' |
|
|
|
|
import { |
|
|
|
|
deleteNoPartes, |
|
|
|
|
populateNoPartes, |
|
|
|
|
updateNoPartes |
|
|
|
|
} from '../../../../store/features/Clientes/2096/AmazonNoPartes' |
|
|
|
@ -12,7 +13,7 @@ import { useDispatch, useSelector } from 'react-redux' |
|
|
|
|
import { useEffect, useState } from 'react' |
|
|
|
|
import { MsgInformativo } from '../../../Utils/Toast/msgInformativo' |
|
|
|
|
import { IconContext } from 'react-icons' |
|
|
|
|
import { BsFillPencilFill } from 'react-icons/bs' |
|
|
|
|
import { BsFillPencilFill, BsFillXCircleFill } from 'react-icons/bs' |
|
|
|
|
|
|
|
|
|
import I2096PaisClave from '../Interfaces/I2096PaisClave' |
|
|
|
|
import DTO2096PerfilesParecidos from '../DTO/DTO2096PerfilesParecidos' |
|
|
|
@ -35,10 +36,14 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
const [NoParteLOG, setNoParteLOG] = useState<I2096NoParteLog[]>([]) |
|
|
|
|
const [PaisClaves, setPaisClaves] = useState<I2096PaisClave[]>([]) |
|
|
|
|
const [Data, setData] = useState<DTO2096PerfilesParecidos[]>([]) |
|
|
|
|
const [DataNoParteVerificacion, setDataNoParteVeriifcacion] = useState<DTO2096NoParteVerificacion[]>([]) |
|
|
|
|
const [DataNoParteVerificacion, setDataNoParteVeriifcacion] = useState< |
|
|
|
|
DTO2096NoParteVerificacion[] |
|
|
|
|
>([]) |
|
|
|
|
const [ShowModal, setShowModal] = useState(false) |
|
|
|
|
const [ShowModalLog, setShowModalLog] = useState(false) |
|
|
|
|
const [ShowModalNoParteVerificacion, setShowModalNoParteVerificacion] = useState(false) |
|
|
|
|
const [ShowModalNoParteVerificacion, setShowModalNoParteVerificacion] = |
|
|
|
|
useState(false) |
|
|
|
|
const [ShowModalDelete, setShowModalDelete] = useState(false) |
|
|
|
|
const [header, setHeader] = useState('') |
|
|
|
|
const [msgColor, setMsgColor] = useState('primary') |
|
|
|
|
const [show, setShowMsg] = useState(false) |
|
|
|
@ -81,12 +86,35 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
<Col> |
|
|
|
|
<div |
|
|
|
|
style={{ |
|
|
|
|
cursor: 'pointer', |
|
|
|
|
cursor: 'pointer' |
|
|
|
|
}} |
|
|
|
|
onClick={() => { |
|
|
|
|
setIDParte(row.id) |
|
|
|
|
setShowModalDelete(true) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: 'red', size: '25px' }}> |
|
|
|
|
<BsFillXCircleFill /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</div> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
), |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: '', |
|
|
|
|
width: '60px', |
|
|
|
|
cell: (row: I2096NoParte) => ( |
|
|
|
|
<Row> |
|
|
|
|
<Col> |
|
|
|
|
<div |
|
|
|
|
style={{ |
|
|
|
|
cursor: 'pointer' |
|
|
|
|
}} |
|
|
|
|
onClick={() => { |
|
|
|
|
loadDataNoParteVerificacion(row) |
|
|
|
|
setShowModalNoParteVerificacion(true) |
|
|
|
|
|
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider value={{ color: '#60DD0E', size: '30px' }}> |
|
|
|
@ -166,13 +194,15 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
{ |
|
|
|
|
name: 'UMF', |
|
|
|
|
width: '80px', |
|
|
|
|
selector: (row: I2096NoParte) => row.unidadMedidaFactura ? row.unidadMedidaFactura : '', |
|
|
|
|
selector: (row: I2096NoParte) => |
|
|
|
|
row.unidadMedidaFactura ? row.unidadMedidaFactura : '', |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'UMC', |
|
|
|
|
width: '80px', |
|
|
|
|
selector: (row: I2096NoParte) => row.unidadMedidaCOVE ? row.unidadMedidaCOVE : '', |
|
|
|
|
selector: (row: I2096NoParte) => |
|
|
|
|
row.unidadMedidaCOVE ? row.unidadMedidaCOVE : '', |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
@ -215,7 +245,8 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
{ |
|
|
|
|
name: 'Fracc Original', |
|
|
|
|
width: '130px', |
|
|
|
|
cell: (row: I2096NoParteLog) => row.fraccionOriginal ? row.fraccionOriginal : '', |
|
|
|
|
cell: (row: I2096NoParteLog) => |
|
|
|
|
row.fraccionOriginal ? row.fraccionOriginal : '', |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
@ -228,7 +259,8 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
{ |
|
|
|
|
name: 'NICO Original', |
|
|
|
|
width: '130px', |
|
|
|
|
cell: (row: I2096NoParteLog) => row.subdivisionOriginal ? row.subdivisionOriginal : '', |
|
|
|
|
cell: (row: I2096NoParteLog) => |
|
|
|
|
row.subdivisionOriginal ? row.subdivisionOriginal : '', |
|
|
|
|
sortable: true, |
|
|
|
|
center: true |
|
|
|
|
}, |
|
|
|
@ -237,7 +269,7 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
width: '250px', |
|
|
|
|
cell: (row: I2096NoParteLog) => row.descripcionAgenteAduanal, |
|
|
|
|
wrap: true, |
|
|
|
|
sortable: true, |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Desc Original', |
|
|
|
@ -256,7 +288,7 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
{ |
|
|
|
|
name: 'Usuario', |
|
|
|
|
width: '300px', |
|
|
|
|
cell: (row: I2096NoParteLog) => row.sUsuario ? row.sUsuario : '', |
|
|
|
|
cell: (row: I2096NoParteLog) => (row.sUsuario ? row.sUsuario : ''), |
|
|
|
|
wrap: true, |
|
|
|
|
sortable: true |
|
|
|
|
} |
|
|
|
@ -294,7 +326,7 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
width: '100px', |
|
|
|
|
cell: (row: DTO2096NoParteVerificacion) => row.aduana, |
|
|
|
|
wrap: true, |
|
|
|
|
sortable: true, |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Pedimento', |
|
|
|
@ -305,7 +337,6 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const openLink = (item: string) => { |
|
|
|
|
window.open('https://www.amazon.com/dp/' + item) |
|
|
|
|
} |
|
|
|
@ -315,7 +346,7 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
if (Id === 0) return NoAsignado |
|
|
|
|
else if (Data.length) { |
|
|
|
|
const Usuario = Data.filter((item) => item.idUsuario === Id) |
|
|
|
|
return Usuario ? Usuario[0].nombre : NoAsignado |
|
|
|
|
return Usuario.length ? Usuario[0].nombre : NoAsignado |
|
|
|
|
} |
|
|
|
|
return NoAsignado |
|
|
|
|
} |
|
|
|
@ -396,6 +427,7 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
} |
|
|
|
|
AmazonDS.NoPartesGet(Search) |
|
|
|
|
.then((response) => { |
|
|
|
|
console.log(response.data) |
|
|
|
|
dispatch(populateNoPartes(response.data)) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
@ -417,11 +449,36 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
AmazonDS.NoPartesUpdate(data) |
|
|
|
|
.then((response) => { |
|
|
|
|
dispatch(updateNoPartes(response.data)) |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('La informacion se guardo correctamente') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
.catch(function (error) { |
|
|
|
|
console.log(error.toJSON()) |
|
|
|
|
if (error.message == 'Request failed with status code 400') { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error: ' + e) |
|
|
|
|
setMsg('Fraccion no valida!') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const deleteNoParte = () => { |
|
|
|
|
AmazonDS.DeleteNoParte(IDParte) |
|
|
|
|
.then((response) => { |
|
|
|
|
dispatch(deleteNoPartes(IDParte)) |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('La informacion se guardo correctamente') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
}) |
|
|
|
|
.catch(function (error) { |
|
|
|
|
console.log(error.toJSON()) |
|
|
|
|
if (error.message == 'Request failed with status code 400') { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Fraccion no valida!') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
@ -672,6 +729,41 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) { |
|
|
|
|
{/* </div> */} |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
|
|
|
|
|
<Modal |
|
|
|
|
show={ShowModalDelete} |
|
|
|
|
onHide={() => { |
|
|
|
|
setShowModalDelete(false) |
|
|
|
|
}} |
|
|
|
|
size={'sm'} |
|
|
|
|
dialogClassName={'modal-50w'} |
|
|
|
|
> |
|
|
|
|
<Modal.Header> |
|
|
|
|
<Modal.Title> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={12}> |
|
|
|
|
<Alert variant="warning"> |
|
|
|
|
<h3>¿Esta seguro de eliminar el no parte: {Parte}</h3> |
|
|
|
|
</Alert> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</Modal.Title> |
|
|
|
|
</Modal.Header> |
|
|
|
|
<Modal.Body> |
|
|
|
|
<Row style={{ paddingTop: '15px' }}> |
|
|
|
|
<Col></Col> |
|
|
|
|
<Col xs={5}> |
|
|
|
|
<Button variant={'danger'} onClick={()=>{deleteNoParte()}}>Elimina</Button> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={5}> |
|
|
|
|
<Button variant={'secondary'} onClick={()=>{setShowModalDelete(false)}}>Salir</Button> |
|
|
|
|
</Col> |
|
|
|
|
<Col></Col> |
|
|
|
|
</Row> |
|
|
|
|
{/* </div> */} |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
|
|
|
|
|
<MsgInformativo |
|
|
|
|
show={show} |
|
|
|
|
msg={msg} |
|
|
|
|