diff --git a/public/static/images/common/select_del.svg b/public/static/images/common/select_del.svg
new file mode 100644
index 00000000..2376f16b
--- /dev/null
+++ b/public/static/images/common/select_del.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/fabric/QPolygon.js b/src/components/fabric/QPolygon.js
index b708daa2..ad08e884 100644
--- a/src/components/fabric/QPolygon.js
+++ b/src/components/fabric/QPolygon.js
@@ -203,23 +203,7 @@ export const QPolygon = fabric.util.createClass(fabric.Polygon, {
let midPoint
- switch (this.direction) {
- case 'north':
- midPoint = new fabric.Point((start.x + end.x) / 2, (start.y + end.y) / 2 - 30)
- break
- case 'west':
- midPoint = new fabric.Point((start.x + end.x) / 2 - 30, (start.y + end.y) / 2)
- break
- case 'south':
- midPoint = new fabric.Point((start.x + end.x) / 2, (start.y + end.y) / 2 + 30)
- break
- case 'east':
- midPoint = new fabric.Point((start.x + end.x) / 2 + 30, (start.y + end.y) / 2)
- break
- default:
- midPoint = new fabric.Point((start.x + end.x) / 2, (start.y + end.y) / 2)
- break
- }
+ midPoint = new fabric.Point((start.x + end.x) / 2, (start.y + end.y) / 2)
const degree = (Math.atan2(dy, dx) * 180) / Math.PI
diff --git a/src/components/header/Header.jsx b/src/components/header/Header.jsx
index 900a39c8..c12d237e 100644
--- a/src/components/header/Header.jsx
+++ b/src/components/header/Header.jsx
@@ -132,7 +132,7 @@ export default function Header(props) {
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'nav > ul')}
>
{menu.children.length === 0 ? (
-
+
{getMessage(menu.name)}
) : (
@@ -147,9 +147,7 @@ export default function Header(props) {
onMouseEnter={(e) => ToggleonMouse(e, 'add', 'li > ul')}
onMouseLeave={(e) => ToggleonMouse(e, 'remove', 'li > ul')}
>
-
- {getMessage(m.name)}
-
+ {getMessage(m.name)}
)
})}
diff --git a/src/components/management/Stuff.jsx b/src/components/management/Stuff.jsx
index 9d6ff743..5ce7c8b3 100644
--- a/src/components/management/Stuff.jsx
+++ b/src/components/management/Stuff.jsx
@@ -245,9 +245,8 @@ export default function Stuff() {
}
async function fetchData() {
- // const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(params)}`
- const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(params)}`
-
+ // const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(params)}`
+ const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(params)}`
await get({
url: apiUrl,
}).then((res) => {
@@ -303,8 +302,8 @@ export default function Stuff() {
setPageNo(1)
async function fetchData() {
- const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(stuffSearchParams)}`
- // const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(stuffSearchParams)}`
+ // const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(stuffSearchParams)}`
+ const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(stuffSearchParams)}`
await get({ url: apiUrl }).then((res) => {
if (!isEmptyArray(res)) {
setGridProps({ ...gridProps, gridData: res, count: res[0].totCnt })
@@ -333,8 +332,8 @@ export default function Stuff() {
})
setPageNo(1)
- // const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(stuffSearchParams)}`
- const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(stuffSearchParams)}`
+ // const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(stuffSearchParams)}`
+ const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(stuffSearchParams)}`
get({ url: apiUrl }).then((res) => {
if (!isEmptyArray(res)) {
setGridProps({ ...gridProps, gridData: res, count: res[0].totCnt })
@@ -364,8 +363,8 @@ export default function Stuff() {
setPageNo(1)
- const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(stuffSearchParams)}`
- // const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(stuffSearchParams)}`
+ // const apiUrl = `/api/object/list?saleStoreId=T01&${queryStringFormatter(stuffSearchParams)}`
+ const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(stuffSearchParams)}`
get({ url: apiUrl }).then((res) => {
if (!isEmptyArray(res)) {
setGridProps({ ...gridProps, gridData: res, count: res[0].totCnt })
diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx
index c480b055..3727555e 100644
--- a/src/components/management/StuffDetail.jsx
+++ b/src/components/management/StuffDetail.jsx
@@ -127,7 +127,7 @@ export default function StuffDetail() {
}
})
}
- }, [objectNo])
+ }, [objectNo, sessionState])
useEffect(() => {
if (isObjectNotEmpty(detailData)) {
@@ -303,7 +303,7 @@ export default function StuffDetail() {
}
// console.log('임시저장용::', errors)
- setIsFormValid(Object.keys(errors).length === 0)
+ setIsFormValid(Object.keys(errors).length === 0 ? true : false)
} else {
console.log('상세일때 폼체크')
}
@@ -362,25 +362,14 @@ export default function StuffDetail() {
form.setValue('areaId', e.target.value)
}
- // useEffect(() => {
- // if (!isEmptyArray(areaIdList)) {
- // let _prefName = form.watch('prefName')
- // // console.log('기준풍속 가져오는 API', _prefName)
- // get({ url: `/api/object/windSpeed/${_prefName}/list` }).then((res) => {
- // // console.log('res::', res)
- // if (!isEmptyArray(res)) {
- // setWindSpeedList(res)
- // }
- // })
- // }
- // }, [areaIdList])
-
//필수값 다 입력했을때
- const onValid = (data) => {
+ const onValid = (data, e) => {
+ const formData = form.getValues()
+ console.log('필수값 통과:::', data, formData)
+ // console.log('필수값 formData:::', formData)
// 수정모드일때는 PUT
// console.log('필수값 다 있고 저장')
// console.log('data::::::', data)
- const formData = form.getValues()
// console.log('formData::::', formData)
// const _dispCompanyName = watch('dispCompanyName')
// const _objectStatusId = watch('objectStatusId')
@@ -408,6 +397,8 @@ export default function StuffDetail() {
// 임시저장
const onTempSave = async () => {
+ console.log('임시저장:::::')
+ return
const formData = form.getValues()
// console.log('formData::', formData)
const params = {
@@ -487,9 +478,9 @@ export default function StuffDetail() {
-
@@ -555,6 +546,8 @@ export default function StuffDetail() {
@@ -790,18 +785,18 @@ export default function StuffDetail() {
{!isFormValid ? (
-
+
New화면 임시저장
-
+
) : (
-
+
NEW 화면 저장
-
+
)}
-
+
NEW화면 물건목록이동
-
+
@@ -827,9 +822,9 @@ export default function StuffDetail() {
-
+
{getMessage('stuff.planReqPopup.title')}
-
+
@@ -916,32 +911,32 @@ export default function StuffDetail() {
{objectNo.substring(0, 1) === 'R' ? (
<>
-
+
R상세:물건목록
-
+
-
+
R상세:저장
-
-
+
+
R상세:물건삭제
-
+
>
) : (
<>
{!isFormValid ? (
-
+
TEMP상세:임시저장
-
+
) : (
-
+
TEMP상세:저장
-
+
)}
-
+
T상세:물건목록
-
+
>
)}
@@ -949,7 +944,14 @@ export default function StuffDetail() {
)}
{showAddressButtonValid && }
{showDesignRequestButtonValid && (
-
+
)}
{showWindSpeedButtonValid && (
diff --git a/src/components/management/StuffSearchCondition.jsx b/src/components/management/StuffSearchCondition.jsx
index 3717e43f..ed84073c 100644
--- a/src/components/management/StuffSearchCondition.jsx
+++ b/src/components/management/StuffSearchCondition.jsx
@@ -254,6 +254,8 @@ export default function StuffSearchCondition() {
{schSelSaleStoreList?.length > 0 && (
{
const params = {
- saleStoreId: 'T100',
- saleStoreLevel: '1',
- // saleStoreId: sessionState?.storeId,
- // saleStoreLevel: sessionState?.storeLvl,
+ // saleStoreId: 'T100',
+ // saleStoreLevel: '1',
+ saleStoreId: props?.otherSaleStoreId ? props.otherSaleStoreId : props.saleStoreId,
+ saleStoreLevel: props?.otherSaleStoreLevel ? props.otherSaleStoreLevel : props.saleStoreLevel,
schPlanReqNo: planReqSearch?.schPlanReqNo ? planReqSearch.schPlanReqNo : schPlanReqNo,
schTitle: planReqSearch?.schTitle ? planReqSearch.schTitle : schTitle,
schAddress: planReqSearch?.schAddress ? planReqSearch.schAddress : schAddress,
@@ -114,8 +112,8 @@ export default function PlanRequestPop(props) {
schPlanReqName: planReqSearch?.schPlanReqName ? planReqSearch.schPlanReqName : schPlanReqName,
schPlanStatCd: planReqSearch?.schPlanStatCd ? planReqSearch.schPlanStatCd : schPlanStatCd,
schDateGbn: planReqSearch?.schDateGbn ? planReqSearch.schDateGbn : schDateGbn,
- // schStartDt: dayjs(startDate).format('YYYY-MM-DD'),
- // schEndDt: dayjs(endDate).format('YYYY-MM-DD'),
+ schStartDt: dayjs(startDate).format('YYYY-MM-DD'),
+ schEndDt: dayjs(endDate).format('YYYY-MM-DD'),
startRow: type === 'S' ? (1 - 1) * pageSize + 1 : (page - 1) * pageSize + 1,
endRow: type === 'S' ? 1 * pageSize : page * pageSize,
}
@@ -124,6 +122,7 @@ export default function PlanRequestPop(props) {
} else {
setPageNo(page)
}
+ // console.log(params)
const apiUrl = `/api/object/planReq/list?${queryStringFormatter(params)}`
promiseGet({ url: apiUrl }).then((res) => {
@@ -363,6 +362,8 @@ export default function PlanRequestPop(props) {
{getMessage('myinfo.info.userId')}
|
-
+
|
@@ -158,7 +158,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
{getMessage('myinfo.info.nameKana')} |
-
+
|
@@ -166,7 +166,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
{getMessage('myinfo.info.name')} |
-
+
|
@@ -235,7 +235,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
{getMessage('myinfo.info.category')} |
-
+
|
@@ -243,7 +243,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
{getMessage('myinfo.info.tel')} |
-
+
|
@@ -251,7 +251,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
{getMessage('myinfo.info.fax')} |
-
+
|
@@ -259,7 +259,7 @@ export default function UserInfoModal({ userId, userInfoModal, setUserInfoModal
{getMessage('myinfo.info.mail')} |
-
+
|
diff --git a/src/hooks/roofcover/useWallLineOffsetSetting.js b/src/hooks/roofcover/useWallLineOffsetSetting.js
index 6f65b58e..b84e9ef4 100644
--- a/src/hooks/roofcover/useWallLineOffsetSetting.js
+++ b/src/hooks/roofcover/useWallLineOffsetSetting.js
@@ -1,4 +1,4 @@
-import { canvasState } from '@/store/canvasAtom'
+import { canvasState, currentObjectState } from '@/store/canvasAtom'
import { useRecoilValue } from 'recoil'
import { useEffect, useRef, useState } from 'react'
import { useMessage } from '@/hooks/useMessage'
@@ -21,6 +21,8 @@ export function useWallLineOffsetSetting(setShowWallLineOffsetSettingModal) {
const arrow1Ref = useRef(null)
const arrow2Ref = useRef(null)
+ const currentObject = useRecoilValue(currentObjectState)
+
const [isLoading, setIsLoading] = useState(false)
const drawLine = (point1, point2, idx, direction = currentWallLineRef.current.direction) => {
@@ -87,6 +89,7 @@ export function useWallLineOffsetSetting(setShowWallLineOffsetSettingModal) {
if (!isLoading) {
return
}
+ canvas?.discardActiveObject()
removeOuterLineEditCircle()
addCanvasMouseEventListener('mouse:down', mouseDown)
if (type === TYPES.WALL_LINE_EDIT) {
@@ -94,6 +97,20 @@ export function useWallLineOffsetSetting(setShowWallLineOffsetSettingModal) {
}
}, [type])
+ useEffect(() => {
+ canvas
+ .getObjects()
+ .filter((obj) => obj.name === 'outerLine')
+ .forEach((line) => {
+ line.set({ stroke: 'black' })
+ })
+
+ if (currentObject?.name === 'outerLine') {
+ currentObject.set({ stroke: '#EA10AC' })
+ canvas.renderAll()
+ }
+ }, [currentObject])
+
const removeOuterLineEditCircle = () => {
canvas.remove(...canvas.getObjects().filter((obj) => obj.name === 'outerLineEditCircleStart' || obj.name === 'outerLineEditCircleEnd'))
}
@@ -106,7 +123,6 @@ export function useWallLineOffsetSetting(setShowWallLineOffsetSettingModal) {
}
currentWallLineRef.current = e.target
- console.log(currentWallLineRef.current.idx, currentWallLineRef.current.direction)
if (type === TYPES.WALL_LINE_EDIT) {
addCircleByLine(currentWallLineRef.current)
}
diff --git a/src/styles/_reset.scss b/src/styles/_reset.scss
index 47cb3efa..ef4cee0d 100644
--- a/src/styles/_reset.scss
+++ b/src/styles/_reset.scss
@@ -981,16 +981,18 @@ input[type='text'] {
color: #bbbbbb;
font-weight: 400;
}
- .custom__clear-indicator,
- .custom__indicator-separator {
- display: none;
- }
.custom__indicator {
padding: 0;
svg {
display: none;
}
}
+ .custom__clear-indicator {
+ width: 30px;
+ height: 100%;
+ background: url(../../public/static/images/common/select_del.svg) no-repeat center;
+ background-size: 8px 8px;
+ }
.custom__dropdown-indicator {
width: 30px;
height: 100%;
|