首页分析页

This commit is contained in:
liu
2026-08-15 00:58:02 +08:00
parent 8368c51e3f
commit 7517d4a023
183 changed files with 1551 additions and 1510 deletions
+114
View File
@@ -0,0 +1,114 @@
/** 仪表盘 - 核心指标(销售额/订单数/采购金额) */
export interface IDashboardMetric {
/** 累计总量 */
total: number;
/** 今日值 */
today: number;
/** 近7天值 */
week: number;
/** 近7天环比增长率(%);上期为0时无基准,为 null */
growth: number | null;
/** 近7天每日值(迷你趋势图,旧到新) */
trend7: number[];
}
/** 仪表盘 - 应收余额 */
export interface IDashboardReceivable {
/** 账单总额 */
bill_total: number;
/** 已回款金额(已支付账单) */
received: number;
/** 应收余额(账单总额 - 已回款) */
unreceived: number;
}
/** 仪表盘 - 销售趋势点(近30天) */
export interface IDashboardTrendPoint {
date: string;
amount: number;
orders: number;
}
/** 仪表盘 - 订单状态分布 */
export interface IDashboardStatusCount {
status: number;
name: string;
count: number;
}
/** 仪表盘 - 品类销售占比 */
export interface IDashboardCategorySales {
name: string;
amount: number;
}
/** 仪表盘 - 热销商品 */
export interface IDashboardTopProduct {
product_id: number;
product_name: string;
product_spec: string;
unit: string;
quantity: number;
amount: number;
}
/** 仪表盘 - 门店排行 */
export interface IDashboardTopStore {
store_id: number;
store_name: string;
order_count: number;
amount: number;
}
/** 仪表盘 - 账单支付进度统计 */
export interface IDashboardReconStat {
/** 0待支付 1审核中 2已支付 */
pay_state: number;
name: string;
count: number;
amount: number;
}
/** 仪表盘 - 最新订单 */
export interface IDashboardLatestOrder {
id: number;
order_no: string;
store_name: string;
order_date: string;
total_amount: number;
status: number;
status_name: string;
}
/** 仪表盘 - 基础档案计数 */
export interface IDashboardArchives {
/** 在营门店 */
stores: number;
/** 在售商品 */
products: number;
/** 合作供应商 */
suppliers: number;
/** 小程序用户 */
users: number;
}
/** 仪表盘分析页聚合数据(GET /dashboard/analysis */
export default interface IDashboardAnalysis {
overview: {
sales: IDashboardMetric;
orders: IDashboardMetric;
purchase: IDashboardMetric;
receivable: IDashboardReceivable;
};
trend: IDashboardTrendPoint[];
order_status: IDashboardStatusCount[];
category_sales: IDashboardCategorySales[];
top_products: IDashboardTopProduct[];
top_stores: IDashboardTopStore[];
recon: {
bills: IDashboardReconStat[];
pending_payment: { count: number; amount: number };
};
latest_orders: IDashboardLatestOrder[];
archives: IDashboardArchives;
}