parent
4a112b8c14
commit
62bfd90979
@ -0,0 +1,144 @@ |
||||
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 IComboFraccionProps { |
||||
IDDetail: number |
||||
FraccionOriginal: string |
||||
} |
||||
|
||||
export function ComboFraccion (props: IComboFraccionProps) { |
||||
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) => { |
||||
setShowModal(false) |
||||
setHeader('Confirmacion') |
||||
setMsg('La descripcion se ha guardado correctamente') |
||||
setShowMsg(true) |
||||
return |
||||
}) |
||||
.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) => { |
||||
setShowModal(false) |
||||
setHeader('Confirmacion') |
||||
setMsg('La descripcion se ha guardado correctamente') |
||||
setShowMsg(true) |
||||
return |
||||
}) |
||||
.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.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,29 @@ |
||||
import { useState } from 'react'; |
||||
import * as CurrencyFormat from 'react-currency-format' |
||||
|
||||
export interface ITextBoxDescripcionProps { |
||||
Descripcion: string | null |
||||
} |
||||
|
||||
export function TextBoxDescripcion (props: ITextBoxDescripcionProps) { |
||||
const [Descripcion, setDescripcion] = useState(props.Descripcion) |
||||
return ( |
||||
<div> |
||||
<CurrencyFormat |
||||
value={Descripcion} |
||||
disabled={true} |
||||
displayType={'input'} |
||||
style={{ |
||||
fontSize: '18px', |
||||
backgroundColor: '#F1EEF9', |
||||
border: '2px solid #5923F6', |
||||
color: '#5923F6', |
||||
width: '115px', |
||||
textAlign: 'right', |
||||
borderRadius: '10px' |
||||
}} |
||||
/> |
||||
</div> |
||||
); |
||||
} |
||||
|
@ -0,0 +1,4 @@ |
||||
export default interface DTO2096Descripcion { |
||||
id: number, |
||||
descripcion: string |
||||
} |
@ -0,0 +1,47 @@ |
||||
export default interface DTO2096PrevioExcel { |
||||
Consecutivo: string |
||||
ClaveCliente: string |
||||
Parte: string |
||||
ClaveProveedor: string |
||||
TipoOperacion: string |
||||
Fraccion: string |
||||
SubDivisión: string |
||||
DescripcionTIGIE: string |
||||
DescripcionFactura: string |
||||
DescripcionAgenteAduanal: string |
||||
UMFactura: string |
||||
UMComercial: string |
||||
UMTarifa: string |
||||
PrecioUnitario: string |
||||
PaisOrigenDestino: string |
||||
PaisCompradorVendedor: string |
||||
CodigoBarras: string |
||||
CodigoControlInterno: string |
||||
FamiliaProducto: string |
||||
Vinculacion: string |
||||
CodigoPreferencial: string |
||||
MetodoValoración: string |
||||
AplicaTLC: string |
||||
MontoDesgravacion: string |
||||
TipoArancel: string |
||||
TasaArancelEspecifico: string |
||||
TasaMaximaAdvalorem: string |
||||
UM: string |
||||
ES: string |
||||
Peso: string |
||||
Observaciones: string |
||||
ValorMinimo: string |
||||
UMCove: string |
||||
ClaveModificacion: string |
||||
DescripcionCertificado: string |
||||
TipoUsoMercancia: string |
||||
Exotico: string |
||||
Registro: string |
||||
TipoRegistro: string |
||||
FechaEmision: string |
||||
FechaVencimiento: string |
||||
Producto: string |
||||
UMCFDI: string |
||||
UMEmbalaje: string |
||||
IdParte99Update: string |
||||
} |
Loading…
Reference in new issue