+
+ {
+ setType(UP_DOWN_TYPE.UP)
+ }}
+ />
+
-
-
+
+ {
+ setType(UP_DOWN_TYPE.DOWN)
+ }}
+ />
+
-
-
-
- {
- setType(UP_DOWN_TYPE.DOWN)
- }}
- />
-
-
-
-
-
+
+
{getMessage('modal.movement.flow.line.movement')}
+
+
+
mm
diff --git a/src/locales/ja.json b/src/locales/ja.json
index 4ba19494..00599068 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -43,14 +43,16 @@
"plan.menu.roof.cover.roof.shape.setting": "屋根形状の設定",
"plan.menu.roof.cover.roof.shape.passivity.setting": "屋根形状の手動設定",
"plan.menu.roof.cover.eaves.kerava.edit": "軒・ケラバ変更",
- "plan.menu.roof.cover.movement.shape.updown": "軒線移動・桁上げ下り",
- "modal.movement.flow.line.move": "軒線の移動",
+ "plan.menu.roof.cover.movement.shape.updown": "棟線移動・桁上げ下げ",
+ "modal.movement.flow.line.move": "棟線移動",
"modal.movement.flow.line.move.alert": "移動する数ない。",
- "modal.movement.flow.line.updown": "桁上げ・下り",
- "modal.movement.flow.line.updown.info": "桁の異なる辺を選択し、幅を指定します。",
+ "modal.movement.flow.line.updown": "桁上げ・下げ",
+ "modal.movement.flow.line.updown.info": "桁高の違う辺を選択し、 幅を指定してください",
"modal.movement.flow.line.updown.up": "桁を上げる",
"modal.movement.flow.line.updown.down": "桁数を下げる",
- "modal.movement.flow.line.info": "軒線を選択して移動幅を指定します",
+ "modal.movement.flow.line.info": "棟線を選択し、 移動幅を指定してください。",
+ "modal.movement.flow.line.position": "位置値",
+ "modal.movement.flow.line.movement": "動き値",
"modal.movement.flow.line.bottom.left": "高さ変更:下、左",
"modal.movement.flow.line.top.right": "高さ変更:上、右",
"plan.menu.roof.cover.outline.edit.offset": "外壁の編集とオフセット",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 0d2ecc83..efcabd1c 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -51,6 +51,8 @@
"modal.movement.flow.line.updown.up": "자릿수를 올리다",
"modal.movement.flow.line.updown.down": "자릿수를 낮추다",
"modal.movement.flow.line.info": "동선을 선택하고 이동 폭을 지정하십시오",
+ "modal.movement.flow.line.position": "위치값",
+ "modal.movement.flow.line.movement": "이동 수치",
"modal.movement.flow.line.bottom.left": "높이변경 : 아래, 왼쪽",
"modal.movement.flow.line.top.right": "높이변경 : 위, 오른쪽",
"plan.menu.roof.cover.outline.edit.offset": "외벽선 편집 및 오프셋",
From 50aa5ca556cd54634aea325e3001e13d635887fc Mon Sep 17 00:00:00 2001
From: "hyojun.choi"
Date: Mon, 26 May 2025 15:57:27 +0900
Subject: [PATCH 3/4] =?UTF-8?q?[1066]=20=EC=83=88=EB=A1=9C=EA=B3=A0?=
=?UTF-8?q?=EC=B9=A8=20=EC=8B=9C,=20=EC=A7=80=EB=B6=95=EC=9E=AC=20?=
=?UTF-8?q?=EB=AF=B8=ED=91=9C=EC=8B=9C=20=EC=98=A4=EB=A5=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/option/useCanvasSetting.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/hooks/option/useCanvasSetting.js b/src/hooks/option/useCanvasSetting.js
index 5ae8c9ef..9f44e151 100644
--- a/src/hooks/option/useCanvasSetting.js
+++ b/src/hooks/option/useCanvasSetting.js
@@ -199,7 +199,11 @@ export function useCanvasSetting(executeEffect = true) {
if (!executeEffect) {
return
}
+ if (roofMaterials.length === 0) {
+ return
+ }
const selectedRoofMaterial = roofMaterials[0]
+ console.log('selectedRoofMaterial', selectedRoofMaterial)
if (addedRoofs.length === 0) {
const newAddedRoofs = []
From 5101fab02737f09c382039d946f932fab00d7483 Mon Sep 17 00:00:00 2001
From: ysCha
Date: Mon, 26 May 2025 16:53:43 +0900
Subject: [PATCH 4/4] =?UTF-8?q?[1004]=201:1=20=201)=20no=20data=20?=
=?UTF-8?q?=EC=B6=94=EA=B0=80=202)=EC=9D=B4=EB=A9=94=EC=9D=BC=20=EC=88=98?=
=?UTF-8?q?=EC=A0=95=EA=B0=80=EB=8A=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/community/Qna.jsx | 4 +-
.../community/modal/QnaRegModal.jsx | 59 ++++++++++++++-----
src/locales/ja.json | 1 +
src/locales/ko.json | 1 +
4 files changed, 46 insertions(+), 19 deletions(-)
diff --git a/src/components/community/Qna.jsx b/src/components/community/Qna.jsx
index ed65637f..033f7424 100644
--- a/src/components/community/Qna.jsx
+++ b/src/components/community/Qna.jsx
@@ -195,9 +195,7 @@ export default function Qna() {
))
) : (
- |
- {getMessage('common.message.no.data')}
- |
+ {getMessage('common.message.no.data')} |
)}
diff --git a/src/components/community/modal/QnaRegModal.jsx b/src/components/community/modal/QnaRegModal.jsx
index ef40457b..c7e3b40b 100644
--- a/src/components/community/modal/QnaRegModal.jsx
+++ b/src/components/community/modal/QnaRegModal.jsx
@@ -27,6 +27,7 @@ export default function QnaRegModal({ setOpen, setReload, searchValue, selectPag
const qnaTypeLgCodeRef = useRef(null)
const qnaTypeMdCodeRef = useRef(null)
const qnaTypeSmCodeRef = useRef(null)
+ const qstMail = useRef(null);
const regUserNmRef = useRef(null)
const regUserTelNoRef = useRef(null)
const titleRef = useRef(null)
@@ -65,6 +66,7 @@ let fileCheck = false;
const initQnaReg = async () => {
+ qstMail.current.value = ''
regUserNmRef.current.value = ''
regUserTelNoRef.current.value = ''
qnaTypeLgCodeRef.current.setValue();
@@ -148,7 +150,7 @@ let fileCheck = false;
if(!fileCheck) return;
fileUploadProps.uploadFiles.forEach((file) => {
- console.log("file::::::::",file)
+ //console.log("file::::::::",file)
formData.push(file)
})
@@ -156,6 +158,16 @@ let fileCheck = false;
fileCheck = false;
}
+ const isValidEmail = (email) => {
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
+ return emailRegex.test(email);
+ };
+
+ const isEmpty = (value) => {
+ return value === null || value === undefined || value.trim() === "";
+ };
+
+
const handleQnaSubmit = async () => {
//필수 체크
@@ -164,13 +176,22 @@ let fileCheck = false;
let regUserNm = qnaData?.regUserNm??'';
- if (regUserNm.trim().length === 0) {
+ if (!isValidEmail(qnaData.qstMail)) {
+ qstMail.current.focus();
+ swalFire({
+ title: getMessage('qna.reg.alert.require.qstMail'),
+ icon: 'warning',
+ });
+ return;
+ }
- regUserNmRef.current.value = '';
+
+ if (isEmpty(regUserNm)) {
+ regUserNmRef.current.value = '';
regUserNmRef.current.focus()
swalFire({
- text: getMessage('qna.reg.alert.require.regUserNm'),
- type: 'alert',
+ title: getMessage('qna.reg.alert.require.regUserNm'),
+ icon: 'warning',
})
return false
}
@@ -178,35 +199,35 @@ let fileCheck = false;
let qnaClsLrgCd = qnaData?.qnaClsLrgCd??'';
let qnaClsMidCd = qnaData?.qnaClsMidCd??'';
- if (qnaClsLrgCd.trim().length === 0 || qnaClsMidCd.trim().length === 0 ) {
- (qnaClsLrgCd.trim().length === 0)?qnaTypeLgCodeRef.current.focus():qnaTypeMdCodeRef.current.focus()
+ if (isEmpty(qnaClsLrgCd) || isEmpty(qnaClsMidCd) ) {
+ (isEmpty(qnaClsLrgCd))?qnaTypeLgCodeRef.current.focus():qnaTypeMdCodeRef.current.focus()
swalFire({
- text: getMessage('qna.reg.alert.select.type'),
- type: 'alert',
+ title: getMessage('qna.reg.alert.select.type'),
+ icon: 'warning',
})
return false
}
let title = qnaData?.title??'';
- if (title.trim().length === 0) {
+ if (isEmpty(title)) {
titleRef.current.value = '';
titleRef.current.focus()
swalFire({
- text: getMessage('qna.reg.alert.require.title'),
- type: 'alert',
+ title: getMessage('qna.reg.alert.require.title'),
+ icon: 'warning',
})
return false
}
//console.log("5::::",qnaData)
let contents = qnaData?.contents??'';
- if (contents.trim().length === 0) {
+ if (isEmpty(contents)) {
contentsRef.current.value = '';
contentsRef.current.focus()
swalFire({
- text: getMessage('qna.reg.alert.require.contents'),
- type: 'alert',
+ title: getMessage('qna.reg.alert.require.contents'),
+ icon: 'warning',
})
return false
}
@@ -310,7 +331,13 @@ let fileCheck = false;
{getMessage('qna.list.header.regNm')} |
|
E-Mail* |
- |
+ setQnaData({...qnaData, qstMail: e.target.value })}
+ onBlur={(e) => setQnaData({ ...qnaData, qstMail: e.target.value })} />
+ |
+
{getMessage('qna.reg.header.regDt')} |
{dayjs(new Date()).format('YYYY-MM-DD')} |
diff --git a/src/locales/ja.json b/src/locales/ja.json
index 00599068..d90cab69 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -612,6 +612,7 @@
"qna.reg.header.contents": "お問い合わせ内容",
"qna.reg.header.fileList": "ファイル添付",
"qna.reg.header.save": "保存",
+ "qna.reg.alert.require.qstMail": "無効なメール形式です。",
"qna.reg.alert.require.regUserNm": "名前を入力してください。",
"qna.reg.alert.select.type": "お問い合わせ区分を選択してください。",
"qna.reg.alert.require.title": "タイトルを入力してください。",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index efcabd1c..67176ee8 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -612,6 +612,7 @@
"qna.reg.header.contents": "문의정보",
"qna.reg.header.fileList": "파일첨부",
"qna.reg.header.save": "저장",
+ "qna.reg.alert.require.qstMail": "올바르지 않은 이메일 형식입니다.",
"qna.reg.alert.require.regUserNm": "이름을 입력하세요.",
"qna.reg.alert.select.type": "문의구분을 선택하세요.",
"qna.reg.alert.require.title": "제목을 입력하세요.",