diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx index 87aa3397..442c597b 100644 --- a/src/components/estimate/Estimate.jsx +++ b/src/components/estimate/Estimate.jsx @@ -539,7 +539,7 @@ export default function Estimate({ params }) { return (
{row.codeNm}
-
{row.remarks}
+
) } diff --git a/src/components/estimate/popup/DocDownOptionPop.jsx b/src/components/estimate/popup/DocDownOptionPop.jsx new file mode 100644 index 00000000..0c859c59 --- /dev/null +++ b/src/components/estimate/popup/DocDownOptionPop.jsx @@ -0,0 +1,255 @@ +'use client' +import { useState } from 'react' +import { useMessage } from '@/hooks/useMessage' +import { useAxios } from '@/hooks/useAxios' +import { useRecoilValue } from 'recoil' +import { floorPlanObjectState } from '@/store/floorPlanObjectAtom' + +export default function DocDownOptionPop({ planNo, setEstimatePopupOpen }) { + // console.log('플랜번호::::::::::::', planNo) + const { getMessage } = useMessage() + const { promiseGet } = useAxios() + + //다운로드 파일 EXCEL + const [schUnitPriceFlg, setSchUnitPriceFlg] = useState('0') + + //견적제출서 표시명 + const [schDisplayFlg, setSchSchDisplayFlg] = useState('0') + //가대 중량표 포함 + const [schWeightFlg, setSchWeightFlg] = useState('0') + //도면/시뮬레이션 파일 포함 + const [schDrawingFlg, setSchDrawingFlg] = useState('0') + + // recoil 물건번호 + const objectRecoil = useRecoilValue(floorPlanObjectState) + + //문서 다운로드 + const handleFileDown = async () => { + // console.log('물건번호:::', objectRecoil.floorPlanObjectNo) + // console.log('planNo::', planNo) + // 고른 옵션값들 + //0 : 견적가 Excel 1 : 정가용Excel 2: 견적가 PDF 3 :정가용PDF + // console.log(schUnitPriceFlg) + // console.log(schDisplayFlg) + // console.log(schWeightFlg) + // console.log(schDrawingFlg) + const url = '/api/estimate/excel-download' + const params = {} + const options = { responseType: 'blob' } + } + + return ( +
+
+
+
+

{getMessage('estimate.detail.docPopup.title')}

+ +
+
+
+
{getMessage('estimate.detail.docPopup.explane')}
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ {getMessage('estimate.detail.docPopup.schUnitPriceFlg')} + * + +
+
+ { + setSchUnitPriceFlg(e.target.value) + }} + /> + +
+
+ { + setSchUnitPriceFlg(e.target.value) + }} + /> + +
+
+ { + setSchUnitPriceFlg(e.target.value) + }} + /> + +
+
+ { + setSchUnitPriceFlg(e.target.value) + }} + /> + +
+
+
+ {getMessage('estimate.detail.docPopup.schDisplayFlg')} * + +
+
+ { + setSchSchDisplayFlg(e.target.value) + }} + /> + +
+
+ { + setSchSchDisplayFlg(e.target.value) + }} + /> + +
+
+
+ {getMessage('estimate.detail.docPopup.schWeightFlg')} * + +
+
+ { + setSchWeightFlg(e.target.value) + }} + /> + +
+
+ { + setSchWeightFlg(e.target.value) + }} + /> + +
+
+
{getMessage('estimate.detail.docPopup.schDrawingFlg')} +
+
+ { + setSchDrawingFlg(e.target.value) + }} + /> + +
+
+ { + setSchDrawingFlg(e.target.value) + }} + /> + +
+
+
+
+
+
+ + +
+
+
+
+
+ ) +} diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index e3da458c..e544dbec 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -34,6 +34,7 @@ import { MENU } from '@/common/common' import { useEstimateController } from '@/hooks/floorPlan/estimate/useEstimateController' import { estimateState } from '@/store/floorPlanObjectAtom' +import DocDownOptionPop from '../estimate/popup/DocDownOptionPop' export default function CanvasMenu(props) { const { menuNumber, setMenuNumber } = props @@ -54,8 +55,10 @@ export default function CanvasMenu(props) { const canvas = useRecoilValue(canvasState) const { handleZoomClear, handleZoom } = useCanvasEvent() const { handleMenu } = useMenu() + const { handleEstimateSubmit } = useEstimateController() const estimateRecoilState = useRecoilValue(estimateState) + const [estimatePopupOpen, setEstimatePopupOpen] = useState(false) const { getMessage } = useMessage() const { currentCanvasPlan, saveCanvas } = usePlan() @@ -262,7 +265,7 @@ export default function CanvasMenu(props) { {menuNumber === 5 && ( <>
- @@ -313,6 +316,8 @@ export default function CanvasMenu(props) {
{(menuNumber === 2 || menuNumber === 3 || menuNumber === 4) && }
+ {/* 견적서(menuNumber=== 5) 상세화면인경우 문서다운로드 팝업 */} + {estimatePopupOpen && }
) } diff --git a/src/locales/ja.json b/src/locales/ja.json index b5636db5..6fe9444d 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -850,6 +850,24 @@ "estimate.detail.itemTableHeader.col5": "単位", "estimate.detail.itemTableHeader.col6": "単価", "estimate.detail.itemTableHeader.col7": "金額 (税別別)", + "estimate.detail.docPopup.title": "ドキュメントダウンロードオプションの設定", + "estimate.detail.docPopup.explane": "ダウンロードする文書のオプションを選択したら、 [文書のダウンロード]ボタンをクリックします.", + "estimate.detail.docPopup.schUnitPriceFlg": "ダウンロードファイル", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg0": "見積もり Excel", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg1": "定価用 Excel", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg2": "見積もり PDF", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg3": "定価用 PDF", + "estimate.detail.docPopup.schDisplayFlg": "見積提出先表示名", + "estimate.detail.docPopup.schDisplayFlg.schDisplayFlg0": "販売店名", + "estimate.detail.docPopup.schDisplayFlg.schDisplayFlg1": "案件名", + "estimate.detail.docPopup.schWeightFlg": "架台重量表を含む", + "estimate.detail.docPopup.schWeightFlg.schWeightFlg0": "含む", + "estimate.detail.docPopup.schWeightFlg.schWeightFlg1": "含まない", + "estimate.detail.docPopup.schDrawingFlg": "図面/シミュレーションファイルを含む", + "estimate.detail.docPopup.schDrawingFlg.schDrawingFlg0": "含む", + "estimate.detail.docPopup.schDrawingFlg.schDrawingFlg1": "含まない", + "estimate.detail.docPopup.close": "閉じる", + "estimate.detail.docPopup.docDownload": "文書のダウンロード", "estimate.detail.save.alertMsg": "保存されている見積書で製品を変更した場合、図面や回路には反映されません.", "estimate.detail.save.requiredMsg": "ファイル添付が必須のアイテムがあります。ファイルを添付するか、後日添付をチェックしてください.", "estimate.detail.reset.confirmMsg": "保存した見積書情報が初期化され、図面情報が反映されます。本当に初期化しますか?" diff --git a/src/locales/ko.json b/src/locales/ko.json index 60dc6279..f8d6d28b 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -856,6 +856,24 @@ "estimate.detail.itemTableHeader.col5": "단위", "estimate.detail.itemTableHeader.col6": "단가", "estimate.detail.itemTableHeader.col7": "금액(부가세별도)", + "estimate.detail.docPopup.title": "문서다운로드 옵션설정", + "estimate.detail.docPopup.explane": "다운로드할 문서 옵션을 선택한 후 문서 다운로드 버튼을 클릭합니다.", + "estimate.detail.docPopup.schUnitPriceFlg": "다운로드 파일", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg0": "견적가 Excel", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg1": "정가용 Excel", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg2": "견적가 PDF", + "estimate.detail.docPopup.schUnitPriceFlg.schUnitPriceFlg3": "정가용 PDF", + "estimate.detail.docPopup.schDisplayFlg": "견적제출서 표시명", + "estimate.detail.docPopup.schDisplayFlg.schDisplayFlg0": "판매점명", + "estimate.detail.docPopup.schDisplayFlg.schDisplayFlg1": "안건명", + "estimate.detail.docPopup.schWeightFlg": "가대 중량표 포함", + "estimate.detail.docPopup.schWeightFlg.schWeightFlg0": "포함", + "estimate.detail.docPopup.schWeightFlg.schWeightFlg1": "미포함", + "estimate.detail.docPopup.schDrawingFlg": "도면/시뮬레이션 파일 포함", + "estimate.detail.docPopup.schDrawingFlg.schDrawingFlg0": "포함", + "estimate.detail.docPopup.schDrawingFlg.schDrawingFlg1": "미포함", + "estimate.detail.docPopup.close": "닫기", + "estimate.detail.docPopup.docDownload": "문서 다운로드", "estimate.detail.save.alertMsg": "저장되었습니다. 견적서에서 제품을 변경할 경우, 도면 및 회로에 반영되지 않습니다.", "estimate.detail.save.requiredMsg": "파일첨부가 필수인 아이템이 있습니다. 파일을 첨부하거나 후일첨부를 체크해주십시오.", "estimate.detail.reset.confirmMsg": "저장된 견적서 정보가 초기화되고, 도면정보가 반영됩니다. 정말로 초기화 하시겠습니까?"