diff options
Diffstat (limited to 'lib/vendor-investigation/table/investigation-table.tsx')
| -rw-r--r-- | lib/vendor-investigation/table/investigation-table.tsx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/vendor-investigation/table/investigation-table.tsx b/lib/vendor-investigation/table/investigation-table.tsx index ee122f04..2179669f 100644 --- a/lib/vendor-investigation/table/investigation-table.tsx +++ b/lib/vendor-investigation/table/investigation-table.tsx @@ -20,6 +20,7 @@ import { InvestigationResultSheet } from "./investigation-result-sheet" import { InvestigationProgressSheet } from "./investigation-progress-sheet" import { VendorDetailsDialog } from "./vendor-details-dialog" import { SupplementRequestDialog } from "@/components/investigation/supplement-request-dialog" +import { VendorInfoViewDialog } from "@/lib/site-visit/vendor-info-view-dialog" interface VendorsTableProps { promises: Promise< @@ -52,6 +53,16 @@ export function VendorsInvestigationTable({ promises }: VendorsTableProps) { // Add state for row actions const [rowAction, setRowAction] = React.useState<DataTableRowAction<VendorInvestigationsViewWithContacts> | null>(null) + // Handle row actions + React.useEffect(() => { + if (rowAction?.type === "vendor-info-view") { + // 협력업체 정보 조회 다이얼로그 열기 + setSelectedInvestigationId(rowAction.row.original.investigationId) + setIsVendorInfoViewDialogOpen(true) + setRowAction(null) + } + }, [rowAction]) + // Add state for vendor details dialog const [vendorDetailsOpen, setVendorDetailsOpen] = React.useState(false) const [selectedVendorId, setSelectedVendorId] = React.useState<number | null>(null) @@ -64,6 +75,11 @@ export function VendorsInvestigationTable({ promises }: VendorsTableProps) { vendorName: string } | null>(null) + // Add state for vendor info view dialog + const [isVendorInfoViewDialogOpen, setIsVendorInfoViewDialogOpen] = React.useState(false) + const [selectedSiteVisitRequestId, setSelectedSiteVisitRequestId] = React.useState<number | null>(null) + const [selectedInvestigationId, setSelectedInvestigationId] = React.useState<number | null>(null) + // Create handler for opening vendor details modal const openVendorDetailsModal = React.useCallback((vendorId: number) => { setSelectedVendorId(vendorId) @@ -226,6 +242,18 @@ export function VendorsInvestigationTable({ promises }: VendorsTableProps) { investigationMethod={supplementRequestData?.investigationMethod || ""} vendorName={supplementRequestData?.vendorName || ""} /> + + {/* Vendor Info View Dialog */} + <VendorInfoViewDialog + isOpen={isVendorInfoViewDialogOpen} + onClose={() => { + setIsVendorInfoViewDialogOpen(false) + setSelectedSiteVisitRequestId(null) + setSelectedInvestigationId(null) + }} + siteVisitRequestId={selectedSiteVisitRequestId} + investigationId={selectedInvestigationId} + /> </> ) }
\ No newline at end of file |
