{{-- "Добавить результаты" matrix form + "Прогресс по ученикам" history table, rendered both by admin/ent_scores/index.blade.php (initial load) and by EntScoreController::store()'s AJAX branch, which re-renders this partial after a successful submit and returns it as data.html for the js-ajax-form handler (layouts/app.blade.php) to swap in via data-replace-target="#entScoresCard" — needed to clear the matrix back to blank inputs and refresh the progress table, both of which only happened via full reload before. Params: $search, $classId, $students, $sections, $detail. --}}
Добавить результаты
@csrf
@error('test_date')
{{ $message }}
@enderror
@error('scores')
{{ $message }}
@enderror @if (empty($students))
Нет учеников по заданному фильтру.
@else
@foreach ($sections as $section) @endforeach @foreach ($students as $s) @foreach ($sections as $section) @endforeach @endforeach
Ученик {{ $section['name'] }} @if ($section['is_mandatory']) Обяз. @endif
макс. {{ rtrim(rtrim(number_format((float) $section['max_score'], 1, '.', ''), '0'), '.') }}
{{ $s['last_name'] . ' ' . $s['first_name'] }}
@endif
@if (!empty($detail))
Прогресс по ученикам
@foreach ($detail as $row) @endforeach
УченикПредыдущийПоследнийΔ
{{ $row['last_name'] . ' ' . $row['first_name'] }} {{ $row['previous_score'] ?? '—' }} {{ $row['latest_score'] }} @if ($row['delta'] !== null) {{ ($row['delta'] >= 0 ? '+' : '') . $row['delta'] }} @else — @endif
@endif