Merge branch 'qcast-pub' into dev

This commit is contained in:
김민식 2025-03-06 11:14:09 +09:00
commit f2ea05f69e
7 changed files with 33 additions and 22 deletions

View File

@ -28,6 +28,7 @@ import {
import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController'
import { useCanvasSetting } from '@/hooks/option/useCanvasSetting' import { useCanvasSetting } from '@/hooks/option/useCanvasSetting'
import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' import { useCanvasMenu } from '@/hooks/common/useCanvasMenu'
import { useEvent } from '@/hooks/useEvent'
export default function CanvasFrame() { export default function CanvasFrame() {
const canvasRef = useRef(null) const canvasRef = useRef(null)
@ -49,6 +50,7 @@ export default function CanvasFrame() {
const { handleModuleSelectionTotal } = useCanvasPopupStatusController() const { handleModuleSelectionTotal } = useCanvasPopupStatusController()
const { fetchBasicSettings } = useCanvasSetting() const { fetchBasicSettings } = useCanvasSetting()
const { setSelectedMenu } = useCanvasMenu() const { setSelectedMenu } = useCanvasMenu()
const { initEvent } = useEvent()
const loadCanvas = () => { const loadCanvas = () => {
if (!canvas) return if (!canvas) return
@ -64,6 +66,7 @@ export default function CanvasFrame() {
if (canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE).length > 0) { if (canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE).length > 0) {
setSelectedMenu('module') setSelectedMenu('module')
} }
initEvent()
}) })
} }
} }

View File

@ -18,7 +18,7 @@ export default function FloorPlan({ children }) {
const { closeAll } = usePopup() const { closeAll } = usePopup()
const { selectedMenu, setSelectedMenu } = useCanvasMenu() const { selectedMenu, setSelectedMenu } = useCanvasMenu()
const { fetchSettings } = useCanvasSetting() const { fetchSettings } = useCanvasSetting(false)
const resetCurrentMenu = useResetRecoilState(currentMenuState) const resetCurrentMenu = useResetRecoilState(currentMenuState)
useEffect(() => { useEffect(() => {
return () => { return () => {

View File

@ -503,19 +503,25 @@ export default function CircuitTrestleSetting({ id }) {
// //
const handleClose = () => { const handleClose = () => {
// // // //
// const circuitTexts = canvas.getObjects().filter((obj) => obj.name === 'circuitNumber') if (
// canvas.remove(...circuitTexts) canvas
// // .getObjects()
// canvas .filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
// .getObjects() .some((surface) => !surface.isComplete)
// .filter((obj) => obj.name === POLYGON_TYPE.MODULE) ) {
// .forEach((obj) => { canvas.remove(...canvas.getObjects().filter((obj) => obj.name === 'circuitNumber'))
// obj.circuit = null canvas
// obj.pcsItemId = null .getObjects()
// obj.circuitNumber = null .filter((obj) => obj.name === POLYGON_TYPE.MODULE)
// }) .forEach((obj) => {
obj.circuit = null
obj.pcsItemId = null
obj.circuitNumber = null
})
canvas.renderAll()
}
// canvas.renderAll()
closePopup(id) closePopup(id)
} }

View File

@ -226,7 +226,7 @@ export function useModule() {
} }
modules.forEach((module) => { modules.forEach((module) => {
const { top, left } = getPosotion(module, direction, Number(length) + Number(moduleLength), false) const { top, left } = getPosotion(module, direction, Number(length) + Number(moduleLength), true)
module.clone((obj) => { module.clone((obj) => {
obj.set({ obj.set({
parentId: module.parentId, parentId: module.parentId,
@ -677,6 +677,7 @@ export function useModule() {
} }
let width = -1 let width = -1
let isWarning = false let isWarning = false
const { moduleIntvlHor, moduleIntvlVer } = moduleSetupSurface.trestleDetail
if (targetModules.length === 0) { if (targetModules.length === 0) {
swalFire({ swalFire({
title: '마지막 모듈입니다.', title: '마지막 모듈입니다.',
@ -706,7 +707,7 @@ export function useModule() {
canvas.renderAll() canvas.renderAll()
otherModules = getOtherModules(columnModules) otherModules = getOtherModules(columnModules)
columnModules.forEach((module) => { columnModules.forEach((module) => {
const { top, left } = getPosotion(module, type, module.width, true) const { top, left } = getPosotion(module, type, module.width + moduleIntvlHor, true)
let copyModule = null let copyModule = null
module.clone((obj) => { module.clone((obj) => {
obj.set({ obj.set({
@ -803,11 +804,12 @@ export function useModule() {
} }
let height = -1 let height = -1
let isWarning = false let isWarning = false
const { moduleIntvlHor, moduleIntvlVer } = moduleSetupSurface.trestleDetail
canvas.discardActiveObject() canvas.discardActiveObject()
targetModules.forEach((module) => { targetModules.forEach((module) => {
if (height === -1) if (height === -1)
height = type === MODULE_INSERT_TYPE.TOP ? Number(activeModule.top) - Number(module.top) : Number(module.top) - Number(activeModule.top) height = type === MODULE_INSERT_TYPE.TOP ? Number(activeModule.top) - Number(module.top) : Number(module.top) - Number(activeModule.top)
const { top, left } = getPosotion(module, type, activeModule.height, true) const { top, left } = getPosotion(module, type, activeModule.height + moduleIntvlVer, true)
module.originPos = { module.originPos = {
left: module.left, left: module.left,
top: module.top, top: module.top,
@ -823,7 +825,7 @@ export function useModule() {
canvas.renderAll() canvas.renderAll()
otherModules = getOtherModules(rowModules) otherModules = getOtherModules(rowModules)
rowModules.forEach((module) => { rowModules.forEach((module) => {
const { top, left } = getPosotion(module, type, activeModule.height, true) const { top, left } = getPosotion(module, type, activeModule.height + moduleIntvlVer, true)
let copyModule = null let copyModule = null
module.clone((obj) => { module.clone((obj) => {
obj.set({ obj.set({

View File

@ -68,7 +68,7 @@ export function useContextMenu() {
const { removeGrid } = useGrid() const { removeGrid } = useGrid()
const { removeAdsorptionPoint } = useAdsorptionPoint() const { removeAdsorptionPoint } = useAdsorptionPoint()
const commonTextFont = useRecoilValue(fontSelector('commonText')) const commonTextFont = useRecoilValue(fontSelector('commonText'))
const { settingsData, setSettingsDataSave } = useCanvasSetting() const { settingsData, setSettingsDataSave } = useCanvasSetting(false)
const { swalFire } = useSwal() const { swalFire } = useSwal()
const { alignModule, modulesRemove, moduleRoofRemove } = useModule() const { alignModule, modulesRemove, moduleRoofRemove } = useModule()
const { removeRoofMaterial, removeAllRoofMaterial, moveRoofMaterial, removeOuterLines } = useRoofFn() const { removeRoofMaterial, removeAllRoofMaterial, moveRoofMaterial, removeOuterLines } = useRoofFn()

View File

@ -49,7 +49,7 @@ export function usePlan(params = {}) {
const resetOuterLinePoints = useResetRecoilState(outerLinePointsState) const resetOuterLinePoints = useResetRecoilState(outerLinePointsState)
const resetPlacementShapeDrawingPoints = useResetRecoilState(placementShapeDrawingPointsState) const resetPlacementShapeDrawingPoints = useResetRecoilState(placementShapeDrawingPointsState)
const { fetchBasicSettings, basicSettingCopySave } = useCanvasSetting() const { fetchBasicSettings, basicSettingCopySave } = useCanvasSetting(false)
const [canvasSetting, setCanvasSetting] = useRecoilState(canvasSettingState) const [canvasSetting, setCanvasSetting] = useRecoilState(canvasSettingState)
/** /**

View File

@ -293,10 +293,10 @@
"modal.object.setting.height": "縦長", "modal.object.setting.height": "縦長",
"modal.object.setting.area.cross": "エリア交差", "modal.object.setting.area.cross": "エリア交差",
"modal.object.setting.size.setting": "サイズ設定", "modal.object.setting.size.setting": "サイズ設定",
"modal.object.setting.agreement.depth": "棟の長さ・深さ", "modal.object.setting.agreement.depth": "棟の長さ",
"modal.object.setting.offset.depth": "出幅(深さ)", "modal.object.setting.offset.depth": "棟の出幅",
"modal.object.setting.size.width": "幅", "modal.object.setting.size.width": "幅",
"modal.object.setting.offset.width": "出幅(幅)", "modal.object.setting.offset.width": "幅の出幅",
"modal.object.setting.offset.slope": "勾配", "modal.object.setting.offset.slope": "勾配",
"modal.object.setting.direction.select": "方向の選択", "modal.object.setting.direction.select": "方向の選択",
"modal.placement.surface.setting.info": "ⓘ①の長さ入力後、対角線長を入力すると②の長さを自動計算します。", "modal.placement.surface.setting.info": "ⓘ①の長さ入力後、対角線長を入力すると②の長さを自動計算します。",