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/wm/productsales/index.ts |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/src/api/mes/wm/productsales/index.ts b/src/api/mes/wm/productsales/index.ts
index b0fddcf..a5296ef 100644
--- a/src/api/mes/wm/productsales/index.ts
+++ b/src/api/mes/wm/productsales/index.ts
@@ -14,6 +14,7 @@
     clientCode?: string; // 瀹㈡埛缂栫爜
     clientName?: string; // 瀹㈡埛鍚嶇О
     salesOrderCode?: string; // 閿�鍞鍗曠紪鍙�
+    saleOrderId?: number; // 閿�鍞鍗旾D
     salesDate?: number; // 鍑哄簱鏃ユ湡
     contactName?: string; // 鏀惰揣浜�
     contactTelephone?: string; // 鑱旂郴鏂瑰紡
@@ -22,12 +23,56 @@
     shippingNumber?: string; // 杩愯緭鍗曞彿
     status?: number; // 鍗曟嵁鐘舵��
     remark?: string; // 澶囨敞
+    stockState?: number; // 搴撳瓨鐘舵��
     createTime?: Date; // 鍒涘缓鏃堕棿
+  }
+
+  export interface ProductSalesScanRequest {
+    salesId: number;
+    scanContent: string;
+    quantity?: number;
+    scanType?: 'BAG' | 'PALLET' | 'BATCH';
+    bagIds?: number[];
+  }
+
+  export interface PickingBag {
+    id: number;
+    code: string;
+    businessCode?: string;
+    palletId?: number;
+    selectable: boolean;
+    unavailableReason?: string;
+  }
+
+  export interface ProductSalesScanResponse {
+    scanType?: 'BAG' | 'PALLET' | string;
+    codeId?: number;
+    scanContent?: string;
+    itemId?: number;
+    itemCode?: string;
+    itemName?: string;
+    batchId?: number;
+    batchCode?: string;
+    materialStockId?: number;
+    availableQuantity?: number;
+    scanQuantity?: number;
+    outboundQuantity?: number;
+    alreadyScanned?: boolean;
+    detailId?: number;
+    warehouseId?: number;
+    locationId?: number;
+    areaId?: number;
+    palletExpanded?: boolean;
+    bagCount?: number;
+    inboundBagCount?: number;
+    message?: string;
+    bags?: PickingBag[];
+    selectedBagIds?: number[];
   }
 }
 
 /** 鏌ヨ閿�鍞嚭搴撳崟鍒嗛〉 */
-export function getProductSalesPage(params: PageParam) {
+export function getProductSalesPage(params: PageParam & { code?: string; status?: number }) {
   return requestClient.get<PageResult<MesWmProductSalesApi.ProductSales>>(
     '/mes/wm/product-sales/page',
     { params },
@@ -61,6 +106,20 @@
   return requestClient.put(`/mes/wm/product-sales/submit?id=${id}`);
 }
 
+/** 鎵爜鎷h揣 */
+export function scanProductSales(
+  data: MesWmProductSalesApi.ProductSalesScanRequest,
+) {
+  return requestClient.post<MesWmProductSalesApi.ProductSalesScanResponse>(
+    '/mes/wm/product-sales/scan',
+    data,
+  );
+}
+
+export function previewProductSalesScan(code: string, scanType?: string, salesId?: number) {
+  return requestClient.get<MesWmProductSalesApi.ProductSalesScanResponse>('/mes/wm/product-sales/scan-preview', { params: { code, scanType, salesId } });
+}
+
 /** 鎵ц鎷h揣 */
 export function stockProductSales(id: number) {
   return requestClient.put(`/mes/wm/product-sales/stock?id=${id}`);

--
Gitblit v1.9.3