/**Step 8 */ // al menos un beneficiario function Beneficiaries({beneficiariesList, onBeneficiariesListChange}) { const [openCreateDialog, setOpenCreateDialog] = React.useState(false) const styles = { tableCell: { padding: '4px 24px', }, button: { marginTop: '20px', float: 'right' }, icon: { fontSize: '20px', marginLeft: '5px', paddingBottom: '2px', }, buttonAdd: { float: 'right', }, buttonGiveMoney: { marginTop: '5px', } } const headers = [ 'Nombre', 'Parentesco', 'Porcentaje', 'Direccion' ] function handleDelete(element, index) { beneficiariesList.splice(index, 1) onBeneficiariesListChange([...beneficiariesList]) } return( Beneficiarios { headers.map((header, index) => {header} ) } Acciones { beneficiariesList.length > 0 ? beneficiariesList.map((item, index) => {item.name} {item.parenthood} {item.percent} {item.address} handleDelete(item, index)}> delete ) : No se han ingresado beneficiarios. }
) } function BeneficiariesDialog({onBeneficiariesListChange, open, setOpenCreateDialog, beneficiariesList = [BeneficiariesModel]}) { const [beneficiaries, setBeneficiaries] = React.useState(BeneficiariesModel) const [hasError, setHasError] = React.useState(false) const [snackBar, setSnackBar] = React.useState({ open: false, message: "ups" }) function handleClose() { setBeneficiaries(BeneficiariesModel) setOpenCreateDialog(false) } function handleSave(){ debugger let totalPercent = beneficiariesList.reduce((comulative, beneficiary) => comulative + beneficiary["percent"], 0 ) if (totalPercent + beneficiaries.percent > 100){ setSnackBar({ open: true, message: 'El porcentaje seria mayor al 100%' }) return } if( !isRequired(beneficiaries.name) && !isRequired(beneficiaries.parenthood) && !isRequired(beneficiaries.address) && !isPercent(beneficiaries.percent) ){ beneficiariesList.push(beneficiaries) onBeneficiariesListChange(beneficiariesList) setBeneficiaries(BeneficiariesModel) setOpenCreateDialog(false) }else{ setHasError(true) return } } return( Agregar Beneficiario setBeneficiaries({...beneficiaries, name: ev.target.value})} error={hasError && isRequired(beneficiaries.name)} helperText={hasError && isRequired(beneficiaries.name) && "Campo requerido"} label="Nombre:" margin="normal" /> setBeneficiaries({...beneficiaries, parenthood: ev.target.value})} error={hasError && isRequired(beneficiaries.parenthood)} helperText={hasError && isRequired(beneficiaries.parenthood) && "Campo requerido"} label="Parentesco:" margin="normal" /> setBeneficiaries({...beneficiaries, percent: Number(ev.target.value)})} error={hasError && isPercent(beneficiaries.percent)} helperText={hasError && isPercent(beneficiaries.percent) && "Campo requerido"} label="Porcentaje:" margin="normal" type="number" /> setBeneficiaries({...beneficiaries, address: ev.target.value})} error={hasError && isRequired(beneficiaries.address)} helperText={hasError && isRequired(beneficiaries.address) && "Campo requerido"} label="Domicilio (Calle, #, Colonia, C.P):" margin="normal" /> setBeneficiaries({...beneficiaries, birthday_date: ev.target.value})} error={hasError && isRequired(beneficiaries.birthday_date)} helperText={hasError && isRequired(beneficiaries.birthday_date) && "Campo requerido"} label="Fecha de nacimiento:" margin="normal" type="date" InputLabelProps={{ shrink: true, }} /> ) }