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 | 26 |
1 files changed, 25 insertions, 1 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 index 4e9fc58d..484b1b1e 100644 --- a/lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx +++ b/lib/bidding/detail/table/bidding-detail-vendor-toolbar-actions.tsx @@ -5,10 +5,11 @@ import { type Table } from "@tanstack/react-table" import { useRouter } from "next/navigation" import { useTransition } from "react" import { Button } from "@/components/ui/button" -import { Plus, Send, RotateCcw, XCircle, Trophy, FileText } from "lucide-react" +import { Plus, Send, RotateCcw, XCircle, Trophy, FileText, DollarSign } from "lucide-react" import { QuotationVendor, registerBidding, markAsDisposal, createRebidding, awardBidding } from "@/lib/bidding/detail/service" import { BiddingDetailVendorCreateDialog } from "./bidding-detail-vendor-create-dialog" import { BiddingDocumentUploadDialog } from "./bidding-document-upload-dialog" +import { BiddingVendorPricesDialog } from "./bidding-vendor-prices-dialog" import { Bidding } from "@/db/schema" import { useToast } from "@/hooks/use-toast" @@ -38,6 +39,7 @@ export function BiddingDetailVendorToolbarActions({ const [isPending, startTransition] = useTransition() const [isCreateDialogOpen, setIsCreateDialogOpen] = React.useState(false) const [isDocumentDialogOpen, setIsDocumentDialogOpen] = React.useState(false) + const [isPricesDialogOpen, setIsPricesDialogOpen] = React.useState(false) const handleCreateVendor = () => { setIsCreateDialogOpen(true) @@ -47,6 +49,10 @@ export function BiddingDetailVendorToolbarActions({ setIsDocumentDialogOpen(true) } + const handleViewVendorPrices = () => { + setIsPricesDialogOpen(true) + } + const handleRegister = () => { startTransition(async () => { const result = await registerBidding(bidding.id, userId) @@ -191,6 +197,14 @@ export function BiddingDetailVendorToolbarActions({ <FileText className="mr-2 h-4 w-4" /> 입찰문서 등록 </Button> + <Button + variant="outline" + size="sm" + onClick={handleViewVendorPrices} + > + <DollarSign className="mr-2 h-4 w-4" /> + 입찰가 비교 + </Button> </div> <BiddingDetailVendorCreateDialog @@ -210,6 +224,16 @@ export function BiddingDetailVendorToolbarActions({ userId={userId} onSuccess={onSuccess} /> + + <BiddingVendorPricesDialog + open={isPricesDialogOpen} + onOpenChange={setIsPricesDialogOpen} + biddingId={biddingId} + biddingTitle={bidding.title} + budget={bidding.budget ? parseFloat(bidding.budget.toString()) : null} + targetPrice={bidding.targetPrice ? parseFloat(bidding.targetPrice.toString()) : null} + currency={bidding.currency} + /> </> ) } |
