견적서 첨부파일

This commit is contained in:
basssy 2024-12-02 15:27:42 +09:00
parent 0a9618e642
commit a94b328ae3
2 changed files with 33 additions and 20 deletions

View File

@ -176,7 +176,6 @@ export default function Estimate({ params }) {
useEffect(() => { useEffect(() => {
// setEstimateContextState // setEstimateContextState
// console.log('specialNoteList::', specialNoteList)
if (isNotEmptyArray(specialNoteList)) { if (isNotEmptyArray(specialNoteList)) {
const liveCheckedData = specialNoteList.filter((row) => row.check === true) const liveCheckedData = specialNoteList.filter((row) => row.check === true)
@ -187,7 +186,6 @@ export default function Estimate({ params }) {
const newData = data.join('、') const newData = data.join('、')
// //
// console.log('??', uniqueData)
setEstimateContextState({ estimateOption: newData, specialNoteList: specialNoteList, uniqueData: uniqueData }) setEstimateContextState({ estimateOption: newData, specialNoteList: specialNoteList, uniqueData: uniqueData })
} }
}, [specialNoteList]) }, [specialNoteList])
@ -204,13 +202,21 @@ export default function Estimate({ params }) {
let fileList = [] let fileList = []
files.map((row) => { files.map((row) => {
fileList.push(row.data) fileList.push(row.data)
setEstimateContextState({ fileList: row.data, tempFileList: fileList }) setEstimateContextState({ fileList: row.data, newFileList: fileList })
}) })
} else { } else {
setEstimateContextState({ fileList: [] }) setEstimateContextState({ fileList: [] })
} }
}, [files]) }, [files])
useEffect(() => {
if (originFiles.length > 0) {
setEstimateContextState({
originFiles: originFiles,
})
}
}, [originFiles])
// set // set
useEffect(() => { useEffect(() => {
if (isNotEmptyArray(estimateContextState.fileList)) { if (isNotEmptyArray(estimateContextState.fileList)) {
@ -232,6 +238,8 @@ export default function Estimate({ params }) {
setOriginFiles(originFiles.filter((file) => file.objectNo === objectNo && file.no !== no)) setOriginFiles(originFiles.filter((file) => file.objectNo === objectNo && file.no !== no))
setEstimateContextState({ setEstimateContextState({
fileList: originFiles.filter((file) => file.objectNo === objectNo && file.no !== no), 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')) alert(getMessage('plan.message.delete'))
@ -333,7 +341,6 @@ export default function Estimate({ params }) {
} }
}) })
// console.log(' :::', pushData)
setUniqueData(pushData) setUniqueData(pushData)
specialNoteList.map((item) => { specialNoteList.map((item) => {
if (item.pkgYn === '1') { if (item.pkgYn === '1') {

View File

@ -128,6 +128,7 @@ export const useEstimateController = (planNo) => {
const handleEstimateSubmit = async () => { const handleEstimateSubmit = async () => {
//0. 필수체크 //0. 필수체크
let flag = true let flag = true
let originFileFlg = false
let fileFlg = true let fileFlg = true
let itemFlg = true let itemFlg = true
if (estimateData.charger.trim().length === 0) { if (estimateData.charger.trim().length === 0) {
@ -147,21 +148,26 @@ export const useEstimateController = (planNo) => {
//첨부파일을 첨부안했는데 //첨부파일을 첨부안했는데
//아이템 fileUploadFlg가1(첨부파일 필수)이 1개라도 있는데 후일 자료 제출(fileFlg) 체크안했으면(0) alert 저장안돼 //아이템 fileUploadFlg가1(첨부파일 필수)이 1개라도 있는데 후일 자료 제출(fileFlg) 체크안했으면(0) alert 저장안돼
if (estimateData?.originFiles?.length > 0) {
originFileFlg = true
}
if (flag) { if (flag) {
if (estimateData.fileList.length < 1) { if (!originFileFlg) {
if (estimateData.itemList.length > 1) { if (estimateData.newFileList.length < 1) {
estimateData.itemList.map((row) => { if (estimateData.itemList.length > 1) {
if (row.delFlg === '0') { estimateData.itemList.map((row) => {
if (row.fileUploadFlg === '1') { if (row.delFlg === '0') {
if (fileFlg) { if (row.fileUploadFlg === '1') {
if (estimateData.fileFlg === '0') { if (fileFlg) {
fileFlg = false if (estimateData.fileFlg === '0') {
return alert(getMessage('estimate.detail.save.requiredFileUpload')) fileFlg = false
return alert(getMessage('estimate.detail.save.requiredFileUpload'))
}
} }
} }
} }
} })
}) }
} }
} }
} }
@ -206,8 +212,8 @@ export const useEstimateController = (planNo) => {
if (flag && fileFlg && itemFlg) { if (flag && fileFlg && itemFlg) {
//1. 첨부파일 저장시작 //1. 첨부파일 저장시작
const formData = new FormData() const formData = new FormData()
if (estimateData?.tempFileList?.length > 0) { if (estimateData?.newFileList?.length > 0) {
estimateData.tempFileList.forEach((file) => { estimateData.newFileList.forEach((file) => {
formData.append('files', file) formData.append('files', file)
}) })
formData.append('objectNo', estimateData.objectNo) formData.append('objectNo', estimateData.objectNo)
@ -267,9 +273,9 @@ export const useEstimateController = (planNo) => {
} }
}) })
estimateData.estimateOption = estimateOptions estimateData.estimateOption = estimateOptions
// console.log('최종첨부파일:::', estimateData.fileList) console.log('최종첨부파일:::', estimateData.newFileList)
// console.log('최종아이템:::', estimateData.itemList) console.log('최종아이템:::', estimateData.itemList)
// console.log('최종저장::', estimateData) console.log('최종저장::', estimateData)
//2. 상세데이터 저장 //2. 상세데이터 저장
// return // return
try { try {