diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-11 09:22:58 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-11 09:22:58 +0000 |
| commit | 535de26b9cf3242c04543d6891d78352b9593a60 (patch) | |
| tree | cfb2a76a3442ad0ec1d2b2b75293658d93a45808 /lib/site-visit | |
| parent | 88b737a71372353e47c466553273d88f5bf36834 (diff) | |
(최겸) 구매 수정사항 개발
Diffstat (limited to 'lib/site-visit')
| -rw-r--r-- | lib/site-visit/client-site-visit-wrapper.tsx | 16 | ||||
| -rw-r--r-- | lib/site-visit/vendor-info-sheet.tsx | 66 | ||||
| -rw-r--r-- | lib/site-visit/vendor-info-view-dialog.tsx | 22 |
3 files changed, 52 insertions, 52 deletions
diff --git a/lib/site-visit/client-site-visit-wrapper.tsx b/lib/site-visit/client-site-visit-wrapper.tsx index aa466771..e2664ac3 100644 --- a/lib/site-visit/client-site-visit-wrapper.tsx +++ b/lib/site-visit/client-site-visit-wrapper.tsx @@ -3,7 +3,7 @@ import * as React from "react"
import { format } from "date-fns"
import { ko } from "date-fns/locale"
-import { Building2, Calendar, Users, MessageSquare, Ellipsis, Eye, Edit, Download, Paperclip } from "lucide-react"
+import { Building2, Calendar, Users, MessageSquare, Ellipsis, Eye, Edit, Download, Paperclip, X } from "lucide-react"
import { toast } from "sonner"
import { downloadFile } from "@/lib/file-download"
@@ -167,11 +167,11 @@ export function ClientSiteVisitWrapper({ case "REQUESTED":
return "요청됨"
case "SENT":
- return "발송됨"
+ return "요청접수"
case "COMPLETED":
return "완료"
case "VENDOR_SUBMITTED":
- return "협력업체 제출"
+ return "제출완료"
default:
return status
}
@@ -226,10 +226,10 @@ export function ClientSiteVisitWrapper({ <div className="text-2xl font-bold">{siteVisitRequests.length}</div>
</CardContent>
</Card>
-
+
<Card>
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
- <CardTitle className="text-sm font-medium">발송됨</CardTitle>
+ <CardTitle className="text-sm font-medium">요청 접수</CardTitle>
<MessageSquare className="h-4 w-4 text-muted-foreground" />
</CardHeader>
<CardContent>
@@ -238,10 +238,10 @@ export function ClientSiteVisitWrapper({ </div>
</CardContent>
</Card>
-
+
<Card>
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
- <CardTitle className="text-sm font-medium">완료</CardTitle>
+ <CardTitle className="text-sm font-medium">제출 완료</CardTitle>
<Calendar className="h-4 w-4 text-muted-foreground" />
</CardHeader>
<CardContent>
@@ -250,7 +250,7 @@ export function ClientSiteVisitWrapper({ </div>
</CardContent>
</Card>
-
+
<Card>
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
<CardTitle className="text-sm font-medium">대기중</CardTitle>
diff --git a/lib/site-visit/vendor-info-sheet.tsx b/lib/site-visit/vendor-info-sheet.tsx index f72766fe..2a20e212 100644 --- a/lib/site-visit/vendor-info-sheet.tsx +++ b/lib/site-visit/vendor-info-sheet.tsx @@ -30,21 +30,21 @@ import { Upload, X, FileText } from "lucide-react" // 협력업체 정보 입력 스키마
const vendorInfoSchema = z.object({
- // 공장 정보
- factoryName: z.string().min(1, "공장명을 입력해주세요."),
- factoryLocation: z.string().min(1, "공장위치를 입력해주세요."),
- factoryAddress: z.string().min(1, "공장주소를 입력해주세요."),
+ // 실사 장소 정보
+ factoryName: z.string().min(1, "실사 장소명을 입력해주세요."),
+ factoryLocation: z.string().min(1, "실사 지역을 입력해주세요."),
+ factoryAddress: z.string().min(1, "실사 주소를 입력해주세요."),
- // 공장 PIC 정보
- factoryPicName: z.string().min(1, "공장 담당자 이름을 입력해주세요."),
- factoryPicPhone: z.string().min(1, "공장 담당자 전화번호를 입력해주세요."),
+ // 실사 참석자 정보
+ factoryPicName: z.string().min(1, "실사 참석자 이름을 입력해주세요."),
+ factoryPicPhone: z.string().min(1, "실사 참석자 전화번호를 입력해주세요."),
factoryPicEmail: z.string().email("올바른 이메일 주소를 입력해주세요."),
- // 공장 가는 법
- factoryDirections: z.string().min(1, "공장 가는 법을 입력해주세요."),
-
- // 공장 출입절차
- accessProcedure: z.string().min(1, "공장 출입절차를 입력해주세요."),
+ // 실사 장소 이동 방법
+ factoryDirections: z.string().min(1, "실사 장소 이동 방법을 입력해주세요."),
+
+ // 실사 장소 출입절차
+ accessProcedure: z.string().min(1, "실사 장소 출입절차를 입력해주세요."),
// 첨부파일
hasAttachments: z.boolean().default(false),
@@ -176,9 +176,9 @@ export function VendorInfoSheet({ <Form {...form}>
<form onSubmit={form.handleSubmit(handleSubmit)} className="space-y-6">
- {/* 공장 정보 */}
+ {/* 실사 장소 정보 */}
<div className="space-y-4">
- <h3 className="text-lg font-semibold border-b pb-2">공장 정보</h3>
+ <h3 className="text-lg font-semibold border-b pb-2">실사 장소 정보</h3>
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<FormField
@@ -186,9 +186,9 @@ export function VendorInfoSheet({ name="factoryName"
render={({ field }) => (
<FormItem>
- <FormLabel>공장명 *</FormLabel>
+ <FormLabel>실사 장소명 *</FormLabel>
<FormControl>
- <Input placeholder="공장명을 입력하세요" {...field} disabled={isPending} />
+ <Input placeholder="실사 장소명을 입력하세요 (예: 00공장)" {...field} disabled={isPending} />
</FormControl>
<FormMessage />
</FormItem>
@@ -200,7 +200,7 @@ export function VendorInfoSheet({ name="factoryLocation"
render={({ field }) => (
<FormItem>
- <FormLabel>공장위치 *</FormLabel>
+ <FormLabel>실사 지역 *</FormLabel>
<FormControl>
<Input placeholder="국가 또는 지역 (예: Finland, 부산)" {...field} disabled={isPending} />
</FormControl>
@@ -215,11 +215,11 @@ export function VendorInfoSheet({ name="factoryAddress"
render={({ field }) => (
<FormItem>
- <FormLabel>공장주소 *</FormLabel>
+ <FormLabel>실사 주소 *</FormLabel>
<FormControl>
- <Textarea
- placeholder="상세 주소를 입력하세요"
- {...field}
+ <Textarea
+ placeholder="상세 주소를 입력하세요"
+ {...field}
disabled={isPending}
className="min-h-[80px]"
/>
@@ -232,9 +232,9 @@ export function VendorInfoSheet({ </div>
</div>
- {/* 공장 PIC 정보 */}
+ {/* 실사 참석자 정보 */}
<div className="space-y-4">
- <h3 className="text-lg font-semibold border-b pb-2">공장 담당자 정보</h3>
+ <h3 className="text-lg font-semibold border-b pb-2">실사 참석자 정보</h3>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<FormField
@@ -281,9 +281,9 @@ export function VendorInfoSheet({ </div>
</div>
- {/* 공장 정보 상세 */}
+ {/* 실사 장소 상세 */}
<div className="space-y-4">
- <h3 className="text-lg font-semibold border-b pb-2">공장 정보 상세</h3>
+ <h3 className="text-lg font-semibold border-b pb-2">실사 장소 상세</h3>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<FormField
@@ -291,11 +291,11 @@ export function VendorInfoSheet({ name="factoryDirections"
render={({ field }) => (
<FormItem>
- <FormLabel>공장 가는 법 *</FormLabel>
+ <FormLabel>실사 장소 이동 방법 *</FormLabel>
<FormControl>
- <Textarea
- placeholder="공항에서 공장까지 가는 방법, 대중교통 정보 등을 상세히 입력하세요"
- {...field}
+ <Textarea
+ placeholder="공항에서 실사 장소까지 가는 방법, 대중교통 정보 등을 상세히 입력하세요"
+ {...field}
disabled={isPending}
className="min-h-[120px]"
/>
@@ -310,11 +310,11 @@ export function VendorInfoSheet({ name="accessProcedure"
render={({ field }) => (
<FormItem>
- <FormLabel>공장 출입절차 *</FormLabel>
+ <FormLabel>실사 장소 출입절차 *</FormLabel>
<FormControl>
- <Textarea
- placeholder="신분증 제출, 출입증 교환, 준비물 등 출입 절차를 상세히 입력하세요"
- {...field}
+ <Textarea
+ placeholder="신분증 제출, 출입증 교환, 준비물 등 출입 절차를 상세히 입력하세요"
+ {...field}
disabled={isPending}
className="min-h-[120px]"
/>
diff --git a/lib/site-visit/vendor-info-view-dialog.tsx b/lib/site-visit/vendor-info-view-dialog.tsx index fb2b0dfe..ded5de72 100644 --- a/lib/site-visit/vendor-info-view-dialog.tsx +++ b/lib/site-visit/vendor-info-view-dialog.tsx @@ -92,28 +92,28 @@ function VendorDetailView({ return (
<div className="space-y-6">
- {/* 협력업체 공장 정보 */}
+ {/* 협력업체 실사 장소 정보 */}
<Card>
<CardHeader>
<CardTitle className="flex items-center gap-2">
<Building2 className="h-5 w-5" />
- 협력업체 공장 정보
+ 협력업체 실사 장소 정보
</CardTitle>
</CardHeader>
<CardContent>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
<div className="space-y-4">
<div>
- <h4 className="font-semibold mb-2">공장 기본 정보</h4>
+ <h4 className="font-semibold mb-2">실사 장소 기본 정보</h4>
<div className="space-y-2 text-sm">
- <div><span className="font-medium">공장명:</span> {vendorInfo.factoryName}</div>
- <div><span className="font-medium">공장위치:</span> {vendorInfo.factoryLocation}</div>
- <div><span className="font-medium">공장주소:</span> {vendorInfo.factoryAddress}</div>
+ <div><span className="font-medium">실사 장소명:</span> {vendorInfo.factoryName}</div>
+ <div><span className="font-medium">실사 지역:</span> {vendorInfo.factoryLocation}</div>
+ <div><span className="font-medium">실사 주소:</span> {vendorInfo.factoryAddress}</div>
</div>
</div>
<div>
- <h4 className="font-semibold mb-2">공장 담당자 정보</h4>
+ <h4 className="font-semibold mb-2">실사 참석자 정보</h4>
<div className="space-y-2 text-sm">
<div className="flex items-center gap-2">
<User className="h-4 w-4" />
@@ -134,16 +134,16 @@ function VendorDetailView({ <div className="space-y-4">
{vendorInfo.factoryDirections && (
<div>
- <h4 className="font-semibold mb-2">공장 가는 법</h4>
+ <h4 className="font-semibold mb-2">실사 장소 이동 방법</h4>
<div className="bg-muted p-3 rounded-md">
<p className="text-sm whitespace-pre-wrap">{vendorInfo.factoryDirections}</p>
</div>
</div>
)}
-
+
{vendorInfo.accessProcedure && (
<div>
- <h4 className="font-semibold mb-2">공장 출입절차</h4>
+ <h4 className="font-semibold mb-2">실사 장소 출입절차</h4>
<div className="bg-muted p-3 rounded-md">
<p className="text-sm whitespace-pre-wrap">{vendorInfo.accessProcedure}</p>
</div>
@@ -411,7 +411,7 @@ export function VendorInfoViewDialog({ </div>
<div className="grid grid-cols-2 md:grid-cols-4 gap-2 text-sm text-muted-foreground">
<div>
- <span className="font-medium">공장명:</span>{" "}
+ <span className="font-medium">실사 장소명:</span>{" "}
{request.vendorInfo?.factoryName || "미입력"}
</div>
<div>
|
