Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
yoosangwook 2024-10-07 14:03:47 +09:00
commit 4638846030
6 changed files with 87 additions and 264 deletions

View File

@ -17,7 +17,10 @@ import { appMessageStore, globalLocaleStore } from '@/store/localeAtom'
import KO from '@/locales/ko.json'
import JA from '@/locales/ja.json'
import '@/styles/grid.scss'
import { sessionStore } from '@/store/commonAtom'
export default function Stuff() {
const sessionState = useRecoilValue(sessionStore)
const [appMessageState, setAppMessageState] = useRecoilState(appMessageStore)
const stuffSearchParams = useRecoilValue(stuffSearchState)
const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState)
@ -50,7 +53,6 @@ export default function Stuff() {
//
const onDoubleClick = (e) => {
let objectNo = e.target.innerText
console.log(objectNo)
if (objectNo.substring(0, 1) === 'R') {
console.log('진짜')
router.push(`${pathname}/detail?objectNo=${objectNo.toString()}`)
@ -75,7 +77,6 @@ export default function Stuff() {
headerCheckboxSelectionCurrentPageOnly: true, //
checkboxSelection: true,
showDisabledCheckboxes: true,
// headerClass: 'centered', //_test.scss
// .centered {
// .ag-header-cell-label {
// justify-content: center !important;
@ -248,7 +249,6 @@ export default function Stuff() {
schAddress: '',
schObjectName: '',
schSaleStoreName: '',
schSpecDateYn: '',
schReceiveUser: '',
schDispCompanyName: '',
schDateType: 'U',
@ -276,6 +276,7 @@ export default function Stuff() {
// let size
// let pageCount
// console.log('::::::::::', sessionState)
// const apiUrl = `/api/object/list?saleStoreId=201TES01&${queryStringFormatter(params)}`
const apiUrl = `/api/object/list?saleStoreId=X167&${queryStringFormatter(params)}`
await get({
@ -296,7 +297,9 @@ export default function Stuff() {
stuffSearchParams.startRow = (curPage - 1) * defaultSize + 1
stuffSearchParams.endRow = curPage * defaultSize
stuffSearchParams.schSortType = defaultSortType
console.log('조회누름::::::::', stuffSearchParams)
async function fetchData() {
// console.log(':::::::::::::', sessionState)
// const apiUrl = `/api/object/list?saleStoreId=201TES01&${queryStringFormatter(stuffSearchParams)}`
const apiUrl = `/api/object/list?saleStoreId=X167&${queryStringFormatter(stuffSearchParams)}`
await get({ url: apiUrl }).then((res) => {
@ -327,7 +330,7 @@ export default function Stuff() {
endRow: curPage * e.target.value,
})
console.log('페이지 갯수 변경 때 셋팅된 검색조건:::', stuffSearchParams)
//API
// console.log(':::', sessionState)
// const apiUrl = `/api/object/list?saleStoreId=201TES01&${queryStringFormatter(stuffSearchParams)}`
const apiUrl = `/api/object/list?saleStoreId=X167&${queryStringFormatter(stuffSearchParams)}`
get({ url: apiUrl }).then((res) => {
@ -351,6 +354,7 @@ export default function Stuff() {
code: 'S',
schSortType: e.target.value,
})
// console.log('::::::::::::', sessionState)
// const apiUrl = `/api/object/list?saleStoreId=201TES01&${queryStringFormatter(stuffSearchParams)}`
const apiUrl = `/api/object/list?saleStoreId=X167&${queryStringFormatter(stuffSearchParams)}`
get({ url: apiUrl }).then((res) => {

View File

@ -3,7 +3,7 @@
import React, { useState, useEffect } from 'react'
import { useRouter, useSearchParams } from 'next/navigation'
import { Button } from '@nextui-org/react'
// import Select from 'react-dropdown-select'
import Select from 'react-dropdown-select'
import Link from 'next/link'
import { useAxios } from '@/hooks/useAxios'
import { globalLocaleStore } from '@/store/localeAtom'
@ -34,14 +34,14 @@ export default function StuffDetail() {
prefId: '', //
prefName: '',
address: '', //
powerSimArea: '', //
areaId: '', //new
windSpeed: '', //
snowCover: '', //
coldAreaChk: false, //
verticalSnowCover: '', //NEW
coldRegionFlg: false, //(true : 1 / false : 0)
surfaceType: 'III・IV', //(IIIIV / )
saltAreaChk: false, //
saltAreaFlg: false, // (true : 1 / false : 0)
installHeight: '', //
powerConTerms: '0', //( / )
conType: '0', //( / )
remarks: '', //
tempFlag: 'T', //(1) (0)
}
@ -56,7 +56,7 @@ export default function StuffDetail() {
const [saleStoreList, setSaleStoreList] = useState([]) //
const [otherSaleStoreList, setOtherSaleStoreList] = useState([])
const [powerSimAreaList, setPowerSimAreaList] = useState([]) //
const [areaIdList, setAreaIdList] = useState([]) // NEW
const [isFormValid, setIsFormValid] = useState(false) //,
const [buttonValid, setButtonValid] = useState(false) //
@ -176,14 +176,14 @@ export default function StuffDetail() {
// zipNo: '', //
// prefId: '', //
// address: '', //
// powerSimArea: '', //
// areaId: '', //new
// windSpeed: '', //
// snowCover: '', //
// coldAreaChk: false, //
// verticalSnowCover: '', //
// coldRegionFlg: false, //
// surfaceType: '', //( / )
// saltAreaChk: false, //
// saltAreaFlg: false, //
// installHeight: '', //
// powerConTerms: '0', //( / )
// conType : '0' //( / )
// remarks: '', //
// tempFlag: 'T', //(1) (0)
const _dispCompanyName = watch('dispCompanyName')
@ -193,9 +193,9 @@ export default function StuffDetail() {
const _otherSaleStoreId = watch('otherSaleStoreId')
const _prefId = watch('prefId')
const _address = watch('address')
const _powerSimArea = watch('powerSimArea')
const _areaId = watch('areaId') //new
const _windSpeed = watch('windSpeed')
const _snowCover = watch('snowCover')
const _verticalSnowCover = watch('verticalSnowCover')
const _installHeight = watch('installHeight')
useEffect(() => {
@ -233,16 +233,16 @@ export default function StuffDetail() {
errors.address = true
}
if (!_powerSimArea) {
errors.powerSimArea = true
if (!_areaId) {
errors.areaId = true
}
if (!_windSpeed) {
errors.windSpeed = true
}
if (!_snowCover) {
errors.snowCover = true
if (!_verticalSnowCover) {
errors.verticalSnowCover = true
}
if (!_installHeight) {
@ -263,9 +263,9 @@ export default function StuffDetail() {
_zipNo,
_prefId,
_address,
_powerSimArea,
_areaId,
_windSpeed,
_snowCover,
_verticalSnowCover,
_installHeight,
])
@ -293,8 +293,8 @@ export default function StuffDetail() {
form.setValue('address', '')
form.setValue('zipNo', '')
setPrefValue('')
setPowerSimAreaList([])
form.setValue('powerSimArea', '')
setAreaIdList([])
form.setValue('areaId', '')
}
} else {
alert(res.message)
@ -310,7 +310,7 @@ export default function StuffDetail() {
get({ url: `/api/object/prefecture/${prefValue}/list` }).then((res) => {
if (!isEmptyArray(res)) {
console.log('발전량 시뮬레이션::::::::', res)
setPowerSimAreaList(res)
setAreaIdList(res)
}
})
}
@ -329,7 +329,7 @@ export default function StuffDetail() {
// const _zipNo = watch('zipNo')
// const _prefId = watch('prefId')
// const _address = watch('address')
// const _coldAreaChk = watch('coldAreaChk')
// const _coldRegionFlg = watch('coldRegionFlg')
// console.log(_dispCompanyName)
// console.log(_objectStatusId)
// console.log(_objectNameOmit)
@ -337,7 +337,7 @@ export default function StuffDetail() {
// console.log(_prefId)
// console.log('prefValue::', prefValue)
// console.log(_address)
// console.log('_coldAreaChk::', _coldAreaChk)
// console.log('_coldRegionFlg::', _coldRegionFlg)
}
// form required
@ -362,15 +362,15 @@ export default function StuffDetail() {
prefId: formData.prefId,
prefName: formData.prefName,
address: formData.address,
powerSimArea: formData.powerSimArea,
areaId: formData.areaId,
receiveUser: formData.dispCompanyName,
installHeight: formData.installHeight,
windSpeed: formData.windSpeed,
snowCover: formData.snowCover,
verticalSnowCover: formData.verticalSnowCover,
surfaceType: formData.surfaceType,
powerConTerms: formData.powerConTerms,
coldAreaChk: formData.coldAreaChk,
saltAreaChk: formData.saltAreaChk,
conType: formData.conType,
coldRegionFlg: formData.coldRegionFlg,
saltAreaFlg: formData.saltAreaFlg,
tempFlg: '1',
workNo: null,
workName: null,
@ -383,10 +383,10 @@ export default function StuffDetail() {
}
//
const handlePowerSimAreaOnChange = (e) => {
const handleAreaIdOnChange = (e) => {
// console.log(' :::::::::', prefValue)
console.log('발전량시뮬레이션변경:::::::::', e.target.value)
form.setValue('powerSimArea', e.target.value)
form.setValue('areaId', e.target.value)
// set useEffect , api
}
@ -588,9 +588,9 @@ export default function StuffDetail() {
</th>
<td>
<div className="select-wrap" style={{ width: '200px' }}>
{powerSimAreaList?.length > 0 && (
<select className="select-light" name="powerSimArea" onChange={handlePowerSimAreaOnChange}>
{powerSimAreaList.map((row) => {
{areaIdList?.length > 0 && (
<select className="select-light" name="areaId" onChange={handleAreaIdOnChange}>
{areaIdList.map((row) => {
return (
<option key={row.prefName} value={row.prefId}>
{row.prefName}
@ -617,6 +617,7 @@ export default function StuffDetail() {
</select>
</div>
<span>m/s이하</span>
<button className="btn-origin grey mr5">풍속선택</button>
</div>
</td>
</tr>
@ -627,7 +628,7 @@ export default function StuffDetail() {
<td>
<div className="flx-box">
<div className="select-wrap mr10" style={{ width: '200px' }}>
<select className="select-light" name="snowCover" {...register('snowCover')}>
<select className="select-light" name="verticalSnowCover" {...register('verticalSnowCover')}>
<option value="">수직적설량코드?</option>
<option value="30">30</option>
<option value="40">40</option>
@ -635,8 +636,8 @@ export default function StuffDetail() {
</div>
<span className="mr10">cm</span>
<div className="d-check-box light">
<input type="checkbox" id="coldAreaChk" {...form.register('coldAreaChk')} />
<label htmlFor="coldAreaChk">한랭지대책시행</label>
<input type="checkbox" id="coldRegionFlg" {...form.register('coldRegionFlg')} />
<label htmlFor="coldRegionFlg">한랭지대책시행</label>
</div>
</div>
</td>
@ -656,8 +657,8 @@ export default function StuffDetail() {
<label htmlFor="surfaceType1"></label>
</div>
<div className="d-check-box light mr5">
<input type="checkbox" id="saltAreaChk" {...form.register('saltAreaChk')} />
<label htmlFor="saltAreaChk">염해지역용아이템사용</label>
<input type="checkbox" id="saltAreaFlg" {...form.register('saltAreaFlg')} />
<label htmlFor="saltAreaFlg">염해지역용아이템사용</label>
</div>
<div className="tooltips"></div>
</div>
@ -686,12 +687,12 @@ export default function StuffDetail() {
<td>
<div className="flx-box">
<div className="d-check-radio light mr10">
<input type="radio" name="powerConTerms" value="0" id="powerConTerms0" {...form.register('powerConTerms')} />
<label htmlFor="powerConTerms0">잉여</label>
<input type="radio" name="conType" value="0" id="conType0" {...form.register('conType')} />
<label htmlFor="conType0">잉여</label>
</div>
<div className="d-check-radio light mr10">
<input type="radio" name="powerConTerms" value="1" id="powerConTerms1" {...form.register('powerConTerms')} />
<label htmlFor="powerConTerms1">전량</label>
<input type="radio" name="conType" value="1" id="conType1" {...form.register('conType')} />
<label htmlFor="conType1">전량</label>
</div>
</div>
</td>

View File

@ -3,19 +3,23 @@
import React, { useEffect, useRef, useState } from 'react'
import { useAxios } from '@/hooks/useAxios'
import { useRecoilState, useRecoilValue, useResetRecoilState } from 'recoil'
import { globalLocaleStore } from '@/store/localeAtom'
import { appMessageStore, globalLocaleStore } from '@/store/localeAtom'
import Select from 'react-dropdown-select'
import KO from '@/locales/ko.json'
import JA from '@/locales/ja.json'
import { stuffSearchState } from '@/store/stuffAtom'
import { isEmptyArray } from '@/util/common-utils'
import dayjs from 'dayjs'
import isLeapYear from 'dayjs/plugin/isLeapYear' //
dayjs.extend(isLeapYear)
import Link from 'next/link'
import SingleDatePicker from '../common/datepicker/SingleDatePicker'
import { sessionStore } from '@/store/commonAtom'
import { useMessage } from '@/hooks/useMessage'
export default function StuffSearchCondition() {
const globalLocaleState = useRecoilValue(globalLocaleStore)
const sessionState = useRecoilValue(sessionStore)
const [appMessageState, setAppMessageState] = useRecoilState(appMessageStore)
const globalLocaleState = useRecoilValue(globalLocaleStore)
const { getMessage } = useMessage()
const ref = useRef()
const { get } = useAxios(globalLocaleState)
@ -41,7 +45,6 @@ export default function StuffSearchCondition() {
const [address, setAddress] = useState('') //
const [objectName, setobjectName] = useState('') //
const [saleStoreName, setSaleStoreName] = useState('') //
const [specDateYn, setSpecDateYn] = useState('') // ('', 'Y', 'N')
const [receiveUser, setReceiveUser] = useState('') //
const [dispCompanyName, setDispCompanyName] = useState('') //
const [dateType, setDateType] = useState('U') //(U)/(R)
@ -52,7 +55,7 @@ export default function StuffSearchCondition() {
const onSubmit = () => {
let diff = dayjs(endDate).diff(startDate, 'day')
if (diff > 366) {
return alert('최대1년 조회 가능합니다.')
return alert(getMessage('stuff.message.periodError'))
}
setStuffSearch({
@ -61,7 +64,6 @@ export default function StuffSearchCondition() {
schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress : address,
schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName : objectName,
schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName,
schSpecDateYn: stuffSearch?.schSpecDateYn ? stuffSearch.schSpecDateYn : specDateYn,
schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser,
schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName,
schDateType: stuffSearch?.schDateType ? stuffSearch.schDateType : dateType,
@ -82,7 +84,6 @@ export default function StuffSearchCondition() {
setAddress('')
setobjectName('')
setSaleStoreName('')
setSpecDateYn('')
setReceiveUser('')
setDispCompanyName('')
setDateType('U')
@ -94,6 +95,7 @@ export default function StuffSearchCondition() {
}
useEffect(() => {
// console.log('::::::::', sessionState)
get({ url: `/api/object/saleStore/201TES01/list` }).then((res) => {
if (!isEmptyArray(res)) {
// console.log(' :::::', res)
@ -127,6 +129,14 @@ export default function StuffSearchCondition() {
setEndDate(stuffSearch?.schToDt ? stuffSearch.schToDt : dayjs(new Date()).format('YYYY-MM-DD'))
}, [stuffSearch])
useEffect(() => {
if (globalLocaleState === 'ko') {
setAppMessageState(KO)
} else {
setAppMessageState(JA)
}
}, [globalLocaleState])
return (
<>
{/* 퍼블적용시작 */}
@ -138,7 +148,7 @@ export default function StuffSearchCondition() {
<div className="left-unit-box">
<Link href="/management/stuff/tempdetail">
<button type="button" className="btn-origin navy mr5">
물건신규등록버튼
물건신규등록
</button>
</Link>
<button type="button" className="btn-origin navy mr5" onClick={onSubmit}>
@ -244,19 +254,9 @@ export default function StuffSearchCondition() {
<select className="select-light" name="" id=""></select>
</div> */}
{schSelSaleStoreList?.length > 0 && (
// <Autocomplete
// className="max-w-xs"
// label=""
// defaultItems={schSelSaleStoreList}
// selectedKey={stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : schSelSaleStoreId}
// onSelectionChange={onSelectionChange}
// >
// {(option) => <AutocompleteItem key={option.saleStoreId}>{option.saleStoreName}</AutocompleteItem>}
// </Autocomplete>
<Select
options={schSelSaleStoreList}
value={stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : schSelSaleStoreId}
// value={schSelSaleStoreId}
labelField="saleStoreName"
valueField="saleStoreName"
onChange={onSelectionChange}
@ -333,189 +333,6 @@ export default function StuffSearchCondition() {
</div>
</div>
{/* 퍼블적용끝 */}
{/* <div align="right">
<Link href="/management/stuff/tempdetail">
<button type="button">물건신규등록</button>
</Link>
<Button size="sm" onClick={onSubmit}>
조회
</Button>
<Button size="sm" onClick={resetRecoil}>
초기화
</Button>
</div>
<div className="w-full flex flex-col gap-4">
{Array(4)
.fill()
.map((_, i) => {
if (i === 0) {
return (
<div key={i} className="flex w-full flex-wrap md:flex-nowrap mb-6 md:mb-0 gap-4">
<input
type="text"
placeholder="물건번호 입력"
value={stuffSearch?.code === 'E' ? stuffSearch.schObjectNo : objectNo}
onChange={(e) => {
setObjectNo(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schObjectNo: e.target.value })
}}
/>
<input
type="text"
placeholder="판매대리점ID 입력"
value={stuffSearch?.schSaleStoreId ? stuffSearch.schSaleStoreId : saleStoreId}
onChange={(e) => {
setSaleStoreId(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schSaleStoreId: e.target.value })
}}
/>
<input
type="text"
placeholder="물건주소 입력"
value={stuffSearch?.schAddress ? stuffSearch.schAddress : address}
onChange={(e) => {
setAddress(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schAddress: e.target.value })
}}
/>
</div>
)
} else if (i === 1) {
return (
<div key={i} className="flex w-full flex-wrap md:flex-nowrap mb-6 md:mb-0 gap-4">
<input
type="text"
placeholder="물건명 입력"
value={stuffSearch?.schObjectName ? stuffSearch.schObjectName : objectName}
onChange={(e) => {
setobjectName(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schObjectName: e.target.value })
}}
/>
<input
type="text"
placeholder="물건명 입력"
value={stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName}
onChange={(e) => {
setSaleStoreName(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schSaleStoreName: e.target.value })
}}
/>
<div>
<input
type="radio"
name="radio_sayang"
id="radio_all"
checked={stuffSearch?.schSpecDateYn === '' ? true : false}
value={''}
onChange={(e) => {
setSpecDateYn(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schSpecDateYn: e.target.value })
}}
/>
<label htmlFor="radio_all">ALL</label>
</div>
<div>
<input
type="radio"
name="radio_sayang"
id="radio_y"
checked={stuffSearch?.schSpecDateYn === 'Y' ? true : false}
value={'Y'}
onChange={(e) => {
setSpecDateYn(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schSpecDateYn: e.target.value })
}}
/>
<label htmlFor="radio_y">사양 확인</label>
</div>
<div>
<input
type="radio"
name="radio"
id="radio_n"
checked={stuffSearch?.schSpecDateYn === 'N' ? true : false}
value={'N'}
onChange={(e) => {
setSpecDateYn(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schSpecDateYn: e.target.value })
}}
/>
<label htmlFor="radio_n">사양 미확인</label>
</div>
</div>
)
} else if (i === 2) {
return (
<div key={i} className="flex w-full flex-wrap md:flex-nowrap mb-6 md:mb-0 gap-4">
<input
type="text"
placeholder="담당자 입력"
value={stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser}
onChange={(e) => {
setReceiveUser(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schReceiveUser: e.target.value })
}}
/>
<input
type="text"
placeholder="견적처 입력"
value={stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName}
onChange={(e) => {
setDispCompanyName(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schDispCompanyName: e.target.value })
}}
/>
{schSelSaleStoreList?.length > 0 && (
<Autocomplete
className="max-w-xs"
label="판매대리점선택"
defaultItems={schSelSaleStoreList}
selectedKey={stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : schSelSaleStoreId}
onSelectionChange={onSelectionChange}
>
{(option) => <AutocompleteItem key={option.saleStoreId}>{option.saleStoreName}</AutocompleteItem>}
</Autocomplete>
)}
</div>
)
} else {
return (
<div key={i} className="flex w-full flex-wrap md:flex-nowrap mb-6 md:mb-0 gap-4">
<div>
<input
type="radio"
name="radio_ptype"
id="radio_u"
checked={stuffSearch?.schDateType === 'U' ? true : false}
value={'U'}
onChange={(e) => {
setDateType(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schDateType: e.target.value })
}}
/>
<label htmlFor="radio_u">갱신일</label>
</div>
<div>
<input
type="radio"
name="radio_ptype"
id="radio_r"
checked={stuffSearch?.schDateType === 'R' ? true : false}
value={'R'}
onChange={(e) => {
setDateType(e.target.value)
setStuffSearch({ ...stuffSearch, code: 'S', schDateType: e.target.value })
}}
/>
<label htmlFor="radio_r">등록일</label>
</div>
<RangeDatePicker {...rangeDatePickerProps} />
</div>
)
}
})}
</div> */}
</>
)
}

View File

@ -285,17 +285,18 @@
"join.complete.contents": "※ 신청한 ID가 승인되면, 담당자 정보에 입력한 이메일 주소로 로그인 관련 안내 메일이 전송됩니다.",
"join.complete.email_comment": "담당자 이메일 주소",
"join.complete.email": "test@naver.com",
"stuff.gridHeader.lastEditDatetime": "갱신일시",
"stuff.gridHeader.objectNo": "물건번호",
"stuff.gridHeader.planTotCnt": "플랜 수",
"stuff.gridHeader.objectName": "물건명",
"stuff.gridHeader.saleStoreId": "대리점ID",
"stuff.gridHeader.saleStoreName": "대리점명",
"stuff.gridHeader.address": "물건주소",
"stuff.gridHeader.dispCompanyName": "견적처",
"stuff.gridHeader.receiveUser": "담당자",
"stuff.gridHeader.specDate": "사양확인",
"stuff.gridHeader.createDatetime": "등록일",
"stuff.gridHeader.lastEditDatetime": "更新日時",
"stuff.gridHeader.objectNo": "品番",
"stuff.gridHeader.planTotCnt": "プラン数",
"stuff.gridHeader.objectName": "商品名",
"stuff.gridHeader.saleStoreId": "代理店ID",
"stuff.gridHeader.saleStoreName": "代理店名",
"stuff.gridHeader.address": "商品アドレス",
"stuff.gridHeader.dispCompanyName": "見積もり",
"stuff.gridHeader.receiveUser": "担当者",
"stuff.gridHeader.specDate": "仕様確認日",
"stuff.gridHeader.createDatetime": "登録日",
"stuff.message.periodError": "最大1年間閲覧可能.",
"length": "長さ",
"slope": "傾斜",
"eaves.offset": "軒の",

View File

@ -301,8 +301,9 @@
"stuff.gridHeader.address": "물건주소",
"stuff.gridHeader.dispCompanyName": "견적처",
"stuff.gridHeader.receiveUser": "담당자",
"stuff.gridHeader.specDate": "사양확인",
"stuff.gridHeader.specDate": "사양확인",
"stuff.gridHeader.createDatetime": "등록일",
"stuff.message.periodError": "최대1년 조회 가능합니다.",
"length": "길이",
"slope": "경사",
"eaves.offset": "처마 출폭",

View File

@ -10,7 +10,6 @@ export const stuffSearchState = atom({
schAddress: '', //물건주소
schObjectName: '', //물건명
schSaleStoreName: '', //판매대리점명
schSpecDateYn: '', //사양타입 ('', 'Y', 'N')
schReceiveUser: '', //담당자
schDispCompanyName: '', //견적처
schDateType: 'U', //갱신일(U)/등록일(R)