Browse Source

AHR Dokumente

hmt 4 years ago
parent
commit
66c6e59898
3 changed files with 95 additions and 4 deletions
  1. 4 3
      AHR Durchschnittspunkte Zulassung.html
  2. 90 0
      AHR Vornoten Abitur.html
  3. 1 1
      AHR Vornoten BA.html

+ 4 - 3
AHR Durchschnittspunkte Zulassung.html

@@ -16,11 +16,11 @@
       {#each schueler as s}
         <tr>
           <td>{s.Name}, {s.Vorname[0]}.</td>
-          <td class="text-center">{try {s.abi_abschluss_faecher.find(f => f.AbiFach === '1').Durchschnitt.toFixed(2)} catch (e) { null }}</td>
-          <td class="text-center">{try {s.abi_abschluss_faecher.find(f => f.AbiFach === '2').Durchschnitt.toFixed(2)} catch (e) { null }}</td>
+          <td class="text-center">{fixed(s.abi_abschluss_faecher.find(f => f.AbiFach === '1').Durchschnitt)}</td>
+          <td class="text-center">{fixed(s.abi_abschluss_faecher.find(f => f.AbiFach === '2').Durchschnitt)}</td>
           {#each drei() as fach}
             {#each s.abi_abschluss_faecher.filter(f => f.AbiFach === '3') as s_fach}
-              <td class="text-center">{s_fach.FachKrz === fach ? s_fach.Durchschnitt.toFixed(2) : ''}</td>
+              <td class="text-center">{s_fach.FachKrz === fach ? fixed(s_fach.Durchschnitt) : ''}</td>
             {/each}
           {/each}
         </tr>
@@ -40,6 +40,7 @@
     zwei = () => schueler[0].abi_abschluss_faecher.find(f => f.AbiFach === '1').FachKrz
     drei = () => [...new Set(schueler.map(s => s.abi_abschluss_faecher.find(f => f.AbiFach === '3').FachKrz))]
   }
+  const fixed = n => n ? n.toFixed(2) : null
 </script>
 <style>
   @import 'css/main.css';

+ 90 - 0
AHR Vornoten Abitur.html

@@ -0,0 +1,90 @@
+{#each chunk(schueler, anzahl) as slice, i}
+  <div class="page grid" orientation="landscape" size="A3">
+    <div class="header">
+      <pre>
+        Konferenzliste APA BK Abitur <b>{klasse.Klasse || schueler[0].Klasse}</b> &Tab; {aktAbschnitt().klassenlehrer_in}: <b>{`${aktAbschnitt().lehrer.Vorname} ${aktAbschnitt().lehrer.Nachname} (${aktAbschnitt().lehrer.Kuerzel})`}</b> &Tab; Stand: {heute()}
+      </pre>
+    </div>
+    <div class="main">
+      {#each slice as s, ii}
+        <b>{(i*anzahl)+ii+1}. {s.Name}, {s.Vorname}</b>
+        <div class="flex-grid">
+          <div class="tabelle">
+            <table>
+              {#each zeilen(faecher(s)) as row}
+                <tr>
+                  {#each row as cell}
+                    <td class:red={parseInt(cell) < 5 && parseInt(cell) >= 0}>{cell}</td>
+                  {/each}
+                </tr>
+              {/each}
+              <tr><td>✎ → </td>
+              {#each s.abi_abschluss_faecher as i}
+              <td></td>
+              {/each}
+              </tr>
+            </table>
+          </div>
+          <div class="bemerkungen">
+            Bermerkungen:
+            {#each '12345' as i}
+              <hr>
+              <Voffset v='1.5' />
+            {/each}
+            Zugelassen: {s.abi_abschluss.Zulassung === '+' ? "Ja":"Nein"}
+          </div>
+        </div>
+        <Voffset v=1 />
+      {/each}
+    </div>
+    <div class="footer">Seite {i+1}/{Math.ceil(schueler.length/anzahl)}</div>
+  </div>
+{/each}
+
+<script>
+  import { datum, chunk, punkte2note }  from './helfer'
+  import Voffset from './partials/Voffset.html'
+  export let schueler, schule, privat, jahr, abschnitt, klasse
+
+  const anzahl = 5
+  const heute = () => new Date().toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'})
+  const aktAbschnitt = () => schueler[0].abschnitte.slice(-1)[0]
+  function faecher (s) {
+    return s.abi_abschluss_faecher.sort((a,b) => a.FSortierung - b.FSortierung)
+  }
+  function zeilen (faecher) {
+    const arr = [[''], ['12.1'], ['12.2'], ['13.1'], ['13.2']]
+    faecher.forEach(f => {
+      arr[0].push(f.FachKrz)
+      arr[1].push(f.P12_1 || '')
+      arr[2].push(f.P12_2 || '')
+      arr[3].push(f.P13_1 || '')
+      arr[4].push(f.P13_2 || '')
+    })
+    return arr
+  }
+</script>
+
+<style>
+  @import 'css/main.css';
+  @import 'css/a3-landscape.css';
+  table {
+    width: 98%;
+    border-collapse: collapse;
+  }
+  table td {
+    border: thin solid #ddd;
+    white-space:nowrap;
+    text-align: center;
+  }
+  .flex-grid {
+    display: flex;
+  }
+  .tabelle {
+    flex: 65%;
+  }
+  .bemerkungen {
+    flex: 35%;
+  }
+  .red { background-color: tomato; }
+</style>

+ 1 - 1
AHR Vornoten BA.html

@@ -54,7 +54,7 @@
       arr[0].push(f.FachKrz)
       arr[1].push(punkte2note(f.P13_1) || '')
       arr[2].push(punkte2note(f.P13_2) || '')
-      arr[3].push(punkte2note(vornote))
+      arr[3].push(parseInt(punkte2note(vornote)) || '–')
       arr[4].push('123'.includes(f.AbiFach) ? (punkte2note(parseInt(f.AbiPruefErgebnis)) || '') : '')
       arr[5].push(parseInt(punkte2note('123'.includes(f.AbiFach) ? (Math.round((vornote + parseInt(f.AbiPruefErgebnis))/2)) : vornote)))
     })