Merge commit 'a5d816e221985da6df93a4587d91c858acbbb12b' into iipbs/wr/form_fuction
This commit is contained in:
@@ -118,13 +118,16 @@ export function PbnstBuseForm({ data }: { data: fcBizType[] }) {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (data) {
|
||||
const index = Number(getBizCycle) - 1;
|
||||
form.reset(data[index]);
|
||||
ref.current = data[index]?.pplInstls ?? [];
|
||||
|
||||
|
||||
if(getBizCycle){
|
||||
|
||||
const index = Number(getBizCycle) - 1;
|
||||
form.reset(pbnst.pbnstResObj?.fcBizs[index]);
|
||||
ref.current = pbnst.pbnstResObj?.fcBizs[index]?.pplInstls ?? [];
|
||||
}
|
||||
}, [getBizCycle, data]);
|
||||
|
||||
}, [getBizCycle,pbnst.pbnstResObj]);
|
||||
|
||||
useEffect(() => {
|
||||
const ppl = [];
|
||||
|
||||
@@ -27,30 +27,29 @@ import {
|
||||
} from "@/app/store/ruseFcltMng/fcltReg/pbnstReg/type";
|
||||
import { TEST_UUID } from "@/app/store/ruseFcltMng/fcltReg/rainReg";
|
||||
import { Label } from "@common/business_components/ui/form/lib/label";
|
||||
import React from "react";
|
||||
export type FilesType = {
|
||||
atflCd: string;
|
||||
file: File;
|
||||
};
|
||||
|
||||
export function PbnstMngForm({ data }: { data: customPbnst[] }) {
|
||||
const { pbnst, pbnstUpdate ,pbnstMngData, fileDelete,getBizCycle} = useWrStore((state) => state);
|
||||
|
||||
|
||||
|
||||
const [regFileList, setRegFileList] = useState<fcFileType[] | null>(null);
|
||||
const { pbnst, pbnstUpdate ,pbnstMngData, fileDelete} = useWrStore((state) => state);
|
||||
const [planFiles, setPlanFiles] = useState<FilesType[] | null>(null);
|
||||
const [relationfiles, setRelationFiles] = useState<FilesType[] | null>(null);
|
||||
const [fcltNm, setFcltNm] = useState<selectLabel[] | null>(null);
|
||||
const [progress, setProgress] = useState(0);
|
||||
//const new File([] as BlobPart[], "") 파일 다운로드 활용
|
||||
const handleProgress = (percentage: string) => {
|
||||
setProgress(Number(percentage));
|
||||
};
|
||||
|
||||
const ref = useRef<operType[] | null>( null);
|
||||
const form = useForm<z.infer<typeof pbnstRegZod>>({
|
||||
resolver: zodResolver(pbnstRegZod),
|
||||
defaultValues: pbnstRegZod.parse({}),
|
||||
});
|
||||
|
||||
const {
|
||||
fields: fcOpersField,
|
||||
append,
|
||||
@@ -61,18 +60,19 @@ export type FilesType = {
|
||||
});
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
const formData = form.watch();
|
||||
formData.fcOpers = ref.current ? [...ref.current] : [];
|
||||
formData.fcFiles = regFileList ? [...regFileList] : [];
|
||||
|
||||
pbnstMngData([formData] as customPbnst[]);
|
||||
}, [form.formState, regFileList]);
|
||||
const handleProgress = (percentage: string) => {
|
||||
setProgress(Number(percentage));
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
pbnstMngData(pbnst.pbnstMngRegData);
|
||||
}, [pbnst.pbnstMngRegData]);
|
||||
|
||||
const selectFclt = (val: number) => {
|
||||
if (pbnst.pbnstRes && pbnst.pbnstRes[val]) {
|
||||
getBizCycle(pbnst.pbnstRes[val])
|
||||
form.reset(pbnst.pbnstRes[val])
|
||||
|
||||
};
|
||||
}
|
||||
const fileDownload = (index: number) => {};
|
||||
const plusHist = () => {
|
||||
const regData = {
|
||||
@@ -102,31 +102,6 @@ export type FilesType = {
|
||||
selectedIdxs.reverse().forEach((idx) => remove(idx));
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (!data) return;
|
||||
//form.reset(data);
|
||||
const fcltNmList = data.map((item, index) => ({
|
||||
text: item.ruseUtztnFcltNm,
|
||||
val: String(index)
|
||||
}))
|
||||
ref.current = data[0]?.fcOpers ?? null;
|
||||
setFcltNm(fcltNmList)
|
||||
}, [data])
|
||||
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (!fcltNm || fcltNm.length === 0) return;
|
||||
form.reset(data[0]);
|
||||
}, [fcltNm, data]);
|
||||
// 2. Define a submit handler.
|
||||
function onSubmit(values: z.infer<typeof pbnstRegZod>) {
|
||||
values.fcOpers = ref.current || [];
|
||||
values.fcFiles = regFileList || [];
|
||||
console.log("form values:", values);
|
||||
pbnstUpdate(values);
|
||||
}
|
||||
|
||||
const fileHandler = (files: File[], type: string) => {
|
||||
let fileList = [] as FilesType[];
|
||||
if (type === "relation" && relationfiles) {
|
||||
@@ -179,6 +154,7 @@ useEffect(() => {
|
||||
: setPlanFiles(setReFiles);
|
||||
}
|
||||
};
|
||||
|
||||
const regFileFilter = (
|
||||
files: FilesType[],
|
||||
fileKnd: string,
|
||||
@@ -194,6 +170,50 @@ useEffect(() => {
|
||||
}));
|
||||
return [...planDatas, ...data];
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
const formData = form.watch();
|
||||
formData.fcOpers = ref.current ? [...ref.current] : [];
|
||||
formData.fcFiles = regFileList ? [...regFileList] : [];
|
||||
|
||||
pbnstMngData([formData] as customPbnst[]);
|
||||
}, [form.formState, regFileList]);
|
||||
|
||||
useEffect(() => {
|
||||
pbnstMngData(pbnst.pbnstMngRegData);
|
||||
}, [pbnst.pbnstMngRegData]);
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (!data) return;
|
||||
//form.reset(data);
|
||||
ref.current = data[0]?.fcOpers ?? null;
|
||||
}, [data])
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
if (!pbnst.pbnstRes) return;
|
||||
const fcltNmList = pbnst.pbnstRes.map((item, index) => ({
|
||||
text: item.ruseUtztnFcltNm,
|
||||
val: String(index)
|
||||
}))
|
||||
|
||||
console.log('fcltNmList ', fcltNmList)
|
||||
setFcltNm(fcltNmList)
|
||||
|
||||
}, [pbnst.pbnstRes])
|
||||
|
||||
// 2. Define a submit handler.
|
||||
function onSubmit(values: z.infer<typeof pbnstRegZod>) {
|
||||
values.fcOpers = ref.current || [];
|
||||
values.fcFiles = regFileList || [];
|
||||
console.log("form values:", values);
|
||||
pbnstUpdate(values);
|
||||
}
|
||||
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (relationfiles) {
|
||||
@@ -223,7 +243,7 @@ useEffect(() => {
|
||||
className="mt-4 ml-2"
|
||||
selectClass={undefined}
|
||||
selectArray={fcltNm ?? []}
|
||||
onSelectValue={(val) => {console.log("val", val)}}
|
||||
onSelectValue={(val) => {selectFclt( Number(val))}}
|
||||
value={""}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -49,10 +49,10 @@ const pbnstRegTotal = ()=>{
|
||||
if(data ){
|
||||
|
||||
let regData = {
|
||||
superKey: String(data.bscFctCd + "1"),
|
||||
swtrmtFcltFk: String(data.bscFctCd ),
|
||||
pbnstRuseFcltPk: 1,
|
||||
fcBizs: [{ pbnstRuseFcltFk: 1 ,cycl:1 } as unknown as fcBizType],
|
||||
pbnstRuseFcltPk: String(data.bscFctCd + "1"),
|
||||
ruseUtztnFcltNm: data.bscFctNm,
|
||||
fcBizs: [{ pbnstRuseFcltFk: String(data.bscFctCd + "1") ,cycl:1 } as unknown as fcBizType],
|
||||
};
|
||||
|
||||
setPbnstBdstForm(regData as unknown as customPbnst);
|
||||
|
||||
Reference in New Issue
Block a user