diff --git a/CLAUDE.md b/CLAUDE.md
index 89c307d15..07e99c9bd 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -69,6 +69,9 @@ npm install && npm run dev
- Data: `server/data/*.json`
- Styles: `client/src/App.vue`
+## Code Conventions
+- Always document non-obvious logic changes with comments
+
## Design System
- Colors: Slate/gray (#0f172a, #64748b, #e2e8f0)
- Status: green/blue/yellow/red
diff --git a/client/src/App.vue b/client/src/App.vue
index c2da05a5c..71d9913f7 100644
--- a/client/src/App.vue
+++ b/client/src/App.vue
@@ -22,6 +22,9 @@
{{ t('nav.demandForecast') }}
+
+ Restocking
+
Reports
diff --git a/client/src/api.js b/client/src/api.js
index 11cb9db70..df4f6dcfc 100644
--- a/client/src/api.js
+++ b/client/src/api.js
@@ -102,5 +102,23 @@ export const api = {
async getPurchaseOrderByBacklogItem(backlogItemId) {
const response = await axios.get(`${API_BASE_URL}/purchase-orders/${backlogItemId}`)
return response.data
+ },
+
+ async getRestockCandidates(filters = {}) {
+ const params = new URLSearchParams()
+ if (filters.warehouse && filters.warehouse !== 'all') params.append('warehouse', filters.warehouse)
+ if (filters.category && filters.category !== 'all') params.append('category', filters.category)
+ const response = await axios.get(`${API_BASE_URL}/restocking/candidates?${params.toString()}`)
+ return response.data
+ },
+
+ async createRestockOrder(restockOrderData) {
+ const response = await axios.post(`${API_BASE_URL}/restock-orders`, restockOrderData)
+ return response.data
+ },
+
+ async getRestockOrders() {
+ const response = await axios.get(`${API_BASE_URL}/restock-orders`)
+ return response.data
}
}
diff --git a/client/src/main.js b/client/src/main.js
index 477c2d966..3347ae013 100644
--- a/client/src/main.js
+++ b/client/src/main.js
@@ -7,6 +7,7 @@ import Orders from './views/Orders.vue'
import Demand from './views/Demand.vue'
import Spending from './views/Spending.vue'
import Reports from './views/Reports.vue'
+import Restocking from './views/Restocking.vue'
const router = createRouter({
history: createWebHistory(),
@@ -15,6 +16,7 @@ const router = createRouter({
{ path: '/inventory', component: Inventory },
{ path: '/orders', component: Orders },
{ path: '/demand', component: Demand },
+ { path: '/restocking', component: Restocking },
{ path: '/spending', component: Spending },
{ path: '/reports', component: Reports }
]
diff --git a/client/src/views/Orders.vue b/client/src/views/Orders.vue
index 7413f6e66..d6c2e5759 100644
--- a/client/src/views/Orders.vue
+++ b/client/src/views/Orders.vue
@@ -27,6 +27,40 @@
+
+
+
+
+
+
+ | Order # |
+ Items |
+ Total Cost |
+ Submitted |
+ Lead Time |
+ Expected Delivery |
+ Status |
+
+
+
+
+ | {{ order.order_number }} |
+ {{ order.item_count }} |
+ {{ currencySymbol }}{{ order.total_cost.toLocaleString() }} |
+ {{ formatSafeDate(order.created_date) }} |
+ {{ order.lead_time_days }} days |
+ {{ formatSafeDate(order.expected_delivery) }} |
+
+ {{ order.status }}
+ |
+
+
+
+
+
+