diff --git a/frontend/messages/es.json b/frontend/messages/es.json index 6b0691fc..9e913d89 100644 --- a/frontend/messages/es.json +++ b/frontend/messages/es.json @@ -955,6 +955,7 @@ "loading_item_data": "Cargando datos de la partida...", "close": "Cerrar", "cancel": "Cancelar", + "save": "Guardar", "select_line_title": "Seleccionar línea", "import_title": "Partidas de Importación", "import_description": "Selecciona una línea con saldo disponible para realizar la descarga.", @@ -1191,8 +1192,8 @@ "cancel": "Cancelar", "close": "Cerrar", "saving": "Guardando...", - "update": "Actualizar", - "create": "Crear" + "update": "Guardar", + "create": "Guardar" }, "prerequisites": { "title": "Aviso", diff --git a/frontend/src/lib/components/dashboard/invoices/edit/items/fa/item-sheet-fa.svelte b/frontend/src/lib/components/dashboard/invoices/edit/items/fa/item-sheet-fa.svelte index 7828b8ec..4b928c81 100644 --- a/frontend/src/lib/components/dashboard/invoices/edit/items/fa/item-sheet-fa.svelte +++ b/frontend/src/lib/components/dashboard/invoices/edit/items/fa/item-sheet-fa.svelte @@ -740,7 +740,7 @@ {m['invoice_item_fa.repair.loading_line']()} {:else} - {isEditMode ? m['invoice_item_fa.repair.cancel']() : m['invoice_item_fa.repair.close']()} + {m['invoice_item_fa.repair.save']()} {/if} {/if} diff --git a/frontend/src/routes/dashboard/invoices/edit/[id]/+page.svelte b/frontend/src/routes/dashboard/invoices/edit/[id]/+page.svelte index 19675bc0..d6f0303c 100644 --- a/frontend/src/routes/dashboard/invoices/edit/[id]/+page.svelte +++ b/frontend/src/routes/dashboard/invoices/edit/[id]/+page.svelte @@ -720,8 +720,21 @@ }); function invoicesListPath(): string { - const q = get(page).url.search; - return q ? `/dashboard/invoices${q}` : '/dashboard/invoices'; + const searchParams = new URLSearchParams($page.url.search); + + // Si no hay parámetros en la URL (ej. recarga de página), intentamos reconstruirlos del estado + if (!searchParams.has('operation_type')) { + const opType = InvoiceTopFieldsFormData?.operation_type || data.invoice?.operation_type || data.filters?.operation_type; + if (opType) searchParams.set('operation_type', opType); + } + + if (!searchParams.has('invoice_type')) { + const invType = InvoiceTopFieldsFormData?.invoice_type || data.invoice?.invoice_type || data.filters?.invoice_type; + if (invType) searchParams.set('invoice_type', invType); + } + + const qs = searchParams.toString(); + return qs ? `/dashboard/invoices?${qs}` : '/dashboard/invoices'; } function handleBack() {