ADD: Warehouse inventory management dashboard
- Add WarehouseItemService.js — API client for all warehouse item endpoints (items CRUD, transactions, stock queries) - Add WarehouseService.js — API client for warehouse location management - Add ListWarehouseItems.vue — item catalogue table with inline create/edit dialog and bilingual unit picker - Add WarehouseItemStockView.vue — per-item stock dashboard showing total + per-warehouse breakdown, IN/OUT transaction dialog with reason presets, inline transaction history with delete - Add ListWarehouseItemTransactions.vue — full transaction history with filter panel (item, warehouse, type, date range) - Add ListWarehouses.vue — warehouse location management with create/edit dialogs - Update AppMenu.vue — add 'مدیریت انبار' menu group with 3 items - Update router/index.js — register 4 new warehouse management routes
This commit is contained in:
+45
-3
@@ -38,20 +38,41 @@ const router = createRouter({
|
||||
name: 'dashboard',
|
||||
component: () => import('@/views/Dashboard.vue')
|
||||
},
|
||||
{
|
||||
path: '/property/create-property',
|
||||
name: 'create-property',
|
||||
component: () => import('@/views/pages/Property/CreateProperty.vue')
|
||||
},
|
||||
{
|
||||
path: '/property/edit-property/:propertyId',
|
||||
name: 'edit-property',
|
||||
component: () => import('@/views/pages/Property/CreateProperty.vue')
|
||||
},
|
||||
{
|
||||
path: '/property/list-properties',
|
||||
name: 'list-properties',
|
||||
component: () => import('@/views/pages/Property/CreateProperty.vue')
|
||||
},
|
||||
// Aliases for backward compatibility
|
||||
{
|
||||
path: '/belonging/create-belonging',
|
||||
name: 'create-belonging',
|
||||
component: () => import('@/views/pages/Belonging/CreateBelonging.vue')
|
||||
component: () => import('@/views/pages/Property/CreateProperty.vue')
|
||||
},
|
||||
{
|
||||
path: '/belonging/edit-belonging/:belongingId',
|
||||
name: 'edit-belonging',
|
||||
component: () => import('@/views/pages/Belonging/CreateBelonging.vue')
|
||||
component: () => import('@/views/pages/Property/CreateProperty.vue')
|
||||
},
|
||||
{
|
||||
path: '/belonging/list-belongings',
|
||||
name: 'list-belongings',
|
||||
component: () => import('@/views/pages/Belonging/ListBelongings.vue')
|
||||
component: () => import('@/views/pages/Property/ListProperties.vue')
|
||||
},
|
||||
{
|
||||
path: '/property/list-properties',
|
||||
name: 'list-properties-main',
|
||||
component: () => import('@/views/pages/Property/ListProperties.vue')
|
||||
},
|
||||
{
|
||||
path: '/categories/list-categories',
|
||||
@@ -68,6 +89,27 @@ const router = createRouter({
|
||||
name: 'list-transactions',
|
||||
component: () => import('@/views/pages/Transaction/ListTransactions.vue')
|
||||
},
|
||||
// ─── Warehouse Items ──────────────────────────────────────────
|
||||
{
|
||||
path: '/warehouse-items/list',
|
||||
name: 'list-warehouse-items',
|
||||
component: () => import('@/views/pages/WarehouseItems/ListWarehouseItems.vue')
|
||||
},
|
||||
{
|
||||
path: '/warehouse-items/stock/:itemId',
|
||||
name: 'warehouse-item-stock',
|
||||
component: () => import('@/views/pages/WarehouseItems/WarehouseItemStockView.vue')
|
||||
},
|
||||
{
|
||||
path: '/warehouse-items/transactions',
|
||||
name: 'warehouse-item-transactions',
|
||||
component: () => import('@/views/pages/WarehouseItems/ListWarehouseItemTransactions.vue')
|
||||
},
|
||||
{
|
||||
path: '/warehouse-items/warehouses',
|
||||
name: 'list-warehouses',
|
||||
component: () => import('@/views/pages/WarehouseItems/ListWarehouses.vue')
|
||||
},
|
||||
{
|
||||
path: '/uikit/formlayout',
|
||||
name: 'formlayout',
|
||||
|
||||
Reference in New Issue
Block a user