feat: 邀请关系列表增加邀请人累计统计

This commit is contained in:
yml2213
2026-10-19 17:52:54 +08:00
parent 27a6442c18
commit 51855a0e17
4 changed files with 214 additions and 13 deletions
@@ -8,6 +8,14 @@ export interface AdminInvitationRow {
inviter_id: number
inviter_phone: string
inviter_nickname: string
/** 邀请人名下累计邀请人数(受当前站点范围限制) */
inviter_total_invited: number
/** 邀请人名下已实名生效人数 */
inviter_active_invited: number
/** 邀请人名下待实名人数 */
inviter_pending_invited: number
/** 邀请人名下无效邀请人数 */
inviter_invalid_invited: number
invitee_id: number
invitee_phone: string
invitee_nickname: string
@@ -196,7 +196,7 @@ function cycleLabel(cycle: string) {
<div class="page-header">
<h2>邀请返利与分成管理</h2>
<p class="page-desc">
配置主站及各分销站点的返利阶梯比例(首月、次月、往后永久),监控全网邀请关系与返利流水。
配置主站及各分销站点的返利阶梯比例(首月、次月、往后永久),监控全网邀请关系与返利流水,快速查看每位邀请人的累计邀请、已实名与待实名人数。
</p>
</div>
@@ -320,6 +320,9 @@ function cycleLabel(cycle: string) {
<el-button type="primary" :icon="Search" @click="searchInvitations">查询</el-button>
<el-button :icon="Refresh" @click="searchInvitations">刷新</el-button>
</div>
<div class="table-hint">
「邀请人累计」统计该邀请人名下全部邀请人数;分站后台仅统计本站范围。
</div>
<el-table
v-loading="loadingInvitations"
@@ -334,6 +337,23 @@ function cycleLabel(cycle: string) {
<code style="font-size: 12px; color: #64748b">{{ row.inviter_phone }}</code>
</template>
</el-table-column>
<el-table-column label="邀请人累计" align="center">
<el-table-column label="总邀请" width="86" align="center">
<template #default="{ row }">
<span class="invite-stat-total">{{ row.inviter_total_invited ?? 0 }}</span>
</template>
</el-table-column>
<el-table-column label="已实名" width="86" align="center">
<template #default="{ row }">
<span class="invite-stat-active">{{ row.inviter_active_invited ?? 0 }}</span>
</template>
</el-table-column>
<el-table-column label="待实名" width="86" align="center">
<template #default="{ row }">
<span class="invite-stat-pending">{{ row.inviter_pending_invited ?? 0 }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="被邀请人" min-width="150">
<template #default="{ row }">
<div>{{ row.invitee_nickname || '-' }}</div>
@@ -575,6 +595,27 @@ function cycleLabel(cycle: string) {
flex-wrap: wrap;
}
.table-hint {
margin-top: 10px;
font-size: 12px;
color: #94a3b8;
}
.invite-stat-total {
font-weight: 700;
color: #1e293b;
}
.invite-stat-active {
font-weight: 700;
color: #16a34a;
}
.invite-stat-pending {
font-weight: 700;
color: #d97706;
}
.pagination-box {
margin-top: 16px;
display: flex;