Merge branch 'featureBotClasifcacion'

featureDepto4User
alfonso 1 year ago
commit b2ff145834
  1. 2
      .vscode/settings.json
  2. 4
      package.json
  3. 5
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx
  4. 2
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx
  5. 124
      src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx
  6. 15
      src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx
  7. 90
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx
  8. 44
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx
  9. 2
      src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazon.tsx
  10. 6
      src/Components/Clientes/Amazon/Services/Amazon.Services.ts
  11. 2
      src/Components/Login/login.tsx
  12. 2
      src/Components/Utils/Toast/msgInformativo.tsx

@ -1,3 +1,3 @@
{
"workbench.colorTheme": "Abyss"
"workbench.colorTheme": "Infinity Dark Theme Eye Friendly Colors"
}

@ -1,6 +1,6 @@
{
"name": "gemco",
"version": "0.1.0",
"version": "3.1.0",
"homepage": ".",
"private": true,
"dependencies": {
@ -69,7 +69,7 @@
"start-dev": "env-cmd -f .env.development react-scripts start",
"start-qa": "env-cmd -f .env.qa 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 build version --patch",
"build-prod": "env-cmd -f .env.production react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"

@ -177,6 +177,11 @@ export function ComboDescripcion(props: IComboDescripcionProps) {
) : (
''
)}
{props.Detail.validaFraccionOriginal === 5 ? (
<option value="5">BOT</option>
) : (
''
)}
</Form.Control>
<Modal
show={showModal}

@ -209,6 +209,7 @@ export function ComboFraccion(props: IComboFraccionProps) {
<option value="0"> </option>
<option value="1"> = </option>
<option value="2"> != </option>
{/* <option value="5">BOT</option> */}
</>
) : (
''
@ -222,7 +223,6 @@ export function ComboFraccion(props: IComboFraccionProps) {
) : (
''
)}
{/* <option value="2"> != </option> */}
{props.Detail.validaFraccionOriginal === 3 ? (
<option value="3"> Ok </option>
) : (

@ -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}

@ -161,6 +161,13 @@ export default function RptAmazonFinishedClasificationInvoices(
})
}
function getReceiver(Cadena: string, char1: string[1], char2: string[1]) {
return Cadena.slice(
Cadena.indexOf(char1) + 1,
Cadena.lastIndexOf(char2),
);
}
return (
<div>
<Card>
@ -195,6 +202,7 @@ export default function RptAmazonFinishedClasificationInvoices(
<th style={{ width: '50px' }}></th>
<th style={{ width: '80px' }}>Commercial Invoice Date</th>
<th style={{ width: '300px' }}>Invoice Number</th>
<th style={{ width: '80px' }}>Receiver</th>
<th style={{ width: '100px' }}>Incoterms</th>
<th style={{ textAlign: 'center' }}>HAWB</th>
<th>Qty Unit of measure</th>
@ -300,6 +308,13 @@ export default function RptAmazonFinishedClasificationInvoices(
<td style={{ width: '300px' }}>
{MasterData.invoiceNumber}
</td>
<td style={{ width: '80px', textAlign:'center' }}>
{mInvoices
.filter((value) => value.id === MasterData.id)
.map((row) => {
return getReceiver(row.detail[0].amazonShipmentReferenceId,'_','_')
})}
</td>
<td style={{ width: '100px', textAlign: 'center' }}>
{MasterData.incoterms}
</td>

@ -4,6 +4,7 @@ import {
Button,
Card,
Col,
Form,
FormCheck,
Modal,
Row,
@ -35,6 +36,7 @@ import { MFileManager } from '../../../../../Utils/MFileManager/MFileManager'
import { AiFillWarning } from 'react-icons/ai'
import { PrioritySelector } from '../PrioritySelector/PrioritySelector'
import IFileManager from '../../../../../../Interfaces/Utils/IFileManager'
import { VscHubot } from 'react-icons/vsc'
export interface IRtpAmazonPendingInvoicesProps {}
@ -64,6 +66,7 @@ export default function RtpAmazonPendingInvoices(
const [WaitingMessage, setWaitingMessage] = useState('Generado...')
const [ShowModal, setShowModal] = useState(false)
const [ShowModalW, setShowModalW] = useState(false)
const [BOTEnabled, setBOTEnabled] = useState(false)
const [msg, setMsg] = useState('')
const msgColor = 'primary'
@ -304,6 +307,36 @@ export default function RtpAmazonPendingInvoices(
})
}
const RunBOT = (row: I2096Headers) => {
if (!BOTEnabled || row.max) {
toggleExpandRow(row)
return false
}
if (BOTEnabled) {
setWaitingMessage('BOT trabajando...')
setWaitingDialog(true)
DSAmazon.ClasificacionBOT(row.id)
.then((response) => {
if (response.data) {
setIDFactura(0)
setFactura('')
setShowModalInvoiceFile(false)
setWaitingDialog(false)
//loadReport()
toggleExpandRow(row)
return
}
})
.catch((e: Error) => {
setHeader('Error')
setMsg('Ocurrio un error')
setShowModalDeleteInvoice(false)
setWaitingDialog(false)
return
})
}
}
return (
<div>
<Card>
@ -317,7 +350,30 @@ export default function RtpAmazonPendingInvoices(
CLASIFICACION : facturas pendientes
</Card.Title>
</Col>
<Col xs={5}></Col>
<Col xs={3}></Col>
<Col xs={2}>
{/* <Row>
<Col xs={4} style={{ textAlign: 'right' }}>
<IconContext.Provider
value={{ color: 'green', size: '65px' }}
>
<VscHubot />
</IconContext.Provider>
</Col>
<Col xs={8} style={{ textAlign: 'left', paddingTop: '25px' }}>
<Form.Check
type="switch"
id="custom-switch"
label="¿Aplica BOT?"
checked={BOTEnabled}
onChange={() => {
setBOTEnabled(!BOTEnabled)
}}
/>
</Col>
</Row> */}
<Form></Form>
</Col>
<Col xs={2}>
<Alert
variant="primary"
@ -389,7 +445,7 @@ export default function RtpAmazonPendingInvoices(
<th style={{ width: '50px' }}></th>
<th style={{ width: '80px' }}>Commercial Invoice Date</th>
<th style={{ width: '300px' }}>Invoice Number</th>
<th style={{ width: '50px' }}>Name</th>
<th style={{ width: '50px' }}>Receiver</th>
<th style={{ width: '100px' }}>Incoterms</th>
<th style={{ width: '100px' }}>Qty Unit of measure</th>
<th style={{ width: '100px' }}>Tot Qty</th>
@ -441,7 +497,8 @@ export default function RtpAmazonPendingInvoices(
}
key={MasterData.id}
onClick={() => {
toggleExpandRow(MasterData)
//toggleExpandRow(MasterData)
RunBOT(MasterData)
}}
>
{MasterData.max === true ? (
@ -460,9 +517,14 @@ export default function RtpAmazonPendingInvoices(
</td>
<td>{MasterData.id}</td>
<td style={{ textAlign: 'left' }}>
<PrioritySelector IDInvoice={MasterData.id} Priority={MasterData.urgente} canChange={['Clasificador lider', 'Administrador'].includes(
Perfil
)}/>
<PrioritySelector
IDInvoice={MasterData.id}
Priority={MasterData.urgente}
canChange={[
'Clasificador lider',
'Administrador'
].includes(Perfil)}
/>
</td>
<td>
<FormCheck
@ -800,7 +862,9 @@ export default function RtpAmazonPendingInvoices(
return (
<RtpAmazonPendingClasificationInvoicesDetail
IDMaster={MasterData.id}
Prioridad={MasterData.urgente}
Prioridad={
MasterData.urgente
}
detail={detail}
Deshabilitado={
detail.destinationHTSCode
@ -937,6 +1001,13 @@ export default function RtpAmazonPendingInvoices(
</Modal.Header>
<Modal.Body>
<img src={loadingImg} style={{ height: '150px' }} alt="proccessing" />
{WaitingMessage.includes('BOT') ? (
<IconContext.Provider value={{ color: 'green', size: '65px' }}>
<VscHubot />
</IconContext.Provider>
) : (
''
)}
{WaitingMessage}
</Modal.Body>
<Modal.Footer></Modal.Footer>
@ -1017,8 +1088,9 @@ export default function RtpAmazonPendingInvoices(
Proceso={IDProcess}
showPreview={0}
canEdit={true}
Leyenda="Seleccione las facturas de Amazon" onAppendMFM={function (Files: IFileManager[]): void {
} } />
Leyenda="Seleccione las facturas de Amazon"
onAppendMFM={function (Files: IFileManager[]): void {}}
/>
</Col>
<Col></Col>
</Row>

@ -186,7 +186,7 @@ export default function RtpAmazonPendingInvoivesDetail(
style={{
textAlign: 'center',
cursor: 'pointer',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
onClick={() => openLink(props.detail.itemId)}
@ -196,7 +196,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'right',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -205,7 +205,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'right',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
>
{props.detail.pedimentoDescription}
@ -214,7 +214,7 @@ export default function RtpAmazonPendingInvoivesDetail(
style={{
textAlign: 'center',
fontSize: '18px',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
>
&nbsp;&nbsp;{props.detail.destinationHTSCode}
@ -222,7 +222,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -230,7 +230,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -247,7 +247,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -270,7 +270,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -287,7 +287,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -296,7 +296,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -305,7 +305,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'right',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -314,7 +314,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'right',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -323,7 +323,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'right',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -332,7 +332,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -341,7 +341,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -350,7 +350,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -359,7 +359,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -369,7 +369,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -378,7 +378,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
className="DetailData"
>
@ -386,7 +386,7 @@ export default function RtpAmazonPendingInvoivesDetail(
</td>
<td
style={{
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
>
<OverlayTrigger
@ -423,7 +423,7 @@ export default function RtpAmazonPendingInvoivesDetail(
</td>
<td
style={{
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
>
<OverlayTrigger
@ -455,7 +455,7 @@ export default function RtpAmazonPendingInvoivesDetail(
<td
style={{
textAlign: 'center',
backgroundColor: props.detail.checked ? '#E6EEF5' : '#ffffff'
backgroundColor: props.detail.checked ? props.detail.confirmaFraccion==5 ? '#F7E2D2' : '#E6EEF5' : '#ffffff'
}}
>
<Form>

@ -305,7 +305,7 @@ export default function RptPendingAnswerFromAmazon(
<th style={{ width: '50px' }}></th>
<th style={{ width: '80px' }}>Commercial Invoice Date</th>
<th style={{ width: '300px' }}>Invoice Number</th>
<th style={{ width: '50px' }}>Name</th>
<th style={{ width: '50px' }}>Receiver</th>
<th style={{ width: '100px' }}>Incoterms</th>
<th style={{ width: '100px' }}>Qty Unit of measure</th>
<th style={{ width: '100px' }}>Tot Qty</th>

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

@ -14,6 +14,7 @@ import { MsgInformativo } from '../Utils/Toast/msgInformativo'
import logo from '../../images/GEMCO_mini.png'
import Dashboard from '../Dashboard/Dashboard'
import { Nav } from 'react-bootstrap'
import Info from '../../../package.json'
export const Login: React.FC<{}> = () => {
const dispatch = useDispatch()
@ -132,6 +133,7 @@ export const Login: React.FC<{}> = () => {
login
</button>
</div>
<div style={{textAlign:'right'}}>v{Info.version}</div>
</Form>
</Formik>
</div>

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

Loading…
Cancel
Save