summaryrefslogtreecommitdiff
path: root/lib/bidding/vendor/partners-bidding-list.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/vendor/partners-bidding-list.tsx')
-rw-r--r--lib/bidding/vendor/partners-bidding-list.tsx47
1 files changed, 41 insertions, 6 deletions
diff --git a/lib/bidding/vendor/partners-bidding-list.tsx b/lib/bidding/vendor/partners-bidding-list.tsx
index c0356e22..aa185c3a 100644
--- a/lib/bidding/vendor/partners-bidding-list.tsx
+++ b/lib/bidding/vendor/partners-bidding-list.tsx
@@ -13,6 +13,8 @@ import { DataTable } from '@/components/data-table/data-table'
import { DataTableAdvancedToolbar } from '@/components/data-table/data-table-advanced-toolbar'
import { getPartnersBiddingListColumns } from './partners-bidding-list-columns'
import { getBiddingListForPartners, PartnersBiddingListItem } from '../detail/service'
+import { PartnersBiddingToolbarActions } from './partners-bidding-toolbar-actions'
+import { PartnersBiddingAttendanceDialog } from './partners-bidding-attendance-dialog'
interface PartnersBiddingListProps {
companyId: number
@@ -133,6 +135,19 @@ export function PartnersBiddingList({ companyId }: PartnersBiddingListProps) {
clearOnDefault: true,
})
+ // 데이터 새로고침 함수
+ const refreshData = React.useCallback(async () => {
+ try {
+ setIsLoading(true)
+ const result = await getBiddingListForPartners(companyId)
+ setData(result)
+ } catch (error) {
+ console.error('Failed to refresh bidding list:', error)
+ } finally {
+ setIsLoading(false)
+ }
+ }, [companyId])
+
if (isLoading) {
return (
<div className="flex items-center justify-center py-12">
@@ -145,12 +160,32 @@ export function PartnersBiddingList({ companyId }: PartnersBiddingListProps) {
}
return (
- <DataTable table={table}>
- <DataTableAdvancedToolbar
- table={table}
- filterFields={advancedFilterFields}
- shallow={false}
+ <>
+ <DataTable table={table}>
+ <DataTableAdvancedToolbar
+ table={table}
+ filterFields={advancedFilterFields}
+ shallow={false}
+ >
+ <PartnersBiddingToolbarActions table={table} onRefresh={refreshData} setRowAction={setRowAction} />
+ </DataTableAdvancedToolbar>
+ </DataTable>
+
+ <PartnersBiddingAttendanceDialog
+ open={rowAction?.type === "attendance"}
+ onOpenChange={() => setRowAction(null)}
+ biddingDetail={rowAction?.row.original ? {
+ id: rowAction.row.original.biddingId,
+ biddingNumber: rowAction.row.original.biddingNumber,
+ title: rowAction.row.original.title,
+ preQuoteDate: null,
+ biddingRegistrationDate: rowAction.row.original.submissionStartDate?.toISOString() || null,
+ evaluationDate: null,
+ } : null}
+ biddingCompanyId={rowAction?.row.original?.biddingCompanyId || 0}
+ isAttending={rowAction?.row.original?.isAttendingMeeting || null}
+ onSuccess={refreshData}
/>
- </DataTable>
+ </>
)
}