This commit is contained in:
hyojun.choi 2026-01-30 15:51:52 +09:00
commit 7f7131a256
5 changed files with 48 additions and 7 deletions

View File

@ -98,6 +98,10 @@ export default function Join() {
alert(getMessage('common.message.required.data', [getMessage('join.sub1.fax')]))
faxRef.current.focus()
return false
}else if (!telRegex.test(fax)) {
alert(getMessage('join.validation.check1', [getMessage('join.sub1.fax')]))
faxRef.current.focus()
return false
}
const bizNo = formData.get('bizNo')
@ -174,6 +178,10 @@ export default function Join() {
alert(getMessage('common.message.required.data', [getMessage('join.sub2.fax')]))
userFaxRef.current.focus()
return false
} else if (!telRegex.test(userFax)) {
alert(getMessage('join.validation.check1', [getMessage('join.sub2.fax')]))
userFaxRef.current.focus()
return false
}
return true
@ -349,7 +357,15 @@ export default function Join() {
<th>{getMessage('join.sub1.fax')}<span className="important">*</span></th>
<td>
<div className="input-wrap" style={{ width: '200px' }}>
<input type="text" id="fax" name="fax" className="input-light" maxLength={15} onChange={inputNumberCheck} ref={faxRef} />
<input
type="text"
id="fax"
name="fax"
className="input-light"
maxLength={15}
placeholder={getMessage('join.sub1.telNo_placeholder')}
onChange={inputTelNumberCheck}
ref={faxRef} />
</div>
</td>
</tr>
@ -466,7 +482,8 @@ export default function Join() {
name="userFax"
className="input-light"
maxLength={15}
onChange={inputNumberCheck}
placeholder={getMessage('join.sub1.telNo_placeholder')}
onChange={inputTelNumberCheck}
ref={userFaxRef}
/>
</div>

View File

@ -124,6 +124,9 @@ export default function CircuitTrestleSetting({ id }) {
*/
const validateModuleSizeForRack = (surface) => {
const { modules, direction, trestleDetail } = surface
if (!trestleDetail) {
return true //
}
const { rackYn, moduleIntvlHor, moduleIntvlVer } = trestleDetail
if (rackYn === 'N' || !modules || modules.length < 2) {

View File

@ -749,7 +749,7 @@ export function useModule() {
const copyModules = []
const moduleSetupSurface = canvas.getObjects().find((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && obj.id === activeModule.surfaceId)
let isWarning = false
const { moduleIntvlHor, moduleIntvlVer } = moduleSetupSurface.trestleDetail
const { moduleIntvlHor = 0, moduleIntvlVer = 0 } = moduleSetupSurface.trestleDetail || {}
canvas.discardActiveObject()
targetModules.forEach((module) => {
const { top, left } = getPosotion(module, type, moduleIntvlHor, true)
@ -859,7 +859,7 @@ export function useModule() {
const copyModules = []
const moduleSetupSurface = canvas.getObjects().find((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && obj.id === activeModule.surfaceId)
let isWarning = false
const { moduleIntvlHor, moduleIntvlVer } = moduleSetupSurface.trestleDetail
const { moduleIntvlHor = 0, moduleIntvlVer = 0 } = moduleSetupSurface.trestleDetail || {}
canvas.discardActiveObject()
targetModules.forEach((module) => {
const { top, left } = getPosotion(module, type, moduleIntvlVer, true)

View File

@ -338,10 +338,27 @@ export function useModuleBasicSetting(tabNum) {
})
let isNorth = false
const defaultTrestleDetail = {
rackYn: 'N',
moduleIntvlHor: +roofSizeSet === 3 ? 300 : 0,
moduleIntvlVer: +roofSizeSet === 3 ? 100 : 0,
rack: null,
rackQty: 0,
rackIntvlPct: 0,
cvrPlvrYn: 'N',
lessSupFitIntvlPct: 0,
lessSupFitQty: 0,
}
const isExistSurface = canvas.getObjects().find((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && obj.parentId === roof.id)
const normalizedTrestleDetail = trestleDetail
? { ...defaultTrestleDetail, ...trestleDetail }
: isExistSurface?.trestleDetail
? { ...defaultTrestleDetail, ...isExistSurface.trestleDetail }
: defaultTrestleDetail
if (isExistSurface) {
isExistSurface.set({ trestleDetail: normalizedTrestleDetail })
if (canvasSetting.roofSizeSet != '3') {
//북면이 있지만
if (roof.directionText && roof.directionText.indexOf('北') > -1) {
@ -424,7 +441,7 @@ export function useModuleBasicSetting(tabNum) {
originY: 'center',
modules: [],
roofMaterial: roof.roofMaterial,
trestleDetail: trestleDetail,
trestleDetail: normalizedTrestleDetail,
isNorth: isNorth,
perPixelTargetFind: true,
isSaleStoreNorthFlg: moduleSelectionData.common.saleStoreNorthFlg == '1' ? true : false, //북면설치가능점 여부

View File

@ -65,6 +65,10 @@ export const useTrestle = () => {
if (+roofSizeSet === 3) {
return
}
const trestleDetail = surface.trestleDetail
if (!trestleDetail) {
return
}
const construction = moduleSelectionData?.roofConstructions?.find((construction) => construction.roofIndex === roofMaterialIndex).construction
if (!construction) {
return
@ -76,8 +80,8 @@ export const useTrestle = () => {
let isSnowGuard = construction.setupSnowCover
let cvrLmtRow = construction.cvrLmtRow
const direction = parent.direction
const rack = surface.trestleDetail.rack
let { rackQty, rackIntvlPct, rackYn, cvrPlvrYn, lessSupFitIntvlPct, lessSupFitQty } = surface.trestleDetail
const rack = trestleDetail.rack
let { rackQty, rackIntvlPct, rackYn, cvrPlvrYn, lessSupFitIntvlPct, lessSupFitQty } = trestleDetail
if (!rack && lessSupFitIntvlPct === 0 && lessSupFitQty === 0) {
//25/02/06 가대없음의 경우 랙정보가 없음