blob: 91b80bd38fd4b8a4c18cacd67014635ab80e1f51 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
'use client'
import * as React from 'react'
import { Bidding } from '@/db/schema'
import { QuotationDetails } from '@/lib/bidding/detail/service'
import { getBiddingCompanies } from '../service'
import { BiddingPreQuoteVendorTableContent } from './bidding-pre-quote-vendor-table'
interface BiddingPreQuoteContentProps {
bidding: Bidding
quotationDetails: QuotationDetails | null
biddingCompanies: any[]
prItems: any[]
}
export function BiddingPreQuoteContent({
bidding,
quotationDetails,
biddingCompanies: initialBiddingCompanies,
prItems
}: BiddingPreQuoteContentProps) {
const [biddingCompanies, setBiddingCompanies] = React.useState(initialBiddingCompanies)
const [refreshTrigger, setRefreshTrigger] = React.useState(0)
const handleRefresh = React.useCallback(async () => {
try {
const result = await getBiddingCompanies(bidding.id)
if (result.success && result.data) {
setBiddingCompanies(result.data)
}
setRefreshTrigger(prev => prev + 1)
} catch (error) {
console.error('Failed to refresh bidding companies:', error)
}
}, [bidding.id])
return (
<div className="space-y-6">
<BiddingPreQuoteVendorTableContent
biddingId={bidding.id}
bidding={bidding}
biddingCompanies={biddingCompanies}
onRefresh={handleRefresh}
onOpenItemsDialog={() => {}}
onOpenTargetPriceDialog={() => {}}
onOpenSelectionReasonDialog={() => {}}
/>
</div>
)
}
|