From d1cf2e1b5d3f56d14e5d75024ce2d054f9142b2e Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 06 八月 2026 17:54:54 +0800
Subject: [PATCH] refactor(components): 重构多个组件以提升代码质量和可维护性

---
 src/views/wls/arrivalnotice/index.vue |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/views/wls/arrivalnotice/index.vue b/src/views/wls/arrivalnotice/index.vue
index 15f292e..5cfe5b4 100644
--- a/src/views/wls/arrivalnotice/index.vue
+++ b/src/views/wls/arrivalnotice/index.vue
@@ -15,6 +15,7 @@
   generateArrivalNoticeFromPurchaseOrder,
   getArrivalNoticePage,
 } from '#/api/mes/wm/arrivalnotice';
+import { generateItemReceiptFromArrivalNotice } from '#/api/mes/wm/itemreceipt';
 import { $t } from '#/locales';
 
 import { useGridColumns, useGridFormSchema } from './data';
@@ -68,12 +69,22 @@
 
 /** 鎻愮ず鍓嶅線璐ㄦ妯″潡 */
 function handleQc() {
-  message.info('璇峰墠寰�銆愯川閲忕鐞� - 寰呮浠诲姟銆戜腑杩涜鏉ユ枡妫�楠屾搷浣�');
+  message.info('璇峰墠寰�銆愯川閲忕鐞� - IQC妫�楠屻�戜腑杩涜鏉ユ枡妫�楠屾搷浣�');
 }
 
-/** 鎻愮ず鍓嶅線閲囪喘鍏ュ簱妯″潡 */
-function handleReceipt() {
-  message.info('璇峰墠寰�銆愪粨搴撶鐞� - 閲囪喘鍏ュ簱銆戜腑杩涜鍏ュ簱鎿嶄綔');
+/** 鎵ц鍏ュ簱锛氭牴鎹埌璐ч�氱煡鍗曠敓鎴愰噰璐叆搴撳崟 */
+async function handleReceipt(row: MesWmArrivalNoticeApi.ArrivalNotice) {
+  const hideLoading = message.loading({
+    content: '姝e湪鐢熸垚閲囪喘鍏ュ簱鍗�...',
+    duration: 0,
+  });
+  try {
+    await generateItemReceiptFromArrivalNotice(row.id!);
+    message.success('鍏ュ簱鎴愬姛');
+    handleRefresh();
+  } finally {
+    hideLoading();
+  }
 }
 
 /** 浠庨噰璐鍗曠敓鎴愬埌璐ч�氱煡鍗� */
@@ -205,9 +216,13 @@
             {
               label: '鎵ц鍏ュ簱',
               type: 'link',
+              auth: ['mes:wm-item-receipt:create'],
               ifShow:
                 row.status === MesWmArrivalNoticeStatusEnum.PENDING_RECEIPT,
-              onClick: handleReceipt,
+              popConfirm: {
+                title: `纭鏍规嵁鍒拌揣閫氱煡鍗� ${row.code} 鐢熸垚閲囪喘鍏ュ簱鍗曪紵`,
+                confirm: handleReceipt.bind(null, row),
+              },
             },
           ]"
         />

--
Gitblit v1.9.3