added pdf generation with typst, working on pdf input form
This commit is contained in:
@@ -1,58 +0,0 @@
|
||||
#let table-header(..headers) = {
|
||||
table.header(
|
||||
..headers.pos().map(h => strong(text(fill: white, h)))
|
||||
)
|
||||
}
|
||||
|
||||
#set table(
|
||||
stroke: black,
|
||||
inset: .5em,
|
||||
align: center,
|
||||
)
|
||||
|
||||
#let abrechnung(meta, days) = {
|
||||
set page(paper: "a4")
|
||||
|
||||
[= Abrechnung Arbeitszeit -- #meta.employee-name]
|
||||
|
||||
[Zeitraum: #meta.Zeitraum
|
||||
|
||||
Arbeitszeit: #user.Arbeitszeit
|
||||
|
||||
Überstunden: #user.Überstunden
|
||||
]
|
||||
|
||||
table(
|
||||
columns: (1fr, 1fr, 1fr, 1fr, 1fr, 1fr, 1.25fr),
|
||||
fill: (x, y) =>
|
||||
if y == 0 { gray },
|
||||
align: center,
|
||||
table-header(
|
||||
[Datum], [Kommen], [Gehen], [Arbeitsart], [Stunden], [Pause], [Überstunden]
|
||||
),
|
||||
.. for day in days {
|
||||
(
|
||||
[#day.Date],
|
||||
table.cell(colspan: 3, inset: 0em)[
|
||||
#table(
|
||||
columns: (1fr, 1fr, 1fr),
|
||||
gutter: 0em,
|
||||
stroke: black,
|
||||
.. for Zeit in day.Zeiten {
|
||||
(
|
||||
[#Zeit.Kommen],
|
||||
[#Zeit.Gehen],
|
||||
[#Zeit.Art],
|
||||
)
|
||||
},
|
||||
)
|
||||
],
|
||||
[#day.Arbeitszeit],
|
||||
[#day.Pause],
|
||||
[#day.Überstunden],
|
||||
|
||||
)
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
#let user = (
|
||||
Name: "Mustermensch",
|
||||
Vorname: "Kim",
|
||||
Arbeitszeit: "139h 12min",
|
||||
Überstunden: "-14h 12min"
|
||||
)
|
||||
|
||||
#let meta = (
|
||||
Zeitraum: "01.09.2025 - 30.09.2025",
|
||||
KW: "26"
|
||||
)
|
||||
|
||||
#let days = (
|
||||
(
|
||||
Date: "01.09.2025",
|
||||
Zeiten: (
|
||||
(Kommen: "07:17", Gehen: "14:13", Art: "Büro"),
|
||||
(Kommen: "14:24", Gehen: "16:13", Art: "Homeoffice")
|
||||
),
|
||||
Arbeitszeit: "7h 32min",
|
||||
Pause: "34min",
|
||||
Überstunden: "12min"
|
||||
),(
|
||||
Date: "02.09.2025",
|
||||
Zeiten: (
|
||||
(Kommen: "07:23", Gehen: "14:21", Art: "Büro"),
|
||||
(Kommen: "14:38", Gehen: "17:13", Art: "Homeoffice")
|
||||
),
|
||||
Arbeitszeit: "6h 22min",
|
||||
Pause: "45min",
|
||||
Überstunden: "-23min"
|
||||
)
|
||||
)
|
||||
|
||||
#import "template.typ": abrechnung
|
||||
#show: doc => abrechnung(meta, user, days)
|
||||
Reference in New Issue
Block a user