import { defHttp } from '/@/utils/http/axios'; import { useMessage } from '/@/hooks/web/useMessage'; const { createConfirm } = useMessage(); enum Api { list = '/xslmes/mesXslRawMaterialEntry/list', save = '/xslmes/mesXslRawMaterialEntry/add', edit = '/xslmes/mesXslRawMaterialEntry/edit', deleteOne = '/xslmes/mesXslRawMaterialEntry/delete', deleteBatch = '/xslmes/mesXslRawMaterialEntry/deleteBatch', batchStockIn = '/xslmes/mesXslRawMaterialEntry/batchStockIn', importExcel = '/xslmes/mesXslRawMaterialEntry/importExcel', exportXls = '/xslmes/mesXslRawMaterialEntry/exportXls', queryPrinters = '/xslmes/mesXslRawMaterialEntry/queryPrinters', prepareNativePrint = '/xslmes/mesXslRawMaterialEntry/prepareNativePrint', printPdf = '/xslmes/mesXslRawMaterialEntry/printPdf', } export const getExportUrl = Api.exportXls; export const getImportUrl = Api.importExcel; export const list = (params) => defHttp.get({ url: Api.list, params }); export const deleteOne = (params, handleSuccess) => { return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; export const batchDelete = (params, handleSuccess) => { createConfirm({ iconType: 'warning', title: '确认删除', content: '是否删除选中数据', okText: '确认', cancelText: '取消', onOk: () => { return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }, }); }; export const batchStockIn = (ids: string) => defHttp.put({ url: Api.batchStockIn, params: { ids } }, { joinParamsToUrl: true }); export const saveOrUpdate = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }); }; export const queryPrinters = () => defHttp.get({ url: Api.queryPrinters }); export const prepareNativePrint = (id: string) => defHttp.get({ url: Api.prepareNativePrint, params: { id, _t: Date.now() }, }); /** id + 前端生成的 pdfBase64;printerName 空则用默认队列 */ export const printPdf = (data: { id: string; printerName?: string; pdfBase64: string; fileName?: string }) => defHttp.post({ url: Api.printPdf, data, timeout: 3 * 60 * 1000 });