diff --git a/nuxt4/app/components/cata/ModalAsignacionRapida.vue b/nuxt4/app/components/cata/ModalAsignacionRapida.vue
index caa5dc5..f9e4196 100644
--- a/nuxt4/app/components/cata/ModalAsignacionRapida.vue
+++ b/nuxt4/app/components/cata/ModalAsignacionRapida.vue
@@ -28,15 +28,15 @@
-
@@ -45,15 +45,16 @@
-
@@ -203,8 +204,24 @@ watch(isOpen, (newValue) => {
}
})
-// Handler para cuando se modifica Sumatoria Afectiva (solo en blur)
-const onSumatoriaChange = () => {
+// Handler para cuando se modifica Sumatoria Afectiva usando botones +/-
+const onSumatoriaChangeFromButtons = (newValue: number | null) => {
+ if (actualizandoInput.value) return
+ if (newValue === null || newValue === undefined) return
+
+ actualizandoInput.value = true
+
+ // El valor ya viene validado por UInputNumber (min/max/step)
+ puntajeDeseado.value = newValue
+
+ // Actualizar SCAA Score automáticamente
+ scaaDeseado.value = sumatoriaAfectivaASCAA(puntajeDeseado.value)
+
+ actualizandoInput.value = false
+}
+
+// Handler para cuando se pierde el foco en Sumatoria Afectiva (escritura manual)
+const onSumatoriaBlur = () => {
if (actualizandoInput.value) return
actualizandoInput.value = true
@@ -227,8 +244,33 @@ const onSumatoriaChange = () => {
actualizandoInput.value = false
}
-// Handler para cuando se modifica SCAA Score (solo en blur)
-const onScaaChange = () => {
+// Handler para cuando se modifica SCAA Score usando botones +/-
+const onScaaChangeFromButtons = (newValue: number | null) => {
+ if (actualizandoInput.value) return
+ if (newValue === null || newValue === undefined) return
+
+ actualizandoInput.value = true
+
+ // El valor ya viene validado por UInputNumber (min/max/step)
+ scaaDeseado.value = newValue
+
+ // Convertir a Sumatoria Afectiva
+ const sumatoriaCalculada = scaaASumatoriaAfectiva(scaaDeseado.value)
+
+ // Redondear al entero más cercano
+ const sumatoriaRedondeada = Math.round(sumatoriaCalculada)
+
+ // Asegurar rango válido
+ puntajeDeseado.value = Math.max(8, Math.min(72, sumatoriaRedondeada))
+
+ // Recalcular SCAA Score con el valor redondeado
+ scaaDeseado.value = sumatoriaAfectivaASCAA(puntajeDeseado.value)
+
+ actualizandoInput.value = false
+}
+
+// Handler para cuando se pierde el foco en SCAA Score (escritura manual)
+const onScaaBlur = () => {
if (actualizandoInput.value) return
actualizandoInput.value = true