|
@@ -46,6 +46,7 @@ const CondicionanteDetalle = () => {
|
|
|
const [fines, setFines] = useState([]);
|
|
|
const [tipos, setTipos] = useState([]);
|
|
|
const [estados, setEstados] = useState([]);
|
|
|
+ const [selectedSubproductos, setSelectedSubproductos] = useState([]);
|
|
|
const [selectedFines, setSelectedFines] = useState([]);
|
|
|
const [selectedTipos, setSelectedTipos] = useState([]);
|
|
|
const [selectedOrigenes, setSelectedOrigenes] = useState([]);
|
|
@@ -55,13 +56,14 @@ const CondicionanteDetalle = () => {
|
|
|
const requestParams = useMemo(() => ({
|
|
|
name: endpoints.condicionante,
|
|
|
id,
|
|
|
+ expand: 'condicionanteFin,condicionanteTipo,condicionanteOrigen,condicionanteDestino'
|
|
|
}), [id]);
|
|
|
|
|
|
const { model, modelLoading } = useModel(request);
|
|
|
|
|
|
useEffect(() => {
|
|
|
if (id) {
|
|
|
- setRequest({ ...requestParams, expand: 'condicionanteFin,condicionanteTipo,condicionanteOrigen,condicionanteDestino' });
|
|
|
+ setRequest(requestParams);
|
|
|
}
|
|
|
return () => {
|
|
|
setRequest({});
|
|
@@ -72,7 +74,7 @@ const CondicionanteDetalle = () => {
|
|
|
if (model) {
|
|
|
let parsedSubproductos = [];
|
|
|
try {
|
|
|
- parsedSubproductos = JSON.parse(model.subproductos);
|
|
|
+ parsedSubproductos = JSON.parse(model.subproductos) || [];
|
|
|
} catch (e) {
|
|
|
console.error("Error parsing subproductos:", e);
|
|
|
}
|
|
@@ -86,7 +88,7 @@ const CondicionanteDetalle = () => {
|
|
|
destinos: model.condicionanteDestino.map(destino => destino.idDestino),
|
|
|
});
|
|
|
setActiva(model?.activa ?? false);
|
|
|
- setSubproductos(parsedSubproductos ?? []);
|
|
|
+ setSelectedSubproductos(parsedSubproductos);
|
|
|
setSelectedFines(model.condicionanteFin.map(fin => fin.idFin));
|
|
|
setSelectedTipos(model.condicionanteTipo.map(tipo => tipo.idTipo));
|
|
|
setSelectedOrigenes(model.condicionanteOrigen.map(origen => origen.idOrigen));
|
|
@@ -222,7 +224,7 @@ const CondicionanteDetalle = () => {
|
|
|
/>
|
|
|
</Form.Item>
|
|
|
</Col>
|
|
|
- <Divider style={{margin: '8px 0', borderColor: 'transparent'}}/>
|
|
|
+ <Divider style={{ margin: '8px 0', borderColor: 'transparent' }} />
|
|
|
<Col md={12} xs={24}>
|
|
|
<Form.Item
|
|
|
label={<Text strong>Fines de Movilización</Text>}
|
|
@@ -261,7 +263,7 @@ const CondicionanteDetalle = () => {
|
|
|
</Checkbox.Group>
|
|
|
</Form.Item>
|
|
|
</Col>
|
|
|
- <Divider style={{margin: '8px 0', borderColor: 'transparent'}}/>
|
|
|
+ <Divider style={{ margin: '8px 0', borderColor: 'transparent' }} />
|
|
|
<Col md={12} xs={24}>
|
|
|
<Form.Item
|
|
|
label={<Text strong>Especies</Text>}
|
|
@@ -276,6 +278,7 @@ const CondicionanteDetalle = () => {
|
|
|
extraParams={{ padre: true }}
|
|
|
onChange={(_, item) => {
|
|
|
setSubproductos(item?.subproductos || []);
|
|
|
+ setSelectedSubproductos(form.getFieldValue('subproductos'));
|
|
|
}}
|
|
|
/>
|
|
|
</Form.Item>
|
|
@@ -285,7 +288,7 @@ const CondicionanteDetalle = () => {
|
|
|
label={<Text strong>Subproductos</Text>}
|
|
|
name="subproductos"
|
|
|
>
|
|
|
- <Checkbox.Group value={subproductos.map(sp => sp.id)} onChange={setSubproductos} style={{ width: '100%' }}>
|
|
|
+ <Checkbox.Group value={selectedSubproductos} onChange={setSelectedSubproductos} style={{ width: '100%' }}>
|
|
|
<Row>
|
|
|
{subproductos.map((subproducto) => (
|
|
|
<Col span={24} key={subproducto.id}>
|
|
@@ -296,7 +299,7 @@ const CondicionanteDetalle = () => {
|
|
|
</Checkbox.Group>
|
|
|
</Form.Item>
|
|
|
</Col>
|
|
|
- <Divider style={{margin: '8px 0', borderColor: 'transparent'}}/>
|
|
|
+ <Divider style={{ margin: '8px 0', borderColor: 'transparent' }} />
|
|
|
<Col md={12} xs={24}>
|
|
|
<Form.Item
|
|
|
label={<Text strong>Descripción</Text>}
|