Merge branch 'dev' of https://git.jetbrains.space/nalpari/q-cast-iii/qcast-front into dev-ds
This commit is contained in:
commit
14e8909f64
@ -28,6 +28,8 @@ import useSWRMutation from 'swr/mutation'
|
|||||||
import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController'
|
import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController'
|
||||||
import { canvasPopupStatusStore } from '@/store/canvasPopupStatusAtom'
|
import { canvasPopupStatusStore } from '@/store/canvasPopupStatusAtom'
|
||||||
import { moduleSelectionDataPlanListState } from '@/store/selectedModuleOptions'
|
import { moduleSelectionDataPlanListState } from '@/store/selectedModuleOptions'
|
||||||
|
import { useRouter } from 'next/navigation'
|
||||||
|
import { QcastContext } from '@/app/QcastProvider'
|
||||||
|
|
||||||
export default function Playground() {
|
export default function Playground() {
|
||||||
const [useCadFile, setUseCadFile] = useRecoilState(useCadFileState)
|
const [useCadFile, setUseCadFile] = useRecoilState(useCadFileState)
|
||||||
@ -56,6 +58,13 @@ export default function Playground() {
|
|||||||
|
|
||||||
const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext)
|
const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext)
|
||||||
|
|
||||||
|
const router = useRouter()
|
||||||
|
const { setIsGlobalLoading } = useContext(QcastContext)
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setIsGlobalLoading(false)
|
||||||
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log('textInput:', textInput)
|
console.log('textInput:', textInput)
|
||||||
}, [textInput])
|
}, [textInput])
|
||||||
@ -891,6 +900,19 @@ export default function Playground() {
|
|||||||
Test Data insert
|
Test Data insert
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="my-2">
|
||||||
|
<Button
|
||||||
|
onClick={() => {
|
||||||
|
const params = {
|
||||||
|
pid: 1,
|
||||||
|
objectNo: 'RT01250131002',
|
||||||
|
}
|
||||||
|
router.push(`/floor-plan/estimate/5?pid=${params.pid}&objectNo=${params.objectNo}`)
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
견적서 페이지 이동
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|||||||
@ -28,7 +28,6 @@ export default function CanvasFrame() {
|
|||||||
const { currentCanvasPlan } = usePlan()
|
const { currentCanvasPlan } = usePlan()
|
||||||
const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부
|
const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부
|
||||||
const { setIsGlobalLoading } = useContext(QcastContext)
|
const { setIsGlobalLoading } = useContext(QcastContext)
|
||||||
const [moduleStatistics, setModuleStatistics] = useRecoilState(moduleStatisticsState)
|
|
||||||
const reset = useResetRecoilState(moduleStatisticsState)
|
const reset = useResetRecoilState(moduleStatisticsState)
|
||||||
const loadCanvas = () => {
|
const loadCanvas = () => {
|
||||||
if (canvas) {
|
if (canvas) {
|
||||||
|
|||||||
@ -354,22 +354,28 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
id: uuidv4(),
|
id: uuidv4(),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const PcsVoltageChkParams = {
|
const pcsVoltageChkParams = {
|
||||||
...getOptYn(),
|
...getOptYn(),
|
||||||
useModuleItemList: getUseModuleItemList(),
|
useModuleItemList: getUseModuleItemList(),
|
||||||
roofSurfaceList: getRoofSurfaceList(),
|
roofSurfaceList: getRoofSurfaceList(),
|
||||||
pcsItemList: getPcsItemList(),
|
pcsItemList: getPcsItemList(),
|
||||||
}
|
}
|
||||||
setSelectedModels(selectedModels)
|
setSelectedModels(selectedModels)
|
||||||
getPcsVoltageChk(PcsVoltageChkParams).then((res) => {})
|
getPcsVoltageChk(pcsVoltageChkParams).then((res) => {
|
||||||
|
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
swalFire({
|
swalFire({
|
||||||
title: '파워컨디셔너를 추가해 주세요.',
|
title: res.result.resultMsg,
|
||||||
type: 'alert',
|
type: 'alert',
|
||||||
|
confirmFn: () => {
|
||||||
|
return
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (pcsCheck.max) {
|
} else {
|
||||||
const moduleStdQty = selectedModels.reduce((acc, model) => {
|
const moduleStdQty = selectedModels.reduce((acc, model) => {
|
||||||
return acc + parseInt(model.moduleStdQty)
|
return acc + parseInt(model.moduleStdQty)
|
||||||
}, 0)
|
}, 0)
|
||||||
@ -387,9 +393,9 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// StepUp에서 선택된 값들을 처리하는 함수 수정
|
// StepUp에서 선택된 값들을 처리하는 함수 수정
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { GlobalDataContext } from '@/app/GlobalDataProvider'
|
import { GlobalDataContext } from '@/app/GlobalDataProvider'
|
||||||
import { POLYGON_TYPE } from '@/common/common'
|
import { POLYGON_TYPE } from '@/common/common'
|
||||||
import { useMasterController } from '@/hooks/common/useMasterController'
|
import { useMasterController } from '@/hooks/common/useMasterController'
|
||||||
|
import { useModule } from '@/hooks/module/useModule'
|
||||||
import { useMessage } from '@/hooks/useMessage'
|
import { useMessage } from '@/hooks/useMessage'
|
||||||
import { useSwal } from '@/hooks/useSwal'
|
import { useSwal } from '@/hooks/useSwal'
|
||||||
import { canvasState } from '@/store/canvasAtom'
|
import { canvasState } from '@/store/canvasAtom'
|
||||||
@ -11,37 +12,29 @@ import { useRecoilState, useRecoilValue } from 'recoil'
|
|||||||
|
|
||||||
export default function PassivityCircuitAllocation(props) {
|
export default function PassivityCircuitAllocation(props) {
|
||||||
const {
|
const {
|
||||||
tabNum,
|
|
||||||
setTabNum,
|
|
||||||
selectedModels,
|
selectedModels,
|
||||||
setSelectedModels,
|
setSelectedModels,
|
||||||
getOptYn: getApiProps,
|
getOptYn: getApiProps,
|
||||||
getUseModuleItemList: getSelectedModuleList,
|
getUseModuleItemList: getSelectedModuleList,
|
||||||
getSelectModelList: getSelectModelList,
|
getSelectModelList: getSelectModelList,
|
||||||
getRoofSurfaceList,
|
|
||||||
getModelList,
|
|
||||||
} = props
|
} = props
|
||||||
const { swalFire } = useSwal()
|
const { swalFire } = useSwal()
|
||||||
const { getMessage } = useMessage()
|
const { getMessage } = useMessage()
|
||||||
const canvas = useRecoilValue(canvasState)
|
const canvas = useRecoilValue(canvasState)
|
||||||
const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext)
|
const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext)
|
||||||
const selectedModules = useRecoilValue(selectedModuleState)
|
const selectedModules = useRecoilValue(selectedModuleState)
|
||||||
const [moduleStatistics, setModuleStatistics] = useRecoilState(moduleStatisticsState)
|
|
||||||
// const [totalWpout, setTotalWpout] = useState(0)
|
|
||||||
const [selectedPcs, setSelectedPcs] = useState(selectedModels[0])
|
const [selectedPcs, setSelectedPcs] = useState(selectedModels[0])
|
||||||
// const { header, rows: row } = moduleStatistics
|
const { header, rows, footer } = useRecoilValue(moduleStatisticsState)
|
||||||
const [header, setHeader] = useState(moduleStatistics.header)
|
|
||||||
const [rows, setRows] = useState(moduleStatistics.rows)
|
|
||||||
const [footer, setFooter] = useState(['합계'])
|
|
||||||
const [circuitNumber, setCircuitNumber] = useState(1)
|
const [circuitNumber, setCircuitNumber] = useState(1)
|
||||||
const [targetModules, setTargetModules] = useState([])
|
const [targetModules, setTargetModules] = useState([])
|
||||||
|
const { setModuleStatisticsData } = useModule()
|
||||||
const { getPcsManualConfChk } = useMasterController()
|
const { getPcsManualConfChk } = useMasterController()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log('header, rows', header, rows)
|
console.log('header, rows', header, rows)
|
||||||
console.log('selectedModels', selectedModels)
|
console.log('selectedModels', selectedModels)
|
||||||
// setSurfaceInfo()
|
// setSurfaceInfo()
|
||||||
setTableData()
|
setModuleStatisticsData()
|
||||||
if (!managementState) {
|
if (!managementState) {
|
||||||
setManagementState(managementStateLoaded)
|
setManagementState(managementStateLoaded)
|
||||||
}
|
}
|
||||||
@ -158,7 +151,14 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleCircuitNumberFix = () => {
|
const handleCircuitNumberFix = () => {
|
||||||
let uniqueCircuitNumbers = null
|
let uniqueCircuitNumbers = [
|
||||||
|
...new Set(
|
||||||
|
canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => obj.name === POLYGON_TYPE.MODULE && obj.circuitNumber)
|
||||||
|
.map((obj) => obj.circuitNumber),
|
||||||
|
),
|
||||||
|
]
|
||||||
if (!circuitNumber || circuitNumber === 0) {
|
if (!circuitNumber || circuitNumber === 0) {
|
||||||
swalFire({
|
swalFire({
|
||||||
text: '회로번호를 1 이상입력해주세요.',
|
text: '회로번호를 1 이상입력해주세요.',
|
||||||
@ -174,15 +174,6 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
} else if (selectedModels.length > 1) {
|
} else if (selectedModels.length > 1) {
|
||||||
uniqueCircuitNumbers = [
|
|
||||||
...new Set(
|
|
||||||
canvas
|
|
||||||
.getObjects()
|
|
||||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE && obj.circuitNumber)
|
|
||||||
.map((obj) => obj.circuitNumber),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
let result = false
|
let result = false
|
||||||
uniqueCircuitNumbers.forEach((number) => {
|
uniqueCircuitNumbers.forEach((number) => {
|
||||||
if (
|
if (
|
||||||
@ -335,7 +326,7 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
|
|
||||||
setTargetModules([])
|
setTargetModules([])
|
||||||
setCircuitNumber(+circuitNumber + 1)
|
setCircuitNumber(+circuitNumber + 1)
|
||||||
setTableData()
|
setModuleStatisticsData()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -347,100 +338,6 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const setTableData = () => {
|
|
||||||
const tempHeader = [
|
|
||||||
{ name: getMessage('simulator.table.sub1'), prop: 'name' },
|
|
||||||
{ name: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.circuit'), prop: 'circuit' },
|
|
||||||
...selectedModules.itemList.map((module) => {
|
|
||||||
return {
|
|
||||||
name: module.itemNm,
|
|
||||||
prop: module.itemId,
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
{ name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`, prop: 'wpOut' },
|
|
||||||
]
|
|
||||||
|
|
||||||
const surfaces = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
|
||||||
const surfaceIds = surfaces.map((surface) => surface.parentId)
|
|
||||||
const surfaceObjects = {}
|
|
||||||
const rows = surfaces.map((surface) => {
|
|
||||||
const moduleObject = {}
|
|
||||||
surfaceObjects[surface.id] = {
|
|
||||||
roofSurface: canvas.getObjects().filter((obj) => obj.id === surface.parentId)[0].directionText,
|
|
||||||
circuit: '-',
|
|
||||||
amount: 0,
|
|
||||||
wpOut: 0,
|
|
||||||
circuits: {},
|
|
||||||
}
|
|
||||||
|
|
||||||
surface.modules.forEach((module) => {
|
|
||||||
if (!surfaceObjects[surface.id][module.moduleInfo.itemId]) {
|
|
||||||
// 지붕면에 모듈 존재 여부
|
|
||||||
surfaceObjects[surface.id][module.moduleInfo.itemId] = 0 // 모듈 초기화
|
|
||||||
}
|
|
||||||
|
|
||||||
surfaceObjects[surface.id][module.moduleInfo.itemId]++
|
|
||||||
surfaceObjects[surface.id].wpOut += +module.moduleInfo.wpOut
|
|
||||||
if (module.circuit) {
|
|
||||||
if (!surfaceObjects[surface.id].circuits[module.circuitNumber]) {
|
|
||||||
surfaceObjects[surface.id].circuits[module.circuitNumber] = {
|
|
||||||
circuit: module.circuitNumber,
|
|
||||||
wpOut: 0,
|
|
||||||
circuits: { wpOut: 0 },
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]) {
|
|
||||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId] = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]++
|
|
||||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits.wpOut += +module.moduleInfo.wpOut
|
|
||||||
surfaceObjects[surface.id].wpOut -= +module.moduleInfo.wpOut
|
|
||||||
surfaceObjects[surface.id][module.moduleInfo.itemId]--
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
console.log('rows', rows)
|
|
||||||
console.log('surfaceObjects', surfaceObjects)
|
|
||||||
let tempRows = []
|
|
||||||
Object.keys(surfaceObjects).forEach((key) => {
|
|
||||||
let tempRow = {
|
|
||||||
name: surfaceObjects[key].roofSurface,
|
|
||||||
circuit: surfaceObjects[key].circuit,
|
|
||||||
wpOut: surfaceObjects[key].wpOut,
|
|
||||||
}
|
|
||||||
selectedModules.itemList.forEach((module) => {
|
|
||||||
tempRow[module.itemId] = surfaceObjects[key][module.itemId]
|
|
||||||
})
|
|
||||||
tempRows.push(tempRow)
|
|
||||||
|
|
||||||
Object.keys(surfaceObjects[key].circuits).forEach((circuit) => {
|
|
||||||
let row = {
|
|
||||||
name: surfaceObjects[key].roofSurface,
|
|
||||||
circuit: surfaceObjects[key].circuits[circuit].circuit,
|
|
||||||
wpOut: surfaceObjects[key].circuits[circuit].circuits.wpOut,
|
|
||||||
}
|
|
||||||
selectedModules.itemList.forEach((module) => {
|
|
||||||
row[module.itemId] = surfaceObjects[key].circuits[circuit].circuits[module.itemId]
|
|
||||||
})
|
|
||||||
tempRows.push(row)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
const tempFooter = {
|
|
||||||
name: '총합',
|
|
||||||
circuit: '-',
|
|
||||||
wpOut: tempRows.reduce((acc, row) => acc + row.wpOut, 0),
|
|
||||||
}
|
|
||||||
selectedModules.itemList.forEach((module) => {
|
|
||||||
tempFooter[module.itemId] = tempRows.reduce((acc, row) => acc + row[module.itemId], 0)
|
|
||||||
})
|
|
||||||
|
|
||||||
setHeader(tempHeader)
|
|
||||||
setRows(tempRows.filter((row) => row.wpOut !== 0))
|
|
||||||
setFooter(tempFooter)
|
|
||||||
setModuleStatistics({ header: tempHeader, rows: tempRows.filter((row) => row.wpOut !== 0), footer: tempFooter })
|
|
||||||
}
|
|
||||||
|
|
||||||
const initSelectedPcsCircuitNumber = () => {
|
const initSelectedPcsCircuitNumber = () => {
|
||||||
swalFire({
|
swalFire({
|
||||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.init.info'),
|
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.init.info'),
|
||||||
@ -516,9 +413,7 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
<tr>
|
<tr>
|
||||||
{header.map((header, i) => (
|
{header.map((header, i) => (
|
||||||
<td className="al-c" key={'footer' + i}>
|
<td className="al-c" key={'footer' + i}>
|
||||||
{typeof footer[header.prop] === 'number'
|
{footer[header.prop]}
|
||||||
? footer[header.prop].toLocaleString('ko-KR', { maximumFractionDigits: 4 })
|
|
||||||
: footer[header.prop]}
|
|
||||||
</td>
|
</td>
|
||||||
))}
|
))}
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -45,175 +45,188 @@ export default function ContextRoofAllocationSetting(props) {
|
|||||||
return (
|
return (
|
||||||
<WithDraggable isShow={true} pos={pos}>
|
<WithDraggable isShow={true} pos={pos}>
|
||||||
<div className={`modal-pop-wrap lr mount`}>
|
<div className={`modal-pop-wrap lr mount`}>
|
||||||
<div className="modal-head modal-handle">
|
{currentRoofList && (
|
||||||
<h1 className="title">{getMessage('plan.menu.estimate.roof.alloc')}</h1>
|
<>
|
||||||
<button className="modal-close" onClick={() => closePopup(id)}>
|
<div className="modal-head modal-handle">
|
||||||
닫기
|
<h1 className="title">{getMessage('plan.menu.estimate.roof.alloc')}</h1>
|
||||||
</button>
|
<button className="modal-close" onClick={() => closePopup(id)}>
|
||||||
</div>
|
닫기
|
||||||
<div className="modal-body">
|
</button>
|
||||||
<div className="properties-guide">{getMessage('modal.roof.alloc.info')}</div>
|
|
||||||
<div className="allocation-select-wrap">
|
|
||||||
<span>{getMessage('modal.roof.alloc.select.roof.material')}</span>
|
|
||||||
<div className="grid-select">
|
|
||||||
<QSelectBox
|
|
||||||
options={roofMaterials}
|
|
||||||
value={roofMaterials[0]}
|
|
||||||
onChange={(e) => {
|
|
||||||
// const selected = roofMaterials.find((roofMaterial) => roofMaterial.roofMatlCd === e.id)
|
|
||||||
setCurrentRoofMaterial(e)
|
|
||||||
}}
|
|
||||||
showKey={'roofMatlNm'}
|
|
||||||
sourceKey={'roofMatlCd'}
|
|
||||||
targetKey={'roofMatlCd'}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<button
|
<div className="modal-body">
|
||||||
className="allocation-edit"
|
<div className="properties-guide">{getMessage('modal.roof.alloc.info')}</div>
|
||||||
onClick={() => {
|
<div className="allocation-select-wrap">
|
||||||
onAddRoofMaterial()
|
<span>{getMessage('modal.roof.alloc.select.roof.material')}</span>
|
||||||
}}
|
<div className="grid-select">
|
||||||
>
|
<QSelectBox
|
||||||
<i className="edit-ico"></i>
|
options={roofMaterials}
|
||||||
{getMessage('modal.common.add')}
|
value={roofMaterials[0]}
|
||||||
</button>
|
onChange={(e) => {
|
||||||
</div>
|
// const selected = roofMaterials.find((roofMaterial) => roofMaterial.roofMatlCd === e.id)
|
||||||
<div className="grid-option-wrap">
|
setCurrentRoofMaterial(e)
|
||||||
{currentRoofList.length > 0 &&
|
}}
|
||||||
currentRoofList.map((roof, index) => {
|
showKey={'roofMatlNm'}
|
||||||
return (
|
sourceKey={'roofMatlCd'}
|
||||||
<div className="grid-option-box" key={index}>
|
targetKey={'roofMatlCd'}
|
||||||
<div className="d-check-radio pop no-text">
|
/>
|
||||||
<input type="radio" name="radio01" checked={roof.selected && 'checked'} readOnly={true} />
|
</div>
|
||||||
<label
|
<button
|
||||||
htmlFor="ra01"
|
className="allocation-edit"
|
||||||
onClick={(e) => {
|
onClick={() => {
|
||||||
handleDefaultRoofMaterial(index)
|
onAddRoofMaterial()
|
||||||
}}
|
}}
|
||||||
></label>
|
>
|
||||||
</div>
|
<i className="edit-ico"></i>
|
||||||
<div className="grid-option-block-form">
|
{getMessage('modal.common.add')}
|
||||||
<div className="block-box">
|
</button>
|
||||||
<div className="flex-ment">
|
</div>
|
||||||
<div className="grid-select" style={{ width: '248px' }}>
|
<div className="grid-option-overflow">
|
||||||
<QSelectBox
|
<div className="grid-option-wrap">
|
||||||
options={roofMaterials}
|
{currentRoofList.map((roof, index) => {
|
||||||
value={roof}
|
return (
|
||||||
showKey={'roofMatlNm'}
|
<div className="grid-option-box" key={index}>
|
||||||
sourceKey={'roofMatlCd'}
|
<div className="d-check-radio pop no-text">
|
||||||
targetKey={'roofMatlCd'}
|
<input type="radio" name="radio01" checked={roof.selected && 'checked'} readOnly={true} />
|
||||||
onChange={(e) => handleChangeRoofMaterial(e, index)}
|
<label
|
||||||
/>
|
htmlFor="ra01"
|
||||||
</div>
|
onClick={(e) => {
|
||||||
{index === 0 && <span className="dec">{getMessage('modal.roof.alloc.default.roof.material')}</span>}
|
handleDefaultRoofMaterial(index)
|
||||||
{index !== 0 && <button className="delete" onClick={() => onDeleteRoofMaterial(index)}></button>}
|
}}
|
||||||
|
></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div className="grid-option-block-form">
|
||||||
<div className="block-box">
|
<div className="block-box">
|
||||||
<div className="flex-ment">
|
|
||||||
<span>{getMessage('slope')}</span>
|
|
||||||
<div className="input-grid" style={{ width: '214px' }}>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
className="input-origin block"
|
|
||||||
onChange={(e) => {
|
|
||||||
handleChangeInput(e, currentAngleType === 'slope' ? 'pitch' : 'angle', index)
|
|
||||||
}}
|
|
||||||
defaultValue={currentAngleType === 'slope' ? roof.pitch : roof.angle}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span>{pitchText}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{(roof.widAuth || roof.lenAuth) && (
|
|
||||||
<div className="block-box">
|
|
||||||
{roof.widAuth && (
|
|
||||||
<div className="flex-ment">
|
<div className="flex-ment">
|
||||||
<span>W</span>
|
<div className="grid-select">
|
||||||
<div className="input-grid" style={{ width: '100px' }}>
|
<QSelectBox
|
||||||
<input type="text" className="input-origin block" defaultValue={roof.width} readOnly={roof.widAuth === 'R'} />
|
options={roofMaterials}
|
||||||
|
value={roof}
|
||||||
|
showKey={'roofMatlNm'}
|
||||||
|
sourceKey={'roofMatlCd'}
|
||||||
|
targetKey={'roofMatlCd'}
|
||||||
|
onChange={(e) => handleChangeRoofMaterial(e, index)}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
{index === 0 && <span className="absol dec">{getMessage('modal.roof.alloc.default.roof.material')}</span>}
|
||||||
|
{index !== 0 && (
|
||||||
|
<span className="absol">
|
||||||
|
<button className="delete" onClick={() => onDeleteRoofMaterial(index)}></button>
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
)}
|
</div>
|
||||||
{roof.lenAuth && (
|
<div className="block-box">
|
||||||
<div className="flex-ment">
|
<div className="flex-ment">
|
||||||
<span>L</span>
|
<span>{getMessage('slope')}</span>
|
||||||
<div className="input-grid" style={{ width: '100px' }}>
|
<div className="input-grid">
|
||||||
<input type="text" className="input-origin block" defaultValue={roof.length} readOnly={roof.lenAuth === 'R'} />
|
<input
|
||||||
|
type="text"
|
||||||
|
className="input-origin block"
|
||||||
|
onChange={(e) => {
|
||||||
|
handleChangeInput(e, currentAngleType === 'slope' ? 'pitch' : 'angle', index)
|
||||||
|
}}
|
||||||
|
defaultValue={currentAngleType === 'slope' ? roof.pitch : roof.angle}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<span className="absol">{pitchText}</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
</div>
|
||||||
</div>
|
{(roof.widAuth || roof.lenAuth) && (
|
||||||
)}
|
<>
|
||||||
{(roof.raftAuth || roof.roofPchAuth) && (
|
{roof.widAuth && (
|
||||||
<div className="block-box">
|
<div className="block-box">
|
||||||
{roof.raftAuth && (
|
<div className="flex-ment">
|
||||||
<div className="block-box">
|
<span>W</span>
|
||||||
<div className="flex-ment">
|
<div className="input-grid">
|
||||||
<span>{getMessage('modal.placement.initial.setting.rafter')}</span>
|
<input type="text" className="input-origin block" defaultValue={roof.width} readOnly={roof.widAuth === 'R'} />
|
||||||
{raftCodes.length > 0 && (
|
</div>
|
||||||
<div className="grid-select" style={{ width: '160px' }}>
|
|
||||||
<QSelectBox
|
|
||||||
options={raftCodes}
|
|
||||||
value={roof}
|
|
||||||
showKey={'clCodeNm'}
|
|
||||||
sourceKey={'clCode'}
|
|
||||||
targetKey={roof.raft ? 'raft' : 'raftBaseCd'}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
{roof.roofPchAuth && (
|
|
||||||
<div className="block-box">
|
|
||||||
<div className="flex-ment">
|
|
||||||
<span>{getMessage('hajebichi')}</span>
|
|
||||||
<div className="input-grid" style={{ width: '84px' }}>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
className="input-origin block"
|
|
||||||
value={parseInt(roof.hajebichi)}
|
|
||||||
readOnly={roof.roofPchAuth === 'R'}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
)}
|
||||||
</div>
|
{roof.lenAuth && (
|
||||||
|
<div className="block-box">
|
||||||
|
<div className="flex-ment">
|
||||||
|
<span>L</span>
|
||||||
|
<div className="input-grid">
|
||||||
|
<input type="text" className="input-origin block" defaultValue={roof.length} readOnly={roof.lenAuth === 'R'} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
</div>
|
{(roof.raftAuth || roof.roofPchAuth) && (
|
||||||
)}
|
<>
|
||||||
<div className="block-box">
|
{roof.raftAuth && (
|
||||||
<div className="icon-btn-wrap">
|
<div className="block-box">
|
||||||
<button
|
<div className="flex-ment">
|
||||||
className={roof.layout === ROOF_MATERIAL_LAYOUT.PARALLEL ? 'act' : ''}
|
<span>{getMessage('modal.placement.initial.setting.rafter')}</span>
|
||||||
onClick={() => {
|
{raftCodes.length > 0 && (
|
||||||
handleChangeLayout(ROOF_MATERIAL_LAYOUT.PARALLEL, index)
|
<div className="grid-select">
|
||||||
}}
|
<QSelectBox
|
||||||
>
|
options={raftCodes}
|
||||||
{getMessage('modal.roof.alloc.select.parallel')}
|
value={roof}
|
||||||
<i className="allocation01"></i>
|
showKey={'clCodeNm'}
|
||||||
</button>
|
sourceKey={'clCode'}
|
||||||
<button
|
targetKey={roof.raft ? 'raft' : 'raftBaseCd'}
|
||||||
className={roof.layout === ROOF_MATERIAL_LAYOUT.STAIRS ? 'act' : ''}
|
/>
|
||||||
onClick={() => {
|
</div>
|
||||||
handleChangeLayout(ROOF_MATERIAL_LAYOUT.STAIRS, index)
|
)}
|
||||||
}}
|
</div>
|
||||||
>
|
</div>
|
||||||
{getMessage('modal.roof.alloc.select.stairs')} <i className="allocation02"></i>
|
)}
|
||||||
</button>
|
{roof.roofPchAuth && (
|
||||||
|
<div className="block-box">
|
||||||
|
<div className="flex-ment">
|
||||||
|
<span>{getMessage('hajebichi')}</span>
|
||||||
|
<div className="input-grid">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
className="input-origin block"
|
||||||
|
value={parseInt(roof.hajebichi)}
|
||||||
|
readOnly={roof.roofPchAuth === 'R'}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
<div className="block-box">
|
||||||
|
<div className="icon-btn-wrap">
|
||||||
|
<button
|
||||||
|
className={roof.layout === ROOF_MATERIAL_LAYOUT.PARALLEL ? 'act' : ''}
|
||||||
|
onClick={() => {
|
||||||
|
handleChangeLayout(ROOF_MATERIAL_LAYOUT.PARALLEL, index)
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{getMessage('modal.roof.alloc.select.parallel')}
|
||||||
|
<i className="allocation01"></i>
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
className={roof.layout === ROOF_MATERIAL_LAYOUT.STAIRS ? 'act' : ''}
|
||||||
|
onClick={() => {
|
||||||
|
handleChangeLayout(ROOF_MATERIAL_LAYOUT.STAIRS, index)
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{getMessage('modal.roof.alloc.select.stairs')} <i className="allocation02"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
)
|
||||||
</div>
|
})}
|
||||||
)
|
</div>
|
||||||
})}
|
</div>
|
||||||
</div>
|
<div className="grid-btn-wrap">
|
||||||
<div className="grid-btn-wrap">
|
<button className="btn-frame modal act" onClick={handleSaveContext}>
|
||||||
<button className="btn-frame modal act" onClick={handleSaveContext}>
|
{getMessage('modal.roof.alloc.apply')}
|
||||||
{getMessage('modal.roof.alloc.apply')}
|
</button>
|
||||||
</button>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</>
|
||||||
|
)}
|
||||||
<div className="modal-foot modal-handle"></div>
|
<div className="modal-foot modal-handle"></div>
|
||||||
</div>
|
</div>
|
||||||
</WithDraggable>
|
</WithDraggable>
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
import { BATCH_TYPE, POLYGON_TYPE } from '@/common/common'
|
import { BATCH_TYPE, POLYGON_TYPE } from '@/common/common'
|
||||||
import { canvasState } from '@/store/canvasAtom'
|
import { canvasState } from '@/store/canvasAtom'
|
||||||
import { isOverlap, polygonToTurfPolygon, rectToPolygon } from '@/util/canvas-util'
|
import { isOverlap, polygonToTurfPolygon, rectToPolygon } from '@/util/canvas-util'
|
||||||
import { useRecoilValue } from 'recoil'
|
import { useRecoilValue, useSetRecoilState } from 'recoil'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import * as turf from '@turf/turf'
|
import * as turf from '@turf/turf'
|
||||||
import { useSwal } from '../useSwal'
|
import { useSwal } from '../useSwal'
|
||||||
import { useModuleBasicSetting } from './useModuleBasicSetting'
|
import { useModuleBasicSetting } from './useModuleBasicSetting'
|
||||||
import { useMessage } from '../useMessage'
|
import { useMessage } from '../useMessage'
|
||||||
|
import { selectedModuleState } from '@/store/selectedModuleOptions'
|
||||||
|
import { moduleStatisticsState } from '@/store/circuitTrestleAtom'
|
||||||
|
|
||||||
export const MODULE_REMOVE_TYPE = {
|
export const MODULE_REMOVE_TYPE = {
|
||||||
LEFT: 'left',
|
LEFT: 'left',
|
||||||
@ -35,6 +37,8 @@ export function useModule() {
|
|||||||
const { swalFire } = useSwal()
|
const { swalFire } = useSwal()
|
||||||
const { getMessage } = useMessage()
|
const { getMessage } = useMessage()
|
||||||
const { checkModuleDisjointObjects } = useModuleBasicSetting()
|
const { checkModuleDisjointObjects } = useModuleBasicSetting()
|
||||||
|
const selectedModules = useRecoilValue(selectedModuleState)
|
||||||
|
const setModuleStatistics = useSetRecoilState(moduleStatisticsState)
|
||||||
|
|
||||||
const moduleMove = (length, direction) => {
|
const moduleMove = (length, direction) => {
|
||||||
const selectedObj = canvas.getActiveObjects() //선택된 객체들을 가져옴
|
const selectedObj = canvas.getActiveObjects() //선택된 객체들을 가져옴
|
||||||
@ -929,6 +933,92 @@ export function useModule() {
|
|||||||
.filter((obj) => [BATCH_TYPE.OPENING, BATCH_TYPE.TRIANGLE_DORMER, BATCH_TYPE.PENTAGON_DORMER, BATCH_TYPE.SHADOW].includes(obj.name))
|
.filter((obj) => [BATCH_TYPE.OPENING, BATCH_TYPE.TRIANGLE_DORMER, BATCH_TYPE.PENTAGON_DORMER, BATCH_TYPE.SHADOW].includes(obj.name))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const setModuleStatisticsData = () => {
|
||||||
|
const tempHeader = [
|
||||||
|
{ name: getMessage('simulator.table.sub1'), prop: 'name' },
|
||||||
|
{ name: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.circuit'), prop: 'circuit' },
|
||||||
|
...selectedModules.itemList.map((module) => {
|
||||||
|
return {
|
||||||
|
name: module.itemNm,
|
||||||
|
prop: module.itemId,
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
{ name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`, prop: 'wpOut' },
|
||||||
|
]
|
||||||
|
const surfaceObjects = {}
|
||||||
|
const surfaces = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
||||||
|
const rows = surfaces.map((surface) => {
|
||||||
|
surfaceObjects[surface.id] = {
|
||||||
|
roofSurface: canvas.getObjects().filter((obj) => obj.id === surface.parentId)[0].directionText,
|
||||||
|
circuit: '-',
|
||||||
|
amount: 0,
|
||||||
|
wpOut: 0,
|
||||||
|
circuits: {},
|
||||||
|
}
|
||||||
|
|
||||||
|
surface.modules.forEach((module) => {
|
||||||
|
if (!surfaceObjects[surface.id][module.moduleInfo.itemId]) {
|
||||||
|
// 지붕면에 모듈 존재 여부
|
||||||
|
surfaceObjects[surface.id][module.moduleInfo.itemId] = 0 // 모듈 초기화
|
||||||
|
}
|
||||||
|
|
||||||
|
surfaceObjects[surface.id][module.moduleInfo.itemId]++
|
||||||
|
surfaceObjects[surface.id].wpOut += +module.moduleInfo.wpOut
|
||||||
|
if (module.circuit) {
|
||||||
|
if (!surfaceObjects[surface.id].circuits[module.circuitNumber]) {
|
||||||
|
surfaceObjects[surface.id].circuits[module.circuitNumber] = {
|
||||||
|
circuit: module.circuitNumber,
|
||||||
|
wpOut: 0,
|
||||||
|
circuits: { wpOut: 0 },
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]) {
|
||||||
|
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId] = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]++
|
||||||
|
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits.wpOut += +module.moduleInfo.wpOut
|
||||||
|
surfaceObjects[surface.id].wpOut -= +module.moduleInfo.wpOut
|
||||||
|
surfaceObjects[surface.id][module.moduleInfo.itemId]--
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
let tempRows = []
|
||||||
|
Object.keys(surfaceObjects).forEach((key) => {
|
||||||
|
let tempRow = {
|
||||||
|
name: surfaceObjects[key].roofSurface,
|
||||||
|
circuit: surfaceObjects[key].circuit,
|
||||||
|
wpOut: parseInt((surfaceObjects[key].wpOut / 1000).toFixed(3)),
|
||||||
|
}
|
||||||
|
selectedModules.itemList.forEach((module) => {
|
||||||
|
tempRow[module.itemId] = surfaceObjects[key][module.itemId]
|
||||||
|
})
|
||||||
|
tempRows.push(tempRow)
|
||||||
|
|
||||||
|
Object.keys(surfaceObjects[key].circuits).forEach((circuit) => {
|
||||||
|
let row = {
|
||||||
|
name: surfaceObjects[key].roofSurface,
|
||||||
|
circuit: surfaceObjects[key].circuits[circuit].circuit,
|
||||||
|
wpOut: parseInt((surfaceObjects[key].circuits[circuit].circuits.wpOut / 1000).toFixed(3)),
|
||||||
|
}
|
||||||
|
selectedModules.itemList.forEach((module) => {
|
||||||
|
row[module.itemId] = surfaceObjects[key].circuits[circuit].circuits[module.itemId]
|
||||||
|
})
|
||||||
|
tempRows.push(row)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const tempFooter = {
|
||||||
|
name: getMessage('modal.panel.batch.statistic.total'),
|
||||||
|
circuit: '-',
|
||||||
|
wpOut: tempRows.reduce((acc, row) => acc + row.wpOut, 0),
|
||||||
|
}
|
||||||
|
selectedModules.itemList.forEach((module) => {
|
||||||
|
tempFooter[module.itemId] = tempRows.reduce((acc, row) => acc + row[module.itemId], 0)
|
||||||
|
})
|
||||||
|
setModuleStatistics({ header: tempHeader, rows: tempRows.filter((row) => row.wpOut !== 0), footer: tempFooter })
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
moduleMove,
|
moduleMove,
|
||||||
moduleMultiMove,
|
moduleMultiMove,
|
||||||
@ -942,5 +1032,6 @@ export function useModule() {
|
|||||||
muduleRowInsert,
|
muduleRowInsert,
|
||||||
modulesRemove,
|
modulesRemove,
|
||||||
alignModule,
|
alignModule,
|
||||||
|
setModuleStatisticsData,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2468,7 +2468,7 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
...surface,
|
...surface,
|
||||||
name: canvas.getObjects().filter((obj) => obj.id === surface.parentId)[0].directionText, // 지붕면
|
name: canvas.getObjects().filter((obj) => obj.id === surface.parentId)[0].directionText, // 지붕면
|
||||||
// powerGeneration: wpOut.toLocaleString('ko-KR', { maximumFractionDigits: 4 }),
|
// powerGeneration: wpOut.toLocaleString('ko-KR', { maximumFractionDigits: 4 }),
|
||||||
wpOut: wpOut,
|
wpOut: (wpOut / 1000).toFixed(3),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -2481,7 +2481,7 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
}),
|
}),
|
||||||
{ name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`, prop: 'wpOut' },
|
{ name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`, prop: 'wpOut' },
|
||||||
]
|
]
|
||||||
let footer = ['합계']
|
let footer = [getMessage('modal.panel.batch.statistic.total')]
|
||||||
let footerData = {}
|
let footerData = {}
|
||||||
rows.forEach((row) => {
|
rows.forEach((row) => {
|
||||||
Object.keys(moduleInfo).map((key) => {
|
Object.keys(moduleInfo).map((key) => {
|
||||||
@ -2492,7 +2492,7 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
Object.keys(footerData).forEach((key) => {
|
Object.keys(footerData).forEach((key) => {
|
||||||
footer.push(footerData[key])
|
footer.push(footerData[key])
|
||||||
})
|
})
|
||||||
footer.push(totalWpout)
|
footer.push((totalWpout / 1000).toFixed(3))
|
||||||
console.log({ header: header, rows, footer: footer })
|
console.log({ header: header, rows, footer: footer })
|
||||||
setModuleStatistics({ header: header, rows, footer: footer })
|
setModuleStatistics({ header: header, rows, footer: footer })
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,9 +2,10 @@ import { useRecoilValue } from 'recoil'
|
|||||||
import { canvasState, currentAngleTypeSelector } from '@/store/canvasAtom'
|
import { canvasState, currentAngleTypeSelector } from '@/store/canvasAtom'
|
||||||
import { POLYGON_TYPE } from '@/common/common'
|
import { POLYGON_TYPE } from '@/common/common'
|
||||||
import { moduleSelectionDataState } from '@/store/selectedModuleOptions'
|
import { moduleSelectionDataState } from '@/store/selectedModuleOptions'
|
||||||
import { getDegreeByChon, getTrestleLength } from '@/util/canvas-util'
|
import { getDegreeByChon } from '@/util/canvas-util'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { useMasterController } from '@/hooks/common/useMasterController'
|
import { useMasterController } from '@/hooks/common/useMasterController'
|
||||||
|
import { basicSettingState } from '@/store/settingAtom'
|
||||||
|
|
||||||
// 회로 및 가대설정
|
// 회로 및 가대설정
|
||||||
export const useTrestle = () => {
|
export const useTrestle = () => {
|
||||||
@ -12,6 +13,7 @@ export const useTrestle = () => {
|
|||||||
const moduleSelectionData = useRecoilValue(moduleSelectionDataState) //다음으로 넘어가는 최종 데이터
|
const moduleSelectionData = useRecoilValue(moduleSelectionDataState) //다음으로 넘어가는 최종 데이터
|
||||||
const { getQuotationItem } = useMasterController()
|
const { getQuotationItem } = useMasterController()
|
||||||
const currentAngleType = useRecoilValue(currentAngleTypeSelector)
|
const currentAngleType = useRecoilValue(currentAngleTypeSelector)
|
||||||
|
const roofSizeSet = useRecoilValue(basicSettingState).roofSizeSet
|
||||||
|
|
||||||
const apply = () => {
|
const apply = () => {
|
||||||
try {
|
try {
|
||||||
@ -1787,6 +1789,16 @@ export const useTrestle = () => {
|
|||||||
return groups
|
return groups
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 각도에 따른 길이 반환
|
||||||
|
function getTrestleLength(length, degree) {
|
||||||
|
if (roofSizeSet !== 1) {
|
||||||
|
// 복시도 입력이 아닌경우 그냥 길이 return
|
||||||
|
return length
|
||||||
|
}
|
||||||
|
const radians = (degree * Math.PI) / 180
|
||||||
|
return length * Math.cos(radians)
|
||||||
|
}
|
||||||
|
|
||||||
// 견적서 아이템 조회 api parameter 생성
|
// 견적서 아이템 조회 api parameter 생성
|
||||||
const getTrestleParams = (surface) => {
|
const getTrestleParams = (surface) => {
|
||||||
const result = calculateForApi(surface)
|
const result = calculateForApi(surface)
|
||||||
|
|||||||
@ -5,11 +5,11 @@
|
|||||||
"header.menus.management": "オブジェクトと図面の管理",
|
"header.menus.management": "オブジェクトと図面の管理",
|
||||||
"header.menus.management.newStuff": "新規物件登録",
|
"header.menus.management.newStuff": "新規物件登録",
|
||||||
"header.menus.management.detail": "物件詳細",
|
"header.menus.management.detail": "物件詳細",
|
||||||
"header.menus.management.stuffList": "物件の現状",
|
"header.menus.management.stuffList": "見積状況",
|
||||||
"header.menus.community": "コミュニティ",
|
"header.menus.community": "コミュニティ",
|
||||||
"header.menus.community.notice": "お知らせ",
|
"header.menus.community.notice": "お知らせ",
|
||||||
"header.menus.community.faq": "FAQ",
|
"header.menus.community.faq": "FAQ",
|
||||||
"header.menus.community.archive": "ドキュメントダウンロード",
|
"header.menus.community.archive": "文書ダウンロード",
|
||||||
"header.logout": "ログアウト",
|
"header.logout": "ログアウト",
|
||||||
"header.go": "移動",
|
"header.go": "移動",
|
||||||
"header.online.warranty.system": "オンライン保証システム",
|
"header.online.warranty.system": "オンライン保証システム",
|
||||||
@ -17,23 +17,23 @@
|
|||||||
"plan.menu.plan.drawing": "物件情報",
|
"plan.menu.plan.drawing": "物件情報",
|
||||||
"plan.menu.placement.surface.initial.setting": "配置面初期設定",
|
"plan.menu.placement.surface.initial.setting": "配置面初期設定",
|
||||||
"modal.placement.initial.setting.plan.drawing": "図面の作成方法",
|
"modal.placement.initial.setting.plan.drawing": "図面の作成方法",
|
||||||
"modal.placement.initial.setting.plan.drawing.size.stuff": "寸法入力による品目作成",
|
"modal.placement.initial.setting.plan.drawing.size.stuff": "寸法入力による物件作成",
|
||||||
"modal.placement.initial.setting.size": "寸法入力方法",
|
"modal.placement.initial.setting.size": "寸法入力方法",
|
||||||
"modal.placement.initial.setting.size.info": "寸法入力方法案内",
|
"modal.placement.initial.setting.size.info": "寸法入力方法案内",
|
||||||
"modal.placement.initial.setting.size.roof": "複視図入力",
|
"modal.placement.initial.setting.size.roof": "伏図入力",
|
||||||
"modal.placement.initial.setting.size.roof.info": "平面の外壁線と立面の屋根勾配に基づいて作画する場合選択",
|
"modal.placement.initial.setting.size.roof.info": "平面の外壁線と立面の屋根勾配に基づいて作画する場合選択",
|
||||||
"modal.placement.initial.setting.size.actual": "実測値入力",
|
"modal.placement.initial.setting.size.actual": "実測値入力",
|
||||||
"modal.placement.initial.setting.size.actual.info": "現地屋根の外周寸法を入力して作画する場合選択",
|
"modal.placement.initial.setting.size.actual.info": "屋根の外周寸法を入力して作画する場合選択",
|
||||||
"modal.placement.initial.setting.size.none.pitch": "陸上屋根",
|
"modal.placement.initial.setting.size.none.pitch": "陸屋根",
|
||||||
"modal.placement.initial.setting.size.none.pitch.info": "傾斜のない平面形状の屋根にパネルを配置する場合に選択",
|
"modal.placement.initial.setting.size.none.pitch.info": "傾斜のない平面形状の屋根にパネルを配置する場合に選択",
|
||||||
"modal.placement.initial.setting.roof.angle.setting": "屋根角度設定",
|
"modal.placement.initial.setting.roof.angle.setting": "角度設定",
|
||||||
"modal.placement.initial.setting.roof.pitch": "傾斜",
|
"modal.placement.initial.setting.roof.pitch": "傾斜",
|
||||||
"modal.placement.initial.setting.roof.angle": "角度",
|
"modal.placement.initial.setting.roof.angle": "角度",
|
||||||
"modal.placement.initial.setting.roof.material": "屋根材選択(単位mm)",
|
"modal.placement.initial.setting.roof.material": "屋根材選択(単位mm)",
|
||||||
"modal.placement.initial.setting.roof.material.info": "対応可能な屋根材や足場は限定されますので、必ず事前マニュアルをご確認ください。",
|
"modal.placement.initial.setting.roof.material.info": "対応可能な屋根材や足場は限定されますので、必ず事前マニュアルをご確認ください。",
|
||||||
"modal.placement.initial.setting.rafter": "垂木",
|
"modal.placement.initial.setting.rafter": "垂木",
|
||||||
"modal.roof.shape.setting": "屋根形状の設定",
|
"modal.roof.shape.setting": "屋根形状の設定",
|
||||||
"modal.roof.shape.setting.ridge": "龍丸",
|
"modal.roof.shape.setting.ridge": "棟",
|
||||||
"modal.roof.shape.setting.patten.a": "Aパターン",
|
"modal.roof.shape.setting.patten.a": "Aパターン",
|
||||||
"modal.roof.shape.setting.patten.b": "Bパターン",
|
"modal.roof.shape.setting.patten.b": "Bパターン",
|
||||||
"modal.roof.shape.setting.side": "別に設定",
|
"modal.roof.shape.setting.side": "別に設定",
|
||||||
@ -42,14 +42,14 @@
|
|||||||
"plan.menu.roof.cover.roof.shape.setting": "屋根形状の設定",
|
"plan.menu.roof.cover.roof.shape.setting": "屋根形状の設定",
|
||||||
"plan.menu.roof.cover.roof.shape.passivity.setting": "屋根形状の手動設定",
|
"plan.menu.roof.cover.roof.shape.passivity.setting": "屋根形状の手動設定",
|
||||||
"plan.menu.roof.cover.eaves.kerava.edit": "軒・ケラバ変更",
|
"plan.menu.roof.cover.eaves.kerava.edit": "軒・ケラバ変更",
|
||||||
"plan.menu.roof.cover.movement.shape.updown": "銅線移動・型上げ下り",
|
"plan.menu.roof.cover.movement.shape.updown": "軒線移動・桁上げ下り",
|
||||||
"modal.movement.flow.line.move": "銅線の移動",
|
"modal.movement.flow.line.move": "軒線の移動",
|
||||||
"modal.movement.flow.line.move.alert": "移動する数ない。",
|
"modal.movement.flow.line.move.alert": "移動する数ない。",
|
||||||
"modal.movement.flow.line.updown": "型上げ・下り",
|
"modal.movement.flow.line.updown": "桁上げ・下り",
|
||||||
"modal.movement.flow.line.updown.info": "桁の異なる辺を選択し、幅を指定します。",
|
"modal.movement.flow.line.updown.info": "桁の異なる辺を選択し、幅を指定します。",
|
||||||
"modal.movement.flow.line.updown.up": "桁を上げる",
|
"modal.movement.flow.line.updown.up": "桁を上げる",
|
||||||
"modal.movement.flow.line.updown.down": "桁数を下げる",
|
"modal.movement.flow.line.updown.down": "桁数を下げる",
|
||||||
"modal.movement.flow.line.info": "銅線を選択して移動幅を指定します",
|
"modal.movement.flow.line.info": "軒線を選択して移動幅を指定します",
|
||||||
"modal.movement.flow.line.bottom.left": "高さ変更:下、左",
|
"modal.movement.flow.line.bottom.left": "高さ変更:下、左",
|
||||||
"modal.movement.flow.line.top.right": "高さ変更:上、右",
|
"modal.movement.flow.line.top.right": "高さ変更:上、右",
|
||||||
"plan.menu.roof.cover.outline.edit.offset": "外壁の編集とオフセット",
|
"plan.menu.roof.cover.outline.edit.offset": "外壁の編集とオフセット",
|
||||||
@ -59,17 +59,17 @@
|
|||||||
"modal.cover.outline.drawing": "外壁線の作成",
|
"modal.cover.outline.drawing": "外壁線の作成",
|
||||||
"modal.cover.outline": "外壁線",
|
"modal.cover.outline": "外壁線",
|
||||||
"modal.cover.outline.right.angle": "直角",
|
"modal.cover.outline.right.angle": "直角",
|
||||||
"modal.cover.outline2": "イ・グベ",
|
"modal.cover.outline2": "異勾配",
|
||||||
"modal.cover.outline.angle": "角度",
|
"modal.cover.outline.angle": "角度",
|
||||||
"modal.cover.outline.diagonal": "対角線",
|
"modal.cover.outline.diagonal": "対角線",
|
||||||
"modal.cover.outline.setting": "設定",
|
"modal.cover.outline.setting": "設定",
|
||||||
"modal.cover.outline.length": "長さ(mm)",
|
"modal.cover.outline.length": "長さ(mm)",
|
||||||
"modal.cover.outline.arrow": "方向(矢印)",
|
"modal.cover.outline.arrow": "方向(矢印)",
|
||||||
"modal.cover.outline.fix": "外壁線確定",
|
"modal.cover.outline.fix": "外壁線確定",
|
||||||
"modal.cover.outline.rollback": "一変戦に戻る",
|
"modal.cover.outline.rollback": "前に戻る",
|
||||||
"modal.cover.outline.finish": "設定完了",
|
"modal.cover.outline.finish": "設定完了",
|
||||||
"common.setting.finish": "設定完了",
|
"common.setting.finish": "設定完了",
|
||||||
"common.setting.rollback": "一変戦に戻る",
|
"common.setting.rollback": "前に戻る",
|
||||||
"modal.cover.outline.remove": "外壁の取り外し",
|
"modal.cover.outline.remove": "外壁の取り外し",
|
||||||
"modal.cover.outline.select.move": "外壁選択の移動",
|
"modal.cover.outline.select.move": "外壁選択の移動",
|
||||||
"plan.menu.placement.surface": "配置面",
|
"plan.menu.placement.surface": "配置面",
|
||||||
@ -77,29 +77,29 @@
|
|||||||
"plan.menu.placement.surface.drawing": "配置面の描画",
|
"plan.menu.placement.surface.drawing": "配置面の描画",
|
||||||
"modal.placement.surface.drawing.straight.line": "直線",
|
"modal.placement.surface.drawing.straight.line": "直線",
|
||||||
"modal.placement.surface.drawing.right.angle": "直角",
|
"modal.placement.surface.drawing.right.angle": "直角",
|
||||||
"modal.placement.surface.drawing.double.pitch": "イ・グベ",
|
"modal.placement.surface.drawing.double.pitch": "異勾配",
|
||||||
"modal.placement.surface.drawing.angle": "角度",
|
"modal.placement.surface.drawing.angle": "角度",
|
||||||
"modal.placement.surface.drawing.diagonal": "対角線",
|
"modal.placement.surface.drawing.diagonal": "対角線",
|
||||||
"modal.placement.surface.drawing.fix": "配置面確定",
|
"modal.placement.surface.drawing.fix": "配置面確定",
|
||||||
"plan.menu.placement.surface.arrangement": "面形状の配置",
|
"plan.menu.placement.surface.arrangement": "面形状の配置",
|
||||||
"plan.menu.placement.surface.object": "オブジェクトの配置",
|
"plan.menu.placement.surface.object": "モジュール配置",
|
||||||
"plan.menu.placement.surface.all.remove": "配置面全体を削除",
|
"plan.menu.placement.surface.all.remove": "配置面全体を削除",
|
||||||
"plan.menu.module.circuit.setting": "モジュール、回路構成",
|
"plan.menu.module.circuit.setting": "モジュール、回路構成",
|
||||||
"plan.menu.module.circuit.setting.default": "モジュール/架台設定",
|
"plan.menu.module.circuit.setting.default": "モジュール/架台設定",
|
||||||
"modal.module.basic.setting.orientation.setting": "方位設定",
|
"modal.module.basic.setting.orientation.setting": "方位設定",
|
||||||
"modal.module.basic.setting.orientation.setting.info": "※シミュレーション計算用方位を指定します。南の方位を設定してください。",
|
"modal.module.basic.setting.orientation.setting.info": "※シミュレーション計算用方位を指定します。南の方位を設定してください。",
|
||||||
"modal.module.basic.setting.orientation.setting.angle.passivity": "角度を直接入力",
|
"modal.module.basic.setting.orientation.setting.angle.passivity": "勾配を直接入力",
|
||||||
"modal.module.basic.setting.module.roof.material": "屋根材",
|
"modal.module.basic.setting.module.roof.material": "屋根材",
|
||||||
"modal.module.basic.setting.module.trestle.maker": "カデメーガー",
|
"modal.module.basic.setting.module.trestle.maker": "架台メーカー",
|
||||||
"modal.module.basic.setting.module.rafter.margin": "垂木の間隔",
|
"modal.module.basic.setting.module.rafter.margin": "垂木の間隔",
|
||||||
"modal.module.basic.setting.module.construction.method": "工法",
|
"modal.module.basic.setting.module.construction.method": "工法",
|
||||||
"modal.module.basic.setting.module.under.roof": "屋根の下",
|
"modal.module.basic.setting.module.under.roof": "屋根の下",
|
||||||
"modal.module.basic.setting.module.setting": "モジュールの選択",
|
"modal.module.basic.setting.module.setting": "モジュールの選択",
|
||||||
"modal.module.basic.setting.module.hajebichi": "マンドンピッチ",
|
"modal.module.basic.setting.module.hajebichi": "ハゼピッチ",
|
||||||
"modal.module.basic.setting.module.setting.info1": "※勾配の範囲には制限があります。屋根傾斜が2.5値未満10値を超える場合は、施工が可能かどうか施工マニュアルを確認してください。",
|
"modal.module.basic.setting.module.setting.info1": "※勾配の範囲には制限があります。屋根傾斜が2.5値未満10値を超える場合は、施工が可能かどうか施工マニュアルを確認してください。",
|
||||||
"modal.module.basic.setting.module.setting.info2": "※モジュール配置時は、施工マニュアルに記載されている<モジュール配置条件>を必ずご確認ください。",
|
"modal.module.basic.setting.module.setting.info2": "※モジュール配置時は、施工マニュアルに記載されている<モジュール配置条件>を必ずご確認ください。",
|
||||||
"modal.module.basic.setting.module.stuff.info": "物件情報",
|
"modal.module.basic.setting.module.stuff.info": "物件情報",
|
||||||
"modal.module.basic.setting.module.surface.type": "面照度",
|
"modal.module.basic.setting.module.surface.type": "面粗度区分",
|
||||||
"modal.module.basic.setting.module.fitting.height": "設置高さ",
|
"modal.module.basic.setting.module.fitting.height": "設置高さ",
|
||||||
"modal.module.basic.setting.module.standard.wind.speed": "基準風速",
|
"modal.module.basic.setting.module.standard.wind.speed": "基準風速",
|
||||||
"modal.module.basic.setting.module.standard.snowfall.amount": "積雪量",
|
"modal.module.basic.setting.module.standard.snowfall.amount": "積雪量",
|
||||||
@ -107,33 +107,33 @@
|
|||||||
"modal.module.basic.setting.module.enforce.construction": "強化施工",
|
"modal.module.basic.setting.module.enforce.construction": "強化施工",
|
||||||
"modal.module.basic.setting.module.multiple.construction": "多設施工",
|
"modal.module.basic.setting.module.multiple.construction": "多設施工",
|
||||||
"modal.module.basic.setting.module.eaves.bar.fitting": "軒カバーの設置",
|
"modal.module.basic.setting.module.eaves.bar.fitting": "軒カバーの設置",
|
||||||
"modal.module.basic.setting.module.blind.metal.fitting": "積雪防止今すぐインストール",
|
"modal.module.basic.setting.module.blind.metal.fitting": "積雪防止金具設置",
|
||||||
"modal.module.basic.setting.module.select": "モジュール/架台選択",
|
"modal.module.basic.setting.module.select": "モジュール/架台選択",
|
||||||
"modal.module.basic.setting.module.placement": "モジュールの配置",
|
"modal.module.basic.setting.module.placement": "モジュールの配置",
|
||||||
"modal.module.basic.setting.module.placement.select.fitting.type": "設置形態を選択してください。",
|
"modal.module.basic.setting.module.placement.select.fitting.type": "設置形態を選択してください。",
|
||||||
"modal.module.basic.setting.module.placement.waterfowl.arrangement": "水鳥の配置",
|
"modal.module.basic.setting.module.placement.waterfowl.arrangement": "千鳥配置",
|
||||||
"modal.module.basic.setting.module.placement.do": "する",
|
"modal.module.basic.setting.module.placement.do": "する",
|
||||||
"modal.module.basic.setting.module.placement.do.not": "しない",
|
"modal.module.basic.setting.module.placement.do.not": "しない",
|
||||||
"modal.module.basic.setting.module.placement.arrangement.standard": "配置基準",
|
"modal.module.basic.setting.module.placement.arrangement.standard": "配置基準",
|
||||||
"modal.module.basic.setting.module.placement.arrangement.standard.center": "中央",
|
"modal.module.basic.setting.module.placement.arrangement.standard.center": "中央",
|
||||||
"modal.module.basic.setting.module.placement.arrangement.standard.eaves": "軒",
|
"modal.module.basic.setting.module.placement.arrangement.standard.eaves": "軒",
|
||||||
"modal.module.basic.setting.module.placement.arrangement.standard.ridge": "龍丸",
|
"modal.module.basic.setting.module.placement.arrangement.standard.ridge": "棟",
|
||||||
"modal.module.basic.setting.module.placement.maximum": "最大配置",
|
"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": "配置基準設定",
|
||||||
"modal.module.basic.setting.pitch.module.placement.standard.setting.south": "南向き設置",
|
"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.select": "指定した辺を基準に設置",
|
||||||
"modal.module.basic.setting.pitch.module.allocation.setting": "割り当て設定",
|
"modal.module.basic.setting.pitch.module.allocation.setting": "割り当て設定",
|
||||||
"modal.module.basic.setting.pitch.module.allocation.setting.info": "※配置パネル種類1種類場合のみ使用する数あります。",
|
"modal.module.basic.setting.pitch.module.allocation.setting.info": "※配置パネルの種類が1種類の場合のみ使用できます。",
|
||||||
"modal.module.basic.setting.pitch.module.row.amount": "単数",
|
"modal.module.basic.setting.pitch.module.row.amount": "単数",
|
||||||
"modal.module.basic.setting.pitch.module.row.margin": "上下間隔",
|
"modal.module.basic.setting.pitch.module.row.margin": "上下間隔",
|
||||||
"modal.module.basic.setting.pitch.module.column.amount": "熱水",
|
"modal.module.basic.setting.pitch.module.column.amount": "列数",
|
||||||
"modal.module.basic.setting.pitch.module.column.margin": "左右間隔",
|
"modal.module.basic.setting.pitch.module.column.margin": "左右間隔",
|
||||||
"modal.module.basic.setting.prev": "以前",
|
"modal.module.basic.setting.prev": "移転",
|
||||||
"modal.module.basic.setting.passivity.placement": "手動配置",
|
"modal.module.basic.setting.passivity.placement": "手動配置",
|
||||||
"modal.module.basic.setting.auto.placement": "設定値に自動配置",
|
"modal.module.basic.setting.auto.placement": "設定値に自動配置",
|
||||||
"plan.menu.module.circuit.setting.circuit.trestle.setting": "回路設定",
|
"plan.menu.module.circuit.setting.circuit.trestle.setting": "回路設定",
|
||||||
"modal.circuit.trestle.setting": "回路設定",
|
"modal.circuit.trestle.setting": "回路設定",
|
||||||
"modal.circuit.trestle.setting.alloc.trestle": "仮代割当",
|
"modal.circuit.trestle.setting.alloc.trestle": "架台配置",
|
||||||
"modal.circuit.trestle.setting.power.conditional.select": "パワーコンディショナーの選択",
|
"modal.circuit.trestle.setting.power.conditional.select": "パワーコンディショナーの選択",
|
||||||
"modal.circuit.trestle.setting.power.conditional.select.cold.region": "寒冷地仕様",
|
"modal.circuit.trestle.setting.power.conditional.select.cold.region": "寒冷地仕様",
|
||||||
"modal.circuit.trestle.setting.power.conditional.select.name": "名称",
|
"modal.circuit.trestle.setting.power.conditional.select.name": "名称",
|
||||||
@ -169,7 +169,7 @@
|
|||||||
"modal.roof.alloc.default.roof.material": "基本屋根材",
|
"modal.roof.alloc.default.roof.material": "基本屋根材",
|
||||||
"modal.roof.alloc.select.roof.material": "屋根材の選択",
|
"modal.roof.alloc.select.roof.material": "屋根材の選択",
|
||||||
"modal.roof.alloc.select.parallel": "並列式",
|
"modal.roof.alloc.select.parallel": "並列式",
|
||||||
"modal.roof.alloc.select.stairs": "カスケード",
|
"modal.roof.alloc.select.stairs": "階段式",
|
||||||
"modal.roof.alloc.apply": "選択した屋根材として割り当て",
|
"modal.roof.alloc.apply": "選択した屋根材として割り当て",
|
||||||
"plan.menu.estimate.docDown": "文書のダウンロード",
|
"plan.menu.estimate.docDown": "文書のダウンロード",
|
||||||
"plan.menu.estimate.save": "保存",
|
"plan.menu.estimate.save": "保存",
|
||||||
@ -191,7 +191,7 @@
|
|||||||
"common.vertical": "縦",
|
"common.vertical": "縦",
|
||||||
"modal.font.setting.display": "見る",
|
"modal.font.setting.display": "見る",
|
||||||
"modal.font.setting.info": "これはOpen Typeフォントです。プリンタや画面でも同じフォントを使用してください。",
|
"modal.font.setting.info": "これはOpen Typeフォントです。プリンタや画面でも同じフォントを使用してください。",
|
||||||
"modal.canvas.setting": "Canvasの設定",
|
"modal.canvas.setting": "作図の設定",
|
||||||
"modal.canvas.setting.display": "ディスプレイ設定",
|
"modal.canvas.setting.display": "ディスプレイ設定",
|
||||||
"modal.canvas.setting.font.plan": "フォントと図面サイズの設定",
|
"modal.canvas.setting.font.plan": "フォントと図面サイズの設定",
|
||||||
"modal.canvas.setting.grid": "グリッド",
|
"modal.canvas.setting.grid": "グリッド",
|
||||||
@ -252,7 +252,7 @@
|
|||||||
"modal.canvas.setting.first.option.image": "画像表示",
|
"modal.canvas.setting.first.option.image": "画像表示",
|
||||||
"modal.canvas.setting.first.option.total": "集計表を表示",
|
"modal.canvas.setting.first.option.total": "集計表を表示",
|
||||||
"modal.canvas.setting.first.option.dimension": "寸法表示",
|
"modal.canvas.setting.first.option.dimension": "寸法表示",
|
||||||
"modal.canvas.setting.first.option.corridor.dimension": "廊下寸法表示",
|
"modal.canvas.setting.first.option.corridor.dimension": "伏せ図寸法表示",
|
||||||
"modal.canvas.setting.first.option.real.dimension": "実寸表示",
|
"modal.canvas.setting.first.option.real.dimension": "実寸表示",
|
||||||
"modal.canvas.setting.first.option.none.dimension": "寸法表示なし",
|
"modal.canvas.setting.first.option.none.dimension": "寸法表示なし",
|
||||||
"modal.canvas.setting.first.option.display": "画面表示",
|
"modal.canvas.setting.first.option.display": "画面表示",
|
||||||
@ -269,7 +269,7 @@
|
|||||||
"modal.wallline.offset.setting": "外壁の編集とオフセット",
|
"modal.wallline.offset.setting": "外壁の編集とオフセット",
|
||||||
"modal.wallline.offset.setting.wallline.edit": "外壁の編集",
|
"modal.wallline.offset.setting.wallline.edit": "外壁の編集",
|
||||||
"modal.wallline.offset.setting.wallline.edit.info": "辺と始点を選択して長さと方向を指定してください。",
|
"modal.wallline.offset.setting.wallline.edit.info": "辺と始点を選択して長さと方向を指定してください。",
|
||||||
"modal.wallline.offset.setting.wallline.edit.position": "支店",
|
"modal.wallline.offset.setting.wallline.edit.position": "始点",
|
||||||
"modal.wallline.offset.setting.offset": "オフセット",
|
"modal.wallline.offset.setting.offset": "オフセット",
|
||||||
"modal.wallline.offset.setting.offset.info": "オフセットしたい外壁線を選択してください。",
|
"modal.wallline.offset.setting.offset.info": "オフセットしたい外壁線を選択してください。",
|
||||||
"modal.object.setting.type.open.space.placement": "開口部の配置",
|
"modal.object.setting.type.open.space.placement": "開口部の配置",
|
||||||
@ -282,7 +282,7 @@
|
|||||||
"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.offset.width": "出幅(幅)",
|
"modal.object.setting.offset.width": "出幅(幅)",
|
||||||
"modal.object.setting.direction.select": "方向の選択",
|
"modal.object.setting.direction.select": "方向の選択",
|
||||||
@ -330,7 +330,7 @@
|
|||||||
"contextmenu.wallline.remove": "外壁の削除",
|
"contextmenu.wallline.remove": "外壁の削除",
|
||||||
"contextmenu.size.edit": "サイズ変更",
|
"contextmenu.size.edit": "サイズ変更",
|
||||||
"modal.auxiliary.size.edit": "補助線サイズ変更",
|
"modal.auxiliary.size.edit": "補助線サイズ変更",
|
||||||
"modal.auxiliary.size.edit.point": "支店",
|
"modal.auxiliary.size.edit.point": "始点",
|
||||||
"contextmenu.auxiliary.move": "補助線の移動",
|
"contextmenu.auxiliary.move": "補助線の移動",
|
||||||
"modal.auxiliary.move": "補助線の移動",
|
"modal.auxiliary.move": "補助線の移動",
|
||||||
"modal.auxiliary.move.info": "移動する方向を入力してください。",
|
"modal.auxiliary.move.info": "移動する方向を入力してください。",
|
||||||
@ -361,12 +361,12 @@
|
|||||||
"modal.panel.column.insert.type.left": "左挿入",
|
"modal.panel.column.insert.type.left": "左挿入",
|
||||||
"modal.panel.column.insert.type.right": "右挿入",
|
"modal.panel.column.insert.type.right": "右挿入",
|
||||||
"modal.image.load.size.rotate": "サイズ変更と回転",
|
"modal.image.load.size.rotate": "サイズ変更と回転",
|
||||||
"contextmenu.row.move": "ただし移動",
|
"contextmenu.row.move": "段移動",
|
||||||
"contextmenu.row.copy": "単コピー",
|
"contextmenu.row.copy": "段コピー",
|
||||||
"contextmenu.row.remove": "ただし削除",
|
"contextmenu.row.remove": "段削除",
|
||||||
"modal.row.remove": "ただし削除",
|
"modal.row.remove": "段削除",
|
||||||
"modal.row.remove.info": "削除ステージをどのようにしますか?",
|
"modal.row.remove.info": "削除ステージをどのようにしますか?",
|
||||||
"modal.row.remove.type.up": "違足に減る",
|
"modal.row.remove.type.up": "上に減らす",
|
||||||
"modal.row.remove.type.down": "下向きに減らす",
|
"modal.row.remove.type.down": "下向きに減らす",
|
||||||
"modal.row.remove.type.side": "両側に減る",
|
"modal.row.remove.type.side": "両側に減る",
|
||||||
"modal.row.remove.type.none": "減らさない",
|
"modal.row.remove.type.none": "減らさない",
|
||||||
@ -374,7 +374,7 @@
|
|||||||
"modal.row.insert": "段挿入",
|
"modal.row.insert": "段挿入",
|
||||||
"modal.row.insert.info": "挿入する方向を選択してください。",
|
"modal.row.insert.info": "挿入する方向を選択してください。",
|
||||||
"modal.row.insert.type.up": "上部挿入",
|
"modal.row.insert.type.up": "上部挿入",
|
||||||
"modal.row.insert.type.down": "下の挿入",
|
"modal.row.insert.type.down": "下部挿入",
|
||||||
"modal.move.setting": "移動設定",
|
"modal.move.setting": "移動設定",
|
||||||
"modal.move.setting.info": "間隔を設定し、移動方向を選択します。",
|
"modal.move.setting.info": "間隔を設定し、移動方向を選択します。",
|
||||||
"modal.copy.setting": "コピー設定",
|
"modal.copy.setting": "コピー設定",
|
||||||
@ -389,7 +389,7 @@
|
|||||||
"modal.display.edit.info": "寸法線に表示する数値を入力してください。",
|
"modal.display.edit.info": "寸法線に表示する数値を入力してください。",
|
||||||
"modal.display.edit.before.length": "既存の長さ",
|
"modal.display.edit.before.length": "既存の長さ",
|
||||||
"modal.display.edit.after.length": "変更の長さ",
|
"modal.display.edit.after.length": "変更の長さ",
|
||||||
"modal.display.edit.corner.valley": "コーナー・ゴールケース",
|
"modal.display.edit.corner.valley": "隅·谷の場合",
|
||||||
"modal.display.edit.input.slope": "傾きを入力してください。",
|
"modal.display.edit.input.slope": "傾きを入力してください。",
|
||||||
"modal.display.edit.input.slope.info": "傾き設定されている場合、入力した数値に傾き計算をした数値が表示されます。",
|
"modal.display.edit.input.slope.info": "傾き設定されている場合、入力した数値に傾き計算をした数値が表示されます。",
|
||||||
"modal.distance": "距離測定",
|
"modal.distance": "距離測定",
|
||||||
@ -466,7 +466,7 @@
|
|||||||
"common.message.confirm.confirm": "承認しますか?",
|
"common.message.confirm.confirm": "承認しますか?",
|
||||||
"common.message.confirm.request": "承認をリクエストしますか?",
|
"common.message.confirm.request": "承認をリクエストしますか?",
|
||||||
"common.message.confirm.delete": "削除しますか?",
|
"common.message.confirm.delete": "削除しますか?",
|
||||||
"common.message.confirm.close": "閉じるか?",
|
"common.message.confirm.close": "閉じますか?",
|
||||||
"common.message.confirm.unclose": "クローズをキャンセルしますか?",
|
"common.message.confirm.unclose": "クローズをキャンセルしますか?",
|
||||||
"common.message.confirm.cancel": "キャンセルしますか?",
|
"common.message.confirm.cancel": "キャンセルしますか?",
|
||||||
"common.message.confirm.uncancel": "キャンセルをキャンセルしますか?",
|
"common.message.confirm.uncancel": "キャンセルをキャンセルしますか?",
|
||||||
@ -497,7 +497,7 @@
|
|||||||
"common.message.approved ": "承認されました。",
|
"common.message.approved ": "承認されました。",
|
||||||
"common.message.errorFieldExist": "エラーフィールドが存在します",
|
"common.message.errorFieldExist": "エラーフィールドが存在します",
|
||||||
"common.message.storeIdExist ": "すでに使用している販売店IDです。",
|
"common.message.storeIdExist ": "すでに使用している販売店IDです。",
|
||||||
"common.message.userIdExist ": "すでに使用しているユーザーID。",
|
"common.message.userIdExist ": "すでに使用しているユーザーIDです。",
|
||||||
"common.message.noExists ": "削除された投稿です。",
|
"common.message.noExists ": "削除された投稿です。",
|
||||||
"common.message.emailReqTo": "Email To is required",
|
"common.message.emailReqTo": "Email To is required",
|
||||||
"common.message.downloadPeriod": "Please select the download search period within {0} days.",
|
"common.message.downloadPeriod": "Please select the download search period within {0} days.",
|
||||||
@ -506,9 +506,9 @@
|
|||||||
"common.message.writeToConfirm": "作成解除を実行しますか?",
|
"common.message.writeToConfirm": "作成解除を実行しますか?",
|
||||||
"common.message.password.init.success": "パスワード[{0}]に初期化されました。",
|
"common.message.password.init.success": "パスワード[{0}]に初期化されました。",
|
||||||
"common.message.no.edit.save": "このドキュメントは変更できません。",
|
"common.message.no.edit.save": "このドキュメントは変更できません。",
|
||||||
"common.load": "読み込む",
|
"common.load": "読込",
|
||||||
"common.input.file": "ファイルを読み込む",
|
"common.input.file": "ファイルを読み込む",
|
||||||
"common.input.file.load": "読み込む",
|
"common.input.file.load": "読込",
|
||||||
"common.input.image.load": "画像を読み込む",
|
"common.input.image.load": "画像を読み込む",
|
||||||
"common.input.address.load": "アドレスを読み込む",
|
"common.input.address.load": "アドレスを読み込む",
|
||||||
"common.require": "必須",
|
"common.require": "必須",
|
||||||
@ -534,7 +534,7 @@
|
|||||||
"color.pink": "ピンク",
|
"color.pink": "ピンク",
|
||||||
"color.gold": "黄金色",
|
"color.gold": "黄金色",
|
||||||
"color.darkblue": "藍色",
|
"color.darkblue": "藍色",
|
||||||
"site.name": "Q.CAST III",
|
"site.name": "HANASYS設計",
|
||||||
"site.sub_name": "太陽光発電システム図面管理サイト",
|
"site.sub_name": "太陽光発電システム図面管理サイト",
|
||||||
"site.header.link1": "選択してください。",
|
"site.header.link1": "選択してください。",
|
||||||
"site.header.link2": "オンライン保証システム",
|
"site.header.link2": "オンライン保証システム",
|
||||||
@ -542,7 +542,7 @@
|
|||||||
"board.notice.sub.title": "お知らせ一覧",
|
"board.notice.sub.title": "お知らせ一覧",
|
||||||
"board.faq.title": "FAQ",
|
"board.faq.title": "FAQ",
|
||||||
"board.faq.sub.title": "FAQリスト",
|
"board.faq.sub.title": "FAQリスト",
|
||||||
"board.archive.title": "素材のダウンロード",
|
"board.archive.title": "資料のダウンロード",
|
||||||
"board.archive.sub.title": "文書一覧",
|
"board.archive.sub.title": "文書一覧",
|
||||||
"board.list.header.rownum": "番号",
|
"board.list.header.rownum": "番号",
|
||||||
"board.list.header.title": "タイトル",
|
"board.list.header.title": "タイトル",
|
||||||
@ -554,7 +554,7 @@
|
|||||||
"board.sub.fileList": "添付ファイル一覧",
|
"board.sub.fileList": "添付ファイル一覧",
|
||||||
"board.sub.updDt": "更新",
|
"board.sub.updDt": "更新",
|
||||||
"board.sub.btn.close": "閉じる",
|
"board.sub.btn.close": "閉じる",
|
||||||
"myinfo.title": "私の情報",
|
"myinfo.title": "社員情報",
|
||||||
"myinfo.info.userId": "ユーザーID",
|
"myinfo.info.userId": "ユーザーID",
|
||||||
"myinfo.info.nameKana": "担当者名日本語",
|
"myinfo.info.nameKana": "担当者名日本語",
|
||||||
"myinfo.info.name": "担当者名",
|
"myinfo.info.name": "担当者名",
|
||||||
@ -578,7 +578,7 @@
|
|||||||
"myinfo.message.password.error": "パスワードが間違っています。",
|
"myinfo.message.password.error": "パスワードが間違っています。",
|
||||||
"login": "ログイン",
|
"login": "ログイン",
|
||||||
"login.auto.page.text": "自動ログイン中です。",
|
"login.auto.page.text": "自動ログイン中です。",
|
||||||
"login.id.save": "IDセーブ",
|
"login.id.save": "ID保存",
|
||||||
"login.id.placeholder": "IDを入力してください。",
|
"login.id.placeholder": "IDを入力してください。",
|
||||||
"login.password.placeholder": "パスワードを入力してください。",
|
"login.password.placeholder": "パスワードを入力してください。",
|
||||||
"login.guide.text": "当サイトをご利用の際は事前申請が必要です。",
|
"login.guide.text": "当サイトをご利用の際は事前申請が必要です。",
|
||||||
@ -592,11 +592,11 @@
|
|||||||
"login.init_password.complete_message": "パスワードが初期化されました。初期化されたパスワードはIDと同じです。",
|
"login.init_password.complete_message": "パスワードが初期化されました。初期化されたパスワードはIDと同じです。",
|
||||||
"login.init_password.id.placeholder": "IDを入力してください。",
|
"login.init_password.id.placeholder": "IDを入力してください。",
|
||||||
"login.init_password.email.placeholder": "メールを入力してください。",
|
"login.init_password.email.placeholder": "メールを入力してください。",
|
||||||
"join.title": "Q.CAST3 ログインID発行申請",
|
"join.title": "HANASYS設計ログインID発行申請",
|
||||||
"join.sub1.title": "販売代理店情報",
|
"join.sub1.title": "販売代理店情報",
|
||||||
"join.sub1.comment": "※登録されるリセラーの会社名を入力してください。 (2次店は「○○販売株式会社(2次店:××設備株式会社)」でご記入ください。)",
|
"join.sub1.comment": "※登録される販売店の会社名を入力してください。 (2次店は「○○販売株式会社(2次店:××設備株式会社)」でご記入ください。)",
|
||||||
"join.sub1.storeQcastNm": "販売代理店名",
|
"join.sub1.storeQcastNm": "販売代理店名",
|
||||||
"join.sub1.storeQcastNm_placeholder": "株式会社エネルギーギアソリューションアンサービス(2次点:山口周期販売有限公司)",
|
"join.sub1.storeQcastNm_placeholder": "株式会社エネルギーギアソリューションアンサービス(2次点:山口周期販売有限会社)",
|
||||||
"join.sub1.storeQcastNmKana": "販売代理店名フリガナ",
|
"join.sub1.storeQcastNmKana": "販売代理店名フリガナ",
|
||||||
"join.sub1.storeQcastNmKana_placeholder": "株式会社エネルギーギアソリューション",
|
"join.sub1.storeQcastNmKana_placeholder": "株式会社エネルギーギアソリューション",
|
||||||
"join.sub1.postCd": "郵便番号",
|
"join.sub1.postCd": "郵便番号",
|
||||||
@ -611,7 +611,7 @@
|
|||||||
"join.sub2.title": "担当者情報",
|
"join.sub2.title": "担当者情報",
|
||||||
"join.sub2.userNm": "担当者名",
|
"join.sub2.userNm": "担当者名",
|
||||||
"join.sub2.userNmKana": "担当者名ふりがな",
|
"join.sub2.userNmKana": "担当者名ふりがな",
|
||||||
"join.sub2.userId": "アプリケーションID",
|
"join.sub2.userId": "申請ID",
|
||||||
"join.sub2.email": "メールアドレス",
|
"join.sub2.email": "メールアドレス",
|
||||||
"join.sub2.telNo": "電話番号",
|
"join.sub2.telNo": "電話番号",
|
||||||
"join.sub2.telNo_placeholder": "00-0000-0000",
|
"join.sub2.telNo_placeholder": "00-0000-0000",
|
||||||
@ -620,18 +620,18 @@
|
|||||||
"join.sub2.category": "部署名",
|
"join.sub2.category": "部署名",
|
||||||
"join.btn.login_page": "ログイン画面に移動",
|
"join.btn.login_page": "ログイン画面に移動",
|
||||||
"join.btn.approval_request": "ID承認要求",
|
"join.btn.approval_request": "ID承認要求",
|
||||||
"join.complete.title": "Q.CAST3ログインID発行申請完了",
|
"join.complete.title": "HANASYS設計ログインID発行申請完了",
|
||||||
"join.complete.contents": "※申請したIDが承認されると、担当者情報に入力したEメールアドレスにログイン関連案内メールが送信されます。",
|
"join.complete.contents": "※申請したIDが承認されると、担当者情報に入力したEメールアドレスにログイン関連案内メールが送信されます。",
|
||||||
"join.complete.email_comment": "担当者のメールアドレス",
|
"join.complete.email_comment": "担当者のメールアドレス",
|
||||||
"join.validation.check1": "{0}形式を確認してください。",
|
"join.validation.check1": "{0}形式を確認してください。",
|
||||||
"join.complete.save.confirm": "Hanwha Japanの担当者にID承認が要求された場合、これ以上情報を修正することはできません。本当にお願いしますか?",
|
"join.complete.save.confirm": "ハンファジャパンの担当者にID承認が要求された場合、これ以上情報を修正することはできません。申請しますか?",
|
||||||
"stuff.gridHeader.lastEditDatetime": "更新日時",
|
"stuff.gridHeader.lastEditDatetime": "更新日時",
|
||||||
"stuff.gridHeader.objectNo": "品番",
|
"stuff.gridHeader.objectNo": "物件番号",
|
||||||
"stuff.gridHeader.planTotCnt": "プラン数",
|
"stuff.gridHeader.planTotCnt": "プラン数",
|
||||||
"stuff.gridHeader.objectName": "商品名",
|
"stuff.gridHeader.objectName": "商品名",
|
||||||
"stuff.gridHeader.saleStoreId": "代理店ID",
|
"stuff.gridHeader.saleStoreId": "代理店ID",
|
||||||
"stuff.gridHeader.saleStoreName": "代理店名",
|
"stuff.gridHeader.saleStoreName": "代理店名",
|
||||||
"stuff.gridHeader.address": "商品アドレス",
|
"stuff.gridHeader.address": "物件住所",
|
||||||
"stuff.gridHeader.dispCompanyName": "見積もり",
|
"stuff.gridHeader.dispCompanyName": "見積もり",
|
||||||
"stuff.gridHeader.receiveUser": "担当者",
|
"stuff.gridHeader.receiveUser": "担当者",
|
||||||
"stuff.gridHeader.specificationConfirmDate": "仕様確認日",
|
"stuff.gridHeader.specificationConfirmDate": "仕様確認日",
|
||||||
@ -651,9 +651,9 @@
|
|||||||
"stuff.temp.subTitle": "商品情報",
|
"stuff.temp.subTitle": "商品情報",
|
||||||
"stuff.temp.subTitle2": "作図",
|
"stuff.temp.subTitle2": "作図",
|
||||||
"stuff.detail.header.notExistObjectNo": "存在しないものです。",
|
"stuff.detail.header.notExistObjectNo": "存在しないものです。",
|
||||||
"stuff.detail.header.successCopy": "商品番号がコピーされました。",
|
"stuff.detail.header.successCopy": "物件番号がコピーされました。",
|
||||||
"stuff.detail.header.failCopy": "商品番号のコピーに失敗しました。",
|
"stuff.detail.header.failCopy": "物件番号のコピーに失敗しました。",
|
||||||
"stuff.detail.header.objectNo": "品番",
|
"stuff.detail.header.objectNo": "物件番号",
|
||||||
"stuff.detail.header.specificationConfirmDate": "仕様確認日",
|
"stuff.detail.header.specificationConfirmDate": "仕様確認日",
|
||||||
"stuff.detail.header.lastEditDatetime": "更新日時",
|
"stuff.detail.header.lastEditDatetime": "更新日時",
|
||||||
"stuff.detail.header.createDatetime": "登録日",
|
"stuff.detail.header.createDatetime": "登録日",
|
||||||
@ -662,9 +662,9 @@
|
|||||||
"stuff.detail.receiveUser": "担当者",
|
"stuff.detail.receiveUser": "担当者",
|
||||||
"stuff.detail.objectStatusId": "物品区分/物件名",
|
"stuff.detail.objectStatusId": "物品区分/物件名",
|
||||||
"stuff.detail.objectStatus0": "新築",
|
"stuff.detail.objectStatus0": "新築",
|
||||||
"stuff.detail.objectStatus1": "基軸",
|
"stuff.detail.objectStatus1": "既築",
|
||||||
"stuff.detail.objectNameOmit": "敬称",
|
"stuff.detail.objectNameOmit": "敬称",
|
||||||
"stuff.detail.objectNameKana": "物名フリガナ",
|
"stuff.detail.objectNameKana": "フリガナ",
|
||||||
"stuff.detail.saleStoreId": "一次販売店名/ID",
|
"stuff.detail.saleStoreId": "一次販売店名/ID",
|
||||||
"stuff.detail.otherSaleStoreId": "二次販売店名/ID",
|
"stuff.detail.otherSaleStoreId": "二次販売店名/ID",
|
||||||
"stuff.detail.zipNo": "郵便番号",
|
"stuff.detail.zipNo": "郵便番号",
|
||||||
@ -676,9 +676,9 @@
|
|||||||
"stuff.detail.standardWindSpeedId": "基準風速",
|
"stuff.detail.standardWindSpeedId": "基準風速",
|
||||||
"stuff.detail.standardWindSpeedIdSpan": "m/s以下",
|
"stuff.detail.standardWindSpeedIdSpan": "m/s以下",
|
||||||
"stuff.detail.btn.windSpeedPop": "風速選択",
|
"stuff.detail.btn.windSpeedPop": "風速選択",
|
||||||
"stuff.detail.verticalSnowCover": "垂直説説",
|
"stuff.detail.verticalSnowCover": "垂直積雪量",
|
||||||
"stuff.detail.coldRegionFlg": "寒冷地対策施行",
|
"stuff.detail.coldRegionFlg": "寒冷地対策施行",
|
||||||
"stuff.detail.surfaceType": "綿調道",
|
"stuff.detail.surfaceType": "面粗度",
|
||||||
"stuff.detail.saltAreaFlg": "塩害地域用アイテムの使用",
|
"stuff.detail.saltAreaFlg": "塩害地域用アイテムの使用",
|
||||||
"stuff.detail.installHeight": "設置高さ",
|
"stuff.detail.installHeight": "設置高さ",
|
||||||
"stuff.detail.conType": "契約条件",
|
"stuff.detail.conType": "契約条件",
|
||||||
@ -687,7 +687,7 @@
|
|||||||
"stuff.detail.remarks": "メモ",
|
"stuff.detail.remarks": "メモ",
|
||||||
"stuff.detail.tooltip.saleStoreId": "販売代理店または販売代理店IDを1文字以上入力してください",
|
"stuff.detail.tooltip.saleStoreId": "販売代理店または販売代理店IDを1文字以上入力してください",
|
||||||
"stuff.detail.tooltip.surfaceType": "塩害地域の定義は各メーカーの設置マニュアルをご確認ください",
|
"stuff.detail.tooltip.surfaceType": "塩害地域の定義は各メーカーの設置マニュアルをご確認ください",
|
||||||
"stuff.detail.tempSave.message1": "一時保存されました。商品番号を取得するには、必須項目をすべて入力してください。",
|
"stuff.detail.tempSave.message1": "一時保存されました。物件番号を取得するには、必須項目をすべて入力してください。",
|
||||||
"stuff.detail.tempSave.message2": "担当者名は10桁以下で入力してください。",
|
"stuff.detail.tempSave.message2": "担当者名は10桁以下で入力してください。",
|
||||||
"stuff.detail.tempSave.message3": "二次販売店を選択してください。",
|
"stuff.detail.tempSave.message3": "二次販売店を選択してください。",
|
||||||
"stuff.detail.confirm.message1": "販売店情報を変更すると、設計依頼文書番号が削除されます。変更しますか?",
|
"stuff.detail.confirm.message1": "販売店情報を変更すると、設計依頼文書番号が削除されます。変更しますか?",
|
||||||
@ -695,7 +695,7 @@
|
|||||||
"stuff.detail.planList.title": "プランリスト",
|
"stuff.detail.planList.title": "プランリスト",
|
||||||
"stuff.detail.planList.cnt": "全体",
|
"stuff.detail.planList.cnt": "全体",
|
||||||
"stuff.detail.planList.help": "ヘルプ",
|
"stuff.detail.planList.help": "ヘルプ",
|
||||||
"stuff.detail.planList.guide1": "1.発注は同一品番基準1件のみ可能です。",
|
"stuff.detail.planList.guide1": "1.発注は同一物件番号基準1件のみ可能です。",
|
||||||
"stuff.detail.planList.guide2": "2. [Excelダウンロード]は見積書図面シミュレーション結果をExcelファイルとして一度にダウンロードします。",
|
"stuff.detail.planList.guide2": "2. [Excelダウンロード]は見積書図面シミュレーション結果をExcelファイルとして一度にダウンロードします。",
|
||||||
"stuff.detail.planList.guide3": "3. プラン情報をダブルクリックすると図面作成画面に移動します。",
|
"stuff.detail.planList.guide3": "3. プラン情報をダブルクリックすると図面作成画面に移動します。",
|
||||||
"stuff.detail.btn.delete": "物の削除",
|
"stuff.detail.btn.delete": "物の削除",
|
||||||
@ -705,7 +705,7 @@
|
|||||||
"stuff.detail.save": "保存しました",
|
"stuff.detail.save": "保存しました",
|
||||||
"stuff.detail.tempSave": "一時保存されました",
|
"stuff.detail.tempSave": "一時保存されました",
|
||||||
"stuff.detail.noChgData": "変更内容はありません",
|
"stuff.detail.noChgData": "変更内容はありません",
|
||||||
"stuff.detail.save.valierror1": "垂直説説は0より大きい値を入力してください",
|
"stuff.detail.save.valierror1": "垂直積雪量は0より大きい値を入力してください",
|
||||||
"stuff.detail.save.valierror2": "設置高さ0より大きい値を入力してください",
|
"stuff.detail.save.valierror2": "設置高さ0より大きい値を入力してください",
|
||||||
"stuff.detail.save.valierror3": "{0} 必須入力項目です。",
|
"stuff.detail.save.valierror3": "{0} 必須入力項目です。",
|
||||||
"stuff.detail.save.valierror4": "二次販売店名は必須オプションです。",
|
"stuff.detail.save.valierror4": "二次販売店名は必須オプションです。",
|
||||||
@ -739,7 +739,7 @@
|
|||||||
"stuff.search.btn.register": "新規物件登録",
|
"stuff.search.btn.register": "新規物件登録",
|
||||||
"stuff.search.btn.search": "照会",
|
"stuff.search.btn.search": "照会",
|
||||||
"stuff.search.btn.reset": "初期化",
|
"stuff.search.btn.reset": "初期化",
|
||||||
"stuff.search.schObjectNo": "品番",
|
"stuff.search.schObjectNo": "物件番号",
|
||||||
"stuff.search.schSaleStoreName": "販売代理店名",
|
"stuff.search.schSaleStoreName": "販売代理店名",
|
||||||
"stuff.search.schAddress": "商品アドレス",
|
"stuff.search.schAddress": "商品アドレス",
|
||||||
"stuff.search.schObjectName": "商品名",
|
"stuff.search.schObjectName": "商品名",
|
||||||
@ -784,7 +784,7 @@
|
|||||||
"output": "出力",
|
"output": "出力",
|
||||||
"slope": "傾斜",
|
"slope": "傾斜",
|
||||||
"eaves.offset": "軒の幅",
|
"eaves.offset": "軒の幅",
|
||||||
"gable.offset": "ケラバ出爆",
|
"gable.offset": "ケラバ",
|
||||||
"offset": "出幅",
|
"offset": "出幅",
|
||||||
"width": "幅",
|
"width": "幅",
|
||||||
"size": "寸法",
|
"size": "寸法",
|
||||||
@ -794,9 +794,9 @@
|
|||||||
"gable": "ケラバ",
|
"gable": "ケラバ",
|
||||||
"gable.left": "ケラバ左",
|
"gable.left": "ケラバ左",
|
||||||
"gable.right": "ケラバ右",
|
"gable.right": "ケラバ右",
|
||||||
"ridge": "龍丸",
|
"ridge": "棟",
|
||||||
"oneside.flow.ridge": "片側の流れ",
|
"oneside.flow.ridge": "片流れの棟側",
|
||||||
"yosemune": "ヨセムネ",
|
"yosemune": "寄棟",
|
||||||
"valley": "谷",
|
"valley": "谷",
|
||||||
"l.abandon.valley": "Lの捨て渓谷",
|
"l.abandon.valley": "Lの捨て渓谷",
|
||||||
"mansard": "メンサード",
|
"mansard": "メンサード",
|
||||||
@ -807,30 +807,30 @@
|
|||||||
"wall.merge.flow.left": "壁取り(流れ左)",
|
"wall.merge.flow.left": "壁取り(流れ左)",
|
||||||
"wall.merge.flow.right": "壁取り(流れ右)",
|
"wall.merge.flow.right": "壁取り(流れ右)",
|
||||||
"no.setting": "設定なし",
|
"no.setting": "設定なし",
|
||||||
"hajebichi": "ハゼビーチ",
|
"hajebichi": "ハゼピッチ",
|
||||||
"straight.line": "直線",
|
"straight.line": "直線",
|
||||||
"right.angle": "直角",
|
"right.angle": "直角",
|
||||||
"double.pitch": "イ・グベ",
|
"double.pitch": "異勾配",
|
||||||
"angle": "角度",
|
"angle": "角度",
|
||||||
"diagonal": "対角線",
|
"diagonal": "対角線",
|
||||||
"hipandgable": "八作屋根",
|
"hipandgable": "入母屋造",
|
||||||
"hipandgable.width": "八作屋根の幅",
|
"hipandgable.width": "入母屋造の幅",
|
||||||
"jerkinhead": "半折",
|
"jerkinhead": "半切妻",
|
||||||
"shed": "片側の流れ",
|
"shed": "片側の流れ",
|
||||||
"apply": "適用",
|
"apply": "適用",
|
||||||
"module": "モジュール",
|
"module": "モジュール",
|
||||||
"legend": "凡例",
|
"legend": "凡例",
|
||||||
"has.sleeve": "袖あり",
|
"has.sleeve": "袖あり",
|
||||||
"has.not.sleeve": "袖なし",
|
"has.not.sleeve": "袖なし",
|
||||||
"jerkinhead.width": "半折先幅",
|
"jerkinhead.width": "半切妻幅",
|
||||||
"jerkinhead.slope": "半折先傾斜",
|
"jerkinhead.slope": "半切妻傾斜",
|
||||||
"shed.width": "片流幅",
|
"shed.width": "片流幅",
|
||||||
"windage": "漂流",
|
"windage": "片流れ",
|
||||||
"windage.width": "漂流の出幅",
|
"windage.width": "片流れの出幅",
|
||||||
"write": "作成",
|
"write": "作成",
|
||||||
"main.storeId": "販売店ID",
|
"main.storeId": "販売店ID",
|
||||||
"main.storeName": "販売店名",
|
"main.storeName": "販売店名",
|
||||||
"main.objectNo": "品番",
|
"main.objectNo": "物件番号",
|
||||||
"main.faq": "FAQ",
|
"main.faq": "FAQ",
|
||||||
"main.content.objectList.noData1": "登録された商品情報はありません。",
|
"main.content.objectList.noData1": "登録された商品情報はありません。",
|
||||||
"main.content.objectList.noData2": "下のボタンをクリックして商品情報を登録してください。",
|
"main.content.objectList.noData2": "下のボタンをクリックして商品情報を登録してください。",
|
||||||
@ -839,7 +839,7 @@
|
|||||||
"main.content.download1": "操作マニュアル",
|
"main.content.download1": "操作マニュアル",
|
||||||
"main.content.download2": "屋根の説明書",
|
"main.content.download2": "屋根の説明書",
|
||||||
"main.content.noBusiness": "Hanwha Japanにお問い合わせください",
|
"main.content.noBusiness": "Hanwha Japanにお問い合わせください",
|
||||||
"main.content.alert.noFile": "資料が準備中です",
|
"main.content.alert.noFile": "資料準備中です",
|
||||||
"main.popup.login.popupTitle": "パスワード変更",
|
"main.popup.login.popupTitle": "パスワード変更",
|
||||||
"main.popup.login.newPassword1": "新しいパスワードを入力",
|
"main.popup.login.newPassword1": "新しいパスワードを入力",
|
||||||
"main.popup.login.newPassword2": "新しいパスワードの再入力",
|
"main.popup.login.newPassword2": "新しいパスワードの再入力",
|
||||||
@ -860,7 +860,7 @@
|
|||||||
"surface.shape.validate.size.3to4": "③長さは④より大きい値を入れてください。",
|
"surface.shape.validate.size.3to4": "③長さは④より大きい値を入れてください。",
|
||||||
"surface.shape.validate.size.4to5": "④長さは⑤より大きい値を入れてください。",
|
"surface.shape.validate.size.4to5": "④長さは⑤より大きい値を入れてください。",
|
||||||
"estimate.detail.header.title": "基本情報",
|
"estimate.detail.header.title": "基本情報",
|
||||||
"estimate.detail.objectNo": "品番",
|
"estimate.detail.objectNo": "物件番号",
|
||||||
"estimate.detail.docNo": "見積書番号",
|
"estimate.detail.docNo": "見積書番号",
|
||||||
"estimate.detail.drawingEstimateCreateDate": "登録日",
|
"estimate.detail.drawingEstimateCreateDate": "登録日",
|
||||||
"estimate.detail.lastEditDatetime": "変更日時",
|
"estimate.detail.lastEditDatetime": "変更日時",
|
||||||
@ -877,7 +877,6 @@
|
|||||||
"estimate.detail.roofCns": "屋根材・仕様施工",
|
"estimate.detail.roofCns": "屋根材・仕様施工",
|
||||||
"estimate.detail.remarks": "備考",
|
"estimate.detail.remarks": "備考",
|
||||||
"estimate.detail.fileFlg": "後日資料提出",
|
"estimate.detail.fileFlg": "後日資料提出",
|
||||||
"estimate.detail.dragFileGuide": "(※北面設置の場合、ファイル添付が必須です.)",
|
|
||||||
"estimate.detail.header.fileList1": "ファイル添付",
|
"estimate.detail.header.fileList1": "ファイル添付",
|
||||||
"estimate.detail.fileList.btn": "ファイル選択",
|
"estimate.detail.fileList.btn": "ファイル選択",
|
||||||
"estimate.detail.fileList.extCheck": "画像ファイルのみ添付可能です。",
|
"estimate.detail.fileList.extCheck": "画像ファイルのみ添付可能です。",
|
||||||
@ -905,17 +904,17 @@
|
|||||||
"estimate.detail.showPrice.delItem": "製品の削除",
|
"estimate.detail.showPrice.delItem": "製品の削除",
|
||||||
"estimate.detail.itemTableHeader.dispOrder": "No.",
|
"estimate.detail.itemTableHeader.dispOrder": "No.",
|
||||||
"estimate.detail.itemTableHeader.itemId": "品番",
|
"estimate.detail.itemTableHeader.itemId": "品番",
|
||||||
"estimate.detail.itemTableHeader.itemNo": "兄弟",
|
"estimate.detail.itemTableHeader.itemNo": "型名",
|
||||||
"estimate.detail.itemTableHeader.amount": "数量",
|
"estimate.detail.itemTableHeader.amount": "数量",
|
||||||
"estimate.detail.itemTableHeader.unit": "単位",
|
"estimate.detail.itemTableHeader.unit": "単位",
|
||||||
"estimate.detail.itemTableHeader.salePrice": "単価",
|
"estimate.detail.itemTableHeader.salePrice": "単価",
|
||||||
"estimate.detail.itemTableHeader.saleTotPrice": "金額(税別別)",
|
"estimate.detail.itemTableHeader.saleTotPrice": "金額(税別)",
|
||||||
"estimate.detail.docPopup.title": "ドキュメントダウンロードオプションの設定",
|
"estimate.detail.docPopup.title": "文章ダウンロードオプションの設定",
|
||||||
"estimate.detail.docPopup.explane": "ダウンロードする文書オプションを選択し、[文書のダウンロード]ボタンをクリックします。",
|
"estimate.detail.docPopup.explane": "ダウンロードする文書オプションを選択し、[文書のダウンロード]ボタンをクリックします。",
|
||||||
"estimate.detail.docPopup.schUnitPriceFlg": "ダウンロードファイル",
|
"estimate.detail.docPopup.schUnitPriceFlg": "ダウンロードファイル",
|
||||||
"estimate.detail.docPopup.schUnitPriceFlg.excelFlg0": "見積もりExcel",
|
"estimate.detail.docPopup.schUnitPriceFlg.excelFlg0": "仕切用Excel",
|
||||||
"estimate.detail.docPopup.schUnitPriceFlg.excelFlg1": "定価用Excel",
|
"estimate.detail.docPopup.schUnitPriceFlg.excelFlg1": "定価用Excel",
|
||||||
"estimate.detail.docPopup.schUnitPriceFlg.pdfFlg0": "見積もりPDF",
|
"estimate.detail.docPopup.schUnitPriceFlg.pdfFlg0": "仕切用PDF",
|
||||||
"estimate.detail.docPopup.schUnitPriceFlg.pdfFlg1": "定価用PDF",
|
"estimate.detail.docPopup.schUnitPriceFlg.pdfFlg1": "定価用PDF",
|
||||||
"estimate.detail.docPopup.schDisplayFlg": "見積提出書の表示名",
|
"estimate.detail.docPopup.schDisplayFlg": "見積提出書の表示名",
|
||||||
"estimate.detail.docPopup.schDisplayFlg.schDisplayFlg0": "販売店名",
|
"estimate.detail.docPopup.schDisplayFlg.schDisplayFlg0": "販売店名",
|
||||||
@ -928,13 +927,13 @@
|
|||||||
"estimate.detail.docPopup.schDrawingFlg.schDrawingFlg0": "含まない",
|
"estimate.detail.docPopup.schDrawingFlg.schDrawingFlg0": "含まない",
|
||||||
"estimate.detail.docPopup.close": "閉じる",
|
"estimate.detail.docPopup.close": "閉じる",
|
||||||
"estimate.detail.docPopup.docDownload": "文書のダウンロード",
|
"estimate.detail.docPopup.docDownload": "文書のダウンロード",
|
||||||
"estimate.detail.estimateCopyPopup.title": "見積もり",
|
"estimate.detail.estimateCopyPopup.title": "見積コピー",
|
||||||
"estimate.detail.estimateCopyPopup.explane": "見積書をコピーする販売店を設定します。見積書は定価でコピーされます。",
|
"estimate.detail.estimateCopyPopup.explane": "見積書をコピーする販売店を設定します。見積書は定価でコピーされます。",
|
||||||
"estimate.detail.estimateCopyPopup.label.saleStoreId": "一次販売店名/ID",
|
"estimate.detail.estimateCopyPopup.label.saleStoreId": "一次販売店名/ID",
|
||||||
"estimate.detail.estimateCopyPopup.label.otherSaleStoreId": "二次販売店名/ID",
|
"estimate.detail.estimateCopyPopup.label.otherSaleStoreId": "二次販売店名/ID",
|
||||||
"estimate.detail.estimateCopyPopup.label.receiveUser": "担当者",
|
"estimate.detail.estimateCopyPopup.label.receiveUser": "担当者",
|
||||||
"estimate.detail.estimateCopyPopup.close": "閉じる",
|
"estimate.detail.estimateCopyPopup.close": "閉じる",
|
||||||
"estimate.detail.estimateCopyPopup.copyBtn": "見積もり",
|
"estimate.detail.estimateCopyPopup.copyBtn": "見積コピー",
|
||||||
"estimate.detail.estimateCopyPopup.copy.alertMessage": "見積書がコピーされました。コピーした商品情報に移動します。",
|
"estimate.detail.estimateCopyPopup.copy.alertMessage": "見積書がコピーされました。コピーした商品情報に移動します。",
|
||||||
"estimate.detail.productFeaturesPopup.title": "製品特異事項",
|
"estimate.detail.productFeaturesPopup.title": "製品特異事項",
|
||||||
"estimate.detail.productFeaturesPopup.close": "閉じる",
|
"estimate.detail.productFeaturesPopup.close": "閉じる",
|
||||||
@ -943,7 +942,6 @@
|
|||||||
"estimate.detail.save.alertMsg": "保存されました。見積書で製品を変更すると、図面や回路には反映されません。",
|
"estimate.detail.save.alertMsg": "保存されました。見積書で製品を変更すると、図面や回路には反映されません。",
|
||||||
"estimate.detail.copy.alertMsg": "コピーされました。",
|
"estimate.detail.copy.alertMsg": "コピーされました。",
|
||||||
"estimate.detail.save.requiredFileUpload": "ファイル添付が必須のアイテムがあります。ファイルを添付するか、後日添付をチェックしてください。",
|
"estimate.detail.save.requiredFileUpload": "ファイル添付が必須のアイテムがあります。ファイルを添付するか、後日添付をチェックしてください。",
|
||||||
"estimate.detail.save.requiredNorthArrangementFileUpload": "北面にモジュールを配置した場合、北面配置許可書を必ず添付する必要があります.",
|
|
||||||
"estimate.detail.save.requiredItem": "製品は1つ以上登録する必要があります。",
|
"estimate.detail.save.requiredItem": "製品は1つ以上登録する必要があります。",
|
||||||
"estimate.detail.save.requiredCharger": "担当者は必須です。",
|
"estimate.detail.save.requiredCharger": "担当者は必須です。",
|
||||||
"estimate.detail.save.requiredObjectName": "案件名は必須です。",
|
"estimate.detail.save.requiredObjectName": "案件名は必須です。",
|
||||||
@ -953,14 +951,14 @@
|
|||||||
"estimate.detail.save.requiredAmount": "数量は0より大きい値を入力してください。",
|
"estimate.detail.save.requiredAmount": "数量は0より大きい値を入力してください。",
|
||||||
"estimate.detail.save.requiredSalePrice": "単価は0より大きい値を入力してください。",
|
"estimate.detail.save.requiredSalePrice": "単価は0より大きい値を入力してください。",
|
||||||
"estimate.detail.reset.alertMsg": "初期化されました。",
|
"estimate.detail.reset.alertMsg": "初期化されました。",
|
||||||
"estimate.detail.reset.confirmMsg": "手書き変更(保存)した見積情報が初期化され、最近保存された図面情報が反映されます。本当に初期化しますか?",
|
"estimate.detail.reset.confirmMsg": "保存した見積情報が初期化され、最近保存された図面情報が反映されます。本当に初期化しますか?",
|
||||||
"estimate.detail.lock.alertMsg": "見積もりを[ロック]すると変更できません。 <br />見積もりを修正するには、ロックを解除してください。",
|
"estimate.detail.lock.alertMsg": "見積もりを[ロック]すると変更できません。 <br />見積もりを修正するには、ロックを解除してください。",
|
||||||
"estimate.detail.unlock.alertMsg": "[ロック解除]すると、見積書を編集できます。 <br />解除しますか?",
|
"estimate.detail.unlock.alertMsg": "[ロック解除]すると、見積書を編集できます。 <br />解除しますか?",
|
||||||
"estimate.detail.unlock.confirmBtnName": "解放",
|
"estimate.detail.unlock.confirmBtnName": "解放",
|
||||||
"estimate.detail.alert.delFile": "添付ファイルを完全に削除するには、[保存]ボタンをクリックしてください。",
|
"estimate.detail.alert.delFile": "添付ファイルを完全に削除するには、[保存]ボタンをクリックしてください。",
|
||||||
"estimate.detail.alert.selectDelItem": "削除する商品を選択してください。",
|
"estimate.detail.alert.selectDelItem": "削除する商品を選択してください。",
|
||||||
"estimate.menu.move.valid1": "回路を分割していないため、見積もりを呼び出すことはできません。",
|
"estimate.menu.move.valid1": "回路を分割していないため、見積もりを呼び出すことはできません。",
|
||||||
"simulator.title.sub1": "品番",
|
"simulator.title.sub1": "物件番号",
|
||||||
"simulator.title.sub2": "作成日",
|
"simulator.title.sub2": "作成日",
|
||||||
"simulator.title.sub3": "システム容量",
|
"simulator.title.sub3": "システム容量",
|
||||||
"simulator.title.sub4": "年間予測発電量",
|
"simulator.title.sub4": "年間予測発電量",
|
||||||
|
|||||||
@ -50,8 +50,8 @@
|
|||||||
"modal.movement.flow.line.updown.up": "자릿수를 올리다",
|
"modal.movement.flow.line.updown.up": "자릿수를 올리다",
|
||||||
"modal.movement.flow.line.updown.down": "자릿수를 낮추다",
|
"modal.movement.flow.line.updown.down": "자릿수를 낮추다",
|
||||||
"modal.movement.flow.line.info": "동선을 선택하고 이동 폭을 지정하십시오",
|
"modal.movement.flow.line.info": "동선을 선택하고 이동 폭을 지정하십시오",
|
||||||
"modal.movement.flow.line.bottom.left": "높이 변경: 아래, 왼쪽",
|
"modal.movement.flow.line.bottom.left": "높이변경 : 아래, 왼쪽",
|
||||||
"modal.movement.flow.line.top.right": "높이 변경: 위, 오른쪽",
|
"modal.movement.flow.line.top.right": "높이변경 : 위, 오른쪽",
|
||||||
"plan.menu.roof.cover.outline.edit.offset": "외벽선 편집 및 오프셋",
|
"plan.menu.roof.cover.outline.edit.offset": "외벽선 편집 및 오프셋",
|
||||||
"plan.menu.roof.cover.roof.surface.alloc": "지붕면 할당",
|
"plan.menu.roof.cover.roof.surface.alloc": "지붕면 할당",
|
||||||
"plan.menu.roof.cover.roof.shape.edit": "지붕형상 편집",
|
"plan.menu.roof.cover.roof.shape.edit": "지붕형상 편집",
|
||||||
@ -84,13 +84,13 @@
|
|||||||
"plan.menu.placement.surface.arrangement": "면형상 배치",
|
"plan.menu.placement.surface.arrangement": "면형상 배치",
|
||||||
"plan.menu.placement.surface.object": "오브젝트 배치",
|
"plan.menu.placement.surface.object": "오브젝트 배치",
|
||||||
"plan.menu.placement.surface.all.remove": "배치면 전체 삭제",
|
"plan.menu.placement.surface.all.remove": "배치면 전체 삭제",
|
||||||
"plan.menu.module.circuit.setting": "모듈·회로 구성",
|
"plan.menu.module.circuit.setting": "모듈, 회로 구성",
|
||||||
"plan.menu.module.circuit.setting.default": "모듈·가대설정",
|
"plan.menu.module.circuit.setting.default": "모듈/가대설정",
|
||||||
"modal.module.basic.setting.orientation.setting": "방위 설정",
|
"modal.module.basic.setting.orientation.setting": "방위 설정",
|
||||||
"modal.module.basic.setting.orientation.setting.info": "※시뮬레이션 계산용 방위를 지정합니다. 남쪽의 방위를 설정해주세요.",
|
"modal.module.basic.setting.orientation.setting.info": "※시뮬레이션 계산용 방위를 지정합니다. 남쪽의 방위를 설정해주세요.",
|
||||||
"modal.module.basic.setting.orientation.setting.angle.passivity": "각도를 직접 입력",
|
"modal.module.basic.setting.orientation.setting.angle.passivity": "각도를 직접 입력",
|
||||||
"modal.module.basic.setting.module.roof.material": "지붕재",
|
"modal.module.basic.setting.module.roof.material": "지붕재",
|
||||||
"modal.module.basic.setting.module.trestle.maker": "가대메이커",
|
"modal.module.basic.setting.module.trestle.maker": "가대메이거",
|
||||||
"modal.module.basic.setting.module.rafter.margin": "서까래 간격",
|
"modal.module.basic.setting.module.rafter.margin": "서까래 간격",
|
||||||
"modal.module.basic.setting.module.construction.method": "공법",
|
"modal.module.basic.setting.module.construction.method": "공법",
|
||||||
"modal.module.basic.setting.module.under.roof": "지붕밑바탕",
|
"modal.module.basic.setting.module.under.roof": "지붕밑바탕",
|
||||||
@ -634,7 +634,7 @@
|
|||||||
"stuff.gridHeader.address": "물건주소",
|
"stuff.gridHeader.address": "물건주소",
|
||||||
"stuff.gridHeader.dispCompanyName": "견적처",
|
"stuff.gridHeader.dispCompanyName": "견적처",
|
||||||
"stuff.gridHeader.receiveUser": "담당자",
|
"stuff.gridHeader.receiveUser": "담당자",
|
||||||
"stuff.gridHeader.specificationConfirmDate": "사양확정일",
|
"stuff.gridHeader.specificationConfirmDate": "사양확인일",
|
||||||
"stuff.gridHeader.createDatetime": "등록일",
|
"stuff.gridHeader.createDatetime": "등록일",
|
||||||
"stuff.gridData.tempObjectNo": "임시저장물건",
|
"stuff.gridData.tempObjectNo": "임시저장물건",
|
||||||
"stuff.message.periodError": "최대1년 조회 가능합니다.",
|
"stuff.message.periodError": "최대1년 조회 가능합니다.",
|
||||||
@ -877,7 +877,6 @@
|
|||||||
"estimate.detail.roofCns": "지붕재・사양시공",
|
"estimate.detail.roofCns": "지붕재・사양시공",
|
||||||
"estimate.detail.remarks": "비고",
|
"estimate.detail.remarks": "비고",
|
||||||
"estimate.detail.fileFlg": "후일자료제출",
|
"estimate.detail.fileFlg": "후일자료제출",
|
||||||
"estimate.detail.dragFileGuide": "(※ 북면설치인 경우, 파일 첨부가 필수입니다.)",
|
|
||||||
"estimate.detail.header.fileList1": "파일첨부",
|
"estimate.detail.header.fileList1": "파일첨부",
|
||||||
"estimate.detail.fileList.btn": "파일선택",
|
"estimate.detail.fileList.btn": "파일선택",
|
||||||
"estimate.detail.fileList.extCheck": "이미지 파일만 첨부 가능합니다.",
|
"estimate.detail.fileList.extCheck": "이미지 파일만 첨부 가능합니다.",
|
||||||
@ -943,7 +942,6 @@
|
|||||||
"estimate.detail.save.alertMsg": "저장되었습니다. 견적서에서 제품을 변경할 경우 도면 및 회로에 반영되지 않습니다.",
|
"estimate.detail.save.alertMsg": "저장되었습니다. 견적서에서 제품을 변경할 경우 도면 및 회로에 반영되지 않습니다.",
|
||||||
"estimate.detail.copy.alertMsg": "복사되었습니다.",
|
"estimate.detail.copy.alertMsg": "복사되었습니다.",
|
||||||
"estimate.detail.save.requiredFileUpload": "파일첨부가 필수인 아이템이 있습니다. 파일을 첨부하거나 후일첨부를 체크해주십시오.",
|
"estimate.detail.save.requiredFileUpload": "파일첨부가 필수인 아이템이 있습니다. 파일을 첨부하거나 후일첨부를 체크해주십시오.",
|
||||||
"estimate.detail.save.requiredNorthArrangementFileUpload": "북면에 모듈을 배치한 경우, 북면배치허가서를 반드시 첨부해야 합니다.",
|
|
||||||
"estimate.detail.save.requiredItem": "제품은 1개이상 등록해야 됩니다.",
|
"estimate.detail.save.requiredItem": "제품은 1개이상 등록해야 됩니다.",
|
||||||
"estimate.detail.save.requiredCharger": "담당자는 필수값 입니다.",
|
"estimate.detail.save.requiredCharger": "담당자는 필수값 입니다.",
|
||||||
"estimate.detail.save.requiredObjectName": "안건명은 필수값 입니다.",
|
"estimate.detail.save.requiredObjectName": "안건명은 필수값 입니다.",
|
||||||
|
|||||||
@ -40,7 +40,10 @@ export const moduleStatisticsState = atom({
|
|||||||
{ name: `발전량(kW)`, prop: 'amount' },
|
{ name: `발전량(kW)`, prop: 'amount' },
|
||||||
],
|
],
|
||||||
rows: [],
|
rows: [],
|
||||||
footer: ['합계', '0'],
|
footer: [
|
||||||
|
{ name: '-', prop: 'name' },
|
||||||
|
{ name: 0, prop: 'amount' },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
dangerouslyAllowMutability: true,
|
dangerouslyAllowMutability: true,
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1031,8 +1031,3 @@ export function calculateVisibleModuleHeight(sourceWidth, sourceHeight, angle, d
|
|||||||
height: Number(visibleHeight.toFixed(1)), // 소수점 두 자리로 고정
|
height: Number(visibleHeight.toFixed(1)), // 소수점 두 자리로 고정
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getTrestleLength(length, degree) {
|
|
||||||
const radians = (degree * Math.PI) / 180
|
|
||||||
return length * Math.cos(radians)
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user