From e9164912e527e7d22bd0a1cce8e225287743f7bb Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 16 Nov 2025 20:02:53 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90ele=E3=80=91=E3=80=90erp?= =?UTF-8?q?=E3=80=91home=20=E7=9A=84=E8=BF=81=E7=A7=BB=EF=BC=88100%?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/erp/statistics/purchase/index.ts | 16 +- .../src/api/erp/statistics/sale/index.ts | 12 +- apps/web-antd/src/views/erp/home/index.vue | 6 +- .../{SummaryCard.vue => summary-card.vue} | 0 ...ummaryChart.vue => time-summary-chart.vue} | 8 +- .../src/api/erp/statistics/purchase/index.ts | 31 ++++ .../src/api/erp/statistics/sale/index.ts | 31 ++++ apps/web-ele/src/views/erp/home/index.vue | 51 ++++++ .../views/erp/home/modules/summary-card.vue | 69 ++++++++ .../erp/home/modules/time-summary-chart.vue | 161 ++++++++++++++++++ 10 files changed, 364 insertions(+), 21 deletions(-) rename apps/web-antd/src/views/erp/home/modules/{SummaryCard.vue => summary-card.vue} (100%) rename apps/web-antd/src/views/erp/home/modules/{TimeSummaryChart.vue => time-summary-chart.vue} (93%) create mode 100644 apps/web-ele/src/api/erp/statistics/purchase/index.ts create mode 100644 apps/web-ele/src/api/erp/statistics/sale/index.ts create mode 100644 apps/web-ele/src/views/erp/home/index.vue create mode 100644 apps/web-ele/src/views/erp/home/modules/summary-card.vue create mode 100644 apps/web-ele/src/views/erp/home/modules/time-summary-chart.vue diff --git a/apps/web-antd/src/api/erp/statistics/purchase/index.ts b/apps/web-antd/src/api/erp/statistics/purchase/index.ts index 170b9c117..126b6f283 100644 --- a/apps/web-antd/src/api/erp/statistics/purchase/index.ts +++ b/apps/web-antd/src/api/erp/statistics/purchase/index.ts @@ -1,16 +1,16 @@ import { requestClient } from '#/api/request'; export namespace ErpPurchaseStatisticsApi { - /** ERP 采购全局统计 */ - export interface PurchaseSummary { + /** 采购全局统计 */ + export interface PurchaseSummaryRespVO { todayPrice: number; // 今日采购金额 yesterdayPrice: number; // 昨日采购金额 monthPrice: number; // 本月采购金额 yearPrice: number; // 今年采购金额 } - /** ERP 采购时间段统计 */ - export interface PurchaseTimeSummary { + /** 采购时间段统计 */ + export interface PurchaseTimeSummaryRespVO { time: string; // 时间 price: number; // 采购金额 } @@ -18,14 +18,14 @@ export namespace ErpPurchaseStatisticsApi { /** 获得采购统计 */ export function getPurchaseSummary() { - return requestClient.get( + return requestClient.get( '/erp/purchase-statistics/summary', ); } /** 获得采购时间段统计 */ export function getPurchaseTimeSummary() { - return requestClient.get( - '/erp/purchase-statistics/time-summary', - ); + return requestClient.get< + ErpPurchaseStatisticsApi.PurchaseTimeSummaryRespVO[] + >('/erp/purchase-statistics/time-summary'); } diff --git a/apps/web-antd/src/api/erp/statistics/sale/index.ts b/apps/web-antd/src/api/erp/statistics/sale/index.ts index c4c7986a8..209c1c938 100644 --- a/apps/web-antd/src/api/erp/statistics/sale/index.ts +++ b/apps/web-antd/src/api/erp/statistics/sale/index.ts @@ -1,16 +1,16 @@ import { requestClient } from '#/api/request'; export namespace ErpSaleStatisticsApi { - /** ERP 销售全局统计 */ - export interface SaleSummary { + /** 销售全局统计 */ + export interface SaleSummaryRespVO { todayPrice: number; // 今日销售金额 yesterdayPrice: number; // 昨日销售金额 monthPrice: number; // 本月销售金额 yearPrice: number; // 今年销售金额 } - /** ERP 销售时间段统计 */ - export interface SaleTimeSummary { + /** 销售时间段统计 */ + export interface SaleTimeSummaryRespVO { time: string; // 时间 price: number; // 销售金额 } @@ -18,14 +18,14 @@ export namespace ErpSaleStatisticsApi { /** 获得销售统计 */ export function getSaleSummary() { - return requestClient.get( + return requestClient.get( '/erp/sale-statistics/summary', ); } /** 获得销售时间段统计 */ export function getSaleTimeSummary() { - return requestClient.get( + return requestClient.get( '/erp/sale-statistics/time-summary', ); } diff --git a/apps/web-antd/src/views/erp/home/index.vue b/apps/web-antd/src/views/erp/home/index.vue index 7b9d86e26..efb49045b 100644 --- a/apps/web-antd/src/views/erp/home/index.vue +++ b/apps/web-antd/src/views/erp/home/index.vue @@ -5,10 +5,10 @@ import { DocAlert, Page } from '@vben/common-ui'; import { Col, Row, Spin } from 'ant-design-vue'; -import SummaryCard from './modules/SummaryCard.vue'; -import TimeSummaryChart from './modules/TimeSummaryChart.vue'; +import SummaryCard from './modules/summary-card.vue'; +import TimeSummaryChart from './modules/time-summary-chart.vue'; -/** ERP首页 */ +/** ERP 首页 */ defineOptions({ name: 'ErpHome' }); const loading = ref(false); // 加载中 diff --git a/apps/web-antd/src/views/erp/home/modules/SummaryCard.vue b/apps/web-antd/src/views/erp/home/modules/summary-card.vue similarity index 100% rename from apps/web-antd/src/views/erp/home/modules/SummaryCard.vue rename to apps/web-antd/src/views/erp/home/modules/summary-card.vue diff --git a/apps/web-antd/src/views/erp/home/modules/TimeSummaryChart.vue b/apps/web-antd/src/views/erp/home/modules/time-summary-chart.vue similarity index 93% rename from apps/web-antd/src/views/erp/home/modules/TimeSummaryChart.vue rename to apps/web-antd/src/views/erp/home/modules/time-summary-chart.vue index 9bdc96eed..ef15eaaf1 100644 --- a/apps/web-antd/src/views/erp/home/modules/TimeSummaryChart.vue +++ b/apps/web-antd/src/views/erp/home/modules/time-summary-chart.vue @@ -26,17 +26,17 @@ const props = withDefaults(defineProps(), { }); /** 销售统计数据 */ -const saleSummary = ref(); // 销售概况统计 -const saleTimeSummaryList = ref(); // 销售时段统计 +const saleSummary = ref(); // 销售概况统计 +const saleTimeSummaryList = ref(); // 销售时段统计 const getSaleStatistics = async () => { saleSummary.value = await getSaleSummary(); saleTimeSummaryList.value = await getSaleTimeSummary(); }; /** 采购统计数据 */ -const purchaseSummary = ref(); // 采购概况统计 +const purchaseSummary = ref(); // 采购概况统计 const purchaseTimeSummaryList = - ref(); // 采购时段统计 + ref(); // 采购时段统计 const getPurchaseStatistics = async () => { purchaseSummary.value = await getPurchaseSummary(); purchaseTimeSummaryList.value = await getPurchaseTimeSummary(); diff --git a/apps/web-ele/src/api/erp/statistics/purchase/index.ts b/apps/web-ele/src/api/erp/statistics/purchase/index.ts new file mode 100644 index 000000000..126b6f283 --- /dev/null +++ b/apps/web-ele/src/api/erp/statistics/purchase/index.ts @@ -0,0 +1,31 @@ +import { requestClient } from '#/api/request'; + +export namespace ErpPurchaseStatisticsApi { + /** 采购全局统计 */ + export interface PurchaseSummaryRespVO { + todayPrice: number; // 今日采购金额 + yesterdayPrice: number; // 昨日采购金额 + monthPrice: number; // 本月采购金额 + yearPrice: number; // 今年采购金额 + } + + /** 采购时间段统计 */ + export interface PurchaseTimeSummaryRespVO { + time: string; // 时间 + price: number; // 采购金额 + } +} + +/** 获得采购统计 */ +export function getPurchaseSummary() { + return requestClient.get( + '/erp/purchase-statistics/summary', + ); +} + +/** 获得采购时间段统计 */ +export function getPurchaseTimeSummary() { + return requestClient.get< + ErpPurchaseStatisticsApi.PurchaseTimeSummaryRespVO[] + >('/erp/purchase-statistics/time-summary'); +} diff --git a/apps/web-ele/src/api/erp/statistics/sale/index.ts b/apps/web-ele/src/api/erp/statistics/sale/index.ts new file mode 100644 index 000000000..209c1c938 --- /dev/null +++ b/apps/web-ele/src/api/erp/statistics/sale/index.ts @@ -0,0 +1,31 @@ +import { requestClient } from '#/api/request'; + +export namespace ErpSaleStatisticsApi { + /** 销售全局统计 */ + export interface SaleSummaryRespVO { + todayPrice: number; // 今日销售金额 + yesterdayPrice: number; // 昨日销售金额 + monthPrice: number; // 本月销售金额 + yearPrice: number; // 今年销售金额 + } + + /** 销售时间段统计 */ + export interface SaleTimeSummaryRespVO { + time: string; // 时间 + price: number; // 销售金额 + } +} + +/** 获得销售统计 */ +export function getSaleSummary() { + return requestClient.get( + '/erp/sale-statistics/summary', + ); +} + +/** 获得销售时间段统计 */ +export function getSaleTimeSummary() { + return requestClient.get( + '/erp/sale-statistics/time-summary', + ); +} diff --git a/apps/web-ele/src/views/erp/home/index.vue b/apps/web-ele/src/views/erp/home/index.vue new file mode 100644 index 000000000..9f6f2ea14 --- /dev/null +++ b/apps/web-ele/src/views/erp/home/index.vue @@ -0,0 +1,51 @@ + + + diff --git a/apps/web-ele/src/views/erp/home/modules/summary-card.vue b/apps/web-ele/src/views/erp/home/modules/summary-card.vue new file mode 100644 index 000000000..ff98e556a --- /dev/null +++ b/apps/web-ele/src/views/erp/home/modules/summary-card.vue @@ -0,0 +1,69 @@ + + + diff --git a/apps/web-ele/src/views/erp/home/modules/time-summary-chart.vue b/apps/web-ele/src/views/erp/home/modules/time-summary-chart.vue new file mode 100644 index 000000000..fe164eb29 --- /dev/null +++ b/apps/web-ele/src/views/erp/home/modules/time-summary-chart.vue @@ -0,0 +1,161 @@ + + +