Added delete feature to NoPartes Catalog

featureBotClasifcacion
alfonso 1 year ago
parent c9a9433790
commit 9a45e404ac
  1. 2
      package.json
  2. 88
      src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx
  3. 3
      src/Components/Clientes/Amazon/Services/Amazon.Services.ts
  4. 2
      src/Components/Utils/Toast/msgInformativo.tsx

@ -69,7 +69,7 @@
"start-dev": "env-cmd -f .env.development react-scripts start", "start-dev": "env-cmd -f .env.development react-scripts start",
"start-qa": "env-cmd -f .env.qa react-scripts start", "start-qa": "env-cmd -f .env.qa react-scripts start",
"start-prod": "env-cmd -f .env.production react-scripts start", "start-prod": "env-cmd -f .env.production react-scripts start",
"build-qa": "env-cmd -f .env.qa react-scripts build", "build-qa": "env-cmd -f .env.qa react-scripts -version -patch build",
"build-prod": "env-cmd -f .env.production react-scripts build", "build-prod": "env-cmd -f .env.production react-scripts build",
"test": "react-scripts test", "test": "react-scripts test",
"eject": "react-scripts eject" "eject": "react-scripts eject"

@ -4,6 +4,7 @@ import DataTable from 'react-data-table-component'
import I2096NoParte from '../Interfaces/I2096NoParte' import I2096NoParte from '../Interfaces/I2096NoParte'
import AmazonDS from '../Services/Amazon.Services' import AmazonDS from '../Services/Amazon.Services'
import { import {
deleteNoPartes,
populateNoPartes, populateNoPartes,
updateNoPartes updateNoPartes
} from '../../../../store/features/Clientes/2096/AmazonNoPartes' } from '../../../../store/features/Clientes/2096/AmazonNoPartes'
@ -12,7 +13,7 @@ import { useDispatch, useSelector } from 'react-redux'
import { useEffect, useState } from 'react' import { useEffect, useState } from 'react'
import { MsgInformativo } from '../../../Utils/Toast/msgInformativo' import { MsgInformativo } from '../../../Utils/Toast/msgInformativo'
import { IconContext } from 'react-icons' import { IconContext } from 'react-icons'
import { BsFillPencilFill } from 'react-icons/bs' import { BsFillPencilFill, BsFillXCircleFill } from 'react-icons/bs'
import I2096PaisClave from '../Interfaces/I2096PaisClave' import I2096PaisClave from '../Interfaces/I2096PaisClave'
import DTO2096PerfilesParecidos from '../DTO/DTO2096PerfilesParecidos' import DTO2096PerfilesParecidos from '../DTO/DTO2096PerfilesParecidos'
@ -42,6 +43,7 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) {
const [ShowModalLog, setShowModalLog] = useState(false) const [ShowModalLog, setShowModalLog] = useState(false)
const [ShowModalNoParteVerificacion, setShowModalNoParteVerificacion] = const [ShowModalNoParteVerificacion, setShowModalNoParteVerificacion] =
useState(false) useState(false)
const [ShowModalDelete, setShowModalDelete] = useState(false)
const [header, setHeader] = useState('') const [header, setHeader] = useState('')
const [msgColor, setMsgColor] = useState('primary') const [msgColor, setMsgColor] = useState('primary')
const [show, setShowMsg] = useState(false) const [show, setShowMsg] = useState(false)
@ -76,6 +78,30 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) {
), ),
sortable: true sortable: true
}, },
{
name: '',
width: '60px',
cell: (row: I2096NoParte) => (
<Row>
<Col>
<div
style={{
cursor: 'pointer'
}}
onClick={() => {
setIDParte(row.id)
setShowModalDelete(true)
}}
>
<IconContext.Provider value={{ color: 'red', size: '25px' }}>
<BsFillXCircleFill />
</IconContext.Provider>
</div>
</Col>
</Row>
),
sortable: true
},
{ {
name: '', name: '',
width: '60px', width: '60px',
@ -427,19 +453,32 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) {
setMsg('La informacion se guardo correctamente') setMsg('La informacion se guardo correctamente')
setShowMsg(true) setShowMsg(true)
}) })
.catch(function(error) { .catch(function (error) {
console.log(error.toJSON()) console.log(error.toJSON())
if (error.message == 'Request failed with status code 400') { if (error.message == 'Request failed with status code 400') {
setHeader('Error') setHeader('Error')
setMsg('Fraccion no valida!') setMsg('Fraccion no valida!')
setShowMsg(true) setShowMsg(true)
} }
/* console.log(error.toJSON()) return
const errorMessage = error?.response?.data?.message })
const message = errorMessage }
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') setHeader('Error')
setMsg(message) setMsg('Fraccion no valida!')
setShowMsg(true) */ setShowMsg(true)
}
return return
}) })
} }
@ -690,6 +729,41 @@ export default function AmazonNoPartes(props: IAmazonNoPartesProps) {
{/* </div> */} {/* </div> */}
</Modal.Body> </Modal.Body>
</Modal> </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 <MsgInformativo
show={show} show={show}
msg={msg} msg={msg}

@ -267,5 +267,8 @@ class AmazonDataService {
ClasificacionBOT(id: number) { ClasificacionBOT(id: number) {
return http.get<DTO2096TraficoConsultaAmazonHeader>(`/AmazonInvoice/Bot/Clasificacion?id=${id}`) return http.get<DTO2096TraficoConsultaAmazonHeader>(`/AmazonInvoice/Bot/Clasificacion?id=${id}`)
} }
DeleteNoParte(id: number) {
return http.delete<Boolean>(`/AmazonInvoice/DeleteNoParte?id=${id}`)
}
} }
export default new AmazonDataService() export default new AmazonDataService()

@ -15,7 +15,7 @@ interface IProps {
export const MsgInformativo: FC<IProps> = (props) => { export const MsgInformativo: FC<IProps> = (props) => {
return ( return (
<div> <div>
<ToastContainer position={'middle-center'} style={{zIndex:'9999 !important'}} > <ToastContainer position={'middle-center'} style={{zIndex:'99999 !important'}} >
<Toast <Toast
show={props.show} show={props.show}
delay={props.time} delay={props.time}

Loading…
Cancel
Save