Update-1
This commit is contained in:
100
main.go
100
main.go
@@ -143,6 +143,7 @@ type Monatsstatistik struct {
|
||||
Monat string // z. B. "07.2025"
|
||||
Summe float64 // bezahlte
|
||||
SummeOffen float64 // noch nicht bezahlt
|
||||
Eintraege []Entry
|
||||
}
|
||||
|
||||
var tmpl = template.Must(template.New("form").Funcs(template.FuncMap{
|
||||
@@ -437,6 +438,7 @@ func main() {
|
||||
if _, ok := monatsMap[monatKey]; !ok {
|
||||
monatsMap[monatKey] = &Monatsstatistik{Monat: monatKey}
|
||||
}
|
||||
monatsMap[monatKey].Eintraege = append(monatsMap[monatKey].Eintraege, e)
|
||||
if e.Bezahlt {
|
||||
monatsMap[monatKey].Summe += e.Abgabe
|
||||
} else {
|
||||
@@ -628,7 +630,7 @@ const htmlTemplate = `
|
||||
<div class="col">
|
||||
<label class="form-label">Prozentwert</label>
|
||||
<select name="prozentwert" class="form-select">
|
||||
<option value="30">30%</option>
|
||||
<option value="30">30% (Standard)</option>
|
||||
<option value="10">10%</option>
|
||||
<option value="15">15%</option>
|
||||
<option value="20">20%</option>
|
||||
@@ -802,6 +804,7 @@ const htmlTemplate = `
|
||||
<th>Monat</th>
|
||||
<th>Abgaben verteilt</th>
|
||||
<th>Abgaben offen</th>
|
||||
<th>Aktionen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -810,6 +813,101 @@ const htmlTemplate = `
|
||||
<td>{{.Monat}}</td>
|
||||
<td>{{formatNumber .Summe}} UEC</td>
|
||||
<td>{{formatNumber .SummeOffen}} UEC</td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#monat-{{.Monat}}" aria-expanded="false" aria-controls="monat-{{.Monat}}">
|
||||
Details
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="9" class="p-0 border-0">
|
||||
<div class="collapse" id="monat-{{.Monat}}">
|
||||
<div class="bg-light p-3 border-top">
|
||||
<strong>Interne Infos (Details):</strong>
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Datum</th>
|
||||
<th>UEC Anfang</th>
|
||||
<th>UEC Ende</th>
|
||||
<th>UEC Profit</th>
|
||||
<th>Prozent</th>
|
||||
<th>UEC Abgabe</th>
|
||||
<th>Status</th>
|
||||
{{if $.LoggedIn}}<th>Aktion</th>{{else}}<th>Erweitert</th>{{end}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="eintragsTabelle">
|
||||
{{range .Eintraege}}
|
||||
<tr>
|
||||
<td>{{.ID}}</td>
|
||||
<td>{{formatDate .CreatedAt}}</td>
|
||||
<td>{{formatNumber .Anfangsbestand}}</td>
|
||||
<td>{{formatNumber .Endbestand}}</td>
|
||||
<td>{{formatNumber .Gesamtwert}}</td>
|
||||
<td>{{formatNumber .Prozentwert}}%</td>
|
||||
<td>{{formatNumber .Abgabe}}</td>
|
||||
<td>
|
||||
{{if .Bezahlt}}
|
||||
{{if $.LoggedIn}}
|
||||
<a href="/unmarkaspaid?id={{.ID}}" class="btn btn-sm btn-outline-danger">✗ stornieren</a>
|
||||
{{else}}
|
||||
<span class="badge bg-success">✓ Erledigt</span>
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{if $.LoggedIn}}
|
||||
<a href="/markaspaid?id={{.ID}}" class="btn btn-sm btn-outline-success">✓ abgeben</a>
|
||||
{{else}}
|
||||
<span class="badge bg-secondary">✗ Offen</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#details-{{.ID}}" aria-expanded="false" aria-controls="details-{{.ID}}">
|
||||
Details
|
||||
</button>
|
||||
{{if $.LoggedIn}}
|
||||
<a href="/delete?id={{.ID}}" class="btn btn-sm btn-danger" onclick="return confirm('Eintrag wirklich löschen?')">Löschen</a>
|
||||
{{end}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="9" class="p-0 border-0">
|
||||
<div class="collapse" id="details-{{.ID}}">
|
||||
<div class="bg-light p-3 border-top">
|
||||
<strong>Interne Infos (Details):</strong>
|
||||
<table class="table table-sm table-bordered mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Startort</th>
|
||||
<th>Zielort</th>
|
||||
<th>Schiff</th>
|
||||
<th>Ware</th>
|
||||
<th>Zeit (min)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{.Startort}}</td>
|
||||
<td>{{.Zielort}}</td>
|
||||
<td>{{.Schiff}}</td>
|
||||
<td>{{.Ware}}</td>
|
||||
<td>{{formatNumber .Zeitaufwand}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
|
Reference in New Issue
Block a user