From 18732f2761a0f5d1d2b9a455fe7c69f0b11ae27d Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 16 十月 2026 18:07:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_新疆_塔河种业' into dev_新疆_塔河种业

---
 src/views/mes/pro/bagCode/modules/bind-pallet.vue |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/src/views/mes/pro/bagCode/modules/bind-pallet.vue b/src/views/mes/pro/bagCode/modules/bind-pallet.vue
index fac78f0..bc1811f 100644
--- a/src/views/mes/pro/bagCode/modules/bind-pallet.vue
+++ b/src/views/mes/pro/bagCode/modules/bind-pallet.vue
@@ -1,5 +1,6 @@
 <script lang="ts" setup>
   import type { VbenFormSchema } from "#/adapter/form";
+  import type { MesProPalletApi } from "#/api/mes/pro/pallet";
 
   import { useVbenModal } from "@vben/common-ui";
   import { MesProPalletStatusEnum } from "@vben/constants";
@@ -8,19 +9,30 @@
 
   import { useVbenForm } from "#/adapter/form";
   import { bindBagCodePallet } from "#/api/mes/pro/bagCode";
-  import { getPalletSimpleList } from "#/api/mes/pro/pallet";
+  import {
+    getPalletBindableList,
+    getPalletSimpleList,
+  } from "#/api/mes/pro/pallet";
   import { $t } from "#/locales";
 
   defineOptions({ name: "MesProBagCodeBindPallet" });
 
-  /** 寮圭獥浼犲叆鏁版嵁 */
+  /** 寮圭獥浼犲叆鏁版嵁锛坆atchId 涓虹┖琛ㄧず鎵�閫夎鐮佸皻鏈綍鍏ョ敓浜ф壒娆★級 */
   interface ModalData {
-    batchId: number;
+    batchId?: number;
     batchCode?: string;
+    itemId?: number;
     ids: number[];
   }
 
   const emit = defineEmits(["success"]);
+
+  /** 鏈綍鍏ユ壒娆℃椂鐨勬墭鐩樺睍绀哄悕锛氭寮忔墭鐩樺甫鎵规鍙枫�佷复鏃舵墭鐩樺洖閫�鍒颁复鏃剁爜锛屼究浜庡湪娣峰悎鍒楄〃涓垎杈� */
+  function palletLabel(pallet: MesProPalletApi.Pallet) {
+    const code = pallet.code || pallet.tempCode || "-";
+    const batchPart = pallet.batchCode ? `鎵规 ${pallet.batchCode}` : "涓存椂鎵樼洏";
+    return `${code}锛�${batchPart} / 宸茶 ${pallet.bagCount ?? 0} 琚嬶級`;
+  }
 
   /** 鏋勫缓琛ㄥ崟锛堟墭鐩樹笅鎷夐�夐」鐢卞閮ㄥ姞杞芥敞鍏ワ級 */
   function buildSchema(palletOptions: { label: string; value: number }[]): VbenFormSchema[] {
@@ -90,20 +102,23 @@
       const data = modalApi.getData<ModalData>();
       modalApi.lock();
       try {
-        // 鍔犺浇璇ユ壒娆′笅鐨勬墭鐩橈紙鎺掗櫎宸蹭綔搴燂級
-        const pallets = await getPalletSimpleList(data.batchId);
+        // 宸插綍鍏ユ壒娆★細鍙垪鏈壒娆$殑鎵樼洏锛涙湭褰曞叆鎵规锛氬垪璇ュ搧绉嶅彲鐢ㄧ殑涓存椂鎵樼洏涓庢寮忔墭鐩橈紝
+        // 閫夊埌姝e紡鎵樼洏鏃剁敱鍚庣鍏堟妸杩欐壒琚嬬爜琛ュ綍杩涜鎵规锛屽啀瀹屾垚缁戝畾
+        const pallets = data.batchId
+          ? await getPalletSimpleList(data.batchId)
+          : await getPalletBindableList(data.itemId);
         const options = pallets
-          .filter(
-            (pallet) => pallet.status !== MesProPalletStatusEnum.CANCELED
-          )
+          .filter((pallet) => pallet.status !== MesProPalletStatusEnum.CANCELED)
           .map((pallet) => ({
-            label: `${pallet.code}锛堝凡瑁� ${pallet.bagCount ?? 0} 琚嬶級`,
+            label: data.batchId
+              ? `${pallet.code}锛堝凡瑁� ${pallet.bagCount ?? 0} 琚嬶級`
+              : palletLabel(pallet),
             value: pallet.id!,
           }));
         await formApi.setState({ schema: buildSchema(options) });
         await formApi.setValues({
           bagCount: data.ids.length,
-          batchCode: data.batchCode,
+          batchCode: data.batchCode || "鏈綍鍏ユ壒娆�",
         });
       } finally {
         modalApi.unlock();

--
Gitblit v1.9.3