From 78caa769e452f63288743b8997f7b4c21bb06ce5 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 06 十一月 2026 19:00:38 +0800
Subject: [PATCH] feat(crm,mes): 扩展客户字段与重构批次号生成逻辑

---
 src/views/mes/pro/bagCode/index.vue |   43 +++++--------------------------------------
 1 files changed, 5 insertions(+), 38 deletions(-)

diff --git a/src/views/mes/pro/bagCode/index.vue b/src/views/mes/pro/bagCode/index.vue
index 891aaca..2a33b5a 100644
--- a/src/views/mes/pro/bagCode/index.vue
+++ b/src/views/mes/pro/bagCode/index.vue
@@ -14,8 +14,6 @@
     deleteBagCodesByUuid,
     exportBagCodeExcel,
     exportBagQr,
-    exportBagBusinessQr,
-    generateBagBusinessCodes,
     getBagCodePage,
     bindBagCodeBatch,
     unbindBagCodePallet,
@@ -31,7 +29,6 @@
   import RawGenerateModal from "./modules/raw-generate-form.vue";
   import ReplaceModal from "./modules/replace-form.vue";
   import QrTraceModal from "../components/qr-trace-modal.vue";
-  import BusinessQrModal from "../components/business-qr.vue";
   import QrExportTaskModal from '../components/qr-export-task-modal.vue';
 
   defineOptions({ name: "MesProBagCode" });
@@ -68,29 +65,6 @@
     destroyOnClose: true,
   });
 
-  const [BusinessQrViewModal, businessQrApi] = useVbenModal({
-    connectedComponent: BusinessQrModal, destroyOnClose: true,
-  });
-
-  function handleBusinessQr(row: MesProBagCodeApi.BagCode) {
-    if (!row.businessCode) { message.warning('璇峰厛琛ョ敓鎴愪笟鍔$爜'); return; }
-    businessQrApi.setData({ code: row.businessCode }).open();
-  }
-
-  async function handleGenerateBusinessCodes() {
-    const records = getSelectedRecords();
-    if (!records) return;
-    if (records.length > 200) { message.warning('鍗曟鏈�澶氳ˉ鐢熸垚 200 鏉�'); return; }
-    if (records.some(row => row.status === MesProBagCodeStatusEnum.CANCELED)) {
-      message.warning('宸蹭綔搴熻鐮佷笉鍙ˉ鐢熸垚涓氬姟鐮�'); return;
-    }
-    const ids = records.map(row => row.id).filter((id): id is number => id != null);
-    if (ids.length !== records.length) { message.warning('鎵�閫夎鐮佺己灏戠紪鍙�'); return; }
-    const count = await generateBagBusinessCodes(ids);
-    message.success(`宸茶ˉ鐢熸垚 ${count} 浠戒笟鍔$爜锛屽凡鏈夌爜鍊间繚鎸佷笉鍙榒);
-    handleRefresh();
-  }
-
   /** 鍒锋柊琛ㄦ牸 */
   function handleRefresh() {
     gridApi.query();
@@ -123,7 +97,7 @@
   }
 
   /** 瀵煎嚭浜岀淮鐮� ZIP锛堟寜褰撳墠鏌ヨ鏉′欢鐨勭敓鎴愮粍/鎵规锛� */
-  async function handleExportQr(kind: 'trace' | 'business' = 'trace') {
+  async function handleExportQr() {
     const values = await gridApi.formApi.getValues();
     const params: { uuid?: string; batchId?: number } = {};
     if (values.uuid) {
@@ -136,7 +110,7 @@
       message.warning("璇峰厛鎸夌敓鎴愮粍鎴栨壒娆$瓫閫夊悗鍐嶅鍑轰簩缁寸爜");
       return;
     }
-    const bizType = kind === 'business' ? 'BAG_BUSINESS' : 'BAG_LABEL';
+    const bizType = 'BAG_LABEL';
     const count = await countQrExport({ bizType, ...params });
     if (count.mode === 'ASYNC') {
       const task = await submitQrExport({ bizType, ...params });
@@ -144,8 +118,8 @@
       message.success(`宸叉彁浜� ${count.totalCount} 寮犱簩缁寸爜鐨勫悗鍙板鍑轰换鍔);
       return;
     }
-    const data = await (kind === 'business' ? exportBagBusinessQr : exportBagQr)(params);
-    downloadFileFromBlobPart({ fileName: kind === 'business' ? '琚嬬爜涓氬姟浜岀淮鐮�.zip' : '琚嬬爜杩芥函浜岀淮鐮�.zip', source: data });
+    const data = await exportBagQr(params);
+    downloadFileFromBlobPart({ fileName: '琚嬬爜杩芥函浜岀淮鐮�.zip', source: data });
   }
 
   /** 瀵煎嚭琚嬬爜 Excel锛堜氦浠樺嵃鍒凤級锛屽鍑哄悗琚嬬爜鐘舵�佸彉涓哄凡鍗板埛锛岄渶鍒锋柊鍒楄〃 */
@@ -370,7 +344,6 @@
     <BindPalletFormModal @success="handleRefresh" />
     <ReplaceFormModal @success="handleReplaceSuccess" />
     <QrTraceQueryModal />
-    <BusinessQrViewModal />
     <QrExportTaskModal ref="qrExportTaskModal" />
     <Grid table-title="琚嬬爜鍒楄〃锛堜竴琚嬩竴鐮侊級">
       <template #table-title><span class="text-[1rem] font-bold" style="white-space:nowrap">琚嬬爜鍒楄〃锛堜竴琚嬩竴鐮侊級</span></template>
@@ -380,14 +353,12 @@
           { label: '褰曞叆鎵规', auth: ['mes:pro-bag-code:update'], onClick: handleBindBatch },
           { label: '缁戝畾鎵樼洏', auth: ['mes:pro-bag-code:update'], onClick: handleBindPallet },
           { label: '鎵爜杩芥函', icon: ACTION_ICON.SEARCH, auth: ['mes:pro-bag-code:query'], onClick: handleTrace }]" />
-          <TableAction :dropdown-trigger="['click']" :drop-down-actions="[{ label: '杩芥函浜岀淮鐮�', auth: ['mes:pro-bag-code:export'], onClick: () => handleExportQr('trace') },
-          { label: '涓氬姟浜岀淮鐮�', auth: ['mes:pro-bag-code:export'], onClick: () => handleExportQr('business') },
+          <TableAction :dropdown-trigger="['click']" :drop-down-actions="[{ label: '杩芥函浜岀淮鐮�', auth: ['mes:pro-bag-code:export'], onClick: () => handleExportQr() },
           { label: 'Excel 鏁版嵁鍖�', auth: ['mes:pro-bag-code:export'], onClick: handleExport }]">
             <template #more><Button>瀵煎嚭 <IconifyIcon icon="lucide:chevron-down" /></Button></template>
           </TableAction>
           <Button @click="qrExportTaskModal?.showLast()">鍚庡彴瀵煎嚭浠诲姟</Button>
           <TableAction :dropdown-trigger="['click']" :drop-down-actions="[{ label: '鐢熸垚鍘熷琚嬬爜', auth: ['mes:pro-bag-code:create'], onClick: handleRawGenerate },
-          { label: '琛ョ敓鎴愪笟鍔$爜', auth: ['mes:pro-bag-code:create'], onClick: handleGenerateBusinessCodes },
           { label: '鐮存崯鏇挎崲', auth: ['mes:pro-bag-code:replace'], onClick: handleReplace },
           { label: '瑙g粦鎵樼洏', auth: ['mes:pro-bag-code:update'], onClick: handleUnbindPallet }]">
             <template #more><Button>鏇村鎿嶄綔 <IconifyIcon icon="lucide:chevron-down" /></Button></template>
@@ -401,10 +372,6 @@
               type: 'link',
               auth: ['mes:pro-bag-code:query'],
               onClick: handleViewQr.bind(null, row),
-            },
-            {
-              label: '涓氬姟浜岀淮鐮�', type: 'link', auth: ['mes:pro-bag-code:query'],
-              ifShow: !!row.businessCode, onClick: handleBusinessQr.bind(null, row),
             },
             {
               label: $t('common.delete'),

--
Gitblit v1.9.3