<%- include('partials/head') %> <%- include('partials/header') %>

Filter

Statistik

<%= statistics.total %>
Gesamtbewerbungen

Nach Bewerbungsart

<% if (statistics.byArt.length > 0) { %> <% statistics.byArt.forEach(item => { %>
<%= item.art %> <%= item.count %>
<% }); %> <% } else { %>

Keine Daten verfügbar

<% } %>

Nach Status

<% if (statistics.byStatus.length > 0) { %> <% statistics.byStatus.forEach(item => { %>
<%= item.status %> <%= item.count %>
<% }); %> <% } else { %>

Keine Daten verfügbar

<% } %>
<% if (applications.length > 0) { %> <% // Status-Reihenfolge synchron zu public/js/main.js halten const statusOrder = ['Gesendet', 'Eingangsbestätigung', 'Vorstellungsgespräch', 'Einstellung', 'Absage', 'Keine Rückmeldung']; const statusDot = { 'Gesendet': 'bg-indigo-500', 'Eingangsbestätigung': 'bg-blue-500', 'Vorstellungsgespräch': 'bg-yellow-500', 'Einstellung': 'bg-green-500', 'Absage': 'bg-red-500', 'Keine Rückmeldung': 'bg-gray-400', 'Ohne Status': 'bg-gray-300' }; const groups = {}; applications.forEach(a => { const key = (a.status && a.status.trim()) ? a.status.trim() : 'Ohne Status'; (groups[key] = groups[key] || []).push(a); }); const orderedKeys = [ ...statusOrder.filter(s => groups[s]), ...Object.keys(groups).filter(k => !statusOrder.includes(k)) ]; %> <% orderedKeys.forEach(statusKey => { %> <% groups[statusKey].forEach(app => { %> <% const hatNotizen = app.notizen && app.notizen.trim().length > 0; const hatInterne = app.interne_notizen && app.interne_notizen.trim().length > 0; const hatVerlauf = app.verlauf && app.verlauf.length > 0; const hatDetails = hatNotizen || hatInterne || hatVerlauf; const padB = hatDetails ? 'pb-2' : 'pb-4'; %> <% if (hatDetails) { %> <% } %> <% }); %> <% }); %> <% } else { %> <% } %>
Datum Firma Stelle Art Status Aktionen
<%= statusKey %> <%= groups[statusKey].length %>
<%= new Date(app.datum).toLocaleDateString('de-DE') %> <%= app.firma %> <%= app.stelle %> <%= app.art || '-' %> <%= app.status || '-' %>
<% if (hatVerlauf) { %>
Status-Verlauf
    <% app.verlauf.forEach(v => { %>
  1. <%= new Date(v.datum).toLocaleDateString('de-DE') %> <%= v.status %> <% if (v.kommentar && v.kommentar.trim()) { %> – <%= v.kommentar %> <% } %>
  2. <% }); %>
<% } %> <% if (hatNotizen) { %>
Notizen

<%= app.notizen %>

<% } %> <% if (hatInterne) { %>
Interne Notizen · nicht im PDF

<%= app.interne_notizen %>

<% } %>

Keine Bewerbungen gefunden.

Klicken Sie auf "Bewerbung hinzufügen", um Ihre erste Bewerbung einzutragen.

<%- include('partials/footer') %>