diff options
Diffstat (limited to 'lib/bidding/detail/table/bidding-detail-vendor-table.tsx')
| -rw-r--r-- | lib/bidding/detail/table/bidding-detail-vendor-table.tsx | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/bidding/detail/table/bidding-detail-vendor-table.tsx b/lib/bidding/detail/table/bidding-detail-vendor-table.tsx index dd1ae94b..95f63ce9 100644 --- a/lib/bidding/detail/table/bidding-detail-vendor-table.tsx +++ b/lib/bidding/detail/table/bidding-detail-vendor-table.tsx @@ -1,6 +1,7 @@ 'use client' import * as React from 'react' +import { useSession } from 'next-auth/react' import { type DataTableAdvancedFilterField, type DataTableFilterField } from '@/types/table' import { useDataTable } from '@/hooks/use-data-table' import { DataTable } from '@/components/data-table/data-table' @@ -33,6 +34,7 @@ interface BiddingDetailVendorTableContentProps { onEdit?: (vendor: QuotationVendor) => void onDelete?: (vendor: QuotationVendor) => void onSelectWinner?: (vendor: QuotationVendor) => void + onViewItemDetails?: (vendor: QuotationVendor) => void } const filterFields: DataTableFilterField<QuotationVendor>[] = [ @@ -97,10 +99,15 @@ export function BiddingDetailVendorTableContent({ onOpenAwardDialog, onEdit, onDelete, - onSelectWinner + onSelectWinner, + onViewItemDetails }: BiddingDetailVendorTableContentProps) { + const { data: session } = useSession() const { toast } = useToast() const [isPending, startTransition] = useTransition() + + // 세션에서 사용자 ID 가져오기 + const userId = session?.user?.id || '' const [selectedVendor, setSelectedVendor] = React.useState<QuotationVendor | null>(null) const [isEditDialogOpen, setIsEditDialogOpen] = React.useState(false) const [isAwardDialogOpen, setIsAwardDialogOpen] = React.useState(false) @@ -145,7 +152,7 @@ export function BiddingDetailVendorTableContent({ const result = selectWinnerSchema.safeParse({ biddingId, vendorId: vendor.id, - awardRatio: vendor.awardRatio, + awardRatio: vendor.awardRatio || 0, }) if (!result.success) { @@ -157,7 +164,7 @@ export function BiddingDetailVendorTableContent({ return } - const response = await selectWinner(biddingId, vendor.id, vendor.awardRatio, 'current-user') + const response = await selectWinner(biddingId, vendor.id, vendor.awardRatio || 0, userId) if (response.success) { toast({ @@ -209,9 +216,10 @@ export function BiddingDetailVendorTableContent({ onEdit: onEdit || handleEdit, onDelete: onDelete || handleDelete, onSelectWinner: onSelectWinner || handleSelectWinner, - onViewPriceAdjustment: handleViewPriceAdjustment + onViewPriceAdjustment: handleViewPriceAdjustment, + onViewItemDetails: onViewItemDetails }), - [onEdit, onDelete, onSelectWinner, handleEdit, handleDelete, handleSelectWinner, handleViewPriceAdjustment] + [onEdit, onDelete, onSelectWinner, handleEdit, handleDelete, handleSelectWinner, handleViewPriceAdjustment, onViewItemDetails] ) const { table } = useDataTable({ @@ -241,9 +249,9 @@ export function BiddingDetailVendorTableContent({ table={table} biddingId={biddingId} bidding={bidding} + userId={userId} onOpenItemsDialog={onOpenItemsDialog} onOpenTargetPriceDialog={onOpenTargetPriceDialog} - onOpenSelectionReasonDialog={onOpenSelectionReasonDialog} onOpenAwardDialog={() => setIsAwardDialogOpen(true)} onSuccess={onRefresh} /> |
