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 | 69 |
1 files changed, 1 insertions, 68 deletions
diff --git a/lib/bidding/detail/table/bidding-detail-vendor-table.tsx b/lib/bidding/detail/table/bidding-detail-vendor-table.tsx index a9778636..3e8adda9 100644 --- a/lib/bidding/detail/table/bidding-detail-vendor-table.tsx +++ b/lib/bidding/detail/table/bidding-detail-vendor-table.tsx @@ -7,33 +7,22 @@ import { useDataTable } from '@/hooks/use-data-table' import { DataTable } from '@/components/data-table/data-table' import { DataTableAdvancedToolbar } from '@/components/data-table/data-table-advanced-toolbar' import { BiddingDetailVendorToolbarActions } from './bidding-detail-vendor-toolbar-actions' -import { BiddingDetailVendorCreateDialog } from './bidding-detail-vendor-create-dialog' import { BiddingDetailVendorEditDialog } from './bidding-detail-vendor-edit-dialog' import { BiddingAwardDialog } from './bidding-award-dialog' import { getBiddingDetailVendorColumns } from './bidding-detail-vendor-columns' import { QuotationVendor, getPriceAdjustmentFormByBiddingCompanyId } from '@/lib/bidding/detail/service' import { Bidding } from '@/db/schema' import { PriceAdjustmentDialog } from '@/components/bidding/price-adjustment-dialog' -import { - deleteQuotationVendor, - selectWinner -} from '@/lib/bidding/detail/service' -import { selectWinnerSchema } from '@/lib/bidding/validation' import { useToast } from '@/hooks/use-toast' -import { useTransition, useCallback } from 'react' interface BiddingDetailVendorTableContentProps { biddingId: number bidding: Bidding vendors: QuotationVendor[] onRefresh: () => void - onOpenItemsDialog: () => void onOpenTargetPriceDialog: () => void onOpenSelectionReasonDialog: () => void - onOpenAwardDialog: () => void onEdit?: (vendor: QuotationVendor) => void - onDelete?: (vendor: QuotationVendor) => void - onSelectWinner?: (vendor: QuotationVendor) => void onViewItemDetails?: (vendor: QuotationVendor) => void } @@ -93,18 +82,12 @@ export function BiddingDetailVendorTableContent({ bidding, vendors, onRefresh, - onOpenItemsDialog, onOpenTargetPriceDialog, - onOpenSelectionReasonDialog, - onOpenAwardDialog, onEdit, - onDelete, - onSelectWinner, onViewItemDetails }: BiddingDetailVendorTableContentProps) { const { data: session } = useSession() const { toast } = useToast() - const [isPending, startTransition] = useTransition() // 세션에서 사용자 ID 가져오기 const userId = session?.user?.id || '' @@ -114,52 +97,6 @@ export function BiddingDetailVendorTableContent({ const [priceAdjustmentData, setPriceAdjustmentData] = React.useState<any>(null) const [isPriceAdjustmentDialogOpen, setIsPriceAdjustmentDialogOpen] = React.useState(false) - const handleSelectWinner = useCallback((vendor: QuotationVendor) => { - if (!vendor.awardRatio || vendor.awardRatio <= 0) { - toast({ - title: '오류', - description: '발주비율을 먼저 설정해주세요.', - variant: 'destructive', - }) - return - } - - if (!confirm(`${vendor.vendorName} 업체를 낙찰자로 선정하시겠습니까?`)) return - - startTransition(async () => { - const result = selectWinnerSchema.safeParse({ - biddingId, - vendorId: vendor.id, - awardRatio: vendor.awardRatio || 0, - }) - - if (!result.success) { - toast({ - title: '유효성 오류', - description: result.error.issues[0]?.message || '입력값을 확인해주세요.', - variant: 'destructive', - }) - return - } - - const response = await selectWinner(biddingId, vendor.id, vendor.awardRatio || 0, userId) - - if (response.success) { - toast({ - title: '성공', - description: response.message, - }) - onRefresh() - } else { - toast({ - title: '오류', - description: response.error, - variant: 'destructive', - }) - } - }) - }, [toast, startTransition, biddingId, userId, selectWinnerSchema, selectWinner, onRefresh]) - const handleEdit = (vendor: QuotationVendor) => { setSelectedVendor(vendor) setIsEditDialogOpen(true) @@ -192,12 +129,10 @@ export function BiddingDetailVendorTableContent({ const columns = React.useMemo( () => getBiddingDetailVendorColumns({ onEdit: onEdit || handleEdit, - onDelete: onDelete, - onSelectWinner: onSelectWinner || handleSelectWinner, onViewPriceAdjustment: handleViewPriceAdjustment, onViewItemDetails: onViewItemDetails }), - [onEdit, onDelete, onSelectWinner, handleEdit, handleSelectWinner, handleViewPriceAdjustment, onViewItemDetails] + [onEdit, handleEdit, handleViewPriceAdjustment, onViewItemDetails] ) const { table } = useDataTable({ @@ -224,11 +159,9 @@ export function BiddingDetailVendorTableContent({ shallow={false} > <BiddingDetailVendorToolbarActions - table={table} biddingId={biddingId} bidding={bidding} userId={userId} - onOpenItemsDialog={onOpenItemsDialog} onOpenTargetPriceDialog={onOpenTargetPriceDialog} onOpenAwardDialog={() => setIsAwardDialogOpen(true)} onSuccess={onRefresh} |
