Redesigns cash reconciliation overview page
Refactors the cash reconciliation list view with improved UI and UX Adds period display and filtering capabilities Introduces table with enhanced status and period tracking Implements SAF-T export functionality for selected reconciliations
This commit is contained in:
parent
1acab8c049
commit
b5d5cfdf33
2 changed files with 855 additions and 38 deletions
|
|
@ -258,6 +258,47 @@
|
|||
border-top: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
/* ==========================================
|
||||
PERIOD DISPLAY
|
||||
========================================== */
|
||||
swp-period-display {
|
||||
display: block;
|
||||
padding: 16px;
|
||||
background: var(--color-background-alt);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
swp-period-label {
|
||||
display: block;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
color: var(--color-text-secondary);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
swp-period-value {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
swp-period-value .arrow {
|
||||
color: var(--color-teal);
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
swp-period-hint {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-text-secondary);
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
/* ==========================================
|
||||
DATA TABLE
|
||||
========================================== */
|
||||
|
|
@ -788,27 +829,18 @@
|
|||
<swp-card-hint>Identificér afstemningen</swp-card-hint>
|
||||
</swp-card-header>
|
||||
<swp-card-body>
|
||||
<swp-form-grid>
|
||||
<swp-form-field>
|
||||
<swp-form-label>Dato <span class="required">*</span></swp-form-label>
|
||||
<swp-form-input>
|
||||
<input type="date" id="reconciliationDate" />
|
||||
</swp-form-input>
|
||||
</swp-form-field>
|
||||
<swp-period-display>
|
||||
<swp-period-label>Periode</swp-period-label>
|
||||
<swp-period-value>
|
||||
<span class="from">28. dec 2025 kl. 18:00</span>
|
||||
<span class="arrow">→</span>
|
||||
<span class="to">29. dec 2025</span>
|
||||
</swp-period-value>
|
||||
</swp-period-display>
|
||||
|
||||
<swp-form-grid style="margin-top: 20px;">
|
||||
<swp-form-field>
|
||||
<swp-form-label>Medarbejder <span class="required">*</span></swp-form-label>
|
||||
<swp-form-input>
|
||||
<select id="employee">
|
||||
<option>Anna Jensen</option>
|
||||
<option>Karina Knudsen</option>
|
||||
<option>Martin Nielsen</option>
|
||||
</select>
|
||||
</swp-form-input>
|
||||
</swp-form-field>
|
||||
|
||||
<swp-form-field>
|
||||
<swp-form-label>Kassepunkt <span class="required">*</span></swp-form-label>
|
||||
<swp-form-label>Kassepunkt</swp-form-label>
|
||||
<swp-form-input>
|
||||
<select id="register">
|
||||
<option>Kasse 1 – Reception</option>
|
||||
|
|
@ -818,18 +850,18 @@
|
|||
</swp-form-field>
|
||||
|
||||
<swp-form-field>
|
||||
<swp-form-label>Skift (valgfrit)</swp-form-label>
|
||||
<swp-form-label>Afsluttet af</swp-form-label>
|
||||
<swp-form-input>
|
||||
<select id="shift">
|
||||
<option>Ikke angivet</option>
|
||||
<option>Morgen (08-14)</option>
|
||||
<option>Eftermiddag (14-20)</option>
|
||||
<select id="employee">
|
||||
<option>Anna Jensen</option>
|
||||
<option>Karina Knudsen</option>
|
||||
<option>Martin Nielsen</option>
|
||||
</select>
|
||||
</swp-form-input>
|
||||
</swp-form-field>
|
||||
</swp-form-grid>
|
||||
|
||||
<swp-auto-id>Afstemnings-ID: <strong id="reconciliationId">KA-2025-12-29-01</strong> · oprettet automatisk</swp-auto-id>
|
||||
<swp-auto-id>Afstemnings-ID: <strong>KA-2025-12-29</strong> · Z-043</swp-auto-id>
|
||||
</swp-card-body>
|
||||
</swp-card>
|
||||
|
||||
|
|
@ -893,19 +925,6 @@
|
|||
</swp-page-container>
|
||||
|
||||
<script>
|
||||
// Set today's date
|
||||
const dateInput = document.getElementById('reconciliationDate');
|
||||
const today = new Date();
|
||||
dateInput.value = today.toISOString().split('T')[0];
|
||||
|
||||
// Update reconciliation ID based on date
|
||||
function updateReconciliationId() {
|
||||
const date = new Date(dateInput.value);
|
||||
const id = `KA-${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}-01`;
|
||||
document.getElementById('reconciliationId').textContent = id;
|
||||
}
|
||||
dateInput.addEventListener('change', updateReconciliationId);
|
||||
|
||||
// Base values (from system)
|
||||
const startBalance = 2000;
|
||||
const cashSales = 3540;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue