From 4807d8b687853e75a815b3aa9aecbc2554063aa4 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 11 八月 2026 14:20:15 +0800
Subject: [PATCH] docs: MOM 1.规范提交消息格式

---
 src/views/wls/itemreceipt/index.vue |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/src/views/wls/itemreceipt/index.vue b/src/views/wls/itemreceipt/index.vue
index 9e3f25c..552e77a 100644
--- a/src/views/wls/itemreceipt/index.vue
+++ b/src/views/wls/itemreceipt/index.vue
@@ -2,9 +2,9 @@
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
 import type { MesWmItemReceiptApi } from '#/api/mes/wm/itemreceipt';
 
-import { Page, useVbenModal } from '../../../packages/effects/common-ui/src';
-import { MesWmItemReceiptStatusEnum } from '../../../packages/constants/src';
-import { downloadFileFromBlobPart } from '../../../packages/utils/src';
+import { Page, useVbenModal } from '@vben/common-ui';
+import { MesWmItemReceiptStatusEnum } from '@vben/constants';
+import { downloadFileFromBlobPart } from '@vben/utils';
 
 import { Button, message } from 'ant-design-vue';
 
@@ -13,15 +13,22 @@
   cancelItemReceipt,
   deleteItemReceipt,
   exportItemReceipt,
+  generateItemReceiptFromArrivalNotice,
   getItemReceiptPage,
 } from '#/api/mes/wm/itemreceipt';
 import { $t } from '#/locales';
 
 import { useGridColumns, useGridFormSchema } from './data';
 import Form from './modules/form.vue';
+import AnSelectDialog from './modules/an-select-dialog.vue';
 
 const [FormModal, formModalApi] = useVbenModal({
   connectedComponent: Form,
+  destroyOnClose: true,
+});
+
+const [AnSelectModal, anSelectModalApi] = useVbenModal({
+  connectedComponent: AnSelectDialog,
   destroyOnClose: true,
 });
 
@@ -77,6 +84,28 @@
   handleRefresh();
 }
 
+/** 浠庡埌璐ч�氱煡鐢熸垚閲囪喘鍏ュ簱鍗� */
+async function handleGenerateFromAN() {
+  anSelectModalApi.open();
+}
+
+/** 鍒拌揣閫氱煡閫夋嫨鍥炶皟 */
+async function handleArrivalNoticeSelected(arrivalNoticeId: number) {
+  const hideLoading = message.loading({
+    content: '姝e湪鐢熸垚閲囪喘鍏ュ簱鍗�...',
+    duration: 0,
+  });
+  try {
+    const id = await generateItemReceiptFromArrivalNotice(arrivalNoticeId);
+    message.success('閲囪喘鍏ュ簱鍗曠敓鎴愭垚鍔�');
+    // 璺宠浆鍒扮紪杈戦〉
+    formModalApi.setData({ formType: 'update', id }).open();
+    handleRefresh();
+  } finally {
+    hideLoading();
+  }
+}
+
 /** 瀵煎嚭琛ㄦ牸 */
 async function handleExport() {
   const data = await exportItemReceipt(await gridApi.formApi.getValues());
@@ -115,7 +144,9 @@
 </script>
 
 <template>
-  <Page auto-content-height><FormModal @success="handleRefresh" />
+  <Page auto-content-height>
+    <FormModal @success="handleRefresh" />
+    <AnSelectModal @selected="handleArrivalNoticeSelected" />
 
     <Grid table-title="閲囪喘鍏ュ簱鍗曞垪琛�">
       <template #toolbar-tools>
@@ -129,6 +160,13 @@
               onClick: handleCreate,
             },
             {
+              label: '浠庡埌璐ч�氱煡鐢熸垚',
+              type: 'primary',
+              icon: ACTION_ICON.ADD,
+              auth: ['mes:wm-item-receipt:create'],
+              onClick: handleGenerateFromAN,
+            },
+            {
               label: $t('ui.actionTitle.export'),
               type: 'primary',
               icon: ACTION_ICON.DOWNLOAD,

--
Gitblit v1.9.3