Aufgaben im Wochenbericht, Meilensteine „Erreicht“, Panels als Planblatt
- Wochenbericht: Abschnitt „Aufgaben“ je Projekt (erledigt seit Vorwoche, überfällig, nächste zwei Wochen), rote Zahl in der Tagesordnung, Tabelle in der PDF-Akte; Klick öffnet das Aufgaben-Panel - Meilensteine lassen sich als erreicht markieren (plan_milestones.erreicht); nur nicht erreichte vergangene gelten als überfällig - Aufgabe- und Meilenstein-Panel neu aufgebaut: Stand oben, Lage im Terminplan, Angaben als Zeilen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4ac3d8d53d
commit
e12936444d
13 files changed
+693
-137
No files matched your search
+31
-2
@@ -518,13 +518,14 @@ function pdfWbProjektAkte(p, w, prevWeek, allePersonen){
|
||||
color: '#D70015', margin: [0, 6, 0, 0] });
|
||||
}
|
||||
|
||||
const innerContent = {
|
||||
const aufgaben = pdfWbAufgaben(p, w, prevWeek);
|
||||
const innerContent = { stack: [{
|
||||
columns: [
|
||||
{ width: '*', stack: [kopf, aenderung, kommentar].concat(vorher ? [vorher] : []) },
|
||||
{ width: 190, stack: rightStack }
|
||||
],
|
||||
columnGap: 12
|
||||
};
|
||||
}].concat(aufgaben ? [aufgaben] : []) };
|
||||
|
||||
return {
|
||||
table: {
|
||||
@@ -548,6 +549,34 @@ function pdfWbProjektAkte(p, w, prevWeek, allePersonen){
|
||||
};
|
||||
}
|
||||
|
||||
// pdfWbAufgaben: die Aufgaben der Akte wie auf dem Bildschirm
|
||||
// (berichtAufgabenDaten() in wochenbericht.js) — erledigt seit der Vorwoche,
|
||||
// überfällig, nächste zwei Wochen, je höchstens fünf. Rückgabe: pdfmake-Block
|
||||
// oder null, wenn in keiner Gruppe etwas steht.
|
||||
function pdfWbAufgaben(p, w, prevWeek){
|
||||
if(typeof berichtAufgabenDaten !== 'function') return null;
|
||||
const d = berichtAufgabenDaten(p, w, prevWeek);
|
||||
const gruppen = [
|
||||
[prevWeek ? 'Erledigt seit ' + berichtKurzKw(prevWeek.label) : 'Erledigt', d.erledigt, null],
|
||||
['Überfällig', d.ueberfaellig, '#D70015'],
|
||||
['Nächste zwei Wochen', d.bald, null]
|
||||
].filter(g => g[1].length);
|
||||
if(!gruppen.length) return null;
|
||||
const body = [];
|
||||
gruppen.forEach(([titel, liste, farbe]) => {
|
||||
liste.slice(0, 5).forEach((e, i) => body.push([
|
||||
{ text: i === 0 ? titel + ' (' + liste.length + ')' : '', style: 'td', bold: true, color: farbe || undefined },
|
||||
{ text: (e.art === 'meilenstein' ? 'Meilenstein: ' : '') + e.titel + (e.neu ? ' neu' : ''), style: 'td' },
|
||||
{ text: e.kuerzel, style: 'td' },
|
||||
{ text: e.datum ? formatDateDE(parseDateISO(e.datum)) : '', style: 'td', alignment: 'right', color: farbe || undefined }
|
||||
]));
|
||||
});
|
||||
return { stack: [
|
||||
{ text: 'AUFGABEN', fontSize: 6.5, bold: true, color: '#8E8E93', margin: [0, 10, 0, 3] },
|
||||
{ table: { widths: [100, '*', 70, 50], body }, layout: pdfWbGridLayout(false) }
|
||||
] };
|
||||
}
|
||||
|
||||
// pdfWbVorigerKommentar: Block mit dem jüngsten früheren Kommentar des
|
||||
// Gewerks. Steht er in der direkten Vorwoche, heißt er "Vorwoche KW …",
|
||||
// sonst "Zuletzt KW …". Parameter: p (Projekt), w (Sitzung). Rückgabe:
|
||||
|
||||
Reference in new issue
Block a user