diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx
index 749892e4..14285f61 100644
--- a/src/components/estimate/Estimate.jsx
+++ b/src/components/estimate/Estimate.jsx
@@ -569,6 +569,20 @@ export default function Estimate({ params }) {
}
}, [itemChangeYn, state.itemList])
+ //안건명 인풋 변경
+ const handleBlurObjectName = (e) => {
+ setState({ objectName: e.target.value })
+ }
+
+ //담당자 인풋 변경
+ const handleBlurCharger = (e) => {
+ setState({ charger: e.target.value })
+ }
+
+ useEffect(() => {
+ console.log('상세정보???????????', state)
+ console.log('업뎃날짜시간???????????', state.lastEditDatetime)
+ }, [state])
return (
@@ -594,7 +608,8 @@ export default function Estimate({ params }) {
{getMessage('estimate.detail.lastEditDatetime')}
-
{state?.lastEditDatetime ? `${dayjs(state.lastEditDatetime).format('YYYY.MM.DD HH:mm')}` : ''}
+ {/*
{state?.lastEditDatetime ? `${dayjs(state.lastEditDatetime).format('YYYY.MM.DD HH:mm')}` : ''}
*/}
+
{state?.lastEditDatetime ? `${dayjs(state?.lastEditDatetime).format('HH:mm:ss')}` : ''}
@@ -645,10 +660,11 @@ export default function Estimate({ params }) {
type="text"
className="input-light"
defaultValue={state?.charger}
- onChange={(e) => {
- //담당자 charger
- setState({ charger: e.target.value })
- }}
+ // onChange={(e) => {
+ // //담당자 charger
+ // setState({ charger: e.target.value })
+ // }}
+ onBlur={handleBlurCharger}
/>
@@ -665,10 +681,11 @@ export default function Estimate({ params }) {
type="text"
className="input-light"
defaultValue={state?.objectName}
- onChange={(e) => {
- //안건명 objectName
- setState({ objectName: e.target.value })
- }}
+ // onChange={(e) => {
+ // //안건명 objectName
+ // setState({ objectName: e.target.value })
+ // }}
+ onBlur={handleBlurObjectName}
/>
@@ -688,7 +705,7 @@ export default function Estimate({ params }) {
}}
getOptionLabel={(x) => x.clCodeNm}
getOptionValue={(x) => x.clCode}
- isClearable={true}
+ isClearable={false}
isSearchable={false}
value={honorificCodeList.filter(function (option) {
return option.clCodeNm === state.objectNameOmit
diff --git a/src/hooks/floorPlan/estimate/useEstimateController.js b/src/hooks/floorPlan/estimate/useEstimateController.js
index e3883125..7def3c44 100644
--- a/src/hooks/floorPlan/estimate/useEstimateController.js
+++ b/src/hooks/floorPlan/estimate/useEstimateController.js
@@ -47,6 +47,7 @@ export const useEstimateController = (planNo) => {
const [isLoading, setIsLoading] = useState(false)
const [state, setState] = useReducer(reducer, defaultEstimateData)
+ const [newState, setNewState] = useState({})
useEffect(() => {
if (planNo && !isLoading) {
@@ -66,7 +67,8 @@ export const useEstimateController = (planNo) => {
item.delFlg = '0'
})
}
-
+ console.log('조회 결과::::', res)
+ console.log('수정일::::', res.lastEditDatetime)
setState(res)
}
})
@@ -142,24 +144,41 @@ export const useEstimateController = (planNo) => {
const handleEstimateSubmit = async () => {
//0. 필수체크
let flag = true
+ if (estimateData.charger.trim().length === 0) {
+ flag = false
+ return alert(getMessage('estimate.detail.save.requiredCharger'))
+ }
+
+ if (estimateData.objectName.trim().length === 0) {
+ flag = false
+ return alert(getMessage('estimate.detail.save.requiredObjectName'))
+ }
+
+ if (isNaN(Date.parse(estimateData.estimateDate))) {
+ flag = false
+ return alert(getMessage('estimate.detail.save.requiredEstimateDate'))
+ }
// console.log('첨부파일:::::', estimateData.fileList)
//첨부파일을 첨부안했는데
//아이템 fileUploadFlg가1(첨부파일 필수)이 1개라도 있는데 후일 자료 제출(fileFlg) 체크안했으면(0) alert 저장안돼
+ let fileFlg = true
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 (fileFlg) {
+ if (estimateData.fileFlg === '0') {
+ fileFlg = false
+ return alert(getMessage('estimate.detail.save.requiredFileUpload'))
+ }
}
}
})
}
}
- if (flag) {
+ if (flag && fileFlg) {
//1. 첨부파일 저장시작
const formData = new FormData()
formData.append('file', estimateData.fileList)
@@ -184,8 +203,7 @@ export const useEstimateController = (planNo) => {
return alert(getMessage('estimate.detail.save.requiredItem'))
}
- // console.log('최종 남은 아이템정보:::', estimateData.itemList)
- console.log('최종 정보::;', estimateData)
+ // console.log('최종 정보::;', estimateData)
//2. 상세데이터 저장
// return
diff --git a/src/locales/ja.json b/src/locales/ja.json
index d1d56038..7bda9175 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -887,8 +887,11 @@
"estimate.detail.productFeaturesPopup.requiredStoreId": "一次販売店は必須です.",
"estimate.detail.productFeaturesPopup.requiredReceiveUser": "担当者は必須です.",
"estimate.detail.save.alertMsg": "保存されている見積書で製品を変更した場合、図面や回路には反映されません.",
- "estimate.detail.save.requiredMsg": "ファイル添付が必須のアイテムがあります。ファイルを添付するか、後日添付をチェックしてください.",
+ "estimate.detail.save.requiredFileUpload": "ファイル添付が必須のアイテムがあります。ファイルを添付するか、後日添付をチェックしてください.",
"estimate.detail.save.requiredItem": "製品は1つ以上登録する必要があります.",
+ "estimate.detail.save.requiredCharger": "担当者は必須です.",
+ "estimate.detail.save.requiredObjectName": "案件名は必須です.",
+ "estimate.detail.save.requiredEstimateDate": "見積日は必須です.",
"estimate.detail.reset.confirmMsg": "保存した見積書情報が初期化され、図面情報が反映されます。本当に初期化しますか?",
"simulator.title.sub1": "物件番号",
"simulator.title.sub2": "作成日",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 5ed1f4fc..54f672a5 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -897,8 +897,11 @@
"estimate.detail.productFeaturesPopup.requiredStoreId": "1차 판매점은 필수값 입니다.",
"estimate.detail.productFeaturesPopup.requiredReceiveUser": "담당자는 필수값 입니다.",
"estimate.detail.save.alertMsg": "저장되었습니다. 견적서에서 제품을 변경할 경우, 도면 및 회로에 반영되지 않습니다.",
- "estimate.detail.save.requiredMsg": "파일첨부가 필수인 아이템이 있습니다. 파일을 첨부하거나 후일첨부를 체크해주십시오.",
+ "estimate.detail.save.requiredFileUpload": "파일첨부가 필수인 아이템이 있습니다. 파일을 첨부하거나 후일첨부를 체크해주십시오.",
"estimate.detail.save.requiredItem": "제품은 1개이상 등록해야 됩니다.",
+ "estimate.detail.save.requiredCharger": "담당자는 필수값 입니다.",
+ "estimate.detail.save.requiredObjectName": "안건명은 필수값 입니다.",
+ "estimate.detail.save.requiredEstimateDate": "견적일은 필수값 입니다.",
"estimate.detail.reset.confirmMsg": "저장된 견적서 정보가 초기화되고, 도면정보가 반영됩니다. 정말로 초기화 하시겠습니까?",
"simulator.title.sub1": "물건번호",
"simulator.title.sub2": "작성일",