@extends('layouts.admin') @section('title','Тімліди') @section('page_title','Тімліди') @section('page_actions') Додати тімліда @endsection @push('head') @endpush @section('content') @php $tz = config('app.timezone', 'Europe/Kyiv'); $selectedMonth = $selectedMonth ?? \Carbon\Carbon::now($tz)->format('Y-m'); $currentMonthKey = $currentMonthKey ?? \Carbon\Carbon::now($tz)->format('Y-m'); $prevMonthKey = $prevMonthKey ?? \Carbon\Carbon::now($tz)->subMonthNoOverflow()->format('Y-m'); $totalTL = $teamLeads->count(); // ✔ Скільки тімлідів виконали норму по балансах (умовно: balance_score >= 90) $completedNorms = $teamLeads->filter(function ($u) use ($teamLeadRatings) { $rating = $teamLeadRatings[$u->id] ?? null; if (!$rating) return false; $balanceScore = $rating['balance_score'] ?? null; return $balanceScore !== null && $balanceScore >= 90; })->count(); // ✔ Скільки мають високий рейтинг по статистиці (умовно: stats_score >= 63) $highStats = $teamLeads->filter(function ($u) use ($teamLeadRatings) { $rating = $teamLeadRatings[$u->id] ?? null; if (!$rating) return false; $statsScore = $rating['stats_score'] ?? null; return $statsScore !== null && $statsScore >= 63; })->count(); $enriched = $teamLeads->map(function ($u) use ($teamLeadRatings, $totalTL) { $rating = $teamLeadRatings[$u->id] ?? null; $balanceRank = $rating['balance_rank'] ?? null; $statsRank = $rating['stats_rank'] ?? null; $balanceScore = $rating['balance_score'] ?? null; $statsScore = $rating['stats_score'] ?? null; $avgBalanceAmount = $rating['avg_balance_amount'] ?? null; $bestRank = null; if ($balanceRank) { $bestRank = $balanceRank; } if ($statsRank && ($bestRank === null || $statsRank < $bestRank)) { $bestRank = $statsRank; } return [ 'model' => $u, 'balance_rank' => $balanceRank, 'stats_rank' => $statsRank, 'balance_score' => $balanceScore, 'stats_score' => $statsScore, 'avg_balance' => $avgBalanceAmount, 'best_rank' => $bestRank, ]; }); $topThree = $enriched ->filter(fn($row) => $row['best_rank'] !== null) ->sortBy('best_rank') ->take(3) ->values(); @endphp {{-- ВЕРХНЯ ПАНЕЛЬ: ЗАГОЛОВОК + МІСЯЦЬ --}}
{{-- КОРОТКИЙ ПОДІУМ ТОП-3 --}} @if($topThree->count())| Тімлід | Email / Очима тімліда | Кабінети | Рейтинг (баланси) | Рейтинг (статистика) | Дії |
|---|---|---|---|---|---|
|
{{ $initial }}
{{ $u->name }}
@if($topLabel)
{{ $topLabel }}
@endif
@if($balanceRank)
По балансах: #{{ $balanceRank }} із {{ $totalTL }}
@endif
@if($balanceRank && $statsRank)
•
@endif
@if($statsRank)
По статистиці: #{{ $statsRank }} із {{ $totalTL }}
@endif
|
{{-- Email + очима тімліда --}}
{{ $u->email }}
Очима тімліда
|
{{-- Кабінети --}}
@if($cabCount)
@foreach($u->cabinets as $c)
{{ $c->slug }}
@endforeach
Всього: {{ $cabCount }}
@else
—
@endif
|
{{-- Рейтинг (баланси) --}}
@if($balanceScore !== null)
{{ $balanceScore }} / 100
Середній рейтинг по всіх кабінетах
(баланси змін).
@if($avgBalanceAmount !== null)
Сер. денний баланс:
{{ number_format($avgBalanceAmount, 2) }} $
@endif
@if($balanceRank)
Місце по балансах: #{{ $balanceRank }}
із {{ $totalTL }}
@endif
@else
немає даних
Ще немає рейтингів по балансах.
@endif
|
{{-- Рейтинг (статистика) --}}
@if($statsScore !== null)
{{ $statsScore }} / 100
Середній рейтинг по статистиці
(New / Young / Old / Spend).
@if($statsRank)
Місце по статистиці: #{{ $statsRank }}
із {{ $totalTL }}
@endif
@else
немає даних
Ще немає розрахованої статистики.
@endif
|
{{-- Дії --}}
Редагувати |
| Поки немає тімлідів | |||||