feat: include purchase items and total amount in purchase management table
This commit is contained in:
parent
70e0ba9760
commit
f1cda67e23
@ -18,7 +18,7 @@ class PurchaseController extends Controller
|
|||||||
public function index(): Response
|
public function index(): Response
|
||||||
{
|
{
|
||||||
return Inertia::render('admin/manage/purchase/index', [
|
return Inertia::render('admin/manage/purchase/index', [
|
||||||
'purchases' => Purchase::latest()->get(),
|
'purchases' => Purchase::with(['items.product'])->latest()->get(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -25,6 +25,46 @@ export const getColumns = ({ onDelete }: ColumnProps): ColumnDef<Purchase>[] =>
|
|||||||
},
|
},
|
||||||
meta: { title: "Tanggal" },
|
meta: { title: "Tanggal" },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
accessorKey: "items",
|
||||||
|
header: ({ column }) => (
|
||||||
|
<DataTableColumnHeader column={column} title="Item" />
|
||||||
|
),
|
||||||
|
cell: ({ row }) => {
|
||||||
|
const purchase = row.original;
|
||||||
|
const items = purchase.items;
|
||||||
|
|
||||||
|
if (!items || !Array.isArray(items) || items.length === 0) {
|
||||||
|
return <span className="text-muted-foreground text-xs italic">-</span>;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="flex flex-col gap-1">
|
||||||
|
{items.map((item, i) => (
|
||||||
|
<div key={i} className="text-xs whitespace-nowrap">
|
||||||
|
<span className="text-muted-foreground">{item.product?.name || 'Produk N/A'}:</span>{' '}
|
||||||
|
<span className="font-medium text-primary">{item.quantity} x {item.unit_price_formatted}</span>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
meta: { title: "Item" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessorKey: "total",
|
||||||
|
header: ({ column }) => (
|
||||||
|
<DataTableColumnHeader column={column} title="Total" />
|
||||||
|
),
|
||||||
|
cell: ({ row }) => {
|
||||||
|
return (
|
||||||
|
<span className="font-bold text-primary">
|
||||||
|
{row.original.total_formatted}
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
meta: { title: "Total" },
|
||||||
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "note",
|
accessorKey: "note",
|
||||||
header: "Catatan",
|
header: "Catatan",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user