|
@@ -1,26 +1,37 @@
|
|
|
<div class="columns">
|
|
|
- <div class="column is-half">
|
|
|
+ <div class="column">
|
|
|
<b>Ergebnisse der Sprecherwahl:</b>
|
|
|
<table class="table table-condensed table-striped">
|
|
|
- <th>Schüler</th><th>Sprecher</th>
|
|
|
- {#each wahlergebnis.filter(s=>s.gewaehlt_sprecher > 0).sort((a,b)=>a.gewaehlt_sprecher-b.gewaehlt_sprecher).reverse() as s}
|
|
|
+ <th>Schüler</th><th>#</th>
|
|
|
+ {#each wahlergebnis_schueler.filter(s=>s.gewaehlt_sprecher > 0).sort((a,b)=>a.gewaehlt_sprecher-b.gewaehlt_sprecher).reverse() as s}
|
|
|
<tr>
|
|
|
<td>{s.vorname} {s.nachname || ''} – {s.klasse} {s.email}</td><td>{s.gewaehlt_sprecher}</td>
|
|
|
</tr>
|
|
|
{/each}
|
|
|
</table>
|
|
|
</div>
|
|
|
- <div class="column is-half">
|
|
|
- <b>Ergebnisse der Sprecherwahl:</b>
|
|
|
+ <div class="column">
|
|
|
+ <b>Ergebnisse der Schukowahl:</b>
|
|
|
<table class="table table-condensed table-striped">
|
|
|
- <th>Schüler</th><th>Schulkonferenz</th>
|
|
|
- {#each wahlergebnis.filter(s=>s.gewaehlt_schuko > 0).sort((a,b)=>a.gewaehlt_schuko-b.gewaehlt_schuko).reverse() as s}
|
|
|
+ <th>Schüler</th><th>#</th>
|
|
|
+ {#each wahlergebnis_schueler.filter(s=>s.gewaehlt_schuko > 0).sort((a,b)=>a.gewaehlt_schuko-b.gewaehlt_schuko).reverse() as s}
|
|
|
<tr>
|
|
|
<td>{s.vorname} {s.nachname || ''} – {s.klasse} {s.email}</td><td>{s.gewaehlt_schuko}</td>
|
|
|
</tr>
|
|
|
{/each}
|
|
|
</table>
|
|
|
</div>
|
|
|
+ <div class="column">
|
|
|
+ <b>Ergebnisse der SV-Lehrerwahl:</b>
|
|
|
+ <table class="table table-condensed table-striped">
|
|
|
+ <th>Lehrer</th><th>#</th>
|
|
|
+ {#each wahlergebnis_lehrer.filter(l=>l.gewaehlt_lehrer > 0).sort((a,b)=>a.gewaehlt_lehrer-b.gewaehlt_lehrer).reverse() as l}
|
|
|
+ <tr>
|
|
|
+ <td>{l.name}</td><td>{l.gewaehlt_lehrer}</td>
|
|
|
+ </tr>
|
|
|
+ {/each}
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<input type="checkbox" bind:checked={nur_aktive}> Nur aufgestellte Schüler anzeigen.
|
|
|
<div class="columns">
|
|
@@ -57,9 +68,10 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<script>
|
|
|
- export let schueler, privat, einstellungen = {}
|
|
|
+ export let schueler, privat
|
|
|
let nur_aktive
|
|
|
- let wahlergebnis = []
|
|
|
+ let wahlergebnis_schueler = []
|
|
|
+ let wahlergebnis_lehrer = []
|
|
|
const { Pool } = R('pg')
|
|
|
const pool = new Pool({ connectionString: privat.mein_bk_db})
|
|
|
const check_aktiv = async (s, art) => {
|
|
@@ -79,8 +91,7 @@
|
|
|
console.log(err.stack)
|
|
|
}
|
|
|
}
|
|
|
- async function hole_sprecher_ergebnisse () {
|
|
|
- console.log('TEST')
|
|
|
+ async function hole_ergebnisse () {
|
|
|
const query = `SELECT *,
|
|
|
(SELECT COUNT(*)
|
|
|
FROM sprecher
|
|
@@ -91,15 +102,24 @@
|
|
|
WHERE schuko.schueler_id = schueler.id
|
|
|
) as gewaehlt_schuko
|
|
|
FROM schueler`
|
|
|
+ const query2 = `SELECT *,
|
|
|
+ (SELECT COUNT(*)
|
|
|
+ FROM verbindungslehrer
|
|
|
+ WHERE verbindungslehrer.lehrer_id = lehrer.id
|
|
|
+ ) as gewaehlt_lehrer
|
|
|
+ FROM lehrer`
|
|
|
try {
|
|
|
const res = await pool.query(query)
|
|
|
- wahlergebnis = res.rows
|
|
|
+ wahlergebnis_schueler = res.rows
|
|
|
+ const res2 = await pool.query(query2)
|
|
|
+ wahlergebnis_lehrer = res2.rows
|
|
|
}
|
|
|
catch (e) {
|
|
|
+ console.log(e)
|
|
|
return []
|
|
|
}
|
|
|
}
|
|
|
- hole_sprecher_ergebnisse()
|
|
|
+ hole_ergebnisse()
|
|
|
</script>
|
|
|
<style>
|
|
|
@import './node_modules/bulma-tooltip/dist/css/bulma-tooltip.min.css';
|