6ad1a73c16
- Implemented shop module with root component, loading state, and invoice handling. - Created statistics module with invoice type card component, API routes, and data models. - Added season picker component for selecting year and season. - Integrated services for fetching statistics data and managing state. - Established routing for statistics and shop views.
58 lines
2.2 KiB
HTML
58 lines
2.2 KiB
HTML
<div class="flex flex-col gap-6 p-4">
|
|
<season-picker (onChange)="onDateChanged($event)" />
|
|
<div class="grid grid-cols-2 gap-4">
|
|
@if (loading()) {
|
|
@for (_ of [0, 1, 2, 3, 4, 5]; track $index) {
|
|
<div class="h-32 w-full">
|
|
<p-skeleton width="100%" height="100%"></p-skeleton>
|
|
</div>
|
|
}
|
|
} @else {
|
|
<pos-statistics-invoice-type-card
|
|
type="all"
|
|
[loading]="loading()"
|
|
[totalAmount]="item()?.all?.total_amount"
|
|
[totalTaxAmount]="item()?.all?.total_tax"
|
|
[count]="item()?.all?.count"
|
|
(onClick)="toInvoicesPage('all')" />
|
|
<pos-statistics-invoice-type-card
|
|
type="success"
|
|
[loading]="loading()"
|
|
[totalAmount]="item()?.success?.total_amount"
|
|
[totalTaxAmount]="item()?.success?.total_tax"
|
|
[count]="item()?.success?.count"
|
|
(onClick)="toInvoicesPage('success')" />
|
|
<pos-statistics-invoice-type-card
|
|
type="failure"
|
|
[loading]="loading()"
|
|
[totalAmount]="item()?.failure?.total_amount"
|
|
[totalTaxAmount]="item()?.failure?.total_tax"
|
|
[count]="item()?.failure?.count"
|
|
(onClick)="toInvoicesPage('failure')" />
|
|
<pos-statistics-invoice-type-card
|
|
type="notSended"
|
|
[loading]="loading()"
|
|
[totalAmount]="item()?.notSended?.total_amount"
|
|
[totalTaxAmount]="item()?.notSended?.total_tax"
|
|
[count]="item()?.notSended?.count"
|
|
(onClick)="toInvoicesPage('notSended')" />
|
|
<pos-statistics-invoice-type-card
|
|
type="pending"
|
|
[loading]="loading()"
|
|
[totalAmount]="item()?.pending?.total_amount"
|
|
[totalTaxAmount]="item()?.pending?.total_tax"
|
|
[count]="item()?.pending?.count"
|
|
(onClick)="toInvoicesPage('pending')" />
|
|
<pos-statistics-invoice-type-card
|
|
type="credit"
|
|
[loading]="loading()"
|
|
[totalAmount]="item()?.credit?.total_amount"
|
|
[totalTaxAmount]="item()?.credit?.total_tax"
|
|
[count]="item()?.credit?.count" />
|
|
}
|
|
</div>
|
|
<div class="fixed inset-x-0 bottom-0 p-4">
|
|
<button pButton [routerLink]="shopRoute" size="large" class="w-full">ایجاد صورتحساب جدید</button>
|
|
</div>
|
|
</div>
|