{{-- Page Title --}}

Key Performance Indicator (KPI)

Monitor KPI progress per team

{{-- Filters --}}
@php $teams = $this->getComputedData(); @endphp @if(empty($teams))
No KPI data found for {{ date('F', mktime(0,0,0,$month,1)) }} {{ $year }}.
@else
@foreach($teams as $t)
{{-- Team Header --}}

{{ $t['team']->name }}

{{ date('F', mktime(0,0,0,$month,1)) }} {{ $year }}

{{-- Team Summary Badges --}}
@php $kpi = $t['avg_kpi']; $kpiBg = $kpi >= 100 ? 'bg-success-100 text-success-700 dark:bg-success-900 dark:text-success-300' : ($kpi >= 75 ? 'bg-warning-100 text-warning-700 dark:bg-warning-900 dark:text-warning-300' : 'bg-danger-100 text-danger-700 dark:bg-danger-900 dark:text-danger-300'); @endphp Avg KPI: {{ $kpi }}% {{ $t['on_progress'] }} On Progress {{ $t['finished'] }} Finished
{{-- KPI Table --}} @if($t['objectives']->isEmpty())
No objectives recorded for this period.
@else
@foreach($t['objectives'] as $obj) @php $kpiVal = round($obj->realisasi_kpi, 2); $barColor = $kpiVal >= 100 ? 'bg-success-500' : ($kpiVal >= 75 ? 'bg-warning-500' : 'bg-danger-500'); $textColor = $kpiVal >= 100 ? 'text-success-600 dark:text-success-400' : ($kpiVal >= 75 ? 'text-warning-600 dark:text-warning-400' : 'text-danger-600 dark:text-danger-400'); @endphp @endforeach
Title Unit Target Realized Realisasi KPI
{{ $obj->name }} {{ $obj->unit ?: '—' }} {{ number_format($obj->target) }} {{ number_format($obj->realized) }}
{{ $kpiVal }}%
{{ $t['total'] }} objectives @php $avgKpi = $t['avg_kpi']; $avgColor = $avgKpi >= 100 ? 'text-success-600 dark:text-success-400' : ($avgKpi >= 75 ? 'text-warning-600 dark:text-warning-400' : 'text-danger-600 dark:text-danger-400'); @endphp {{ $avgKpi }}%
@endif
@endforeach
@endif