fix(@vben/web-antdv-next): 补充废弃 API 修复,补充缺失的组件导入
- 补充 TabPane 组件导入(约 48 个文件) - 补充 TimelineItem 组件导入(3 个文件) - Tabs tab-position → tab-placement,left → start - Steps.Step 子组件 → items 数组模式 - TimelineItem #dot slot → #icon slot - adapter Modal destroyOnClose → destroyOnHidden - adapter visibleEvent onVisibleChange → onOpenChangepull/344/head
parent
6cbbe88902
commit
0d7d7aea73
|
|
@ -15,6 +15,7 @@ import {
|
||||||
RadioButton,
|
RadioButton,
|
||||||
RadioGroup,
|
RadioGroup,
|
||||||
Select,
|
Select,
|
||||||
|
TabPane,
|
||||||
Tabs,
|
Tabs,
|
||||||
} from 'antdv-next';
|
} from 'antdv-next';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ async function handleOk() {
|
||||||
const uploadApi = props.uploadApi;
|
const uploadApi = props.uploadApi;
|
||||||
if (uploadApi && isFunction(uploadApi)) {
|
if (uploadApi && isFunction(uploadApi)) {
|
||||||
if (!previewSource.value) {
|
if (!previewSource.value) {
|
||||||
message.warn('未选择图片');
|
message.warning('未选择图片');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const blob = dataURLtoBlob(previewSource.value);
|
const blob = dataURLtoBlob(previewSource.value);
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ function getUserTypeColor(userType: number) {
|
||||||
<div class="pt-5">
|
<div class="pt-5">
|
||||||
<Timeline>
|
<Timeline>
|
||||||
<TimelineItem v-for="log in logList" :key="log.id">
|
<TimelineItem v-for="log in logList" :key="log.id">
|
||||||
<template #dot>
|
<template #icon>
|
||||||
<span
|
<span
|
||||||
:style="{ backgroundColor: getUserTypeColor(log.userType) }"
|
:style="{ backgroundColor: getUserTypeColor(log.userType) }"
|
||||||
class="flex h-5 w-5 items-center justify-center rounded-full text-[10px] text-white"
|
class="flex h-5 w-5 items-center justify-center rounded-full text-[10px] text-white"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { onMounted, ref } from 'vue';
|
||||||
import { Page } from '@vben/common-ui';
|
import { Page } from '@vben/common-ui';
|
||||||
import { useUserStore } from '@vben/stores';
|
import { useUserStore } from '@vben/stores';
|
||||||
|
|
||||||
import { Card, Tabs } from 'antdv-next';
|
import { Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getAuthPermissionInfoApi } from '#/api';
|
import { getAuthPermissionInfoApi } from '#/api';
|
||||||
import { getUserProfile } from '#/api/system/user/profile';
|
import { getUserProfile } from '#/api/system/user/profile';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { useVbenDrawer, useVbenModal } from '@vben/common-ui';
|
import { useVbenDrawer, useVbenModal } from '@vben/common-ui';
|
||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import { Button, Input, Layout, Tabs } from 'antdv-next';
|
import { Button, Input, Layout, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { createChatConversationMy } from '#/api/ai/chat/conversation';
|
import { createChatConversationMy } from '#/api/ai/chat/conversation';
|
||||||
import { deleteMy, getCategoryList, getMyPage } from '#/api/ai/model/chatRole';
|
import { deleteMy, getCategoryList, getMyPage } from '#/api/ai/model/chatRole';
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { ref } from 'vue';
|
||||||
|
|
||||||
import { DocAlert, Page } from '@vben/common-ui';
|
import { DocAlert, Page } from '@vben/common-ui';
|
||||||
|
|
||||||
import { Tabs } from 'antdv-next';
|
import { TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import ChatConversationList from './modules/conversation-list.vue';
|
import ChatConversationList from './modules/conversation-list.vue';
|
||||||
import ChatMessageList from './modules/message-list.vue';
|
import ChatMessageList from './modules/message-list.vue';
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ provide('currentSong', currentSong);
|
||||||
<Tabs
|
<Tabs
|
||||||
v-model:active-key="currentType"
|
v-model:active-key="currentType"
|
||||||
class="flex-auto px-5"
|
class="flex-auto px-5"
|
||||||
tab-position="bottom"
|
tab-placement="bottom"
|
||||||
>
|
>
|
||||||
<!-- 我的创作 -->
|
<!-- 我的创作 -->
|
||||||
<TabPane key="mine" tab="我的创作" v-loading="loading">
|
<TabPane key="mine" tab="我的创作" v-loading="loading">
|
||||||
|
|
|
||||||
|
|
@ -209,7 +209,7 @@ onMounted(() => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div v-if="filteredProcessDefinitionList?.length" class="-ml-6">
|
<div v-if="filteredProcessDefinitionList?.length" class="-ml-6">
|
||||||
<Tabs v-model:active-key="activeCategory" tab-position="left">
|
<Tabs v-model:active-key="activeCategory" tab-placement="start">
|
||||||
<TabPane
|
<TabPane
|
||||||
v-for="category in availableCategories"
|
v-for="category in availableCategories"
|
||||||
:key="category.code"
|
:key="category.code"
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,16 @@ import { useTabs } from '@vben/hooks';
|
||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import formCreate from '@form-create/antdv-next';
|
import formCreate from '@form-create/antdv-next';
|
||||||
import { Button, Card, Col, message, Row, Space, Tabs } from 'antdv-next';
|
import {
|
||||||
|
Button,
|
||||||
|
Card,
|
||||||
|
Col,
|
||||||
|
message,
|
||||||
|
Row,
|
||||||
|
Space,
|
||||||
|
TabPane,
|
||||||
|
Tabs,
|
||||||
|
} from 'antdv-next';
|
||||||
|
|
||||||
import { getProcessDefinition } from '#/api/bpm/definition';
|
import { getProcessDefinition } from '#/api/bpm/definition';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,14 @@ import {
|
||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
import { formatDateTime, isEmpty } from '@vben/utils';
|
import { formatDateTime, isEmpty } from '@vben/utils';
|
||||||
|
|
||||||
import { Avatar, Button, Image, Timeline, Tooltip } from 'antdv-next';
|
import {
|
||||||
|
Avatar,
|
||||||
|
Button,
|
||||||
|
Image,
|
||||||
|
Timeline,
|
||||||
|
TimelineItem,
|
||||||
|
Tooltip,
|
||||||
|
} from 'antdv-next';
|
||||||
|
|
||||||
import { UserSelectModal } from '#/views/system/user/components';
|
import { UserSelectModal } from '#/views/system/user/components';
|
||||||
|
|
||||||
|
|
@ -238,7 +245,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
|
||||||
:key="index"
|
:key="index"
|
||||||
:color="getApprovalNodeColor(activity.status)"
|
:color="getApprovalNodeColor(activity.status)"
|
||||||
>
|
>
|
||||||
<template #dot>
|
<template #icon>
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
<div
|
<div
|
||||||
class="position-absolute left--2.5 top--1.5 flex h-8 w-8 items-center justify-center rounded-full border border-solid border-gray-200 bg-blue-500 p-1.5"
|
class="position-absolute left--2.5 top--1.5 flex h-8 w-8 items-center justify-center rounded-full border border-solid border-gray-200 bg-blue-500 p-1.5"
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page, useVbenModal } from '@vben/common-ui';
|
import { Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Button, Card, Tabs } from 'antdv-next';
|
import { Button, Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getBusiness } from '#/api/crm/business';
|
import { getBusiness } from '#/api/crm/business';
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, message, Tabs } from 'antdv-next';
|
import { Card, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getClue, transformClue } from '#/api/crm/clue';
|
import { getClue, transformClue } from '#/api/crm/clue';
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import { deleteClue, exportClue, getCluePage } from '#/api/crm/clue';
|
import { deleteClue, exportClue, getCluePage } from '#/api/crm/clue';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page, useVbenModal } from '@vben/common-ui';
|
import { Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, Tabs } from 'antdv-next';
|
import { Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getContact } from '#/api/crm/contact';
|
import { getContact } from '#/api/crm/contact';
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page, useVbenModal } from '@vben/common-ui';
|
import { Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, Tabs } from 'antdv-next';
|
import { Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getContract } from '#/api/crm/contract';
|
import { getContract } from '#/api/crm/contract';
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, message, Tabs } from 'antdv-next';
|
import { Card, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getCustomer,
|
getCustomer,
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { ref } from 'vue';
|
||||||
|
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page } from '@vben/common-ui';
|
import { Page } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Button, Card, Tabs } from 'antdv-next';
|
import { Button, Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
import { BizTypeEnum } from '#/api/crm/permission';
|
import { BizTypeEnum } from '#/api/crm/permission';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page, useVbenModal } from '@vben/common-ui';
|
import { Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, Tabs } from 'antdv-next';
|
import { Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
import { BizTypeEnum } from '#/api/crm/permission';
|
import { BizTypeEnum } from '#/api/crm/permission';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page, useVbenModal } from '@vben/common-ui';
|
import { Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, Tabs } from 'antdv-next';
|
import { Card, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction } from '#/adapter/vxe-table';
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { onMounted, ref } from 'vue';
|
||||||
import { ContentWrap, Page } from '@vben/common-ui';
|
import { ContentWrap, Page } from '@vben/common-ui';
|
||||||
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
||||||
|
|
||||||
import { Tabs } from 'antdv-next';
|
import { TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import { reactive, ref } from 'vue';
|
||||||
import { ContentWrap, Page } from '@vben/common-ui';
|
import { ContentWrap, Page } from '@vben/common-ui';
|
||||||
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
||||||
|
|
||||||
import { Button, Space, Tabs } from 'antdv-next';
|
import { Button, Space, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import { ContentWrap, Page } from '@vben/common-ui';
|
||||||
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
||||||
import { beginOfDay, endOfDay, formatDateTime } from '@vben/utils';
|
import { beginOfDay, endOfDay, formatDateTime } from '@vben/utils';
|
||||||
|
|
||||||
import { Tabs } from 'antdv-next';
|
import { TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { onMounted, ref } from 'vue';
|
||||||
import { ContentWrap, Page } from '@vben/common-ui';
|
import { ContentWrap, Page } from '@vben/common-ui';
|
||||||
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
||||||
|
|
||||||
import { Tabs } from 'antdv-next';
|
import { TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { onMounted, ref } from 'vue';
|
||||||
import { ContentWrap, Page } from '@vben/common-ui';
|
import { ContentWrap, Page } from '@vben/common-ui';
|
||||||
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
|
||||||
|
|
||||||
import { Tabs } from 'antdv-next';
|
import { TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
|
|
|
||||||
|
|
@ -49,12 +49,12 @@ async function submitForm() {
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const basicInfoValid = await basicInfoRef.value?.validate();
|
const basicInfoValid = await basicInfoRef.value?.validate();
|
||||||
if (!basicInfoValid) {
|
if (!basicInfoValid) {
|
||||||
message.warn('保存失败,原因:基本信息表单校验失败请检查!!!');
|
message.warning('保存失败,原因:基本信息表单校验失败请检查!!!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const generateInfoValid = await generateInfoRef.value?.validate();
|
const generateInfoValid = await generateInfoRef.value?.validate();
|
||||||
if (!generateInfoValid) {
|
if (!generateInfoValid) {
|
||||||
message.warn('保存失败,原因:生成信息表单校验失败请检查!!!');
|
message.warning('保存失败,原因:生成信息表单校验失败请检查!!!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -125,13 +125,8 @@ getDetail();
|
||||||
type="navigation"
|
type="navigation"
|
||||||
v-model:current="currentStep"
|
v-model:current="currentStep"
|
||||||
class="mb-8 rounded shadow-sm"
|
class="mb-8 rounded shadow-sm"
|
||||||
>
|
:items="steps.map((step) => ({ title: step.title }))"
|
||||||
<Steps.Step
|
/>
|
||||||
v-for="(step, index) in steps"
|
|
||||||
:key="index"
|
|
||||||
:title="step.title"
|
|
||||||
/>
|
|
||||||
</Steps>
|
|
||||||
|
|
||||||
<div class="flex-1 overflow-auto py-4">
|
<div class="flex-1 overflow-auto py-4">
|
||||||
<!-- 根据当前步骤显示对应的组件 -->
|
<!-- 根据当前步骤显示对应的组件 -->
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { IconifyIcon } from '@vben/icons';
|
||||||
import { CodeEditor } from '@vben/plugins/code-editor';
|
import { CodeEditor } from '@vben/plugins/code-editor';
|
||||||
|
|
||||||
import { useClipboard } from '@vueuse/core';
|
import { useClipboard } from '@vueuse/core';
|
||||||
import { Button, DirectoryTree, message, Tabs } from 'antdv-next';
|
import { Button, DirectoryTree, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { previewCodegen } from '#/api/infra/codegen';
|
import { previewCodegen } from '#/api/infra/codegen';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { ref } from 'vue';
|
||||||
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
|
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { ref } from 'vue';
|
||||||
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
|
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { computed, ref } from 'vue';
|
||||||
|
|
||||||
import { useVbenModal } from '@vben/common-ui';
|
import { useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { computed, ref } from 'vue';
|
||||||
|
|
||||||
import { useVbenModal } from '@vben/common-ui';
|
import { useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
import { formatDateTime } from '@vben/utils';
|
import { formatDateTime } from '@vben/utils';
|
||||||
|
|
||||||
import { Timeline } from 'antdv-next';
|
import { Timeline, TimelineItem } from 'antdv-next';
|
||||||
|
|
||||||
import { CronTab } from '#/components/cron-tab';
|
import { CronTab } from '#/components/cron-tab';
|
||||||
import { DictTag } from '#/components/dict-tag';
|
import { DictTag } from '#/components/dict-tag';
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { Page } from '@vben/common-ui';
|
import { Page } from '@vben/common-ui';
|
||||||
import { DeviceTypeEnum } from '@vben/constants';
|
import { DeviceTypeEnum } from '@vben/constants';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getDevice } from '#/api/iot/device/device';
|
import { getDevice } from '#/api/iot/device/device';
|
||||||
import { getProduct, ProtocolTypeEnum } from '#/api/iot/product/product';
|
import { getProduct, ProtocolTypeEnum } from '#/api/iot/product/product';
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { ref } from 'vue';
|
||||||
|
|
||||||
import { ContentWrap } from '@vben/common-ui';
|
import { ContentWrap } from '@vben/common-ui';
|
||||||
|
|
||||||
import { Tabs } from 'antdv-next';
|
import { TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import DeviceDetailsThingModelEvent from './thing-model-event.vue';
|
import DeviceDetailsThingModelEvent from './thing-model-event.vue';
|
||||||
import DeviceDetailsThingModelProperty from './thing-model-property.vue';
|
import DeviceDetailsThingModelProperty from './thing-model-property.vue';
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { Page } from '@vben/common-ui';
|
import { Page } from '@vben/common-ui';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getDeviceCount } from '#/api/iot/device/device';
|
import { getDeviceCount } from '#/api/iot/device/device';
|
||||||
import { getProduct } from '#/api/iot/product/product';
|
import { getProduct } from '#/api/iot/product/product';
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { confirm, DocAlert, Page } from '@vben/common-ui';
|
||||||
import { ProductSpuStatusEnum } from '@vben/constants';
|
import { ProductSpuStatusEnum } from '@vben/constants';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { message, Tabs } from 'antdv-next';
|
import { message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { DocAlert, Page } from '@vben/common-ui';
|
||||||
import { DICT_TYPE } from '@vben/constants';
|
import { DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
|
|
||||||
import { Button, Image, Tabs, Tag } from 'antdv-next';
|
import { Button, Image, TabPane, Tabs, Tag } from 'antdv-next';
|
||||||
|
|
||||||
import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import { getAfterSalePage } from '#/api/mall/trade/afterSale';
|
import { getAfterSalePage } from '#/api/mall/trade/afterSale';
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { onMounted, ref } from 'vue';
|
||||||
import { DocAlert, Page } from '@vben/common-ui';
|
import { DocAlert, Page } from '@vben/common-ui';
|
||||||
import { fenToYuan, yuanToFen } from '@vben/utils';
|
import { fenToYuan, yuanToFen } from '@vben/utils';
|
||||||
|
|
||||||
import { Card, message, Tabs } from 'antdv-next';
|
import { Card, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter/form';
|
import { useVbenForm } from '#/adapter/form';
|
||||||
import { getTradeConfig, saveTradeConfig } from '#/api/mall/trade/config';
|
import { getTradeConfig, saveTradeConfig } from '#/api/mall/trade/config';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRouter } from 'vue-router';
|
||||||
import { DICT_TYPE } from '@vben/constants';
|
import { DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
|
|
||||||
import { Button, Image, Tabs, Tag } from 'antdv-next';
|
import { Button, Image, TabPane, Tabs, Tag } from 'antdv-next';
|
||||||
|
|
||||||
import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import { getAfterSalePage } from '#/api/mall/trade/afterSale';
|
import { getAfterSalePage } from '#/api/mall/trade/afterSale';
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { AutoReplyMsgType } from '@vben/constants';
|
import { AutoReplyMsgType } from '@vben/constants';
|
||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import { message, Row, Tabs } from 'antdv-next';
|
import { message, Row, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { computed, ref, unref, watch } from 'vue';
|
||||||
import { NewsType, ReplyType } from '@vben/constants';
|
import { NewsType, ReplyType } from '@vben/constants';
|
||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import { Row, Tabs } from 'antdv-next';
|
import { Row, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import TabImage from './tab-image.vue';
|
import TabImage from './tab-image.vue';
|
||||||
import TabMusic from './tab-music.vue';
|
import TabMusic from './tab-music.vue';
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { confirm, DocAlert, Page } from '@vben/common-ui';
|
||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
import { $t } from '@vben/locales';
|
import { $t } from '@vben/locales';
|
||||||
|
|
||||||
import { Button, message, Tabs } from 'antdv-next';
|
import { Button, message, TabPane, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import { deletePermanentMaterial, getMaterialPage } from '#/api/mp/material';
|
import { deletePermanentMaterial, getMaterialPage } from '#/api/mp/material';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue