diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx index 9b0bbd5c..3c451220 100644 --- a/src/components/estimate/Estimate.jsx +++ b/src/components/estimate/Estimate.jsx @@ -176,7 +176,6 @@ export default function Estimate({ params }) { useEffect(() => { //선택된 견적특이사항 setEstimateContextState - // console.log('specialNoteList::', specialNoteList) if (isNotEmptyArray(specialNoteList)) { const liveCheckedData = specialNoteList.filter((row) => row.check === true) @@ -187,7 +186,6 @@ export default function Estimate({ params }) { const newData = data.join('、') //저장용 보내기 - // console.log('유니크??', uniqueData) setEstimateContextState({ estimateOption: newData, specialNoteList: specialNoteList, uniqueData: uniqueData }) } }, [specialNoteList]) @@ -204,13 +202,21 @@ export default function Estimate({ params }) { let fileList = [] files.map((row) => { fileList.push(row.data) - setEstimateContextState({ fileList: row.data, tempFileList: fileList }) + setEstimateContextState({ fileList: row.data, newFileList: fileList }) }) } else { setEstimateContextState({ fileList: [] }) } }, [files]) + useEffect(() => { + if (originFiles.length > 0) { + setEstimateContextState({ + originFiles: originFiles, + }) + } + }, [originFiles]) + //상세에서 내려온 첨부파일 set 만들기 useEffect(() => { if (isNotEmptyArray(estimateContextState.fileList)) { @@ -232,6 +238,8 @@ export default function Estimate({ params }) { setOriginFiles(originFiles.filter((file) => file.objectNo === objectNo && file.no !== no)) setEstimateContextState({ fileList: originFiles.filter((file) => file.objectNo === objectNo && file.no !== no), + originFiles: originFiles.filter((file) => file.objectNo === objectNo && file.no !== no), + newFileList: originFiles.filter((file) => file.objectNo === objectNo && file.no !== no), }) alert(getMessage('plan.message.delete')) @@ -333,7 +341,6 @@ export default function Estimate({ params }) { } }) - // console.log('특이사항 유니크:::', pushData) setUniqueData(pushData) specialNoteList.map((item) => { if (item.pkgYn === '1') { diff --git a/src/hooks/floorPlan/estimate/useEstimateController.js b/src/hooks/floorPlan/estimate/useEstimateController.js index 8229d85d..7790c9bb 100644 --- a/src/hooks/floorPlan/estimate/useEstimateController.js +++ b/src/hooks/floorPlan/estimate/useEstimateController.js @@ -128,6 +128,7 @@ export const useEstimateController = (planNo) => { const handleEstimateSubmit = async () => { //0. 필수체크 let flag = true + let originFileFlg = false let fileFlg = true let itemFlg = true if (estimateData.charger.trim().length === 0) { @@ -147,21 +148,26 @@ export const useEstimateController = (planNo) => { //첨부파일을 첨부안했는데 //아이템 fileUploadFlg가1(첨부파일 필수)이 1개라도 있는데 후일 자료 제출(fileFlg) 체크안했으면(0) alert 저장안돼 + if (estimateData?.originFiles?.length > 0) { + originFileFlg = true + } if (flag) { - if (estimateData.fileList.length < 1) { - if (estimateData.itemList.length > 1) { - estimateData.itemList.map((row) => { - if (row.delFlg === '0') { - if (row.fileUploadFlg === '1') { - if (fileFlg) { - if (estimateData.fileFlg === '0') { - fileFlg = false - return alert(getMessage('estimate.detail.save.requiredFileUpload')) + if (!originFileFlg) { + if (estimateData.newFileList.length < 1) { + if (estimateData.itemList.length > 1) { + estimateData.itemList.map((row) => { + if (row.delFlg === '0') { + if (row.fileUploadFlg === '1') { + if (fileFlg) { + if (estimateData.fileFlg === '0') { + fileFlg = false + return alert(getMessage('estimate.detail.save.requiredFileUpload')) + } } } } - } - }) + }) + } } } } @@ -206,8 +212,8 @@ export const useEstimateController = (planNo) => { if (flag && fileFlg && itemFlg) { //1. 첨부파일 저장시작 const formData = new FormData() - if (estimateData?.tempFileList?.length > 0) { - estimateData.tempFileList.forEach((file) => { + if (estimateData?.newFileList?.length > 0) { + estimateData.newFileList.forEach((file) => { formData.append('files', file) }) formData.append('objectNo', estimateData.objectNo) @@ -267,9 +273,9 @@ export const useEstimateController = (planNo) => { } }) estimateData.estimateOption = estimateOptions - // console.log('최종첨부파일:::', estimateData.fileList) - // console.log('최종아이템:::', estimateData.itemList) - // console.log('최종저장::', estimateData) + console.log('최종첨부파일:::', estimateData.newFileList) + console.log('최종아이템:::', estimateData.itemList) + console.log('최종저장::', estimateData) //2. 상세데이터 저장 // return try {