blob: 0d43f9792006240001a9df217bdb48951cb2d9d3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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>
)
}
|