parent
62bfd90979
commit
b89c4af501
@ -0,0 +1,227 @@ |
|||||||
|
import * as React from 'react' |
||||||
|
import { IconContext } from 'react-icons' |
||||||
|
import { FaCheckCircle, FaQuestionCircle } from 'react-icons/fa' |
||||||
|
import { ImCross } from 'react-icons/im' |
||||||
|
import { ComboDescripcion } from '../Components/ComboSelect/ComboDescripcion' |
||||||
|
import { ComboFraccion } from '../Components/ComboSelect/ComboFraccion' |
||||||
|
import { TextBoxFraccion } from '../Components/TextBox/TextBoxFraccion' |
||||||
|
import I2096Detail from '../Interfaces/I2096Detail' |
||||||
|
|
||||||
|
export interface IRtpAmazonPendingInvoivesDetailProps { |
||||||
|
IDMaster: number |
||||||
|
detail: I2096Detail |
||||||
|
} |
||||||
|
|
||||||
|
export default function RtpAmazonPendingInvoivesDetail( |
||||||
|
props: IRtpAmazonPendingInvoivesDetailProps |
||||||
|
) { |
||||||
|
const openLink = (item: string) => { |
||||||
|
window.open('https://www.amazon.com/dp/' + item) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
const parentFunction = (fraccion: string) => { |
||||||
|
alert('update') |
||||||
|
} |
||||||
|
|
||||||
|
return ( |
||||||
|
<> |
||||||
|
<tr> |
||||||
|
<th |
||||||
|
style={{ |
||||||
|
width: '50px', |
||||||
|
backgroundColor: '#FFFFFF' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
|
||||||
|
</th> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center', |
||||||
|
cursor: 'pointer' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
onClick={() => openLink(props.detail.itemId)} |
||||||
|
> |
||||||
|
{props.detail.itemId} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'right' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.itemDescription} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'right' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.pedimentoDescription} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.destinationHTSCode} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.validaFraccionOriginal === 0 ? ( |
||||||
|
<IconContext.Provider |
||||||
|
value={{ |
||||||
|
color: 'orange', |
||||||
|
size: '20px' |
||||||
|
}} |
||||||
|
> |
||||||
|
<FaQuestionCircle /> |
||||||
|
</IconContext.Provider> |
||||||
|
) : props.detail.validaFraccionOriginal === 1 ? ( |
||||||
|
<IconContext.Provider |
||||||
|
value={{ |
||||||
|
color: 'green', |
||||||
|
size: '20px' |
||||||
|
}} |
||||||
|
> |
||||||
|
<FaCheckCircle /> |
||||||
|
</IconContext.Provider> |
||||||
|
) : ( |
||||||
|
<IconContext.Provider |
||||||
|
value={{ |
||||||
|
color: 'red', |
||||||
|
size: '20px' |
||||||
|
}} |
||||||
|
> |
||||||
|
<ImCross /> |
||||||
|
</IconContext.Provider> |
||||||
|
)} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
<ComboFraccion |
||||||
|
IDInvoice={props.IDMaster} |
||||||
|
IDDetail={props.detail.id} |
||||||
|
FraccionOriginal={props.detail.destinationHTSCode} |
||||||
|
parentFunction={parentFunction} |
||||||
|
/> |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
<TextBoxFraccion |
||||||
|
Fraccion={ |
||||||
|
props.detail.fraccionGEMCO ? props.detail.fraccionGEMCO : '' |
||||||
|
} |
||||||
|
/> |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
<ComboDescripcion |
||||||
|
IDDetail={props.detail.id} |
||||||
|
DescripcionOriginal={props.detail.pedimentoDescription} |
||||||
|
/> |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.descripcionGEMCO} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.countryOfOrigin} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'right' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.productGroup} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'right' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.brand} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'right' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.model} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.itemQuantityUnitOfMeasure} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.quantity} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.netWeightUnitOfMeasure} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.actualUnitCostMonetaryAmount} |
||||||
|
</td> |
||||||
|
<td |
||||||
|
style={{ |
||||||
|
textAlign: 'center' |
||||||
|
}} |
||||||
|
className="DetailData" |
||||||
|
> |
||||||
|
{props.detail.totalUnitValueMonetaryAmount} |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</> |
||||||
|
) |
||||||
|
} |
@ -0,0 +1,42 @@ |
|||||||
|
import { createSlice, PayloadAction } from '@reduxjs/toolkit' |
||||||
|
import I2096Headers from '../../../../Components/Clientes/Amazon/Interfaces/I2096Header'; |
||||||
|
const Invoice: I2096Headers[] = [] |
||||||
|
const initialState = { Invoice } |
||||||
|
|
||||||
|
export const AmazonInvoicesSlice = createSlice({ |
||||||
|
name: 'AmazonInvoices', |
||||||
|
initialState: initialState, |
||||||
|
reducers: { |
||||||
|
populateInvoices : (state, action: PayloadAction<I2096Headers[]>) => { |
||||||
|
action.payload.forEach(newItem => { |
||||||
|
var Existe = state.Invoice.find(function(onMemoryItem) { |
||||||
|
return onMemoryItem.id === newItem.id; |
||||||
|
}); |
||||||
|
if (!Existe) state.Invoice.push(newItem) |
||||||
|
}) |
||||||
|
}, |
||||||
|
addInvoice : (state, action: PayloadAction<I2096Headers>) => { |
||||||
|
var Existe = state.Invoice.find(function(item) { |
||||||
|
return item.id === action.payload.id; |
||||||
|
}); |
||||||
|
if (!Existe) state.Invoice.push(action.payload) |
||||||
|
}, |
||||||
|
updateInvoice : (state, action: PayloadAction<I2096Headers>) => { |
||||||
|
const i = state.Invoice.findIndex(_element => _element.id === action.payload.id); |
||||||
|
if (i > -1) state.Invoice[i] = action.payload; |
||||||
|
else state.Invoice.push(action.payload); |
||||||
|
}, |
||||||
|
updateInvoiceDetail : (state, action: PayloadAction<I2096Headers>) => { |
||||||
|
const i = state.Invoice.findIndex(_element => _element.id === action.payload.id); |
||||||
|
if (i > -1) state.Invoice[i] = action.payload; |
||||||
|
else state.Invoice.push(action.payload); |
||||||
|
}, |
||||||
|
deleteInvoice : (state, action: PayloadAction<number>) => { |
||||||
|
const newArr = state.Invoice.filter(data => data.id != action.payload); |
||||||
|
state.Invoice=newArr |
||||||
|
}, |
||||||
|
}, |
||||||
|
}) |
||||||
|
|
||||||
|
export const { addInvoice, populateInvoices, updateInvoice, deleteInvoice } = AmazonInvoicesSlice.actions; |
||||||
|
export default AmazonInvoicesSlice.reducer; |
Loading…
Reference in new issue