From fec6a89b4ed2dfc988c1ab308188306d536d8ccd Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 02 九月 2026 17:17:32 +0800
Subject: [PATCH] feat(mdm): 基础数据物料管理/物料分类/计量单位增加导出按钮
---
src/api/mdm/unit/index.ts | 5 ++
src/views/mes/md/item/type/index.vue | 20 +++++++++
src/views/basicData/mdm/index.vue | 26 ++++++------
src/api/mes/md/item/type/index.ts | 5 ++
src/views/basicData/mdm/unit/index.vue | 15 +++++++
5 files changed, 57 insertions(+), 14 deletions(-)
diff --git a/src/api/mdm/unit/index.ts b/src/api/mdm/unit/index.ts
index 5041a55..0a5eb6c 100644
--- a/src/api/mdm/unit/index.ts
+++ b/src/api/mdm/unit/index.ts
@@ -48,6 +48,11 @@
return requestClient.delete(`/mdm/unit/delete?id=${id}`);
}
+/** 瀵煎嚭璁¢噺鍗曚綅 */
+export function exportUnit(params: Record<string, any>) {
+ return requestClient.download('/mdm/unit/export-excel', { params });
+}
+
/** 涓嬭浇璁¢噺鍗曚綅瀵煎叆妯℃澘 */
export function importUnitTemplate() {
return requestClient.download('/mdm/unit/get-import-template');
diff --git a/src/api/mes/md/item/type/index.ts b/src/api/mes/md/item/type/index.ts
index bd99b95..86dc13d 100644
--- a/src/api/mes/md/item/type/index.ts
+++ b/src/api/mes/md/item/type/index.ts
@@ -53,6 +53,11 @@
return requestClient.delete(`/mes/md/item-type/delete?id=${id}`);
}
+/** 瀵煎嚭鐗╂枡浜у搧鍒嗙被 */
+export function exportItemType(params: Record<string, any>) {
+ return requestClient.download('/mes/md/item-type/export-excel', { params });
+}
+
/** 涓嬭浇鐗╂枡浜у搧鍒嗙被瀵煎叆妯℃澘 */
export function importItemTypeTemplate() {
return requestClient.download('/mes/md/item-type/get-import-template');
diff --git a/src/views/basicData/mdm/index.vue b/src/views/basicData/mdm/index.vue
index 99cea03..af385ba 100644
--- a/src/views/basicData/mdm/index.vue
+++ b/src/views/basicData/mdm/index.vue
@@ -14,7 +14,7 @@
import {
deleteItem,
deleteItemList,
- // exportItem,
+ exportItem,
getItemPage,
updateItemStatus,
updateItemSync,
@@ -81,11 +81,11 @@
gridApi.query();
}
-/** 瀵煎嚭琛ㄦ牸 */
-// async function handleExport() {
-// const data = await exportItem(await gridApi.formApi.getValues());
-// downloadFileFromBlobPart({ fileName: '鐗╂枡.xls', source: data });
-// }
+/** 瀵煎嚭琛ㄦ牸锛堟寜褰撳墠鍒楄〃鏌ヨ鏉′欢瀵煎嚭鍏ㄩ儴鍛戒腑鏁版嵁锛� */
+async function handleExport() {
+ const data = await exportItem(await gridApi.formApi.getValues());
+ downloadFileFromBlobPart({ fileName: '鐗╂枡鏁版嵁.xls', source: data });
+}
/** 鍒涘缓鐗╂枡 */
function handleCreate() {
@@ -241,13 +241,13 @@
auth: ['mdm:item:import'],
onClick: handleImport,
},
- // {
- // label: $t('ui.actionTitle.export'),
- // type: 'primary',
- // icon: ACTION_ICON.DOWNLOAD,
- // auth: ['mdm:item:export'],
- // onClick: handleExport,
- // },
+ {
+ label: $t('ui.actionTitle.export'),
+ type: 'primary',
+ icon: ACTION_ICON.DOWNLOAD,
+ auth: ['mdm:item:export'],
+ onClick: handleExport,
+ },
{
label: $t('ui.actionTitle.deleteBatch'),
type: 'primary',
diff --git a/src/views/basicData/mdm/unit/index.vue b/src/views/basicData/mdm/unit/index.vue
index 07cd0db..4a9fca8 100644
--- a/src/views/basicData/mdm/unit/index.vue
+++ b/src/views/basicData/mdm/unit/index.vue
@@ -3,12 +3,14 @@
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';
@@ -42,6 +44,12 @@
/** 瀵煎叆璁¢噺鍗曚綅 */
function handleImport() {
importModalApi.open();
+}
+
+/** 瀵煎嚭璁¢噺鍗曚綅锛堟寜褰撳墠鍒楄〃鏌ヨ鏉′欢瀵煎嚭鍏ㄩ儴鍛戒腑鏁版嵁锛� */
+async function handleExport() {
+ const data = await exportUnit(await gridApi.formApi.getValues());
+ downloadFileFromBlobPart({ fileName: '璁¢噺鍗曚綅鏁版嵁.xls', source: data });
}
/** 缂栬緫璁¢噺鍗曚綅 */
@@ -117,6 +125,13 @@
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>
diff --git a/src/views/mes/md/item/type/index.vue b/src/views/mes/md/item/type/index.vue
index d3765d9..0bf9953 100644
--- a/src/views/mes/md/item/type/index.vue
+++ b/src/views/mes/md/item/type/index.vue
@@ -5,11 +5,16 @@
import { ref } from 'vue';
import { Page, useVbenModal } from '@vben/common-ui';
+import { downloadFileFromBlobPart } from '@vben/utils';
import { message } from 'ant-design-vue';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
-import { deleteItemType, getItemTypeList } from '#/api/mes/md/item/type';
+import {
+ deleteItemType,
+ exportItemType,
+ getItemTypeList,
+} from '#/api/mes/md/item/type';
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
@@ -47,6 +52,12 @@
/** 瀵煎叆鍒嗙被 */
function handleImport() {
importModalApi.open();
+}
+
+/** 瀵煎嚭鍒嗙被锛堟寜褰撳墠鍒楄〃鏌ヨ鏉′欢瀵煎嚭鍏ㄩ儴鍛戒腑鏁版嵁锛� */
+async function handleExport() {
+ const data = await exportItemType(await gridApi.formApi.getValues());
+ downloadFileFromBlobPart({ fileName: '鐗╂枡鍒嗙被鏁版嵁.xls', source: data });
}
/** 娣诲姞涓嬬骇鍒嗙被 */
@@ -132,6 +143,13 @@
onClick: handleImport,
},
{
+ label: $t('ui.actionTitle.export'),
+ type: 'primary',
+ icon: ACTION_ICON.DOWNLOAD,
+ auth: ['mes:md-item-type:export'],
+ onClick: handleExport,
+ },
+ {
label: isExpanded ? '鏀剁缉' : '灞曞紑',
type: 'primary',
onClick: handleExpand,
--
Gitblit v1.9.3