70 lines
2.9 KiB
TypeScript
70 lines
2.9 KiB
TypeScript
|
|
import { Head, Link } from "@inertiajs/react";
|
|||
|
|
import AuthenticatedLayout from "@/Layouts/AuthenticatedLayout";
|
|||
|
|
import { Button } from "@/Components/ui/button";
|
|||
|
|
import { ArrowLeft } from "lucide-react";
|
|||
|
|
import { Warehouse } from "@/types/warehouse";
|
|||
|
|
import TransactionTable, { Transaction } from "@/Components/Warehouse/Inventory/TransactionTable";
|
|||
|
|
|
|||
|
|
interface Props {
|
|||
|
|
warehouse: Warehouse;
|
|||
|
|
inventory: {
|
|||
|
|
id: string;
|
|||
|
|
productName: string;
|
|||
|
|
productCode: string;
|
|||
|
|
quantity: number;
|
|||
|
|
};
|
|||
|
|
transactions: Transaction[];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export default function InventoryHistory({ warehouse, inventory, transactions }: Props) {
|
|||
|
|
return (
|
|||
|
|
<AuthenticatedLayout>
|
|||
|
|
<Head title={`庫存異動紀錄 - ${inventory.productName}`} />
|
|||
|
|
<div className="container mx-auto p-6 max-w-4xl">
|
|||
|
|
{/* Header */}
|
|||
|
|
<div className="mb-6">
|
|||
|
|
<Link href={`/warehouses/${warehouse.id}/inventory`}>
|
|||
|
|
<Button
|
|||
|
|
variant="outline"
|
|||
|
|
className="gap-2 button-outlined-primary mb-6"
|
|||
|
|
>
|
|||
|
|
<ArrowLeft className="h-4 w-4" />
|
|||
|
|
返回庫存管理
|
|||
|
|
</Button>
|
|||
|
|
</Link>
|
|||
|
|
|
|||
|
|
<div className="flex items-center gap-2 text-sm text-gray-500 mb-2">
|
|||
|
|
<span>倉庫管理</span>
|
|||
|
|
<span>/</span>
|
|||
|
|
<span>庫存管理</span>
|
|||
|
|
<span>/</span>
|
|||
|
|
<span className="text-gray-900">庫存異動紀錄</span>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div className="flex items-center justify-between">
|
|||
|
|
<div>
|
|||
|
|
<h1 className="mb-2">庫存異動紀錄</h1>
|
|||
|
|
<p className="text-gray-600">
|
|||
|
|
商品:<span className="font-medium text-gray-900">{inventory.productName}</span>
|
|||
|
|
{inventory.productCode && <span className="text-gray-500 ml-2">({inventory.productCode})</span>}
|
|||
|
|
</p>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
{/* Content */}
|
|||
|
|
<div className="bg-white rounded-lg shadow-sm border p-6">
|
|||
|
|
<div className="flex justify-between items-center mb-4 border-b pb-4">
|
|||
|
|
<h3 className="font-medium text-lg">異動流水帳</h3>
|
|||
|
|
<div className="text-sm text-gray-500">
|
|||
|
|
目前庫存:<span className="font-medium text-gray-900">{inventory.quantity}</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<TransactionTable transactions={transactions} />
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</AuthenticatedLayout>
|
|||
|
|
);
|
|||
|
|
}
|