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