173 lines
6.0 KiB
Plaintext
173 lines
6.0 KiB
Plaintext
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>Справки — <%= type === 'gia' ? 'ГИА' : 'ГВЭ' %> (пакет)</title>
|
||
<style>
|
||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
body {
|
||
font-family: 'Times New Roman', Times, serif;
|
||
font-size: 12pt;
|
||
line-height: 1.4;
|
||
color: #000;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
.cert-page {
|
||
max-width: 210mm;
|
||
margin: 0 auto;
|
||
padding: 10mm 15mm;
|
||
page-break-after: always;
|
||
}
|
||
.cert-page:last-child { page-break-after: auto; }
|
||
.header { text-align: center; margin-bottom: 6mm; }
|
||
.header .dept { font-size: 10pt; font-weight: bold; }
|
||
.header .school {
|
||
font-size: 11pt;
|
||
font-weight: bold;
|
||
text-transform: uppercase;
|
||
margin-top: 3mm;
|
||
}
|
||
.header .address { font-size: 10pt; margin-top: 1mm; }
|
||
.title {
|
||
text-align: center;
|
||
font-weight: bold;
|
||
font-size: 12pt;
|
||
margin: 6mm 0 4mm;
|
||
text-transform: uppercase;
|
||
}
|
||
.subtitle { text-align: center; font-size: 11pt; margin-bottom: 3mm; }
|
||
.date { text-align: right; margin-bottom: 3mm; }
|
||
.body-text { text-indent: 8mm; margin-bottom: 4mm; text-align: justify; }
|
||
table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
margin: 3mm 0;
|
||
}
|
||
table th, table td {
|
||
border: 1px solid #000;
|
||
padding: 2mm;
|
||
text-align: center;
|
||
font-size: 10pt;
|
||
}
|
||
table th { font-weight: bold; background: #f0f0f0; }
|
||
table td:first-child { width: 8mm; }
|
||
table td:nth-child(2) { text-align: left; }
|
||
.signature {
|
||
margin-top: 10mm;
|
||
text-align: right;
|
||
}
|
||
.signature .dir { margin-bottom: 6mm; }
|
||
.signature .name { font-weight: bold; }
|
||
|
||
@media print {
|
||
body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
|
||
.cert-page { padding: 8mm 12mm; }
|
||
.no-print { display: none !important; }
|
||
@page { size: A4; margin: 8mm; }
|
||
}
|
||
.no-print {
|
||
position: fixed;
|
||
top: 8px;
|
||
right: 8px;
|
||
z-index: 1000;
|
||
}
|
||
.btn-print {
|
||
padding: 6px 16px;
|
||
font-size: 11pt;
|
||
background: #0066cc;
|
||
color: #fff;
|
||
border: none;
|
||
border-radius: 3px;
|
||
cursor: pointer;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="no-print" style="display:flex; gap:8px; align-items:center; background:#fff; padding:6px 10px; border-radius:4px; box-shadow:0 1px 4px rgba(0,0,0,0.2)">
|
||
<button class="btn-print" onclick="window.print()">Печать</button>
|
||
<span style="font-size:11pt; color:#555"><%= students.length %> справок</span>
|
||
</div>
|
||
|
||
<% students.forEach((data) => { %>
|
||
<div class="cert-page">
|
||
<div class="header">
|
||
<div class="dept">ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ АДМИНИСТРАЦИИ ГОРОДА ЕКАТЕРИНБУРГА</div>
|
||
<div class="dept">УПРАВЛЕНИЕ ОБРАЗОВАНИЯ АКАДЕМИЧЕСКОГО РАЙОНА</div>
|
||
<div class="school">
|
||
МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ —<br>
|
||
СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 25 им. В.Г. ФЕОФАНОВА
|
||
</div>
|
||
<div class="address">ул. Цветоносная, 2, тел. 334-32-26</div>
|
||
</div>
|
||
|
||
<div class="title">
|
||
СПРАВКА № <%= data.certNumber %><br>
|
||
о результатах государственной итоговой аттестации
|
||
</div>
|
||
|
||
<div class="subtitle">
|
||
<% if (type === 'gia') { %>
|
||
в форме основного государственного экзамена
|
||
<% } else { %>
|
||
в форме государственного выпускного экзамена
|
||
<% } %>
|
||
</div>
|
||
|
||
<div class="date">Дата выдачи <%= data.dateStr %></div>
|
||
|
||
<div class="body-text">
|
||
Настоящая справка выдана <strong><%= data.student.fioDative %></strong>
|
||
о том, что он(а) <%= data.verbEnding %>
|
||
в Муниципальном автономном общеобразовательном учреждении — средней общеобразовательной
|
||
школе № 25 имени В.Г. Феофанова по основной образовательной программе основного общего
|
||
образования и по результатам государственной итоговой аттестации
|
||
<%= data.verbEnding2 %> в 2025/2026 учебном году по учебным предметам следующие отметки
|
||
<% if (type === 'gia') { %>(количество первичных баллов)<% } %>:
|
||
</div>
|
||
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>№</th>
|
||
<th>Наименование учебных предметов</th>
|
||
<% if (type === 'gia') { %>
|
||
<th>Количество первичных баллов</th>
|
||
<% } %>
|
||
<th>Отметка по пятибалльной шкале</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<% data.allSubjects.forEach((s, i) => { %>
|
||
<tr>
|
||
<td><%= i + 1 %></td>
|
||
<td><%= s.subject_name %></td>
|
||
<% if (type === 'gia') { %>
|
||
<td><%= s.primary_score !== null ? s.primary_score : '—' %></td>
|
||
<% } %>
|
||
<td><%= s.grade !== null ? s.grade + ' (' + gradeText(s.grade) + ')' : '—' %></td>
|
||
</tr>
|
||
<% }) %>
|
||
</tbody>
|
||
</table>
|
||
|
||
<div class="signature">
|
||
<div class="dir">Директор</div>
|
||
<div class="name">О.А. Добычина</div>
|
||
</div>
|
||
</div>
|
||
<% }) %>
|
||
|
||
<%
|
||
function gradeText(g) {
|
||
const map = { 5: 'отлично', 4: 'хорошо', 3: 'удовлетворительно', 2: 'неудовлетворительно' };
|
||
return map[g] || '';
|
||
}
|
||
%>
|
||
|
||
<script>
|
||
window.onload = () => setTimeout(() => window.print(), 500);
|
||
</script>
|
||
</body>
|
||
</html>
|