首页分析页

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
+10
View File
@@ -0,0 +1,10 @@
import createAxios from "@/utils/request";
import type IDashboardAnalysis from "@/domain/iDashboard";
/** 仪表盘分析页 - 聚合统计数据 */
export const getDashboardAnalysis = () => {
return createAxios<IDashboardAnalysis>({
url: "/dashboard/analysis",
method: "get",
});
};
+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;
}
+53 -44
View File
@@ -1,48 +1,57 @@
export default {
// Common
"dashboard.since.lastWeek": "Since last week",
"dashboard.vs.lastWeek": "vs last week",
// Key metric cards
"dashboard.analysis.salesAmount": "Sales",
"dashboard.analysis.orderCount": "Orders",
"dashboard.analysis.purchaseAmount": "Purchases",
"dashboard.analysis.receivable": "Receivable",
"dashboard.analysis.today": "Today",
"dashboard.analysis.thisWeek": "Last 7 days",
"dashboard.analysis.vsLastWeek": "vs last week",
"dashboard.analysis.totalBillAmount": "Total billed",
"dashboard.analysis.receivedAmount": "Received",
// Analysis Page
"dashboard.analysis.totalRevenue": "Total Revenue",
"dashboard.analysis.totalExpenses": "Total Expenses",
"dashboard.analysis.visitors": "Visitors",
"dashboard.analysis.likes": "Likes",
"dashboard.analysis.annualSales": "Annual Sales",
"dashboard.analysis.grossProfit": "Gross Profit",
"dashboard.analysis.netProfit": "Net Profit",
"dashboard.analysis.totalExpense": "Total Expense",
"dashboard.analysis.accessFrom": "Access From",
"dashboard.analysis.searchEngine": "Search Engine",
"dashboard.analysis.direct": "Direct",
"dashboard.analysis.email": "Email",
"dashboard.analysis.unionAds": "Union Ads",
"dashboard.analysis.videoAds": "Video Ads",
"dashboard.analysis.salesRanking": "Sales Ranking",
"dashboard.analysis.month": "Month",
"dashboard.analysis.year": "Year",
"dashboard.analysis.day": "Day",
"dashboard.analysis.article": "Article",
"dashboard.analysis.age": "Age",
"dashboard.analysis.address": "Address",
"dashboard.analysis.tags": "Tags",
"dashboard.analysis.action": "Action",
"dashboard.analysis.invite": "Invite",
"dashboard.analysis.delete": "Delete",
"dashboard.analysis.userReviews": "User Reviews",
"dashboard.analysis.reviewDescription": "Ant Design, a design language for background applications, is refined by Ant UED Team",
// Sales trend
"dashboard.analysis.salesTrend": "Sales Trend (Last 30 Days)",
"dashboard.analysis.amountAxis": "Amount",
"dashboard.analysis.ordersAxis": "Orders",
"dashboard.analysis.emptyTrend": "No orders in the last 30 days",
// Months
"dashboard.analysis.january": "January",
"dashboard.analysis.february": "February",
"dashboard.analysis.march": "March",
"dashboard.analysis.april": "April",
"dashboard.analysis.may": "May",
"dashboard.analysis.june": "June",
"dashboard.analysis.july": "July",
"dashboard.analysis.august": "August",
"dashboard.analysis.september": "September",
"dashboard.analysis.october": "October",
"dashboard.analysis.november": "November",
"dashboard.analysis.december": "December",
// Order status
"dashboard.analysis.orderStatusDistribution": "Order Status",
"dashboard.analysis.orderUnit": "",
// Category share
"dashboard.analysis.categorySales": "Sales by Category",
"dashboard.analysis.emptyCategory": "No sales data",
// Top products
"dashboard.analysis.topProducts": "Top 10 Products",
"dashboard.analysis.rank": "Rank",
"dashboard.analysis.productName": "Product",
"dashboard.analysis.quantity": "Qty",
"dashboard.analysis.amount": "Amount",
// Store ranking
"dashboard.analysis.topStores": "Top 10 Stores",
"dashboard.analysis.storeName": "Store",
// Reconciliation & payment
"dashboard.analysis.reconOverview": "Reconciliation & Payment",
"dashboard.analysis.billProgress": "Bill Payment Progress",
"dashboard.analysis.pendingPaymentReview": "Payments to Review",
"dashboard.analysis.pendingPaymentTip": "Payment vouchers submitted by stores, pending review",
"dashboard.analysis.billUnit": "",
// Latest orders
"dashboard.analysis.latestOrders": "Latest Orders",
"dashboard.analysis.orderNo": "Order No.",
"dashboard.analysis.store": "Store",
"dashboard.analysis.orderDate": "Date",
"dashboard.analysis.status": "Status",
// Archives
"dashboard.analysis.archivesStores": "Active Stores",
"dashboard.analysis.archivesProducts": "On-sale Products",
"dashboard.analysis.archivesSuppliers": "Suppliers",
"dashboard.analysis.archivesUsers": "Mini-app Users",
};
+53 -44
View File
@@ -1,48 +1,57 @@
export default {
// 通用
"dashboard.since.lastWeek": "自上周以来",
"dashboard.vs.lastWeek": "较上周",
// 核心指标卡
"dashboard.analysis.salesAmount": "销售额",
"dashboard.analysis.orderCount": "订单数",
"dashboard.analysis.purchaseAmount": "采购金额",
"dashboard.analysis.receivable": "应收余额",
"dashboard.analysis.today": "今日",
"dashboard.analysis.thisWeek": "近7天",
"dashboard.analysis.vsLastWeek": "较上周",
"dashboard.analysis.totalBillAmount": "账单总额",
"dashboard.analysis.receivedAmount": "已回款",
// Analysis 分析页面
"dashboard.analysis.totalRevenue": "总收入",
"dashboard.analysis.totalExpenses": "总支出",
"dashboard.analysis.visitors": "访客量",
"dashboard.analysis.likes": "点赞量",
"dashboard.analysis.annualSales": "年度销售额",
"dashboard.analysis.grossProfit": "毛利润",
"dashboard.analysis.netProfit": "净利润",
"dashboard.analysis.totalExpense": "总支出",
"dashboard.analysis.accessFrom": "Access From",
"dashboard.analysis.searchEngine": "Search Engine",
"dashboard.analysis.direct": "Direct",
"dashboard.analysis.email": "Email",
"dashboard.analysis.unionAds": "Union Ads",
"dashboard.analysis.videoAds": "Video Ads",
"dashboard.analysis.salesRanking": "销售排名",
"dashboard.analysis.month": "月份",
"dashboard.analysis.year": "年份",
"dashboard.analysis.day": "天",
"dashboard.analysis.article": "Article",
"dashboard.analysis.age": "Age",
"dashboard.analysis.address": "Address",
"dashboard.analysis.tags": "Tags",
"dashboard.analysis.action": "Action",
"dashboard.analysis.invite": "Invite",
"dashboard.analysis.delete": "Delete",
"dashboard.analysis.userReviews": "用户评价",
"dashboard.analysis.reviewDescription": "Ant Design, a design language for background applications, is refined by Ant UED Team",
// 销售趋势
"dashboard.analysis.salesTrend": "销售趋势(近30天)",
"dashboard.analysis.amountAxis": "金额",
"dashboard.analysis.ordersAxis": "订单数",
"dashboard.analysis.emptyTrend": "近30天暂无订单数据",
// 月份
"dashboard.analysis.january": "January",
"dashboard.analysis.february": "February",
"dashboard.analysis.march": "March",
"dashboard.analysis.april": "April",
"dashboard.analysis.may": "May",
"dashboard.analysis.june": "June",
"dashboard.analysis.july": "July",
"dashboard.analysis.august": "August",
"dashboard.analysis.september": "September",
"dashboard.analysis.october": "October",
"dashboard.analysis.november": "November",
"dashboard.analysis.december": "December",
// 订单状态
"dashboard.analysis.orderStatusDistribution": "订单状态分布",
"dashboard.analysis.orderUnit": "单",
// 品类占比
"dashboard.analysis.categorySales": "品类销售占比",
"dashboard.analysis.emptyCategory": "暂无销售数据",
// 热销商品
"dashboard.analysis.topProducts": "热销商品 TOP10",
"dashboard.analysis.rank": "排名",
"dashboard.analysis.productName": "商品名称",
"dashboard.analysis.quantity": "销量",
"dashboard.analysis.amount": "金额",
// 门店排行
"dashboard.analysis.topStores": "门店排行 TOP10",
"dashboard.analysis.storeName": "门店名称",
// 对账与回款
"dashboard.analysis.reconOverview": "对账与回款",
"dashboard.analysis.billProgress": "账单支付进度",
"dashboard.analysis.pendingPaymentReview": "待审核回款",
"dashboard.analysis.pendingPaymentTip": "门店已提交支付凭证,等待审核",
"dashboard.analysis.billUnit": "张",
// 最新订单
"dashboard.analysis.latestOrders": "最新订单",
"dashboard.analysis.orderNo": "订单号",
"dashboard.analysis.store": "门店",
"dashboard.analysis.orderDate": "下单日期",
"dashboard.analysis.status": "状态",
// 基础档案
"dashboard.analysis.archivesStores": "在营门店",
"dashboard.analysis.archivesProducts": "在售商品",
"dashboard.analysis.archivesSuppliers": "合作供应商",
"dashboard.analysis.archivesUsers": "小程序用户",
};
File diff suppressed because it is too large Load Diff