diff --git a/backend/api/v1/modules/a76/parts/service.py b/backend/api/v1/modules/a76/parts/service.py index 16b06872..e6073ebb 100644 --- a/backend/api/v1/modules/a76/parts/service.py +++ b/backend/api/v1/modules/a76/parts/service.py @@ -138,6 +138,7 @@ class PartService: def create(cls, db: Session, part_data: PartCreateDTO, tenant_id: int, company_id: int) -> Part: # 1. Preparar datos data = part_data.model_dump() + print(f"DEBUG: PartService.create - full data: {data}") # Separar datos anidados fa_dict = data.pop('fa_data', None) @@ -316,6 +317,7 @@ class PartService: @classmethod def update(cls, db: Session, part_id: int, tenant_id: int, part_data: PartUpdateDTO, company_id: int) -> Optional[Part]: + print(f"DEBUG: PartService.update - part_id={part_id}, data={part_data.model_dump(exclude_unset=True)}") db_part = PartService.get_by_id(db, part_id, tenant_id, company_id) if not db_part: return None diff --git a/frontend/src/lib/components/dashboard/goods/parts/partForm.svelte b/frontend/src/lib/components/dashboard/goods/parts/partForm.svelte index 76b214ba..ab28cdb3 100644 --- a/frontend/src/lib/components/dashboard/goods/parts/partForm.svelte +++ b/frontend/src/lib/components/dashboard/goods/parts/partForm.svelte @@ -56,6 +56,7 @@ import { clientsProvidersApi } from '$lib/api/dashboard/a76/clients-providers'; import { classesApi } from '$lib/api/dashboard/a76/classes'; import { materialTypesApi } from '$lib/api/dashboard/a76/material-types'; + import { countriesApi } from '$lib/api/dashboard/reference_data/countries'; // Modales import { @@ -640,6 +641,7 @@ if (d.part_class) await fetchClassDesc(d.part_class, companyId); if (d.inv_data?.material_type) await fetchMaterialName(d.inv_data.material_type); await fetchSectorDesc(formData.sector); + if (formData.origin_country) await fetchCountryName(formData.origin_country); } } catch (e) { console.error(e); @@ -714,6 +716,19 @@ } } + async function fetchCountryName(code: string) { + selectedCountryName = ''; + if (!code) return; + try { + const res = await countriesApi.get(code); + if (res.data) { + selectedCountryName = res.data.description_es || res.data.description_en || ''; + } + } catch (e) { + console.error('Error fetching country name', e); + } + } + // --- HANDLERS --- function handleClientSelect(client: any) { if (modalContext === 'non_discharge') { @@ -1808,6 +1823,35 @@ > + +
+ +
+
+ + (showCountryModal = true)} + onkeydown={(event) => + openOnEnterOrSpace(event, () => (showCountryModal = true))} + tabindex="0" + class="cursor-pointer pl-9 transition-colors hover:bg-muted/50" + placeholder="Seleccione..." + /> +
+ +
+