feat: implement stock keeping unit management form and list components

- Added StockKeepingUnitFormComponent for creating and editing stock keeping units.
- Introduced StockKeepingUnitsComponent for listing stock keeping units with pagination.
- Integrated form fields for code, name, VAT, and SKU type in the stock keeping unit form.
- Created API routes for stock keeping units with CRUD operations.
- Updated input components to handle numeric and price types with Persian/Arabic digit normalization.
- Enhanced key-value component to support tag display instead of badge.
- Adjusted layout styles for sidebar menu.
- Added AGENT.md for repository-specific coding guidelines and practices.
- Implemented good management form with file upload and category selection.
This commit is contained in:
2026-05-06 22:01:20 +03:30
parent 54d00e19ae
commit b2a1eb8e5b
87 changed files with 882 additions and 434 deletions
@@ -43,11 +43,11 @@
<ng-template #body let-item let-i="rowIndex" let-expanded="expanded">
<tr>
<td>
@if (showIndex) {
@if (showIndex) {
<td>
{{ i * (currentPage || 1) + 1 }}
}
</td>
</td>
}
@for (col of columns; track col.field) {
<td>
@if (col.type === "thumbnail") {
@@ -59,6 +59,8 @@
<img [src]="item[col.field]" class="w-full h-full object-cover" />
}
</div>
} @else if (col.variant === "tag") {
<p-tag [value]="getCell(item, col)" [severity]="col.tagOptions?.severity || 'contrast'"></p-tag>
} @else if (getTemplate(col)) {
<ng-container
[ngTemplateOutlet]="getTemplate(col)"
@@ -190,6 +192,7 @@
[label]="col.header"
[value]="item[expandableItemKey][col.field]"
[type]="col.type || 'simple'"
[variant]="col.variant"
/>
}
</div>
@@ -211,6 +214,11 @@
<ng-template #loadingbody let-columns>
@for (i of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; track i) {
<tr style="height: 46px">
@if (showIndex) {
<td>
<p-skeleton></p-skeleton>
</td>
}
@for (col of columns; track col) {
<td>
<p-skeleton></p-skeleton>