From 95f926a86db078b6f2f5b9563e8eb7bdce87747c Mon Sep 17 00:00:00 2001 From: leedj312 Date: Thu, 12 Jun 2025 10:54:08 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=BC=EC=9E=AC=EC=9D=B4=EC=9A=A9=20?= =?UTF-8?q?=EC=88=98=EC=9A=94=EC=B2=98=EA=B4=80=EB=A6=AC=20=EC=9E=91?= =?UTF-8?q?=EC=97=85=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wr/app/matMng/matDmd/coReg/page.tsx | 84 ----------- apps/wr/app/matMng/matDmd/coSttn/page.tsx | 142 ++++++++++-------- .../app/ruseFcltMng/fcltReg/pbnstReg/page.tsx | 2 - apps/wr/app/store/common/code/index.ts | 8 + apps/wr/app/store/matDmd/coReg/index.tsx | 13 -- apps/wr/app/store/matDmd/coSttn/headList.tsx | 16 +- apps/wr/app/store/matDmd/coSttn/index.tsx | 52 ++++--- .../ruseFcltMng/fcltReg/pbnstReg/headList.tsx | 5 +- .../ruseFcltMng/fcltReg/pbnstReg/index.tsx | 20 +-- .../ruseFcltMng/fcltReg/pbnstReg/type.tsx | 5 +- apps/wr/components/lib/func/commom.tsx | 7 +- .../fcltReg/pbnstReg/buseReg/bugRegForm.tsx | 101 ++++++++----- .../fcltReg/pbnstReg/mngReg/mngRegForm.tsx | 43 ++---- .../components/ui/searchInput/searchInput.tsx | 4 +- .../pbnstReg/ruseMngTable/ruseMngTable.tsx | 5 +- 15 files changed, 216 insertions(+), 291 deletions(-) delete mode 100644 apps/wr/app/matMng/matDmd/coReg/page.tsx delete mode 100644 apps/wr/app/store/matDmd/coReg/index.tsx diff --git a/apps/wr/app/matMng/matDmd/coReg/page.tsx b/apps/wr/app/matMng/matDmd/coReg/page.tsx deleted file mode 100644 index b0f911449..000000000 --- a/apps/wr/app/matMng/matDmd/coReg/page.tsx +++ /dev/null @@ -1,84 +0,0 @@ -"use client"; -import { useForm } from "react-hook-form"; -import { zodResolver } from "@hookform/resolvers/zod"; -import * as z from "zod"; -import { - Form, - FormField, - FormUi, - ScrollArea, - SelectBox, -} from "@common/business_components/ui"; -import { Button } from "@common/components/ui"; -import { CoRegForm } from "@/components/ui/form/matDmd/coRegForm/component"; -import toast, { Toaster } from "react-hot-toast"; -import { ToastFormUi } from "@/components/ui/toast/toastFromUi"; - -const formSchema = z.object({ - ctpv: z.string(), - sgg: z.string(), - coNm: z.string().min(1).max(20), - bznmNo: z.string().min(1).min(9).max(12), - addr: z.string().min(1).min(6).max(20), - telNo: z.string().min(8).max(12), - -}); - -export default function MyForm() { - - - - const form = useForm>({ - resolver: zodResolver(formSchema), - defaultValues: { - coNm:'', - bznmNo:'', - addr:'', - telNo:'', - }, - }); - - function onSubmit(values: z.infer) { - try { - toast.dismiss(); - //ToastFormUi("수요신청 화면으로 이동하시겠습니까?", "수요처 등록 완료", "./dmdReg", "이동") - - } catch (error) { - console.error("Form submission error", error); - toast.error("수요처 등록이 실패하였습니다."); - } - } - - return ( - <> -
-

- 수요처 정보입력 -

-
- -
-
-
-
-
- - {form} - - - -
- -
-
-
- -
-
- - ); -} - diff --git a/apps/wr/app/matMng/matDmd/coSttn/page.tsx b/apps/wr/app/matMng/matDmd/coSttn/page.tsx index b7e6c6c8e..20f34ebac 100644 --- a/apps/wr/app/matMng/matDmd/coSttn/page.tsx +++ b/apps/wr/app/matMng/matDmd/coSttn/page.tsx @@ -2,11 +2,14 @@ import { useWrStore } from "@/app/store"; import { btnClass } from "@/app/store/common/code"; -import type { customCoSttnBdst } from "@/app/store/matDmd/coSttn"; -import { excelDownload, getCity, getCityOrSgg, tableData } from "@/components/lib/func/commom"; +import { + excelDownload, + getCity, + getCityOrSgg, + tableData, +} from "@/components/lib/func/commom"; import { ContentsDiv, - SearchBaseForm, SearchDiv, SearchFormLeft, SearchFormRight, @@ -15,58 +18,74 @@ import { Title, UiModal, UiTable, - type ReturnType, - type SelectDataType + type SelectDataType, } from "@common/business_components/ui"; import ListDiv from "@common/business_components/ui/list_div"; -import { Button, DatePicker, Label } from "@common/components/ui"; -import { useCallback, useEffect, useRef, useState } from "react"; -import SdmInsertForm, { type DemandCompType } from "@common/business_components/ui/sdmInsertForm"; +import { Button } from "@common/components/ui"; +import { useCallback, useEffect, useState } from "react"; +import SdmInsertForm, { + type DemandCompType, +} from "@common/business_components/ui/sdmInsertForm"; import type { objSearchType } from "@/components/ui/modal/fcltReg/bdstRegModal/bdstRegModal"; - +import { Toaster } from "react-hot-toast"; +import { ToastFormUi } from "@/components/ui/toast/toastFromUi"; export default function CoSttn() { - const [bdstTable, setBdstTable] = useState(); - + const { + code, + coSttn, + coSttnInit, + coSttnSearch, + getDemandCompList, + regDemandCompany, + coSttnTxtSearch, + demandCompList, + } = useWrStore((state) => state); + const [bdstTable, setBdstTable] = useState(); const [pageNation, setPageNation] = useState(1); - const { code, coSttn, coSttnInit, coSttnSearch, getDemandCompList, regDemandCompany, demandCompList } = useWrStore((state) => state); const { coSttnRes } = coSttn; - const [isDmdModal, setIsDmdModal] = useState<{ isMoal: boolean, data: DemandCompType }>({ isMoal: false, data: {} as DemandCompType }) - const [fromDate, setFromDate] = useState(new Date()); - const [toDate, setToDate] = useState(new Date()); - const [selectSgg, setSelectSgg] = useState() - const [objSearch, setObjSearch] = useState({ sgg: "", city: "" }); - const ref = useRef({} as ReturnType); - const codeData = getCityOrSgg(ref); + const [isDmdModal, setIsDmdModal] = useState<{ + isMoal: boolean; + data: DemandCompType; + }>({ isMoal: false, data: {} as DemandCompType }); + const [selectSgg, setSelectSgg] = useState(); + const [objSearch, setObjSearch] = useState({ + sgg: "", + city: "", + }); + + const [seartchTxt, setSearchTxt] = useState(); + const [upadateData, setUpdateData] = useState(); const getSelCity = (val: string | number) => { const cityValue = String(val); // Ensure val is treated as a string const data = getCity(cityValue, code.sggCd); setSelectSgg(data); - setObjSearch({ city: cityValue, sgg: '' }); + setObjSearch({ city: cityValue, sgg: "" }); }; const getSgg = (val: string | number) => { - console.log(val); - setObjSearch({ ...objSearch, sgg: String(val) }) + setObjSearch({ ...objSearch, sgg: String(val) }); }; useEffect(() => { if (!coSttn.isInit) { - coSttnInit(codeData ?? "0"); + const con = objSearch.sgg ? objSearch.sgg : objSearch.city; + coSttnInit("1", "13", "45"); } - }, [coSttn.isInit, coSttnInit]); + }, [coSttn.isInit, coSttnInit, objSearch]); useEffect(() => { - if (coSttnRes.length > 0 && code.cityCd.length > 0) { + if (coSttnRes?.length > 0 && code.cityCd.length > 0) { const data = tableData(coSttnRes, { code }); - const chData = data - .map((item: any) => ({ - ...item - })) + const chData = data.map((item: any) => ({ + ...item, + })); // .filter((item: any) => item !== undefined); setBdstTable(chData); + } else if (coSttnRes.length == 0) { + setBdstTable([]); } }, [coSttnRes]); @@ -84,10 +103,20 @@ export default function CoSttn() { }, [coSttn.excelList]); const excelClick = useCallback(() => { - console.log("??") - coSttnSearch("마인드원", 1); - }, [coSttnSearch]); + const con = objSearch.sgg ? objSearch.sgg : objSearch.city; + if (con) coSttnSearch("1", "10000", String(con)); + }, [coSttnSearch, objSearch.city, objSearch.sgg]); + const searchClick = () => { + const con = objSearch.sgg ? objSearch.sgg : objSearch.city; + if (con) { + if (seartchTxt && seartchTxt?.length > 0) { + coSttnTxtSearch("1", "13", String(con), seartchTxt ?? ""); + } else { + coSttnSearch("1", "13", String(con)); + } + } + }; return ( <> @@ -111,42 +140,27 @@ export default function CoSttn() { selectArray={selectSgg || []} onSelectValue={getSgg} /> -
-
- -
- { if (date) setFromDate(date) }} /> - ~ - { if (date) setToDate(date) }} /> -
-
-
{ + setSearchTxt(e); }} />
- +
- */}
@@ -389,6 +391,7 @@ export function PbnstMngForm({ tableData={fcOpersField} headList={pbnst.pbnstMngUpHeadList} upHeadList={pbnst.pbnstMngNm} + code={mngMtdCode || []} onTableSet={(val) => { setFcOpresData(val); }} @@ -404,7 +407,7 @@ export function PbnstMngForm({ control={form.control} name="fcltCpct" render={({ field }) => ( - +
-
- ( - - { - field.onChange(Number(e.target.value)); - }} - value={field.value ?? 0} - readOnly - /> - - )} - /> -
+
( - + void; - setRtnData: (rtnData: any[]) => void; + setRtnData: (rtnData: any) => void; searchList?: any[]; }; export default function SearchInputText({ @@ -42,7 +42,7 @@ export default function SearchInputText({ setTextValue(dmdCoNm); setValue(dmdCoNm); setIsOpen(false); - setRtnData(searchList || []); + setRtnData(searchList?.find((item) => item.dmdCoNm === dmdCoNm) || {}); }, [searchList, setRtnData, setValue] ); diff --git a/apps/wr/components/ui/table/pbnstReg/ruseMngTable/ruseMngTable.tsx b/apps/wr/components/ui/table/pbnstReg/ruseMngTable/ruseMngTable.tsx index 43a08e203..f76ed23bb 100644 --- a/apps/wr/components/ui/table/pbnstReg/ruseMngTable/ruseMngTable.tsx +++ b/apps/wr/components/ui/table/pbnstReg/ruseMngTable/ruseMngTable.tsx @@ -42,8 +42,7 @@ const RuseMngTable = React.forwardRef( }, [tableState,onTableSet]); - - + useEffect(() => { if(tableData) setTableState(tableData); @@ -92,7 +91,7 @@ const RuseMngTable = React.forwardRef( ) : head.type === "select" ? ( item.name === head.selectData)?.val ?? []} + selectArray={code?.find(item => item.name === head.selectData)?.val ?? []} value={ tableState[i][head.id] || "" }