name('login'); Route::post('/login', [LoginController::class, 'store']); Route::post('/logout', [LoginController::class, 'destroy'])->name('logout'); Route::middleware('auth')->group(function () { Route::get('/', [DashboardController::class, 'index'])->name('dashboard'); // 類別管理 (用於商品對話框) Route::get('/categories', [CategoryController::class, 'index'])->name('categories.index'); Route::post('/categories', [CategoryController::class, 'store'])->name('categories.store'); Route::put('/categories/{category}', [CategoryController::class, 'update'])->name('categories.update'); Route::delete('/categories/{category}', [CategoryController::class, 'destroy'])->name('categories.destroy'); // 商品管理 Route::get('/products', [ProductController::class, 'index'])->name('products.index'); Route::post('/products', [ProductController::class, 'store'])->name('products.store'); Route::put('/products/{product}', [ProductController::class, 'update'])->name('products.update'); // 廠商管理 Route::get('/vendors', [VendorController::class, 'index'])->name('vendors.index'); Route::get('/vendors/{vendor}', [VendorController::class, 'show'])->name('vendors.show'); Route::post('/vendors', [VendorController::class, 'store'])->name('vendors.store'); Route::put('/vendors/{vendor}', [VendorController::class, 'update'])->name('vendors.update'); Route::delete('/vendors/{vendor}', [VendorController::class, 'destroy'])->name('vendors.destroy'); // 供貨商品相關路由 Route::post('/vendors/{vendor}/products', [VendorProductController::class, 'store'])->name('vendors.products.store'); Route::put('/vendors/{vendor}/products/{product}', [VendorProductController::class, 'update'])->name('vendors.products.update'); Route::delete('/vendors/{vendor}/products/{product}', [VendorProductController::class, 'destroy'])->name('vendors.products.destroy'); // 倉庫管理 Route::get('/warehouses', [WarehouseController::class, 'index'])->name('warehouses.index'); Route::post('/warehouses', [WarehouseController::class, 'store'])->name('warehouses.store'); Route::put('/warehouses/{warehouse}', [WarehouseController::class, 'update'])->name('warehouses.update'); Route::delete('/warehouses/{warehouse}', [WarehouseController::class, 'destroy'])->name('warehouses.destroy'); // 倉庫庫存管理 Route::get('/warehouses/{warehouse}/inventory', [InventoryController::class, 'index'])->name('warehouses.inventory.index'); Route::get('/warehouses/{warehouse}/inventory/create', [InventoryController::class, 'create'])->name('warehouses.inventory.create'); Route::post('/warehouses/{warehouse}/inventory', [InventoryController::class, 'store'])->name('warehouses.inventory.store'); Route::get('/warehouses/{warehouse}/inventory/{inventoryId}/edit', [InventoryController::class, 'edit'])->name('warehouses.inventory.edit'); Route::put('/warehouses/{warehouse}/inventory/{inventoryId}', [InventoryController::class, 'update'])->name('warehouses.inventory.update'); Route::delete('/warehouses/{warehouse}/inventory/{inventoryId}', [InventoryController::class, 'destroy'])->name('warehouses.inventory.destroy'); Route::get('/warehouses/{warehouse}/inventory/{inventoryId}/history', [InventoryController::class, 'history'])->name('warehouses.inventory.history'); // 安全庫存設定 Route::get('/warehouses/{warehouse}/safety-stock', [SafetyStockController::class, 'index'])->name('warehouses.safety-stock.index'); Route::post('/warehouses/{warehouse}/safety-stock', [SafetyStockController::class, 'store'])->name('warehouses.safety-stock.store'); Route::put('/warehouses/{warehouse}/safety-stock/{inventory}', [SafetyStockController::class, 'update'])->name('warehouses.safety-stock.update'); Route::delete('/warehouses/{warehouse}/safety-stock/{inventory}', [SafetyStockController::class, 'destroy'])->name('warehouses.safety-stock.destroy'); // 採購單管理 Route::get('/purchase-orders', [PurchaseOrderController::class, 'index'])->name('purchase-orders.index'); Route::get('/purchase-orders/create', [PurchaseOrderController::class, 'create'])->name('purchase-orders.create'); Route::post('/purchase-orders', [PurchaseOrderController::class, 'store'])->name('purchase-orders.store'); Route::get('/purchase-orders/{id}', [PurchaseOrderController::class, 'show'])->name('purchase-orders.show'); Route::get('/purchase-orders/{id}/edit', [PurchaseOrderController::class, 'edit'])->name('purchase-orders.edit'); Route::put('/purchase-orders/{id}', [PurchaseOrderController::class, 'update'])->name('purchase-orders.update'); Route::delete('/purchase-orders/{id}', [PurchaseOrderController::class, 'destroy'])->name('purchase-orders.destroy'); // 撥補單 (在庫存調撥時使用) Route::post('/transfer-orders', [TransferOrderController::class, 'store'])->name('transfer-orders.store'); Route::get('/api/warehouses/{warehouse}/inventories', [TransferOrderController::class, 'getWarehouseInventories'])->name('api.warehouses.inventories'); }); // End of auth middleware group