summaryrefslogtreecommitdiff
path: root/components/contract/contract-items-card.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'components/contract/contract-items-card.tsx')
-rw-r--r--components/contract/contract-items-card.tsx76
1 files changed, 76 insertions, 0 deletions
diff --git a/components/contract/contract-items-card.tsx b/components/contract/contract-items-card.tsx
new file mode 100644
index 00000000..0d43f979
--- /dev/null
+++ b/components/contract/contract-items-card.tsx
@@ -0,0 +1,76 @@
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
+import { formatCurrency } from "@/lib/utils"
+
+interface ContractItem {
+ materialNo?: string
+ itemDescription?: string
+ specification?: string
+ quantity?: number
+ quantityUnit?: string
+ unitPrice?: number | string
+ contractAmount?: number | string
+}
+
+interface ContractItemsCardProps {
+ items: ContractItem[]
+ currency?: string
+}
+
+export function ContractItemsCard({ items, currency = "KRW" }: ContractItemsCardProps) {
+ if (!items || items.length === 0) {
+ return null
+ }
+
+ return (
+ <Card>
+ <CardHeader>
+ <CardTitle className="text-lg">계약 품목</CardTitle>
+ </CardHeader>
+ <CardContent>
+ <div className="overflow-x-auto">
+ <table className="w-full text-sm">
+ <thead className="border-b bg-muted/50">
+ <tr>
+ <th className="px-4 py-3 text-left font-medium">자재번호</th>
+ <th className="px-4 py-3 text-left font-medium">품목/자재내역</th>
+ <th className="px-4 py-3 text-left font-medium">규격</th>
+ <th className="px-4 py-3 text-right font-medium">수량</th>
+ <th className="px-4 py-3 text-right font-medium">단가</th>
+ <th className="px-4 py-3 text-right font-medium">금액</th>
+ </tr>
+ </thead>
+ <tbody>
+ {items.map((item, idx) => (
+ <tr key={idx} className="border-b last:border-0">
+ <td className="px-4 py-3">{item.materialNo || "-"}</td>
+ <td className="px-4 py-3">{item.itemDescription || "-"}</td>
+ <td className="px-4 py-3">{item.specification || "-"}</td>
+ <td className="px-4 py-3 text-right">
+ {item.quantity} {item.quantityUnit || ""}
+ </td>
+ <td className="px-4 py-3 text-right font-mono">
+ {item.unitPrice
+ ? formatCurrency(
+ parseFloat(item.unitPrice.toString()),
+ currency
+ )
+ : "-"}
+ </td>
+ <td className="px-4 py-3 text-right font-mono font-medium">
+ {item.contractAmount
+ ? formatCurrency(
+ parseFloat(item.contractAmount.toString()),
+ currency
+ )
+ : "-"}
+ </td>
+ </tr>
+ ))}
+ </tbody>
+ </table>
+ </div>
+ </CardContent>
+ </Card>
+ )
+}
+