diff --git a/.vscode/settings.json b/.vscode/settings.json
index fb263f7f..0cbfa452 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -221,5 +221,6 @@
"vue.server.hybridMode": true,
"vitest.disableWorkspaceWarning": true,
"cSpell.words": ["tinymce"],
- "typescript.tsdk": "node_modules/typescript/lib"
+ "typescript.tsdk": "node_modules/typescript/lib",
+ "editor.linkedEditing": true // 自动同步更改html标签
}
diff --git a/apps/web-antd/src/views/monitor/logininfor/data.tsx b/apps/web-antd/src/views/monitor/logininfor/data.tsx
index 7e2873c7..9f544f2d 100644
--- a/apps/web-antd/src/views/monitor/logininfor/data.tsx
+++ b/apps/web-antd/src/views/monitor/logininfor/data.tsx
@@ -101,7 +101,7 @@ export const columns: VxeGridProps['columns'] = [
fixed: 'right',
slots: { default: 'action' },
title: '操作',
- width: 120,
+ width: 150,
},
];
diff --git a/apps/web-antd/src/views/monitor/logininfor/index.vue b/apps/web-antd/src/views/monitor/logininfor/index.vue
index 19720295..9de855e9 100644
--- a/apps/web-antd/src/views/monitor/logininfor/index.vue
+++ b/apps/web-antd/src/views/monitor/logininfor/index.vue
@@ -4,6 +4,7 @@ import type { Recordable } from '@vben/types';
import { ref } from 'vue';
import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
@@ -169,24 +170,25 @@ async function handleUnlock() {
-
- {{ $t('pages.common.info') }}
-
- handleDelete(row)"
- >
-
+
+ {{ $t('pages.common.info') }}
+
+ handleDelete(row)"
>
- 删除
-
-
+
+ 删除
+
+
+
diff --git a/apps/web-antd/src/views/monitor/online/index.vue b/apps/web-antd/src/views/monitor/online/index.vue
index f9d5bf17..aaa8ae8b 100644
--- a/apps/web-antd/src/views/monitor/online/index.vue
+++ b/apps/web-antd/src/views/monitor/online/index.vue
@@ -2,6 +2,7 @@
import type { Recordable } from '@vben/types';
import { Page, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Popconfirm } from 'ant-design-vue';
@@ -59,11 +60,12 @@ async function handleForceOffline(row: Recordable) {
- 强制下线
+ 强制下线
diff --git a/apps/web-antd/src/views/monitor/operlog/index.vue b/apps/web-antd/src/views/monitor/operlog/index.vue
index 93cdb8d9..d10479f1 100644
--- a/apps/web-antd/src/views/monitor/operlog/index.vue
+++ b/apps/web-antd/src/views/monitor/operlog/index.vue
@@ -167,14 +167,12 @@ async function handleDelete() {
-
{{ $t('pages.common.preview') }}
-
+
diff --git a/apps/web-antd/src/views/system/client/index.vue b/apps/web-antd/src/views/system/client/index.vue
index 6df423b1..4f4250a0 100644
--- a/apps/web-antd/src/views/system/client/index.vue
+++ b/apps/web-antd/src/views/system/client/index.vue
@@ -5,6 +5,7 @@ import { ref } from 'vue';
import { useAccess } from '@vben/access';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
@@ -158,31 +159,30 @@ const { hasAccessByCodes } = useAccess();
/>
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/config/index.vue b/apps/web-antd/src/views/system/config/index.vue
index d5e8b9f7..f5957a58 100644
--- a/apps/web-antd/src/views/system/config/index.vue
+++ b/apps/web-antd/src/views/system/config/index.vue
@@ -4,6 +4,7 @@ import type { Recordable } from '@vben/types';
import { ref } from 'vue';
import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import dayjs from 'dayjs';
@@ -161,29 +162,28 @@ async function handleRefreshCache() {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/dept/data.ts b/apps/web-antd/src/views/system/dept/data.ts
index 43503ba8..d55ad4d8 100644
--- a/apps/web-antd/src/views/system/dept/data.ts
+++ b/apps/web-antd/src/views/system/dept/data.ts
@@ -57,7 +57,7 @@ export const columns: VxeGridProps['columns'] = [
fixed: 'right',
slots: { default: 'action' },
title: '操作',
- width: 180,
+ width: 200,
},
];
diff --git a/apps/web-antd/src/views/system/dept/index.vue b/apps/web-antd/src/views/system/dept/index.vue
index ce334d63..6200416f 100644
--- a/apps/web-antd/src/views/system/dept/index.vue
+++ b/apps/web-antd/src/views/system/dept/index.vue
@@ -4,7 +4,12 @@ import type { Recordable } from '@vben/types';
import { nextTick } from 'vue';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
-import { eachTree, listToTree, removeEmptyChildren } from '@vben/utils';
+import {
+ eachTree,
+ getPopupContainer,
+ listToTree,
+ removeEmptyChildren,
+} from '@vben/utils';
import { QuestionCircleOutlined } from '@ant-design/icons-vue';
import { Popconfirm, Space, Tooltip } from 'ant-design-vue';
@@ -153,38 +158,35 @@ function setExpandOrCollapse(expand: boolean) {
-
- {{ $t('pages.common.edit') }}
-
-
- {{ $t('pages.common.add') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+ {{ $t('pages.common.add') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
@@ -194,9 +196,11 @@ function setExpandOrCollapse(expand: boolean) {
diff --git a/apps/web-antd/src/views/system/dict/data/index.vue b/apps/web-antd/src/views/system/dict/data/index.vue
index c1c3f756..447294ee 100644
--- a/apps/web-antd/src/views/system/dict/data/index.vue
+++ b/apps/web-antd/src/views/system/dict/data/index.vue
@@ -4,6 +4,7 @@ import type { Recordable } from '@vben/types';
import { ref } from 'vue';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import dayjs from 'dayjs';
@@ -174,29 +175,28 @@ emitter.on('rowClick', async (value) => {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/dict/type/index.vue b/apps/web-antd/src/views/system/dict/type/index.vue
index 24dc2717..c4b24f1c 100644
--- a/apps/web-antd/src/views/system/dict/type/index.vue
+++ b/apps/web-antd/src/views/system/dict/type/index.vue
@@ -4,6 +4,7 @@ import type { Recordable } from '@vben/types';
import { ref } from 'vue';
import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import {
Dropdown,
@@ -219,29 +220,28 @@ function handleSyncTenantDict() {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/menu/index.vue b/apps/web-antd/src/views/system/menu/index.vue
index 6d1a310f..8d78bce4 100644
--- a/apps/web-antd/src/views/system/menu/index.vue
+++ b/apps/web-antd/src/views/system/menu/index.vue
@@ -6,7 +6,12 @@ import { computed } from 'vue';
import { useAccess } from '@vben/access';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
import { Fallback } from '@vben/common-ui';
-import { eachTree, listToTree, removeEmptyChildren } from '@vben/utils';
+import {
+ eachTree,
+ getPopupContainer,
+ listToTree,
+ removeEmptyChildren,
+} from '@vben/utils';
import { Popconfirm, Space, Tooltip } from 'ant-design-vue';
@@ -153,29 +158,28 @@ const isAdmin = computed(() => {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/notice/index.vue b/apps/web-antd/src/views/system/notice/index.vue
index b2f34950..1ec922f8 100644
--- a/apps/web-antd/src/views/system/notice/index.vue
+++ b/apps/web-antd/src/views/system/notice/index.vue
@@ -4,6 +4,7 @@ import type { Recordable } from '@vben/types';
import { ref } from 'vue';
import { Page, useVbenModal, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import dayjs from 'dayjs';
@@ -146,29 +147,28 @@ function handleMultiDelete() {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/oss-config/index.vue b/apps/web-antd/src/views/system/oss-config/index.vue
index a499f5d4..712c82ff 100644
--- a/apps/web-antd/src/views/system/oss-config/index.vue
+++ b/apps/web-antd/src/views/system/oss-config/index.vue
@@ -5,6 +5,7 @@ import { ref } from 'vue';
import { useAccess } from '@vben/access';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import dayjs from 'dayjs';
@@ -159,29 +160,28 @@ const { hasAccessByCodes } = useAccess();
/>
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/oss/index.vue b/apps/web-antd/src/views/system/oss/index.vue
index 5d20aca2..c3756fa3 100644
--- a/apps/web-antd/src/views/system/oss/index.vue
+++ b/apps/web-antd/src/views/system/oss/index.vue
@@ -6,6 +6,7 @@ import { useRouter } from 'vue-router';
import { Page, type VbenFormProps } from '@vben/common-ui';
import { $t } from '@vben/locales';
+import { getPopupContainer } from '@vben/utils';
import {
Image,
@@ -192,29 +193,28 @@ function isImageFile(ext: string) {
{{ row.url }}
-
- {{ $t('pages.common.download') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.download') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/post/index.vue b/apps/web-antd/src/views/system/post/index.vue
index ccaed9c1..4e9cbac0 100644
--- a/apps/web-antd/src/views/system/post/index.vue
+++ b/apps/web-antd/src/views/system/post/index.vue
@@ -4,6 +4,7 @@ import type { Recordable } from '@vben/types';
import { ref } from 'vue';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import dayjs from 'dayjs';
@@ -175,29 +176,28 @@ function handleMultiDelete() {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/system/role-assign/index.vue b/apps/web-antd/src/views/system/role-assign/index.vue
index f51a6c9a..e32ab2b9 100644
--- a/apps/web-antd/src/views/system/role-assign/index.vue
+++ b/apps/web-antd/src/views/system/role-assign/index.vue
@@ -5,6 +5,7 @@ import { ref } from 'vue';
import { useRoute } from 'vue-router';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
@@ -142,19 +143,18 @@ function handleMultipleAuthCancel() {
-
取消授权
-
+
diff --git a/apps/web-antd/src/views/system/role/index.vue b/apps/web-antd/src/views/system/role/index.vue
index 2c5de524..b033a085 100644
--- a/apps/web-antd/src/views/system/role/index.vue
+++ b/apps/web-antd/src/views/system/role/index.vue
@@ -210,29 +210,28 @@ function handleAssignRole(record: Recordable) {
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
{
/>
-
-
+
{{ $t('pages.common.edit') }}
-
+
-
+
{{ $t('pages.common.sync') }}
-
+
{
title="确认删除?"
@confirm="handleDelete(row)"
>
-
{{ $t('pages.common.delete') }}
-
+
-
+
diff --git a/apps/web-antd/src/views/system/tenantPackage/index.vue b/apps/web-antd/src/views/system/tenantPackage/index.vue
index 2dadde00..a9cd1341 100644
--- a/apps/web-antd/src/views/system/tenantPackage/index.vue
+++ b/apps/web-antd/src/views/system/tenantPackage/index.vue
@@ -6,6 +6,7 @@ import { computed, ref } from 'vue';
import { useAccess } from '@vben/access';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
import { Fallback } from '@vben/common-ui';
+import { getPopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import dayjs from 'dayjs';
@@ -179,29 +180,28 @@ const isSuperAdmin = computed(() => {
/>
-
- {{ $t('pages.common.edit') }}
-
-
-
+
- {{ $t('pages.common.delete') }}
-
-
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
diff --git a/apps/web-antd/src/views/tool/gen/table-import-modal.vue b/apps/web-antd/src/views/tool/gen/table-import-modal.vue
index 180d55a2..cf00607e 100644
--- a/apps/web-antd/src/views/tool/gen/table-import-modal.vue
+++ b/apps/web-antd/src/views/tool/gen/table-import-modal.vue
@@ -63,6 +63,7 @@ const gridOptions: VxeGridProps = {
],
keepSource: true,
size: 'small',
+ minHeight: 400,
pagerConfig: {},
proxyConfig: {
ajax: {