Fix: Redondear SCAA Score a múltiplos de 0.25
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
PROBLEMA: El SCAA Score debe moverse en steps de 0.25 (no aceptar cualquier valor decimal racional). SOLUCIÓN: 1. Nueva función en catacion.ts: - redondearA025(): Redondea al múltiplo de 0.25 más cercano - Math.round(valor / 0.25) * 0.25 2. Aplicado en todas las funciones de SCAA: - calcularSCAA(): redondea el resultado final - sumatoriaAfectivaASCAA(): redondea la conversión 3. ModalAsignacionRapida.vue: - Input step cambiado de 0.01 a 0.25 - onScaaChange(): redondea el valor ingresado - Placeholder actualizado: 58.75-112.00 VALORES VÁLIDOS: Ahora el SCAA Score solo puede tener valores como: - 85.00, 85.25, 85.50, 85.75, 86.00, etc. - Nunca valores como 85.17 o 85.33 La visualización con .toFixed(2) sigue mostrando 2 decimales correctamente.
This commit is contained in:
@@ -50,8 +50,8 @@
|
||||
type="number"
|
||||
:min="scaaMin"
|
||||
:max="scaaMax"
|
||||
step="0.01"
|
||||
placeholder="58.65-112.00"
|
||||
step="0.25"
|
||||
placeholder="58.75-112.00"
|
||||
class="cata-input w-full px-3 py-2 rounded-md text-center text-lg"
|
||||
@input="onScaaChange"
|
||||
/>
|
||||
@@ -146,7 +146,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { Muestra } from '~/types/catacion'
|
||||
import { scaaASumatoriaAfectiva, sumatoriaAfectivaASCAA } from '~/types/catacion'
|
||||
import { scaaASumatoriaAfectiva, sumatoriaAfectivaASCAA, redondearA025 } from '~/types/catacion'
|
||||
|
||||
interface Props {
|
||||
modelValue: boolean
|
||||
@@ -226,6 +226,9 @@ const onScaaChange = () => {
|
||||
|
||||
actualizandoInput.value = true
|
||||
|
||||
// Redondear al múltiplo de 0.25 más cercano
|
||||
scaaDeseado.value = redondearA025(scaaDeseado.value)
|
||||
|
||||
// Validar rango
|
||||
if (scaaDeseado.value < scaaMin) scaaDeseado.value = scaaMin
|
||||
if (scaaDeseado.value > scaaMax) scaaDeseado.value = scaaMax
|
||||
@@ -239,7 +242,7 @@ const onScaaChange = () => {
|
||||
// Asegurar rango válido
|
||||
puntajeDeseado.value = Math.max(9, Math.min(90, sumatoriaRedondeada))
|
||||
|
||||
// Recalcular SCAA Score con el valor redondeado
|
||||
// Recalcular SCAA Score con el valor redondeado (ya aplicará redondeo a 0.25)
|
||||
scaaDeseado.value = sumatoriaAfectivaASCAA(puntajeDeseado.value)
|
||||
|
||||
actualizandoInput.value = false
|
||||
|
||||
Reference in New Issue
Block a user