From 25a061b981602caf4a6caee087d0fd7b575df1b9 Mon Sep 17 00:00:00 2001 From: keyy1315 Date: Fri, 25 Jul 2025 14:49:04 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Builder=20=EA=B6=8C=ED=95=9C=20=EB=A7=A4?= =?UTF-8?q?=EB=AC=BC=20=EC=9E=91=EC=84=B1=20=ED=8F=BC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 시공ID 없는 Builder 계정 작성 매물과 Admin_Sub 작성 매물 구분하기 위한 폼 수정 --- src/components/survey-sale/detail/BasicForm.tsx | 7 ++++--- src/components/survey-sale/detail/ButtonForm.tsx | 1 + src/components/survey-sale/detail/DetailForm.tsx | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/survey-sale/detail/BasicForm.tsx b/src/components/survey-sale/detail/BasicForm.tsx index 1b5b3c3..185f406 100644 --- a/src/components/survey-sale/detail/BasicForm.tsx +++ b/src/components/survey-sale/detail/BasicForm.tsx @@ -53,7 +53,7 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba /> {/* 페이지 모드 별, 권한 별 판매점, 시공점 입력 여부 처리 */} - {mode !== 'READ' && + {mode === 'CREATE' && (session?.role === 'Builder' ? ( <> {storeInput(basicInfo, setBasicInfo, mode)} @@ -64,10 +64,11 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba ) : ( <>{storeInput(basicInfo, setBasicInfo, mode)} ))} - {mode === 'READ' && ( + {(mode === 'READ' || mode === 'EDIT') && ( <> {basicInfo?.store && storeInput(basicInfo, setBasicInfo, mode)} - {basicInfo?.constructionPoint && builderInput(basicInfo, setBasicInfo, mode, session)} + {(basicInfo?.constructionPoint || (session?.role === 'Builder' && mode === 'EDIT')) && + builderInput(basicInfo, setBasicInfo, mode, session)} )} diff --git a/src/components/survey-sale/detail/ButtonForm.tsx b/src/components/survey-sale/detail/ButtonForm.tsx index 1640d7a..c799cc0 100644 --- a/src/components/survey-sale/detail/ButtonForm.tsx +++ b/src/components/survey-sale/detail/ButtonForm.tsx @@ -87,6 +87,7 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) { case 'Admin_Sub': return session.storeId === basicData.storeId && session.builderId === basicData.constructionPointId case 'Builder': + return session.builderId ? session.builderId === basicData.constructionPointId : session.userId === basicData.representativeId case 'Partner': return session.builderId === basicData.constructionPointId default: diff --git a/src/components/survey-sale/detail/DetailForm.tsx b/src/components/survey-sale/detail/DetailForm.tsx index f18c47d..1241b9e 100644 --- a/src/components/survey-sale/detail/DetailForm.tsx +++ b/src/components/survey-sale/detail/DetailForm.tsx @@ -87,7 +87,7 @@ export default function DetailForm() { store: session?.storeNm ?? null, storeId: session?.storeId ?? null, constructionPoint: session?.builderNm ?? null, - constructionPointId: session?.builderId ?? null, + constructionPointId: session.role === 'Builder' ? (session.builderId ? session.builderId : '') : session.builderId ?? null, })) const [roofInfoData, setRoofInfoData] = useState(roofInfoForm) @@ -109,7 +109,7 @@ export default function DetailForm() { store: session.storeNm ?? null, storeId: session.storeId ?? null, constructionPoint: session.builderNm ?? null, - constructionPointId: session.builderId ?? null, + constructionPointId: session.role === 'Builder' ? (session.builderId ? session.builderId : '') : session.builderId ?? null, })) }, [session?.isLoggedIn])