558 lines
13 KiB
TypeScript
558 lines
13 KiB
TypeScript
/**
|
||
* @description 조사 매물 타입
|
||
*/
|
||
export type SurveyBasicInfo = {
|
||
/* 조사 매물 ID */
|
||
id: number
|
||
/* 담당자명 */
|
||
representative: string
|
||
/* 담당자 ID */
|
||
representativeId: string | null
|
||
/* 판매점명 */
|
||
store: string | null
|
||
/* 판매점 ID */
|
||
storeId: string | null
|
||
/* 시공점명 */
|
||
constructionPoint: string | null
|
||
/* 시공점 ID */
|
||
constructionPointId: string | null
|
||
/* 조사 일자 */
|
||
investigationDate: string | null
|
||
/* 건물 이름 */
|
||
buildingName: string | null
|
||
/* 고객명 */
|
||
customerName: string | null
|
||
/* 우편번호 */
|
||
postCode: string | null
|
||
/* 주소 (도도부현) */
|
||
address: string | null
|
||
/* 상세 주소 */
|
||
addressDetail: string | null
|
||
/* 제출 상태 */
|
||
submissionStatus: boolean
|
||
/* 제출 일시 */
|
||
submissionDate: string | null
|
||
/* 조사 매물 상세 데이터 */
|
||
detailInfo: SurveyDetailInfo | null
|
||
/* 등록 일시 */
|
||
regDt: Date
|
||
/* 수정 일시 */
|
||
uptDt: Date
|
||
/* 제출 대상 판매점 ID */
|
||
submissionTargetId: string | null
|
||
/* 제출 대상 판매점명 */
|
||
submissionTargetNm: string | null
|
||
/* 일련번호 */
|
||
srlNo: string | null
|
||
}
|
||
|
||
/**
|
||
* @description 조사 매물 상세 타입
|
||
*/
|
||
export type SurveyDetailInfo = {
|
||
/* 조사 매물 상세 ID */
|
||
id: number
|
||
/* 조사 매물 기본 데이터 ID */
|
||
basicInfoId: number
|
||
/* 전기계약 용량 */
|
||
contractCapacity: string | null
|
||
/* 전기 소매 회사 */
|
||
retailCompany: string | null
|
||
/* 전기 부대 설비 */
|
||
supplementaryFacilities: string | null // number 배열
|
||
/* 전기 부대 설비 기타 */
|
||
supplementaryFacilitiesEtc: string | null
|
||
/* 설치 희망 시스템 */
|
||
installationSystem: string | null
|
||
/* 설치 희망 시스템 기타 */
|
||
installationSystemEtc: string | null
|
||
/* 건축 년도 */
|
||
constructionYear: string | null
|
||
/* 건축 년도 기타 */
|
||
constructionYearEtc: string | null
|
||
/* 지붕재 - 다중 선택 가능 [number]*/
|
||
roofMaterial: string | null
|
||
/* 지붕재 기타 */
|
||
roofMaterialEtc: string | null
|
||
/* 지붕모양 */
|
||
roofShape: string | null
|
||
/* 지붕모양 기타 */
|
||
roofShapeEtc: string | null
|
||
/* 지붕 경사 */
|
||
roofSlope: string | null
|
||
/* 주택 구조 */
|
||
houseStructure: string | null
|
||
/* 주택 구조 기타 */
|
||
houseStructureEtc: string | null
|
||
/* 서까래 재질*/
|
||
rafterMaterial: string | null
|
||
/* 서까래 재질 기타 */
|
||
rafterMaterialEtc: string | null
|
||
/* 서까래 크기 */
|
||
rafterSize: string | null
|
||
/* 서까래 크기 기타 */
|
||
rafterSizeEtc: string | null
|
||
/* 서까래 피치 */
|
||
rafterPitch: string | null
|
||
/* 서까래 피치 기타 */
|
||
rafterPitchEtc: string | null
|
||
/* 서까래 방향 */
|
||
rafterDirection: string | null
|
||
/* 노지판의 종류 */
|
||
openFieldPlateKind: string | null
|
||
/* 노지판의 종류 기타 */
|
||
openFieldPlateKindEtc: string | null
|
||
/* 노지판의 두께 */
|
||
openFieldPlateThickness: string | null
|
||
/* 누수 흔적 */
|
||
leakTrace: boolean | null
|
||
/* 방수재 종류*/
|
||
waterproofMaterial: string | null
|
||
/* 방수재 종류 기타 */
|
||
waterproofMaterialEtc: string | null
|
||
/* 단열재 유무 */
|
||
insulationPresence: string | null
|
||
/* 단열재 유무 기타 */
|
||
insulationPresenceEtc: string | null
|
||
/* 지붕 구조의 순서*/
|
||
structureOrder: string | null
|
||
/* 지붕 구조의 순서 기타 */
|
||
structureOrderEtc: string | null
|
||
/* 지붕 제품명 설치 가능 여부 확인*/
|
||
installationAvailability: string | null
|
||
/* 지붕 제품명 설치 가능 여부 확인 기타 */
|
||
installationAvailabilityEtc: string | null
|
||
/* 메모 */
|
||
memo: string | null
|
||
/* 등록 일시 */
|
||
regDt: Date
|
||
/* 수정 일시 */
|
||
uptDt: Date
|
||
}
|
||
|
||
/**
|
||
* @description 조사 매물 생성 요청 파라미터 타입
|
||
*/
|
||
export type SurveyBasicRequest = {
|
||
/* 담당자명 */
|
||
representative: string
|
||
/* 담당자 ID */
|
||
representativeId: string | null
|
||
/* 판매점명 */
|
||
store: string | null
|
||
/* 판매점 ID */
|
||
storeId: string | null
|
||
/* 시공점명 */
|
||
constructionPoint: string | null
|
||
/* 시공점 ID */
|
||
constructionPointId: string | null
|
||
/* 조사 일자 */
|
||
investigationDate: string | null
|
||
/* 건물 이름 */
|
||
buildingName: string | null
|
||
/* 고객명 */
|
||
customerName: string | null
|
||
/* 우편번호 */
|
||
postCode: string | null
|
||
/* 주소 (도도부현) */
|
||
address: string | null
|
||
/* 상세 주소 */
|
||
addressDetail: string | null
|
||
/* 제출 상태 */
|
||
submissionStatus: boolean
|
||
/* 제출 일시 */
|
||
submissionDate: string | null
|
||
/* 제출 대상 판매점 ID */
|
||
submissionTargetId: string | null
|
||
/* 제출 대상 판매점명 */
|
||
submissionTargetNm: string | null
|
||
/* 일련번호 */
|
||
srlNo: string | null
|
||
}
|
||
|
||
/**
|
||
* @description 조사 매물 상세 요청 파라미터 타입
|
||
*/
|
||
export type SurveyDetailRequest = {
|
||
/* 전기계약 용량 */
|
||
contractCapacity: string | null
|
||
/* 전기 소매 회사 */
|
||
retailCompany: string | null
|
||
/* 전기 부대 설비 */
|
||
supplementaryFacilities: string | null // number 배열
|
||
/* 전기 부대 설비 기타 */
|
||
supplementaryFacilitiesEtc: string | null
|
||
/* 설치 희망 시스템 */
|
||
installationSystem: string | null
|
||
/* 설치 희망 시스템 기타 */
|
||
installationSystemEtc: string | null
|
||
/* 건축 년도 */
|
||
constructionYear: string | null
|
||
/* 건축 년도 기타 */
|
||
constructionYearEtc: string | null
|
||
/* 지붕재 - 다중 선택 가능 [number]*/
|
||
roofMaterial: string | null
|
||
/* 지붕재 기타 */
|
||
roofMaterialEtc: string | null
|
||
/* 지붕모양 */
|
||
roofShape: string | null
|
||
/* 지붕모양 기타 */
|
||
roofShapeEtc: string | null
|
||
/* 지붕 경사 */
|
||
roofSlope: string | null
|
||
/* 주택 구조 */
|
||
houseStructure: string | null
|
||
/* 주택 구조 기타 */
|
||
houseStructureEtc: string | null
|
||
/* 서까래 재질*/
|
||
rafterMaterial: string | null
|
||
/* 서까래 재질 기타 */
|
||
rafterMaterialEtc: string | null
|
||
/* 서까래 크기 */
|
||
rafterSize: string | null
|
||
/* 서까래 크기 기타 */
|
||
rafterSizeEtc: string | null
|
||
/* 서까래 피치 */
|
||
rafterPitch: string | null
|
||
/* 서까래 피치 기타 */
|
||
rafterPitchEtc: string | null
|
||
/* 서까래 방향 */
|
||
rafterDirection: string | null
|
||
/* 노지판의 종류 */
|
||
openFieldPlateKind: string | null
|
||
/* 노지판의 종류 기타 */
|
||
openFieldPlateKindEtc: string | null
|
||
/* 노지판의 두께 */
|
||
openFieldPlateThickness: string | null
|
||
/* 누수 흔적 */
|
||
leakTrace: boolean | null
|
||
/* 방수재 종류*/
|
||
waterproofMaterial: string | null
|
||
/* 방수재 종류 기타 */
|
||
waterproofMaterialEtc: string | null
|
||
/* 단열재 유무 */
|
||
insulationPresence: string | null
|
||
/* 단열재 유무 기타 */
|
||
insulationPresenceEtc: string | null
|
||
/* 지붕 구조의 순서*/
|
||
structureOrder: string | null
|
||
/* 지붕 구조의 순서 기타 */
|
||
structureOrderEtc: string | null
|
||
/* 지붕 제품명 설치 가능 여부 확인*/
|
||
installationAvailability: string | null
|
||
/* 지붕 제품명 설치 가능 여부 확인 기타 */
|
||
installationAvailabilityEtc: string | null
|
||
/* 메모 */
|
||
memo: string | null
|
||
}
|
||
|
||
/**
|
||
* @description 조사 매물 등록 요청 파라미터 타입
|
||
*/
|
||
export type SurveyRegistRequest = {
|
||
/* 담당자명 */
|
||
representative: string
|
||
/* 담당자 ID */
|
||
representativeId: string | null
|
||
/* 판매점명 */
|
||
store: string | null
|
||
/* 판매점 ID */
|
||
storeId: string | null
|
||
/* 시공점명 */
|
||
constructionPoint: string | null
|
||
/* 조사 일자 */
|
||
investigationDate: string | null
|
||
/* 건물 이름 */
|
||
buildingName: string | null
|
||
/* 고객명 */
|
||
customerName: string | null
|
||
/* 우편번호 */
|
||
postCode: string | null
|
||
/* 주소 (도도부현) */
|
||
address: string | null
|
||
/* 상세 주소 */
|
||
addressDetail: string | null
|
||
/* 제출 상태 */
|
||
submissionStatus: boolean
|
||
/* 제출 일시 */
|
||
submissionDate: string | null
|
||
/* 조사 매물 상세 데이터 */
|
||
detailInfo: SurveyDetailRequest | null
|
||
/* 제출 대상 판매점 ID */
|
||
submissionTargetId: string | null
|
||
/* 일련번호 */
|
||
srlNo: string | null
|
||
}
|
||
|
||
/**
|
||
* @description 조사 매물 페이지 모드
|
||
*/
|
||
export type Mode = 'CREATE' | 'EDIT' | 'READ' | 'SUBMIT'
|
||
|
||
export type SubmitTargetResponse = {
|
||
/* 제출 대상 판매점 ID */
|
||
targetStoreId: string
|
||
/* 제출 대상 판매점명 */
|
||
targetStoreNm: string
|
||
/* 담당자 ID */
|
||
repUserId: string
|
||
/* 담당자 이메일 */
|
||
repUserEmail: string
|
||
/* 권한 */
|
||
auth: string
|
||
}
|
||
|
||
/**
|
||
* @description 조사매물 검색 파라미터 타입
|
||
*/
|
||
export type SurveySearchParams = {
|
||
/** 검색 키워드 */
|
||
keyword?: string | null
|
||
/** 검색 옵션 */
|
||
searchOption?: string | null
|
||
/** 내 조사매물 여부 */
|
||
isMySurvey?: string | null
|
||
/** 정렬 옵션 */
|
||
sort?: string | null
|
||
/** 페이지 번호 */
|
||
offset?: string | null
|
||
/** 권한 */
|
||
role?: string | null
|
||
/** 판매점 ID */
|
||
storeId?: string | null
|
||
/** 시공점 ID */
|
||
builderId?: string | null
|
||
}
|
||
|
||
type RadioEtcKeys =
|
||
| 'structureOrder'
|
||
| 'houseStructure'
|
||
| 'rafterMaterial'
|
||
| 'waterproofMaterial'
|
||
| 'insulationPresence'
|
||
| 'rafterDirection'
|
||
| 'leakTrace'
|
||
type SelectBoxKeys =
|
||
| 'installationSystem'
|
||
| 'constructionYear'
|
||
| 'roofShape'
|
||
| 'rafterPitch'
|
||
| 'rafterSize'
|
||
| 'openFieldPlateKind'
|
||
| 'installationAvailability'
|
||
|
||
export const supplementaryFacilities = [
|
||
/** 에코큐트 */
|
||
{ id: 1, name: 'エコキュート' },
|
||
/** 에네팜 */
|
||
{ id: 2, name: 'エネパーム' },
|
||
/** 축전지시스템 */
|
||
{ id: 3, name: '蓄電池システム' },
|
||
/** 태양광발전 */
|
||
{ id: 4, name: '太陽光発電' },
|
||
]
|
||
|
||
export const roofMaterial = [
|
||
/** 슬레이트 */
|
||
{ id: 1, name: 'スレート' },
|
||
/** 아스팔트 싱글 */
|
||
{ id: 2, name: 'アスファルトシングル' },
|
||
/** 기와 */
|
||
{ id: 3, name: '瓦' },
|
||
/** 금속지붕 */
|
||
{ id: 4, name: '金属屋根' },
|
||
]
|
||
|
||
export const selectBoxOptions: Record<SelectBoxKeys, { id: number; name: string }[]> = {
|
||
installationSystem: [
|
||
{
|
||
/** 태양광발전 */
|
||
id: 1,
|
||
name: '太陽光発電',
|
||
},
|
||
{
|
||
/** 하이브리드축전지시스템 */
|
||
id: 2,
|
||
name: 'ハイブリッド蓄電システム',
|
||
},
|
||
{
|
||
/** 축전지시스템 */
|
||
id: 3,
|
||
name: '蓄電池システム',
|
||
},
|
||
],
|
||
constructionYear: [
|
||
{
|
||
/** 신축 */
|
||
id: 1,
|
||
name: '新築',
|
||
},
|
||
{
|
||
/** 기축 */
|
||
id: 2,
|
||
name: '既築',
|
||
},
|
||
],
|
||
roofShape: [
|
||
{
|
||
/** 박공지붕 */
|
||
id: 1,
|
||
name: '切妻',
|
||
},
|
||
{
|
||
/** 기동 */
|
||
id: 2,
|
||
name: '寄棟',
|
||
},
|
||
{
|
||
/** 한쪽흐름 */
|
||
id: 3,
|
||
name: '片流れ',
|
||
},
|
||
],
|
||
rafterSize: [
|
||
{
|
||
/** 35mm 이상×48mm 이상 */
|
||
id: 1,
|
||
name: '幅35mm以上×高さ48mm以上',
|
||
},
|
||
{
|
||
/** 36mm 이상×46mm 이상 */
|
||
id: 2,
|
||
name: '幅36mm以上×高さ46mm以上',
|
||
},
|
||
{
|
||
/** 37mm 이상×43mm 이상 */
|
||
id: 3,
|
||
name: '幅37mm以上×高さ43mm以上',
|
||
},
|
||
{
|
||
/** 38mm 이상×40mm 이상 */
|
||
id: 4,
|
||
name: '幅38mm以上×高さ40mm以上',
|
||
},
|
||
],
|
||
rafterPitch: [
|
||
{
|
||
/** 455mm 이하 */
|
||
id: 1,
|
||
name: '455mm以下',
|
||
},
|
||
{
|
||
/** 500mm 이하 */
|
||
id: 2,
|
||
name: '500mm以下',
|
||
},
|
||
{
|
||
/** 606mm 이하 */
|
||
id: 3,
|
||
name: '606mm以下',
|
||
},
|
||
],
|
||
openFieldPlateKind: [
|
||
{
|
||
/** 구조용합판 */
|
||
id: 1,
|
||
name: '構造用合板',
|
||
},
|
||
{
|
||
/** OSB */
|
||
id: 2,
|
||
name: 'OSB',
|
||
},
|
||
{
|
||
/** 파티클보드 */
|
||
id: 3,
|
||
name: 'パーティクルボード',
|
||
},
|
||
{
|
||
/** 소판 */
|
||
id: 4,
|
||
name: '小幅板',
|
||
},
|
||
],
|
||
installationAvailability: [
|
||
{
|
||
/** 확인완료 */
|
||
id: 1,
|
||
name: '確認済み',
|
||
},
|
||
{
|
||
/** 미확인 */
|
||
id: 2,
|
||
name: '未確認',
|
||
},
|
||
],
|
||
}
|
||
|
||
export const radioEtcData: Record<RadioEtcKeys, { id: number; label: string }[]> = {
|
||
structureOrder: [
|
||
{
|
||
/** 지붕재 - 방수재 - 지붕의기초 - 서까래 */
|
||
id: 1,
|
||
label: '屋根材 > 防水材 > 屋根の基礎 > 垂木',
|
||
},
|
||
],
|
||
houseStructure: [
|
||
{
|
||
/** 목재 */
|
||
id: 1,
|
||
label: '木製',
|
||
},
|
||
],
|
||
rafterMaterial: [
|
||
{
|
||
/** 목재 */
|
||
id: 1,
|
||
label: '木製',
|
||
},
|
||
{
|
||
/** 강재 */
|
||
id: 2,
|
||
label: '強制',
|
||
},
|
||
],
|
||
waterproofMaterial: [
|
||
{
|
||
/** 아스팔트 지붕 940(22kg 이상) */
|
||
id: 1,
|
||
label: 'アスファルト屋根940(22kg以上)',
|
||
},
|
||
],
|
||
insulationPresence: [
|
||
{
|
||
/** 없음 */
|
||
id: 1,
|
||
label: 'なし',
|
||
},
|
||
{
|
||
/** 있음 */
|
||
id: 2,
|
||
label: 'あり',
|
||
},
|
||
],
|
||
rafterDirection: [
|
||
{
|
||
/** 수직 */
|
||
id: 1,
|
||
label: '垂直垂木',
|
||
},
|
||
{
|
||
/** 수평 */
|
||
id: 2,
|
||
label: '水平垂木',
|
||
},
|
||
],
|
||
leakTrace: [
|
||
{
|
||
/** 있음 */
|
||
id: 1,
|
||
label: 'あり',
|
||
},
|
||
{
|
||
/** 없음 */
|
||
id: 2,
|
||
label: 'なし',
|
||
},
|
||
],
|
||
} |