Merge branch 'dev' into dev-yj

This commit is contained in:
lelalela 2025-01-10 14:14:32 +09:00
commit 2aa39acca5
6 changed files with 78 additions and 57 deletions

View File

@ -121,7 +121,7 @@ export default function RoofAllocationSetting(props) {
onChange={(e) => { onChange={(e) => {
handleChangeInput(e, 'pitch', index) handleChangeInput(e, 'pitch', index)
}} }}
defaultValue={currentAngleType === 'slope' ? roof.pitch : getDegreeByChon(roof.pitch)} defaultValue={currentAngleType === 'slope' ? roof.pitch : roof.angle}
/> />
</div> </div>
<span>{pitchText}</span> <span>{pitchText}</span>

View File

@ -1265,57 +1265,59 @@ export default function StuffDetail() {
return alert(getMessage('stuff.detail.save.valierror2')) return alert(getMessage('stuff.detail.save.valierror2'))
} }
let detail_sort = Object.keys(managementState) if (managementState) {
.sort() let detail_sort = Object.keys(managementState)
.reduce((obj, key) => ((obj[key] = managementState[key]), obj), {}) .sort()
let params_sort = Object.keys(params) .reduce((obj, key) => ((obj[key] = managementState[key]), obj), {})
.sort() let params_sort = Object.keys(params)
.reduce((obj, key) => ((obj[key] = params[key]), obj), {}) .sort()
.reduce((obj, key) => ((obj[key] = params[key]), obj), {})
delete detail_sort.areaName delete detail_sort.areaName
delete detail_sort.contentsPath delete detail_sort.contentsPath
delete detail_sort.createDatetime delete detail_sort.createDatetime
delete detail_sort.createUserName delete detail_sort.createUserName
delete detail_sort.dispCompanyName delete detail_sort.dispCompanyName
delete detail_sort.firstAgentId delete detail_sort.firstAgentId
delete detail_sort.lastEditDatetime delete detail_sort.lastEditDatetime
delete detail_sort.lastEditUserName delete detail_sort.lastEditUserName
delete detail_sort.planList delete detail_sort.planList
delete detail_sort.planNo delete detail_sort.planNo
delete detail_sort.planTotCnt delete detail_sort.planTotCnt
delete detail_sort.receiveCompanyName delete detail_sort.receiveCompanyName
delete detail_sort.saleStoreName delete detail_sort.saleStoreName
delete detail_sort.rowNumber delete detail_sort.rowNumber
delete detail_sort.prefName delete detail_sort.prefName
delete detail_sort.sameObjectInfo delete detail_sort.sameObjectInfo
delete detail_sort.specificationConfirmDate delete detail_sort.specificationConfirmDate
delete detail_sort.totCnt delete detail_sort.totCnt
delete detail_sort.workNo delete detail_sort.workNo
delete detail_sort.workName delete detail_sort.workName
delete params_sort.areaName delete params_sort.areaName
delete params_sort.contentsPath delete params_sort.contentsPath
delete params_sort.createDatetime delete params_sort.createDatetime
delete params_sort.createUserName delete params_sort.createUserName
delete params_sort.dispCompanyName delete params_sort.dispCompanyName
delete params_sort.firstAgentId delete params_sort.firstAgentId
delete params_sort.lastEditDatetime delete params_sort.lastEditDatetime
delete params_sort.lastEditUserName delete params_sort.lastEditUserName
delete params_sort.planList delete params_sort.planList
delete params_sort.planNo delete params_sort.planNo
delete params_sort.planTotCnt delete params_sort.planTotCnt
delete params_sort.receiveCompanyName delete params_sort.receiveCompanyName
delete params_sort.saleStoreName delete params_sort.saleStoreName
delete params_sort.rowNumber delete params_sort.rowNumber
delete params_sort.prefName delete params_sort.prefName
delete params_sort.sameObjectInfo delete params_sort.sameObjectInfo
delete params_sort.specificationConfirmDate delete params_sort.specificationConfirmDate
delete params_sort.totCnt delete params_sort.totCnt
delete params_sort.workNo delete params_sort.workNo
delete params_sort.workName delete params_sort.workName
if (Object.entries(detail_sort).toString() === Object.entries(params_sort).toString()) { if (Object.entries(detail_sort).toString() === Object.entries(params_sort).toString()) {
return alert(getMessage('stuff.detail.noChgData')) return alert(getMessage('stuff.detail.noChgData'))
}
} }
if (params?.receiveUser !== '') { if (params?.receiveUser !== '') {

View File

@ -227,7 +227,7 @@ export default function Simulator() {
{/* 연간예측발전량 */} {/* 연간예측발전량 */}
<div className="estimate-box"> <div className="estimate-box">
<div className="estimate-tit">{getMessage('simulator.title.sub4')}</div> <div className="estimate-tit">{getMessage('simulator.title.sub4')}</div>
<div className="estimate-name">{chartData[chartData.length - 1]}</div> <div className="estimate-name">{convertNumberToPriceDecimal(chartData[chartData.length - 1])}</div>
</div> </div>
</div> </div>
<div className="estimate-list-wrap"> <div className="estimate-list-wrap">
@ -343,15 +343,15 @@ export default function Simulator() {
{/* 지붕면 */} {/* 지붕면 */}
<td>{moduleInfo.roofSurface}</td> <td>{moduleInfo.roofSurface}</td>
{/* 경사각 */} {/* 경사각 */}
<td>{convertNumberToPriceDecimal(moduleInfo.slope)}</td> <td>{convertNumberToPriceDecimal(moduleInfo.slopeAngle)}</td>
{/* 방위각(도) */} {/* 방위각(도) */}
<td>{convertNumberToPriceDecimal(moduleInfo.angle)}</td> <td>{convertNumberToPriceDecimal(moduleInfo.azimuth)}</td>
{/* 태양전지모듈 */} {/* 태양전지모듈 */}
<td> <td>
<div className="overflow-lab">{moduleInfo.itemNo}</div> <div className="overflow-lab">{moduleInfo.itemNo}</div>
</td> </td>
{/* 매수 */} {/* 매수 */}
<td>{moduleInfo.amount}</td> <td>{convertNumberToPriceDecimal(moduleInfo.amount)}</td>
</tr> </tr>
</> </>
) )
@ -393,7 +393,7 @@ export default function Simulator() {
<div className="overflow-lab">{pcsInfo.itemNo}</div> <div className="overflow-lab">{pcsInfo.itemNo}</div>
</td> </td>
{/* 대 */} {/* 대 */}
<td>{pcsInfo.amount}</td> <td>{convertNumberToPriceDecimal(pcsInfo.amount)}</td>
</tr> </tr>
</> </>
) )

View File

@ -112,11 +112,27 @@ export function useMasterController() {
}) })
} }
/**
* PCS 메이커, 시리즈 목록 조회
* @param {PCS 메이커코드} pcsMkrCd
* @param {혼합모듈번호} mixMatlNo
* @returns
*/
const getPcsMakerList = async (params) => {
const paramString = getQueryString(params)
console.log('🚀🚀 ~ getPcsMakerList ~ paramString:', paramString)
return await get({ url: '/api/v1/master/pcsMakerList' + paramString }).then((res) => {
console.log('🚀🚀 ~ getPcsMakerList ~ res:', res)
return res
})
}
return { return {
getRoofMaterialList, getRoofMaterialList,
getModuleTypeItemList, getModuleTypeItemList,
getTrestleList, getTrestleList,
getConstructionList, getConstructionList,
getTrestleDetailList, getTrestleDetailList,
getPcsMakerList,
} }
} }

View File

@ -135,7 +135,8 @@ export function useCanvasSetting() {
raft: item.raftBase && parseInt(item.raftBase), raft: item.raftBase && parseInt(item.raftBase),
layout: ['ROOF_ID_SLATE', 'ROOF_ID_SINGLE'].includes(item.roofMatlCd) ? ROOF_MATERIAL_LAYOUT.STAIRS : ROOF_MATERIAL_LAYOUT.PARALLEL, layout: ['ROOF_ID_SLATE', 'ROOF_ID_SINGLE'].includes(item.roofMatlCd) ? ROOF_MATERIAL_LAYOUT.STAIRS : ROOF_MATERIAL_LAYOUT.PARALLEL,
hajebichi: item.roofPchBase && parseInt(item.roofPchBase), hajebichi: item.roofPchBase && parseInt(item.roofPchBase),
pitch: item.pitch && parseInt(item.pitch), pitch: item.pitch ? parseInt(item.pitch) : 4,
angle: item.angle ? parseInt(item.angle) : 21.8,
})) }))
setRoofMaterials(roofLists) setRoofMaterials(roofLists)
const selectedRoofMaterial = roofLists[0] const selectedRoofMaterial = roofLists[0]

View File

@ -23,7 +23,7 @@ import { menuTypeState } from '@/store/menuAtom'
import { useRoofFn } from '@/hooks/common/useRoofFn' import { useRoofFn } from '@/hooks/common/useRoofFn'
import { ROOF_MATERIAL_LAYOUT } from '@/components/floor-plan/modal/placementShape/PlacementShapeSetting' import { ROOF_MATERIAL_LAYOUT } from '@/components/floor-plan/modal/placementShape/PlacementShapeSetting'
import { globalLocaleStore } from '@/store/localeAtom' import { globalLocaleStore } from '@/store/localeAtom'
import { getChonByDegree } from '@/util/canvas-util' import { getChonByDegree, getDegreeByChon } from '@/util/canvas-util'
// 지붕면 할당 // 지붕면 할당
export function useRoofAllocationSetting(id) { export function useRoofAllocationSetting(id) {
@ -473,7 +473,9 @@ export function useRoofAllocationSetting(id) {
const value = e.target.value const value = e.target.value
const newRoofList = currentRoofList.map((roof, idx) => { const newRoofList = currentRoofList.map((roof, idx) => {
if (idx === index) { if (idx === index) {
return { ...roof, pitch: value } const result =
currentAngleType === 'slope' ? { pitch: value, angle: getDegreeByChon(value) } : { pitch: getChonByDegree(value), angle: value }
return { ...roof, ...result }
} }
return roof return roof
}) })