PlanTempusApp/PlanTempus.Application/Features/Kasse/Pages/Index.cshtml
Janus C. H. Knudsen 754681059d Adds Kasse (Cash Register) module and related components
Introduces comprehensive cash management functionality with multiple view components for tracking daily transactions, filtering, and reconciliation

Implements:
- Cash calculation and difference tracking
- Dynamic tab switching
- Checkbox selection and row expansion
- Date filtering and approval mechanisms
2026-01-11 21:08:56 +01:00

93 lines
3.6 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@page "/kasse"
@using PlanTempus.Application.Features.Kasse.Pages
@model PlanTempus.Application.Features.Kasse.Pages.IndexModel
@{
ViewData["Title"] = "Kasse";
}
<!-- Sticky Header (Stats + Tabs) -->
<swp-kasse-sticky-header>
<!-- Context Stats (changes based on active tab) -->
<swp-kasse-header>
<!-- Stats for Oversigt tab -->
<swp-kasse-stats data-for-tab="oversigt" class="active">
<swp-kasse-stat>
<swp-kasse-stat-value>12</swp-kasse-stat-value>
<swp-kasse-stat-label>Afstemninger i periode</swp-kasse-stat-label>
</swp-kasse-stat>
<swp-kasse-stat class="highlight">
<swp-kasse-stat-value>186.450 kr</swp-kasse-stat-value>
<swp-kasse-stat-label>Total omsætning</swp-kasse-stat-label>
</swp-kasse-stat>
<swp-kasse-stat>
<swp-kasse-stat-value>42.340 kr</swp-kasse-stat-value>
<swp-kasse-stat-label>Kontantsalg</swp-kasse-stat-label>
</swp-kasse-stat>
<swp-kasse-stat class="warning">
<swp-kasse-stat-value>-75 kr</swp-kasse-stat-value>
<swp-kasse-stat-label>Samlet difference</swp-kasse-stat-label>
</swp-kasse-stat>
</swp-kasse-stats>
<!-- Stats for Dagens afstemning tab -->
<swp-kasse-stats data-for-tab="afstemning">
<swp-kasse-stat>
<swp-kasse-stat-value>47</swp-kasse-stat-value>
<swp-kasse-stat-label>Transaktioner i dag</swp-kasse-stat-label>
</swp-kasse-stat>
<swp-kasse-stat class="highlight">
<swp-kasse-stat-value>18.865 kr</swp-kasse-stat-value>
<swp-kasse-stat-label>Omsætning i dag</swp-kasse-stat-label>
</swp-kasse-stat>
<swp-kasse-stat>
<swp-kasse-stat-value>29. dec 17:45</swp-kasse-stat-value>
<swp-kasse-stat-label>Sidste afstemning</swp-kasse-stat-label>
</swp-kasse-stat>
<swp-kasse-stat>
<swp-kasse-stat-value>Anna J.</swp-kasse-stat-value>
<swp-kasse-stat-label>Åbnede kassen 29. dec 09:05</swp-kasse-stat-label>
</swp-kasse-stat>
</swp-kasse-stats>
</swp-kasse-header>
<!-- Tab Bar -->
<swp-tab-bar>
<swp-tab class="active" data-tab="oversigt">
<i class="ph ph-list-checks"></i>
Oversigt
</swp-tab>
<swp-tab data-tab="afstemning">
<i class="ph ph-cash-register"></i>
Kasseafstemning
</swp-tab>
</swp-tab-bar>
</swp-kasse-sticky-header>
<!-- Tab Content: Oversigt -->
<swp-tab-content data-tab="oversigt" class="active">
<swp-page-container>
@await Component.InvokeAsync("KasseFilterBar")
@await Component.InvokeAsync("KasseTable")
</swp-page-container>
</swp-tab-content>
<!-- Tab Content: Dagens Afstemning -->
<swp-tab-content data-tab="afstemning">
<swp-page-container>
<swp-kasse-grid>
<swp-kasse-column>
@await Component.InvokeAsync("KasseDagensTal")
@await Component.InvokeAsync("KasseKontanter")
@await Component.InvokeAsync("KasseDifference")
</swp-kasse-column>
<swp-kasse-column>
@await Component.InvokeAsync("KasseDagsoplysninger")
@await Component.InvokeAsync("KasseNote")
@await Component.InvokeAsync("KasseGodkendelse")
</swp-kasse-column>
</swp-kasse-grid>
<swp-system-note>Systemet gemmer hvornår og af hvem der er godkendt enkelt kontrolspor.</swp-system-note>
</swp-page-container>
</swp-tab-content>