From 64a8cd04229f7b903913fc3dc7ef4aef267ac3bc Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 26 十月 2026 17:36:14 +0800
Subject: [PATCH] Merge branch 'dev_pro2.0' into dev_南通_苏珩
---
src/views/basicData/mdm/index.vue | 94 ++++++++++++++++++++++++++++++-----------------
1 files changed, 60 insertions(+), 34 deletions(-)
diff --git a/src/views/basicData/mdm/index.vue b/src/views/basicData/mdm/index.vue
index af385ba..b31f503 100644
--- a/src/views/basicData/mdm/index.vue
+++ b/src/views/basicData/mdm/index.vue
@@ -5,6 +5,8 @@
import { computed, ref } from 'vue';
+import { isAiEnable } from '@vben/hooks';
+
import { confirm, Page, useVbenModal } from '#/packages/effects/common-ui/src';
import { downloadFileFromBlobPart, isEmpty } from '#/packages/utils/src';
@@ -23,6 +25,7 @@
import { $t } from '#/locales';
import { useGridColumns, useGridFormSchema } from './data';
+import AgentImport from './modules/agent-import.vue';
import Form from './modules/form.vue';
import ImportForm from './modules/import-form.vue';
@@ -35,6 +38,11 @@
const [ImportModal, importModalApi] = useVbenModal({
connectedComponent: ImportForm,
+ destroyOnClose: true,
+});
+
+const [AgentImportModal, agentImportModalApi] = useVbenModal({
+ connectedComponent: AgentImport,
destroyOnClose: true,
});
@@ -96,6 +104,56 @@
function handleImport() {
importModalApi.open();
}
+
+/** 鏅鸿兘浣撳鍏ョ墿鏂� */
+function handleAgentImport() {
+ agentImportModalApi.open();
+}
+
+/** 宸ュ叿鏍忔寜閽細鏅鸿兘浣撳鍏ュ彈 AI 鎬诲紑鍏虫帶鍒� */
+const toolbarActions = computed(() => [
+ {
+ label: $t('ui.actionTitle.create', ['鐗╂枡']),
+ type: 'primary' as const,
+ icon: ACTION_ICON.ADD,
+ auth: ['mdm:item:create'],
+ onClick: handleCreate,
+ },
+ {
+ label: $t('ui.actionTitle.import', ['鐗╂枡']),
+ type: 'primary' as const,
+ icon: ACTION_ICON.UPLOAD,
+ auth: ['mdm:item:import'],
+ onClick: handleImport,
+ },
+ ...(isAiEnable()
+ ? [
+ {
+ label: '鏅鸿兘浣撳鍏�',
+ type: 'primary' as const,
+ icon: ACTION_ICON.UPLOAD,
+ auth: ['mdm:item:import'],
+ onClick: handleAgentImport,
+ },
+ ]
+ : []),
+ {
+ label: $t('ui.actionTitle.export'),
+ type: 'primary' as const,
+ icon: ACTION_ICON.DOWNLOAD,
+ auth: ['mdm:item:export'],
+ onClick: handleExport,
+ },
+ {
+ label: $t('ui.actionTitle.deleteBatch'),
+ type: 'primary' as const,
+ danger: true,
+ icon: ACTION_ICON.DELETE,
+ auth: ['mdm:item:delete'],
+ disabled: isEmpty(checkedIds),
+ onClick: handleDeleteBatch,
+ },
+]);
/** 缂栬緫鐗╂枡 */
function handleEdit(row: MdmItemApi.Item) {
@@ -223,42 +281,10 @@
<Page auto-content-height>
<FormModal @success="handleRefresh" />
<ImportModal @success="handleRefresh" />
+ <AgentImportModal @success="handleRefresh" />
<Grid table-title="鐗╂枡鍒楄〃">
<template #toolbar-tools>
- <TableAction
- :actions="[
- {
- label: $t('ui.actionTitle.create', ['鐗╂枡']),
- type: 'primary',
- icon: ACTION_ICON.ADD,
- auth: ['mdm:item:create'],
- onClick: handleCreate,
- },
- {
- label: $t('ui.actionTitle.import', ['鐗╂枡']),
- type: 'primary',
- icon: ACTION_ICON.UPLOAD,
- 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.deleteBatch'),
- type: 'primary',
- danger: true,
- icon: ACTION_ICON.DELETE,
- auth: ['mdm:item:delete'],
- disabled: isEmpty(checkedIds),
- onClick: handleDeleteBatch,
- },
- ]"
- />
+ <TableAction :actions="toolbarActions" />
</template>
<template #categoryName="{ row }">
<Tag v-if="getCategoryColor(row.categoryId)" :color="getCategoryColor(row.categoryId)">{{ getCategoryName(row.categoryId) }}</Tag>
--
Gitblit v1.9.3