diff --git a/public/assets/images/sub/refresh.png b/public/assets/images/sub/refresh.png new file mode 100644 index 0000000..d5ee1a0 Binary files /dev/null and b/public/assets/images/sub/refresh.png differ diff --git a/src/components/survey-sale/detail/BasicForm.tsx b/src/components/survey-sale/detail/BasicForm.tsx index 1b5b3c3..ff284b1 100644 --- a/src/components/survey-sale/detail/BasicForm.tsx +++ b/src/components/survey-sale/detail/BasicForm.tsx @@ -30,6 +30,15 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba resetAddressData() }, [addressData]) + const handleAddressInitiate = () => { + setBasicInfo({ + ...basicInfo, + postCode: null, + address: null, + addressDetail: null, + }) + } + return ( <>
@@ -53,7 +62,7 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba />
{/* 페이지 모드 별, 권한 별 판매점, 시공점 입력 여부 처리 */} - {mode !== 'READ' && + {mode === 'CREATE' && (session?.role === 'Builder' ? ( <> {storeInput(basicInfo, setBasicInfo, mode)} @@ -64,10 +73,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)} )} @@ -86,12 +96,12 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba id="investigationDate" type="date" className="date-frame" - defaultValue={basicInfo?.investigationDate?.toString()} + value={basicInfo?.investigationDate?.toString()} onChange={(e) => setBasicInfo({ ...basicInfo, investigationDate: e.target.value })} /> ) : ( - + )}
@@ -101,7 +111,7 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba type="text" className="input-frame" readOnly={mode === 'READ'} - defaultValue={basicInfo?.buildingName ?? ''} + value={basicInfo?.buildingName ?? ''} onChange={(e) => setBasicInfo({ ...basicInfo, buildingName: e.target.value })} />
@@ -112,7 +122,7 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba type="text" className="input-frame" readOnly={mode === 'READ'} - defaultValue={basicInfo?.customerName ?? ''} + value={basicInfo?.customerName ?? ''} onChange={(e) => setBasicInfo({ ...basicInfo, customerName: e.target.value })} /> @@ -121,26 +131,39 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba
{/* 우편번호 */}
- +
{/* 도도부현 */}
- + setBasicInfo({ ...basicInfo, address: e.target.value })} + />
{/* 주소 */} {mode !== 'READ' && ( -
+
+
)}
市区町村名, 以後の住所
- + setBasicInfo({ ...basicInfo, addressDetail: e.target.value })} + />
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]) diff --git a/src/styles/components/_sub.scss b/src/styles/components/_sub.scss index 8f551bb..4899ac6 100644 --- a/src/styles/components/_sub.scss +++ b/src/styles/components/_sub.scss @@ -688,4 +688,14 @@ width: 100%; } } +} +.form-flex { + .reset { + flex: none; + width: 40px; + background-image: url(/assets/images/sub/refresh.png); + background-size: 24px 24px; + background-position: center; + background-repeat: no-repeat; + } } \ No newline at end of file