feat:【ele】【crm】business 的迁移部分(list、form、detail)
This commit is contained in:
@@ -83,6 +83,54 @@ const routes: RouteRecordRaw[] = [
|
|||||||
},
|
},
|
||||||
component: () => import('#/views/crm/product/detail/index.vue'),
|
component: () => import('#/views/crm/product/detail/index.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'statistics/customer',
|
||||||
|
name: 'CrmStatisticsCustomer',
|
||||||
|
meta: {
|
||||||
|
title: '客户统计',
|
||||||
|
activePath: '/crm/statistics/customer',
|
||||||
|
},
|
||||||
|
component: () =>
|
||||||
|
import('#/views/crm/statistics/customer/index.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'statistics/funnel',
|
||||||
|
name: 'CrmStatisticsFunnel',
|
||||||
|
meta: {
|
||||||
|
title: '销售漏斗',
|
||||||
|
activePath: '/crm/statistics/funnel',
|
||||||
|
},
|
||||||
|
component: () => import('#/views/crm/statistics/funnel/index.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'statistics/performance',
|
||||||
|
name: 'CrmStatisticsPerformance',
|
||||||
|
meta: {
|
||||||
|
title: '员工业绩',
|
||||||
|
activePath: '/crm/statistics/performance',
|
||||||
|
},
|
||||||
|
component: () =>
|
||||||
|
import('#/views/crm/statistics/performance/index.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'statistics/portrait',
|
||||||
|
name: 'CrmStatisticsPortrait',
|
||||||
|
meta: {
|
||||||
|
title: '客户画像',
|
||||||
|
activePath: '/crm/statistics/portrait',
|
||||||
|
},
|
||||||
|
component: () =>
|
||||||
|
import('#/views/crm/statistics/portrait/index.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'statistics/rank',
|
||||||
|
name: 'CrmStatisticsRank',
|
||||||
|
meta: {
|
||||||
|
title: '排行榜',
|
||||||
|
activePath: '/crm/statistics/rank',
|
||||||
|
},
|
||||||
|
component: () => import('#/views/crm/statistics/rank/index.vue'),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -8,7 +8,13 @@ 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 { ElButton, ElLoading, ElMessage, ElTabPane, ElTabs } from 'element-plus';
|
import {
|
||||||
|
ElButton,
|
||||||
|
ElLoading,
|
||||||
|
ElMessage,
|
||||||
|
ElTabPane,
|
||||||
|
ElTabs,
|
||||||
|
} from 'element-plus';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ type Format =
|
|||||||
| (string & {});
|
| (string & {});
|
||||||
|
|
||||||
export function formatDate(time?: FormatDate, format: Format = 'YYYY-MM-DD') {
|
export function formatDate(time?: FormatDate, format: Format = 'YYYY-MM-DD') {
|
||||||
|
// 日期不存在,则返回空
|
||||||
|
if (!time) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
const date = dayjs.isDayjs(time) ? time : dayjs(time);
|
const date = dayjs.isDayjs(time) ? time : dayjs(time);
|
||||||
if (!date.isValid()) {
|
if (!date.isValid()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user