diff options
Diffstat (limited to 'lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx')
| -rw-r--r-- | lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx b/lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx new file mode 100644 index 00000000..00daa005 --- /dev/null +++ b/lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx @@ -0,0 +1,79 @@ +"use client" + +import * as React from "react" +import { type Table } from "@tanstack/react-table" +import { Button } from "@/components/ui/button" +import { Plus } from "lucide-react" +import { QuotationVendor } from "@/lib/bidding/detail/service" +import { BiddingDetailVendorCreateDialog } from "./bidding-detail-vendor-create-dialog" + +interface BiddingDetailVendorToolbarActionsProps { + table: Table<QuotationVendor> + biddingId: number + onOpenItemsDialog: () => void + onOpenTargetPriceDialog: () => void + onOpenSelectionReasonDialog: () => void + + onSuccess: () => void +} + +export function BiddingDetailVendorToolbarActions({ + table, + biddingId, + onOpenItemsDialog, + onOpenTargetPriceDialog, + onOpenSelectionReasonDialog, + onSuccess +}: BiddingDetailVendorToolbarActionsProps) { + const [isCreateDialogOpen, setIsCreateDialogOpen] = React.useState(false) + + const handleCreateVendor = () => { + setIsCreateDialogOpen(true) + } + + return ( + <> + <div className="flex items-center gap-2"> + <Button + variant="outline" + size="sm" + onClick={onOpenItemsDialog} + > + 품목 정보 + </Button> + <Button + variant="outline" + size="sm" + onClick={onOpenTargetPriceDialog} + > + 내정가 산정 + </Button> + <Button + variant="outline" + size="sm" + onClick={onOpenSelectionReasonDialog} + > + 선정 사유 + </Button> + <Button + variant="default" + size="sm" + onClick={handleCreateVendor} + > + <Plus className="mr-2 h-4 w-4" /> + 업체 추가 + </Button> + </div> + + <BiddingDetailVendorCreateDialog + biddingId={biddingId} + open={isCreateDialogOpen} + onOpenChange={setIsCreateDialogOpen} + onSuccess={() => { + onSuccess() + setIsCreateDialogOpen(false) + }} + /> + </> + ) +} |
