diff options
Diffstat (limited to 'lib/techsales-rfq/table')
| -rw-r--r-- | lib/techsales-rfq/table/detail-table/quotation-history-dialog.tsx | 8 | ||||
| -rw-r--r-- | lib/techsales-rfq/table/tech-sales-rfq-attachments-sheet.tsx | 15 |
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(() => { |
