projektwoche-tn-listen.svelte 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. {#each projekte as p}
  2. <div class="page" orientation="portrait" size="A4">
  3. <div class="main">
  4. <h4>{p.id} – {p.titel}</h4>
  5. <h5>Teilnehmerliste (unter 18 mit ⚠ gekennzeichnet)</h5>
  6. <table class="table tabele-narrow">
  7. <thead><th></th><th>Name</th><th>Anwesend/Abgemeldet</th></thead>
  8. {#each Object.entries(schueler) as [klasse, gruppe]}
  9. {#each gruppe.filter(s => [s.woche, s.mo_di, s.mi_do].includes(p.id)) as t,i}
  10. <tr>
  11. <td>{t.woche === p.id ? 'Mo-Do':''}{t.mo_di === p.id ? 'Mo/Di':''} {t.mi_do === p.id ? 'Mi/Do':''}</td>
  12. <td>{t.Name}, {t.Vorname} – {t.Klasse}</td>
  13. <td>{t.Volljaehrig === '+' ? '':'⚠'}</td>
  14. </tr>
  15. {/each}
  16. {/each}
  17. </table>
  18. </div>
  19. </div>
  20. {/each}
  21. <style>
  22. @import 'css/main.css';
  23. </style>
  24. <script>
  25. export let privat, schueler
  26. let projekte = []
  27. const { Pool } = R('pg')
  28. const pool = new Pool({ connectionString: privat.mein_bk_db})
  29. function projekte_laden () {
  30. pool.query(`SELECT * FROM projekte`, (err, resp) => projekte = resp.rows)
  31. }
  32. projekte_laden()
  33. </script>