Se modifica el front end para eliminar la colorimetria de los componentes del clasificador

AmazonRelease1.1
unknown 2 years ago
parent 254395f066
commit 816e528183
  1. 25
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx
  2. 56
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx
  3. 6
      src/Components/Clientes/Amazon/DTO/DTO2096TraficoFieldsUpdate.ts
  4. 2
      src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx
  5. 1
      src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoicesDetail.tsx
  6. 24
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx
  7. 69
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx
  8. 0
      src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazon.tsx
  9. 31
      src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazonDetail.tsx
  10. 6
      src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx
  11. 243
      src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx
  12. 5
      src/Components/Clientes/Amazon/Services/Amazon.Services.ts
  13. 1
      src/Constants/TargetURL.ts
  14. 2
      src/index.tsx

@ -26,6 +26,10 @@ export interface IComboDescripcionProps {
export function ComboDescripcion(props: IComboDescripcionProps) {
const dispatch = useDispatch()
const [Perfil, setPerfil] = useState(() => {
const stickyValue = window.localStorage.getItem('Perfil')
return stickyValue !== null ? JSON.parse(stickyValue) : 0
})
const mInvoices = useSelector(
(state: RootState) => state.AmazonInvoices.Invoice
)
@ -147,15 +151,26 @@ export function ComboDescripcion(props: IComboDescripcionProps) {
<div>
<Form.Control
as="select"
disabled={props.Deshabilitado}
className="form-select form-select-sm"
disabled={(props.Deshabilitado || props.Detail.validaFraccionOriginal === 3) && (Perfil!=='Clasificador Lider')}
onChange={(e) => changeValidacion(parseInt(e.target.value))}
value={Validacion}
>
{props.Detail.validaFraccionOriginal===1 ? <option value="0"> </option> : '' }
{props.Detail.validaFraccionOriginal===1 ? <option value="1"> = </option> : ''}
{props.Detail.validaFraccionOriginal <=1 ? (
<option value="0"> </option>
) : (
''
)}
{props.Detail.confirmaDescripcion <= 1 ? (
<option value="1"> = </option>
) : (
''
)}
<option value="2"> != </option>
{props.Detail.validaFraccionOriginal===3 ? <option value="3"> Ok </option> : ''}
{props.Detail.validaFraccionOriginal === 3 ? (
<option value="3"> Ok </option>
) : (
''
)}
</Form.Control>
<Modal
show={showModal}

@ -23,13 +23,17 @@ export interface IComboFraccionProps {
export function ComboFraccion(props: IComboFraccionProps) {
const dispatch = useDispatch()
const [Perfil, setPerfil] = useState(() => {
const stickyValue = window.localStorage.getItem('Perfil')
return stickyValue !== null ? JSON.parse(stickyValue) : 0
})
const mInvoices = useSelector(
(state: RootState) => state.AmazonInvoices.Invoice
)
const [Validacion, setValidacion] = useState(props.ConfirmaFraccion)
const [UserChanged, setUserChanged] = useState(false)
const [showModal, setShowModal] = useState(false)
const [Fraccion, setFraccion] = useState(props.FraccionOriginal)
const [Fraccion, setFraccion] = useState((props.Detail.validaFraccionOriginal==0) ? '' : props.FraccionOriginal)
const [header, setHeader] = useState('')
const [DescripcionGEMCO, setDescripcionGEMCO] = useState(
props.Detail.pedimentoDescription
@ -83,6 +87,7 @@ export function ComboFraccion(props: IComboFraccionProps) {
}
const UpdateInfo = (newData: I2096Detail) => {
console.log('new data= '+JSON.stringify(newData))
const Invoice = mInvoices
.filter((el) => el.id === props.IDInvoice)
.map((el) => {
@ -92,10 +97,15 @@ export function ComboFraccion(props: IComboFraccionProps) {
if (el.id === props.IDDetail) {
return {
...el,
fraccionGEMCO: Fraccion,
descripcionGEMCO: DescripcionGEMCO,
fraccionGEMCO: newData.fraccionGEMCO,
descripcionGEMCO: newData.descripcionGEMCO,
autorizado: newData.autorizado,
checked: true
confirmaDescripcion: newData.confirmaDescripcion,
cumplimientoNormativo: newData.cumplimientoNormativo,
comentarios: newData.comentarios,
confirmaFraccion : newData.confirmaFraccion
/*,
checked: true*/
}
}
return el
@ -128,22 +138,24 @@ export function ComboFraccion(props: IComboFraccionProps) {
.catch((e: Error) => {
alert('Ocurrio un error' + e.message.toString())
}) */
// alert(props.Detail.destinationHTSCode+' '+Validacion)
setFraccion(props.Detail.destinationHTSCode)
saveFraccion()
saveFraccion(props.Detail.destinationHTSCode)
}
}
}, [Validacion, UserChanged])
const saveFraccion = () => {
const saveFraccion = (Fracc: string) => {
Fracc=Fracc.replaceAll('.','').replaceAll(' ','')
if (Validacion === 2) {
if (CumplimientoNormativo.length === 0) {
/* if (CumplimientoNormativo.length === 0) {
setHeader('Error')
setMsg(
'Antes de poder guardar la informacion es necesario que proporcione el cumplimiento normativo'
)
setShowMsg(true)
return
}
} */
if (Comentarios.length === 0) {
setHeader('Error')
setMsg(
@ -161,12 +173,27 @@ export function ComboFraccion(props: IComboFraccionProps) {
return
}
}
DSAmazon.ValidaFraccionGET(Fraccion)
/* if (Validacion===1) {
setFraccion(props.Detail.destinationHTSCode)
setTimeout(function(){
console.log("Ready")
}, 3000);
} */
if (!Fracc) {
setFraccion(Fracc)
alert('La fraccion no puede estar vacia')
return false
}
//alert(Fracc)
DSAmazon.ValidaFraccionGET(Fracc)
.then((response) => {
if (response.data.respuesta === 'Si') {
/* if (Validacion==1) {
setFraccion(props.Detail.destinationHTSCode)
} */
const data: DTO2096FraccionDescripcion = {
id: props.IDDetail,
fraccion: Fraccion,
fraccion: Fracc,
cumplimientoNormativo: CumplimientoNormativo,
comentarios: Comentarios,
descripcionGEMCO: DescripcionGEMCO
@ -198,16 +225,16 @@ export function ComboFraccion(props: IComboFraccionProps) {
<Form.Control
as="select"
className="form-select form-select-sm"
disabled={props.Deshabilitado}
disabled={(props.Deshabilitado || props.Detail.validaFraccionOriginal === 3) && (Perfil!=='Clasificador Lider')}
onChange={(e) => changeValidacion(parseInt(e.target.value))}
value={Validacion}
>
{props.Detail.validaFraccionOriginal === 0 ? (
{props.Detail.validaFraccionOriginal <= 1 ? (
<option value="0"> </option>
) : (
''
)}
{props.Detail.validaFraccionOriginal === 1 ? (
{props.Detail.validaFraccionOriginal <= 1 ? (
<option value="1"> = </option>
) : (
''
@ -255,7 +282,6 @@ export function ComboFraccion(props: IComboFraccionProps) {
<Row style={{ paddingTop: '15px' }}>
<Col xs={3}>Cumplimiento normativo</Col>
<Col xs={8}>
{' '}
<Form.Control
as="textarea"
id="CumplimientoNormativo"
@ -298,7 +324,7 @@ export function ComboFraccion(props: IComboFraccionProps) {
<Col xs={3}>
<Button
onClick={() => {
saveFraccion()
saveFraccion(Fraccion)
}}
>
Guardar

@ -0,0 +1,6 @@
export default interface DTO2096TraficoFieldsUpdate {
id: number,
UnitMeasure: string,
UnitOfMeasure: number,
UnitCost: number
}

@ -217,7 +217,7 @@ export default function RptAmazonFinishedClasificationInvoices(
) {
return a
} else if (
['Clasificador lider', 'Administrador'].includes(
['Clasificador lider', 'Clasificador', 'Administrador'].includes(
Perfil
)
) {

@ -367,7 +367,6 @@ export default function RptAmazonFinishedClasificationInvoicesDetail(
>
{props.detail.netWeightUnitOfMeasure}
</td>
<td
style={{
textAlign: 'center'

@ -57,6 +57,7 @@ export default function RtpAmazonPendingInvoices(
const loadReport = () => {
DSAmazon.AmazonPendingClasificationInvoiceGET()
.then((response) => {
console.log(response.data)
dispatch(initializeInvoice([]))
dispatch(populateInvoices(response.data))
})
@ -115,6 +116,26 @@ export default function RtpAmazonPendingInvoices(
}
const descargaPantillaPartes = () => {
let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === IDFactura)
let TotalPartidas = Invoice[0].detail.length
let TotalFraccionesPreviamenteRegistradas = Invoice[0].detail.filter((item) => item.confirmaFraccion === 3).length
if (TotalPartidas===TotalFraccionesPreviamenteRegistradas) {
setShowModal(false)
DSAmazon.TerminaClasificarFactura(IDFactura)
.then((response) => {
loadReport()
setWaitingDialog(false)
})
.catch((e: Error) => {
setHeader('Error')
setMsg(
'Ocurrio un error, no se pudo actualizar informacion' +
e.message.toString()
)
setShowMsg(true)
return
})
} else {
setShowModal(false)
setWaitingMessage('Plantilla de partes')
setWaitingDialog(true)
@ -149,6 +170,7 @@ export default function RtpAmazonPendingInvoices(
setShowMsg(true)
return
})
}
}
const facturaTerminada = (row: I2096Headers) => {
@ -229,7 +251,7 @@ export default function RtpAmazonPendingInvoices(
) {
return a
} else if (
['Clasificador lider', 'Administrador'].includes(
['Clasificador lider', 'Administrador', 'Clasificador'].includes(
Perfil
)
) {

@ -38,6 +38,10 @@ export interface IRtpAmazonPendingInvoivesDetailProps {
export default function RtpAmazonPendingInvoivesDetail(
props: IRtpAmazonPendingInvoivesDetailProps
) {
const [Perfil, setPerfil] = useState(() => {
const stickyValue = window.localStorage.getItem('Perfil')
return stickyValue !== null ? JSON.parse(stickyValue) : 0
})
const dispatch = useDispatch()
const mInvoices = useSelector(
(state: RootState) => state.AmazonInvoices.Invoice
@ -149,7 +153,21 @@ export default function RtpAmazonPendingInvoivesDetail(
}
const ColorSET = (value: number, mode: number) => {
switch(mode) {
switch (mode) {
case 1: {
if (value === 3) return '#E9F3FC'
break
}
case 2: {
if (value === 3) return '2px solid blue'
break
}
case 3: {
if (value === 3) return 'blue'
break
}
}
/* switch(mode) {
case 1: {
// Background color
if (value === 1) return '#FFFAF2'
@ -169,7 +187,7 @@ export default function RtpAmazonPendingInvoivesDetail(
if (value === 3) return 'blue'
break
}
}
} */
}
return (
@ -227,7 +245,8 @@ export default function RtpAmazonPendingInvoivesDetail(
}}
className="DetailData"
>
{props.detail.validaFraccionOriginal === 0 ? (
{
/* props.detail.validaFraccionOriginal === 0 ? (
<IconContext.Provider
value={{
color: 'orange',
@ -245,16 +264,18 @@ export default function RtpAmazonPendingInvoivesDetail(
>
<FaCheckCircle />
</IconContext.Provider>
) : props.detail.validaFraccionOriginal === 3 ? (
<IconContext.Provider
value={{
color: 'blue',
size: '20px'
}}
>
<FaCheckCircle />
</IconContext.Provider>
) : (
) : */ props.detail.validaFraccionOriginal === 3 ? (
<IconContext.Provider
value={{
color: 'blue',
size: '20px'
}}
>
<FaCheckCircle />
</IconContext.Provider>
) : (
''
) /* (
<IconContext.Provider
value={{
color: 'red',
@ -263,7 +284,8 @@ export default function RtpAmazonPendingInvoivesDetail(
>
<ImCross />
</IconContext.Provider>
)}
) */
}
</td>
<td
style={{
@ -291,14 +313,14 @@ export default function RtpAmazonPendingInvoivesDetail(
>
<CurrencyFormat
value={props.detail.fraccionGEMCO ? props.detail.fraccionGEMCO : ''}
disabled={true}
format={'######## ##'}
disabled={true}
format={'######## ##'}
displayType={'input'}
style={{
fontSize: '18px',
backgroundColor: ColorSET(props.detail.confirmaFraccion, 1),
border: ColorSET(props.detail.confirmaFraccion, 2),
color: ColorSET(props.detail.confirmaFraccion, 3),
color: ColorSET(props.detail.confirmaFraccion, 3),
width: '115px',
textAlign: 'right',
borderRadius: '10px'
@ -445,7 +467,11 @@ export default function RtpAmazonPendingInvoivesDetail(
<OverlayTrigger
placement="bottom"
overlay={
<Tooltip id="button-tooltip-2">{CumplimientoNormativo}</Tooltip>
<Tooltip id="button-tooltip-2">
{props.detail.confirmaFraccion === 2
? props.detail.cumplimientoNormativo
: ''}
</Tooltip>
}
>
{({ ref, ...triggerHandler }) => (
@ -454,7 +480,7 @@ export default function RtpAmazonPendingInvoivesDetail(
{...triggerHandler}
style={{
visibility:
CumplimientoNormativo.length === 0 ? 'hidden' : 'visible'
props.detail.confirmaFraccion === 2 ? 'visible' : 'hidden'
}}
>
<IconContext.Provider
@ -485,7 +511,7 @@ export default function RtpAmazonPendingInvoivesDetail(
{...triggerHandler}
style={{
visibility:
CumplimientoNormativo.length === 0 ? 'hidden' : 'visible'
props.detail.confirmaFraccion === 2 ? 'visible' : 'hidden'
}}
>
<IconContext.Provider
@ -511,6 +537,8 @@ export default function RtpAmazonPendingInvoivesDetail(
<Form.Check
type="checkbox"
id="Checkbox"
disabled={((Perfil!=='Clasificador Lider')&&(props.detail.confirmaFraccion===0)||(props.detail.confirmaDescripcion===0))||
((Perfil==='Clasificador')&&(props.detail.validaFraccionOriginal===3))}
onClick={() => {
checkDetail()
}}
@ -543,7 +571,6 @@ export default function RtpAmazonPendingInvoivesDetail(
<Row style={{ paddingTop: '15px' }}>
<Col xs={3}>Cumplimiento normativo</Col>
<Col xs={8}>
{' '}
<Form.Control
as="textarea"
id="RequerimientoNormativo"

@ -18,7 +18,6 @@ import { ImCross } from 'react-icons/im'
import { MsgInformativo } from '../../../../../Utils/Toast/msgInformativo'
import { ComboDescripcion } from '../../../Components/ComboSelect/ComboDescripcion'
import { ComboFraccion } from '../../../Components/ComboSelect/ComboFraccion'
import DTO2096ItemAutoriza from '../../../DTO/DTO2096ItemAutoriza'
import I2096Detail from '../../../Interfaces/I2096Detail'
import I2096Headers from '../../../Interfaces/I2096Header'
import DSAmazon from '../../../Services/Amazon.Services'
@ -247,7 +246,7 @@ export default function RptPendingAnswerFromAmazonDetail(
}}
className="DetailData"
>
{props.detail.validaFraccionOriginal === 0 ? (
{/* {props.detail.validaFraccionOriginal === 0 ? (
<IconContext.Provider
value={{
color: 'orange',
@ -283,7 +282,7 @@ export default function RptPendingAnswerFromAmazonDetail(
>
<ImCross />
</IconContext.Provider>
)}
)} */}
</td>
<td
style={{
@ -317,14 +316,16 @@ export default function RptPendingAnswerFromAmazonDetail(
props.detail.validaFraccionOriginal === 0
? '#FFFAF2 '
: '#E5F7B6',
border:
/* border:
props.detail.validaFraccionOriginal === 0
? '2px solid #F9A721'
: '2px solid green',
color:
props.detail.validaFraccionOriginal === 0
? '#5923F6'
: '#000000',
: '#000000', */
border: '2px solid #000000',
color: '@000000',
width: '115px',
textAlign: 'right',
borderRadius: '10px'
@ -342,7 +343,7 @@ export default function RptPendingAnswerFromAmazonDetail(
IDDetail={props.detail.id}
DescripcionOriginal={props.detail.pedimentoDescription}
ConfirmaDescripcion={props.detail.confirmaDescripcion}
Deshabilitado={false}
Deshabilitado={true}
Detail={props.detail}
/>
</td>
@ -427,28 +428,18 @@ export default function RptPendingAnswerFromAmazonDetail(
{props.detail.actualUnitCostMonetaryAmount}
</td>
<td
/* style={{
textAlign: 'center',
paddingLeft: '30px',
visibility:
props.detail.confirmaFraccion === 2 && props.detail.destinationHTSCode.replaceAll('.', '').trim() !==
(props.detail.fraccionGEMCO
? props.detail.fraccionGEMCO.trim()
: '')
? 'visible'
: 'hidden'
}} */
style={{visibility: EstatusSwith ? 'hidden' : 'visible'}}
/* style={{visibility: EstatusSwith ? 'hidden' : 'visible'}} */
className="DetailData"
>
<FormCheck
className="form-check form-switch form-control-lg"
id="switchEnabled"
type="switch"
disabled={
/* disabled={
props.detail.fraccionGEMCO ===
props.detail.destinationHTSCode.replaceAll('.', '')
}
} */
disabled={EstatusSwith}
checked={EstatusSwith && props.detail.autorizado}
onChange={() => {
setEstatusSwitch(!EstatusSwith)

@ -66,7 +66,7 @@ export function RptAmazonLinkInvoice2Traffic(
})
}
const downloadPDF = (id: number) => {
const downloadPDF = (id: number, InvoiceNumber: string) => {
setWaitingDialog(true)
setWaitingMessage(' archivo PDF ')
DSAmazon.PDFAmazonInvoiceGET(id)
@ -75,7 +75,7 @@ export function RptAmazonLinkInvoice2Traffic(
const url = window.URL.createObjectURL(new Blob([response.data]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', 'AmazonInvoice.pdf')
link.setAttribute('download', 'FAC_'+InvoiceNumber+'.pdf')
document.body.appendChild(link)
link.click()
setWaitingDialog(false)
@ -290,7 +290,7 @@ export function RptAmazonLinkInvoice2Traffic(
/>
</td>
<td style={{ width: '50px', textAlign: 'center' }}>
<div onClick={() => {downloadPDF(MasterData.id)}}>
<div onClick={() => {downloadPDF(MasterData.id, MasterData.invoiceNumber)}}>
<IconContext.Provider
value={{ color: 'red', size: '20px' }}
>

@ -13,23 +13,19 @@ import {
Tooltip
} from 'react-bootstrap'
import { IconContext } from 'react-icons'
import { FaCheckCircle, FaQuestionCircle } from 'react-icons/fa'
import { ImCross } from 'react-icons/im'
import { MsgInformativo } from '../../../../../Utils/Toast/msgInformativo'
import { ComboDescripcion } from '../../../Components/ComboSelect/ComboDescripcion'
import { ComboFraccion } from '../../../Components/ComboSelect/ComboFraccion'
import DTO2096ItemAutoriza from '../../../DTO/DTO2096ItemAutoriza'
import I2096Detail from '../../../Interfaces/I2096Detail'
import I2096Headers from '../../../Interfaces/I2096Header'
import DSAmazon from '../../../Services/Amazon.Services'
// Redux
import { RootState } from '../../../../../../store/store'
import { useDispatch, useSelector } from 'react-redux'
import { updateInvoice } from '../../../../../../store/features/Clientes/2096/AmazonInvoices'
import * as CurrencyFormat from 'react-currency-format'
import { AiOutlineFileSearch, AiTwotoneEdit } from 'react-icons/ai'
import { BsFillChatRightTextFill } from 'react-icons/bs'
import { BsFillChatRightTextFill, BsFillPencilFill } from 'react-icons/bs'
import DTO2096SightLine from '../../../DTO/DTO2096SightLine'
import { updateInvoice } from '../../../../../../store/features/Clientes/2096/AmazonInvoices'
import DTO2096TraficoFieldsUpdate from '../../../DTO/DTO2096TraficoFieldsUpdate'
import I2096Headers from '../../../Interfaces/I2096Header'
export interface IRtpAmazonInvoiceTrafficDetailProps {
IDMaster: number
@ -49,7 +45,7 @@ export default function RtpAmazonInvoice2TrafficDetail(
const [UserChanged, setUserChanged] = useState(false)
const [header, setHeader] = useState('')
const [show, setShowMsg] = useState(false)
const [Show, setShow] = useState(false)
//const [Show, setShow] = useState(false)
const [msg, setMsg] = useState('')
const [CumplimientoNormativo, setCumplimientoNormativo] = useState(
props.detail.cumplimientoNormativo ? props.detail.cumplimientoNormativo : ''
@ -59,13 +55,23 @@ export default function RtpAmazonInvoice2TrafficDetail(
? props.detail.comentarios
: 'Clasificacion Incorrecta'
)
const [ShowModalEdit, setShowModalEdit] = useState(false)
const [UnitMeasure, setUnitMeasure] = useState('')
const [UnitOfMeasure, setUnitOfMeasure] = useState('')
const [UnitCost, setUnitCost] = useState('')
const [Quantity, setQuantity] = useState(0)
const [ItemId, setItemId] = useState('')
const [ItemDescription, setItemDescription] = useState('')
const [FraccionGEMCO, setFraccionGEMCO] = useState('')
const [DescripcionGEMCO, setDescripcionGEMCO] = useState('')
const msgColor = 'primary'
const openLink = (item: string) => {
window.open('https://www.amazon.com/dp/' + item)
}
/* const target = React.useRef(null)
const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => {
const UpdateInvoiceDetail = (
Invoice: I2096Headers,
Detail: I2096Detail[]
) => {
const updatedInvoice: I2096Headers = {
id: props.IDMaster,
referencia: Invoice.referencia,
@ -93,14 +99,37 @@ export default function RtpAmazonInvoice2TrafficDetail(
archivo: Invoice.archivo,
fCreacion: Invoice.fCreacion,
clasificador: Invoice.clasificador,
noVuelta: Invoice.noVuelta,
estatus: Invoice.estatus,
max: true,
detail: Detail
}
dispatch(updateInvoice(updatedInvoice))
} */
}
const editInvoice = (id: number) => {
const Invoice = mInvoices
.filter((el) => el.id === props.IDMaster)
.map((el) => {
return el
})
const newDetails = Invoice[0].detail.map((el) => {
if (el.id === id) {
return {
...el,
itemQuantityUnitOfMeasure: UnitMeasure,
weightValue: UnitOfMeasure,
actualUnitCostMonetaryAmount: UnitCost,
totalUnitValueMonetaryAmount: (el.quantity * parseFloat(UnitCost)).toString()
}
}
return el
})
UpdateInvoiceDetail(Invoice[0], newDetails)
}
/* const autoriceItem = (id: number) => {
/* const autoriceItem = (id: number) => {
if (CumplimientoNormativo.length === 0 && EstatusSwith) {
setHeader('Error')
setMsg(
@ -137,11 +166,42 @@ export default function RtpAmazonInvoice2TrafficDetail(
})
}
/* useEffect(() => {
/* useEffect(() => {
if (UserChanged && EstatusSwith && !props.detail.fraccionGEMCO)
autoriceItem(props.detail.id)
}, [EstatusSwith, UserChanged]) */
const saveFields = () =>{
const data: DTO2096TraficoFieldsUpdate = {
id: props.detail.id,
UnitMeasure: UnitMeasure,
UnitOfMeasure: parseFloat(UnitOfMeasure),
UnitCost: parseFloat(UnitCost)
}
DSAmazon.TrafficFieldsUpdate(data)
.then((response) => {
/*
itemQuantityUnitOfMeasure: UnitMeasure,
weightValue: UnitOfMeasure,
actualUnitCostMonetaryAmount: UnitCost
*/
setUnitMeasure(response.data.itemQuantityUnitOfMeasure)
setUnitOfMeasure(response.data.weightValue)
setUnitCost(response.data.actualUnitCostMonetaryAmount)
editInvoice(props.detail.id)
setHeader('Informativo')
setMsg('La informacion se guardo exitosamente')
setShowMsg(true)
return
})
.catch((e: Error) => {
setHeader('Error')
setMsg('Ocurrio un error')
setShowMsg(true)
return
})
}
useEffect(() => {
if (UserChanged) setShowModal(true)
}, [EstatusSwith, UserChanged])
@ -323,7 +383,6 @@ export default function RtpAmazonInvoice2TrafficDetail(
CumplimientoNormativo.length === 0 ? 'hidden' : 'visible'
}}
>
{' '}
<OverlayTrigger
placement="bottom"
overlay={
@ -351,7 +410,6 @@ export default function RtpAmazonInvoice2TrafficDetail(
CumplimientoNormativo.length === 0 ? 'hidden' : 'visible'
}}
>
{' '}
<OverlayTrigger
placement="bottom"
overlay={<Tooltip id="button-tooltip-2">{Comentarios}</Tooltip>}
@ -372,93 +430,120 @@ export default function RtpAmazonInvoice2TrafficDetail(
</OverlayTrigger>
</td>
<td>
<IconContext.Provider
value={{
color: 'green',
size: '25px'
}}
>
<AiTwotoneEdit />
</IconContext.Provider>
<div
style={{ cursor: 'pointer' }}
onClick={() => {
setItemId(props.detail.itemId)
setItemDescription(props.detail.itemDescription)
setDescripcionGEMCO(props.detail.descripcionGEMCO)
setUnitMeasure(props.detail.itemQuantityUnitOfMeasure)
setUnitOfMeasure(props.detail.weightValue)
setUnitCost(props.detail.actualUnitCostMonetaryAmount)
setFraccionGEMCO(props.detail.fraccionGEMCO)
setShowModalEdit(true)
}}
>
<IconContext.Provider
value={{
color: 'blue',
size: '25px'
}}
>
<BsFillPencilFill />
</IconContext.Provider>
</div>
</td>
</tr>
{/* <Modal
show={ShowModal}
<Modal
show={ShowModalEdit}
onHide={() => {
setShowModal(false)
setShowModalEdit(false)
}}
size={'sm'}
dialogClassName={'modal-50w'}
>
<Modal.Body>
<div style={{ height: '280px' }}>
<Row style={{ paddingTop: '15px' }}>
<Col xs={1}></Col>
<Col xs={10}>
<Alert key={'danger'} variant={'danger'}>
¿Esta seguro que esta fraccion ya la autorizo Amazon?
<div style={{ height: '230px' }}>
<Row>
<Col xs={12}>
<Alert key="warning" variant="warning">
<span style={{fontWeight:'bold'}}>No Parte:</span> {ItemId} <br/>
<span style={{fontWeight:'bold'}}>Fraccion GEMCO:</span> {FraccionGEMCO} <br/>
<span style={{fontWeight:'bold'}}>Descripcion GEMCO:</span> {DescripcionGEMCO}
</Alert>
</Col>
<Col xs={1}></Col>
</Row>
<Row style={{ paddingTop: '15px' }}>
<Col xs={3}>Cumplimiento normativo</Col>
<Col xs={8}>
{' '}
<Row>
<Col xs={3}>Unit Measure:</Col>
<Col xs={3}>
<Form.Control
as="textarea"
id="RequerimientoNormativo"
type="text"
id="Search"
size="sm"
value={CumplimientoNormativo}
onChange={(e) => setCumplimientoNormativo(e.target.value)}
value={UnitMeasure}
onChange={(e) => setUnitMeasure(e.target.value)}
/>
</Col>
<Col>&nbsp;</Col>
</Row>
<Row style={{ paddingTop: '15px' }}>
<Col xs={3}>Comentarios</Col>
<Col xs={8}>
{' '}
<Form.Control
as="textarea"
id="Comentarios"
size="sm"
value={
Comentarios.length
? Comentarios
: 'Clasificacion incorrecta.'
}
onChange={(e) => setComentarios(e.target.value)}
<Row style={{paddingTop:'5px'}}>
<Col xs={3}>Unit of Measure:</Col>
<Col xs={3}>
<CurrencyFormat
onValueChange={(values: any) => {
const { value } = values
setUnitOfMeasure(value)
}}
/* format={'########.##'} */
value={UnitOfMeasure}
displayType={'input'}
style={{
fontSize: '18px',
backgroundColor: '#F1EEF9',
border: '2px solid #5923F6',
color: '#5923F6',
width: '120px',
textAlign: 'right',
borderRadius: '10px'
}}
/>
</Col>
<Col>&nbsp;</Col>
</Row>
<Row style={{ paddingTop: '15px' }}>
<Col xs={6} style={{ textAlign: 'center' }}>
<Button
variant="secondary"
onClick={() => {
setShowModal(false)
<Row style={{paddingTop:'5px'}}>
<Col xs={3}>Unit Cost:</Col>
<Col xs={3}>
<CurrencyFormat
onValueChange={(values: any) => {
const { value } = values
setUnitCost(value)
}}
>
&nbsp;&nbsp;No&nbsp;&nbsp;
</Button>
/* format={'########.##'} */
value={UnitCost}
displayType={'input'}
style={{
fontSize: '18px',
backgroundColor: '#F1EEF9',
border: '2px solid #5923F6',
color: '#5923F6',
width: '120px',
textAlign: 'right',
borderRadius: '10px'
}}
/>
</Col>
<Col xs={6} style={{ textAlign: 'center' }}>
<Button
variant="danger"
<Col xs={4}></Col>
<Col xs={2}><Button
variant="primary"
onClick={() => {
autoriceItem(props.detail.id)
saveFields()
}}
>
&nbsp;&nbsp;Si&nbsp;&nbsp;
</Button>
</Col>
&nbsp;&nbsp;Guardar&nbsp;&nbsp;
</Button></Col>
</Row>
</div>
</Modal.Body>
</Modal> */}
</Modal>
<Modal
show={ShowModal}
onHide={() => {
@ -466,9 +551,7 @@ export default function RtpAmazonInvoice2TrafficDetail(
}}
size={'sm'}
dialogClassName={'modal-50w'}
backdrop="static"
disableEscapeKeyDown={true}
>
>
<Modal.Body>
<div style={{ height: '150px' }}>
<Row style={{ paddingTop: '15px' }}>

@ -14,6 +14,7 @@ import DTO2096LinkInvoice2Reference from '../DTO/DTO2096LinkInvoice2Reference'
import DTO2096Estatus from '../DTO/DTO2096Estatus'
import DTO2096NoParte from '../DTO/DTO2096NoParte'
import I2096NoParteLog from '../Interfaces/I2096NoParteLog'
import DTO2096TraficoFieldsUpdate from '../DTO/DTO2096TraficoFieldsUpdate'
class AmazonDataService {
AmazonPendingClasificationInvoiceGET() {
@ -134,7 +135,9 @@ class AmazonDataService {
AsignaFacturasReferencia(data: DTO2096LinkInvoice2Reference) {
return http.post<Boolean>(`/AmazonInvoice/AsignaFacturasReferencia`, data)
}
TrafficFieldsUpdate(data: DTO2096TraficoFieldsUpdate) {
return http.put<I2096Detail>(`/AmazonInvoice/TrafficFieldsUpdate`, data)
}

@ -4,5 +4,6 @@ export class TargetURL {
? 'https://localhost:5001/api'
//: "http://reportes.gemcousa.com:5000/api";
: "https://www.gemcousa.mx/GEMCOBackend/api";
//: "https://www.alphaomega.com.mx/AOLBackend/api";
}
}

@ -45,7 +45,7 @@ import RtpAmazonFinishedClasificationInvoices from './Components/Clientes/Amazon
import { AmazonNoPartes } from './Components/Clientes/Amazon/Reportes/AmazonNoPartes'
import { RptAmazonPendingTraficInvoice } from './Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice'
import { RptAmazonLinkInvoice2Traffic } from './Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic'
import RptPendingAnswerFromAmazon from './Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswer/RptPendingAnswerFromAmazon'
import RptPendingAnswerFromAmazon from './Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazon'
function PageNotFound() {
return (

Loading…
Cancel
Save