fix: update part_number and component_part_number fields in various schemas and components
This commit is contained in:
@@ -125,8 +125,8 @@ export interface LineItem {
|
||||
line_number: number;
|
||||
|
||||
// Identification
|
||||
part_number_id?: string;
|
||||
component_part_number_id?: string;
|
||||
part_number?: string;
|
||||
component_part_number?: string;
|
||||
class_id?: number;
|
||||
identifier?: string;
|
||||
|
||||
@@ -244,7 +244,7 @@ export const itemsApi = {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.get<ItemListResponse>(`/v1/a76/items/invoice/${invoiceId}/items/?${params.toString()}`);
|
||||
return api.get<ItemListResponse>(`/v1/a76/items/invoice/${invoiceId}/items?${params.toString()}`);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -264,7 +264,7 @@ export const itemsApi = {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.post<Item>(`/v1/a76/items/?${params.toString()}`, data);
|
||||
return api.post<Item>(`/v1/a76/items?${params.toString()}`, data);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -274,7 +274,7 @@ export const itemsApi = {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.put<Item>(`/v1/a76/items/${itemId}/?${params.toString()}`, data);
|
||||
return api.put<Item>(`/v1/a76/items/${itemId}?${params.toString()}`, data);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -284,6 +284,6 @@ export const itemsApi = {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.delete(`/v1/a76/items/${itemId}/?${params.toString()}`);
|
||||
return api.delete(`/v1/a76/items/${itemId}?${params.toString()}`);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -232,7 +232,6 @@
|
||||
const activeCompanyId = companyStore.activeCompany?.id;
|
||||
if (!activeCompanyId) { error = 'No hay una compañía activa seleccionada'; return; }
|
||||
if (!formData.client_id) { error = 'Debe seleccionar un Cliente'; return; }
|
||||
if (!formData.part_number.trim()) { error = 'Número de Parte requerido'; return; }
|
||||
|
||||
loading = true;
|
||||
try {
|
||||
@@ -272,7 +271,7 @@
|
||||
} catch (e: any) {
|
||||
console.error("Submit Error:", e);
|
||||
error = e.message || 'Error al guardar';
|
||||
toast.error(error);
|
||||
toast.error(error!);
|
||||
} finally { loading = false; }
|
||||
}
|
||||
</script>
|
||||
@@ -299,7 +298,7 @@
|
||||
|
||||
{#if error}
|
||||
<div class="p-4 rounded-md bg-destructive/10 text-destructive border border-destructive/20 text-sm font-medium animate-in slide-in-from-top-2">
|
||||
⚠️ {error}
|
||||
⚠️ {error!}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -540,7 +539,7 @@
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6">
|
||||
<div class="md:col-span-4 space-y-2">
|
||||
<Label for="part_number" class="text-base font-semibold required">Número de Parte</Label>
|
||||
<Label for="part_number" class="text-base font-semibold">Número de Parte</Label>
|
||||
<div class="relative">
|
||||
<Package class="absolute left-3 top-2.5 h-5 w-5 text-muted-foreground" />
|
||||
<Input id="part_number" bind:value={formData.part_number} disabled={isEdit} maxlength={50} class="pl-10 text-lg font-mono bg-muted/20" placeholder="Ej: 123-ABC-456"/>
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<div class="space-y-1">
|
||||
<Label for="num_parte" class="text-xs">Part Number ID: <span class="text-red-500">*</span></Label>
|
||||
<div class="flex gap-1">
|
||||
<Input id="num_parte" type="number" bind:value={lineItem.part_number_id} class="h-7 text-xs" placeholder="ID de número de parte" />
|
||||
<Input id="num_parte" type="number" bind:value={lineItem.part_number} class="h-7 text-xs" placeholder="ID de número de parte" />
|
||||
</div>
|
||||
<p class="text-xs text-muted-foreground">ID de número de parte existente en catálogo</p>
|
||||
</div>
|
||||
|
||||
@@ -139,8 +139,8 @@
|
||||
lines: [{
|
||||
line_number: 1,
|
||||
// LineItem fields
|
||||
part_number_id: undefined,
|
||||
component_part_number_id: undefined,
|
||||
part_number: undefined,
|
||||
component_part_number: undefined,
|
||||
class_id: undefined,
|
||||
identifier: undefined,
|
||||
unit_of_measure: undefined,
|
||||
@@ -294,8 +294,8 @@
|
||||
};
|
||||
|
||||
// Convert integer fields
|
||||
cleaned.part_number_id = toNumberOrUndefined(cleaned.part_number_id);
|
||||
cleaned.component_part_number_id = toNumberOrUndefined(cleaned.component_part_number_id);
|
||||
cleaned.part_number = toNumberOrUndefined(cleaned.part_number);
|
||||
cleaned.component_part_number = toNumberOrUndefined(cleaned.component_part_number);
|
||||
cleaned.class_id = toNumberOrUndefined(cleaned.class_id);
|
||||
cleaned.unit_of_measure = toNumberOrUndefined(cleaned.unit_of_measure);
|
||||
cleaned.alternate_unit = toNumberOrUndefined(cleaned.alternate_unit);
|
||||
|
||||
Reference in New Issue
Block a user