@@ -579,9 +614,16 @@ export default function Estimate({ params }) {
originFiles.map((originFile) => {
return (
-
+ handleEstimateFileDownload(originFile)}>
{originFile.faileName}
-
+
)
@@ -838,18 +880,21 @@ export default function Estimate({ params }) {
classNamePrefix="custom"
placeholder="Select"
options={displayItemList}
- onChange={(e) => onChangeDisplayItem(e.itemId, item.dispOrder)}
+ onChange={(e) => {
+ if (isObjectNotEmpty(e)) {
+ onChangeDisplayItem(e.itemId, item.dispOrder)
+ }
+ }}
getOptionLabel={(x) => x.itemName}
getOptionValue={(x) => x.itemId}
isClearable={true}
isDisabled={false}
value={displayItemList.filter(function (option) {
- // console.log('์ต์
๊ฐ???', option.itemId)
- // console.log('๊ณจ๋์๋ ์ฌ๊ธฐ์ค์ง???', item.itemId)
return option.itemId === item.itemId
})}
/>
+ {/* {item?.partAdd === '1' && ( */}
{item?.itemChangeFlg === '1' && (
@@ -877,14 +922,32 @@ export default function Estimate({ params }) {
-
+ {
+ //onChangeDisplayItem์ฐธ๊ณ
+ //itemChangeFlg = 1, partAdd = 0 ์
ํ
+ console.log('์๋๋ณ๊ฒฝ::::::::', e.target.value)
+ }}
+ />
|
{item.unit} |
-
+ {
+ //onChangeDisplayItem์ฐธ๊ณ
+ //itemChangeFlg, partAdd ๋ฐ์์จ ๊ทธ๋๋ก
+ console.log('๋จ๊ฐ๋ณ๊ฒฝ:::::::', e.target.value)
+ }}
+ />
{/*
OPEN์์ด์ฝ ์ฒ๋ฆฌ
diff --git a/src/components/main/MainContents.jsx b/src/components/main/MainContents.jsx
index 77df845a..d2b3cc90 100644
--- a/src/components/main/MainContents.jsx
+++ b/src/components/main/MainContents.jsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from 'react'
+import { useEffect, useState, useContext } from 'react'
import ProductItem from './ProductItem'
import { useMessage } from '@/hooks/useMessage'
import Image from 'next/image'
@@ -8,17 +8,16 @@ import { useRecoilValue } from 'recoil'
import { useRouter } from 'next/navigation'
import { globalLocaleStore } from '@/store/localeAtom'
import { queryStringFormatter } from '@/util/common-utils'
-import { sessionStore } from '@/store/commonAtom'
import MainSkeleton from '../ui/MainSkeleton'
+import { SessionContext } from '@/app/SessionProvider'
export default function MainContents() {
+ const { session } = useContext(SessionContext)
const { getMessage } = useMessage()
const router = useRouter()
const globalLocaleState = useRecoilValue(globalLocaleStore)
const { promiseGet } = useAxios(globalLocaleState)
- const sessionState = useRecoilValue(sessionStore)
-
//์ต๊ทผ ๋ฌผ๊ฑด
const [objectList, setObjectList] = useState([])
@@ -36,12 +35,12 @@ export default function MainContents() {
fetchObjectList()
fetchNoticeList()
fetchFaqList()
- }, [sessionState])
+ }, [])
//์ต๊ทผ ๊ฐฑ์ ๋ฌผ๊ฑด๋ชฉ๋ก / Sales Contact info ์ ๋ณด
const fetchObjectList = async () => {
try {
- const apiUrl = `/api/main-page/object/${sessionState?.storeId}/list`
+ const apiUrl = `/api/main-page/object/${session?.storeId}/list`
await promiseGet({
url: apiUrl,
}).then((res) => {
diff --git a/src/components/management/Stuff.jsx b/src/components/management/Stuff.jsx
index b7b0d8d7..3dc9a2f4 100644
--- a/src/components/management/Stuff.jsx
+++ b/src/components/management/Stuff.jsx
@@ -218,10 +218,6 @@ export default function Stuff() {
stuffSearchParams.endRow = 1 * pageSize
stuffSearchParams.schSortType = defaultSortType
setPageNo(1)
- setStuffSearch({
- ...stuffSearch,
- code: 'FINISH',
- })
async function fetchData() {
const apiUrl = `/api/object/list?saleStoreId=${session?.storeId}&${queryStringFormatter(stuffSearchParams)}`
@@ -239,6 +235,25 @@ export default function Stuff() {
fetchData()
} else if (stuffSearchParams?.code === 'C') {
resetStuffRecoil()
+ } else if (stuffSearchParams?.code === 'FINISH') {
+ stuffSearchParams.startRow = 1
+ stuffSearchParams.endRow = 1 * pageSize
+ stuffSearchParams.schSortType = defaultSortType
+ setPageNo(1)
+ async function fetchData() {
+ const apiUrl = `/api/object/list?saleStoreId=${session?.storeId}&${queryStringFormatter(stuffSearchParams)}`
+ await get({ url: apiUrl }).then((res) => {
+ if (!isEmptyArray(res)) {
+ setGridProps({ ...gridProps, gridData: res, count: res[0].totCnt })
+ setTotalCount(res[0].totCnt)
+ } else {
+ setGridProps({ ...gridProps, gridData: [], count: 0 })
+ setTotalCount(0)
+ }
+ })
+ }
+
+ fetchData()
}
}, [stuffSearchParams])
diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx
index 93328de3..6378aeec 100644
--- a/src/components/management/StuffDetail.jsx
+++ b/src/components/management/StuffDetail.jsx
@@ -18,6 +18,7 @@ import WindSelectPop from './popup/WindSelectPop'
import { useCommonCode } from '@/hooks/common/useCommonCode'
import StuffPlanQGrid from './StuffPlanQGrid'
import { floorPlanObjectState } from '@/store/floorPlanObjectAtom'
+import { ManagementContext } from '@/app/management/ManagementProvider'
export default function StuffDetail() {
const setFloorPlanObjectNo = useSetRecoilState(floorPlanObjectState) //๊ฒฌ์ ์ ํ๋ฉด์ฉ ๋ฌผ๊ฑด๋ฒํธ๋ฆฌ์ฝ์ผ
@@ -96,7 +97,7 @@ export default function StuffDetail() {
const objectNo = searchParams.get('objectNo') //url์์ ๋ฌผ๊ฑด๋ฒํธ ๊บผ๋ด์ ๋ฐ๋ก set
const [editMode, setEditMode] = useState('NEW')
- const [detailData, setDetailData] = useState({})
+ const { managementState, setManagementState } = useContext(ManagementContext)
const [planGridProps, setPlanGridProps] = useState({
planGridData: [],
@@ -289,9 +290,9 @@ export default function StuffDetail() {
promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => {
if (res.status === 200) {
if (res.data != null) {
- setDetailData(res.data)
+ setManagementState(res.data)
} else {
- setDetailData({})
+ setManagementState({})
}
if (isNotEmptyArray(res.data.planList)) {
setPlanGridProps({ ...planGridProps, planGridData: res.data.planList })
@@ -299,7 +300,7 @@ export default function StuffDetail() {
setPlanGridProps({ ...planGridProps, planGridData: [] })
}
} else {
- setDetailData({})
+ setManagementState({})
setPlanGridProps({ ...planGridProps, planGridData: [] })
}
})
@@ -415,7 +416,7 @@ export default function StuffDetail() {
}, [commonCode])
useEffect(() => {
- if (isObjectNotEmpty(detailData)) {
+ if (isObjectNotEmpty(managementState)) {
// ๋๋๋ถํAPI
get({ url: '/api/object/prefecture/list' }).then((res) => {
if (!isEmptyArray(res)) {
@@ -449,18 +450,17 @@ export default function StuffDetail() {
setFavoriteStoreList(favList)
setShowSaleStoreList(favList)
- if (detailData.firstAgentId != null) {
- form.setValue('saleStoreId', detailData.firstAgentId)
- setSelOptions(detailData.firstAgentId)
+ if (managementState.firstAgentId != null) {
+ form.setValue('saleStoreId', managementState.firstAgentId)
+ setSelOptions(managementState.firstAgentId)
} else {
- form.setValue('saleStoreId', detailData.saleStoreId)
- setSelOptions(detailData.saleStoreId)
+ form.setValue('saleStoreId', managementState.saleStoreId)
+ setSelOptions(managementState.saleStoreId)
}
//์์ธ๋ฐ์ดํฐ์ 1์ฐจ์ ์์ด๋๋ก 2์ฐจ์ ๋ชฉ๋ก ์กฐํํ๊ธฐ
- let data = detailData?.firstAgentId ? detailData.firstAgentId : detailData.saleStoreId
- // url = `/api/object/saleStore/${session?.storeId}/list?firstFlg=0&userId=${session?.userId}`
+ let data = managementState?.firstAgentId ? managementState.firstAgentId : managementState.saleStoreId
url = `/api/object/saleStore/${data}/list?firstFlg=0&userId=${session?.userId}`
get({ url: url }).then((res) => {
@@ -502,74 +502,74 @@ export default function StuffDetail() {
//์์ธ๋ฐ์ดํฐ๊ฐ 1์ฐจ์ ์ด๋ฉด 1์ฐจ์ ์ ์ธํ
//์์ธ๋ฐ์ดํฐ๊ฐ 2์ฐจ์ ์ด๋ฉด 2์ฐจ์ ์ ์ธํ
ํ๊ณ ์ธ์
์ผ๋ก 1์ฐจ์ ์ธํ
- if (detailData.saleStoreLevel === '1') {
- setSelOptions(detailData.saleStoreId)
- form.setValue('saleStoreId', detailData.saleStoreId)
- form.setValue('saleStoreLevel', detailData.saleStoreLevel)
+ if (managementState.saleStoreLevel === '1') {
+ setSelOptions(managementState.saleStoreId)
+ form.setValue('saleStoreId', managementState.saleStoreId)
+ form.setValue('saleStoreLevel', managementState.saleStoreLevel)
} else {
- setOtherSelOptions(detailData.saleStoreId)
- form.setValue('otherSaleStoreId', detailData.saleStoreId)
- form.setValue('otherSaleStoreLevel', detailData.saleStoreLevel)
+ setOtherSelOptions(managementState.saleStoreId)
+ form.setValue('otherSaleStoreId', managementState.saleStoreId)
+ form.setValue('otherSaleStoreLevel', managementState.saleStoreLevel)
form.setValue('saleStoreLevel', '1')
}
//์ค๊ณ์๋ขฐNo.
- form.setValue('planReqNo', detailData.planReqNo)
+ form.setValue('planReqNo', managementState.planReqNo)
//๋ด๋น์
- form.setValue('receiveUser', detailData.receiveUser)
+ form.setValue('receiveUser', managementState.receiveUser)
//๋ฌผ๊ฑด๊ตฌ๋ถobjectStatusId
- setSelectObjectStatusId(detailData.objectStatusId)
- form.setValue('objectStatusId', detailData.objectStatusId)
+ setSelectObjectStatusId(managementState.objectStatusId)
+ form.setValue('objectStatusId', managementState.objectStatusId)
//๋ฌผ๊ฑด๋ช
- form.setValue('objectName', detailData.objectName)
+ form.setValue('objectName', managementState.objectName)
//๊ฒฝ์นญ์ฝ๋
- setSelHonorificCode(detailData.objectNameOmit)
- form.setValue('objectNameOmit', detailData.objectNameOmit)
+ setSelHonorificCode(managementState.objectNameOmit)
+ form.setValue('objectNameOmit', managementState.objectNameOmit)
//๋ฌผ๊ฑด๋ช
ํ๋ฆฌ๊ฐ๋
- form.setValue('objectNameKana', detailData.objectNameKana)
+ form.setValue('objectNameKana', managementState.objectNameKana)
//์ฐํธ๋ฒํธ
- form.setValue('zipNo', detailData.zipNo)
+ form.setValue('zipNo', managementState.zipNo)
//๋๋๋ถํ / ์ฃผ์
- setPrefValue(detailData.prefId)
- form.setValue('prefId', detailData.prefId)
- form.setValue('prefName', detailData.prefName)
- form.setValue('address', detailData.address)
+ setPrefValue(managementState.prefId)
+ form.setValue('prefId', managementState.prefId)
+ form.setValue('prefName', managementState.prefName)
+ form.setValue('address', managementState.address)
//๋ฐ์ ์๋ฎฌ
- form.setValue('areaId', detailData.areaId)
+ form.setValue('areaId', managementState.areaId)
//๊ธฐ์คํ์
- form.setValue('standardWindSpeedId', detailData.standardWindSpeedId)
+ form.setValue('standardWindSpeedId', managementState.standardWindSpeedId)
//์์ง์ ์ค๋
- form.setValue('verticalSnowCover', detailData.verticalSnowCover)
+ form.setValue('verticalSnowCover', managementState.verticalSnowCover)
//ํ๋ญ์ง๋์ฑ
์ํ coldRegionFlg 1์ด๋ฉด true
- form.setValue('coldRegionFlg', detailData.coldRegionFlg === '1' ? true : false)
+ form.setValue('coldRegionFlg', managementState.coldRegionFlg === '1' ? true : false)
//๋ฉด์กฐ๋๊ตฌ๋ถ surfaceType null๋ก ๋ด๋ ค์ค๋ฉด ์
ํ
์ํ๊ณ ์ ์ฅํ ๋ ํ์๊ฐ ์ฒดํฌํ๋๋ก
// form.setValue('surfaceType', 'โ
ก')
// form.setValue('surfaceType', 'โ
ขใปโ
ฃ')
- form.setValue('surfaceType', detailData.surfaceType)
+ form.setValue('surfaceType', managementState.surfaceType)
//์ผํด์ง์ญ์ฉ์์ดํ
์ฌ์ฉ saltAreaFlg 1์ด๋ฉด true
- form.setValue('saltAreaFlg', detailData.saltAreaFlg === '1' ? true : false)
+ form.setValue('saltAreaFlg', managementState.saltAreaFlg === '1' ? true : false)
//์ค์น๋์ด
- form.setValue('installHeight', detailData.installHeight)
+ form.setValue('installHeight', managementState.installHeight)
//๊ณ์ฝ์กฐ๊ฑด null๋ก ๋ด๋ ค์ค๋ฉด 0์ผ๋ก ๋ํดํธ์
ํ
- if (detailData.conType === null) {
+ if (managementState.conType === null) {
form.setValue('conType', '0')
} else {
- form.setValue('conType', detailData.conType)
+ form.setValue('conType', managementState.conType)
}
//๋ฉ๋ชจ
- form.setValue('remarks', detailData.remarks)
+ form.setValue('remarks', managementState.remarks)
})
}
- }, [detailData, session])
+ }, [managementState, session])
//๊ฒฝ์นญ์ ํ ๋ณ๊ฒฝ ์ด๋ฒคํธ
const onChangeHonorificCode = (key) => {
@@ -1189,9 +1189,9 @@ export default function StuffDetail() {
return alert(getMessage('stuff.detail.save.valierror2'))
}
- let detail_sort = Object.keys(detailData)
+ let detail_sort = Object.keys(managementState)
.sort()
- .reduce((obj, key) => ((obj[key] = detailData[key]), obj), {})
+ .reduce((obj, key) => ((obj[key] = managementState[key]), obj), {})
let params_sort = Object.keys(params)
.sort()
.reduce((obj, key) => ((obj[key] = params[key]), obj), {})
@@ -1313,7 +1313,7 @@ export default function StuffDetail() {
// ๋ฌผ๊ฑด์ญ์
const onDelete = () => {
- const specificationConfirmDate = detailData.specificationConfirmDate
+ const specificationConfirmDate = managementState.specificationConfirmDate
if (specificationConfirmDate != null) {
alert(getMessage('stuff.detail.delete.message1'))
} else {
@@ -1860,8 +1860,7 @@ export default function StuffDetail() {
- {/* {detailData?.tempFlg === '0' ? ( */}
- {detailData?.tempFlg === '0' ? (
+ {managementState?.tempFlg === '0' ? (
<>
{/* ์ง์งR ํ๋์์ */}
@@ -2355,7 +2359,7 @@ export default function StuffDetail() {
-
{getMessage('stuff.detail.planList.cnt')}
- {detailData.planList?.length}
+ {managementState.planList?.length}
diff --git a/src/components/management/StuffHeader.jsx b/src/components/management/StuffHeader.jsx
index d7e3246d..f32c971c 100644
--- a/src/components/management/StuffHeader.jsx
+++ b/src/components/management/StuffHeader.jsx
@@ -1,40 +1,21 @@
'use client'
-import React, { useState, useEffect } from 'react'
-import { useAxios } from '@/hooks/useAxios'
-import { useRouter, useSearchParams } from 'next/navigation'
-import { globalLocaleStore } from '@/store/localeAtom'
-import { useRecoilValue } from 'recoil'
+import { useContext } from 'react'
import { useMessage } from '@/hooks/useMessage'
import dayjs from 'dayjs'
-
+import { ManagementContext } from '@/app/management/ManagementProvider'
export default function StuffHeader() {
const { getMessage } = useMessage()
- const router = useRouter()
- const searchParams = useSearchParams()
- const objectNo = searchParams.get('objectNo') //url์์ ๋ฌผ๊ฑด๋ฒํธ ๊บผ๋ด์ ๋ฐ๋ก set
- const globalLocaleState = useRecoilValue(globalLocaleStore)
- const { get } = useAxios(globalLocaleState)
- const [headerData, setHeaderData] = useState({})
- useEffect(() => {
- get({ url: `/api/object/${objectNo}/detail` }).then((res) => {
- if (res != null && res != '') {
- setHeaderData(res)
- } else {
- alert(getMessage('stuff.detail.header.message1'))
- router.push('/management/stuff')
- }
- })
- }, [objectNo])
+ const { managementState } = useContext(ManagementContext)
//๋ฌผ๊ฑด๋ฒํธ ๋ณต์ฌ
const copyObjectNo = async (objectNo) => {
await navigator.clipboard.writeText(objectNo)
- alert(getMessage('stuff.detail.header.message2'))
+ alert(getMessage('stuff.detail.header.successCopy'))
try {
} catch (error) {
- alert(getMessage('stuff.detail.header.message3'))
+ alert(getMessage('stuff.detail.header.failCopy'))
}
}
@@ -43,31 +24,31 @@ export default function StuffHeader() {
{getMessage('stuff.detail.header.objectNo')}
- {headerData.objectNo}{' '}
+ {managementState?.objectNo}{' '}
{getMessage('stuff.detail.header.specificationConfirmDate')}
- {headerData.specificationConfirmDate}
+ {managementState?.specificationConfirmDate}
{getMessage('stuff.detail.header.lastEditDatetime')}
- {headerData?.lastEditDatetime ? `${dayjs(headerData.lastEditDatetime).format('YYYY.MM.DD HH:mm:ss')}` : ''}{' '}
- {headerData?.lastEditUserName ? `(${headerData.lastEditUserName})` : null}
+ {managementState?.lastEditDatetime ? `${dayjs(managementState.lastEditDatetime).format('YYYY.MM.DD HH:mm:ss')}` : ''}{' '}
+ {managementState?.lastEditUserName ? `(${managementState.lastEditUserName})` : null}
{getMessage('stuff.detail.header.createDatetime')}
- {headerData?.createDatetime ? `${dayjs(headerData.lastEditDatetime).format('YYYY.MM.DD')}` : ''}{' '}
- {headerData?.createUserName ? `(${headerData.createUserName})` : null}
+ {managementState?.createDatetime ? `${dayjs(managementState.lastEditDatetime).format('YYYY.MM.DD')}` : ''}{' '}
+ {managementState?.createUserName ? `(${managementState.createUserName})` : null}
diff --git a/src/components/management/StuffSearchCondition.jsx b/src/components/management/StuffSearchCondition.jsx
index f82d83f3..6a16695a 100644
--- a/src/components/management/StuffSearchCondition.jsx
+++ b/src/components/management/StuffSearchCondition.jsx
@@ -223,10 +223,6 @@ export default function StuffSearchCondition() {
}
})
}
- // setStuffSearch({
- // ...stuffSearch,
- // code: 'S',
- // })
} else {
if (session?.storeLvl === '1') {
allList = res
diff --git a/src/hooks/floorPlan/estimate/useEstimateController.js b/src/hooks/floorPlan/estimate/useEstimateController.js
index 06f3d4b4..4330a208 100644
--- a/src/hooks/floorPlan/estimate/useEstimateController.js
+++ b/src/hooks/floorPlan/estimate/useEstimateController.js
@@ -29,8 +29,8 @@ const defaultEstimateData = {
}
// Helper functions
-const updateItemInList = (itemList, itemId, updates) => {
- return itemList.map((item) => (item.itemId === itemId ? { ...item, ...updates } : item))
+const updateItemInList = (itemList, dispOrder, updates) => {
+ return itemList.map((item) => (item.dispOrder === dispOrder ? { ...item, ...updates } : item))
}
export const useEstimateController = (planNo) => {
@@ -69,9 +69,9 @@ export const useEstimateController = (planNo) => {
}
}
- const updateItem = (itemId, updates) => {
+ const updateItem = (dispOrder, updates) => {
setState({
- itemList: updateItemInList(state.itemList, itemId, updates),
+ itemList: updateItemInList(state.itemList, dispOrder, updates),
})
}
@@ -85,14 +85,16 @@ export const useEstimateController = (planNo) => {
planNo: planNo,
dispOrder: newItemDispOrder.toString(),
itemId: '', //์ ํ๋ฒํธ
- itemNo: '', //ํ๋ช
- itemName: '',
+ itemNo: '',
+ itemName: '', //ํ๋ช
amount: '', //์๋
unitPrice: '0',
unit: '', //๋จ์
salePrice: '0', //๋จ๊ฐ
saleTotPrice: '0', //๊ธ์ก(๋ถ๊ฐ์ธ๋ณ๋)
itemChangeFlg: '1', //์ถ๊ฐ์ ์ฒด์ธ์งํ๋๊ทธ 1๋ก
+ partAdd: '1', //NEW ์ฒด์ธ์ง ํ๋๊ทธ
+ delFlg: '0', //์ญ์ ํ๋๊ทธ 0 ์ญ์ ํ๋ฉด 1
},
],
})
@@ -102,34 +104,61 @@ export const useEstimateController = (planNo) => {
setEstimateData({ ...state, userId: session.userId, sapSalesStoreCd: session.custCd })
}, [state])
+ // ์ฒจ๋ถํ์ผ ๋ค์ด๋ก๋
+ const handleEstimateFileDownload = async (originFile) => {
+ const options = { responseType: 'blob' }
+
+ await promisePost({ url: `/api/file/fileDownload`, data: originFile, option: options })
+ .then((resultData) => {
+ if (resultData) {
+ const blob = new Blob([resultData.data], { type: resultData.headers['content-type'] || 'application/octet-stream' })
+ const fileUrl = window.URL.createObjectURL(blob)
+ const link = document.createElement('a')
+
+ link.href = fileUrl
+ link.download = originFile.faileName
+ document.body.appendChild(link)
+ link.click()
+ link.remove()
+ window.URL.revokeObjectURL(fileUrl)
+ }
+ })
+ .catch((error) => {
+ console.log('::FileDownLoad Error::', error)
+ alert('File does not exist.')
+ })
+ }
+
//๊ฒฌ์ ์ ์ ์ฅ
const handleEstimateSubmit = async () => {
//0. ํ์์ฒดํฌ
let flag = true
console.log('::๋ด๊ธด estimateData:::', estimateData)
-
+ // console.log('์ฒจ๋ถํ์ผ:::::', estimateData.fileList)
+ //์ฒจ๋ถํ์ผ์ ์ฒจ๋ถ์ํ๋๋ฐ
//์์ดํ
fileUploadFlg๊ฐ1(์ฒจ๋ถํ์ผ ํ์)์ด 1๊ฐ๋ผ๋ ์๋๋ฐ ํ์ผ ์๋ฃ ์ ์ถ(fileFlg) ์ฒดํฌ์ํ์ผ๋ฉด(0) alert ์ ์ฅ์๋ผ
- if (estimateData.itemList.length > 1) {
- estimateData.itemList.map((row) => {
- if (row.fileUploadFlg === '1') {
- if (estimateData.fileFlg === '0') {
- alert(getMessage('estimate.detail.save.requiredMsg'))
- flag = false
+ if (estimateData.fileList.length < 1) {
+ if (estimateData.itemList.length > 1) {
+ estimateData.itemList.map((row) => {
+ if (row.fileUploadFlg === '1') {
+ if (estimateData.fileFlg === '0') {
+ alert(getMessage('estimate.detail.save.requiredMsg'))
+ flag = false
+ }
}
- }
- })
+ })
+ }
}
+
if (flag) {
//1. ์ฒจ๋ถํ์ผ ์ ์ฅ
const formData = new FormData()
+ console.log('์ฒจ๋ถํ์ผ:!!!', estimateData.fileList)
formData.append('file', estimateData.fileList)
formData.append('objectNo', estimateData.objectNo)
formData.append('planNo', estimateData.planNo)
formData.append('category', '10')
formData.append('userId', estimateData.userId)
- // for (const value of formData.values()) {
- // console.log('formData::', value)
- // }
await post({ url: '/api/file/fileUpload', data: formData })
@@ -162,5 +191,6 @@ export const useEstimateController = (planNo) => {
addItem,
handleEstimateSubmit,
fetchSetting,
+ handleEstimateFileDownload,
}
}
diff --git a/src/locales/ja.json b/src/locales/ja.json
index 97d3f599..fad3e4df 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -616,9 +616,9 @@
"stuff.planReqPopup.title": "่จญ่จไพ้ ผใฎใคใณใใผใ",
"stuff.temp.subTitle": "ๅๅๆ
ๅ ฑ",
"stuff.temp.subTitle2": "ไฝๅณ",
- "stuff.detail.header.message1": "ๅญๅจใใชใใใฎใงใใ",
- "stuff.detail.header.message2": "ๅๅ็ชๅทใใณใใผใใใพใใใ",
- "stuff.detail.header.message3": "ๅญๅจใใชใใใฎใงใใ",
+ "stuff.detail.header.notExistObjectNo": "ๅญๅจใใชใใใฎใงใใ",
+ "stuff.detail.header.successCopy": "ๅๅ็ชๅทใใณใใผใใใพใใใ",
+ "stuff.detail.header.failCopy": "ๅญๅจใใชใใใฎใงใใ",
"stuff.detail.header.objectNo": "ๅๅ็ชๅทใฎใณใใผใซๅคฑๆใใพใใใ",
"stuff.detail.header.specificationConfirmDate": "ไปๆงๆกๅผตๆฅ",
"stuff.detail.header.lastEditDatetime": "ๆดๆฐๆฅๆ",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 2d42a11c..1220279b 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -626,9 +626,9 @@
"stuff.planReqPopup.title": "์ค๊ณ์๋ขฐ ๋ถ๋ฌ์ค๊ธฐ",
"stuff.temp.subTitle": "๋ฌผ๊ฑด์ ๋ณด",
"stuff.temp.subTitle2": "๋๋ฉด์์ฑ",
- "stuff.detail.header.message1": "์กด์ฌํ์ง ์๋ ๋ฌผ๊ฑด์
๋๋ค.",
- "stuff.detail.header.message2": "๋ฌผ๊ฑด๋ฒํธ๊ฐ ๋ณต์ฌ๋์์ต๋๋ค.",
- "stuff.detail.header.message3": "๋ฌผ๊ฑด๋ฒํธ ๋ณต์ฌ์ ์คํจํ์ต๋๋ค.",
+ "stuff.detail.header.notExistObjectNo": "์กด์ฌํ์ง ์๋ ๋ฌผ๊ฑด์
๋๋ค.",
+ "stuff.detail.header.successCopy": "๋ฌผ๊ฑด๋ฒํธ๊ฐ ๋ณต์ฌ๋์์ต๋๋ค.",
+ "stuff.detail.header.failCopy": "๋ฌผ๊ฑด๋ฒํธ ๋ณต์ฌ์ ์คํจํ์ต๋๋ค.",
"stuff.detail.header.objectNo": "๋ฌผ๊ฑด๋ฒํธ",
"stuff.detail.header.specificationConfirmDate": "์ฌ์ํ์ฅ์ผ",
"stuff.detail.header.lastEditDatetime": "๊ฐฑ์ ์ผ์",
|