diff --git a/apps/wr/app/store/common/searchCode/index.ts b/apps/wr/app/store/common/searchCode/index.ts index 276271d60..31f5bd3fe 100644 --- a/apps/wr/app/store/common/searchCode/index.ts +++ b/apps/wr/app/store/common/searchCode/index.ts @@ -18,6 +18,7 @@ export const comFcltStateExport: comFcltState = { bzmnNo: "", dmdCoNm: "", daddr: "", + daddr2: "", telno: "", rgtr: "", useUsgCd: "", diff --git a/packages/common/business_components/src/ui/sdmInsertForm/form.tsx b/packages/common/business_components/src/ui/sdmInsertForm/form.tsx index caf523228..c5c9ef809 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/form.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/form.tsx @@ -54,6 +54,7 @@ interface FormSchema { dmdInfoId: string; zip?: string; daddr: string; + daddr2?: string; telno: string; bznmTotNo?: string; // 종사업자등록번호 rgtr?: string | ""; @@ -225,8 +226,9 @@ export function SdmRegForm({ setZoneNo(rtnCompData?.zip || ""); form.setValue("zip", rtnCompData?.zip || ""); setAddress(rtnCompData?.daddr || ""); - setDetailedAddress(""); + setDetailedAddress(rtnCompData?.daddr2 || ""); form.setValue("daddr", rtnCompData?.daddr || ""); + form.setValue("daddr2", rtnCompData?.daddr2 || ""); form.setValue("telno", rtnCompData?.telno || ""); // 선택을 했을 때 중복 상태를 true로 설정 @@ -326,10 +328,15 @@ export function SdmRegForm({ setZoneNo(updateList?.zip || ""); form.setValue("zip", updateList?.zip || ""); setAddress(updateList?.daddr || ""); - setDetailedAddress(""); + setDetailedAddress(updateList?.daddr2 || ""); + form.setValue("daddr2", updateList?.daddr2 || ""); setUpdateNm(updateList?.dmdCoNm); // setSigunValue(updateList?.sggCd) } else { + setZoneNo(""); + setAddress(""); + setDetailedAddress(""); + form.setValue("daddr2", ""); handleCheckboxChange(true); } }, [updateList, form]); @@ -338,14 +345,14 @@ export function SdmRegForm({ console.log("form.formState.errors ", form.formState.errors); }, [form.formState.errors]); - // 폼 제출 전에 주소 합치기 + // 주소와 상세주소를 각각 별도 필드로 유지합니다. useEffect(() => { - // address와 detailedAddress를 합쳐서 daddr에 설정 - if (address) { - const fullAddress = `${address || ""} ${detailedAddress || ""}`.trim(); - form.setValue("daddr", fullAddress, {shouldValidate: true }); - } - }, [address, detailedAddress, form]); + form.setValue("daddr", address || "", { shouldValidate: true }); + }, [address, form]); + + useEffect(() => { + form.setValue("daddr2", detailedAddress || "", { shouldValidate: true }); + }, [detailedAddress, form]); useEffect(() => { form.setValue("zip", zoneNo, { shouldValidate: true }); @@ -505,6 +512,7 @@ export function SdmRegForm({ onChange={(e) => { const value = e.target.value; setDetailedAddress(value); + form.setValue("daddr2", value, { shouldValidate: true }); }} value={detailedAddress ?? ""} /> @@ -641,6 +649,7 @@ export function SdmRegForm({ setAddress(zip.zipAddr || ""); setDetailedAddress(""); form.setValue("zip", zip.zoneNo || "", { shouldValidate: true }); + form.setValue("daddr2", "", { shouldValidate: true }); applyZipRegion(zip.ctpvNm, zip.sggNm); }} /> diff --git a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx index 70ee0958e..09c357c41 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx @@ -42,6 +42,7 @@ const createFormSchema = (isBznmTotNoDisabled: boolean, isDuplicate: boolean ,up .min(1, "주소를 입력해주세요") // .min(6, "주소는 6자 이상 입력해주세요") .max(40, "주소는 40자 이내로 입력해주세요"), + daddr2: z.string().optional(), telno: z.string() .min(8, "전화번호는 8자 이상 입력해주세요") .max(11, "전화번호는 11자 이내로 입력해주세요") @@ -77,6 +78,7 @@ const defaultValues: FormSchema = { zip: '', bznmTotNo: '', daddr: '', + daddr2: '', telno: '', rgtr: '', mdfr: '', @@ -141,6 +143,8 @@ export default function SdmInsertForm({selectSidoData, selectSigunData, dataList ...data, dmdInfoId, bzmnNo: data.dmdInfoId, + daddr: data.daddr?.trim() || "", + daddr2: data.daddr2?.trim() || "", rgtr: myUUID , }; diff --git a/packages/common/business_components/src/ui/search_address/SearchAddressModal.tsx b/packages/common/business_components/src/ui/search_address/SearchAddressModal.tsx index bd4db9e7d..013cb7a38 100644 --- a/packages/common/business_components/src/ui/search_address/SearchAddressModal.tsx +++ b/packages/common/business_components/src/ui/search_address/SearchAddressModal.tsx @@ -223,7 +223,7 @@ export function SearchAddressModal({ open, onOpenChange, onSelect }: SearchAddre <>
@@ -268,17 +268,24 @@ export function SearchAddressModal({ open, onOpenChange, onSelect }: SearchAddre {zipTotalElements > 0 && ( - +
+ +
)} {zipTotalElements === 0 && (