AHR Durchschnittspunkte Zulassung.svelte 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <div class="page grid" orientation="portrait" size="A4">
  2. <div class="header">
  3. <pre>
  4. Durchschnittspunkte Zulassung der Abiturfächer <b>{klasse.Klasse || schueler[0].Klasse}</b> &Tab; Stand: {heute()}
  5. </pre>
  6. </div>
  7. <div class="main">
  8. <Voffset v=1/>
  9. <table class="table-bordered" width="100%">
  10. <tr>
  11. <th></th><th>1. LK</th><th>2. LK</th><th colspan="3">3. Abiturfach</th>
  12. </tr>
  13. <tr>
  14. <th>Name</th><th>{eins()}</th><th>{zwei()}</th>{#each drei() as fach}<th>{fach}</th>{/each}
  15. </tr>
  16. {#each schueler as s}
  17. <tr>
  18. <td>{s.Name}, {s.Vorname[0]}.</td>
  19. <td class="text-center">{fixed(s.abi_abschluss_faecher.find(f => f.AbiFach === '1').Durchschnitt)}</td>
  20. <td class="text-center">{fixed(s.abi_abschluss_faecher.find(f => f.AbiFach === '2').Durchschnitt)}</td>
  21. {#each drei() as fach}
  22. {#each s.abi_abschluss_faecher.filter(f => f.AbiFach === '3') as s_fach}
  23. <td class="text-center">{s_fach.FachKrz === fach ? fixed(s_fach.Durchschnitt) : ''}</td>
  24. {/each}
  25. {/each}
  26. </tr>
  27. {/each}
  28. </table>
  29. </div>
  30. </div>
  31. <script>
  32. export let schueler, klasse
  33. import Voffset from './partials/Voffset.svelte'
  34. const heute = () => new Date().toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'})
  35. let eins, zwei, drei
  36. $: {
  37. eins = () => schueler[0].abi_abschluss_faecher.find(f => f.AbiFach === '1').FachKrz
  38. zwei = () => schueler[0].abi_abschluss_faecher.find(f => f.AbiFach === '2').FachKrz
  39. drei = () => [...new Set(schueler.map(s => s.abi_abschluss_faecher.find(f => f.AbiFach === '3').FachKrz))]
  40. }
  41. const fixed = n => n ? n.toFixed(2) : null
  42. </script>
  43. <style>
  44. @import 'css/main.css';
  45. .table-bordered {
  46. border-collapse: collapse;
  47. }
  48. .table-bordered tr th {
  49. border: thin solid #ddd;
  50. }
  51. .table-bordered tr td {
  52. border: thin solid #ddd;
  53. line-height: 1.3rem;
  54. padding: 3px;
  55. }
  56. </style>