156 lines
3.7 KiB
JavaScript
156 lines
3.7 KiB
JavaScript
//운영서비스 관리 - 메일 api 연결
|
|
|
|
import { Axios } from '../utils';
|
|
|
|
// 메일 리스트 조회
|
|
export const MailView = async (token, mailTitle, content, sendType, sendStatus, mailType, receiveType, sendDate, endDate, order, size, currentPage) => {
|
|
try {
|
|
const res = await Axios.get(
|
|
`/api/v1/mail/list?mail_title=${mailTitle}&content=${content}&send_type=${sendType}&send_status=${sendStatus}&mail_type=${mailType}&receive_type=${receiveType}&start_dt=${sendDate}&end_dt=${endDate}&orderby=${order}&page_no=${currentPage}
|
|
&page_size=${size}`,
|
|
{
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
},
|
|
);
|
|
|
|
return res.data.data;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailView Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 메일 상세보기
|
|
export const MailDetailView = async (token, id) => {
|
|
try {
|
|
const res = await Axios.get(`/api/v1/mail/detail/${id}`, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
});
|
|
|
|
return res.data.data.detail;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailDetailView Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
export const MailCaliumTotalView = async (token) => {
|
|
try {
|
|
const res = await Axios.get(`/api/v1/mail/calium`, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
});
|
|
|
|
return res.data.data.stock_calium;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailCaliumTotalView Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 우편 단일 등록
|
|
export const MailSingleRegist = async (token, params) => {
|
|
try {
|
|
const res = await Axios.post(`/api/v1/mail`, params, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
});
|
|
|
|
return res.data;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailRegist Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 우편 수정
|
|
export const MailModify = async (token, id, params) => {
|
|
try {
|
|
const res = await Axios.put(`/api/v1/mail/${id}`, params, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
});
|
|
|
|
return res.data;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailModify Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 우편 삭제
|
|
export const MailDelete = async (token, params, id) => {
|
|
try {
|
|
const res = await Axios.delete(`/api/v1/mail/delete`, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
data: { list: params },
|
|
});
|
|
|
|
return res.data;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailDelete Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 우편 다운로드
|
|
export const MailExcelDown = async (token, filename) => {
|
|
try {
|
|
await Axios.get(`/api/v1/mail/excel-down?file=${filename}`, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
responseType: 'blob',
|
|
}).then(response => {
|
|
const href = URL.createObjectURL(response.data);
|
|
|
|
const link = document.createElement('a');
|
|
link.href = href;
|
|
link.setAttribute('download', `${filename}`);
|
|
document.body.appendChild(link);
|
|
link.click();
|
|
|
|
document.body.removeChild(link);
|
|
URL.revokeObjectURL(href);
|
|
});
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailExcelDown Error', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 우편 업로드
|
|
export const MailMultiRegsit = async (token, file) => {
|
|
const exelFile = new FormData();
|
|
exelFile.append('file', file);
|
|
try {
|
|
const res = await Axios.post(`/api/v1/mail/excel-upload`, exelFile, {
|
|
headers: {
|
|
'Content-Type': 'multipart/form-data',
|
|
Authorization: `Bearer ${token}`,
|
|
},
|
|
});
|
|
return res;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailMultiRegsit', e);
|
|
}
|
|
}
|
|
};
|
|
|
|
// 우편 아이템 확인
|
|
export const MailIsItem = async (token, params) => {
|
|
try {
|
|
const res = await Axios.post(`/api/v1/mail/item`, params, {
|
|
headers: { Authorization: `Bearer ${token}` },
|
|
});
|
|
|
|
return res.data;
|
|
} catch (e) {
|
|
if (e instanceof Error) {
|
|
throw new Error('MailItemCheck Error', e);
|
|
}
|
|
}
|
|
}; |