OscarGil03 1 anno fa
parent
commit
db169fb0b1
1 ha cambiato i file con 10 aggiunte e 7 eliminazioni
  1. 10 7
      src/views/condicionantes/CondicionanteDetalle.jsx

+ 10 - 7
src/views/condicionantes/CondicionanteDetalle.jsx

@@ -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>}