summaryrefslogtreecommitdiff
path: root/lib/techsales-rfq/table
diff options
context:
space:
mode:
Diffstat (limited to 'lib/techsales-rfq/table')
-rw-r--r--lib/techsales-rfq/table/detail-table/quotation-history-dialog.tsx8
-rw-r--r--lib/techsales-rfq/table/tech-sales-rfq-attachments-sheet.tsx15
2 files changed, 13 insertions, 10 deletions
diff --git a/lib/techsales-rfq/table/detail-table/quotation-history-dialog.tsx b/lib/techsales-rfq/table/detail-table/quotation-history-dialog.tsx
index 7832fa2b..0195b10c 100644
--- a/lib/techsales-rfq/table/detail-table/quotation-history-dialog.tsx
+++ b/lib/techsales-rfq/table/detail-table/quotation-history-dialog.tsx
@@ -119,12 +119,12 @@ function QuotationCard({
{statusInfo.label}
</Badge>
</div>
- {changeReason && (
+ {/* {changeReason && (
<div className="flex items-center gap-2 text-sm text-muted-foreground">
<FileText className="size-4" />
<span>{changeReason}</span>
</div>
- )}
+ )} */}
</CardHeader>
<CardContent className="space-y-3">
<div className="grid grid-cols-2 gap-4">
@@ -250,7 +250,7 @@ export function QuotationHistoryDialog({
return (
<Dialog open={open} onOpenChange={handleOpenChange}>
- <DialogContent className=" max-h-[80vh] overflow-y-auto">
+ <DialogContent className="w-[80vw] max-h-[90vh] overflow-y-auto">
<DialogHeader>
<DialogTitle>견적서 수정 히스토리</DialogTitle>
<DialogDescription>
@@ -258,7 +258,7 @@ export function QuotationHistoryDialog({
</DialogDescription>
</DialogHeader>
- <div className="space-y-4">
+ <div className="space-y-4 overflow-x-auto">
{isLoading ? (
<div className="space-y-4">
{[1, 2, 3].map((i) => (
diff --git a/lib/techsales-rfq/table/tech-sales-rfq-attachments-sheet.tsx b/lib/techsales-rfq/table/tech-sales-rfq-attachments-sheet.tsx
index a7b487e1..3b0fd38d 100644
--- a/lib/techsales-rfq/table/tech-sales-rfq-attachments-sheet.tsx
+++ b/lib/techsales-rfq/table/tech-sales-rfq-attachments-sheet.tsx
@@ -49,7 +49,7 @@ import {
import prettyBytes from "pretty-bytes"
import { formatDate } from "@/lib/utils"
-import { processTechSalesRfqAttachments, getTechSalesRfqAttachments } from "@/lib/techsales-rfq/service"
+import { processTechSalesRfqAttachments } from "@/lib/techsales-rfq/service"
const MAX_FILE_SIZE = 6e8 // 600MB
@@ -113,6 +113,8 @@ interface TechSalesRfqAttachmentsSheetProps
rfq: TechSalesRfq | null
/** 첨부파일 타입 */
attachmentType?: "RFQ_COMMON" | "TBE_RESULT" | "CBE_RESULT"
+ /** 읽기 전용 모드 (벤더용) */
+ readOnly?: boolean
/** 업로드/삭제 후 상위 테이블에 attachmentCount 등을 업데이트하기 위한 콜백 */
// onAttachmentsUpdated?: (rfqId: number, newAttachmentCount: number) => void
@@ -123,6 +125,7 @@ export function TechSalesRfqAttachmentsSheet({
// onAttachmentsUpdated,
rfq,
attachmentType = "RFQ_COMMON",
+ readOnly = false,
...props
}: TechSalesRfqAttachmentsSheetProps) {
const [isPending, setIsPending] = React.useState(false)
@@ -135,24 +138,24 @@ export function TechSalesRfqAttachmentsSheet({
title: "TBE 결과 첨부파일",
description: "기술 평가(TBE) 결과 파일을 관리합니다.",
fileTypeLabel: "TBE 결과",
- canEdit: true
+ canEdit: !readOnly
}
case "CBE_RESULT":
return {
title: "CBE 결과 첨부파일",
description: "상업성 평가(CBE) 결과 파일을 관리합니다.",
fileTypeLabel: "CBE 결과",
- canEdit: true
+ canEdit: !readOnly
}
default: // RFQ_COMMON
return {
title: "RFQ 첨부파일",
- description: "RFQ 공통 첨부파일을 관리합니다.",
+ description: readOnly ? "RFQ 공통 첨부파일을 조회합니다." : "RFQ 공통 첨부파일을 관리합니다.",
fileTypeLabel: "공통",
- canEdit: true
+ canEdit: !readOnly
}
}
- }, [attachmentType, rfq?.status])
+ }, [attachmentType, readOnly])
// // RFQ 상태에 따른 편집 가능 여부 결정 (readOnly prop이 true면 항상 false)
// const isEditable = React.useMemo(() => {