|
|
@ -21,12 +21,27 @@ export const BasisDronDetailContainer = props => { |
|
|
|
const titleName = ' 기체 관리'; |
|
|
|
const titleName = ' 기체 관리'; |
|
|
|
const [pageType, setPageType] = useState('create'); |
|
|
|
const [pageType, setPageType] = useState('create'); |
|
|
|
const validationSchema = yup.object().shape({ |
|
|
|
const validationSchema = yup.object().shape({ |
|
|
|
arcrftModelNm: yup.string().trim().required('모델명 을 입력해 주세요.'), |
|
|
|
arcrftModelNm: yup.string().trim().required('모델명 을 입력해 주세요.') |
|
|
|
|
|
|
|
.max(20, '최대 20 자 이하 입력 부탁드립니다.') |
|
|
|
|
|
|
|
.matches( |
|
|
|
|
|
|
|
/^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/, |
|
|
|
|
|
|
|
'지원하지 않는 특수문자입니다.' |
|
|
|
|
|
|
|
), |
|
|
|
arcrftTypeCd: yup.string().trim().required('종류 를 선택해 주세요.'), |
|
|
|
arcrftTypeCd: yup.string().trim().required('종류 를 선택해 주세요.'), |
|
|
|
cameraYn: yup.string().trim().required('카메라 탑재여부 를 선택해 주세요.'), |
|
|
|
cameraYn: yup.string().trim().required('카메라 탑재여부 를 선택해 주세요.'), |
|
|
|
insrncYn: yup.string().trim().required('보험가입 여부를 선택해 주세요.'), |
|
|
|
insrncYn: yup.string().trim().required('보험가입 여부를 선택해 주세요.'), |
|
|
|
prdctCmpnNm: yup.string().trim().required('제작사 를 입력해 주세요.'), |
|
|
|
prdctCmpnNm: yup.string().trim().required('제작사 를 입력해 주세요.') |
|
|
|
prdctNum: yup.string().trim().required('제작번호 를 입력해 주세요.'), |
|
|
|
.max(20, '최대 20 자 이하 입력 부탁드립니다.') |
|
|
|
|
|
|
|
.matches( |
|
|
|
|
|
|
|
/^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/, |
|
|
|
|
|
|
|
'지원하지 않는 특수문자입니다.' |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
prdctNum: yup.string().trim().required('제작번호 를 입력해 주세요.') |
|
|
|
|
|
|
|
.max(20, '최대 20 자 이하 입력 부탁드립니다.') |
|
|
|
|
|
|
|
.matches( |
|
|
|
|
|
|
|
/^[가-힣a-zA-Z0-9][^!@#$%^&*()+\=\[\]{};':"\\|,.<>\/?\s]*$/, |
|
|
|
|
|
|
|
'지원하지 않는 특수문자입니다.' |
|
|
|
|
|
|
|
), |
|
|
|
wghtTypeCd: yup.string().trim().required('중량구분 을 선택해 주세요.'), |
|
|
|
wghtTypeCd: yup.string().trim().required('중량구분 을 선택해 주세요.'), |
|
|
|
// ownerNm: yup.string().trim().required('운영자명 을 입력해 주세요.'),
|
|
|
|
// ownerNm: yup.string().trim().required('운영자명 을 입력해 주세요.'),
|
|
|
|
// hpno: yup.string().trim().required('운영자 연락처 를 입력해 주세요.')
|
|
|
|
// hpno: yup.string().trim().required('운영자 연락처 를 입력해 주세요.')
|
|
|
@ -101,21 +116,21 @@ export const BasisDronDetailContainer = props => { |
|
|
|
const handlerImageChange = e => { |
|
|
|
const handlerImageChange = e => { |
|
|
|
const reader = new FileReader(), |
|
|
|
const reader = new FileReader(), |
|
|
|
files = e.target.files; |
|
|
|
files = e.target.files; |
|
|
|
if(!(files[0] == undefined)){ |
|
|
|
if (!(files[0] == undefined)) { |
|
|
|
if(!(files[0].size == 0)){ |
|
|
|
if (!(files[0].size == 0)) { |
|
|
|
const fileSize = files[0].size/1048576; |
|
|
|
const fileSize = files[0].size / 1048576; |
|
|
|
if(fileSize > 10) { |
|
|
|
if (fileSize > 10) { |
|
|
|
setModal({ |
|
|
|
setModal({ |
|
|
|
isOpen: true, |
|
|
|
isOpen: true, |
|
|
|
title: '이미지 용량 초과', |
|
|
|
title: '이미지 용량 초과', |
|
|
|
desc: '10MB 이하의 파일만 등록 가능합니다', |
|
|
|
desc: '10MB 이하의 파일만 등록 가능합니다', |
|
|
|
color: 'modal-danger' |
|
|
|
color: 'modal-danger' |
|
|
|
}) |
|
|
|
}) |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
saveFileAPI(files[0]); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
saveFileAPI(files[0]); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const handlerImageDelete = () => { |
|
|
|
const handlerImageDelete = () => { |
|
|
@ -195,13 +210,13 @@ export const BasisDronDetailContainer = props => { |
|
|
|
> |
|
|
|
> |
|
|
|
저장 |
|
|
|
저장 |
|
|
|
</Button.Ripple> |
|
|
|
</Button.Ripple> |
|
|
|
{pageType != 'create'? |
|
|
|
{pageType != 'create' ? |
|
|
|
( |
|
|
|
( |
|
|
|
<Button.Ripple color='danger' size='sm' onClick={handlerDelete} > |
|
|
|
<Button.Ripple color='danger' size='sm' onClick={handlerDelete} > |
|
|
|
삭제 |
|
|
|
삭제 |
|
|
|
</Button.Ripple> |
|
|
|
</Button.Ripple> |
|
|
|
) |
|
|
|
) |
|
|
|
: |
|
|
|
: |
|
|
|
( |
|
|
|
( |
|
|
|
<></> |
|
|
|
<></> |
|
|
|
) |
|
|
|
) |
|
|
|