K-12 Priorizador diario: HUs vencidas, hoy, esta semana y bloqueadas

- PrioritizerCard.vue: nuevo componente con secciones de priorización
- Tarjetas resumen: total HUs, en progreso, vencidas, bloqueadas
- Listas agrupadas: vencidas (rojo), hoy (ámbar), esta semana, bloqueadas
- Cada item: código, título, prioridad, fecha
- KappaUserStory: agregados end_date, sprint, initial_date
- enrichHU: pasa end_date y sprint al objeto enriquecido
This commit is contained in:
2026-05-29 22:50:38 -05:00
parent 2073d936e2
commit cb0e8067b6
4 changed files with 228 additions and 2 deletions
+3 -1
View File
@@ -93,7 +93,7 @@ export const useWorkItemsStore = defineStore('workitems', () => {
return { id: null, name: '', employeeId: null }
}
function enrichHU(hu: { title?: string; id?: number; description?: string | null; status?: string | number | null; status_name?: string | null; priority?: string | number | null; story_points?: number | null; acceptance_criteria?: string | null; criterios_aceptacion?: string | null; assigned_to?: number | null; asignado_a?: number[] | string[] | null; asignado_a_names?: string[] | string | null; assigned_name?: string }, initiativeId: number): EnrichedUserStory {
function enrichHU(hu: { title?: string; id?: number; description?: string | null; status?: string | number | null; status_name?: string | null; priority?: string | number | null; story_points?: number | null; end_date?: string | null; sprint?: number | string | null; acceptance_criteria?: string | null; criterios_aceptacion?: string | null; assigned_to?: number | null; asignado_a?: number[] | string[] | null; asignado_a_names?: string[] | string | null; assigned_name?: string }, initiativeId: number): EnrichedUserStory {
const h = parseHierarchy(hu.title || '')
const rawCriteria = hu.acceptance_criteria || hu.criterios_aceptacion || ''
const criteriaList = rawCriteria ? parseQuillList(rawCriteria) : []
@@ -104,6 +104,8 @@ export const useWorkItemsStore = defineStore('workitems', () => {
status: String(hu.status ?? ''),
priority: String(hu.priority ?? ''),
story_points: hu.story_points ?? undefined,
end_date: hu.end_date || undefined,
sprint: hu.sprint != null ? String(hu.sprint) : undefined,
description: hu.description || '',
acceptance_criteria: rawCriteria,
criterios_aceptacion: rawCriteria,