277 lines
6.5 KiB
Markdown
277 lines
6.5 KiB
Markdown
# Component Tree Per Halaman Sistem Inventory Walet
|
|
|
|
## 1. Dashboard
|
|
```text
|
|
DashboardPage
|
|
├── AppShell
|
|
├── DashboardHeader
|
|
├── MetricsGrid
|
|
│ ├── TotalStockCard
|
|
│ ├── InventoryValueCard
|
|
│ ├── PurchaseThisMonthCard
|
|
│ ├── SalesThisMonthCard
|
|
│ └── ShrinkageThisMonthCard
|
|
├── StockSummaryChart
|
|
├── PurchaseVsSalesChart
|
|
├── SupplierQualityChart
|
|
├── AgingAlertPanel
|
|
└── QuickActionPanel
|
|
```
|
|
|
|
## 2. Purchase List
|
|
```text
|
|
PurchaseListPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── PurchaseFilterBar
|
|
├── PurchaseToolbar
|
|
└── PurchaseTable
|
|
├── TableToolbar
|
|
├── StatusBadge
|
|
└── Pagination
|
|
```
|
|
|
|
## 3. Purchase Form
|
|
```text
|
|
PurchaseFormPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── PurchaseHeaderForm
|
|
│ ├── SupplierSelect
|
|
│ ├── PurchaseDateInput
|
|
│ ├── SupplierInvoiceInput
|
|
│ └── NotesTextarea
|
|
├── PurchaseLineEditor
|
|
│ ├── PurchaseLineRow
|
|
│ │ ├── ItemTypeSelect
|
|
│ │ ├── ItemGradeSelect
|
|
│ │ ├── QtyInput
|
|
│ │ ├── UnitSelect
|
|
│ │ ├── UnitPriceInput
|
|
│ │ ├── ClassificationStatusSelect
|
|
│ │ └── LineSubtotalCell
|
|
│ └── AddLineButton
|
|
├── PurchaseSummaryCard
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 4. Receipt Form
|
|
```text
|
|
ReceiptFormPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── ReceiptHeaderForm
|
|
├── ReceiptLineTable
|
|
│ ├── ReceiptLineRow
|
|
│ │ ├── OrderedQtyCell
|
|
│ │ ├── ReceivedQtyInput
|
|
│ │ ├── AcceptedQtyInput
|
|
│ │ ├── RejectedQtyInput
|
|
│ │ ├── UnitCostInput
|
|
│ │ ├── WarehouseSelect
|
|
│ │ └── WarehouseLocationSelect
|
|
├── GenerateLotPanel
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 5. Stock Lot List
|
|
```text
|
|
StockLotListPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── LotFilterBar
|
|
├── LotToolbar
|
|
└── LotTable
|
|
├── StatusBadge
|
|
├── AgingBadge
|
|
├── LotQuickActionsMenu
|
|
└── Pagination
|
|
```
|
|
|
|
## 6. Lot Detail
|
|
```text
|
|
LotDetailPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── LotSummaryCard
|
|
├── LotIdentitySection
|
|
├── LotQuantitySection
|
|
├── LotTraceSection
|
|
│ ├── ParentLotCard
|
|
│ ├── ChildLotsTable
|
|
│ └── SourceReferenceCard
|
|
├── LotMovementTimeline
|
|
├── LotSalesUsageTable
|
|
├── LotLabelPanel
|
|
└── LotActionPanel
|
|
├── HoldLotButton
|
|
├── ReleaseLotButton
|
|
├── TransferLotButton
|
|
├── RegradeLotButton
|
|
└── PrintLabelButton
|
|
```
|
|
|
|
## 7. Sorting Session Form
|
|
```text
|
|
SortingSessionFormPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── SourceLotSelector
|
|
├── SourceLotSummaryCard
|
|
├── SortingResultEditor
|
|
│ ├── SortingResultRow
|
|
│ │ ├── ItemTypeSelect
|
|
│ │ ├── ItemGradeSelect
|
|
│ │ ├── QtyResultInput
|
|
│ │ └── CostInput
|
|
│ └── AddResultLineButton
|
|
├── ShrinkageInputCard
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 8. Sales Form
|
|
```text
|
|
SalesFormPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── SalesHeaderForm
|
|
│ ├── CustomerSelect
|
|
│ ├── SalesDateInput
|
|
│ └── NotesTextarea
|
|
├── SalesLineEditor
|
|
│ ├── SalesLineRow
|
|
│ │ ├── ItemTypeSelect
|
|
│ │ ├── ItemGradeSelect
|
|
│ │ ├── QtyInput
|
|
│ │ ├── UnitSelect
|
|
│ │ ├── SellingPriceInput
|
|
│ │ └── LineSubtotalCell
|
|
│ └── AddLineButton
|
|
├── SalesSummaryCard
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 9. Allocation Screen
|
|
```text
|
|
SalesAllocationPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── SalesLineSummaryCard
|
|
├── AllocationToolbar
|
|
│ ├── AutoAllocateButton
|
|
│ ├── AllocationPolicySelect
|
|
│ └── RefreshStockButton
|
|
├── AvailableLotTable
|
|
│ ├── LotRow
|
|
│ │ ├── LotCodeCell
|
|
│ │ ├── SupplierCell
|
|
│ │ ├── AvailableQtyCell
|
|
│ │ ├── UnitCostCell
|
|
│ │ ├── FIFORecommendationBadge
|
|
│ │ └── AllocateQtyInput
|
|
├── AllocationSummaryCard
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 10. Picking Screen
|
|
```text
|
|
PickingPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── PickingSummaryCard
|
|
├── QrScannerPanel
|
|
├── PickingAllocationList
|
|
│ ├── PickingAllocationRow
|
|
│ │ ├── LotInfoCard
|
|
│ │ ├── AllocatedQtyCell
|
|
│ │ ├── PickedQtyInput
|
|
│ │ └── VarianceBadge
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 11. Barcode Lookup
|
|
```text
|
|
BarcodeLookupPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── QrScannerPanel
|
|
├── ManualBarcodeInput
|
|
├── LookupResultCard
|
|
├── TraceSummaryPanel
|
|
└── QuickActionPanel
|
|
```
|
|
|
|
## 12. Adjustment Form
|
|
```text
|
|
AdjustmentFormPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── LotSelector
|
|
├── LotSnapshotCard
|
|
├── AdjustmentForm
|
|
│ ├── AdjustmentTypeSelect
|
|
│ ├── ReasonSelect
|
|
│ ├── QtyBeforeReadonly
|
|
│ ├── QtyChangeInput
|
|
│ ├── QtyAfterPreview
|
|
│ ├── CostImpactPreview
|
|
│ └── NotesTextarea
|
|
└── StickyActionFooter
|
|
```
|
|
|
|
## 13. Reports Page
|
|
```text
|
|
ReportPage
|
|
├── AppShell
|
|
├── PageHeader
|
|
├── ReportFilterBar
|
|
├── ReportSummaryCards
|
|
├── ReportChartSection
|
|
├── ReportTableSection
|
|
└── ExportActionBar
|
|
```
|
|
|
|
## 14. Shared Critical Components
|
|
```text
|
|
AppShell
|
|
├── Sidebar
|
|
├── Topbar
|
|
├── Breadcrumb
|
|
└── ContentWrapper
|
|
|
|
DataTable
|
|
├── FilterBar
|
|
├── ColumnVisibilityToggle
|
|
├── ExportButton
|
|
├── Pagination
|
|
└── EmptyState
|
|
|
|
QrScannerPanel
|
|
├── CameraPreview
|
|
├── ScanOverlay
|
|
├── ScanResultBadge
|
|
└── ManualFallbackInput
|
|
```
|
|
|
|
## 15. Prioritas Component Build
|
|
Urutan komponen paling penting dibangun dulu:
|
|
1. AppShell
|
|
2. DataTable
|
|
3. StatusBadge / AgingBadge
|
|
4. Form primitives
|
|
5. PurchaseLineEditor
|
|
6. ReceiptLineTable
|
|
7. LotTable
|
|
8. LotSummaryCard
|
|
9. LotMovementTimeline
|
|
10. SalesLineEditor
|
|
11. AvailableLotTable
|
|
12. AllocationSummaryCard
|
|
13. QrScannerPanel
|
|
14. PickingAllocationList
|
|
15. ReportFilterBar
|
|
|
|
## 16. Catatan
|
|
- halaman lot detail dan allocation adalah pusat kompleksitas produk
|
|
- QR scanner dan movement timeline adalah komponen pembeda
|
|
- semua editor multi-line harus reusable agar purchase, receipt, sales, dan sorting lebih cepat dibangun |