@@ -2606,10 +2594,10 @@ export default function StuffDetail() {
getOptionLabel={(x) => x.prefName}
getOptionValue={(x) => x.prefId}
isSearchable={false}
+ onChange={onChangePrefCode}
value={prefCodeList.filter(function (option) {
return option.prefId === prefValue
})}
- isDisabled={true}
/>
)}
diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js
index 6d573ff0..bc4d246a 100644
--- a/src/hooks/roofcover/useRoofAllocationSetting.js
+++ b/src/hooks/roofcover/useRoofAllocationSetting.js
@@ -71,30 +71,19 @@ export function useRoofAllocationSetting(id) {
roof.innerLines.forEach((line) => {
/** 실측값이 없는 경우 라인 두께 4로 설정 */
if (!line.attributes.actualSize || line.attributes?.actualSize === 0) {
- line.set({
- strokeWidth: 4,
- stroke: 'black',
- selectable: true,
- })
+ line.set({ strokeWidth: 4, stroke: 'black', selectable: true })
}
/** 현재 선택된 라인인 경우 라인 두께 2로 설정 */
if (editingLines.includes(line)) {
- line.set({
- strokeWidth: 2,
- stroke: 'black',
- selectable: true,
- })
+ line.set({ strokeWidth: 2, stroke: 'black', selectable: true })
}
})
})
/** 현재 선택된 객체가 보조라인, 피라미드, 힙인 경우 두께 4로 설정 */
if (currentObject && currentObject.name && ['auxiliaryLine', 'ridge', 'hip'].includes(currentObject.name)) {
- currentObject.set({
- strokeWidth: 4,
- stroke: '#EA10AC',
- })
+ currentObject.set({ strokeWidth: 4, stroke: '#EA10AC' })
}
}, [currentObject])
@@ -102,7 +91,7 @@ export function useRoofAllocationSetting(id) {
/** 현재 선택된 객체가 보조라인, 피라미드, 힙인 경우 두께 4로 설정 */
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
if (roofBases.length === 0) {
- swalFire({ text: '할당할 지붕이 없습니다.' })
+ swalFire({ text: getMessage('roofAllocation.not.found'), icon: 'warning' })
closePopup(id)
}
@@ -115,9 +104,7 @@ export function useRoofAllocationSetting(id) {
*/
const fetchBasicSettings = async (planNo) => {
try {
- await get({
- url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}/${planNo}`,
- }).then((res) => {
+ await get({ url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}/${planNo}` }).then((res) => {
let roofsArray = {}
if (res.length > 0) {
@@ -187,11 +174,7 @@ export function useRoofAllocationSetting(id) {
selectedRoofMaterial: selectRoofs.find((roof) => roof.selected),
})
- setBasicInfo({
- planNo: '' + res[0].planNo,
- roofSizeSet: '' + res[0].roofSizeSet,
- roofAngleSet: '' + res[0].roofAngleSet,
- })
+ setBasicInfo({ planNo: '' + res[0].planNo, roofSizeSet: '' + res[0].roofSizeSet, roofAngleSet: '' + res[0].roofAngleSet })
})
} catch (error) {
console.error('Data fetching error:', error)
@@ -250,10 +233,7 @@ export function useRoofAllocationSetting(id) {
}
const originCurrentRoofList = currentRoofList.map((roof) => {
- return {
- ...roof,
- selected: false,
- }
+ return { ...roof, selected: false }
})
originCurrentRoofList.push({
...currentRoofMaterial,
@@ -308,13 +288,19 @@ export function useRoofAllocationSetting(id) {
*/
const handleSaveContext = () => {
const newRoofList = currentRoofList.map((roof, idx) => {
+ if (roof.index !== idx) {
+ // 기존 저장된 지붕재의 index 수정
+ const roofs = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF && obj.roofMaterial?.index === roof.index)
+ roofs.forEach((roof) => {
+ setSurfaceShapePattern(roof, roofDisplay.column, false, { ...roof, index: idx }, true)
+ })
+ }
+
return { ...roof, index: idx, raft: roof.raft ? roof.raft : roof.raftBaseCd }
})
+
setBasicSetting((prev) => {
- return {
- ...prev,
- selectedRoofMaterial: newRoofList.find((roof) => roof.selected),
- }
+ return { ...prev, selectedRoofMaterial: newRoofList.find((roof) => roof.selected) }
})
setRoofList(newRoofList)
@@ -349,11 +335,7 @@ export function useRoofAllocationSetting(id) {
if (!checkInnerLines()) {
apply()
} else {
- swalFire({
- type: 'alert',
- icon: 'error',
- text: getMessage('실제치수를 입력해 주세요.'),
- })
+ swalFire({ type: 'alert', icon: 'error', text: getMessage('실제치수를 입력해 주세요.') })
}
}
@@ -368,11 +350,7 @@ export function useRoofAllocationSetting(id) {
if (roof.separatePolygon.length === 0) {
roof.innerLines.forEach((line) => {
if (!line.attributes.actualSize || line.attributes?.actualSize === 0) {
- line.set({
- strokeWidth: 4,
- stroke: 'black',
- selectable: true,
- })
+ line.set({ strokeWidth: 4, stroke: 'black', selectable: true })
result = true
}
})
@@ -420,10 +398,7 @@ export function useRoofAllocationSetting(id) {
})
setBasicSetting((prev) => {
- return {
- ...prev,
- selectedRoofMaterial: newRoofList.find((roof) => roof.selected),
- }
+ return { ...prev, selectedRoofMaterial: newRoofList.find((roof) => roof.selected) }
})
setRoofList(newRoofList)
@@ -431,9 +406,7 @@ export function useRoofAllocationSetting(id) {
roofs.forEach((roof) => {
if (roof.isFixed) return
- roof.set({
- isFixed: true,
- })
+ roof.set({ isFixed: true })
/** 모양 패턴 설정 */
setSurfaceShapePattern(
@@ -470,10 +443,7 @@ export function useRoofAllocationSetting(id) {
if (id === line.id) {
setEditingLines([...editingLines.filter((editLine) => editLine.id !== line.id), line])
line.attributes.actualSize = size
- line.set({
- strokeWidth: 2,
- stroke: 'black',
- })
+ line.set({ strokeWidth: 2, stroke: 'black' })
}
})
})
diff --git a/src/locales/ja.json b/src/locales/ja.json
index 718aeb8e..b8195843 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -999,7 +999,7 @@
"simulator.table.sub5": "枚数",
"simulator.table.sub6": "合計",
"simulator.table.sub7": "パワーコンディショナー",
- "simulator.table.sub8": "ティーン",
+ "simulator.table.sub8": "台",
"simulator.table.sub9": "予測発電量(kWh)",
"simulator.notice.sub1": "ハンファジャパン年間発電量",
"simulator.notice.sub2": "シミュレーションガイド",
@@ -1042,8 +1042,8 @@
"wall.line.not.found": "外壁がありません",
"roof.line.not.found": "屋根形状がありません",
"roof.material.can.not.delete": "割り当てられた配置面があります。",
- "module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다. (JA)",
"chidory.can.not.install": "千鳥配置できない工法です。",
+ "module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다. (JA)",
"module.layout.setup.max.count.multiple": "모듈 {0}번의 최대 단수는 {1}, 최대 열수는 {2} 입니다. (JA)",
- "module.place.mix.asg.yn.error": "혼합 설치가 불가능합니다. (JA)"
+ "roofAllocation.not.found": "할당할 지붕이 없습니다. (JA)"
}
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 9ff2ecec..6ea42c9f 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -1042,8 +1042,8 @@
"wall.line.not.found": "외벽선이 없습니다.",
"roof.line.not.found": "지붕형상이 없습니다.",
"roof.material.can.not.delete": "할당된 배치면이 있습니다.",
- "module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다.",
"chidory.can.not.install": "치조 불가 공법입니다.",
+ "module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다.",
"module.layout.setup.max.count.multiple": "모듈 {0}번의 최대 단수는 {1}, 최대 열수는 {2} 입니다.",
- "module.place.mix.asg.yn.error": "혼합 설치가 불가능합니다."
+ "roofAllocation.not.found": "할당할 지붕이 없습니다."
}
diff --git a/src/styles/_grid-detail.scss b/src/styles/_grid-detail.scss
index b0c88984..5f27bd18 100644
--- a/src/styles/_grid-detail.scss
+++ b/src/styles/_grid-detail.scss
@@ -24,6 +24,10 @@
.ag-header-cell{
font-size: 13px;
color: #fff;
+ border-right: 1px solid #738596;
+ &:last-child{
+ border: none;
+ }
}
.ag-header-cell-label{
justify-content: center;
diff --git a/startscript.js b/startscript.js
index 890c30f8..e276be78 100644
--- a/startscript.js
+++ b/startscript.js
@@ -1,2 +1,2 @@
var exec = require('child_process').exec
-exec('yarn dev', { windowsHide: true })
+exec('yarn dev -p 5000', { windowsHide: true })