init: antdv-next

This commit is contained in:
dap
2026-01-08 20:56:07 +08:00
parent 1383f63361
commit a208034539
251 changed files with 417 additions and 401 deletions

View File

@@ -8,7 +8,7 @@ import { useAccess } from '@vben/access';
import { Page, useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -2,7 +2,7 @@
import { IconifyIcon } from '@vben/icons';
import { buildUUID } from '@vben/utils';
import { Input } from 'ant-design-vue';
import { Input } from 'antdv-next';
defineOptions({ name: 'SecretInput' });

View File

@@ -7,7 +7,7 @@ import type { SysConfig } from '#/api/system/config/model';
import { Page, useVbenModal } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -9,7 +9,7 @@ import { nextTick } from 'vue';
import { Page, useVbenDrawer } from '@vben/common-ui';
import { eachTree, getVxePopupContainer } from '@vben/utils';
import { Popconfirm, Space } from 'ant-design-vue';
import { Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { deptList, deptRemove } from '#/api/system/dept';

View File

@@ -10,7 +10,7 @@ import { ref } from 'vue';
import { useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -1,11 +1,11 @@
<script setup lang="ts">
import type { RadioChangeEvent } from 'ant-design-vue';
import type { RadioChangeEvent } from 'antdv-next';
import { computed } from 'vue';
import { usePreferences } from '@vben/preferences';
import { RadioGroup, Select } from 'ant-design-vue';
import { RadioGroup, Select } from 'antdv-next';
import { ColorPicker } from 'vue3-colorpicker';
import { tagSelectOptions } from '#/components/dict';

View File

@@ -22,7 +22,7 @@ import {
Popconfirm,
Space,
Tooltip,
} from 'ant-design-vue';
} from 'antdv-next';
import { useVbenVxeGrid } from '#/adapter/vxe-table';
import {

View File

@@ -9,7 +9,7 @@ import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -16,7 +16,7 @@ import {
treeToList,
} from '@vben/utils';
import { Popconfirm, Space, Switch, Tooltip } from 'ant-design-vue';
import { Popconfirm, Space, Switch, Tooltip } from 'antdv-next';
import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { menuCascadeRemove, menuList, menuRemove } from '#/api/system/menu';

View File

@@ -10,7 +10,7 @@ import {
listToTree,
} from '@vben/utils';
import { Input, Skeleton } from 'ant-design-vue';
import { Input, Skeleton } from 'antdv-next';
import { useVbenForm } from '#/adapter/form';
import { menuAdd, menuInfo, menuList, menuUpdate } from '#/api/system/menu';

View File

@@ -7,7 +7,7 @@ import type { Notice } from '#/api/system/notice/model';
import { Page, useVbenModal } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import { noticeList, noticeRemove } from '#/api/system/notice';

View File

@@ -3,7 +3,7 @@
该文件作为例子 使用原生表单而非useVbenForm
-->
<script setup lang="ts">
import type { RuleObject } from 'ant-design-vue/es/form';
import type { RuleObject } from 'antdv-next/es/form';
import { computed, ref } from 'vue';
@@ -12,7 +12,7 @@ import { DictEnum } from '@vben/constants';
import { $t } from '@vben/locales';
import { cloneDeep } from '@vben/utils';
import { Form, FormItem, Input, RadioGroup } from 'ant-design-vue';
import { Form, FormItem, Input, RadioGroup } from 'antdv-next';
import { pick } from 'lodash-es';
import { noticeAdd, noticeInfo, noticeUpdate } from '#/api/system/notice';

View File

@@ -3,7 +3,7 @@ import type { VxeGridProps } from '#/adapter/vxe-table';
import { DictEnum } from '@vben/constants';
import { Tag } from 'ant-design-vue';
import { Tag } from 'antdv-next';
import { z } from '#/adapter/form';
import { getDictOptions } from '#/utils/dict';

View File

@@ -8,7 +8,7 @@ import { useAccess } from '@vben/access';
import { Page, useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -5,7 +5,7 @@ import { useVbenDrawer } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { cloneDeep } from '@vben/utils';
import { Alert } from 'ant-design-vue';
import { Alert } from 'antdv-next';
import { useVbenForm } from '#/adapter/form';
import {

View File

@@ -23,7 +23,7 @@ import {
Spin,
Switch,
Tooltip,
} from 'ant-design-vue';
} from 'antdv-next';
import {
addSortParams,

View File

@@ -9,7 +9,7 @@ import { ref } from 'vue';
import { Page, useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -9,7 +9,7 @@ import { useRoute } from 'vue-router';
import { Page, useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -6,7 +6,7 @@ import { markRaw } from 'vue';
import { DictEnum } from '@vben/constants';
import { getPopupContainer } from '@vben/utils';
import { Tag } from 'ant-design-vue';
import { Tag } from 'antdv-next';
import { DefaultSlot } from '#/components/global/slot';
import { TreeSelectPanel } from '#/components/tree';

View File

@@ -11,7 +11,7 @@ import { useAccess } from '@vben/access';
import { Page, useVbenDrawer, useVbenModal } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -10,7 +10,7 @@ import { useAccess } from '@vben/access';
import { Fallback, Page, useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -6,7 +6,7 @@ import { useVbenDrawer } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { cloneDeep } from '@vben/utils';
import { Button, message, Skeleton } from 'ant-design-vue';
import { Button, message, Skeleton } from 'antdv-next';
import { useVbenForm } from '#/adapter/form';
import { tenantAdd, tenantInfo, tenantUpdate } from '#/api/system/tenant';

View File

@@ -10,7 +10,7 @@ import { useAccess } from '@vben/access';
import { Fallback, Page, useVbenDrawer } from '@vben/common-ui';
import { getVxePopupContainer } from '@vben/utils';
import { Modal, Popconfirm, Space } from 'ant-design-vue';
import { Modal, Popconfirm, Space } from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -6,7 +6,7 @@ import type { DeptTree } from '#/api/system/user/model';
import { onMounted, ref } from 'vue';
import { SyncOutlined } from '@ant-design/icons-vue';
import { Empty, InputSearch, Skeleton, Tree } from 'ant-design-vue';
import { Empty, InputSearch, Skeleton, Tree } from 'antdv-next';
import { getDeptTree } from '#/api/system/user';
@@ -83,12 +83,12 @@ onMounted(loadTree);
class="p-[8px]"
>
<div
class="bg-background flex h-full flex-col overflow-y-auto rounded-lg"
class="flex h-full flex-col overflow-y-auto rounded-lg bg-background"
>
<!-- 固定在顶部 必须加上bg-background背景色 否则会产生'穿透'效果 -->
<div
v-if="showSearch"
class="bg-background z-100 sticky left-0 top-0 p-[8px]"
class="sticky left-0 top-0 z-100 bg-background p-[8px]"
>
<InputSearch
v-model:value="searchValue"

View File

@@ -20,7 +20,7 @@ import {
Modal,
Popconfirm,
Space,
} from 'ant-design-vue';
} from 'antdv-next';
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import {

View File

@@ -7,7 +7,7 @@ import { useVbenDrawer } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { addFullName, cloneDeep, getPopupContainer } from '@vben/utils';
import { Tag } from 'ant-design-vue';
import { Tag } from 'antdv-next';
import { useVbenForm } from '#/adapter/form';
import { configInfoByKey } from '#/api/system/config';

View File

@@ -1,12 +1,12 @@
<script setup lang="ts">
import type { UploadFile } from 'ant-design-vue/es/upload/interface';
import type { UploadFile } from 'antdv-next';
import { h, ref, unref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { ExcelIcon, InBoxIcon } from '@vben/icons';
import { Modal, Switch, Upload } from 'ant-design-vue';
import { Modal, Switch, Upload } from 'antdv-next';
import { downloadImportTemplate, userImportData } from '#/api/system/user';
import { commonDownloadExcel } from '#/utils/file/download';
@@ -80,7 +80,7 @@ function handleCancel() {
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
>
<p class="ant-upload-drag-icon flex items-center justify-center">
<InBoxIcon class="text-primary size-[48px]" />
<InBoxIcon class="size-[48px] text-primary" />
</p>
<p class="ant-upload-text">点击或者拖拽到此处上传文件</p>
</UploadDragger>

View File

@@ -6,7 +6,7 @@ import { computed, shallowRef } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { DictEnum } from '@vben/constants';
import { Descriptions, DescriptionsItem, Tag } from 'ant-design-vue';
import { Descriptions, Tag } from 'antdv-next';
import dayjs from 'dayjs';
import duration from 'dayjs/plugin/duration';
import relativeTime from 'dayjs/plugin/relativeTime';
@@ -88,24 +88,24 @@ const diffLoginTime = computed(() => {
<template>
<BasicModal :footer="false" :fullscreen-button="false" title="用户信息">
<Descriptions v-if="currentUser" size="small" :column="1" bordered>
<DescriptionsItem label="userId">
<Descriptions.Item label="userId">
{{ currentUser.userId }}
</DescriptionsItem>
<DescriptionsItem label="用户状态">
</Descriptions.Item>
<Descriptions.Item label="用户状态">
<component
:is="renderDict(currentUser.status, DictEnum.SYS_NORMAL_DISABLE)"
/>
</DescriptionsItem>
<DescriptionsItem label="用户信息">
</Descriptions.Item>
<Descriptions.Item label="用户信息">
{{ mixInfo }}
</DescriptionsItem>
<DescriptionsItem label="手机号">
</Descriptions.Item>
<Descriptions.Item label="手机号">
{{ currentUser.phonenumber || '-' }}
</DescriptionsItem>
<DescriptionsItem label="邮箱">
</Descriptions.Item>
<Descriptions.Item label="邮箱">
{{ currentUser.email || '-' }}
</DescriptionsItem>
<DescriptionsItem label="岗位">
</Descriptions.Item>
<Descriptions.Item label="岗位">
<div
v-if="currentUser.postNames.length > 0"
class="flex flex-wrap gap-0.5"
@@ -115,8 +115,8 @@ const diffLoginTime = computed(() => {
</Tag>
</div>
<span v-else>-</span>
</DescriptionsItem>
<DescriptionsItem label="权限">
</Descriptions.Item>
<Descriptions.Item label="权限">
<div
v-if="currentUser.roleNames.length > 0"
class="flex flex-wrap gap-0.5"
@@ -126,14 +126,14 @@ const diffLoginTime = computed(() => {
</Tag>
</div>
<span v-else>-</span>
</DescriptionsItem>
<DescriptionsItem label="创建时间">
</Descriptions.Item>
<Descriptions.Item label="创建时间">
{{ currentUser.createTime }}
</DescriptionsItem>
<DescriptionsItem label="上次登录IP">
</Descriptions.Item>
<Descriptions.Item label="上次登录IP">
{{ currentUser.loginIp ?? '-' }}
</DescriptionsItem>
<DescriptionsItem label="上次登录时间">
</Descriptions.Item>
<Descriptions.Item label="上次登录时间">
<span>{{ currentUser.loginDate ?? '-' }}</span>
<Tag
class="ml-2"
@@ -143,10 +143,10 @@ const diffLoginTime = computed(() => {
>
{{ diffLoginTime }}
</Tag>
</DescriptionsItem>
<DescriptionsItem label="备注">
</Descriptions.Item>
<Descriptions.Item label="备注">
{{ currentUser.remark ?? '-' }}
</DescriptionsItem>
</Descriptions.Item>
</Descriptions>
</BasicModal>
</template>

View File

@@ -5,7 +5,7 @@ import { ref } from 'vue';
import { useVbenModal, z } from '@vben/common-ui';
import { Descriptions, DescriptionsItem } from 'ant-design-vue';
import { Descriptions, DescriptionsItem } from 'antdv-next';
import { useVbenForm } from '#/adapter/form';
import { userResetPassword } from '#/api/system/user';