{{-- Header --}}
KPI Performance Tracking Period: {{ $period->year }} ({{ $this->getMonthName($period->first_month) }} - {{ $this->getMonthName($period->last_month) }}) | Department: {{ $department->name }} | KPI Set: {{ $kpiSet->year }}-{{ $kpiSet->name }}
Back to Period
@if (session('success')) {{ session('success') }} @endif {{-- Performance Table --}}
@foreach ($monthHeaders as $header) @endforeach {{-- Projects --}} @foreach ($projectsData as $projectData) {{-- Project Header --}} {{-- Activities in Project --}} @foreach ($projectData['activities'] as $activityData) {{-- Activity Header --}} {{-- KPIs in Activity --}} @foreach ($activityData['kpis'] as $item) @foreach ($monthHeaders as $header) @endforeach @endforeach @endforeach @endforeach {{-- Ungrouped Activities --}} @if (count($ungroupedActivitiesData) > 0) @foreach ($ungroupedActivitiesData as $activityData) {{-- Activity Header --}} {{-- KPIs in Activity --}} @foreach ($activityData['kpis'] as $item) @foreach ($monthHeaders as $header) @endforeach @endforeach @endforeach @endif {{-- Ungrouped KPIs --}} @if (count($ungroupedKpisData) > 0) @foreach ($ungroupedKpisData as $item) @foreach ($monthHeaders as $header) @endforeach @endforeach @endif {{-- Empty State --}} @if (count($projectsData) === 0 && count($ungroupedActivitiesData) === 0 && count($ungroupedKpisData) === 0) @endif
KPI Target Progress {{ $header['name'] }}
📁 {{ $projectData['project']->name }}
{{ $activityData['group']->name }}
{{ $item['kpi']->title }} @if ($item['kpi']->description) {{ $item['kpi']->description }} @endif
{{ number_format($item['total_progress'], 2) }} @if ($item['target'] > 0) {{ number_format(($item['total_progress'] / $item['target']) * 100, 1) }}% @endif
{{ $item['monthly_values'][$header['number']] !== null ? number_format($item['monthly_values'][$header['number']], 2) : '-' }}
Ungrouped Activities
{{ $activityData['group']->name }}
{{ $item['kpi']->title }} @if ($item['kpi']->description) {{ $item['kpi']->description }} @endif
{{ number_format($item['total_progress'], 2) }} @if ($item['target'] > 0) {{ number_format(($item['total_progress'] / $item['target']) * 100, 1) }}% @endif
{{ $item['monthly_values'][$header['number']] !== null ? number_format($item['monthly_values'][$header['number']], 2) : '-' }}
Ungrouped KPIs
{{ $item['kpi']->title }} @if ($item['kpi']->description) {{ $item['kpi']->description }} @endif
{{ number_format($item['total_progress'], 2) }} @if ($item['target'] > 0) {{ number_format(($item['total_progress'] / $item['target']) * 100, 1) }}% @endif
{{ $item['monthly_values'][$header['number']] !== null ? number_format($item['monthly_values'][$header['number']], 2) : '-' }}
No KPIs found in this set.
@if (count($projectsData) > 0 || count($ungroupedActivitiesData) > 0 || count($ungroupedKpisData) > 0)
Save Targets
@endif
Note: Monthly progress values are read-only here. They will be entered by department staff in a separate interface.