From 5662fd291083165c6c5243a8edda3584c6a73cdf Mon Sep 17 00:00:00 2001 From: hjjeong Date: Tue, 12 May 2026 18:32:23 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B0=9C=EA=B4=80=EB=A6=AC>PART=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=E2=80=94=20wace=20partMngDetailPopUp.jsp?= =?UTF-8?q?=201:1=20=EC=9E=AC=EC=9E=91=EC=84=B1=20+=20colgroup=20=EB=B9=84?= =?UTF-8?q?=EC=9C=A8=20=EC=A0=95=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PartDetailDialog 재작성 (운영판 부적합 → 정정): - 기존: 임의 섹션 분리("기본정보/크기·형상/분류·단위/Y-N 플래그") + 운영판 없는 필드 (두께/너비/높이/외경/내경/길이/단위/수량/후가공/공급업체) 노출 - 정정: PartFormDialog 와 동일 레이아웃을 readonly 박스(Ro)로 표시 · 운영판 22필드 그대로 (운영판 없는 9필드 제거) · 부속 행 추가 (운영 detail 만 표시) : EO No / EO Date / EO구분(CHANGE_TYPE) / EO사유(CHANGE_OPTION) · CAD Data 3행 : 3D / 2D(Drawing) / 2D(PDF) — 첨부 카운트 표시 (실제 파일 다운로드는 DEV-7 별 PR) · 헤더: 파란색 바 "품목 상세" (운영판 헤더 1:1) · 코드값 → 라벨 매핑 : ODRFG (구매/생산/Phantom), LOT_FG (미사용/사용), USE_YN (미사용/사용), QC_FG (무검사/검사), SETITEM/REQ (부/여) colgroup 비율 정정 (Form + Detail 공통): - 기존: 4컬럼 단순 (라벨 110px / input / 라벨 110px / input) → 첫 input 25% 좁음 - 정정: 운영판 JSP colgroup 1:1 (12% / 12% / 25% / 12% / *) + 매 행 첫 Td 에 colSpan={2} · 결과 input1 ≈ 37%, input2 ≈ 39% — 양쪽 input 비율 거의 동일 (운영판 일치) · 규격/비고 행 colSpan={4} (운영 JSP colspan=4) · CAD Data 행 colSpan={3} (작은 라벨 1칸 + 컨텐츠 3칸) · Th 의 고정 너비 w-[110px] 제거 — colgroup 이 폭 결정 · table-fixed 추가로 colgroup 비율 강제 적용 Co-Authored-By: Claude Opus 4.7 (1M context) --- .../development/PartDetailDialog.tsx | 252 +++++++++++------- .../components/development/PartFormDialog.tsx | 49 ++-- 2 files changed, 176 insertions(+), 125 deletions(-) diff --git a/frontend/components/development/PartDetailDialog.tsx b/frontend/components/development/PartDetailDialog.tsx index 6b9122cb..720d83af 100644 --- a/frontend/components/development/PartDetailDialog.tsx +++ b/frontend/components/development/PartDetailDialog.tsx @@ -1,24 +1,35 @@ "use client"; -// 개발관리 > PART 상세 조회 다이얼로그 (read-only). -// 행 더블클릭 진입. "수정" 버튼 클릭 시 PartFormDialog(mode='edit')로 전환은 -// 호출 페이지가 dispatch (open=false → 부모가 form dialog 오픈). +// 개발관리 > PART 상세 다이얼로그 — wace partMng/partMngDetailPopUp.jsp 1:1 +// +// 운영판은 form 과 동일 화면을 disabled 로 표시 후 "수정" 클릭 시 활성화. +// RPS 에서는 PartFormDialog 와 분리 유지 (호환). 본 다이얼로그는 Form 레이아웃 readonly + +// 부속 정보 행 추가 (EO_NO / EO_DATE / EO구분(CHANGE_TYPE) / EO사유(CHANGE_OPTION)) + +// CAD Data 영역 (3D / 2D(Drawing) / 2D(PDF)) 표시. +// +// "수정" 버튼: 부모가 본 다이얼로그를 닫고 PartFormDialog(mode='edit') 오픈하도록 onEdit 콜백 호출. import React, { useEffect, useState } from "react"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; -import { Label } from "@/components/ui/label"; -import { Loader2, Pencil } from "lucide-react"; +import { Loader2, Pencil, FileText } from "lucide-react"; import { toast } from "sonner"; import { devPartApi, PartRow } from "@/lib/api/devPart"; +import { cn } from "@/lib/utils"; + +const LABEL_ODRFG: Record = { "0": "구매", "1": "생산", "8": "Phantom" }; +const LABEL_LOT_FG: Record = { "0": "미사용", "1": "사용" }; +const LABEL_USE_YN: Record = { "0": "미사용", "1": "사용" }; +const LABEL_QC_FG: Record = { "0": "무검사", "1": "검사" }; +const LABEL_YESNO: Record = { "0": "부", "1": "여" }; interface Props { open: boolean; onOpenChange: (open: boolean) => void; objid: string | null; - /** "수정" 버튼 클릭 시 호출 — 부모는 본 다이얼로그 닫고 PartFormDialog(mode='edit')를 띄움 */ + /** "수정" 버튼 클릭 시 호출 — 부모는 본 다이얼로그 닫고 PartFormDialog(mode='edit') 오픈 */ onEdit?: (objid: string) => void; } @@ -44,9 +55,9 @@ export function PartDetailDialog({ open, onOpenChange, objid, onEdit }: Props) { return ( - - - PART 상세 정보 + + + 품목 상세 {loading || !row ? ( @@ -54,89 +65,107 @@ export function PartDetailDialog({ open, onOpenChange, objid, onEdit }: Props) { ) : ( -
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ {/* 운영판 colgroup 1:1 (12% / 12% / 25% / 12% / *) */} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - - - - - - - - - -
+ {/* 부속 — wace detail 만 표시 */} + + + + + + + + -
- - - - - - - - - - - - - - - - - - - - -
+ {/* CAD Data */} + + + + + + + + + + + + + + +
품번{row.part_no}품명{row.part_name}
재료{row.material}열처리경도{row.heat_treatment_hardness}
열처리방법{row.heat_treatment_method}표면처리{row.surface_treatment}
메이커{row.maker}범주 이름{row.part_type_title}
규격{row.spec}
계정구분{row.acctfg_nm}조달구분{LABEL_ODRFG[row.odrfg ?? ""] ?? row.odrfg_nm ?? ""}
재고단위{row.unit_dc_nm}관리단위{row.unitmang_dc_nm}
환산수량{row.unitchng_nb != null && row.unitchng_nb !== "" ? String(row.unitchng_nb) : ""}LOT구분{LABEL_LOT_FG[row.lot_fg ?? ""] ?? row.lot_fg_nm ?? ""}
사용여부{LABEL_USE_YN[row.use_yn ?? ""] ?? row.use_yn_nm ?? ""}검사여부{LABEL_QC_FG[row.qc_fg ?? ""] ?? row.qc_fg_nm ?? ""}
SET품여부{LABEL_YESNO[row.setitem_fg ?? ""] ?? row.setitem_fg_nm ?? ""}의뢰여부{LABEL_YESNO[row.req_fg ?? ""] ?? row.req_fg_nm ?? ""}
개당길이{row.unit_length}개당소요량{row.unit_qty}
비고{row.remark}
EO No{row.eo_no}EO Date{row.eo_date}
EO구분{row.change_type}EO사유{row.change_option_name ?? row.change_option}
+ CAD Data + 3D + +
2D(Drawing) + +
2D(PDF) + +
-
- - - - - - - - - - -
+
+ CAD Data 첨부 다운로드/미리보기는 DEV-7 (도면업로드) 별 PR 에서 활성화됩니다. +
)} - + {row && onEdit && (