@extends('layouts.app') @section('title', 'Ученики без графика оплаты') {{-- Read-only report — the single GET filter form needs no CSRF. Rendered by StudentsWithoutPaymentScheduleController, which documents what counts as "no schedule". --}} @section('content')
Обучающиеся ученики, у которых не заполнен «График оплаты (уроки по дням)» — для них не считается дата следующей оплаты. Групповой и индивидуальный графики проверяются отдельно: нужен тот, для которого у ученика указан тариф (общий или индивидуальный).
| # | Ученик | Класс | Телефон | Группы | Не заполнен | Тарифы | Куратор |
|---|---|---|---|---|---|---|---|
| {{ $i + 1 }} | {{ $row['last_name'] }} {{ $row['first_name'] }} | {{ $row['class_name'] ?? '—' }} | {{ $row['phone'] ?: '—' }} | {{ $row['group_names'] ?: '—' }} | {{-- Which of the card's two tables still needs filling in — a kind is missing when the student has its tariff but no rows of that kind; with no tariff at all, both. --}} @php $noTariffs = $row['general_tariff_name'] === null && $row['individual_tariff_name'] === null; $missingGroup = ! $row['has_group'] && ($noTariffs || $row['general_tariff_name'] !== null); $missingIndividual = ! $row['has_individual'] && ($noTariffs || $row['individual_tariff_name'] !== null); @endphp@if ($missingGroup) Групповые @endif @if ($missingIndividual) Индивидуальные @endif |
@foreach (['general' => 'Общий', 'individual' => 'Индивидуальный'] as $prefix => $label)
@if ($row[$prefix.'_tariff_name'] !== null)
{{ $label }}:
{{ $row[$prefix.'_tariff_name'] }}
({{ (int) $row[$prefix.'_lessons_count'] }} ур.)
@endif
@endforeach
@if ($noTariffs)
—
@endif
|
{{ $row['adviser_name'] ?? '—' }} |