import { useMessage } from '@eciol/ant-ui'; import { request } from '@eciol/request'; import { blobToJson, downloadByData, replaceVariables } from '@eciol/shared'; import { useUserStoreWithOut } from '@/store'; import { generateFileName } from '@/utils'; import { BeginBalanceService } from './typing'; enum Api { GetBBProjectList = '/api/BBProject/BBSalOrderQueryPage', ExportBBProjectList = '/api/BBProject/{orgid}/export-bbsaleorder-check', GetBBPrepaymentList = '/api/BBPrepayment/BBPrepaymentQueryPage', ExportBBPrepaymentList = '/api/BBPrepayment/{orgid}/export-bbprepayment-check', GetBBUnpaidList = '/api/BBUnpaid/BBUnpaidPaymentQueryPage', ExportBBUnpaidList = '/api/BBUnpaid/{orgid}/export-bbunpaid-check', GetBBInterList = '/api/BBInter/BBInterQueryPage', ExportBBInterList = '/api/BBInter/{orgid}/export-bbinter-check', getBBOuterList = '/api/BBExter/BBExterQueryPage', ExportBBOuterList = '/api/BBExter/{orgid}/export-bbexter-check', } /** * 获取订单信息列表 * @param data */ function getBBProjectList(data) { const { getCompanyId } = useUserStoreWithOut(); return request.post( { url: Api.GetBBProjectList, data: { orgID: getCompanyId, ...data }, }, { showLoading: true, }, ); } /** * 订单信息列表导出 */ async function exportBBProjectList() { const { createMessage } = useMessage(); const { getCompanyId } = useUserStoreWithOut(); const _data = await request.post( { url: replaceVariables(Api.ExportBBProjectList, { orgid: getCompanyId }), responseType: 'blob', }, { showLoading: true, successMessage: '导出成功', successMessageMode: 'message', isTransformResponse: false, }, ); if (_data.type === 'application/json') { const result = await blobToJson(_data); createMessage.error(result.message); return false; } downloadByData(_data, generateFileName({ fileName: 'Project', suffix: 'xlsx' })); createMessage.success('导出成功'); } /** * 获取预收款列表 * @param data */ function getBBPrepaymentList(data) { const { getCompanyId } = useUserStoreWithOut(); return request.post( { url: Api.GetBBPrepaymentList, data: { orgID: getCompanyId, ...data }, }, { showLoading: true, }, ); } /** * 预收款列表导出 */ async function exportBBPrepaymentList() { const { createMessage } = useMessage(); const { getCompanyId } = useUserStoreWithOut(); const _data = await request.post( { url: replaceVariables(Api.ExportBBPrepaymentList, { orgid: getCompanyId }), responseType: 'blob', }, { showLoading: true, successMessage: '导出成功', successMessageMode: 'message', isTransformResponse: false, }, ); if (_data.type === 'application/json') { const result = await blobToJson(_data); createMessage.error(result.message); return false; } downloadByData(_data, generateFileName({ fileName: 'Prepayment', suffix: 'xlsx' })); createMessage.success('导出成功'); } /** * 获取未付款列表 * @param data */ function getBBUnpaidList(data) { const { getCompanyId } = useUserStoreWithOut(); return request.post( { url: Api.GetBBUnpaidList, data: { orgID: getCompanyId, ...data }, }, { showLoading: true, }, ); } /** * 未付款列表导出 */ async function exportBBUnpaidList() { const { createMessage } = useMessage(); const { getCompanyId } = useUserStoreWithOut(); const _data = await request.post( { url: replaceVariables(Api.ExportBBUnpaidList, { orgid: getCompanyId }), responseType: 'blob', }, { showLoading: true, successMessage: '导出成功', successMessageMode: 'message', isTransformResponse: false, }, ); if (_data.type === 'application/json') { const result = await blobToJson(_data); createMessage.error(result.message); return false; } downloadByData(_data, generateFileName({ fileName: 'Unpaid', suffix: 'xlsx' })); createMessage.success('导出成功'); } /** * 获取内部译员列表 * @param data */ function getBBInterList(data) { const { getCompanyId } = useUserStoreWithOut(); return request.post( { url: Api.GetBBInterList, data: { orgID: getCompanyId, ...data }, }, { showLoading: true, }, ); } /** * 内部译员列表导出 */ async function exportBBInterList() { const { createMessage } = useMessage(); const { getCompanyId } = useUserStoreWithOut(); const _data = await request.post( { url: replaceVariables(Api.ExportBBInterList, { orgid: getCompanyId }), responseType: 'blob', }, { showLoading: true, successMessage: '导出成功', successMessageMode: 'message', isTransformResponse: false, }, ); if (_data.type === 'application/json') { const result = await blobToJson(_data); createMessage.error(result.message); return false; } downloadByData(_data, generateFileName({ fileName: 'Inter', suffix: 'xlsx' })); createMessage.success('导出成功'); } /** * 获取外部译员列表 * @param data */ function getBBOuterList(data) { const { getCompanyId } = useUserStoreWithOut(); return request.post( { url: Api.getBBOuterList, data: { orgID: getCompanyId, ...data }, }, { showLoading: true, }, ); } /** * 外部译员列表导出 */ async function exportBBOuterList() { const { createMessage } = useMessage(); const { getCompanyId } = useUserStoreWithOut(); const _data = await request.post( { url: replaceVariables(Api.ExportBBOuterList, { orgid: getCompanyId }), responseType: 'blob', }, { showLoading: true, successMessage: '导出成功', successMessageMode: 'message', isTransformResponse: false, }, ); if (_data.type === 'application/json') { const result = await blobToJson(_data); createMessage.error(result.message); return false; } downloadByData(_data, generateFileName({ fileName: 'Outer', suffix: 'xlsx' })); createMessage.success('导出成功'); } export { exportBBInterList, exportBBOuterList, exportBBPrepaymentList, exportBBProjectList, exportBBUnpaidList, getBBInterList, getBBOuterList, getBBPrepaymentList, getBBProjectList, getBBUnpaidList, };