From a7dc7b230fcc6abc6ee5a7bfadb90789b03d2ca8 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 07 九月 2026 16:45:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0
---
src/views/mes/md/item/type/index.vue | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/src/views/mes/md/item/type/index.vue b/src/views/mes/md/item/type/index.vue
index d3765d9..859dcb2 100644
--- a/src/views/mes/md/item/type/index.vue
+++ b/src/views/mes/md/item/type/index.vue
@@ -5,11 +5,18 @@
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 { getItemPage as getMesItemPage } from '#/api/mes/md/item';
+import { getItemPage as getMdmItemPage } from '#/api/mdm/item';
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
@@ -49,6 +56,12 @@
importModalApi.open();
}
+/** 瀵煎嚭鍒嗙被锛堟寜褰撳墠鍒楄〃鏌ヨ鏉′欢瀵煎嚭鍏ㄩ儴鍛戒腑鏁版嵁锛� */
+async function handleExport() {
+ const data = await exportItemType(await gridApi.formApi.getValues());
+ downloadFileFromBlobPart({ fileName: '鐗╂枡鍒嗙被鏁版嵁.xls', source: data });
+}
+
/** 娣诲姞涓嬬骇鍒嗙被 */
function handleAppend(row: MesMdItemTypeApi.ItemType) {
formModalApi.setData({ parentId: row.id }).open();
@@ -61,6 +74,18 @@
/** 鍒犻櫎鍒嗙被 */
async function handleDelete(row: MesMdItemTypeApi.ItemType) {
+ try {
+ const [mesResult, mdmResult] = await Promise.all([
+ getMesItemPage({ pageNo: 1, pageSize: 1, itemTypeId: row.id }),
+ getMdmItemPage({ pageNo: 1, pageSize: 1, categoryId: row.id } as any),
+ ]);
+ if (mesResult.total > 0 || mdmResult.total > 0) {
+ message.error('璇ュ垎绫讳笅瀛樺湪鐗╂枡锛屾棤娉曞垹闄�');
+ return;
+ }
+ } catch {
+ // 鏌ヨ寮傚父鏃剁户缁墽琛屽垹闄わ紝鐢卞悗绔厹搴曟牎楠�
+ }
const hideLoading = message.loading({
content: $t('ui.actionMessage.deleting', [row.name]),
duration: 0,
@@ -132,6 +157,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