summaryrefslogtreecommitdiff
path: root/lib/rfq-last/attachment/vendor-response-table.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rfq-last/attachment/vendor-response-table.tsx')
-rw-r--r--lib/rfq-last/attachment/vendor-response-table.tsx17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/rfq-last/attachment/vendor-response-table.tsx b/lib/rfq-last/attachment/vendor-response-table.tsx
index 8488eea1..22f813b3 100644
--- a/lib/rfq-last/attachment/vendor-response-table.tsx
+++ b/lib/rfq-last/attachment/vendor-response-table.tsx
@@ -19,7 +19,8 @@ import {
Calendar,
AlertCircle,
X,
- CheckCircle2
+ CheckCircle2,
+ XCircle
} from "lucide-react";
import { format, formatDistanceToNow, isValid, isBefore, isAfter } from "date-fns";
import { ko } from "date-fns/locale";
@@ -184,6 +185,13 @@ export function VendorResponseTable({
return vendorItem?.vendorId || null;
}, [selectedVendor, data]);
+ // 선택된 벤더의 응답 상태 확인 (취소 상태인지)
+ const isVendorCancelled = React.useMemo(() => {
+ if (!selectedVendor) return false;
+ // 선택된 벤더의 문서 중 하나라도 취소 상태인지 확인
+ return filteredData.some(item => item.responseStatus === "취소");
+ }, [selectedVendor, filteredData]);
+
// 데이터 새로고침
const handleRefresh = React.useCallback(async () => {
setIsRefreshing(true);
@@ -567,13 +575,18 @@ export function VendorResponseTable({
size="sm"
onClick={() => setShowConfirmDialog(true)}
className="h-7"
- disabled={confirmedVendors.has(selectedVendorId)}
+ disabled={confirmedVendors.has(selectedVendorId) || isVendorCancelled}
>
{confirmedVendors.has(selectedVendorId) ? (
<>
<CheckCircle2 className="h-3 w-3 mr-1" />
확정완료
</>
+ ) : isVendorCancelled ? (
+ <>
+ <XCircle className="h-3 w-3 mr-1" />
+ 취소됨 (확정 불가)
+ </>
) : (
<>
<CheckCircle2 className="h-3 w-3 mr-1" />