This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<ElCard shadow="never" class="commission-stats-widget" v-if="stats">
|
||||
<ElCard shadow="never" class="commission-stats-widget">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<div class="header-left">
|
||||
<span class="header-title">佣金资金统计</span>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="header-right" v-if="stats">
|
||||
<span class="date-range">{{ startTime }} ~ {{ endTime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="stats-info">
|
||||
<div v-if="stats" class="stats-info">
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-breakdown">
|
||||
<div class="stats-breakdown" v-if="stats">
|
||||
<div class="breakdown-item">
|
||||
<span class="breakdown-label">成本价差占比</span>
|
||||
<span class="breakdown-value">{{ formatPercent(stats.cost_diff_percent) }}</span>
|
||||
@@ -70,9 +70,7 @@
|
||||
<span class="breakdown-value">{{ formatPercent(stats.one_time_percent) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</ElCard>
|
||||
<ElCard shadow="never" v-else class="commission-stats-widget empty-state">
|
||||
<div class="empty-content">
|
||||
<div v-if="!stats" class="empty-content">
|
||||
<i class="el-icon-info" style="font-size: 48px; color: var(--el-text-color-placeholder)"></i>
|
||||
<p>暂无佣金统计数据</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<ElCard shadow="never" class="commission-summary-widget" v-if="!errorMsg">
|
||||
<ElCard shadow="never" class="commission-summary-widget">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<div class="header-left">
|
||||
@@ -7,77 +7,77 @@
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="stats-info">
|
||||
<div v-if="!errorMsg" class="stats-info">
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
class="stat-icon"
|
||||
style="background: linear-gradient(135deg, #ff6b6b 0%, #ff8e53 100%)"
|
||||
>
|
||||
<i class="iconfont-sys"></i>
|
||||
</div>
|
||||
<div class="stats-content">
|
||||
<div class="stats-label">预充值余额</div>
|
||||
<div class="stats-value">{{ formatMoney(summary.main_balance) }}</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">预充值余额</div>
|
||||
<div class="stat-value">{{ formatMoney(summary.main_balance) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
class="stat-icon"
|
||||
style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
|
||||
>
|
||||
<i class="iconfont-sys"></i>
|
||||
</div>
|
||||
<div class="stats-content">
|
||||
<div class="stats-label">总佣金</div>
|
||||
<div class="stats-value">{{ formatMoney(summary.total_commission) }}</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">总佣金</div>
|
||||
<div class="stat-value">{{ formatMoney(summary.total_commission) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
class="stat-icon"
|
||||
style="background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%)"
|
||||
>
|
||||
<i class="iconfont-sys"></i>
|
||||
</div>
|
||||
<div class="stats-content">
|
||||
<div class="stats-label">可提现佣金</div>
|
||||
<div class="stats-value">{{ formatMoney(summary.available_commission) }}</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">可提现佣金</div>
|
||||
<div class="stat-value">{{ formatMoney(summary.available_commission) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
class="stat-icon"
|
||||
style="background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)"
|
||||
>
|
||||
<i class="iconfont-sys"></i>
|
||||
</div>
|
||||
<div class="stats-content">
|
||||
<div class="stats-label">冻结佣金</div>
|
||||
<div class="stats-value">{{ formatMoney(summary.frozen_commission) }}</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">冻结佣金</div>
|
||||
<div class="stat-value">{{ formatMoney(summary.frozen_commission) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
class="stat-icon"
|
||||
style="background: linear-gradient(135deg, #fa709a 0%, #fee140 100%)"
|
||||
>
|
||||
<i class="iconfont-sys"></i>
|
||||
</div>
|
||||
<div class="stats-content">
|
||||
<div class="stats-label">提现中佣金</div>
|
||||
<div class="stats-value">{{ formatMoney(summary.withdrawing_commission) }}</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">提现中佣金</div>
|
||||
<div class="stat-value">{{ formatMoney(summary.withdrawing_commission) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
class="stat-icon"
|
||||
style="background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)"
|
||||
>
|
||||
<i class="iconfont-sys"></i>
|
||||
</div>
|
||||
<div class="stats-content">
|
||||
<div class="stats-label">已提现佣金</div>
|
||||
<div class="stats-value">{{ formatMoney(summary.withdrawn_commission) }}</div>
|
||||
<div class="stat-content">
|
||||
<div class="stat-label">已提现佣金</div>
|
||||
<div class="stat-value">{{ formatMoney(summary.withdrawn_commission) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -104,9 +104,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ElCard>
|
||||
<ElCard shadow="never" v-else class="commission-summary-widget error-state">
|
||||
<div class="error-content">
|
||||
<div v-if="errorMsg" class="error-content">
|
||||
<i class="el-icon-warning" style="font-size: 48px; color: var(--el-color-warning)"></i>
|
||||
<p>{{ errorMsg }}</p>
|
||||
</div>
|
||||
@@ -250,7 +248,7 @@
|
||||
background: var(--el-fill-color-blank);
|
||||
border-radius: 8px;
|
||||
|
||||
.stats-icon {
|
||||
.stat-icon {
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
align-items: center;
|
||||
@@ -262,17 +260,17 @@
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.stats-content {
|
||||
.stat-content {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
|
||||
.stats-label {
|
||||
.stat-label {
|
||||
margin-bottom: 4px;
|
||||
font-size: 13px;
|
||||
color: var(--el-text-color-secondary);
|
||||
}
|
||||
|
||||
.stats-value {
|
||||
.stat-value {
|
||||
overflow: hidden;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
@@ -320,20 +318,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
&.error-state {
|
||||
.error-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 40px 20px;
|
||||
color: var(--el-text-color-secondary);
|
||||
.error-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 40px 20px;
|
||||
color: var(--el-text-color-secondary);
|
||||
|
||||
p {
|
||||
margin-top: 12px;
|
||||
font-size: 14px;
|
||||
color: var(--el-text-color-primary);
|
||||
}
|
||||
p {
|
||||
margin-top: 12px;
|
||||
font-size: 14px;
|
||||
color: var(--el-text-color-primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<ElCard shadow="never" class="daily-commission-stats-widget" v-if="statsList.length > 0">
|
||||
<ElCard shadow="never" class="daily-commission-stats-widget">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<div class="header-left">
|
||||
<span class="header-title">每日佣金统计</span>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="header-right" v-if="statsList.length > 0">
|
||||
<span class="date-range"
|
||||
>{{ formatDateRange(startDate) }} ~ {{ formatDateRange(endDate) }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="stats-info">
|
||||
<div v-if="statsList.length > 0" class="stats-info">
|
||||
<div class="stats-card">
|
||||
<div
|
||||
class="stats-icon"
|
||||
@@ -38,7 +38,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-chart">
|
||||
<div class="stats-chart" v-if="statsList.length > 0">
|
||||
<div class="chart-bar" v-for="item in statsList" :key="item.date">
|
||||
<div class="bar-label">{{ formatDateShort(item.date) }}</div>
|
||||
<div class="bar-value" :style="{ height: getBarHeight(item.total_amount) + 'px' }">
|
||||
@@ -48,9 +48,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ElCard>
|
||||
<ElCard shadow="never" v-else class="daily-commission-stats-widget empty-state">
|
||||
<div class="empty-content">
|
||||
<div v-if="statsList.length === 0" class="empty-content">
|
||||
<i class="el-icon-info" style="font-size: 48px; color: var(--el-text-color-placeholder)"></i>
|
||||
<p>暂无佣金统计数据</p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user