데이터 유지 초기화 작업

This commit is contained in:
yjnoh 2025-02-07 20:28:41 +09:00
parent 81fb5ffcc1
commit dfc67cb7dd
8 changed files with 204 additions and 191 deletions

View File

@ -38,7 +38,7 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
const [isClosePopup, setIsClosePopup] = useState({ close: false, id: 0 }) const [isClosePopup, setIsClosePopup] = useState({ close: false, id: 0 })
// const { initEvent } = useContext(EventContext) // const { initEvent } = useContext(EventContext)
const { manualModuleSetup, autoModuleSetup, manualFlatroofModuleSetup, autoFlatroofModuleSetup } = useModuleBasicSetting(1) const { manualModuleSetup, autoModuleSetup, manualFlatroofModuleSetup, autoFlatroofModuleSetup } = useModuleBasicSetting(tabNum)
const { updateObjectDate } = useMasterController() const { updateObjectDate } = useMasterController()
const handleBtnNextStep = () => { const handleBtnNextStep = () => {
if (tabNum === 1) { if (tabNum === 1) {

View File

@ -58,8 +58,8 @@ export default function Module({ setTabNum }) {
useEffect(() => { useEffect(() => {
if (tempModuleSelectionData.roofConstructions.length > 0) { if (tempModuleSelectionData.roofConstructions.length > 0) {
if (tempModuleSelectionData.common.moduleItemId && isObjectNotEmpty(tempModuleSelectionData.module)) { if (tempModuleSelectionData.common.moduleItemId && isObjectNotEmpty(tempModuleSelectionData.module)) {
setModuleSelectionData(tempModuleSelectionData)
// temp (addedRoofs) // temp (addedRoofs)
setModuleSelectionData(tempModuleSelectionData)
if (tempModuleSelectionData.roofConstructions.length === addedRoofs.length) { if (tempModuleSelectionData.roofConstructions.length === addedRoofs.length) {
moduleSelectedDataTrigger(tempModuleSelectionData) moduleSelectedDataTrigger(tempModuleSelectionData)
} }
@ -83,7 +83,7 @@ export default function Module({ setTabNum }) {
header: [ header: [
{ name: getMessage('module'), width: 150, prop: 'module', type: 'color-box' }, { name: getMessage('module'), width: 150, prop: 'module', type: 'color-box' },
{ {
name: `${getMessage('높이')} (mm)`, name: `${getMessage('height')} (mm)`,
prop: 'height', prop: 'height',
}, },
{ name: `${getMessage('width')} (mm)`, prop: 'width' }, { name: `${getMessage('width')} (mm)`, prop: 'width' },

View File

@ -64,6 +64,9 @@ export function useModuleBasicSetting(tabNum) {
if (canvasSetting.roofSizeSet !== '3') { if (canvasSetting.roofSizeSet !== '3') {
const common = moduleSelectionData.common const common = moduleSelectionData.common
const roofConstructions = moduleSelectionData.roofConstructions const roofConstructions = moduleSelectionData.roofConstructions
console.log('moduleSelectionData', moduleSelectionData)
const listParams = roofConstructions.map((item) => { const listParams = roofConstructions.map((item) => {
return { return {
...common, ...common,
@ -78,6 +81,7 @@ export function useModuleBasicSetting(tabNum) {
inclCd: String(item.addRoof.pitch), inclCd: String(item.addRoof.pitch),
roofIndex: item.addRoof.index, roofIndex: item.addRoof.index,
workingWidth: item.addRoof.lenBase, workingWidth: item.addRoof.lenBase,
raftBaseCd: item.trestle.raftBaseCd,
} }
}) })
setTrestleDetailParams(listParams) setTrestleDetailParams(listParams)
@ -142,6 +146,7 @@ export function useModuleBasicSetting(tabNum) {
const makeModuleInstArea = (roof, trestleDetail) => { const makeModuleInstArea = (roof, trestleDetail) => {
//지붕 객체 반환 //지붕 객체 반환
if (tabNum == 3) {
if (!roof) { if (!roof) {
return return
} }
@ -311,6 +316,7 @@ export function useModuleBasicSetting(tabNum) {
canvas?.renderAll() canvas?.renderAll()
setModuleSetupSurface([...selectedModuleInstSurfaceArray]) setModuleSetupSurface([...selectedModuleInstSurfaceArray])
} }
}
//모듈,회로에서 다른메뉴 -> 배치면으로 갈 경수 초기화 //모듈,회로에서 다른메뉴 -> 배치면으로 갈 경수 초기화
const restoreModuleInstArea = () => { const restoreModuleInstArea = () => {

View File

@ -114,7 +114,9 @@ export function useModuleSelection(props) {
} }
//데이터가 있으면 모듈 자동 선택 //데이터가 있으면 모듈 자동 선택
//1번 모듈 리스트 조회
useEffect(() => { useEffect(() => {
//모듈리스트의 데이터가 변경 되면 모듈 선택으로 이벤트
if (moduleList.length > 0 && isObjectNotEmpty(moduleSelectionData.module)) { if (moduleList.length > 0 && isObjectNotEmpty(moduleSelectionData.module)) {
handleChangeModule(moduleSelectionData.module) handleChangeModule(moduleSelectionData.module)
} }

View File

@ -29,7 +29,7 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
const [roofBaseParams, setRoofBaseParams] = useState({}) //지붕밑바탕 관련 api호출 파라메터 const [roofBaseParams, setRoofBaseParams] = useState({}) //지붕밑바탕 관련 api호출 파라메터
const moduleSelectionInitParams = useRecoilValue(moduleSelectionInitParamsState) //모듈 기본 데이터 ex) 면조도, 높이등등 const moduleSelectionInitParams = useRecoilValue(moduleSelectionInitParamsState) //모듈 기본 데이터 ex) 면조도, 높이등등
const moduleSelectionInitOriginData = useRef(moduleSelectionInitParams) const moduleSelectionInitOriginData = useRef({})
const { getTrestleList, getConstructionList } = useMasterController() const { getTrestleList, getConstructionList } = useMasterController()
@ -95,8 +95,6 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
}) })
setRaftCodes(raftCodeList) setRaftCodes(raftCodeList)
console.log('addRoof', addRoof)
if (addRoof.raft) { if (addRoof.raft) {
setSelectedRaftBase({ setSelectedRaftBase({
...selectedRaftBase, ...selectedRaftBase,
@ -155,6 +153,7 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
useEffect(() => { useEffect(() => {
//lengbase는 무조건 있다고 가정 하고 최초에 실행 방지 //lengbase는 무조건 있다고 가정 하고 최초에 실행 방지
if (selectedModules) { if (selectedModules) {
//여기서부터 시작
//가대메이커 파라메터 만들기 //가대메이커 파라메터 만들기
setTrestleParams({ setTrestleParams({
moduleTpCd: selectedModules.itemTp, moduleTpCd: selectedModules.itemTp,
@ -174,6 +173,7 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
//가대메이커 변경 함수 //가대메이커 변경 함수
const handleChangeTrestle = (option) => { const handleChangeTrestle = (option) => {
option.raftBaseCd = selectedRaftBase.raftBaseCd
setSelectedTrestle(option) //선택값 저장 setSelectedTrestle(option) //선택값 저장
setConstructionParams({ ...trestleParams, trestleMkrCd: option.trestleMkrCd, constMthdCd: '', roofBaseCd: '' }) setConstructionParams({ ...trestleParams, trestleMkrCd: option.trestleMkrCd, constMthdCd: '', roofBaseCd: '' })
} }
@ -266,7 +266,6 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
//공법 선택시 이후 프로세스 //공법 선택시 이후 프로세스
useEffect(() => { useEffect(() => {
if (isObjectNotEmpty(selectedRoofBase) && isObjectNotEmpty(selectedConstruction)) { if (isObjectNotEmpty(selectedRoofBase) && isObjectNotEmpty(selectedConstruction)) {
if (tabIndex === roofTab) {
const common = { ...moduleSelectionInitParams } const common = { ...moduleSelectionInitParams }
const module = { ...selectedModules } const module = { ...selectedModules }
const newRoofConstructions = { const newRoofConstructions = {
@ -293,14 +292,11 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
}) })
} }
} }
}
}, [selectedConstruction]) }, [selectedConstruction])
//거대메이커, 공법, 지붕밑바탕 api 조회 //거대메이커, 공법, 지붕밑바탕 api 조회
const getModuleOptionsListData = async (params, type) => { const getModuleOptionsListData = async (params, type) => {
const optionsList = await getTrestleList(params) const optionsList = await getTrestleList(params)
console.log('optionsList', optionsList)
if (optionsList.data.length > 0) { if (optionsList.data.length > 0) {
if (type === 'trestle') { if (type === 'trestle') {
//가대 메이커일때 //가대 메이커일때
@ -340,6 +336,10 @@ export function useModuleTabContents({ tabIndex, addRoof, setAddedRoofs, roofTab
resetSelected() resetSelected()
} }
} }
if (moduleSelectionInitParams.moduleItemId && moduleSelectionInitParams.moduleTpCd) {
moduleSelectionInitOriginData.current = moduleSelectionInitParams
}
}, [moduleSelectionInitParams]) }, [moduleSelectionInitParams])
const handleHajebichiAndLength = (e, type) => { const handleHajebichiAndLength = (e, type) => {

View File

@ -26,7 +26,7 @@ export function useObjectBatch({ isHidden, setIsHidden }) {
useEffect(() => { useEffect(() => {
if (canvas) { if (canvas) {
dbClickEvent() // dbClickEvent()
} }
return () => { return () => {

View File

@ -85,6 +85,10 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
canvas?.remove(...canvas?.getObjects().filter((obj) => obj.name === MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH_TEMP)) canvas?.remove(...canvas?.getObjects().filter((obj) => obj.name === MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH_TEMP))
points = getSurfaceShape(surfaceId, pointer, { length1, length2, length3, length4, length5 }) points = getSurfaceShape(surfaceId, pointer, { length1, length2, length3, length4, length5 })
console.log('surfaceRefs.xInversion', surfaceRefs.xInversion)
console.log('surfaceRefs.yInversion', surfaceRefs.yInversion)
console.log('surfaceRefs.rotate', surfaceRefs.rotate)
const options = { const options = {
fill: 'transparent', fill: 'transparent',
stroke: 'black', stroke: 'black',
@ -100,7 +104,7 @@ export function useSurfaceShapeBatch({ isHidden, setIsHidden }) {
name: MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH_TEMP, name: MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH_TEMP,
flipX: surfaceRefs.yInversion, flipX: surfaceRefs.yInversion,
flipY: surfaceRefs.xInversion, flipY: surfaceRefs.xInversion,
angle: surfaceRefs.rotate, angle: Math.abs(surfaceRefs.rotate),
originX: 'center', originX: 'center',
originY: 'center', originY: 'center',
pitch: globalPitch, pitch: globalPitch,

View File

@ -858,6 +858,7 @@
"surface.shape.validate.size.1to2": "①길이는 ②보다 큰 값을 넣어주세요.", "surface.shape.validate.size.1to2": "①길이는 ②보다 큰 값을 넣어주세요.",
"surface.shape.validate.size.1to3": "①길이는 ③보다 큰 값을 넣어주세요.", "surface.shape.validate.size.1to3": "①길이는 ③보다 큰 값을 넣어주세요.",
"surface.shape.validate.size.1to23": "①길이는 ②+③보다 큰 값을 넣어주세요.", "surface.shape.validate.size.1to23": "①길이는 ②+③보다 큰 값을 넣어주세요.",
"surface.shape.validate.size.1to23low": "②+③길이는 ①보다 큰 값을 넣어주세요.",
"surface.shape.validate.size.2to3": "②길이는 ③보다 큰 값을 넣어주세요.", "surface.shape.validate.size.2to3": "②길이는 ③보다 큰 값을 넣어주세요.",
"surface.shape.validate.size.3to2": "③길이는 ②보다 큰 값을 넣어주세요.", "surface.shape.validate.size.3to2": "③길이는 ②보다 큰 값을 넣어주세요.",
"surface.shape.validate.size.3to4": "③길이는 ④보다 큰 값을 넣어주세요.", "surface.shape.validate.size.3to4": "③길이는 ④보다 큰 값을 넣어주세요.",