burningTyger 5 anos atrás
pai
commit
41816ce024
2 arquivos alterados com 32 adições e 2 exclusões
  1. 1 1
      components/projektwoche-schueler.svelte
  2. 31 1
      components/svwahl.svelte

+ 1 - 1
components/projektwoche-schueler.svelte

@@ -120,7 +120,7 @@
                     <option value={null}>Kein Projekt gewählt</option>
                     {#each projekte.filter(p => p.mi_do) as p}
                       <option value={p.id} selected={modal_s.mi_do}>
-                        {`${p.titel} – ${p.leitung} (${p.gewaehlt_mi_do === p.id}/${p.max_teilnehmer}`})
+                        {`${p.titel} – ${p.leitung} (${p.gewaehlt_mi_do}/${p.max_teilnehmer}`})
                       </option>
                     {/each}
                     <option value={0} selected={modal_s.mi_do === 0}>Krank/Beurlaubt</option>

+ 31 - 1
components/svwahl.svelte

@@ -1,3 +1,11 @@
+<table class="table table-condensed table-striped">
+  <th>Schüler</th><th>Sprecher</th><th>Schuko</th>
+  {#each wahlergebnis.filter(s=>s.gewaehlt_schuko > 0 || s.gewaehlt_sprecher > 0) as s}
+    <tr>
+      <td>{s.vorname}</td><td>{s.gewaehlt_sprecher}</td><td>{s.gewaehlt_schuko}</td>
+    </tr>
+  {/each}
+</table>
 <input type="checkbox" bind:checked={nur_aktive}> Nur aufgestellte Schüler anzeigen.
 <div class="columns">
   <div class="column is-two-thirds">
@@ -19,7 +27,7 @@
               <td class:has-background-success={s.schuko||s.sprecher}>
                 Schuko: <input checked={s.schuko} type="checkbox" on:click={()=>check_aktiv(s, 'schuko')}>
                 Sprecher: <input checked={s.sprecher} type="checkbox" on:click={()=>check_aktiv(s, 'sprecher')}>
-                <!-- gewählt: <input checked={s.gewaehlt} type="checkbox" on:click={()=>check_aktiv(s, 'gewaehlt')}> -->
+                gewählt: <input checked={s.gewaehlt} type="checkbox" on:click={()=>check_aktiv(s, 'gewaehlt')}>
                 wählbar: <input checked={s.waehlbar} type="checkbox" on:click={()=>check_aktiv(s, 'waehlbar')}>
                 {#if s.info || s.nachname || s.email}
                   <button class="button is-link tooltip is-tooltip-multiline" data-tooltip={`${s.info || ''} – ${s.Vorname} ${s.nachname || ''} – ${s.email || ''}`}>Infotext</button>
@@ -35,6 +43,7 @@
 <script>
   export let schueler, privat, einstellungen = {}
   let nur_aktive
+  let wahlergebnis = []
   const { Pool } = R('pg')
   const pool = new Pool({ connectionString: privat.mein_bk_db})
   const check_aktiv = async (s, art) => {
@@ -54,6 +63,27 @@
       console.log(err.stack)
     }
   }
+  async function hole_sprecher_ergebnisse () {
+    console.log('TEST')
+    const query = `SELECT *,
+                  (SELECT COUNT(*)
+                    FROM sprecher
+                    WHERE sprecher.schueler_id = schueler.id
+                  ) as gewaehlt_sprecher,
+                  (SELECT COUNT(*)
+                    FROM schuko
+                    WHERE schuko.schueler_id = schueler.id
+                  ) as gewaehlt_schuko
+                  FROM schueler`
+    try {
+      const res = await pool.query(query)
+      wahlergebnis = res.rows
+    }
+    catch (e) {
+      return []
+    }
+  }
+  hole_sprecher_ergebnisse()
 </script>
 <style>
   @import './node_modules/bulma-tooltip/dist/css/bulma-tooltip.min.css';