10 小时以前 08bb5d242135e2c1f0fc17d2b5f7ae548275a3a2
src/api/mes/pro/pallet/index.ts
@@ -7,7 +7,8 @@
  /** 托盘码 */
  export interface Pallet {
    id?: number; // 编号
    code?: string; // 托盘码
    code?: string; // 托盘码(绑定批次后生成)
    tempCode?: string; // 临时托盘码(预生成二维码阶段使用,扫码追溯兼容)
    batchId?: number; // 生产批次编号
    batchCode?: string; // 批次号
    palletNo?: number; // 批次内托盘序号
@@ -21,6 +22,7 @@
  /** 托盘码分页查询参数 */
  export interface PageParams extends PageParam {
    code?: string;
    tempCode?: string;
    batchId?: number;
    batchCode?: string;
    status?: number;
@@ -30,7 +32,8 @@
  /** 托盘码扫码追溯 */
  export interface PalletTrace {
    id?: number; // 编号
    code?: string; // 托盘码(二维码内容)
    code?: string; // 托盘码(绑定批次后的正式托盘码)
    tempCode?: string; // 临时托盘码(二维码内容;未绑定批次时展示)
    palletNo?: number; // 批次内托盘序号
    capacity?: number; // 可装袋数
    bagCount?: number; // 已绑定袋码数量
@@ -58,11 +61,34 @@
    capacity?: number; // 可装袋数
    remark?: string; // 备注
  }
  /** 预生成托盘二维码返回项 */
  export interface PreGenerateResult {
    id: number; // 托盘码编号
    tempCode: string; // 临时托盘码(二维码内容)
  }
}
/** 批量生成托盘码(返回生成的托盘编号列表) */
export function batchCreatePallet(data: MesProPalletApi.BatchCreateParams) {
  return requestClient.post<number[]>('/mes/pro/pallet/batch-create', data);
}
/** 预生成托盘临时二维码(不绑定生产批次) */
export function preGeneratePallet(data: {
  count: number;
  capacity?: number;
  remark?: string;
}) {
  return requestClient.post<MesProPalletApi.PreGenerateResult[]>(
    '/mes/pro/pallet/pre-generate',
    data,
  );
}
/** 托盘码绑定生产批次(生成正式托盘码) */
export function bindPalletBatch(data: { ids: number[]; batchId: number }) {
  return requestClient.put('/mes/pro/pallet/bind-batch', data);
}
/** 删除托盘码 */
@@ -108,3 +134,11 @@
export function exportPalletQr(batchId: number) {
  return requestClient.download(`/mes/pro/pallet/export-qr?batchId=${batchId}`);
}
/** 按托盘码编号列表批量导出二维码图片 ZIP */
export function exportPalletQrByIds(ids: number[]) {
  return requestClient.download('/mes/pro/pallet/export-qr-by-ids', {
    method: 'POST',
    data: { ids },
  });
}