Merge branch 'dev' into dev-yj

This commit is contained in:
yjnoh 2025-01-06 16:43:19 +09:00
commit dacad22e9b
12 changed files with 3720 additions and 3364 deletions

View File

@ -125,7 +125,10 @@ export default function MainContents() {
<> <>
<div className="notice-day pre">{dayjs(recentNoticeList[0]?.regDt).format('YYYY.MM.DD')}</div> <div className="notice-day pre">{dayjs(recentNoticeList[0]?.regDt).format('YYYY.MM.DD')}</div>
<div className="notice-title">{recentNoticeList[0]?.title}</div> <div className="notice-title">{recentNoticeList[0]?.title}</div>
<div className="notice-contents">{recentNoticeList[0]?.contents}</div> <div
className="notice-contents"
dangerouslySetInnerHTML={{ __html: recentNoticeList[0]?.contents ? recentNoticeList[0].contents.replaceAll('\n', '<br/>') : '' }}
></div>
</> </>
) : ( ) : (
<MainSkeleton count={5} /> <MainSkeleton count={5} />

View File

@ -50,17 +50,15 @@ export default function Stuff() {
// } // }
// Navigator clipboard api needs a secure context (https) // Navigator clipboard api needs a secure context (https)
if (navigator.clipboard && window.isSecureContext) { if (navigator.clipboard && window.isSecureContext) {
console.log('확인11', value)
await navigator.clipboard await navigator.clipboard
.writeText(value) .writeText(value)
.then(() => { .then(() => {
alert(getMessage('stuff.detail.header.successCopy')) alert(getMessage('stuff.detail.header.successCopy'))
}) })
.catch((err) => { .catch(() => {
alert(getMessage('stuff.detail.header.failCopy')) alert(getMessage('stuff.detail.header.failCopy'))
}) })
} else { } else {
console.log('확인22', value)
// Use the 'out of viewport hidden text area' trick // Use the 'out of viewport hidden text area' trick
const textArea = document.createElement('textArea') const textArea = document.createElement('textArea')
textArea.value = value textArea.value = value
@ -73,7 +71,6 @@ export default function Stuff() {
textArea.select() textArea.select()
try { try {
console.log('deprecated::document.execCommand(`copy`)', document.execCommand('copy'))
document.execCommand('copy') document.execCommand('copy')
alert(getMessage('stuff.detail.header.successCopy')) alert(getMessage('stuff.detail.header.successCopy'))
} catch (err) { } catch (err) {

View File

@ -1,7 +1,7 @@
'use client' 'use client'
import { useState, useEffect, useRef, useContext } from 'react' import { useState, useEffect, useRef, useContext } from 'react'
import { useRouter, useSearchParams, usePathname } from 'next/navigation' import { useRouter, useSearchParams } from 'next/navigation'
import { Button } from '@nextui-org/react' import { Button } from '@nextui-org/react'
import Select, { components } from 'react-select' import Select, { components } from 'react-select'
import Link from 'next/link' import Link from 'next/link'
@ -147,7 +147,8 @@ export default function StuffDetail() {
let capacity let capacity
if (origin) { if (origin) {
capacity = origin / 1000 capacity = origin / 1000
return capacity.toFixed(3) //#400 2
return capacity.toFixed(2) + 'kW'
} else { } else {
return null return null
} }
@ -317,6 +318,7 @@ export default function StuffDetail() {
setIsFormValid(true) setIsFormValid(true)
} }
promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => { promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => {
// console.log('res::::', res.data)
if (res.status === 200) { if (res.status === 200) {
if (isObjectNotEmpty(res.data)) { if (isObjectNotEmpty(res.data)) {
let surfaceTypeValue let surfaceTypeValue
@ -1450,15 +1452,44 @@ export default function StuffDetail() {
) )
} }
//
const getCellDoubleClicked = (params) => {
// if (params?.column?.colId !== 'estimateDate') {
// if (params?.data?.planNo && params?.data?.objectNo) {
// let objectNo = params?.data?.objectNo
// let planNo = params?.data?.planNo
// router.push(`/floor-plan?pid=${planNo}&objectNo=${objectNo}`)
// }
// }
}
return ( return (
<> <>
{(editMode === 'NEW' && ( {(editMode === 'NEW' && (
<form onSubmit={handleSubmit(onValid)}> <form onSubmit={handleSubmit(onValid)}>
<div className="sub-table-box"> <div className="sub-table-box">
<div className="promise-title-wrap">
<div className="promise-gudie"> <div className="promise-gudie">
<span className="important">*</span> <span className="important">*</span>
{getMessage('stuff.detail.required')} {getMessage('stuff.detail.required')}
</div> </div>
<div className="left-unit-box">
{!isFormValid ? (
<Button className="btn-origin grey mr5" onPress={onTempSave}>
{getMessage('stuff.detail.btn.tempSave')}
</Button>
) : (
<Button type="submit" className="btn-origin navy mr5">
{getMessage('stuff.detail.btn.save')}
</Button>
)}
<Link href="/management/stuff" scroll={false}>
<button type="button" className="btn-origin grey">
{getMessage('stuff.detail.btn.moveList')}
</button>
</Link>
</div>
</div>
<div className="infomation-table"> <div className="infomation-table">
<table> <table>
<colgroup> <colgroup>
@ -1692,7 +1723,7 @@ export default function StuffDetail() {
onChange={onSelectionChange2} onChange={onSelectionChange2}
getOptionLabel={(x) => x.saleStoreName} getOptionLabel={(x) => x.saleStoreName}
getOptionValue={(x) => x.saleStoreId} getOptionValue={(x) => x.saleStoreId}
isDisabled={otherSaleStoreList.length > 0 ? false : true} isDisabled={otherSaleStoreList.length > 1 ? false : true}
isClearable={true} isClearable={true}
value={otherSaleStoreList.filter(function (option) { value={otherSaleStoreList.filter(function (option) {
return option.saleStoreId === otherSelOptions return option.saleStoreId === otherSelOptions
@ -1952,9 +1983,47 @@ export default function StuffDetail() {
<> <>
<form onSubmit={handleSubmit(onValid)}> <form onSubmit={handleSubmit(onValid)}>
<div className="sub-table-box"> <div className="sub-table-box">
<div className="promise-title-wrap">
<div className="promise-gudie"> <div className="promise-gudie">
<span className="important">*</span> {getMessage('stuff.detail.required')} <span className="important">*</span> {getMessage('stuff.detail.required')}
</div> </div>
{managementState?.tempFlg === '0' ? (
<>
<div className="left-unit-box">
<Link href="/management/stuff" scroll={false}>
<button type="button" className="btn-origin grey mr5">
{getMessage('stuff.detail.btn.moveList')}
</button>
</Link>
<Button type="submit" className="btn-origin navy mr5">
{getMessage('stuff.detail.btn.save')}
</Button>
<Button type="button" className="btn-origin grey" onPress={onDelete}>
{getMessage('stuff.detail.btn.delete')}
</Button>
</div>
</>
) : (
<>
<div className="left-unit-box">
{!isFormValid ? (
<Button className="btn-origin grey mr5" onPress={onTempSave}>
{getMessage('stuff.detail.btn.tempSave')}
</Button>
) : (
<Button type="submit" className="btn-origin navy mr5">
{getMessage('stuff.detail.btn.save')}
</Button>
)}
<Link href="/management/stuff" scroll={false}>
<button type="button" className="btn-origin grey">
{getMessage('stuff.detail.btn.moveList')}
</button>
</Link>
</div>
</>
)}
</div>
<div className="infomation-wrap"> <div className="infomation-wrap">
<div className="infomation-table"> <div className="infomation-table">
<table> <table>
@ -2492,7 +2561,7 @@ export default function StuffDetail() {
</div> </div>
<div className="information-grid"> <div className="information-grid">
<div className="q-grid no-cols"> <div className="q-grid no-cols">
<StuffPlanQGrid {...planGridProps} /> <StuffPlanQGrid {...planGridProps} getCellDoubleClicked={getCellDoubleClicked} />
</div> </div>
</div> </div>
{/* 진짜R 플랜끝 */} {/* 진짜R 플랜끝 */}

View File

@ -22,17 +22,15 @@ export default function StuffHeader() {
const copyObjectNo = async (objectNo) => { const copyObjectNo = async (objectNo) => {
if (navigator.clipboard && window.isSecureContext) { if (navigator.clipboard && window.isSecureContext) {
console.log('확인11', objectNo)
await navigator.clipboard await navigator.clipboard
.writeText(objectNo) .writeText(objectNo)
.then(() => { .then(() => {
alert(getMessage('stuff.detail.header.successCopy')) alert(getMessage('stuff.detail.header.successCopy'))
}) })
.catch((err) => { .catch(() => {
alert(getMessage('stuff.detail.header.failCopy')) alert(getMessage('stuff.detail.header.failCopy'))
}) })
} else { } else {
console.log('확인22', objectNo)
// Use the 'out of viewport hidden text area' trick // Use the 'out of viewport hidden text area' trick
const textArea = document.createElement('textArea') const textArea = document.createElement('textArea')
textArea.value = objectNo textArea.value = objectNo
@ -45,7 +43,6 @@ export default function StuffHeader() {
textArea.select() textArea.select()
try { try {
console.log('deprecated::document.execCommand(`copy`)', document.execCommand('copy'))
document.execCommand('copy') document.execCommand('copy')
alert(getMessage('stuff.detail.header.successCopy')) alert(getMessage('stuff.detail.header.successCopy'))
} catch (err) { } catch (err) {

View File

@ -27,13 +27,10 @@ export default function StuffPlanQGrid(props) {
planGridData ? setRowData(planGridData) : '' planGridData ? setRowData(planGridData) : ''
}, [planGridData]) }, [planGridData])
// const onGridReady = useCallback( //
// (params) => { const onCellDoubleClicked = useCallback((params) => {
// setGridApi(params.api) props.getCellDoubleClicked(params)
// planGridData ? setRowData(planGridData) : '' }, [])
// },
// [planGridData],
// )
return ( return (
<div className="ag-theme-quartz" style={{ height: '100%' }}> <div className="ag-theme-quartz" style={{ height: '100%' }}>
@ -47,6 +44,7 @@ export default function StuffPlanQGrid(props) {
pagination={isPageable} pagination={isPageable}
domLayout="autoHeight" domLayout="autoHeight"
suppressCellFocus={true} suppressCellFocus={true}
onCellDoubleClicked={onCellDoubleClicked}
overlayNoRowsTemplate={`<span className="ag-overlay-loading-center">${getMessage('stuff.grid.noData')}</span>`} overlayNoRowsTemplate={`<span className="ag-overlay-loading-center">${getMessage('stuff.grid.noData')}</span>`}
/> />
</div> </div>

View File

@ -86,14 +86,14 @@ export default function StuffSearchCondition() {
if (stuffSearch.code === 'S') { if (stuffSearch.code === 'S') {
if (stuffSearch.pageNo !== 1) { if (stuffSearch.pageNo !== 1) {
setStuffSearch({ setStuffSearch({
schObjectNo: objectNo ? objectNo : stuffSearch.schObjectNo, schObjectNo: objectNo ? objectNo.trim() : stuffSearch.schObjectNo.trim(),
schSaleStoreName: saleStoreName ? saleStoreName : '', schSaleStoreName: saleStoreName ? saleStoreName.trim() : '',
schAddress: address ? address : '', schAddress: address ? address.trim() : '',
schObjectName: objectName ? objectName : '', schObjectName: objectName ? objectName.trim() : '',
schDispCompanyName: dispCompanyName ? dispCompanyName : '', schDispCompanyName: dispCompanyName ? dispCompanyName.trim() : '',
schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '', schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '',
schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '', schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '',
schReceiveUser: receiveUser ? receiveUser : '', schReceiveUser: receiveUser ? receiveUser.trim() : '',
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -106,14 +106,14 @@ export default function StuffSearchCondition() {
}) })
} else { } else {
setStuffSearch({ setStuffSearch({
schObjectNo: objectNo ? objectNo : stuffSearch.schObjectNo, schObjectNo: objectNo ? objectNo.trim() : stuffSearch.schObjectNo.trim(),
schSaleStoreName: saleStoreName ? saleStoreName : '', schSaleStoreName: saleStoreName ? saleStoreName.trim() : '',
schAddress: address ? address : '', schAddress: address ? address.trim() : '',
schObjectName: objectName ? objectName : '', schObjectName: objectName ? objectName.trim() : '',
schDispCompanyName: dispCompanyName ? dispCompanyName : '', schDispCompanyName: dispCompanyName ? dispCompanyName.trim() : '',
schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '', schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '',
schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '', schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '',
schReceiveUser: receiveUser ? receiveUser : '', schReceiveUser: receiveUser ? receiveUser.trim() : '',
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -127,14 +127,14 @@ export default function StuffSearchCondition() {
} }
} else if (stuffSearch.code === 'FINISH') { } else if (stuffSearch.code === 'FINISH') {
setStuffSearch({ setStuffSearch({
schObjectNo: objectNo, schObjectNo: objectNo.trim(),
schSaleStoreName: saleStoreName, schSaleStoreName: saleStoreName.trim(),
schAddress: address, schAddress: address.trim(),
schObjectName: objectName, schObjectName: objectName.trim(),
schDispCompanyName: dispCompanyName, schDispCompanyName: dispCompanyName.trim(),
schSelSaleStoreId: schSelSaleStoreId, schSelSaleStoreId: schSelSaleStoreId,
schOtherSelSaleStoreId: otherSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId,
schReceiveUser: receiveUser, schReceiveUser: receiveUser.trim(),
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -146,14 +146,14 @@ export default function StuffSearchCondition() {
} else if (stuffSearch.code === 'E') { } else if (stuffSearch.code === 'E') {
if (session.storeId !== 'T01' && session.storeLvl === '1') { if (session.storeId !== 'T01' && session.storeLvl === '1') {
setStuffSearch({ setStuffSearch({
schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo : objectNo, schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo.trim() : objectNo.trim(),
schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName, schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName.trim() : saleStoreName.trim(),
schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress : address, schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress.trim() : address.trim(),
schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName : objectName, schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName.trim() : objectName.trim(),
schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName, schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName.trim() : dispCompanyName.trim(),
schSelSaleStoreId: otherSaleStoreId ? schSelSaleStoreId : '', schSelSaleStoreId: otherSaleStoreId ? schSelSaleStoreId : '',
schOtherSelSaleStoreId: otherSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId,
schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser, schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser.trim() : receiveUser.trim(),
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -167,35 +167,34 @@ export default function StuffSearchCondition() {
} else if (session.storeId === 'T01') { } else if (session.storeId === 'T01') {
if (stuffSearch.pageNo !== 1) { if (stuffSearch.pageNo !== 1) {
setStuffSearch({ setStuffSearch({
schObjectNo: objectNo ? objectNo : stuffSearch.schObjectNo, schObjectNo: objectNo ? objectNo.trim() : stuffSearch.schObjectNo.trim(),
schSaleStoreName: saleStoreName ? saleStoreName : '', schSaleStoreName: saleStoreName ? saleStoreName.trim() : '',
schAddress: address ? address : '', schAddress: address ? address.trim() : '',
schObjectName: objectName ? objectName : '', schObjectName: objectName ? objectName.trim() : '',
schDispCompanyName: dispCompanyName ? dispCompanyName : '', schDispCompanyName: dispCompanyName ? dispCompanyName.trim() : '',
schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '', schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '',
schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '', schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '',
schReceiveUser: receiveUser ? receiveUser : '', schReceiveUser: receiveUser ? receiveUser.trim() : '',
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
code: 'E', code: 'E',
startRow: 1, startRow: 1,
endRow: 1 * stuffSearch?.pageSize, endRow: 1 * stuffSearch?.pageSize,
// schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'R',
schSortType: 'R', schSortType: 'R',
pageNo: 1, pageNo: 1,
pageSize: stuffSearch?.pageSize, pageSize: stuffSearch?.pageSize,
}) })
} else { } else {
setStuffSearch({ setStuffSearch({
schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo : objectNo, schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo.trim() : objectNo.trim(),
schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName, schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName.trim() : saleStoreName.trim(),
schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress : address, schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress.trim() : address.trim(),
schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName : objectName, schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName.trim() : objectName.trim(),
schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName, schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName.trim() : dispCompanyName.trim(),
schSelSaleStoreId: schSelSaleStoreId, schSelSaleStoreId: schSelSaleStoreId,
schOtherSelSaleStoreId: otherSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId,
schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser, schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser.trim() : receiveUser.trim(),
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -209,14 +208,14 @@ export default function StuffSearchCondition() {
} }
} else { } else {
setStuffSearch({ setStuffSearch({
schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo : objectNo, schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo.trim() : objectNo.trim(),
schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName, schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName.trim() : saleStoreName.trim(),
schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress : address, schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress.trim() : address.trim(),
schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName : objectName, schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName.trim() : objectName.trim(),
schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName, schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName.trim() : dispCompanyName.trim(),
schSelSaleStoreId: schSelSaleStoreId, schSelSaleStoreId: schSelSaleStoreId,
schOtherSelSaleStoreId: otherSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId,
schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser, schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser.trim() : receiveUser.trim(),
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -230,14 +229,14 @@ export default function StuffSearchCondition() {
} }
} else { } else {
setStuffSearch({ setStuffSearch({
schObjectNo: objectNo, schObjectNo: objectNo.trim(),
schSaleStoreName: saleStoreName, schSaleStoreName: saleStoreName.trim(),
schAddress: address, schAddress: address.trim(),
schObjectName: objectName, schObjectName: objectName.trim(),
schDispCompanyName: dispCompanyName, schDispCompanyName: dispCompanyName.trim(),
schSelSaleStoreId: schSelSaleStoreId, schSelSaleStoreId: schSelSaleStoreId,
schOtherSelSaleStoreId: otherSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId,
schReceiveUser: receiveUser, schReceiveUser: receiveUser.trim(),
schDateType: dateType, schDateType: dateType,
schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '',
schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '',
@ -347,6 +346,8 @@ export default function StuffSearchCondition() {
get({ url: url }).then((res) => { get({ url: url }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
res.map((row) => { res.map((row) => {
//#399
row.saleStoreName = row.saleStoreName + ' - ' + row.saleStoreId
row.value = row.saleStoreId row.value = row.saleStoreId
row.label = row.saleStoreName row.label = row.saleStoreName
}) })
@ -367,6 +368,8 @@ export default function StuffSearchCondition() {
get({ url: url }).then((res) => { get({ url: url }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
res.map((row) => { res.map((row) => {
//#399
row.saleStoreName = row.saleStoreName + ' - ' + row.saleStoreId
row.value = row.saleStoreId row.value = row.saleStoreId
row.label = row.saleStoreName row.label = row.saleStoreName
}) })
@ -456,6 +459,8 @@ export default function StuffSearchCondition() {
get({ url: url }).then((res) => { get({ url: url }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
res.map((row) => { res.map((row) => {
//#399
row.saleStoreName = row.saleStoreName + ' - ' + row.saleStoreId
row.value = row.saleStoreId row.value = row.saleStoreId
row.label = row.saleStoreName row.label = row.saleStoreName
}) })
@ -474,6 +479,10 @@ export default function StuffSearchCondition() {
if (stuffSearch.code === 'S') { if (stuffSearch.code === 'S') {
stuffSearch.schSelSaleStoreId = '' stuffSearch.schSelSaleStoreId = ''
stuffSearch.schOtherSelSaleStoreId = '' stuffSearch.schOtherSelSaleStoreId = ''
} else if (stuffSearch.code === 'E') {
//#401
stuffSearch.schSelSaleStoreId = ''
stuffSearch.schOtherSelSaleStoreId = ''
} }
//2 //2

View File

@ -42,7 +42,7 @@ export function useRoofFn() {
const cols = Math.floor(patternSourceCanvas.width / patternSize.width) const cols = Math.floor(patternSourceCanvas.width / patternSize.width)
ctx.strokeStyle = mode === 'allPainted' ? 'black' : ROOF_COLOR[index] ctx.strokeStyle = mode === 'allPainted' ? 'black' : ROOF_COLOR[index]
ctx.lineWidth = mode === 'allPainted' ? 1 : 0.4 ctx.lineWidth = 2
ctx.fillStyle = mode === 'allPainted' ? 'rgba(0, 159, 64, 0.7)' : 'white' ctx.fillStyle = mode === 'allPainted' ? 'rgba(0, 159, 64, 0.7)' : 'white'
if (trestleMode) { if (trestleMode) {

View File

@ -43,6 +43,8 @@ const defaultDotLineGridSetting = {
LINE: false, LINE: false,
} }
let previousRoofMaterialsYn = 'N'; // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행
export function useCanvasSetting() { export function useCanvasSetting() {
const canvas = useRecoilValue(canvasState) const canvas = useRecoilValue(canvasState)
// canvas가 null이 아닐 때에만 getObjects 호출 // canvas가 null이 아닐 때에만 getObjects 호출
@ -147,12 +149,13 @@ export function useCanvasSetting() {
const previousRoofMaterialsRef = useRef(null); const previousRoofMaterialsRef = useRef(null);
useEffect(() => { // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행 useEffect(() => {
if (JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) {
// 지붕재 select 정보가 존재해야 배치면초기설정 DB 정보 비교 후 지붕재 정보를 가져올 수 있음 // 지붕재 select 정보가 존재해야 배치면초기설정 DB 정보 비교 후 지붕재 정보를 가져올 수 있음
if (roofMaterials) { if (roofMaterials.length !== 0 && JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) {
// 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행
if (roofMaterials && previousRoofMaterialsYn === 'N') {
fetchBasicSettings(); fetchBasicSettings();
previousRoofMaterialsYn = 'Y';
} }
// 이전 값을 업데이트 // 이전 값을 업데이트

View File

@ -157,7 +157,7 @@ export function useRoofAllocationSetting(id) {
} }
const apply = () => { const apply = () => {
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF && !obj.isFixed) const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL) const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL)
roofBases.forEach((roofBase) => { roofBases.forEach((roofBase) => {
try { try {

View File

@ -103,6 +103,7 @@ export function useRoofShapePassivitySetting(id) {
strokeWidth, strokeWidth,
}) })
}) })
canvas.renderAll()
if (!currentObject) { if (!currentObject) {
return return
} }
@ -116,7 +117,6 @@ export function useRoofShapePassivitySetting(id) {
}) })
currentLineRef.current = currentObject currentLineRef.current = currentObject
canvas.renderAll() canvas.renderAll()
}, [currentObject]) }, [currentObject])

View File

@ -26,14 +26,14 @@
min-width: 1280px; min-width: 1280px;
padding-bottom: 0; padding-bottom: 0;
background-color: #383838; background-color: #383838;
transition: padding .17s ease-in-out; transition: padding 0.17s ease-in-out;
z-index: 999; z-index: 999;
.canvas-menu-inner { .canvas-menu-inner {
position: relative; position: relative;
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 40px 0 20px; padding: 0 40px 0 20px;
background-color: #2C2C2C; background-color: #2c2c2c;
height: 46.8px; height: 46.8px;
z-index: 999; z-index: 999;
.canvas-menu-list { .canvas-menu-list {
@ -53,7 +53,7 @@
font-weight: 600; font-weight: 600;
padding: 15px 20px; padding: 15px 20px;
opacity: 0.55; opacity: 0.55;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
.menu-icon { .menu-icon {
display: block; display: block;
width: 14px; width: 14px;
@ -62,13 +62,27 @@
background-position: center; background-position: center;
background-size: contain; background-size: contain;
margin-right: 10px; margin-right: 10px;
&.con00{background-image: url(/static/images/canvas/menu_icon00.svg);} &.con00 {
&.con01{background-image: url(/static/images/canvas/menu_icon01.svg);} background-image: url(/static/images/canvas/menu_icon00.svg);
&.con02{background-image: url(/static/images/canvas/menu_icon02.svg);} }
&.con03{background-image: url(/static/images/canvas/menu_icon03.svg);} &.con01 {
&.con04{background-image: url(/static/images/canvas/menu_icon04.svg);} background-image: url(/static/images/canvas/menu_icon01.svg);
&.con05{background-image: url(/static/images/canvas/menu_icon05.svg);} }
&.con06{background-image: url(/static/images/canvas/menu_icon06.svg);} &.con02 {
background-image: url(/static/images/canvas/menu_icon02.svg);
}
&.con03 {
background-image: url(/static/images/canvas/menu_icon03.svg);
}
&.con04 {
background-image: url(/static/images/canvas/menu_icon04.svg);
}
&.con05 {
background-image: url(/static/images/canvas/menu_icon05.svg);
}
&.con06 {
background-image: url(/static/images/canvas/menu_icon06.svg);
}
} }
} }
&.active { &.active {
@ -100,26 +114,47 @@
width: 30px; width: 30px;
height: 30px; height: 30px;
border-radius: 2px; border-radius: 2px;
background-color: #3D3D3D; background-color: #3d3d3d;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 15px 15px; background-size: 15px 15px;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
&.btn01{background-image: url(../../public/static/images/canvas/side_icon03.svg);} &.btn01 {
&.btn02{background-image: url(../../public/static/images/canvas/side_icon02.svg);} background-image: url(../../public/static/images/canvas/side_icon03.svg);
&.btn03{background-image: url(../../public/static/images/canvas/side_icon01.svg);} }
&.btn04{background-image: url(../../public/static/images/canvas/side_icon04.svg);} &.btn02 {
&.btn05{background-image: url(../../public/static/images/canvas/side_icon05.svg);} background-image: url(../../public/static/images/canvas/side_icon02.svg);
&.btn06{background-image: url(../../public/static/images/canvas/side_icon06.svg);} }
&.btn07{background-image: url(../../public/static/images/canvas/side_icon07.svg);} &.btn03 {
&.btn08{background-image: url(../../public/static/images/canvas/side_icon08.svg);} background-image: url(../../public/static/images/canvas/side_icon01.svg);
&.btn09{background-image: url(../../public/static/images/canvas/side_icon09.svg);} }
&.btn10{background-image: url(../../public/static/images/canvas/side_icon10.svg); background-size: 15px 14px;} &.btn04 {
background-image: url(../../public/static/images/canvas/side_icon04.svg);
}
&.btn05 {
background-image: url(../../public/static/images/canvas/side_icon05.svg);
}
&.btn06 {
background-image: url(../../public/static/images/canvas/side_icon06.svg);
}
&.btn07 {
background-image: url(../../public/static/images/canvas/side_icon07.svg);
}
&.btn08 {
background-image: url(../../public/static/images/canvas/side_icon08.svg);
}
&.btn09 {
background-image: url(../../public/static/images/canvas/side_icon09.svg);
}
&.btn10 {
background-image: url(../../public/static/images/canvas/side_icon10.svg);
background-size: 15px 14px;
}
&:hover { &:hover {
background-color: #1083E3; background-color: #1083e3;
} }
&.active { &.active {
background-color: #1083E3; background-color: #1083e3;
} }
} }
} }
@ -135,11 +170,21 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: contain; background-size: contain;
&.ico01{background-image: url(../../public/static/images/canvas/ico-flx01.svg);} &.ico01 {
&.ico02{background-image: url(../../public/static/images/canvas/ico-flx02.svg);} background-image: url(../../public/static/images/canvas/ico-flx01.svg);
&.ico03{background-image: url(../../public/static/images/canvas/ico-flx03.svg);} }
&.ico04{background-image: url(../../public/static/images/canvas/ico-flx04.svg);} &.ico02 {
&.ico05{background-image: url(../../public/static/images/canvas/ico-flx05.svg);} background-image: url(../../public/static/images/canvas/ico-flx02.svg);
}
&.ico03 {
background-image: url(../../public/static/images/canvas/ico-flx03.svg);
}
&.ico04 {
background-image: url(../../public/static/images/canvas/ico-flx04.svg);
}
&.ico05 {
background-image: url(../../public/static/images/canvas/ico-flx05.svg);
}
} }
.name { .name {
font-size: 12px; font-size: 12px;
@ -169,16 +214,16 @@
button { button {
margin-left: auto; margin-left: auto;
height: 100%; height: 100%;
background-color: #4B4B4B; background-color: #4b4b4b;
font-size: 13px; font-size: 13px;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
padding: 0 7.5px; padding: 0 7.5px;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
} }
&.on { &.on {
button { button {
background-color: #1083E3; background-color: #1083e3;
} }
} }
} }
@ -187,7 +232,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 10px; gap: 10px;
background-color: #3D3D3D; background-color: #3d3d3d;
border-radius: 2px; border-radius: 2px;
width: 100px; width: 100px;
height: 30px; height: 30px;
@ -221,7 +266,7 @@
background-color: #383838; background-color: #383838;
width: 100%; width: 100%;
height: 50px; height: 50px;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
.canvas-depth2-inner { .canvas-depth2-inner {
display: flex; display: flex;
align-items: center; align-items: center;
@ -273,7 +318,7 @@
align-items: center; align-items: center;
margin-right: 34px; margin-right: 34px;
height: 100%; height: 100%;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
button { button {
position: relative; position: relative;
font-size: 12px; font-size: 12px;
@ -313,7 +358,7 @@
// canvas-layout // canvas-layout
.canvas-content { .canvas-content {
padding-top: 46.8px; padding-top: 46.8px;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
.canvas-frame { .canvas-frame {
height: calc(100vh - 129.3px); height: calc(100vh - 129.3px);
} }
@ -331,11 +376,11 @@
top: 92.8px; top: 92.8px;
left: 0; left: 0;
display: flex; display: flex;
background-color: #1C1C1C; background-color: #1c1c1c;
border-top: 1px solid #000; border-top: 1px solid #000;
width: 100%; width: 100%;
min-width: 1280px; min-width: 1280px;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
z-index: 99; z-index: 99;
&.active { &.active {
top: calc(92.8px + 50px); top: calc(92.8px + 50px);
@ -351,14 +396,14 @@
padding: 9.6px 20px; padding: 9.6px 20px;
border-right: 1px solid #000; border-right: 1px solid #000;
min-width: 0; min-width: 0;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
span { span {
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%; width: 100%;
font-size: 12px; font-size: 12px;
font-family: 'Pretendard', sans-serif; font-family: 'Pretendard', sans-serif;
color: #AAA; color: #aaa;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
@ -396,9 +441,9 @@
justify-content: center; justify-content: center;
width: 45px; width: 45px;
padding: 13.5px 0; padding: 13.5px 0;
background-color: #1C1C1C; background-color: #1c1c1c;
border-right: 1px solid #000; border-right: 1px solid #000;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
span { span {
display: block; display: block;
width: 9px; width: 9px;
@ -416,9 +461,9 @@
.canvas-frame { .canvas-frame {
position: relative; position: relative;
// height: calc(100% - 36.5px); // height: calc(100% - 36.5px);
background-color: #F4F4F7; background-color: #f4f4f7;
overflow: auto; overflow: auto;
transition: all .17s ease-in-out; transition: all 0.17s ease-in-out;
// &::-webkit-scrollbar { // &::-webkit-scrollbar {
// width: 10px; // width: 10px;
// height: 10px; // height: 10px;
@ -453,7 +498,7 @@
min-width: 1280px; min-width: 1280px;
height: 46px; height: 46px;
border-bottom: 1px solid #000; border-bottom: 1px solid #000;
background: #2C2C2C; background: #2c2c2c;
z-index: 999; z-index: 999;
.sub-header-inner { .sub-header-inner {
display: flex; display: flex;
@ -476,7 +521,9 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
&.drawing{background-image: url(../../public/static/images/main/drawing_icon.svg);} &.drawing {
background-image: url(../../public/static/images/main/drawing_icon.svg);
}
} }
} }
&:after { &:after {
@ -487,7 +534,7 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 16px; height: 16px;
background-color: #D9D9D9; background-color: #d9d9d9;
} }
&:first-child { &:first-child {
padding-left: 0; padding-left: 0;
@ -517,7 +564,7 @@
span { span {
display: flex; display: flex;
font-size: 12px; font-size: 12px;
color: #AAA; color: #aaa;
font-weight: normal; font-weight: normal;
cursor: default; cursor: default;
} }
@ -575,8 +622,8 @@
.sub-table-box { .sub-table-box {
padding: 20px; padding: 20px;
border-radius: 6px; border-radius: 6px;
border: 1px solid #E9EAED; border: 1px solid #e9eaed;
background: #FFF; background: #fff;
box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.02); box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.02);
.table-box-title-wrap { .table-box-title-wrap {
display: flex; display: flex;
@ -599,7 +646,7 @@
position: relative; position: relative;
font-size: 15px; font-size: 15px;
font-weight: 600; font-weight: 600;
color: #1083E3; color: #1083e3;
padding-left: 10px; padding-left: 10px;
&::before { &::before {
content: ''; content: '';
@ -609,7 +656,7 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 11px; height: 11px;
background-color: #D9D9D9; background-color: #d9d9d9;
} }
} }
.option { .option {
@ -630,7 +677,7 @@
span { span {
font-weight: 600; font-weight: 600;
&.red { &.red {
color: #E23D70; color: #e23d70;
} }
} }
&:after { &:after {
@ -641,10 +688,17 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 11px; height: 11px;
background-color: #D9D9D9; background-color: #d9d9d9;
}
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
&::after {
display: none;
}
} }
&:first-child{padding-left: 0;}
&:last-child{padding-right: 0;&::after{display: none;}}
} }
} }
} }
@ -654,6 +708,14 @@
display: flex; display: flex;
align-items: center; align-items: center;
} }
.promise-title-wrap {
display: flex;
align-items: center;
margin-bottom: 15px;
.promise-gudie {
margin-bottom: 0;
}
}
.promise-gudie { .promise-gudie {
display: block; display: block;
font-size: 13px; font-size: 13px;
@ -738,7 +800,7 @@
width: 105px; width: 105px;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
background-color: #F4F4F7; background-color: #f4f4f7;
border-radius: 100px; border-radius: 100px;
text-align: center; text-align: center;
font-size: 13px; font-size: 13px;
@ -753,12 +815,12 @@
&.blue { &.blue {
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
color: #1083E3; color: #1083e3;
} }
&.red { &.red {
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
color: #D72A2A; color: #d72a2a;
} }
} }
} }
@ -772,11 +834,11 @@
padding: 10px; padding: 10px;
.btn-area { .btn-area {
padding-bottom: 15px; padding-bottom: 15px;
border-bottom: 1px solid #ECF0F4; border-bottom: 1px solid #ecf0f4;
.file-upload { .file-upload {
display: inline-block; display: inline-block;
height: 30px; height: 30px;
background-color: #94A0AD; background-color: #94a0ad;
padding: 0 10px; padding: 0 10px;
border-radius: 2px; border-radius: 2px;
font-size: 13px; font-size: 13px;
@ -784,9 +846,9 @@
color: #fff; color: #fff;
font-weight: 500; font-weight: 500;
cursor: pointer; cursor: pointer;
transition: background .15s ease-in-out; transition: background 0.15s ease-in-out;
&:hover { &:hover {
background-color: #607F9A; background-color: #607f9a;
} }
} }
} }
@ -811,7 +873,7 @@
span { span {
position: relative; position: relative;
font-size: 13px; font-size: 13px;
color: #45576F; color: #45576f;
font-weight: 400; font-weight: 400;
white-space: nowrap; white-space: nowrap;
padding-right: 55px; padding-right: 55px;
@ -841,7 +903,7 @@
.return { .return {
padding: 0; padding: 0;
font-size: 13px; font-size: 13px;
color: #B0BCCD; color: #b0bccd;
text-decoration: line-through; text-decoration: line-through;
} }
.return-btn { .return-btn {
@ -856,10 +918,10 @@
padding: 0 9px; padding: 0 9px;
margin-left: 10px; margin-left: 10px;
background: none; background: none;
border: 1px solid #B0BCCD; border: 1px solid #b0bccd;
border-radius: 2px; border-radius: 2px;
font-size: 12px; font-size: 12px;
color: #B0BCCD; color: #b0bccd;
font-weight: 500; font-weight: 500;
.return-ico { .return-ico {
display: block; display: block;
@ -879,8 +941,8 @@
display: block; display: block;
width: 20px; width: 20px;
height: 20px; height: 20px;
background-color: #94A0AD; background-color: #94a0ad;
border: 1px solid #94A0AD; border: 1px solid #94a0ad;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-image: url(../../public/static/images/canvas/estiment_arr.svg); background-image: url(../../public/static/images/canvas/estiment_arr.svg);
@ -891,8 +953,8 @@
} }
&.on { &.on {
background-color: #fff; background-color: #fff;
border-color: #C2D0DD; border-color: #c2d0dd;
background-image: url(../../public/static/images/canvas/estiment_arr_color.svg) background-image: url(../../public/static/images/canvas/estiment_arr_color.svg);
} }
} }
.estimate-check-wrap { .estimate-check-wrap {
@ -900,7 +962,7 @@
display: block; display: block;
} }
&.hide { &.hide {
border-bottom: 1px solid #ECF0F4; border-bottom: 1px solid #ecf0f4;
margin-bottom: 15px; margin-bottom: 15px;
.estimate-check-inner { .estimate-check-inner {
display: none; display: none;
@ -915,18 +977,18 @@
margin-bottom: 30px; margin-bottom: 30px;
.special-note-check-item { .special-note-check-item {
padding: 14px 10px; padding: 14px 10px;
border: 1px solid #ECF0F4; border: 1px solid #ecf0f4;
margin-top: -1px; margin-top: -1px;
margin-right: -1px; margin-right: -1px;
&.act { &.act {
background-color: #F7F9FA; background-color: #f7f9fa;
} }
.special-note-check-box { .special-note-check-box {
display: flex; display: flex;
align-items: center; align-items: center;
.check-name { .check-name {
font-size: 13px; font-size: 13px;
color: #45576F; color: #45576f;
cursor: pointer; cursor: pointer;
line-height: 1.3; line-height: 1.3;
} }
@ -935,7 +997,7 @@
} }
.calculation-estimate { .calculation-estimate {
border: 1px solid #ECF0F4; border: 1px solid #ecf0f4;
border-radius: 3px; border-radius: 3px;
padding: 24px; padding: 24px;
height: 350px; height: 350px;
@ -949,13 +1011,13 @@
dt { dt {
font-size: 13px; font-size: 13px;
font-weight: 600; font-weight: 600;
color: #1083E3; color: #1083e3;
margin-bottom: 15px; margin-bottom: 15px;
} }
dd { dd {
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #45576F; color: #45576f;
margin-bottom: 8px; margin-bottom: 8px;
&:last-child { &:last-child {
margin-bottom: 0; margin-bottom: 0;
@ -987,7 +1049,7 @@
.product-price-tit { .product-price-tit {
font-size: 13px; font-size: 13px;
font-weight: 400; font-weight: 400;
color: #45576F; color: #45576f;
margin-right: 10px; margin-right: 10px;
} }
.select-wrap { .select-wrap {
@ -1025,7 +1087,7 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 12px; height: 12px;
background-color: #D9D9D9; background-color: #d9d9d9;
} }
&:first-child { &:first-child {
padding-left: 0; padding-left: 0;
@ -1037,7 +1099,7 @@
padding-right: 0; padding-right: 0;
} }
&.item01 { &.item01 {
color: #3BBB48; color: #3bbb48;
span { span {
background-image: url(../../public/static/images/sub/open_ico.svg); background-image: url(../../public/static/images/sub/open_ico.svg);
} }
@ -1049,13 +1111,13 @@
} }
} }
&.item03 { &.item03 {
color: #0191C9; color: #0191c9;
span { span {
background-image: url(../../public/static/images/sub/attachment_ico.svg); background-image: url(../../public/static/images/sub/attachment_ico.svg);
} }
} }
&.item04 { &.item04 {
color: #F16A6A; color: #f16a6a;
span { span {
background-image: url(../../public/static/images/sub/click_check_ico.svg); background-image: url(../../public/static/images/sub/click_check_ico.svg);
} }
@ -1117,23 +1179,23 @@
table { table {
table-layout: fixed; table-layout: fixed;
border-collapse: collapse; border-collapse: collapse;
border: 1px solid #ECF0F4; border: 1px solid #ecf0f4;
border-radius: 4px; border-radius: 4px;
thead { thead {
th { th {
padding: 4.5px 0; padding: 4.5px 0;
border-bottom: 1px solid #ECF0F4; border-bottom: 1px solid #ecf0f4;
text-align: center; text-align: center;
font-size: 13px; font-size: 13px;
color: #45576F; color: #45576f;
font-weight: 500; font-weight: 500;
background-color: #F8F9FA; background-color: #f8f9fa;
} }
} }
tbody { tbody {
td { td {
font-size: 13px; font-size: 13px;
color: #45576F; color: #45576f;
text-align: center; text-align: center;
padding: 4.5px 0; padding: 4.5px 0;
} }
@ -1147,13 +1209,13 @@
.simulation-tit-wrap { .simulation-tit-wrap {
flex: none; flex: none;
padding-right: 40px; padding-right: 40px;
border-right: 1px solid #EEEEEE; border-right: 1px solid #eeeeee;
span { span {
display: block; display: block;
position: relative; position: relative;
padding-left: 60px; padding-left: 60px;
font-size: 15px; font-size: 15px;
color: #14324F; color: #14324f;
font-weight: 600; font-weight: 600;
&::before { &::before {
content: ''; content: '';
@ -1181,7 +1243,7 @@
} }
dd { dd {
font-size: 12px; font-size: 12px;
color: #45576F; color: #45576f;
font-weight: 400; font-weight: 400;
line-height: 24px; line-height: 24px;
} }
@ -1189,7 +1251,8 @@
margin-bottom: 0; margin-bottom: 0;
} }
} }
ul, ol{ ul,
ol {
list-style: unset; list-style: unset;
} }
} }
@ -1198,10 +1261,10 @@
.module-total { .module-total {
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #F8F9FA; background-color: #f8f9fa;
padding: 9px 0; padding: 9px 0;
margin-right: 4px; margin-right: 4px;
border: 1px solid #ECF0F4; border: 1px solid #ecf0f4;
border-top: none; border-top: none;
.total-title { .total-title {
flex: 1; flex: 1;
@ -1224,7 +1287,7 @@
.information-help-wrap { .information-help-wrap {
display: flex; display: flex;
padding: 24px; padding: 24px;
background-color: #F4F4F4; background-color: #f4f4f4;
border-radius: 4px; border-radius: 4px;
margin-bottom: 15px; margin-bottom: 15px;
.information-help-tit-wrap { .information-help-tit-wrap {
@ -1232,7 +1295,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
padding-right: 40px; padding-right: 40px;
border-right: 1px solid #E0E0E3; border-right: 1px solid #e0e0e3;
.help-tit-icon { .help-tit-icon {
width: 40px; width: 40px;
height: 40px; height: 40px;
@ -1244,7 +1307,7 @@
.help-tit { .help-tit {
font-size: 13px; font-size: 13px;
font-weight: 600; font-weight: 600;
color: #45576F; color: #45576f;
} }
} }
.information-help-guide { .information-help-guide {
@ -1253,7 +1316,7 @@
display: block; display: block;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #45576F; color: #45576f;
margin-bottom: 7px; margin-bottom: 7px;
&:last-child { &:last-child {
margin-bottom: 0; margin-bottom: 0;
@ -1267,7 +1330,7 @@
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 10px 0 30px 0; padding: 10px 0 30px 0;
border-bottom: 1px solid #E5E5E5; border-bottom: 1px solid #e5e5e5;
margin-bottom: 24px; margin-bottom: 24px;
.community-search-box { .community-search-box {
position: relative; position: relative;
@ -1286,7 +1349,7 @@
font-weight: 400; font-weight: 400;
color: #101010; color: #101010;
&::placeholder { &::placeholder {
color: #C8C8C8; color: #c8c8c8;
} }
} }
.community-search-ico { .community-search-ico {
@ -1305,10 +1368,10 @@
.community-search-keyword { .community-search-keyword {
font-size: 13px; font-size: 13px;
font-weight: 400; font-weight: 400;
color: #45576F; color: #45576f;
span { span {
font-weight: 600; font-weight: 600;
color: #F16A6A; color: #f16a6a;
} }
} }
} }
@ -1323,15 +1386,15 @@
align-items: center; align-items: center;
padding: 24px; padding: 24px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #E5E5E5; border: 1px solid #e5e5e5;
background: #FFF; background: #fff;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
.file-item-info { .file-item-info {
.item-num { .item-num {
display: inline-block; display: inline-block;
padding: 6px 17.5px; padding: 6px 17.5px;
border-radius: 60px; border-radius: 60px;
background-color: #F4F4F7; background-color: #f4f4f7;
font-size: 13px; font-size: 13px;
font-weight: 600; font-weight: 600;
color: #101010; color: #101010;
@ -1363,7 +1426,7 @@
} }
} }
&:hover { &:hover {
background-color: #F4F4F7; background-color: #f4f4f7;
} }
} }
} }
@ -1376,7 +1439,7 @@
height: 148px; height: 148px;
padding: 24px; padding: 24px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #E5E5E5; border: 1px solid #e5e5e5;
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: #344356; color: #344356;
@ -1388,8 +1451,8 @@
align-items: center; align-items: center;
width: 200px; width: 200px;
height: 30px; height: 30px;
background-color: #FAFAFA; background-color: #fafafa;
border: 1px solid #EEE; border: 1px solid #eee;
padding: 0 10px; padding: 0 10px;
input { input {
font-size: 13px; font-size: 13px;
@ -1513,5 +1576,4 @@
} }
} }
} }
} }

View File

@ -5,12 +5,24 @@ $pop-normal-size: 12px;
$alert-color: #101010; $alert-color: #101010;
@keyframes mountpop { @keyframes mountpop {
from{opacity: 0; scale: 0.95;} from {
to{opacity: 1; scale: 1;} opacity: 0;
scale: 0.95;
}
to {
opacity: 1;
scale: 1;
}
} }
@keyframes unmountpop { @keyframes unmountpop {
from{opacity: 1; scale: 1;} from {
to{opacity: 0; scale: 0.95;} opacity: 1;
scale: 1;
}
to {
opacity: 0;
scale: 0.95;
}
} }
.normal-font { .normal-font {
@ -85,10 +97,10 @@ $alert-color: #101010;
width: 900px; width: 900px;
} }
&.mount { &.mount {
animation: mountpop .17s ease-in-out forwards; animation: mountpop 0.17s ease-in-out forwards;
} }
&.unmount { &.unmount {
animation: unmountpop .17s ease-in-out forwards; animation: unmountpop 0.17s ease-in-out forwards;
} }
&.alert { &.alert {
position: absolute; position: absolute;
@ -193,7 +205,7 @@ $alert-color: #101010;
} }
} }
.outer-line-wrap { .outer-line-wrap {
border-top: 1px solid #3C3C3C; border-top: 1px solid #3c3c3c;
margin-top: 10px; margin-top: 10px;
padding-top: 15px; padding-top: 15px;
margin-bottom: 15px; margin-bottom: 15px;
@ -215,7 +227,7 @@ $alert-color: #101010;
.adsorption-point { .adsorption-point {
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #3A3A3A; background-color: #3a3a3a;
border-radius: 3px; border-radius: 3px;
padding-left: 11px; padding-left: 11px;
overflow: hidden; overflow: hidden;
@ -236,7 +248,7 @@ $alert-color: #101010;
&.act { &.act {
i { i {
color: $pop-color; color: $pop-color;
background-color: #1083E3; background-color: #1083e3;
} }
} }
} }
@ -251,12 +263,26 @@ $alert-color: #101010;
border-bottom: 1px solid #424242; border-bottom: 1px solid #424242;
} }
} }
.grid-option-overflow {
max-height: 350px;
overflow-y: auto;
&::-webkit-scrollbar {
width: 4px;
background-color: transparent;
}
&::-webkit-scrollbar-thumb {
background-color: #d9d9d9;
}
&::-webkit-scrollbar-track {
background-color: transparent;
}
}
.grid-option-wrap { .grid-option-wrap {
.grid-option-box { .grid-option-box {
display: flex; display: flex;
align-items: center; align-items: center;
background-color: transparent; background-color: transparent;
border: 1px solid #3D3D3D; border: 1px solid #3d3d3d;
border-radius: 2px; border-radius: 2px;
padding: 15px 10px; padding: 15px 10px;
gap: 20px; gap: 20px;
@ -281,9 +307,14 @@ $alert-color: #101010;
margin-bottom: 0; margin-bottom: 0;
} }
} }
.grid-option-block-form {
flex: 1;
}
} }
.select-form { .select-form {
.sort-select{width: 100%;} .sort-select {
width: 100%;
}
} }
.grid-select { .grid-select {
flex: 1; flex: 1;
@ -328,7 +359,6 @@ $alert-color: #101010;
color: $pop-color; color: $pop-color;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
padding-bottom: 15px; padding-bottom: 15px;
} }
.grid-direction { .grid-direction {
display: flex; display: flex;
@ -345,11 +375,17 @@ $alert-color: #101010;
background-position: center; background-position: center;
background-size: 16px 15px; background-size: 16px 15px;
border-radius: 50%; border-radius: 50%;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
opacity: 0.6; opacity: 0.6;
&.down{transform: rotate(180deg);} &.down {
&.left{transform: rotate(-90deg);} transform: rotate(180deg);
&.right{transform: rotate(90deg);} }
&.left {
transform: rotate(-90deg);
}
&.right {
transform: rotate(90deg);
}
&:hover, &:hover,
&.act { &.act {
opacity: 1; opacity: 1;
@ -435,10 +471,11 @@ $alert-color: #101010;
} }
&.light { &.light {
padding: 0; padding: 0;
th,td{ th,
td {
color: $alert-color; color: $alert-color;
border-bottom: none; border-bottom: none;
border-top: 1px solid #EFEFEF; border-top: 1px solid #efefef;
} }
th { th {
padding: 14px 0; padding: 14px 0;
@ -492,7 +529,6 @@ $alert-color: #101010;
color: $pop-color; color: $pop-color;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
} }
} }
.img-edit-wrap { .img-edit-wrap {
@ -508,7 +544,7 @@ $alert-color: #101010;
background-color: #fff; background-color: #fff;
border-radius: 2px; border-radius: 2px;
cursor: pointer; cursor: pointer;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
.img-edit { .img-edit {
width: 16px; width: 16px;
height: 16px; height: 16px;
@ -528,7 +564,6 @@ $alert-color: #101010;
margin-left: 10px; margin-left: 10px;
input { input {
flex: 1; flex: 1;
} }
.img-check { .img-check {
flex: none; flex: none;
@ -554,8 +589,12 @@ $alert-color: #101010;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
&.fail{background-image: url(../../public/static/images/canvas/img_check_fail.svg);} &.fail {
&.success{background-image: url(../../public/static/images/canvas/img_check_success.svg);} background-image: url(../../public/static/images/canvas/img_check_fail.svg);
}
&.success {
background-image: url(../../public/static/images/canvas/img_check_success.svg);
}
} }
} }
@ -635,7 +674,7 @@ $alert-color: #101010;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 50%; width: 50%;
background-color: #3D3D3D; background-color: #3d3d3d;
border-radius: 2px; border-radius: 2px;
} }
} }
@ -643,7 +682,7 @@ $alert-color: #101010;
// 외벽선 속성 설정 // 외벽선 속성 설정
.properties-guide { .properties-guide {
font-size: $pop-normal-size; font-size: $pop-normal-size;
color: #AAA; color: #aaa;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
margin-bottom: 14px; margin-bottom: 14px;
} }
@ -672,17 +711,17 @@ $alert-color: #101010;
color: #fff; color: #fff;
font-weight: 700; font-weight: 700;
border-radius: 2px; border-radius: 2px;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&.green { &.green {
background-color: #305941; background-color: #305941;
border: 1px solid #45CD7D; border: 1px solid #45cd7d;
&:hover { &:hover {
background-color: #3a6b4e; background-color: #3a6b4e;
} }
} }
&.blue { &.blue {
background-color: #2E5360; background-color: #2e5360;
border: 1px solid #3FBAE6; border: 1px solid #3fbae6;
&:hover { &:hover {
background-color: #365f6e; background-color: #365f6e;
} }
@ -704,8 +743,8 @@ $alert-color: #101010;
justify-content: center; justify-content: center;
width: 100%; width: 100%;
padding: 13px; padding: 13px;
background-color: #3D3D3D; background-color: #3d3d3d;
transition: background .15s ease-in-out; transition: background 0.15s ease-in-out;
img { img {
max-width: 100%; max-width: 100%;
} }
@ -716,13 +755,17 @@ $alert-color: #101010;
color: $pop-color; color: $pop-color;
margin-top: 10px; margin-top: 10px;
text-align: center; text-align: center;
transition: color .15s ease-in-out; transition: color 0.15s ease-in-out;
} }
.shape-menu-box { .shape-menu-box {
&.act, &.act,
&:hover { &:hover {
.shape-box{background-color: #008BFF;} .shape-box {
.shape-title{color: #008BFF;} background-color: #008bff;
}
.shape-title {
color: #008bff;
}
} }
} }
} }
@ -737,7 +780,7 @@ $alert-color: #101010;
} }
.discrimination-box { .discrimination-box {
padding: 16px 12px; padding: 16px 12px;
border: 1px solid #3D3D3D; border: 1px solid #3d3d3d;
border-radius: 2px; border-radius: 2px;
} }
@ -770,12 +813,12 @@ $alert-color: #101010;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 5px; padding: 5px;
background-color: #3D3D3D; background-color: #3d3d3d;
border: 1px solid #3D3D3D; border: 1px solid #3d3d3d;
border-radius: 2px; border-radius: 2px;
cursor: pointer; cursor: pointer;
&.act { &.act {
border: 1px solid #ED0004; border: 1px solid #ed0004;
} }
} }
&:last-child { &:last-child {
@ -874,7 +917,7 @@ $alert-color: #101010;
border: 1px solid #646464; border: 1px solid #646464;
border-radius: 2px; border-radius: 2px;
padding: 0 10px; padding: 0 10px;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
i { i {
height: 15px; height: 15px;
display: block; display: block;
@ -882,7 +925,7 @@ $alert-color: #101010;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&.allocation01 { &.allocation01 {
background-image: url(../../public/static/images/canvas/allocation_icon01_white.svg); background-image: url(../../public/static/images/canvas/allocation_icon01_white.svg);
width: 15px; width: 15px;
@ -935,7 +978,9 @@ $alert-color: #101010;
height: 34px; height: 34px;
background-color: #373737; background-color: #373737;
border: 1px solid #676767; border: 1px solid #676767;
transition: background .15s ease-in-out, border .15s ease-in-out; transition:
background 0.15s ease-in-out,
border 0.15s ease-in-out;
.shape-box { .shape-box {
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -947,8 +992,8 @@ $alert-color: #101010;
} }
&.act, &.act,
&:hover { &:hover {
border-color: #008BFF; border-color: #008bff;
background-color: #008BFF; background-color: #008bff;
} }
} }
} }
@ -963,18 +1008,27 @@ $alert-color: #101010;
.library-btn { .library-btn {
width: 100%; width: 100%;
height: 34px; height: 34px;
border: 1px solid #6C6C6C; border: 1px solid #6c6c6c;
border-radius: 2px; border-radius: 2px;
background-color: #373737; background-color: #373737;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&.ico01{background-image: url(../../public/static/images/canvas/shape_labrary01.svg); background-size: 19px 18px;} &.ico01 {
&.ico02{background-image: url(../../public/static/images/canvas/shape_labrary02.svg); background-size: 15px 20px;} background-image: url(../../public/static/images/canvas/shape_labrary01.svg);
&.ico03{background-image: url(../../public/static/images/canvas/shape_labrary03.svg); background-size: 19px 16px;} background-size: 19px 18px;
}
&.ico02 {
background-image: url(../../public/static/images/canvas/shape_labrary02.svg);
background-size: 15px 20px;
}
&.ico03 {
background-image: url(../../public/static/images/canvas/shape_labrary03.svg);
background-size: 19px 16px;
}
&:hover { &:hover {
border-color: #1083E3; border-color: #1083e3;
background-color: #1083E3; background-color: #1083e3;
} }
} }
} }
@ -1060,11 +1114,27 @@ $alert-color: #101010;
position: absolute; position: absolute;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
color: #B1B1B1; color: #b1b1b1;
&.top{top: 0; left: 50%; transform: translateX(-50%);} &.top {
&.right{top: 50%; right: 0; transform: translateY(-50%);} top: 0;
&.bottom{bottom: 0; left: 50%; transform: translateX(-50%);} left: 50%;
&.left{top: 50%; left: 0; transform: translateY(-50%);} transform: translateX(-50%);
}
&.right {
top: 50%;
right: 0;
transform: translateY(-50%);
}
&.bottom {
bottom: 0;
left: 50%;
transform: translateX(-50%);
}
&.left {
top: 50%;
left: 0;
transform: translateY(-50%);
}
} }
.plane-btn { .plane-btn {
position: absolute; position: absolute;
@ -1076,11 +1146,27 @@ $alert-color: #101010;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
border-radius: 50%; border-radius: 50%;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&.up{top: 22px; left: 50%; transform: translateX(-50%);} &.up {
&.right{top: 50%; right: 32px; transform: translateY(-50%) rotate(90deg);} top: 22px;
&.down{bottom: 22px; left: 50%; transform: translateX(-50%) rotate(180deg);} left: 50%;
&.left{top: 50%; left: 32px; transform: translateY(-50%) rotate(270deg);} transform: translateX(-50%);
}
&.right {
top: 50%;
right: 32px;
transform: translateY(-50%) rotate(90deg);
}
&.down {
bottom: 22px;
left: 50%;
transform: translateX(-50%) rotate(180deg);
}
&.left {
top: 50%;
left: 32px;
transform: translateY(-50%) rotate(270deg);
}
&:hover, &:hover,
&.act { &.act {
background-color: #fff; background-color: #fff;
@ -1146,7 +1232,7 @@ $alert-color: #101010;
.warning { .warning {
font-size: $pop-normal-size; font-size: $pop-normal-size;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
color: #FFAFAF; color: #ffafaf;
} }
// 속성 변경 // 속성 변경
@ -1202,37 +1288,157 @@ $alert-color: #101010;
top: 12.5px; top: 12.5px;
left: 50%; left: 50%;
font-size: 11px; font-size: 11px;
color: #8B8B8B; color: #8b8b8b;
font-weight: 500; font-weight: 500;
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-use-select: none; -ms-use-select: none;
user-select: none; user-select: none;
} }
&:nth-child(1) { transform: rotate(180deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(180deg);}} &:nth-child(1) {
&:nth-child(2) { transform: rotate(195deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(165deg);}} transform: rotate(180deg) translate(-50%, -50%);
&:nth-child(3) { transform: rotate(210deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(150deg);}} i {
&:nth-child(4) { transform: rotate(225deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(135deg);}} transform: translateX(-50%) rotate(180deg);
&:nth-child(5) { transform: rotate(240deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(120deg);}} }
&:nth-child(6) { transform: rotate(255deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(105deg);}} }
&:nth-child(7) { transform: rotate(270deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(90deg);}} &:nth-child(2) {
&:nth-child(8) { transform: rotate(285deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(75deg);}} transform: rotate(195deg) translate(-50%, -50%);
&:nth-child(9) { transform: rotate(300deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(60deg);}} i {
&:nth-child(10) { transform: rotate(315deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(45deg);}} transform: translateX(-50%) rotate(165deg);
&:nth-child(11) { transform: rotate(330deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(30deg);}} }
&:nth-child(12) { transform: rotate(345deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(15deg);}} }
&:nth-child(13) { transform: rotate(0deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(0deg);}} &:nth-child(3) {
&:nth-child(14) { transform: rotate(15deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-15deg);}} transform: rotate(210deg) translate(-50%, -50%);
&:nth-child(15) { transform: rotate(30deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-30deg);}} i {
&:nth-child(16) { transform: rotate(45deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-45deg);}} transform: translateX(-50%) rotate(150deg);
&:nth-child(17) { transform: rotate(60deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-60deg);}} }
&:nth-child(18) { transform: rotate(75deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-75deg);}} }
&:nth-child(19) { transform: rotate(90deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-90deg);}} &:nth-child(4) {
&:nth-child(20) { transform: rotate(105deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-105deg);}} transform: rotate(225deg) translate(-50%, -50%);
&:nth-child(21) { transform: rotate(120deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-120deg);}} i {
&:nth-child(22) { transform: rotate(135deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-135deg);}} transform: translateX(-50%) rotate(135deg);
&:nth-child(23) { transform: rotate(150deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-150deg);}} }
&:nth-child(24) { transform: rotate(165deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-165deg);}} }
&:nth-child(5) {
transform: rotate(240deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(120deg);
}
}
&:nth-child(6) {
transform: rotate(255deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(105deg);
}
}
&:nth-child(7) {
transform: rotate(270deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(90deg);
}
}
&:nth-child(8) {
transform: rotate(285deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(75deg);
}
}
&:nth-child(9) {
transform: rotate(300deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(60deg);
}
}
&:nth-child(10) {
transform: rotate(315deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(45deg);
}
}
&:nth-child(11) {
transform: rotate(330deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(30deg);
}
}
&:nth-child(12) {
transform: rotate(345deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(15deg);
}
}
&:nth-child(13) {
transform: rotate(0deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(0deg);
}
}
&:nth-child(14) {
transform: rotate(15deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-15deg);
}
}
&:nth-child(15) {
transform: rotate(30deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-30deg);
}
}
&:nth-child(16) {
transform: rotate(45deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-45deg);
}
}
&:nth-child(17) {
transform: rotate(60deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-60deg);
}
}
&:nth-child(18) {
transform: rotate(75deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-75deg);
}
}
&:nth-child(19) {
transform: rotate(90deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-90deg);
}
}
&:nth-child(20) {
transform: rotate(105deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-105deg);
}
}
&:nth-child(21) {
transform: rotate(120deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-120deg);
}
}
&:nth-child(22) {
transform: rotate(135deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-135deg);
}
}
&:nth-child(23) {
transform: rotate(150deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-150deg);
}
}
&:nth-child(24) {
transform: rotate(165deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-165deg);
}
}
&.act { &.act {
&::after { &::after {
content: ''; content: '';
@ -1286,13 +1492,13 @@ $alert-color: #101010;
border-radius: 2px; border-radius: 2px;
background-color: transparent; background-color: transparent;
font-size: 12px; font-size: 12px;
color: #AAA; color: #aaa;
text-align: center; text-align: center;
cursor: default; cursor: default;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&.act { &.act {
background-color: #1083E3; background-color: #1083e3;
border: 1px solid #1083E3; border: 1px solid #1083e3;
color: #fff; color: #fff;
font-weight: 500; font-weight: 500;
} }
@ -1305,7 +1511,7 @@ $alert-color: #101010;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
background-image: url(../../public/static/images/canvas/module_tab_arr.svg); background-image: url(../../public/static/images/canvas/module_tab_arr.svg);
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&.act { &.act {
background-image: url(../../public/static/images/canvas/module_tab_arr_white.svg); background-image: url(../../public/static/images/canvas/module_tab_arr_white.svg);
} }
@ -1338,7 +1544,9 @@ $alert-color: #101010;
top: 22px; top: 22px;
} }
&.act { &.act {
i{color: #8B8B8B;} i {
color: #8b8b8b;
}
} }
} }
} }
@ -1370,7 +1578,7 @@ $alert-color: #101010;
height: 30px; height: 30px;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
transition: all .15s ease-in-out; transition: all 0.15s ease-in-out;
&:first-child { &:first-child {
border-left: 1px solid #505050; border-left: 1px solid #505050;
} }
@ -1384,7 +1592,7 @@ $alert-color: #101010;
.module-table-box { .module-table-box {
flex: 1; flex: 1;
background-color: #3D3D3D; background-color: #3d3d3d;
border-radius: 2px; border-radius: 2px;
.module-table-inner { .module-table-inner {
padding: 10px; padding: 10px;
@ -1397,7 +1605,7 @@ $alert-color: #101010;
padding: 10px 0; padding: 10px 0;
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
border-bottom: 1px solid #4D4D4D; border-bottom: 1px solid #4d4d4d;
} }
.eaves-keraba-table { .eaves-keraba-table {
width: 100%; width: 100%;
@ -1420,7 +1628,7 @@ $alert-color: #101010;
.warning-guide { .warning-guide {
padding: 20px; padding: 20px;
.warning { .warning {
color: #FFCACA; color: #ffcaca;
max-height: 55px; max-height: 55px;
overflow-y: auto; overflow-y: auto;
padding-right: 30px; padding-right: 30px;
@ -1429,7 +1637,7 @@ $alert-color: #101010;
background-color: transparent; background-color: transparent;
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
background-color: #D9D9D9; background-color: #d9d9d9;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
background-color: transparent; background-color: transparent;
@ -1440,7 +1648,7 @@ $alert-color: #101010;
.module-self-table { .module-self-table {
display: table; display: table;
border-top: 1px solid #4D4D4D; border-top: 1px solid #4d4d4d;
border-collapse: collapse; border-collapse: collapse;
width: 100%; width: 100%;
.self-table-item { .self-table-item {
@ -1449,7 +1657,7 @@ $alert-color: #101010;
.self-item-th { .self-item-th {
display: table-cell; display: table-cell;
vertical-align: middle; vertical-align: middle;
border-bottom: 1px solid #4D4D4D; border-bottom: 1px solid #4d4d4d;
} }
.self-item-th { .self-item-th {
width: 60px; width: 60px;
@ -1477,7 +1685,7 @@ $alert-color: #101010;
.hexagonal-wrap { .hexagonal-wrap {
.hexagonal-item { .hexagonal-item {
padding: 15px 0; padding: 15px 0;
border-bottom: 1px solid #4D4D4D; border-bottom: 1px solid #4d4d4d;
&:first-child { &:first-child {
padding-top: 0; padding-top: 0;
} }
@ -1515,7 +1723,7 @@ $alert-color: #101010;
background-color: transparent; background-color: transparent;
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
background-color: #D9D9D9; background-color: #d9d9d9;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
background-color: transparent; background-color: transparent;
@ -1533,7 +1741,7 @@ $alert-color: #101010;
gap: 5px; gap: 5px;
min-height: 60px; min-height: 60px;
padding: 12px; padding: 12px;
border: 1px solid rgba(255, 255, 255, 0.20); border: 1px solid rgba(255, 255, 255, 0.2);
span { span {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
@ -1566,7 +1774,7 @@ $alert-color: #101010;
background-color: transparent; background-color: transparent;
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
background-color: #D9D9D9; background-color: #d9d9d9;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
background-color: transparent; background-color: transparent;
@ -1625,10 +1833,10 @@ $alert-color: #101010;
height: 16px; height: 16px;
&.pink { &.pink {
border: 2px solid #ce1c9c; border: 2px solid #ce1c9c;
background-color: #16417D; background-color: #16417d;
} }
&.white { &.white {
border: 2px solid #FFF; border: 2px solid #fff;
background-color: #001027; background-color: #001027;
} }
} }
@ -1653,7 +1861,7 @@ $alert-color: #101010;
.react-colorful__pointer { .react-colorful__pointer {
width: 15px; width: 15px;
height: 15px; height: 15px;
border: 4px solid #Fff; border: 4px solid #fff;
} }
.react-colorful__saturation { .react-colorful__saturation {
border-radius: 2px; border-radius: 2px;
@ -1743,7 +1951,6 @@ $alert-color: #101010;
min-height: 80px; min-height: 80px;
background-color: #fff; background-color: #fff;
} }
} }
// 치수선 설정 // 치수선 설정
@ -1863,10 +2070,22 @@ $alert-color: #101010;
border-radius: 50%; border-radius: 50%;
} }
} }
&:nth-child(1){ top: 0; left: 0; } &:nth-child(1) {
&:nth-child(2){ top: 0; right: 0; } top: 0;
&:nth-child(3){ bottom: 0; left: 0; } left: 0;
&:nth-child(4){ bottom: 0; right: 0; } }
&:nth-child(2) {
top: 0;
right: 0;
}
&:nth-child(3) {
bottom: 0;
left: 0;
}
&:nth-child(4) {
bottom: 0;
right: 0;
}
} }
.size-box { .size-box {
position: absolute; position: absolute;
@ -1950,7 +2169,6 @@ $alert-color: #101010;
&.tab2 { &.tab2 {
margin-top: 10px; margin-top: 10px;
gap: 15px; gap: 15px;
} }
.module-flex-item { .module-flex-item {
flex: 1; flex: 1;
@ -1959,7 +2177,7 @@ $alert-color: #101010;
font-weight: 500; font-weight: 500;
color: #fff; color: #fff;
padding-bottom: 10px; padding-bottom: 10px;
border-bottom: 1px solid #4D4D4D; border-bottom: 1px solid #4d4d4d;
} }
.flex-item-btn-wrap { .flex-item-btn-wrap {
display: grid; display: grid;
@ -2007,12 +2225,12 @@ $alert-color: #101010;
} }
.module-bottom { .module-bottom {
padding-bottom: 15px; padding-bottom: 15px;
border-bottom: 1px solid #4D4D4D; border-bottom: 1px solid #4d4d4d;
} }
.reset-word { .reset-word {
font-size: 12px; font-size: 12px;
color: #FFCACA; color: #ffcaca;
font-weight: 400; font-weight: 400;
margin-top: 10px; margin-top: 10px;
} }