summaryrefslogtreecommitdiff
path: root/lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx')
-rw-r--r--lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx91
1 files changed, 7 insertions, 84 deletions
diff --git a/lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx b/lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx
index 4f8ac37b..a2f012ad 100644
--- a/lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx
+++ b/lib/techsales-rfq/table/detail-table/rfq-detail-table.tsx
@@ -12,11 +12,10 @@ import { toast } from "sonner"
import { Skeleton } from "@/components/ui/skeleton"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
-import { Loader2, UserPlus, BarChart2, Send, Trash2, MessageCircle } from "lucide-react"
+import { Loader2, UserPlus, BarChart2, Send, Trash2 } from "lucide-react"
import { ClientDataTable } from "@/components/client-data-table/data-table"
import { AddVendorDialog } from "./add-vendor-dialog"
import { DeleteVendorDialog } from "./delete-vendor-dialog"
-import { UpdateVendorSheet } from "./update-vendor-sheet"
import { VendorCommunicationDrawer } from "./vendor-communication-drawer"
import { VendorQuotationComparisonDialog } from "./vendor-quotation-comparison-dialog"
@@ -41,28 +40,6 @@ interface RfqDetailTablesProps {
maxHeight?: string | number
}
-// 데이터 타입 정의
-interface Vendor {
- id: number;
- vendorName: string;
- vendorCode: string;
- // 기타 필요한 벤더 속성들
-}
-
-interface Currency {
- code: string;
- name: string;
-}
-
-interface PaymentTerm {
- code: string;
- description: string;
-}
-
-interface Incoterm {
- code: string;
- description: string;
-}
export function RfqDetailTables({ selectedRfq, maxHeight }: RfqDetailTablesProps) {
// console.log("selectedRfq", selectedRfq)
@@ -71,14 +48,9 @@ export function RfqDetailTables({ selectedRfq, maxHeight }: RfqDetailTablesProps
const [isLoading, setIsLoading] = useState(false)
const [details, setDetails] = useState<RfqDetailView[]>([])
const [vendorDialogOpen, setVendorDialogOpen] = React.useState(false)
- const [updateSheetOpen, setUpdateSheetOpen] = React.useState(false)
const [deleteDialogOpen, setDeleteDialogOpen] = React.useState(false)
const [selectedDetail, setSelectedDetail] = React.useState<RfqDetailView | null>(null)
- const [vendors, setVendors] = React.useState<Vendor[]>([])
- const [currencies, setCurrencies] = React.useState<Currency[]>([])
- const [paymentTerms, setPaymentTerms] = React.useState<PaymentTerm[]>([])
- const [incoterms, setIncoterms] = React.useState<Incoterm[]>([])
const [isAdddialogLoading, setIsAdddialogLoading] = useState(false)
const [rowAction, setRowAction] = React.useState<DataTableRowAction<RfqDetailView> | null>(null)
@@ -159,21 +131,6 @@ export function RfqDetailTables({ selectedRfq, maxHeight }: RfqDetailTablesProps
const handleAddVendor = useCallback(async () => {
try {
setIsAdddialogLoading(true)
-
- // TODO: 기술영업용 벤더, 통화, 지불조건, 인코텀즈 데이터 로드 함수 구현 필요
- // const [vendorsData, currenciesData, paymentTermsData, incotermsData] = await Promise.all([
- // fetchVendors(),
- // fetchCurrencies(),
- // fetchPaymentTerms(),
- // fetchIncoterms()
- // ])
-
- // 임시 데이터
- setVendors([])
- setCurrencies([])
- setPaymentTerms([])
- setIncoterms([])
-
setVendorDialogOpen(true)
} catch (error) {
console.error("데이터 로드 오류:", error)
@@ -417,39 +374,16 @@ export function RfqDetailTables({ selectedRfq, maxHeight }: RfqDetailTablesProps
return;
}
- // 다른 액션들은 기존과 동일하게 처리
- setIsAdddialogLoading(true);
-
- // TODO: 필요한 데이터 로드 (벤더, 통화, 지불조건, 인코텀즈)
- // const [vendorsData, currenciesData, paymentTermsData, incotermsData] = await Promise.all([
- // fetchVendors(),
- // fetchCurrencies(),
- // fetchPaymentTerms(),
- // fetchIncoterms()
- // ]);
-
- // 임시 데이터
- setVendors([]);
- setCurrencies([]);
- setPaymentTerms([]);
- setIncoterms([]);
-
- // 이제 데이터가 로드되었으므로 필요한 작업 수행
- if (rowAction.type === "update") {
- setSelectedDetail(rowAction.row.original);
- setUpdateSheetOpen(true);
- } else if (rowAction.type === "delete") {
+ // 삭제 액션인 경우
+ if (rowAction.type === "delete") {
setSelectedDetail(rowAction.row.original);
setDeleteDialogOpen(true);
+ setRowAction(null);
+ return;
}
} catch (error) {
- console.error("데이터 로드 오류:", error);
- toast.error("데이터를 불러오는 중 오류가 발생했습니다");
- } finally {
- // communicate 타입이 아닌 경우에만 로딩 상태 변경
- if (rowAction && rowAction.type !== "communicate") {
- setIsAdddialogLoading(false);
- }
+ console.error("액션 처리 오류:", error);
+ toast.error("작업을 처리하는 중 오류가 발생했습니다");
}
};
@@ -615,17 +549,6 @@ export function RfqDetailTables({ selectedRfq, maxHeight }: RfqDetailTablesProps
onSuccess={handleRefreshData}
/>
- <UpdateVendorSheet
- open={updateSheetOpen}
- onOpenChange={setUpdateSheetOpen}
- detail={selectedDetail}
- vendors={vendors}
- currencies={currencies}
- paymentTerms={paymentTerms}
- incoterms={incoterms}
- onSuccess={handleRefreshData}
- />
-
<DeleteVendorDialog
open={deleteDialogOpen}
onOpenChange={setDeleteDialogOpen}