From ee7ac8df8bce38add1f75baf876b49de94b9e00a Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 16 十月 2026 17:58:33 +0800
Subject: [PATCH] feat(mes): 赋码管理绑定托盘支持未录入批次的袋码

---
 src/api/mes/pro/pallet/index.ts |   73 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/src/api/mes/pro/pallet/index.ts b/src/api/mes/pro/pallet/index.ts
index 2fef83b..ab23f39 100644
--- a/src/api/mes/pro/pallet/index.ts
+++ b/src/api/mes/pro/pallet/index.ts
@@ -6,12 +6,18 @@
 export namespace MesProPalletApi {
   /** 鎵樼洏鐮� */
   export interface Pallet {
+    inboundTime?: string;
     id?: number; // 缂栧彿
-    code?: string; // 鎵樼洏鐮�
+    itemId?: number; // 鎵樼洏甯﹀叆鐨勫搧绉嶇紪鍙�
+    itemCode?: string;
+    itemName?: string;
+    businessCode?: string; // 鍐呴儴鍑哄叆搴撲笟鍔$爜
+    code?: string; // 鎵樼洏鐮侊紙缁戝畾鎵规鍚庣敓鎴愶級
+    tempCode?: string; // 涓存椂鎵樼洏鐮侊紙棰勭敓鎴愪簩缁寸爜闃舵浣跨敤锛屾壂鐮佽拷婧吋瀹癸級
     batchId?: number; // 鐢熶骇鎵规缂栧彿
     batchCode?: string; // 鎵规鍙�
     palletNo?: number; // 鎵规鍐呮墭鐩樺簭鍙�
-    capacity?: number; // 鍙琚嬫暟锛堣/鎵樼洏锛�
+    autoGenerated?: boolean; // 鏄惁鑷姩鐢熸垚锛堣鐮佹暟鎹寘鐢熸垚鏃惰嚜鍔ㄥ垱寤猴級
     bagCount?: number; // 宸茬粦瀹氳鐮佹暟閲�
     status?: number; // 鐘舵�侊紙瀛楀吀 mes_pro_pallet_status锛�
     remark?: string; // 澶囨敞
@@ -20,7 +26,9 @@
 
   /** 鎵樼洏鐮佸垎椤垫煡璇㈠弬鏁� */
   export interface PageParams extends PageParam {
+    businessCode?: string; // 鍐呴儴鍑哄叆搴撲笟鍔$爜
     code?: string;
+    tempCode?: string;
     batchId?: number;
     batchCode?: string;
     status?: number;
@@ -29,8 +37,12 @@
 
   /** 鎵樼洏鐮佹壂鐮佽拷婧� */
   export interface PalletTrace {
+    inboundTime?: string;
+    pendingBagQuantity?: number;
     id?: number; // 缂栧彿
-    code?: string; // 鎵樼洏鐮侊紙浜岀淮鐮佸唴瀹癸級
+    businessCode?: string; // 鍐呴儴鍑哄叆搴撲笟鍔$爜
+    code?: string; // 鎵樼洏鐮侊紙缁戝畾鎵规鍚庣殑姝e紡鎵樼洏鐮侊級
+    tempCode?: string; // 涓存椂鎵樼洏鐮侊紙浜岀淮鐮佸唴瀹癸紱鏈粦瀹氭壒娆℃椂灞曠ず锛�
     palletNo?: number; // 鎵规鍐呮墭鐩樺簭鍙�
     capacity?: number; // 鍙琚嬫暟
     bagCount?: number; // 宸茬粦瀹氳鐮佹暟閲�
@@ -55,14 +67,36 @@
   export interface BatchCreateParams {
     batchId: number; // 鐢熶骇鎵规缂栧彿
     count: number; // 鐢熸垚鏁伴噺
-    capacity?: number; // 鍙琚嬫暟
     remark?: string; // 澶囨敞
+  }
+
+  /** 棰勭敓鎴愭墭鐩樹簩缁寸爜杩斿洖椤� */
+  export interface PreGenerateResult {
+    businessCode?: string;
+    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;
+  remark?: string;
+}) {
+  return requestClient.post<MesProPalletApi.PreGenerateResult[]>(
+    '/mes/pro/pallet/pre-generate',
+    data,
+  );
+}
+
+/** 鎵樼洏鐮佺粦瀹氱敓浜ф壒娆★紙鐢熸垚姝e紡鎵樼洏鐮侊級 */
+export function bindPalletBatch(data: { ids: number[]; batchId: number }) {
+  return requestClient.put('/mes/pro/pallet/bind-batch', data);
 }
 
 /** 鍒犻櫎鎵樼洏鐮� */
@@ -92,6 +126,21 @@
   );
 }
 
+/** 鏌ヨ琚嬬爜缁戝畾鎵樼洏鏃剁殑鍙�夌洰鏍囨墭鐩樺垪琛紙鏈粦鎵规鐨勪复鏃舵墭鐩� + 姝e紡鎵樼洏锛屾帓闄ゅ凡浣滃簾锛� */
+export function getPalletBindableList(itemId?: number) {
+  return requestClient.get<MesProPalletApi.Pallet[]>(
+    '/mes/pro/pallet/bindable-list',
+    { params: { itemId } },
+  );
+}
+
+/** 鏌ヨ鏈粦瀹氭壒娆$殑涓存椂鎵樼洏鍒楄〃锛堜緵鎵规鏂板/琛ュ綍缁戝畾鎵樼洏涓嬫媺浣跨敤锛� */
+export function getUnboundPalletList() {
+  return requestClient.get<MesProPalletApi.Pallet[]>(
+    '/mes/pro/pallet/unbound-list',
+  );
+}
+
 /** 瀵煎嚭鎵樼洏鐮� Excel */
 export function exportPalletExcel(params: MesProPalletApi.PageParams) {
   return requestClient.download('/mes/pro/pallet/export-excel', { params });
@@ -108,3 +157,19 @@
 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 },
+  });
+}
+
+export function generatePalletBusinessCodes(ids: number[]) {
+  return requestClient.post<number>('/mes/pro/pallet/generate-business-code', { ids });
+}
+
+export function exportPalletBusinessQr(ids: number[]) {
+  return requestClient.download('/mes/pro/pallet/export-business-qr-by-ids', { method: 'POST', data: { ids } });
+}

--
Gitblit v1.9.3