From c77086ad2d7949ab36dd0c4e0b59907e672dd64f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 18 九月 2026 15:04:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev_pro2.0' into dev_宁夏_九泓化工

---
 src/views/basicData/mdm/unit/index.vue |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/src/views/basicData/mdm/unit/index.vue b/src/views/basicData/mdm/unit/index.vue
index e2d3a44..4a9fca8 100644
--- a/src/views/basicData/mdm/unit/index.vue
+++ b/src/views/basicData/mdm/unit/index.vue
@@ -3,23 +3,31 @@
 import type { MdmUnitApi } from '#/api/mdm/unit';
 
 import { Page, useVbenModal } from '#/packages/effects/common-ui/src';
+import { downloadFileFromBlobPart } from '#/packages/utils/src';
 
 import { message, Tag } from 'ant-design-vue';
 
 import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
 import {
   deleteUnit,
+  exportUnit,
   getUnitPage,
 } from '#/api/mdm/unit';
 import { $t } from '#/locales';
 
 import { useGridColumns, useGridFormSchema } from './data';
 import Form from './modules/form.vue';
+import ImportForm from './modules/import-form.vue';
 
 defineOptions({ name: 'MdmUnit' });
 
 const [FormModal, formModalApi] = useVbenModal({
   connectedComponent: Form,
+  destroyOnClose: true,
+});
+
+const [ImportModal, importModalApi] = useVbenModal({
+  connectedComponent: ImportForm,
   destroyOnClose: true,
 });
 
@@ -31,6 +39,17 @@
 /** 鍒涘缓璁¢噺鍗曚綅 */
 function handleCreate() {
   formModalApi.setData(null).open();
+}
+
+/** 瀵煎叆璁¢噺鍗曚綅 */
+function handleImport() {
+  importModalApi.open();
+}
+
+/** 瀵煎嚭璁¢噺鍗曚綅锛堟寜褰撳墠鍒楄〃鏌ヨ鏉′欢瀵煎嚭鍏ㄩ儴鍛戒腑鏁版嵁锛� */
+async function handleExport() {
+  const data = await exportUnit(await gridApi.formApi.getValues());
+  downloadFileFromBlobPart({ fileName: '璁¢噺鍗曚綅鏁版嵁.xls', source: data });
 }
 
 /** 缂栬緫璁¢噺鍗曚綅 */
@@ -87,6 +106,7 @@
 <template>
   <Page auto-content-height>
     <FormModal @success="handleRefresh" />
+    <ImportModal @success="handleRefresh" />
     <Grid table-title="璁¢噺鍗曚綅鍒楄〃">
       <template #toolbar-tools>
         <TableAction
@@ -98,6 +118,20 @@
               auth: ['mdm:unit:create'],
               onClick: handleCreate,
             },
+            {
+              label: $t('ui.actionTitle.import', ['璁¢噺鍗曚綅']),
+              type: 'primary',
+              icon: ACTION_ICON.UPLOAD,
+              auth: ['mdm:unit-measure:import'],
+              onClick: handleImport,
+            },
+            {
+              label: $t('ui.actionTitle.export'),
+              type: 'primary',
+              icon: ACTION_ICON.DOWNLOAD,
+              auth: ['mdm:unit-measure:export'],
+              onClick: handleExport,
+            },
           ]"
         />
       </template>

--
Gitblit v1.9.3