diff --git a/app/Http/Controllers/Admin/Manage/PurchaseController.php b/app/Http/Controllers/Admin/Manage/PurchaseController.php index 2a1ae1e..1f6842a 100644 --- a/app/Http/Controllers/Admin/Manage/PurchaseController.php +++ b/app/Http/Controllers/Admin/Manage/PurchaseController.php @@ -18,7 +18,7 @@ class PurchaseController extends Controller public function index(): Response { return Inertia::render('admin/manage/purchase/index', [ - 'purchases' => Purchase::latest()->get(), + 'purchases' => Purchase::with(['items.product'])->latest()->get(), ]); } diff --git a/resources/js/pages/admin/manage/purchase/partials/columns.tsx b/resources/js/pages/admin/manage/purchase/partials/columns.tsx index b1804b1..4969d36 100644 --- a/resources/js/pages/admin/manage/purchase/partials/columns.tsx +++ b/resources/js/pages/admin/manage/purchase/partials/columns.tsx @@ -25,6 +25,46 @@ export const getColumns = ({ onDelete }: ColumnProps): ColumnDef[] => }, meta: { title: "Tanggal" }, }, + { + accessorKey: "items", + header: ({ column }) => ( + + ), + cell: ({ row }) => { + const purchase = row.original; + const items = purchase.items; + + if (!items || !Array.isArray(items) || items.length === 0) { + return -; + } + + return ( +
+ {items.map((item, i) => ( +
+ {item.product?.name || 'Produk N/A'}:{' '} + {item.quantity} x {item.unit_price_formatted} +
+ ))} +
+ ); + }, + meta: { title: "Item" }, + }, + { + accessorKey: "total", + header: ({ column }) => ( + + ), + cell: ({ row }) => { + return ( + + {row.original.total_formatted} + + ); + }, + meta: { title: "Total" }, + }, { accessorKey: "note", header: "Catatan",