From e460f7daaee0330d78c9518f3046e190b5720526 Mon Sep 17 00:00:00 2001 From: changkyu choi Date: Mon, 20 Jan 2025 11:27:26 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=EC=B9=98=EB=A9=B4=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B0=8F=20Canvas=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=B4=88=EA=B8=B0=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/floor-plan/FloorPlan.jsx | 5 ++-- src/hooks/option/useCanvasSetting.js | 31 +++++++++++++------------ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/components/floor-plan/FloorPlan.jsx b/src/components/floor-plan/FloorPlan.jsx index 0769af0a..a2e92bf2 100644 --- a/src/components/floor-plan/FloorPlan.jsx +++ b/src/components/floor-plan/FloorPlan.jsx @@ -15,7 +15,7 @@ export default function FloorPlan({ children }) { //const [correntObjectNo, setCorrentObjectNo] = useRecoilState(correntObjectNoState) const { closeAll } = usePopup() const { menuNumber, setMenuNumber } = useCanvasMenu() - const { fetchSettings } = useCanvasSetting() + const { fetchSettings, fetchBasicSettings } = useCanvasSetting() const modalProps = { menuNumber, @@ -26,7 +26,8 @@ export default function FloorPlan({ children }) { ///setCorrentObjectNo(floorPlanState.objectNo) //console.log('FloorPlan objectNo ', floorPlanState.objectNo, correntObjectNo) setMenuNumber(1) - fetchSettings() + fetchSettings() // Canvas 설정 정보 조회 + fetchBasicSettings() // 기본 설정 정보 조회 return () => { closeAll() } diff --git a/src/hooks/option/useCanvasSetting.js b/src/hooks/option/useCanvasSetting.js index c8139893..a1a3eebc 100644 --- a/src/hooks/option/useCanvasSetting.js +++ b/src/hooks/option/useCanvasSetting.js @@ -165,9 +165,10 @@ export function useCanvasSetting() { useEffect(() => { //console.log('🚀 ~ useEffect ~ roofMaterials 22 :', previousRoofMaterialsYn, roofMaterials.length , JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) // 지붕재 select 정보가 존재해야 배치면초기설정 DB 정보 비교 후 지붕재 정보를 가져올 수 있음 - if (!previousObjectNoRef.current && !correntObjectNo && previousObjectNoRef.current !== correntObjectNo - || roofMaterials.length !== 0 && JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) { - + if ( + (!previousObjectNoRef.current && !correntObjectNo && previousObjectNoRef.current !== correntObjectNo) || + (roofMaterials.length !== 0 && JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) + ) { // 1회만 실행 if (roofMaterials && previousRoofMaterialsYn === 'N') { fetchBasicSettings() @@ -290,10 +291,12 @@ export function useCanvasSetting() { const fetchBasicSettings = async () => { try { await get({ url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}` }).then((res) => { + console.log('🚀 ~ fetchBasicSettings ~ res >>>>>>>>>> :', res) + let roofsRow = {} let roofsArray = {} - if (res) { + if (res.length > 0) { roofsRow = res.map((item) => { return { roofSizeSet: String(item.roofSizeSet), @@ -444,7 +447,7 @@ export function useCanvasSetting() { const res = await get({ url: `/api/canvas-management/canvas-settings/by-object/${correntObjectNo}` }) console.log('res', res) - if (res.length > 0) { + if (Object.keys(res).length > 0) { const optionData1 = settingModalFirstOptions.option1.map((item) => ({ ...item, selected: res[item.column] })) const optionData2 = settingModalFirstOptions.option2.map((item) => ({ ...item, selected: res[item.column] })) const optionData3 = settingModalSecondOptions.option3.map((item) => ({ ...item })) @@ -539,20 +542,17 @@ export function useCanvasSetting() { setAdsorptionPointMode({ ...adsorptionPointMode, adsorptionPoint: false }) //치수선 설정 - setDimensionLineSettings({ ...dimensionLineSettings }) + setDimensionLineSettings({ ...dimensionLineSettings, ...dimensionLineSettingsState.default }) //도면크기 설정 - setPlanSizeSettingMode({ ...planSizeSettingMode }) + setPlanSizeSettingMode({ ...planSizeSettingMode, ...planSizeSettingModeState.default }) // 데이터 설정 - setSettingModalFirstOptions({ - ...settingModalFirstOptions, - }) - setSettingModalSecondOptions({ - ...settingModalSecondOptions, - }) + setSettingModalFirstOptions(...settingModalFirstOptions, ...settingModalFirstOptionsState.default) - setGlobalFont({ ...globalFont }) + setSettingModalSecondOptions(...settingModalSecondOptions, ...settingModalSecondOptionsState.default) + + setGlobalFont({ ...globalFont, ...globalFontState.default }) //점/선 그리드 setDotLineGridSettingState({ ...defaultDotLineGridSetting }) @@ -677,7 +677,7 @@ export function useCanvasSetting() { // HTTP POST 요청 보내기 await post({ url: `/api/canvas-management/canvas-settings`, data: patternData }) .then((res) => { - swalFire({ text: getMessage(res.returnMessage) }) + //swalFire({ text: getMessage(res.returnMessage) }) // Canvas 디스플레이 설정 시 해당 옵션 적용 frontSettings() @@ -777,6 +777,7 @@ export function useCanvasSetting() { adsorptionRange, setAdsorptionRange, fetchSettings, + fetchBasicSettings, frontSettings, globalFont, setGlobalFont,