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
This commit is contained in:
parent
12869e35bf
commit
754681059d
31 changed files with 2904 additions and 28 deletions
93
PlanTempus.Application/Features/Kasse/Pages/Index.cshtml
Normal file
93
PlanTempus.Application/Features/Kasse/Pages/Index.cshtml
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
@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>
|
||||
10
PlanTempus.Application/Features/Kasse/Pages/Index.cshtml.cs
Normal file
10
PlanTempus.Application/Features/Kasse/Pages/Index.cshtml.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace PlanTempus.Application.Features.Kasse.Pages;
|
||||
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue