import type { PageParam, PageResult } from '@vben/request';
|
|
import { requestClient } from '#/api/request';
|
import type { MesProBagCodeApi } from '#/api/mes/pro/bagCode';
|
|
export namespace MesProPalletApi {
|
/** 托盘码 */
|
export interface Pallet {
|
id?: number; // 编号
|
code?: string; // 托盘码
|
batchId?: number; // 生产批次编号
|
batchCode?: string; // 批次号
|
palletNo?: number; // 批次内托盘序号
|
capacity?: number; // 可装袋数(袋/托盘)
|
bagCount?: number; // 已绑定袋码数量
|
status?: number; // 状态(字典 mes_pro_pallet_status)
|
remark?: string; // 备注
|
createTime?: string; // 创建时间
|
}
|
|
/** 托盘码分页查询参数 */
|
export interface PageParams extends PageParam {
|
code?: string;
|
batchId?: number;
|
batchCode?: string;
|
status?: number;
|
createTime?: string[];
|
}
|
|
/** 托盘码扫码追溯 */
|
export interface PalletTrace {
|
id?: number; // 编号
|
code?: string; // 托盘码(二维码内容)
|
palletNo?: number; // 批次内托盘序号
|
capacity?: number; // 可装袋数
|
bagCount?: number; // 已绑定袋码数量
|
status?: number; // 状态(字典 mes_pro_pallet_status)
|
batchId?: number; // 生产批次编号
|
batchCode?: string; // 批次号
|
remark?: string; // 备注
|
batchStatus?: number; // 批次状态
|
produceDate?: string; // 生产日期
|
lineCode?: string; // 产线编码
|
lineName?: string; // 产线名称
|
ownerUserId?: number; // 责任人编号
|
ownerUserName?: string; // 责任人昵称
|
itemId?: number; // 品种(物料)编号
|
itemCode?: string; // 品种编码
|
itemName?: string; // 品种名称
|
itemSpecification?: string; // 品种规格
|
bags?: MesProBagCodeApi.BagCode[]; // 该托盘绑定的袋码列表
|
}
|
|
/** 批量生成请求 */
|
export interface BatchCreateParams {
|
batchId: number; // 生产批次编号
|
count: number; // 生成数量
|
capacity?: number; // 可装袋数
|
remark?: string; // 备注
|
}
|
}
|
|
/** 批量生成托盘码(返回生成的托盘编号列表) */
|
export function batchCreatePallet(data: MesProPalletApi.BatchCreateParams) {
|
return requestClient.post<number[]>('/mes/pro/pallet/batch-create', data);
|
}
|
|
/** 删除托盘码 */
|
export function deletePallet(id: number) {
|
return requestClient.delete(`/mes/pro/pallet/delete?id=${id}`);
|
}
|
|
/** 查询托盘码详情 */
|
export function getPallet(id: number) {
|
return requestClient.get<MesProPalletApi.Pallet>(
|
`/mes/pro/pallet/get?id=${id}`,
|
);
|
}
|
|
/** 查询托盘码分页 */
|
export function getPalletPage(params: MesProPalletApi.PageParams) {
|
return requestClient.get<PageResult<MesProPalletApi.Pallet>>(
|
'/mes/pro/pallet/page',
|
{ params },
|
);
|
}
|
|
/** 查询批次的托盘码列表(供下拉选择) */
|
export function getPalletSimpleList(batchId: number) {
|
return requestClient.get<MesProPalletApi.Pallet[]>(
|
`/mes/pro/pallet/simple-list?batchId=${batchId}`,
|
);
|
}
|
|
/** 导出托盘码 Excel */
|
export function exportPalletExcel(params: MesProPalletApi.PageParams) {
|
return requestClient.download('/mes/pro/pallet/export-excel', { params });
|
}
|
|
/** 扫码追溯:根据托盘码(二维码内容)反查批次、品种、责任人及袋码列表 */
|
export function getPalletByCode(code: string) {
|
return requestClient.get<MesProPalletApi.PalletTrace>(
|
`/mes/pro/pallet/get-by-code?code=${encodeURIComponent(code)}`,
|
);
|
}
|
|
/** 批量导出某批次的托盘码二维码图片 ZIP */
|
export function exportPalletQr(batchId: number) {
|
return requestClient.download(`/mes/pro/pallet/export-qr?batchId=${batchId}`);
|
}
|