DashboardView: columna SP + fix priority/story_points perdidos en enrichHU

- enrichHU ahora incluye status, priority y story_points en el return
- Nueva columna SP (story points) entre Título y Estado en tabla HUs
- Filtro prioridad acepta valores numéricos (1/2/3)
This commit is contained in:
2026-05-29 08:41:37 -05:00
parent c8228b315d
commit 19c6fb3153
3 changed files with 42 additions and 1 deletions
+4 -1
View File
@@ -89,7 +89,7 @@ export const useWorkItemsStore = defineStore('workitems', () => {
return { id: null, name: '', employeeId: null }
}
function enrichHU(hu: { title?: string; id?: number; status?: string | number | null; status_name?: 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 {
function enrichHU(hu: { title?: string; id?: number; 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 {
const h = parseHierarchy(hu.title || '')
const rawCriteria = hu.acceptance_criteria || hu.criterios_aceptacion || ''
const criteriaList = rawCriteria ? parseQuillList(rawCriteria) : []
@@ -97,6 +97,9 @@ export const useWorkItemsStore = defineStore('workitems', () => {
return {
id: hu.id ?? 0,
title: hu.title || '',
status: String(hu.status ?? ''),
priority: String(hu.priority ?? ''),
story_points: hu.story_points ?? undefined,
acceptance_criteria: rawCriteria,
criterios_aceptacion: rawCriteria,
initiative: initiativeId,
+5
View File
@@ -695,6 +695,9 @@ const statusLabel = (status: unknown) => {
<SelectItem value="baja" class="text-xs">Baja</SelectItem>
<SelectItem value="critical" class="text-xs">Crítica</SelectItem>
<SelectItem value="urgente" class="text-xs">Urgente</SelectItem>
<SelectItem value="1" class="text-xs">Alta (1)</SelectItem>
<SelectItem value="2" class="text-xs">Media (2)</SelectItem>
<SelectItem value="3" class="text-xs">Baja (3)</SelectItem>
</SelectContent>
</Select>
<Select v-model="filterAssigned">
@@ -713,6 +716,7 @@ const statusLabel = (status: unknown) => {
<TableHead class="w-[80px]">{{ t('dashboard.code') }}</TableHead>
<TableHead class="w-[60px]">{{ t('users.role') }}</TableHead>
<TableHead>{{ t('dashboard.title') }}</TableHead>
<TableHead class="w-[50px] text-center">SP</TableHead>
<TableHead class="w-[110px]">{{ t('dashboard.status') }}</TableHead>
<TableHead class="w-[90px]">{{ t('dashboard.priority') }}</TableHead>
<TableHead class="w-[140px]">{{ t('dashboard.assignedTo') }}</TableHead>
@@ -735,6 +739,7 @@ const statusLabel = (status: unknown) => {
</div>
</span>
</TableCell>
<TableCell class="text-center text-xs font-mono text-muted-foreground">{{ hu.story_points ?? '—' }}</TableCell>
<TableCell><Badge :variant="statusVariant(hu.status || '')" class="text-xs capitalize">{{ hu._statusName || statusLabel(hu.status || '') }}</Badge></TableCell>
<TableCell><Badge :variant="priorityVariant(hu.priority)" class="text-xs">{{ priorityLabel(hu.priority) }}</Badge></TableCell>
<TableCell>