157 lines
5.8 KiB
JavaScript
157 lines
5.8 KiB
JavaScript
import { useAxios } from '@/hooks/useAxios'
|
|
import { useMessage } from '@/hooks/useMessage'
|
|
import { useSwal } from '@/hooks/useSwal'
|
|
import { getQueryString } from '@/util/common-utils'
|
|
|
|
/**
|
|
* 마스터 컨트롤러 훅
|
|
* @returns
|
|
*/
|
|
export function useMasterController() {
|
|
const { get } = useAxios()
|
|
const { getMessage } = useMessage()
|
|
const { swalFire } = useSwal()
|
|
|
|
/**
|
|
* 지붕재 목록 조회
|
|
* @returns
|
|
*/
|
|
const getRoofMaterialList = async () => {
|
|
return await get({ url: '/api/v1/master/getRoofMaterialList' }).then((res) => {
|
|
console.log('🚀🚀 ~ getRoofMaterialList ~ res:', res)
|
|
return res
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 모듈 타입별 아이템 목록 조회
|
|
* @param {지붕재 코드} roofMatlCd
|
|
* @returns
|
|
*/
|
|
const getModuleTypeItemList = async (roofMatlCd) => {
|
|
if (!roofMatlCd || roofMatlCd.trim() === '') {
|
|
swalFire({ text: getMessage('master.moduletypeitem.message.error'), type: 'alert', icon: 'error' })
|
|
return null
|
|
}
|
|
const param = { roofMatlCd: roofMatlCd }
|
|
const paramString = getQueryString(param)
|
|
return await get({ url: `/api/v1/master/getModuleTypeItemList${paramString}` }).then((res) => {
|
|
console.log('🚀🚀 ~ getModuleTypeItemList ~ res:', res)
|
|
return res
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 가대 목록 조회
|
|
* @param {모듈타입코드} moduleTpCd
|
|
* @param {지붕재코드} roofMatlCd
|
|
* @param {서까래기초코드} raftBaseCd
|
|
* @param {가대메이커코드} trestleMkrCd
|
|
* @param {공법코드} constMthdCd
|
|
* @param {지붕기초코드} roofBaseCd
|
|
* @returns
|
|
*/
|
|
const getTrestleList = async (params) => {
|
|
console.log('🚀🚀 ~ getTrestleList ~ params:', params)
|
|
params = getQueryString({
|
|
moduleTpCd: params.moduleTpCd ? params.moduleTpCd : '',
|
|
roofMatlCd: params.roofMatlCd ? params.roofMatlCd : '',
|
|
raftBaseCd: params.raftBaseCd ? params.raftBaseCd : '',
|
|
trestleMkrCd: params.trestleMkrCd ? params.trestleMkrCd : '',
|
|
constMthdCd: params.constMthdCd ? params.constMthdCd : '',
|
|
roofBaseCd: params.roofBaseCd ? params.roofBaseCd : '',
|
|
})
|
|
return await get({ url: '/api/v1/master/getTrestleList' + params }).then((res) => {
|
|
console.log('🚀🚀 ~ getTrestleList ~ res:', res)
|
|
return res
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 모듈 시공법 목록 조회
|
|
* @param {모듈타입코드} moduleTpCd
|
|
* @param {지붕재코드} roofMatlCd
|
|
* @param {가대메이커코드} trestleMkrCd
|
|
* @param {공법코드} constMthdCd
|
|
* @param {지붕기초코드} roofBaseCd
|
|
* @param {면조도} illuminationTp
|
|
* @param {설치높이} instHt
|
|
* @param {풍속} stdWindSpeed
|
|
* @param {적설량} stdSnowLd
|
|
* @param {경사도코드} inclCd
|
|
* @param {서까래기초코드} raftBaseCd
|
|
* @param {하제(망둥어)피치} roofPitch
|
|
*
|
|
* @returns
|
|
*/
|
|
const getConstructionList = async (params) => {
|
|
console.log('🚀🚀 ~ getConstructionList ~ params:', params)
|
|
params = getQueryString({
|
|
moduleTpCd: params.moduleTpCd ? params.moduleTpCd : '',
|
|
roofMatlCd: params.roofMatlCd ? params.roofMatlCd : '',
|
|
trestleMkrCd: params.trestleMkrCd ? params.trestleMkrCd : '',
|
|
constMthdCd: params.constMthdCd ? params.constMthdCd : '',
|
|
roofBaseCd: params.roofBaseCd ? params.roofBaseCd : '',
|
|
illuminationTp: params.illuminationTp ? params.illuminationTp : '',
|
|
instHt: params.instHt ? params.instHt : '',
|
|
stdWindSpeed: params.stdWindSpeed ? params.stdWindSpeed : '',
|
|
stdSnowLd: params.stdSnowLd ? params.stdSnowLd : '',
|
|
inclCd: params.inclCd ? params.inclCd : '',
|
|
raftBaseCd: params.raftBaseCd ? params.raftBaseCd : '',
|
|
roofPitch: params.roofPitch ? params.roofPitch : 0,
|
|
})
|
|
return await get({ url: '/api/v1/master/getConstructionList' + params }).then((res) => {
|
|
console.log('🚀🚀 ~ getConstructionList ~ res:', res)
|
|
return res
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 가대 상세 조회
|
|
* @param {모듈타입코드} moduleTpCd
|
|
* @param {지붕재코드} roofMatlCd
|
|
* @param {가대메이커코드} trestleMkrCd
|
|
* @param {공법코드} constMthdCd
|
|
* @param {지붕기초코드} roofBaseCd
|
|
* @param {면조도} illuminationTp
|
|
* @param {설치높이} instHt
|
|
* @param {풍속} stdWindSpeed
|
|
* @param {적설량} stdSnowLd
|
|
* @param {경사도코드} inclCd
|
|
* @param {시공법} constTp
|
|
* @param {혼합모듈번호} mixMatlNo
|
|
* @param {하제(망둥어)피치}roofPitch
|
|
* @returns
|
|
*/
|
|
const getTrestleDetailList = async (params) => {
|
|
console.log('🚀🚀 ~ getConstructionList ~ params:', params)
|
|
params = getQueryString({
|
|
moduleTpCd: params.moduleTpCd ? params.moduleTpCd : '',
|
|
roofMatlCd: params.roofMatlCd ? params.roofMatlCd : '',
|
|
trestleMkrCd: params.trestleMkrCd ? params.trestleMkrCd : '',
|
|
constMthdCd: params.constMthdCd ? params.constMthdCd : '',
|
|
roofBaseCd: params.roofBaseCd ? params.roofBaseCd : '',
|
|
illuminationTp: params.illuminationTp ? params.illuminationTp : '',
|
|
instHt: params.instHt ? params.instHt : '',
|
|
stdWindSpeed: params.stdWindSpeed ? params.stdWindSpeed : '',
|
|
stdSnowLd: params.stdSnowLd ? params.stdSnowLd : '',
|
|
inclCd: params.inclCd ? params.inclCd : '',
|
|
constTp: params.constTp ? params.constTp : '',
|
|
mixMatlNo: params.mixMatlNo ? params.mixMatlNo : 0,
|
|
roofPitch: params.roofPitch ? params.roofPitch : 0,
|
|
})
|
|
return await get({ url: '/api/v1/master/getTrestleDetailList' + params }).then((res) => {
|
|
console.log('🚀🚀 ~ getTrestleDetailList ~ res:', res)
|
|
return res
|
|
})
|
|
}
|
|
|
|
return {
|
|
getRoofMaterialList,
|
|
getModuleTypeItemList,
|
|
getTrestleList,
|
|
getConstructionList,
|
|
getTrestleDetailList,
|
|
}
|
|
}
|