From 9369c1c952a0001033861bfa5470c312fb4e0a02 Mon Sep 17 00:00:00 2001 From: Jaeyoung Lee Date: Fri, 9 Jan 2026 17:15:18 +0900 Subject: [PATCH 1/4] =?UTF-8?q?qline=20=EC=8B=A4=EC=B9=98=EC=88=98=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=EB=B6=80=EB=B6=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/fabric/QLine.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/fabric/QLine.js b/src/components/fabric/QLine.js index 02448cd7..4608bd58 100644 --- a/src/components/fabric/QLine.js +++ b/src/components/fabric/QLine.js @@ -84,9 +84,12 @@ export const QLine = fabric.util.createClass(fabric.Line, { addLengthText() { const thisText = this.canvas.getObjects().find((obj) => obj.name === 'lengthText' && obj.parentId === this.id) - if (this.textMode === 'none') { - if (thisText) { - this.canvas.remove(thisText) + if (thisText) { + if (this.attributes?.actualSize) { + thisText.set({ actualSize: this.attributes.actualSize }) + } + if (this.attributes?.planeSize) { + thisText.set({ planeSize: this.attributes.planeSize }) } } else { this.setLength() @@ -97,11 +100,6 @@ export const QLine = fabric.util.createClass(fabric.Line, { const x2 = this.left + this.width * scaleX const y2 = this.top + this.height * scaleY - if (thisText) { - thisText.set({ text: this.getLength().toString(), left: (x1 + x2) / 2, top: (y1 + y2) / 2 }) - this.text = thisText - return - } let left, top if (this.direction === 'left' || this.direction === 'right') { left = (x1 + x2) / 2 @@ -118,6 +116,8 @@ export const QLine = fabric.util.createClass(fabric.Line, { const degree = (Math.atan2(y2 - y1, x2 - x1) * 180) / Math.PI const text = new fabric.Textbox(this.getLength().toString(), { + actualSize: this.attributes?.actualSize, + planeSize: this.attributes?.planeSize, left: left, top: top, fontSize: this.fontSize, From c4b03c6745dfedd25f350352637d0797affa6c87 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Fri, 9 Jan 2026 17:28:02 +0900 Subject: [PATCH 2/4] =?UTF-8?q?diff=202=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/usePolygon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/usePolygon.js b/src/hooks/usePolygon.js index bc63c50c..e846760b 100644 --- a/src/hooks/usePolygon.js +++ b/src/hooks/usePolygon.js @@ -1982,7 +1982,7 @@ export const usePolygon = () => { const line1 = allRoofLines[i] const line2 = allRoofLines[j] const diff = Math.abs(line1.length - line2.length) - if (diff > 0 && diff <= 1) { + if (diff > 0 && diff <= 2) { const minLength = Math.min(line1.length, line2.length) line1.setLengthByValue(minLength * 10) line2.setLengthByValue(minLength * 10) From e61913355e539a42fd19abe694d5e853a981be7d Mon Sep 17 00:00:00 2001 From: yscha Date: Sun, 11 Jan 2026 15:24:43 +0900 Subject: [PATCH 3/4] =?UTF-8?q?1=EC=B0=A8=EC=A0=90=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=A7=8C=EB=93=A0=20=EA=B2=AC=EC=A0=81=EC=84=9C=202=EC=B0=A8?= =?UTF-8?q?=EC=A0=90=20=EA=B0=80=EA=B2=A9=20=EB=AF=B8=EB=85=B8=EC=B6=9C=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/estimate/popup/DocDownOptionPop.jsx | 5 +++-- src/components/management/StuffDetail.jsx | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/estimate/popup/DocDownOptionPop.jsx b/src/components/estimate/popup/DocDownOptionPop.jsx index f5a967f1..9a48999f 100644 --- a/src/components/estimate/popup/DocDownOptionPop.jsx +++ b/src/components/estimate/popup/DocDownOptionPop.jsx @@ -8,7 +8,7 @@ import { usePathname, useSearchParams } from 'next/navigation' import { QcastContext } from '@/app/QcastProvider' import { sessionStore } from '@/store/commonAtom' -export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDownPopLockFlg }) { +export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDownPopLockFlg, saleStoreId = '' }) { const { setIsGlobalLoading } = useContext(QcastContext) const { getMessage } = useMessage() @@ -69,7 +69,8 @@ export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDown schDrawingFlg: defaultSchDrawingFlg, pwrGnrSimType: 'D', //default 화면에 안보여줌 userId: sessionState.userId ? sessionState.userId : "", - saleStoreId: sessionState.storeId ? sessionState.storeId : "", + saleStoreId: saleStoreId ? saleStoreId : (sessionState.saleStoreId ? sessionState.saleStoreId : ""), + storeLvl: sessionState.storeLvl } const options = { responseType: 'blob' } diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index cc9d71ea..611ba72a 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -2936,7 +2936,7 @@ export default function StuffDetail() { )} - {estimatePopupOpen && } + {estimatePopupOpen && } ) } From bdd7a475d51c3f126496cd7f89c3a08eb6a03215 Mon Sep 17 00:00:00 2001 From: ysCha Date: Mon, 12 Jan 2026 11:08:49 +0900 Subject: [PATCH 4/4] =?UTF-8?q?1=EC=B0=A8=EC=A0=90=20=EC=83=9D=EC=84=B1=20?= =?UTF-8?q?2=EC=B0=A8=EC=A0=90=20=EA=B0=80=EA=B2=A9=20=EB=AF=B8=EB=85=B8?= =?UTF-8?q?=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/estimate/popup/DocDownOptionPop.jsx | 7 ++++--- src/components/management/StuffDetail.jsx | 7 ++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/estimate/popup/DocDownOptionPop.jsx b/src/components/estimate/popup/DocDownOptionPop.jsx index 9a48999f..2f250646 100644 --- a/src/components/estimate/popup/DocDownOptionPop.jsx +++ b/src/components/estimate/popup/DocDownOptionPop.jsx @@ -8,7 +8,7 @@ import { usePathname, useSearchParams } from 'next/navigation' import { QcastContext } from '@/app/QcastProvider' import { sessionStore } from '@/store/commonAtom' -export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDownPopLockFlg, saleStoreId = '' }) { +export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDownPopLockFlg, createStoreId = '' }) { const { setIsGlobalLoading } = useContext(QcastContext) const { getMessage } = useMessage() @@ -69,8 +69,9 @@ export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDown schDrawingFlg: defaultSchDrawingFlg, pwrGnrSimType: 'D', //default 화면에 안보여줌 userId: sessionState.userId ? sessionState.userId : "", - saleStoreId: saleStoreId ? saleStoreId : (sessionState.saleStoreId ? sessionState.saleStoreId : ""), - storeLvl: sessionState.storeLvl + saleStoreId: sessionState.storeId ? sessionState.storeId : "", + storeLvl: sessionState.storeLvl, + createStoreId: createStoreId ? createStoreId : '', } const options = { responseType: 'blob' } diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index 611ba72a..75db2623 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -54,6 +54,8 @@ export default function StuffDetail() { const globalLocaleState = useRecoilValue(globalLocaleStore) const ref = useRef() const { get, promiseGet, del, promisePost, promisePut } = useAxios(globalLocaleState) + const [createSaleStoreId, setCreateSaleStoreId] = useState('') + //form const formInitValue = { // 물건번호 T...(임시) S...(진짜) @@ -350,6 +352,9 @@ export default function StuffDetail() { promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => { setIsGlobalLoading(false) if (res.status === 200) { + + setCreateSaleStoreId(res?.data?.createSaleStoreId); + if (res?.data?.createSaleStoreId === 'T01') { if (session?.storeId !== 'T01') { setShowButton('none') @@ -2936,7 +2941,7 @@ export default function StuffDetail() { )} - {estimatePopupOpen && } + {estimatePopupOpen && } ) }