diff --git a/backend/internal/modules/adminfinance/dashboard.go b/backend/internal/modules/adminfinance/dashboard.go
index fbf4853..5794eec 100644
--- a/backend/internal/modules/adminfinance/dashboard.go
+++ b/backend/internal/modules/adminfinance/dashboard.go
@@ -260,7 +260,8 @@ func (r *Repository) dailyItems(ctx context.Context, query DashboardQuery) ([]Fi
pickupProfits := make([]dailyPickupProfitRow, 0)
if err := db.Table("admin_pickups").
Select(`DATE(completed_at) AS date,
- COALESCE(SUM(profit_amount_cent), 0) AS profit_amount_cent`).
+ COALESCE(SUM(profit_amount_cent), 0) AS profit_amount_cent,
+ COUNT(id) AS completed_count`).
Where("status = ?", "completed").
Where("completed_at >= ? AND completed_at <= ?", query.StartDate, query.EndDate).
Group("DATE(completed_at)").
@@ -318,6 +319,7 @@ func (r *Repository) dailyItems(ctx context.Context, query DashboardQuery) ([]Fi
item.OfflineSettlementPendingAmountCent = row.OfflineSettlementPendingAmountCent
item.SettlementDiffAmountCent = row.OwnerShouldIncomeAmountCent - row.OwnerEffectiveSettlementAmountCent
item.SettledOrderCount = row.SettledOrderCount
+ item.SalesCount = row.SettledOrderCount
item.OfflineSettlementPendingCount = row.OfflineSettlementPendingCount
itemsByDate[date] = item
}
@@ -326,6 +328,8 @@ func (r *Repository) dailyItems(ctx context.Context, query DashboardQuery) ([]Fi
item := itemsByDate[date]
item.Date = date
item.PlatformIncomeAmountCent += row.ProfitAmountCent
+ item.PickupCompletedCount = row.CompletedCount
+ item.SalesCount += row.CompletedCount
itemsByDate[date] = item
}
for _, row := range estimates {
@@ -409,6 +413,7 @@ type dailySettlementRow struct {
type dailyPickupProfitRow struct {
Date string
ProfitAmountCent int64
+ CompletedCount int64
}
type dailyEstimatedRow struct {
diff --git a/backend/internal/modules/adminfinance/dto.go b/backend/internal/modules/adminfinance/dto.go
index cb296ba..ce74291 100644
--- a/backend/internal/modules/adminfinance/dto.go
+++ b/backend/internal/modules/adminfinance/dto.go
@@ -214,6 +214,8 @@ type FinanceDailyDTO struct {
PartialRefundCount int64 `json:"partial_refund_count"`
PendingRefundCount int64 `json:"pending_refund_count"`
SettledOrderCount int64 `json:"settled_order_count"`
+ PickupCompletedCount int64 `json:"pickup_completed_count"`
+ SalesCount int64 `json:"sales_count"`
OfflineSettlementPendingCount int64 `json:"offline_settlement_pending_count"`
OfflineSettlementPaidAmountCent int64 `json:"offline_settlement_paid_amount_cent"`
OfflineSettlementPaidCount int64 `json:"offline_settlement_paid_count"`
diff --git a/frontend/src/features/admin/api/adminFinance.ts b/frontend/src/features/admin/api/adminFinance.ts
index bcada81..d23f0e7 100644
--- a/frontend/src/features/admin/api/adminFinance.ts
+++ b/frontend/src/features/admin/api/adminFinance.ts
@@ -51,6 +51,8 @@ export interface FinanceDailyItem {
partial_refund_count: number
pending_refund_count: number
settled_order_count: number
+ pickup_completed_count: number
+ sales_count: number
offline_settlement_pending_count: number
offline_settlement_paid_amount_cent: number
offline_settlement_paid_count: number
diff --git a/frontend/src/features/admin/views/AdminFinanceDashboardView.vue b/frontend/src/features/admin/views/AdminFinanceDashboardView.vue
index 7887f86..8b1fbd3 100644
--- a/frontend/src/features/admin/views/AdminFinanceDashboardView.vue
+++ b/frontend/src/features/admin/views/AdminFinanceDashboardView.vue
@@ -6,7 +6,6 @@ import {
fetchFinanceDashboard,
SETTLEMENT_DIFF_THRESHOLD_CENT,
type FinanceDashboard,
- type FinanceDailyItem,
} from '@/features/admin/api/adminFinance'
import { formatCentWithSymbol } from '@/shared/utils/money'
import { formatDateTime, formatInputDate } from '@/shared/utils/time'
@@ -48,16 +47,6 @@ function defaultEndDate() {
function diffType(value: number) {
return Math.abs(Number(value || 0)) >= SETTLEMENT_DIFF_THRESHOLD_CENT ? 'danger' : 'success'
}
-
-function rowDiffClass(row: FinanceDailyItem) {
- return Math.abs(Number(row.settlement_diff_amount_cent || 0)) >= SETTLEMENT_DIFF_THRESHOLD_CENT
- ? 'amount-danger'
- : ''
-}
-
-function rowOfflinePendingClass(row: FinanceDailyItem) {
- return Number(row.offline_settlement_pending_amount_cent || 0) > 0 ? 'amount-warning' : ''
-}
@@ -259,73 +248,27 @@ function rowOfflinePendingClass(row: FinanceDailyItem) {
-
+
+
+ {{ row.settled_order_count }}
+
+
+ {{ row.pickup_completed_count }}
+
+
+ {{ row.sales_count }}
+
+
+ {{ moneyCent(row.platform_income_amount_cent) }}
+
{{ moneyCent(row.total_flow_amount_cent) }}
{{ moneyCent(row.total_refund_amount_cent) }}
-
- {{ moneyCent(row.channel_net_amount_cent) }}
-
-
- {{ moneyCent(row.platform_income_amount_cent) }}
-
-
- {{ moneyCent(row.owner_should_income_amount_cent) }}
-
-
- {{
- moneyCent(row.owner_effective_settlement_amount_cent)
- }}
-
-
- {{ moneyCent(row.disbursement_paid_amount_cent) }}
-
-
-
-
- {{ moneyCent(row.offline_settlement_paid_amount_cent) }}
-
-
-
-
- {{ moneyCent(row.withdrawal_paid_amount_cent) }}
-
-
-
-
- {{ moneyCent(row.manual_paid_amount_cent) }}
-
-
-
-
-
- {{ moneyCent(row.offline_settlement_pending_amount_cent) }}
-
-
-
-
-
- {{ moneyCent(row.settlement_diff_amount_cent) }}
-
-
-
- {{ moneyCent(row.estimated_income_amount_cent) }}
-
-
- {{ row.successful_pay_count }}
-
-
- {{ row.full_refund_count }}
-
-
- {{ row.partial_refund_count }}
-
-
- {{ row.settled_order_count }}
+ {{ moneyCent(row.disbursement_paid_amount_cent) }}
@@ -336,16 +279,6 @@ function rowOfflinePendingClass(row: FinanceDailyItem) {