From 11f0fa6d4b50ee2daa4f72e0944b903e239b803a Mon Sep 17 00:00:00 2001 From: basssy Date: Wed, 15 Jan 2025 11:01:11 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EB=AC=BC=EA=B1=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/management/Stuff.jsx | 4 ++-- src/components/management/StuffSearchCondition.jsx | 12 ++++++++++++ src/locales/ja.json | 2 +- src/locales/ko.json | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/components/management/Stuff.jsx b/src/components/management/Stuff.jsx index 005408c4..f55815fb 100644 --- a/src/components/management/Stuff.jsx +++ b/src/components/management/Stuff.jsx @@ -272,7 +272,7 @@ export default function Stuff() { stuffSearchParams.pageNo = stuffSearchParams.pageNo async function fetchData() { - const apiUrl = `/api/object/list?saleStoreId=${session?.storeId}&${queryStringFormatter(stuffSearchParams)}` + const apiUrl = `/api/object/list?${queryStringFormatter(stuffSearchParams)}` await get({ url: apiUrl }).then((res) => { if (!isEmptyArray(res)) { setGridProps({ ...gridProps, gridData: res, count: res[0].totCnt }) @@ -302,7 +302,7 @@ export default function Stuff() { setPageNo(1) async function fetchData() { - const apiUrl = `/api/object/list?saleStoreId=${session?.storeId}&${queryStringFormatter(stuffSearchParams)}` + const apiUrl = `/api/object/list?${queryStringFormatter(stuffSearchParams)}` await get({ url: apiUrl }).then((res) => { if (!isEmptyArray(res)) { setGridProps({ ...gridProps, gridData: res, count: res[0].totCnt }) diff --git a/src/components/management/StuffSearchCondition.jsx b/src/components/management/StuffSearchCondition.jsx index ab4d0b47..ad265c55 100644 --- a/src/components/management/StuffSearchCondition.jsx +++ b/src/components/management/StuffSearchCondition.jsx @@ -705,6 +705,18 @@ export default function StuffSearchCondition() { stuffSearch.pageSize = 100 setSchSelSaleStoreId('') setOtherSaleStoreId('') + } else { + setStartDate(stuffSearch?.schFromDt ? stuffSearch.schFromDt : dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD')) + setEndDate(stuffSearch?.schToDt ? stuffSearch.schToDt : dayjs(new Date()).format('YYYY-MM-DD')) + setObjectNo(stuffSearch.schObjectNo ? stuffSearch.schObjectNo : objectNo) + setSaleStoreName(stuffSearch.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName) + setAddress(stuffSearch.schAddress ? stuffSearch.schAddress : address) + setobjectName(stuffSearch.schObjectName ? stuffSearch.schObjectName : objectName) + setDispCompanyName(stuffSearch.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName) + setReceiveUser(stuffSearch.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser) + setDateType(stuffSearch.schDateType ? stuffSearch.schDateType : dateType) + setTempFlg(stuffSearch.schTempFlg ? stuffSearch.schTempFlg : tempFlg) + setMyDataCheck(stuffSearch.schMyDataCheck) } } else { setStartDate(stuffSearch?.schFromDt ? stuffSearch.schFromDt : dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD')) diff --git a/src/locales/ja.json b/src/locales/ja.json index 41d0a817..a96ff061 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -938,7 +938,7 @@ "estimate.detail.unlock.alertMsg": "見積書を修正して保存", "estimate.detail.alert.delFile": "添付ファイルを完全に削除するには[保存]ボタンをクリックしてください", "estimate.detail.alert.selectDelItem": "削除する商品を選択してください.", - "estimate.menu.move.valid1": "見積書を作成したら、見積書を照会できます.", + "estimate.menu.move.valid1": "回路を分割していないため、見積もりを呼び出すことはできません.", "simulator.title.sub1": "物件番号", "simulator.title.sub2": "作成日", "simulator.title.sub3": "システム容量", diff --git a/src/locales/ko.json b/src/locales/ko.json index 4b51f8f2..2d049d61 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -947,7 +947,7 @@ "estimate.detail.unlock.alertMsg": "견적서를 수정하고, 저장하십시오", "estimate.detail.alert.delFile": "첨부파일을 완전히 삭제하려면 [저장]버튼을 클릭하십시오.", "estimate.detail.alert.selectDelItem": "삭제할 제품을 선택하세요.", - "estimate.menu.move.valid1": "견적서를 생성한 후에, 견적서를 조회할 수 있습니다.", + "estimate.menu.move.valid1": "회로를 나누지 않았기 때문에 견적서를 호출할 수 없습니다.", "simulator.title.sub1": "물건번호", "simulator.title.sub2": "작성일", "simulator.title.sub3": "시스템 용량", From 0271716e91ace9eb439a667d098899f7271bb0ff Mon Sep 17 00:00:00 2001 From: basssy Date: Wed, 15 Jan 2025 11:31:26 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EC=8B=9C=EC=97=B0=EC=9A=A9=20=EC=9E=84?= =?UTF-8?q?=EC=8B=9C=20=EC=A3=BC=EC=84=9D=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estimate/popup/DocDownOptionPop.jsx | 4 +- src/components/floor-plan/CanvasMenu.jsx | 72 +++++++++---------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/components/estimate/popup/DocDownOptionPop.jsx b/src/components/estimate/popup/DocDownOptionPop.jsx index d6f1d5ec..6bbd6632 100644 --- a/src/components/estimate/popup/DocDownOptionPop.jsx +++ b/src/components/estimate/popup/DocDownOptionPop.jsx @@ -85,8 +85,8 @@ export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDown link.remove() window.URL.revokeObjectURL(fileUrl) //문서 다운받으면 lockFlg = 1 잠금상태로! - // estimateRecoilState.lockFlg = '1' - // docDownPopLockFlg() + estimateRecoilState.lockFlg = '1' + docDownPopLockFlg() } }) .catch((error) => { diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index a47de33f..9a845eef 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -150,7 +150,7 @@ export default function CanvasMenu(props) { text: getMessage('stuff.detail.move.confirmMsg'), type: 'confirm', confirmFn: () => { - router.push(`/management/stuff/detail?objectNo=${objectNo}`) + router.push(`/management/stuff/detail?objectNo=${objectNo}`, { scroll: false }) }, }) break @@ -331,33 +331,33 @@ export default function CanvasMenu(props) { if (isObjectNotEmpty(estimateRecoilState)) { if (estimateRecoilState?.createUser === 'T01') { if (sessionState.userId !== 'T01') { - setButtonStyle('none') - // setButtonStyle1('none') - // setButtonStyle2('none') - // setButtonStyle3('none') - // setButtonStyle4('none') - // setButtonStyle5('none') + // setButtonStyle('none') + setButtonStyle1('none') + setButtonStyle2('none') + setButtonStyle3('none') + setButtonStyle4('none') + setButtonStyle5('none') } } else { if (estimateRecoilState?.tempFlg === '1') { - // setButtonStyle1('none') - // setButtonStyle2('') - // setButtonStyle3('none') - // setButtonStyle4('none') - // setButtonStyle5('none') + setButtonStyle1('none') + setButtonStyle2('') + setButtonStyle3('none') + setButtonStyle4('none') + setButtonStyle5('none') } else { if (estimateRecoilState?.tempFlg === '0' && estimateRecoilState?.lockFlg === '0') { - // setButtonStyle1('') - // setButtonStyle2('') - // setButtonStyle3('') - // setButtonStyle4('') - // setButtonStyle5('') + setButtonStyle1('') + setButtonStyle2('') + setButtonStyle3('') + setButtonStyle4('') + setButtonStyle5('') } else { - // setButtonStyle1('') - // setButtonStyle2('none') - // setButtonStyle3('none') - // setButtonStyle4('') - // setButtonStyle5('') + setButtonStyle1('') + setButtonStyle2('none') + setButtonStyle3('none') + setButtonStyle4('') + setButtonStyle5('') } } } @@ -524,20 +524,20 @@ export default function CanvasMenu(props) { {menuNumber === 5 && ( <>
- - {/*
{/* 견적서(menuNumber=== 5) 상세화면인경우 문서다운로드 팝업 */} {estimatePopupOpen && ( - // - + + // )} {/* 견적서(menuNumber ===5)복사 팝업 */} {estimateCopyPopupOpen && } From 783e6e3dc3d7245bbdc26e434d04425265189af0 Mon Sep 17 00:00:00 2001 From: basssy Date: Wed, 15 Jan 2025 12:35:31 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=84=9C=20=EC=9E=A0?= =?UTF-8?q?=EA=B8=88=EA=B8=B0=EB=8A=A5=20=EB=B2=84=ED=8A=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/estimate/popup/DocDownOptionPop.jsx | 7 ++++++- src/components/floor-plan/CanvasMenu.jsx | 13 +++++-------- src/components/management/StuffDetail.jsx | 6 ++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/components/estimate/popup/DocDownOptionPop.jsx b/src/components/estimate/popup/DocDownOptionPop.jsx index 6bbd6632..50dfd018 100644 --- a/src/components/estimate/popup/DocDownOptionPop.jsx +++ b/src/components/estimate/popup/DocDownOptionPop.jsx @@ -4,11 +4,14 @@ import { useMessage } from '@/hooks/useMessage' import { useAxios } from '@/hooks/useAxios' import { useRecoilValue } from 'recoil' import { floorPlanObjectState, estimateState } from '@/store/floorPlanObjectAtom' +import { usePathname } from 'next/navigation' export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDownPopLockFlg }) { const { getMessage } = useMessage() const { promisePost } = useAxios() + const pathName = usePathname() + //EXCEL, PDF 구분 const [schDownload, setSchDownload] = useState('EXCEL') //다운로드 파일 EXCEL @@ -86,7 +89,9 @@ export default function DocDownOptionPop({ planNo, setEstimatePopupOpen, docDown window.URL.revokeObjectURL(fileUrl) //문서 다운받으면 lockFlg = 1 잠금상태로! estimateRecoilState.lockFlg = '1' - docDownPopLockFlg() + if (pathName.includes('/floor-plan')) { + docDownPopLockFlg() + } } }) .catch((error) => { diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index 9a845eef..c3465ca6 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -331,7 +331,6 @@ export default function CanvasMenu(props) { if (isObjectNotEmpty(estimateRecoilState)) { if (estimateRecoilState?.createUser === 'T01') { if (sessionState.userId !== 'T01') { - // setButtonStyle('none') setButtonStyle1('none') setButtonStyle2('none') setButtonStyle3('none') @@ -431,11 +430,11 @@ export default function CanvasMenu(props) { // 문서다운로드 팝업에서 다운로드 하면 문서 잠금 const docDownPopLockFlg = () => { - // setButtonStyle1('') - // setButtonStyle2('none') - // setButtonStyle3('none') - // setButtonStyle4('') - // setButtonStyle5('') + setButtonStyle1('') + setButtonStyle2('none') + setButtonStyle3('none') + setButtonStyle4('') + setButtonStyle5('') } return ( @@ -568,7 +567,6 @@ export default function CanvasMenu(props) { className="btn-frame gray ico-flx" onClick={() => { //시연준비 - // alert('작업중입니다') handleEstimateLockController(estimateRecoilState) }} > @@ -602,7 +600,6 @@ export default function CanvasMenu(props) { {/* 견적서(menuNumber=== 5) 상세화면인경우 문서다운로드 팝업 */} {estimatePopupOpen && ( - // )} {/* 견적서(menuNumber ===5)복사 팝업 */} {estimateCopyPopupOpen && } diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index 52ddb680..612f727e 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -10,16 +10,15 @@ import { globalLocaleStore } from '@/store/localeAtom' import { isEmptyArray, isNotEmptyArray, isObjectNotEmpty, queryStringFormatter } from '@/util/common-utils' import { useMessage } from '@/hooks/useMessage' import { useForm } from 'react-hook-form' -import { useRecoilValue, useSetRecoilState, useResetRecoilState, useRecoilState } from 'recoil' +import { useRecoilValue, useSetRecoilState, useRecoilState } from 'recoil' import { SessionContext } from '@/app/SessionProvider' import FindAddressPop from './popup/FindAddressPop' import PlanRequestPop from './popup/PlanRequestPop' import WindSelectPop from './popup/WindSelectPop' import { useCommonCode } from '@/hooks/common/useCommonCode' import StuffPlanQGrid from './StuffPlanQGrid' -import { floorPlanObjectState } from '@/store/floorPlanObjectAtom' +import { floorPlanObjectState, estimateState } from '@/store/floorPlanObjectAtom' import { GlobalDataContext } from '@/app/GlobalDataProvider' -// import { ManagementContext } from '@/app/management/ManagementProvider' import DocDownOptionPop from '../estimate/popup/DocDownOptionPop' import { stuffSearchState } from '@/store/stuffAtom' import { QcastContext } from '@/app/QcastProvider' @@ -30,7 +29,6 @@ export default function StuffDetail() { const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState) const { swalFire } = useSwal() const { setIsGlobalLoading } = useContext(QcastContext) - const resetStuffRecoil = useResetRecoilState(stuffSearchState) const stuffSearchParams = useRecoilValue(stuffSearchState) const setFloorPlanObjectNo = useSetRecoilState(floorPlanObjectState) //견적서 화면용 물건번호리코일 From 04c476ca3b39caaeb85b4c1d180eaea001b0eac9 Mon Sep 17 00:00:00 2001 From: basssy Date: Wed, 15 Jan 2025 12:40:36 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EB=AC=BC=EA=B1=B4=EC=83=81=EC=84=B8=20?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EB=8F=84=EB=A9=B4=EC=9E=91=EC=84=B1=20?= =?UTF-8?q?=EC=9D=B4=EB=8F=99=EC=8B=9C=20=EB=A9=94=EB=89=B4=EB=84=98?= =?UTF-8?q?=EB=B2=84=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/management/StuffDetail.jsx | 7 +++++-- src/components/management/StuffSubHeader.jsx | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index 612f727e..15ea41fc 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -17,12 +17,12 @@ import PlanRequestPop from './popup/PlanRequestPop' import WindSelectPop from './popup/WindSelectPop' import { useCommonCode } from '@/hooks/common/useCommonCode' import StuffPlanQGrid from './StuffPlanQGrid' -import { floorPlanObjectState, estimateState } from '@/store/floorPlanObjectAtom' +import { floorPlanObjectState } from '@/store/floorPlanObjectAtom' import { GlobalDataContext } from '@/app/GlobalDataProvider' import DocDownOptionPop from '../estimate/popup/DocDownOptionPop' import { stuffSearchState } from '@/store/stuffAtom' import { QcastContext } from '@/app/QcastProvider' - +import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' import { useSwal } from '@/hooks/useSwal' export default function StuffDetail() { @@ -39,6 +39,8 @@ export default function StuffDetail() { const [showButton, setShowButton] = useState('') //임시저장, 저장, 삭제 버튼 컨트롤 + const { setMenuNumber } = useCanvasMenu() + //공통코드 const { commonCode, findCommonCode } = useCommonCode() const [selOptions, setSelOptions] = useState('') //선택한 1차점 @@ -1594,6 +1596,7 @@ export default function StuffDetail() { pid: planNo, objectNo: objectNo, } + setMenuNumber(null) const url = `/floor-plan?${queryStringFormatter(param)}` router.push(url) } diff --git a/src/components/management/StuffSubHeader.jsx b/src/components/management/StuffSubHeader.jsx index 3ea7f3c9..6dc316cb 100644 --- a/src/components/management/StuffSubHeader.jsx +++ b/src/components/management/StuffSubHeader.jsx @@ -15,7 +15,6 @@ import { isObjectNotEmpty, queryStringFormatter } from '@/util/common-utils' import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' import { GlobalDataContext } from '@/app/GlobalDataProvider' -// import { ManagementContext } from '@/app/management/ManagementProvider' import { SessionContext } from '@/app/SessionProvider' export default function StuffSubHeader({ type }) {