feat: Enhance regimen filtering logic and add timeout to authenticatedFetch
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user