feat: Enhance regimen filtering logic and add timeout to authenticatedFetch

This commit is contained in:
AlexeerCT
2026-01-02 15:46:25 -06:00
parent c95c7f7c55
commit 5dce19ebdf
3 changed files with 51 additions and 11 deletions

View File

@@ -187,12 +187,31 @@
// Combinar clientes y proveedores para shipped_to
const allClientsProviders = [...clients, ...providers];
// Filtrar regímenes por tipo de operación (1='1' exp, 2='2' imp)
const filteredRegimens = $derived(
codePedimentoRegimens.filter(r =>
r.type_code === String(formData.operation_type)
)
);
// Filtrar regímenes por tipo de operación (1='E' exp, 2='I' imp) y obtener valores únicos
const filteredRegimens = $derived.by(() => {
const typeCode = formData.operation_type === 1 ? 'E' : formData.operation_type === 2 ? 'I' : null;
const filtered = codePedimentoRegimens.filter(r => r.type_code === typeCode);
// Obtener solo regímenes únicos por regimen_code
const uniqueMap = new Map();
filtered.forEach(r => {
if (r.regimen_code && !uniqueMap.has(r.regimen_code)) {
uniqueMap.set(r.regimen_code, r);
}
});
return Array.from(uniqueMap.values());
});
// Efecto: Limpiar régimen si no existe en los regímenes filtrados al cambiar operation_type
$effect(() => {
if (formData.clave_regimen_aduanero && filteredRegimens.length > 0) {
const regimenExists = filteredRegimens.some(r => r.regimen_code === formData.clave_regimen_aduanero);
if (!regimenExists) {
formData.clave_regimen_aduanero = '';
}
}
});
</script>
<!-- Layout de 2 columnas compacto -->
@@ -692,7 +711,7 @@
<Select.Trigger id="clave_regimen_aduanero" class="h-7 text-xs w-full">
<span class="truncate">
{#if formData.clave_regimen_aduanero}
{formData.clave_regimen_aduanero}
{codePedimentoRegimens.find(r => r.regimen_code === formData.clave_regimen_aduanero)?.regimen_code || formData.clave_regimen_aduanero}
{:else if filteredRegimens.length > 0}
Selecciona régimen...
{:else if formData.operation_type}