diff --git a/.env.development b/.env.development
index d3e1ba88..f35f6208 100644
--- a/.env.development
+++ b/.env.development
@@ -1,4 +1,4 @@
-NEXT_PUBLIC_API_SERVER_PATH="http://1.248.227.176:38080"
+NEXT_PUBLIC_API_SERVER_PATH="https://dev-api.hanasys.jp"
NEXT_PUBLIC_HOST_URL="//1.248.227.176:4000"
diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx
index 8ce54402..7237e056 100644
--- a/src/components/estimate/Estimate.jsx
+++ b/src/components/estimate/Estimate.jsx
@@ -60,7 +60,7 @@ export default function Estimate({}) {
const [cableItemList, setCableItemList] = useState([]) //케이블 리스트
const [cableItem, setCableItem] = useState('') //케이블 선택값
-
+ const [cableDbItem, setCableDbItem] = useState('') //케이블 선택값
const [startDate, setStartDate] = useState(new Date())
const singleDatePickerProps = {
startDate,
@@ -98,7 +98,7 @@ export default function Estimate({}) {
}
const initEstimate = (currPid = currentPid) => {
- console.log('🚀 ~ initEstimate ~ currPid:', currPid)
+ // console.log('🚀 ~ initEstimate ~ currPid:', currPid)
closeAll()
setObjectNo(objectRecoil.floorPlanObjectNo)
@@ -117,6 +117,7 @@ export default function Estimate({}) {
item.value = item.clRefChr1
item.label = item.clRefChr2
})
+ // console.log(code2)
setCableItemList(code2)
}
@@ -152,7 +153,7 @@ export default function Estimate({}) {
}
useEffect(() => {
- console.log('🚀 ~ Estimate ~ selectedPlan:', selectedPlan)
+ // console.log('🚀 ~ Estimate ~ selectedPlan:', selectedPlan)
if (selectedPlan) initEstimate(selectedPlan.planNo)
}, [selectedPlan])
@@ -739,6 +740,18 @@ export default function Estimate({}) {
setCableItem(value)
}
+ /* 케이블 select 변경시 */
+ const onChangeDisplayDoubleCableItem = (value, itemList) => {
+ itemList.map((item, index) => {
+ if (item.dispCableFlg === '1' && item.itemTpCd === 'M12') {
+ if (value !== '') {
+ onChangeDisplayItem(value, item.dispOrder, index, true)
+ }
+ }
+ })
+ setCableDbItem(value)
+ }
+
// 아이템 자동완성 검색시 아이템 추가/변경시
const onChangeDisplayItem = (itemId, dispOrder, index, flag) => {
const param = {
@@ -1088,15 +1101,20 @@ export default function Estimate({}) {
item.showSaleTotPrice = '0'
}
- if (item.dispCableFlg === '1' && item.itemTpCd !== 'M12') {
+ if (item.dispCableFlg === '1' ) {
dispCableFlgCnt++
- setCableItem(item.itemId)
+ if(item.itemTpCd === 'M12') {
+ setCableDbItem(item.itemId)
+ }else{
+ setCableItem(item.itemId)
+ }
}
}
})
if (dispCableFlgCnt === 0) {
setCableItem('100038')
+ setCableDbItem('100037')
}
let pkgAsp = estimateContextState.pkgAsp ? Number(estimateContextState.pkgAsp.replaceAll(',', '')) : 0
@@ -1159,14 +1177,20 @@ export default function Estimate({}) {
dispCableFlgCnt++
}
- if (item.dispCableFlg === '1' && item.itemTpCd !== 'M12') {
- setCableItem(item.itemId)
+ if (item.dispCableFlg === '1'){
+
+ if(item.itemTpCd === 'M12') {
+ setCableDbItem(item.itemId)
+ }else{
+ setCableItem(item.itemId)
+ }
}
}
})
if (dispCableFlgCnt === 0) {
setCableItem('100038')
+ setCableDbItem('100037')
}
totals.vatPrice = totals.supplyPrice * 0.1
@@ -1227,6 +1251,7 @@ export default function Estimate({}) {
if (dispCableFlgCnt === 0) {
setCableItem('100038')
+ setCableDbItem('100037')
}
}
}, [estimateContextState?.itemList, cableItemList])
@@ -1831,6 +1856,7 @@ export default function Estimate({}) {
+
{getMessage('estimate.detail.header.singleCable')}
+
+
+
+
{getMessage('estimate.detail.header.doubleCable')}
+
+
@@ -1927,7 +1976,7 @@ export default function Estimate({}) {
onChangeSelect(item.dispOrder)}
checked={!!selection.has(item.dispOrder)}
/>
diff --git a/src/hooks/roofcover/useOuterLineWall.js b/src/hooks/roofcover/useOuterLineWall.js
index 18a07cf8..302a4c9a 100644
--- a/src/hooks/roofcover/useOuterLineWall.js
+++ b/src/hooks/roofcover/useOuterLineWall.js
@@ -96,6 +96,10 @@ export function useOuterLineWall(id, propertiesId) {
}
addCanvasMouseEventListener('mouse:down', mouseDown)
+ addDocumentEventListener('contextmenu', document, (e) => {
+ handleRollback()
+ })
+
clear()
return () => {
initEvent()
@@ -690,6 +694,7 @@ export function useOuterLineWall(id, propertiesId) {
if (points.length === 0) {
return
}
+ enterCheck(e)
// 포커스가 length1에 있지 않으면 length1에 포커스를 줌
const activeElem = document.activeElement
if (activeElem !== length1Ref.current) {
@@ -754,6 +759,7 @@ export function useOuterLineWall(id, propertiesId) {
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
const activeElem = document.activeElement
@@ -787,6 +793,7 @@ export function useOuterLineWall(id, propertiesId) {
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
switch (key) {
case 'Down': // IE/Edge에서 사용되는 값
@@ -812,6 +819,7 @@ export function useOuterLineWall(id, propertiesId) {
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
switch (key) {
case 'Enter': {
@@ -836,7 +844,7 @@ export function useOuterLineWall(id, propertiesId) {
if (points.length === 0) {
return
}
-
+ enterCheck(e)
const key = e.key
switch (key) {
case 'Down': // IE/Edge에서 사용되는 값
@@ -902,6 +910,12 @@ export function useOuterLineWall(id, propertiesId) {
isFix.current = true
}
+ const enterCheck = (e) => {
+ if (e.key === 'Enter') {
+ handleFix()
+ }
+ }
+
return {
points,
setPoints,
diff --git a/src/hooks/surface/usePlacementShapeDrawing.js b/src/hooks/surface/usePlacementShapeDrawing.js
index d53faa39..be23cd7c 100644
--- a/src/hooks/surface/usePlacementShapeDrawing.js
+++ b/src/hooks/surface/usePlacementShapeDrawing.js
@@ -92,6 +92,9 @@ export function usePlacementShapeDrawing(id) {
}
addCanvasMouseEventListener('mouse:down', mouseDown)
+ addDocumentEventListener('contextmenu', document, (e) => {
+ handleRollback()
+ })
clear()
}, [verticalHorizontalMode, points, adsorptionPointAddMode, adsorptionPointMode, adsorptionRange, interval, tempGridMode])
@@ -175,7 +178,7 @@ export function usePlacementShapeDrawing(id) {
}
}
-/*
+ /*
mouseMove
*/
const roofs = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
@@ -184,7 +187,7 @@ mouseMove
const { getAdsorptionPoints } = useAdsorptionPoint()
const mouseMove = (e) => {
- removeMouseLine();
+ removeMouseLine()
const pointer = canvas.getPointer(e.e)
const roofsPoints = roofs.map((roof) => roof.points).flat()
roofAdsorptionPoints.current = [...roofsPoints]
@@ -246,7 +249,6 @@ mouseMove
})
canvas?.add(horizontalLine, verticalLine)
canvas?.renderAll()
-
}
useEffect(() => {
@@ -768,6 +770,7 @@ mouseMove
if (points.length === 0) {
return
}
+ enterCheck(e)
// 포커스가 length1에 있지 않으면 length1에 포커스를 줌
const activeElem = document.activeElement
@@ -833,6 +836,7 @@ mouseMove
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
const activeElem = document.activeElement
@@ -866,6 +870,7 @@ mouseMove
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
switch (key) {
case 'Down': // IE/Edge에서 사용되는 값
@@ -891,6 +896,7 @@ mouseMove
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
switch (key) {
case 'Enter': {
@@ -915,6 +921,7 @@ mouseMove
if (points.length === 0) {
return
}
+ enterCheck(e)
const key = e.key
switch (key) {
@@ -979,6 +986,12 @@ mouseMove
isFix.current = true
}
+ const enterCheck = (e) => {
+ if (e.key === 'Enter') {
+ handleFix()
+ }
+ }
+
return {
points,
setPoints,
diff --git a/src/locales/ja.json b/src/locales/ja.json
index d691e5ad..7eee89c2 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -786,7 +786,7 @@
"stuff.search.schObjectNo": "物件番号",
"stuff.search.schSaleStoreName": "販売代理店名",
"stuff.search.schAddress": "商品アドレス",
- "stuff.search.schObjectName": "物件名",
+ "stuff.search.schObjectName": "商品名",
"stuff.search.schDispCompanyName": "見積先",
"stuff.search.schSelSaleStoreId": "販売代理店選択",
"stuff.search.schReceiveUser": "担当者",
@@ -944,6 +944,8 @@
"estimate.detail.sepcialEstimateProductInfo.pkgPrice": "PKG金額",
"estimate.detail.header.showPrice": "価格表示",
"estimate.detail.header.unitPrice": "定価",
+ "estimate.detail.header.singleCable": "片端ケーブル長さ",
+ "estimate.detail.header.doubleCable": "両端ケーブル長さ",
"estimate.detail.showPrice.pricingBtn": "Pricing",
"estimate.detail.showPrice.pricingBtn.noItemId": "Pricingが欠落しているアイテムがあります。 Pricingを進めてください。",
"estimate.detail.showPrice.pricingBtn.confirm": "価格登録初期化されますがよろしいですか?",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index daf9ad60..3374c1b9 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -945,6 +945,8 @@
"estimate.detail.sepcialEstimateProductInfo.pkgPrice": "PKG 금액",
"estimate.detail.header.showPrice": "가격표시",
"estimate.detail.header.unitPrice": "정가",
+ "estimate.detail.header.singleCable": "편당케이블 길이",
+ "estimate.detail.header.doubleCable": "양단케이블 길이",
"estimate.detail.showPrice.pricingBtn": "Pricing",
"estimate.detail.showPrice.pricingBtn.noItemId": "Pricing이 누락된 아이템이 있습니다. 제품 선택 후 Pricing을 진행해주세요.",
"estimate.detail.showPrice.pricingBtn.confirm": "가격등록을 초기화 하시겠습니까?",