diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-04-28 02:13:30 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-04-28 02:13:30 +0000 |
| commit | ef4c533ebacc2cdc97e518f30e9a9350004fcdfb (patch) | |
| tree | 345251a3ed0f4429716fa5edaa31024d8f4cb560 /lib/rfqs/tbe-table/vendor-contact-dialog.tsx | |
| parent | 9ceed79cf32c896f8a998399bf1b296506b2cd4a (diff) | |
~20250428 작업사항
Diffstat (limited to 'lib/rfqs/tbe-table/vendor-contact-dialog.tsx')
| -rw-r--r-- | lib/rfqs/tbe-table/vendor-contact-dialog.tsx | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/lib/rfqs/tbe-table/vendor-contact-dialog.tsx b/lib/rfqs/tbe-table/vendor-contact-dialog.tsx new file mode 100644 index 00000000..3619fe77 --- /dev/null +++ b/lib/rfqs/tbe-table/vendor-contact-dialog.tsx @@ -0,0 +1,71 @@ +"use client" + +import * as React from "react" +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog" +import { VendorContactsTable } from "./vendor-contact/vendor-contact-table" +import { Badge } from "@/components/ui/badge" +import { VendorWithTbeFields } from "@/config/vendorTbeColumnsConfig" + +interface VendorContactsDialogProps { + isOpen: boolean + onOpenChange: (open: boolean) => void + vendorId: number | null + vendor: VendorWithTbeFields | null +} + +export function VendorContactsDialog({ + isOpen, + onOpenChange, + vendorId, + vendor, +}: VendorContactsDialogProps) { + return ( + <Dialog open={isOpen} onOpenChange={onOpenChange}> + <DialogContent className="max-w-[90wv] sm:max-h-[80vh] overflow-auto" style={{maxWidth:1000, height:480}}> + <DialogHeader> + <div className="flex flex-col space-y-2"> + <DialogTitle>협력업체 연락처</DialogTitle> + {vendor && ( + <div className="flex flex-col space-y-1 mt-2"> + <div className="text-sm text-muted-foreground"> + <span className="font-medium text-foreground">{vendor.vendorName}</span> + {vendor.vendorCode && ( + <span className="ml-2 text-xs text-muted-foreground">({vendor.vendorCode})</span> + )} + </div> + <div className="flex items-center"> + {vendor.vendorStatus && ( + <Badge variant="outline" className="mr-2"> + {vendor.vendorStatus} + </Badge> + )} + {vendor.rfqVendorStatus && ( + <Badge + variant={ + vendor.rfqVendorStatus === "INVITED" ? "default" : + vendor.rfqVendorStatus === "DECLINED" ? "destructive" : + vendor.rfqVendorStatus === "ACCEPTED" ? "secondary" : "outline" + } + > + {vendor.rfqVendorStatus} + </Badge> + )} + </div> + </div> + )} + </div> + </DialogHeader> + {vendorId && ( + <div className="py-4"> + <VendorContactsTable vendorId={vendorId} /> + </div> + )} + </DialogContent> + </Dialog> + ) +}
\ No newline at end of file |
