feat:【antd】mp/statistics 的代码迁移

This commit is contained in:
YunaiV
2025-10-25 14:33:16 +08:00
parent 080b57af07
commit 82e524076c
3 changed files with 29 additions and 29 deletions

View File

@@ -1,6 +1,6 @@
import type { MpStatisticsApi } from '#/api/mp/statistics'; import type { MpStatisticsApi } from '#/api/mp/statistics';
// 用户增减数据图表配置项 /** 用户增减数据图表配置项 */
export function userSummaryOption( export function userSummaryOption(
data: MpStatisticsApi.UserSummary[], data: MpStatisticsApi.UserSummary[],
dates: string[], dates: string[],
@@ -39,7 +39,7 @@ export function userSummaryOption(
}; };
} }
// 累计用户数据图表配置项 /** 累计用户数据图表配置项 */
export function userCumulateOption( export function userCumulateOption(
data: MpStatisticsApi.UserCumulate[], data: MpStatisticsApi.UserCumulate[],
dates: string[], dates: string[],
@@ -69,7 +69,7 @@ export function userCumulateOption(
}; };
} }
// 消息发送概况数据图表配置项 /** 消息发送概况数据图表配置项 */
export function upstreamMessageOption( export function upstreamMessageOption(
data: MpStatisticsApi.UpstreamMessage[], data: MpStatisticsApi.UpstreamMessage[],
dates: string[], dates: string[],
@@ -109,7 +109,7 @@ export function upstreamMessageOption(
}; };
} }
// 接口分析况数据图表配置项 /** 接口分析况数据图表配置项 */
export function interfaceSummaryOption( export function interfaceSummaryOption(
data: MpStatisticsApi.InterfaceSummary[], data: MpStatisticsApi.InterfaceSummary[],
dates: string[], dates: string[],

View File

@@ -5,6 +5,7 @@ import { beginOfDay, endOfDay, formatDateTime } from '@vben/utils';
import { getSimpleAccountList } from '#/api/mp/account'; import { getSimpleAccountList } from '#/api/mp/account';
/** 关联数据 */
let accountList: MpAccountApi.AccountSimple[] = []; let accountList: MpAccountApi.AccountSimple[] = [];
getSimpleAccountList().then((data) => (accountList = data)); getSimpleAccountList().then((data) => (accountList = data));
@@ -14,7 +15,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
{ {
fieldName: 'accountId', fieldName: 'accountId',
label: '公众号', label: '公众号',
component: 'Select', component: 'ApiSelect',
componentProps: { componentProps: {
options: accountList.map((item) => ({ options: accountList.map((item) => ({
label: item.name, label: item.name,

View File

@@ -1,7 +1,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { EchartsUIType } from '@vben/plugins/echarts'; import type { EchartsUIType } from '@vben/plugins/echarts';
import { ref } from 'vue'; 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';
@@ -16,7 +16,6 @@ import {
getUserCumulate, getUserCumulate,
getUserSummary, getUserSummary,
} from '#/api/mp/statistics'; } from '#/api/mp/statistics';
import { $t } from '#/locales';
import { import {
interfaceSummaryOption, interfaceSummaryOption,
@@ -41,24 +40,6 @@ const interfaceSummaryRef = ref<EchartsUIType>();
const { renderEcharts: renderInterfaceSummaryEcharts } = const { renderEcharts: renderInterfaceSummaryEcharts } =
useEcharts(interfaceSummaryRef); useEcharts(interfaceSummaryRef);
const [QueryForm] = useVbenForm({
commonConfig: {
componentProps: {
class: 'w-full',
},
},
handleSubmit: onSubmit,
layout: 'horizontal',
schema: useGridFormSchema(),
submitButtonOptions: {
content: $t('common.query'),
},
wrapperClass: 'grid-cols-1 md:grid-cols-2',
});
function onSubmit(values: Record<string, any>) {
getSummary(values);
}
/** 加载数据 */ /** 加载数据 */
async function getSummary(values: Record<string, any>) { async function getSummary(values: Record<string, any>) {
const accountId = values.accountId; const accountId = values.accountId;
@@ -89,19 +70,19 @@ async function getSummary(values: Record<string, any>) {
accountId, accountId,
date: dateRange, date: dateRange,
}); });
renderUserSummaryEcharts(userSummaryOption(userSummaryData, dates)); await renderUserSummaryEcharts(userSummaryOption(userSummaryData, dates));
// 累计用户数据 // 累计用户数据
const userCumulateData = await getUserCumulate({ const userCumulateData = await getUserCumulate({
accountId, accountId,
date: dateRange, date: dateRange,
}); });
renderUserCumulateEcharts(userCumulateOption(userCumulateData, dates)); await renderUserCumulateEcharts(userCumulateOption(userCumulateData, dates));
// 消息发送概况数据 // 消息发送概况数据
const upstreamMessageData = await getUpstreamMessage({ const upstreamMessageData = await getUpstreamMessage({
accountId, accountId,
date: dateRange, date: dateRange,
}); });
renderUpstreamMessageEcharts( await renderUpstreamMessageEcharts(
upstreamMessageOption(upstreamMessageData, dates), upstreamMessageOption(upstreamMessageData, dates),
); );
// 接口分析数据 // 接口分析数据
@@ -109,16 +90,34 @@ async function getSummary(values: Record<string, any>) {
accountId, accountId,
date: dateRange, date: dateRange,
}); });
renderInterfaceSummaryEcharts( await renderInterfaceSummaryEcharts(
interfaceSummaryOption(interfaceSummaryData, dates), interfaceSummaryOption(interfaceSummaryData, dates),
); );
} }
const [QueryForm, queryFormApi] = useVbenForm({
commonConfig: {
componentProps: {
class: 'w-full',
},
},
layout: 'horizontal',
schema: useGridFormSchema(),
wrapperClass: 'grid-cols-1 md:grid-cols-2',
handleSubmit: getSummary,
});
/** 初始化 */
onMounted(() => {
queryFormApi.submitForm();
});
</script> </script>
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<ContentWrap class="h-full w-full"> <ContentWrap class="h-full w-full">
<QueryForm /> <QueryForm />
<div class="flex h-1/3 w-full gap-4"> <div class="flex h-1/3 w-full gap-4">
<Card class="h-full w-1/2" title="用户增减数据"> <Card class="h-full w-1/2" title="用户增减数据">
<EchartsUI ref="userSummaryRef" /> <EchartsUI ref="userSummaryRef" />