parent
e72f805d4a
commit
4a112b8c14
@ -1,19 +1,137 @@ |
||||
import * as React from 'react'; |
||||
import { Form } from 'react-bootstrap'; |
||||
import * as React from 'react' |
||||
import { useState } from 'react' |
||||
import { Button, Col, Form, Modal, Row } from 'react-bootstrap' |
||||
import * as CurrencyFormat from 'react-currency-format' |
||||
import { MsgInformativo } from '../../../../Utils/Toast/msgInformativo' |
||||
import DTO2096Fraccion from '../../DTO/DTO2096Fraccion' |
||||
import DSAmazon from '../../Services/Amazon.Services' |
||||
|
||||
export interface IComboSelectProps { |
||||
IDDetail: number |
||||
FraccionOriginal: string |
||||
} |
||||
|
||||
export function ComboSelect (props: IComboSelectProps) { |
||||
export function ComboSelect(props: IComboSelectProps) { |
||||
const [Validacion, setValidacion] = useState(0) |
||||
const [showModal, setShowModal] = useState(false) |
||||
const [Fraccion, setFraccion] = useState('') |
||||
const [header, setHeader] = useState('') |
||||
const [show, setShowMsg] = useState(false) |
||||
const [msg, setMsg] = useState('') |
||||
const msgColor = 'primary' |
||||
|
||||
const changeValidacion = (e: number) => { |
||||
setValidacion(e) |
||||
if (e === 2) { |
||||
setShowModal(true) |
||||
} |
||||
if (e === 1) { |
||||
const data: DTO2096Fraccion = { |
||||
id: props.IDDetail, |
||||
fraccion: props.FraccionOriginal |
||||
} |
||||
DSAmazon.SetFraccion(data) |
||||
.then((response) => { |
||||
alert('Se guardo correctamente la fraccion GEMCO') |
||||
}) |
||||
.catch((e: Error) => { |
||||
alert('Ocurrio un error' + e.message.toString()) |
||||
}) |
||||
} |
||||
} |
||||
|
||||
const saveFraccion = () => { |
||||
DSAmazon.GetValidaFraccion(Fraccion) |
||||
.then((response) => { |
||||
if (response.data.respuesta === 'Si') { |
||||
const data: DTO2096Fraccion = { |
||||
id: props.IDDetail, |
||||
fraccion: Fraccion |
||||
} |
||||
DSAmazon.SetFraccion(data) |
||||
.then((response) => { |
||||
alert('Se guardo correctamente la fraccion GEMCO') |
||||
}) |
||||
.catch((e: Error) => { |
||||
alert('Ocurrio un error' + e.message.toString()) |
||||
}) |
||||
} else { |
||||
alert( |
||||
'Esa fraccion no existe, favor de verificarla antes de poder guardar...' |
||||
) |
||||
return |
||||
} |
||||
}) |
||||
.catch((e: Error) => { |
||||
alert('Ocurrio un error' + e.message.toString()) |
||||
}) |
||||
} |
||||
|
||||
return ( |
||||
<div> |
||||
<Form.Group> |
||||
<Form.Select> |
||||
<option value=''> </option> |
||||
<option value='1'> = </option> |
||||
<option value='2'> != </option> |
||||
</Form.Select> |
||||
</Form.Group> |
||||
<Form.Control |
||||
as="select" |
||||
className="form-select form-select-sm" |
||||
onChange={(e) => changeValidacion(parseInt(e.target.value))} |
||||
value={Validacion} |
||||
> |
||||
<option value="0"> </option> |
||||
<option value="1"> = </option> |
||||
<option value="2"> != </option> |
||||
</Form.Control> |
||||
<Modal |
||||
show={showModal} |
||||
onHide={() => { |
||||
setShowModal(false) |
||||
}} |
||||
size={'sm'} |
||||
dialogClassName={'modal-50w'} |
||||
> |
||||
<Modal.Body> |
||||
<Row> |
||||
<Col xs={2}></Col> |
||||
<Col xs={4}>Proporcione la facccion GEMCO</Col> |
||||
<Col xs={3}> |
||||
<CurrencyFormat |
||||
onValueChange={(values: any) => { |
||||
const { value } = values |
||||
setFraccion(value) |
||||
}} |
||||
format={'######## ##'} |
||||
value={Fraccion} |
||||
displayType={'input'} |
||||
style={{ |
||||
fontSize: '18px', |
||||
backgroundColor: '#F1EEF9', |
||||
border: '2px solid #5923F6', |
||||
color: '#5923F6', |
||||
width: '120px', |
||||
textAlign: 'right', |
||||
borderRadius: '10px' |
||||
}} |
||||
/> |
||||
</Col> |
||||
<Col xs={3}> |
||||
<Button |
||||
onClick={() => { |
||||
saveFraccion() |
||||
}} |
||||
> |
||||
Guardar |
||||
</Button> |
||||
</Col> |
||||
</Row> |
||||
</Modal.Body> |
||||
</Modal> |
||||
<MsgInformativo |
||||
show={show} |
||||
msg={msg} |
||||
header={header} |
||||
msgColor={msgColor} |
||||
closeToast={() => { |
||||
setShowMsg(false) |
||||
}} |
||||
/> |
||||
</div> |
||||
); |
||||
) |
||||
} |
||||
|
@ -0,0 +1,4 @@ |
||||
export default interface DTO2096Fraccion { |
||||
id: number, |
||||
fraccion: string |
||||
} |
@ -0,0 +1,35 @@ |
||||
export default interface I2096Detail { |
||||
id: number |
||||
idHeader: number |
||||
invoiceNumber: string |
||||
amazonShipmentReferenceId: string |
||||
trailerId: string |
||||
itemId: string |
||||
itemIdType: string |
||||
itemDescription: string |
||||
pedimentoDescription: string |
||||
destinationHTSCode: string |
||||
validaFraccionOriginal: number |
||||
fraccionGEMCO: string |
||||
sourceHTSCode: string |
||||
eccn: string |
||||
licEx: string |
||||
countryOfOrigin: string |
||||
productGroup: string |
||||
upc: string |
||||
brand: string |
||||
model: string |
||||
itemQuantityUnitOfMeasure: string |
||||
quantity: number |
||||
netWeightUnitOfMeasure: string |
||||
weightValue: string |
||||
actualUnitCostChargeOrAllowance: string |
||||
actualUnitCostCurrencyISOCode: string |
||||
actualUnitCostMonetaryAmount: string |
||||
totalUnitValueChargeOrAllowance: string |
||||
totalUnitValueCurrencyISOCode: string |
||||
totalUnitValueMonetaryAmount: string |
||||
archivo: string |
||||
fCreacion: string |
||||
estatus: number |
||||
} |
@ -1,9 +1,18 @@ |
||||
import http from '../../../../Services/common/http-common' |
||||
import I2096Headers from '../Interfaces/I2096Header' |
||||
import IRespuesta from '../../../../Interfaces/IRespuesta' |
||||
import DTO2096Fraccion from '../DTO/DTO2096Fraccion' |
||||
import I2096Detail from '../Interfaces/I2096Detail' |
||||
|
||||
class AmazonDataService { |
||||
GetPendingInvoice() { |
||||
return http.get<I2096Headers[]>(`/AmazonInvoice/C2096PendingInvoiceGet`) |
||||
} |
||||
GetValidaFraccion(Fraccion: string) { |
||||
return http.get<IRespuesta>(`/AmazonInvoice/C2096ValidaFraccion?Fraccion=${Fraccion}`) |
||||
} |
||||
SetFraccion(data: DTO2096Fraccion) { |
||||
return http.post<I2096Detail>(`/AmazonInvoice/C2096FraccionSet`, data) |
||||
} |
||||
} |
||||
export default new AmazonDataService() |
||||
|
Loading…
Reference in new issue