|
@@ -13,23 +13,29 @@
|
|
|
<th><b>Name</b></th>
|
|
|
<th class="rotate"><div><span><b>FStd</b></span></div></th>
|
|
|
<th class="rotate"><div><span><b>uFStd</b></span></div></th>
|
|
|
- {#each Array.from(faecher()) as f}
|
|
|
+ {#each Array.from(faecher) as f}
|
|
|
<th class="rotate"><div><span><b>{f}</b></span></div></th>
|
|
|
{/each}
|
|
|
<th><b>Bemerkungen</b></th>
|
|
|
</tr>
|
|
|
- <tr><td colspan="2" style="height: 4rem">Bitte abzeichnen</td>{#each Object.keys(noten()) as n}<td></td>{/each}<td></td><td></td><td></td></tr>
|
|
|
+ <tr><td colspan="2" style="height: 4rem">Bitte abzeichnen</td>{#each Array.from(faecher) as f}<td></td>{/each}<td></td><td></td><td></td></tr>
|
|
|
{#each slice as s, ii}
|
|
|
- <tr>
|
|
|
- <td><b>{i*anzahl+ii+1}</b></td>
|
|
|
- <td><b>{s.Name}, {s.Vorname}</b></td>
|
|
|
- <td>{s.abschnitte.find(aktHalbjahr).SumFehlStd || 0}</td>
|
|
|
- <td>{s.abschnitte.find(aktHalbjahr).SumFehlStdU || 0}</td>
|
|
|
- {#each Object.entries(noten()) as [fach, n]}
|
|
|
- <td class="text-center" style={parseInt(n[i*anzahl+ii]) > 4 ? 'background:tomato;':''}>{n[i*anzahl+ii] || '–'}</td>
|
|
|
- {/each}
|
|
|
- <td class="extraklein">{s.abschnitte.find(aktHalbjahr).ZeugnisBem || ''}</td>
|
|
|
- </tr>
|
|
|
+ {#each s.abschnitte.filter(aktHalbjahr) as hj (hj.ID)}
|
|
|
+ <tr>
|
|
|
+ <td><b>{i*anzahl+ii+1}</b></td>
|
|
|
+ <td><b>{s.Name}, {s.Vorname}</b></td>
|
|
|
+ <td>{hj.SumFehlStd || 0}</td>
|
|
|
+ <td>{hj.SumFehlStdU || 0}</td>
|
|
|
+ {#each Array.from(faecher) as f}
|
|
|
+ {#each [hj.noten.find(n => n.fach.FachKrz === f)||{}] as n}
|
|
|
+ <td class="text-center" style={parseInt(n.NotenKrz) > 4 ? 'background:tomato;':''}>
|
|
|
+ <span class:kreis={n.Warnung==='+'}>{n.NotenKrz || '–'}</span>
|
|
|
+ </td>
|
|
|
+ {/each}
|
|
|
+ {/each}
|
|
|
+ <td class="extraklein">{hj.ZeugnisBem || ''}</td>
|
|
|
+ </tr>
|
|
|
+ {/each}
|
|
|
{/each}
|
|
|
</table>
|
|
|
</div>
|
|
@@ -47,17 +53,8 @@
|
|
|
const heute = () => new Date().toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'})
|
|
|
const anzahl = 25
|
|
|
const aktAbschnitt = () => schueler[0].abschnitte.slice(-1)[0]
|
|
|
- const faecher = () => {
|
|
|
- let faecher = new Set
|
|
|
- schueler.forEach(s => s.abschnitte.find(aktHalbjahr).noten.forEach(n => {faecher.add(n.fach.FachKrz)}))
|
|
|
- return faecher
|
|
|
- }
|
|
|
- const noten = () => {
|
|
|
- let noten = {}
|
|
|
- faecher().forEach(f => {noten[f] = []})
|
|
|
- schueler.forEach(s => s.abschnitte.find(aktHalbjahr).noten.forEach(n => noten[n.fach.FachKrz].push(n.NotenKrz || "–")))
|
|
|
- return noten
|
|
|
- }
|
|
|
+ const faecher = new Set
|
|
|
+ schueler.forEach(s => s.abschnitte.find(aktHalbjahr).noten.forEach(n => {faecher.add(n.fach.FachKrz)}))
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
@@ -99,6 +96,11 @@
|
|
|
transform-origin: left bottom;
|
|
|
display: inline-block
|
|
|
}
|
|
|
+ .kreis {
|
|
|
+ border: 0.2rem solid red;
|
|
|
+ border-radius: 20%;
|
|
|
+ padding: 0.2rem;
|
|
|
+ }
|
|
|
|
|
|
</style>
|
|
|
|