From 4098a22b43c6ebc51688d03db59fd510e72dee10 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Tue, 11 Nov 2025 10:18:06 +0000 Subject: (최겸) 구매 일반계약 수정중 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detail/general-contract-basic-info.tsx | 538 ++++++++++----------- .../main/general-contract-update-sheet.tsx | 35 +- .../main/general-contracts-table.tsx | 2 - lib/general-contracts/service.ts | 1 - 4 files changed, 281 insertions(+), 295 deletions(-) (limited to 'lib/general-contracts') diff --git a/lib/general-contracts/detail/general-contract-basic-info.tsx b/lib/general-contracts/detail/general-contract-basic-info.tsx index fb08da87..54c083ff 100644 --- a/lib/general-contracts/detail/general-contract-basic-info.tsx +++ b/lib/general-contracts/detail/general-contract-basic-info.tsx @@ -356,41 +356,31 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { {/* 기본 정보 탭 */} - {/* 계약확정범위 */} - - 계약확정범위 - - -
-
- - -
-
-
-
- - - {/* 보증기간 및 단가유형 */} + {/* 계약확정범위 및 보증기간/단가유형 */} - 보증기간 및 단가유형 + 계약확정범위 및 보증기간/단가유형 + {/* 계약확정범위 */} +
+ + +
{/* 3그리드: 보증기간, 사양, 단가 */}
{/* 보증기간 */} @@ -878,31 +868,31 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { Payment & Delivery Conditions (지급/인도 조건) -
+
{/* 납품 전 지급조건 */} -
- -
-
+
+ +
+
setFormData(prev => ({ - ...prev, - paymentBeforeDelivery: { - ...prev.paymentBeforeDelivery, - apBond: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentBeforeDelivery: { + ...prev.paymentBeforeDelivery, + apBond: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -914,26 +904,26 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { disabled={!formData.paymentBeforeDelivery.apBond} />
-
+
setFormData(prev => ({ - ...prev, - paymentBeforeDelivery: { - ...prev.paymentBeforeDelivery, - drawingSubmission: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentBeforeDelivery: { + ...prev.paymentBeforeDelivery, + drawingSubmission: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -945,26 +935,26 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { disabled={!formData.paymentBeforeDelivery.drawingSubmission} />
-
+
setFormData(prev => ({ - ...prev, - paymentBeforeDelivery: { - ...prev.paymentBeforeDelivery, - materialPurchase: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentBeforeDelivery: { + ...prev.paymentBeforeDelivery, + materialPurchase: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -976,26 +966,26 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { disabled={!formData.paymentBeforeDelivery.materialPurchase} />
-
+
setFormData(prev => ({ - ...prev, - paymentBeforeDelivery: { - ...prev.paymentBeforeDelivery, - additionalCondition: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentBeforeDelivery: { + ...prev.paymentBeforeDelivery, + additionalCondition: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -1011,69 +1001,62 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) {
{/* 납품 지급조건 */} -
- -
-
- +
+ +
+
+ - {/* 추가조건 선택 시 수기 입력 필드 */} {formData.paymentDelivery === '추가조건' && ( -
- setFormData(prev => ({ ...prev, paymentDeliveryAdditionalText: e.target.value }))} - placeholder="추가조건을 입력하세요" - className="w-full" - /> -
- )} - {errors.paymentDelivery && ( -

납품 지급조건은 필수값입니다.

+ setFormData(prev => ({ ...prev, paymentDeliveryAdditionalText: e.target.value }))} + placeholder="추가조건" + className="h-6 text-xs mt-1" + /> )}
{/* 납품 외 지급조건 */} -
- -
-
+
+ +
+
setFormData(prev => ({ - ...prev, - paymentAfterDelivery: { - ...prev.paymentAfterDelivery, - commissioning: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentAfterDelivery: { + ...prev.paymentAfterDelivery, + commissioning: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -1085,26 +1068,26 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { disabled={!formData.paymentAfterDelivery.commissioning} />
-
+
setFormData(prev => ({ - ...prev, - paymentAfterDelivery: { - ...prev.paymentAfterDelivery, - finalDocument: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentAfterDelivery: { + ...prev.paymentAfterDelivery, + finalDocument: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -1116,32 +1099,32 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) { disabled={!formData.paymentAfterDelivery.finalDocument} />
-
+
setFormData(prev => ({ - ...prev, - paymentAfterDelivery: { - ...prev.paymentAfterDelivery, - other: e.target.checked - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentAfterDelivery: { + ...prev.paymentAfterDelivery, + other: e.target.checked + } }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ - ...prev, - paymentAfterDelivery: { - ...prev.paymentAfterDelivery, - otherText: e.target.value - } + onChange={(e) => setFormData(prev => ({ + ...prev, + paymentAfterDelivery: { + ...prev.paymentAfterDelivery, + otherText: e.target.value + } }))} disabled={!formData.paymentAfterDelivery.other} /> @@ -1150,81 +1133,75 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) {
{/* 지불조건 */} -
- -
-
- +
+ +
+
+ - {errors.paymentTerm && ( -

지불조건은 필수값입니다.

- )}
-
- +
+ - {errors.taxType && ( -

세금조건은 필수값입니다.

- )}
{/* 클레임금액 */} -
- -
-
+
+ +
+
setFormData(prev => ({ - ...prev, - liquidatedDamages: e.target.checked + onChange={(e) => setFormData(prev => ({ + ...prev, + liquidatedDamages: e.target.checked }))} - className="rounded" + className="rounded w-4 h-4" /> - + setFormData(prev => ({ ...prev, @@ -1238,130 +1215,111 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) {
{/* 인도조건 섹션 */} -
-

인도조건

-
+
+

인도조건

+
{/* 납기종류 */} -
-
-
- - -
-
+
+ +
{/* 인도조건 */} -
-
-
- - -
-
+
+ +
{/* 선적지 */} -
-
-
- - -
-
+
+ +
{/* 하역지 */} -
-
-
- - -
-
+
+ +
{/* 계약납기일 */} -
-
-
- - setFormData(prev => ({ ...prev, contractDeliveryDate: e.target.value }))} - /> -
-
+
+ + setFormData(prev => ({ ...prev, contractDeliveryDate: e.target.value }))} + className="h-8 text-xs" + />
diff --git a/lib/general-contracts/main/general-contract-update-sheet.tsx b/lib/general-contracts/main/general-contract-update-sheet.tsx index 074558ec..ac49faca 100644 --- a/lib/general-contracts/main/general-contract-update-sheet.tsx +++ b/lib/general-contracts/main/general-contract-update-sheet.tsx @@ -254,10 +254,28 @@ export function GeneralContractUpdateSheet({ + {field.value === 'SC' && ( +

+ 납품예정 품목 및 수량을 명기하세요. 납품 품목 또는 작업 내용은 구체적으로 작성하되, 수량(물량)이 정확하지 않을 경우, 상호협의하에 변경 가능하며, 수량(물량) 등은 개별계약(PO)시 명기하세요 +

+ )} )} /> + {/* 계약번호 */} +
+ + +
+ {/* 체결방식 */} + {/* 협력업체명 + 코드 */} +
+ + +
+ {/* 계약시작일 */} {/* 계약확정범위 */} - ( @@ -380,7 +411,7 @@ export function GeneralContractUpdateSheet({

)} - /> + /> */} {/* 비고 */} (null) - console.log(data, "data") - const router = useRouter() const columns = React.useMemo( diff --git a/lib/general-contracts/service.ts b/lib/general-contracts/service.ts index 77593f29..1b1d5c9f 100644 --- a/lib/general-contracts/service.ts +++ b/lib/general-contracts/service.ts @@ -164,7 +164,6 @@ export async function getGeneralContracts(input: GetGeneralContractsSchema) { return { data: [], pageCount: 0, total: 0 } } - console.log("Total contracts:", total) // ✅ 6) 정렬 및 페이징 const orderByColumns: any[] = [] -- cgit v1.2.3