-
+
+
+
+
+
+
+ | {getMessage('modal.module.basic.setting.pitch.module.placement.standard.setting')} |
+
+
+
+
+ |
+
+ |
+
+
+
diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js
index c7631dcb..1a71c671 100644
--- a/src/hooks/module/useModuleBasicSetting.js
+++ b/src/hooks/module/useModuleBasicSetting.js
@@ -83,8 +83,6 @@ export function useModuleBasicSetting(tabNum) {
//모듈 선택에서 선택된 값들 넘어옴
const makeModuleInitArea = () => {
- console.log('moduleSelectionData', moduleSelectionData)
-
if (isObjectNotEmpty(moduleSelectionData) && tabNum === 3) {
if (canvasSetting.roofSizeSet !== '3') {
const common = moduleSelectionData.common
@@ -115,8 +113,6 @@ export function useModuleBasicSetting(tabNum) {
//가대 상세 데이터 들어오면 실행
useEffect(() => {
- console.log('trestleDetailList', trestleDetailList)
-
if (trestleDetailList.length > 0) {
let rowColArray = []
//지붕을 가져옴
@@ -258,8 +254,10 @@ export function useModuleBasicSetting(tabNum) {
const allPointsOutside = result.every((point) => !originPolygon.inPolygon(point))
if (canvasSetting.roofSizeSet == '3') {
+ const margin = moduleSelectionData.common.margin ? moduleSelectionData.common.margin : 200
+
//육지붕일때는 그냥 하드코딩
- offsetPoints = offsetPolygon(roof.points, -30) //육지붕일때
+ offsetPoints = offsetPolygon(roof.points, -Number(margin) / 10) //육지붕일때
} else {
//육지붕이 아닐때
if (allPointsOutside) {
@@ -410,7 +408,7 @@ export function useModuleBasicSetting(tabNum) {
}
useEffect(() => {
- if (canvasSetting.roofSizeSet !== '3') {
+ if (canvasSetting.roofSizeSet != '3') {
if (isObjectNotEmpty(moduleSelectionData) && moduleSelectionData.common.saleStoreNorthFlg === '1') {
setSaleStoreNorthFlg(true)
}
@@ -2833,7 +2831,7 @@ export function useModuleBasicSetting(tabNum) {
targetRoof.fire('modified')
targetSurface.fire('modified')
- drawDirectionArrow(targetRoof)
+ // drawDirectionArrow(targetRoof)
}
canvas.remove(obj)
})
@@ -2845,7 +2843,7 @@ export function useModuleBasicSetting(tabNum) {
targetRoof.fire('modified')
surface.fire('modified')
- drawDirectionArrow(targetRoof)
+ // drawDirectionArrow(targetRoof)
})
}
canvas.renderAll()
@@ -3081,6 +3079,17 @@ export function useModuleBasicSetting(tabNum) {
addCanvasMouseEventListener('mouse:up', (e) => {
let isIntersection = true
+
+ if (trestlePolygon.modules.length > 0) {
+ //이미 설치된 모듈중에 한개만 가져옴
+ const mixAsgYn = trestlePolygon.modules[0].moduleInfo.mixAsgYn
+ //현재 체크된 모듈기준으로 혼합가능인지 확인 Y === Y, N === N 일때만 설치 가능
+ if (checkedModule[0].mixAsgYn !== mixAsgYn) {
+ swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') })
+ return
+ }
+ }
+
if (!inside) return
if (tempModule) {
const rectPoints = [
@@ -3154,6 +3163,16 @@ export function useModuleBasicSetting(tabNum) {
const autoFlatroofModuleSetup = (placementFlatRef) => {
initEvent() //마우스 이벤트 초기화
+ //혼합 가능 모듈과 혼합 불가능 모듈을 선택했을때 카운트를 해서 확인
+ const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y')
+ const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N')
+
+ //Y인 모듈과 N인 모듈이 둘다 존재하면 설치 불가
+ if (mixAsgY.length > 0 && mixAsgN.length > 0) {
+ swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') })
+ return
+ }
+
const moduleSetupSurfaces = moduleSetupSurface //선택 설치면
const notSelectedTrestlePolygons = canvas
?.getObjects()
@@ -3219,7 +3238,7 @@ export function useModuleBasicSetting(tabNum) {
targetRoof.setCoords()
targetSurface.setCoords()
moduleSetupSurfaces.push(targetSurface)
- drawDirectionArrow(targetSurface)
+ // drawDirectionArrow(targetSurface)
}
canvas.remove(obj)
})
@@ -3231,7 +3250,7 @@ export function useModuleBasicSetting(tabNum) {
targetRoof.fire('modified')
surface.fire('modified')
- drawDirectionArrow(surface)
+ // drawDirectionArrow(surface)
})
}
canvas.renderAll()
diff --git a/src/locales/ja.json b/src/locales/ja.json
index f8b76a17..5849f3da 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -128,9 +128,9 @@
"modal.module.basic.setting.module.placement.arrangement.standard.eaves": "軒の側",
"modal.module.basic.setting.module.placement.arrangement.standard.ridge": "龍丸側",
"modal.module.basic.setting.module.placement.maximum": "最大配置",
- "modal.module.basic.setting.pitch.module.placement.standard.setting": "配置基準設定",
- "modal.module.basic.setting.pitch.module.placement.standard.setting.south": "南向き設置",
- "modal.module.basic.setting.pitch.module.placement.standard.setting.select": "指定した辺を基準に設置",
+ "modal.module.basic.setting.pitch.module.placement.standard.setting": "配置基準の設定",
+ "modal.module.basic.setting.pitch.module.placement.standard.setting.south": "南向きに設置す",
+ "modal.module.basic.setting.pitch.module.placement.standard.setting.select": "指定した辺を基準に設置する",
"modal.module.basic.setting.pitch.module.allocation.setting": "割り当て設定",
"modal.module.basic.setting.pitch.module.allocation.setting.info": "※配置パネルの種類が1種類の場合のみ使用できます。",
"modal.module.basic.setting.pitch.module.row.amount": "単数",