import { Form, Input, Button, Spin, Row, Col, Switch, Select as AntdSelect, Checkbox } from 'antd' import { useEffect, useMemo, useState } from 'react' import HttpService from '../../services/httpService' import { respuestas } from '../../utilities' import { useNavigate } from 'react-router-dom' import { useQuery, useModel } from '../../hooks' import { commonRules } from '../../constants/rules' import { Select } from '../../components' const selectores = { productos: { name: "producto", expand: "subproductos", }, } const endpoints = { condicionante: "condicionante", }; const amplitudes = [ { value: "Familia", label: "Familia", }, { value: "Familia (Varios)", label: "Familia (Varios)", }, ] const fines = [ { value: "Consumo Humano", label: "Consumo Humano", }, { value: "Polinización", label: "Polinización", } ] const tipos = [ { value: "Introducción", label: "Introducción", }, { value: "Expotación", label: "Expotación", }, { value: "Tránsito", label: "Tránsito", }, { value: "Movilización (Salida)", label: "Movilización (Salida)", }, { value: "Importación", label: "Importación", } ] const ProductoDetalle = () => { const [form] = Form.useForm() const navigate = useNavigate() const [loading, setLoading] = useState(false) const query = useQuery() const id = query.get("id") const [request, setRequest] = useState({}) const [activa, setActiva] = useState(false) const [subproductos, setSubproductos] = useState([]) // const extraParams = useMemo(() => ({ // idAgenda: id, // }), [id]) const requestParams = useMemo(() => ({ name: endpoints.condicionante, // expand: 'subproductos', id, // extraParams }), [id]) const { model, modelLoading } = useModel(request) useEffect(() => { if (id) { setRequest(requestParams) } return () => { setRequest({}) } }, [id, requestParams]) useEffect(() => { if (model) { form.setFieldsValue({ //seteo cuando son varios ...model, subproductos: model.subproductos.map((subproducto, index) => ({ ...subproducto, key: index })) }) if (model?.activa) { setActiva(true) } } }, [form, model]) const onFinish = async (values) => { try { setLoading(true); let body = { ...values, }; if (id) { body.id = id } const res = await HttpService.post(`${endpoints.producto}/guardar`, body); respuestas(res); if (res?.status === 200) { navigate('/condicionantes') } } catch (error) { console.log(error); setLoading(false); } finally { setLoading(false); } } if (modelLoading) { return } return (
{ }} >

Información del Condicionante

setActiva(checked)} /> option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 } > {amplitudes.map((amplitud) => ( {amplitud.label} ))} {fines.map((fin) => ( {fin.label} ))} {tipos.map((tipo) => ( {tipo.label} ))}