wr: 수요처 daddr2 추가
This commit is contained in:
@@ -18,6 +18,7 @@ export const comFcltStateExport: comFcltState = {
|
||||
bzmnNo: "",
|
||||
dmdCoNm: "",
|
||||
daddr: "",
|
||||
daddr2: "",
|
||||
telno: "",
|
||||
rgtr: "",
|
||||
useUsgCd: "",
|
||||
|
||||
@@ -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);
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -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 ,
|
||||
};
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ export function SearchAddressModal({ open, onOpenChange, onSelect }: SearchAddre
|
||||
<>
|
||||
<form
|
||||
onSubmit={handleSearch}
|
||||
className="mb-4 space-y-2"
|
||||
className="mb-4 w-full space-y-2"
|
||||
>
|
||||
<div className="card card-border !m-0 flex flex-col gap-3 p-4">
|
||||
<div className="relative">
|
||||
@@ -268,17 +268,24 @@ export function SearchAddressModal({ open, onOpenChange, onSelect }: SearchAddre
|
||||
</form>
|
||||
|
||||
{zipTotalElements > 0 && (
|
||||
<UiTable
|
||||
headName=''
|
||||
tableData={zipSearchResults}
|
||||
headlist={[{ id: 'zoneNo', title: '우편번호' }, { id: 'zipAddr', title: '주소' }]}
|
||||
pageSize={PAGE_SIZE}
|
||||
total={zipTotalElements}
|
||||
cellClick={handleCellClick}
|
||||
onPageChange={setCurPage}
|
||||
resetPageNo={isResetPage}
|
||||
index={selectedRowIndex}
|
||||
/>
|
||||
<div className="w-full">
|
||||
<UiTable
|
||||
headName=""
|
||||
tableData={zipSearchResults}
|
||||
headlist={[
|
||||
{ id: "zoneNo", title: "우편번호", widthPercent: 18 },
|
||||
{ id: "zipAddr", title: "주소", widthPercent: 82 },
|
||||
]}
|
||||
pageSize={PAGE_SIZE}
|
||||
total={zipTotalElements}
|
||||
cellClick={handleCellClick}
|
||||
onPageChange={setCurPage}
|
||||
resetPageNo={isResetPage}
|
||||
index={selectedRowIndex}
|
||||
widthFixed={true}
|
||||
className="!m-0 w-auto"
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
{zipTotalElements === 0 && (
|
||||
<div className={cn("flex h-96 flex-col items-center justify-center gap-4")}>
|
||||
|
||||
Reference in New Issue
Block a user