summaryrefslogtreecommitdiff
path: root/lib/vendor-investigation/table/investigation-table.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vendor-investigation/table/investigation-table.tsx')
-rw-r--r--lib/vendor-investigation/table/investigation-table.tsx28
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