|
|
@ -9,7 +9,7 @@ |
|
|
|
<template #header> |
|
|
|
<div class="card-header"> |
|
|
|
<div class="card-title">当前金币余量</div> |
|
|
|
<div>{{ currentGold }} 较前一日 {{ dailyChange }} |
|
|
|
<div>{{ currentGold / 100 }} 较前一日 {{ dailyChange / 100 }} |
|
|
|
<template v-if="dailyChange > 0"> |
|
|
|
<el-icon style="color:forestgreen"><SemiSelect /></el-icon> |
|
|
|
</template> |
|
|
@ -20,9 +20,9 @@ |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<div> |
|
|
|
<div class="margin-bottom">永久金币:{{ currentPermanent }}</div> |
|
|
|
<div class="margin-bottom">免费金币:{{ currentFree }}</div> |
|
|
|
<div class="margin-bottom">[六月到期|{{ currentFreeJune }}] [12月到期|{{ currentFreeDecember }}]</div> |
|
|
|
<div class="margin-bottom">永久金币:{{ currentPermanent / 100 }}</div> |
|
|
|
<div class="margin-bottom">免费金币:{{ currentFree / 100 }}</div> |
|
|
|
<div class="margin-bottom">[六月到期|{{ currentFreeJune / 100 }}] [12月到期|{{ currentFreeDecember }}]</div> |
|
|
|
<div>任务金币:{{ currentTask }}</div> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
@ -32,12 +32,12 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<el-card class="card-item"> |
|
|
|
<div class="card-title">全年累计充值金币数</div> |
|
|
|
<div class="card-title">{{ yearlyRecharge }}</div> |
|
|
|
<div class="card-title">{{ yearlyRecharge / 100 }}</div> |
|
|
|
<div> </div> |
|
|
|
<div class="center-card">折合新币累计金额:{{ yearlyMoney }}</div> |
|
|
|
<div class="center-card">折合新币累计金额:{{ yearlyMoney / 100 }}</div> |
|
|
|
<template #footer > |
|
|
|
<el-col class="margin-bottom center-card">昨日新增:{{ recharge }}</el-col> |
|
|
|
<el-col class="margin-bottom center-card">其中充值:{{ money }}</el-col> |
|
|
|
<el-col class="margin-bottom center-card">昨日新增:{{ recharge / 100 }}</el-col> |
|
|
|
<el-col class="margin-bottom center-card">其中充值:{{ money / 100 }}</el-col> |
|
|
|
</template> |
|
|
|
</el-card> |
|
|
|
</el-col> |
|
|
@ -46,14 +46,14 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<el-card class="card-item"> |
|
|
|
<div class="card-title">全年累计消耗金币数</div> |
|
|
|
<div class="card-title">{{ yearlyReduce }}</div> |
|
|
|
<div class="center-card">消费:{{ yearlyConsume }}</div> |
|
|
|
<div class="center-card">退款:{{ yearlyRefund }}</div> |
|
|
|
<div class="card-title">{{ yearlyReduce / 100 }}</div> |
|
|
|
<div class="center-card">消费:{{ yearlyConsume / 100 }}</div> |
|
|
|
<div class="center-card">退款:{{ yearlyRefund / 100 }}</div> |
|
|
|
<template #footer> |
|
|
|
<div></div> |
|
|
|
<div class="margin-bottom center-card">昨日新增消耗:{{ dailyReduce }}</div> |
|
|
|
<div class="margin-bottom center-card">昨日新增消费:{{ dailyConsume }}</div> |
|
|
|
<div class="margin-bottom center-card">昨日新增退款:{{ dailyRefund }}</div> |
|
|
|
<div class="margin-bottom center-card">昨日新增消耗:{{ dailyReduce / 100 }}</div> |
|
|
|
<div class="margin-bottom center-card">昨日新增消费:{{ dailyConsume / 100 }}</div> |
|
|
|
<div class="margin-bottom center-card">昨日新增退款:{{ dailyRefund / 100 }}</div> |
|
|
|
</template> |
|
|
|
</el-card> |
|
|
|
</el-col> |
|
|
@ -90,16 +90,8 @@ |
|
|
|
<el-radio-button label="month" style="border-color: white">本月</el-radio-button> |
|
|
|
<el-radio-button label="year" style="border-color: white">本年</el-radio-button> |
|
|
|
</el-radio-group> |
|
|
|
<el-date-picker |
|
|
|
v-model="dateRange" |
|
|
|
type="daterange" |
|
|
|
range-separator="→" |
|
|
|
start-placeholder="开始时间" |
|
|
|
end-placeholder="结束时间" |
|
|
|
style="width: 200px" |
|
|
|
@change="handleDateRangeChange" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
/> |
|
|
|
<el-date-picker v-model="dateRange" type="daterange" range-separator="→" start-placeholder="开始时间" end-placeholder="结束时间" |
|
|
|
style="width: 200px" @change="handleDateRangeChange" value-format="YYYY-MM-DD HH:mm:ss" /> |
|
|
|
<el-button type="primary" style="margin-left: 5px" @click="getChartData">查询</el-button> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -124,7 +116,7 @@ |
|
|
|
<el-table-column prop="market" label="地区" align="center"></el-table-column> |
|
|
|
<el-table-column prop="coinAmount" label="金币数量" align="center"> |
|
|
|
<template #default="{ row }"> |
|
|
|
{{ row.coinAmount.toLocaleString() }} |
|
|
|
{{ row.coinAmount.toLocaleString() }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
@ -317,11 +309,11 @@ const processChartData = (marketCards) => { |
|
|
|
|
|
|
|
// 按市场组织数据 |
|
|
|
marketCards.forEach(market => { |
|
|
|
chartData.rechargePermanent.push(market.sumRechargePermanent || 0) |
|
|
|
chartData.rechargeFree.push(market.sumRechargeFree || 0) |
|
|
|
chartData.consumePermanent.push(market.sumConsumePermanent || 0) |
|
|
|
chartData.consumeFree.push(market.sumConsumeFree || 0) |
|
|
|
chartData.consumeTask.push(market.sumConsumeTask || 0) |
|
|
|
chartData.rechargePermanent.push(market.sumRechargePermanent / 100 || 0) |
|
|
|
chartData.rechargeFree.push(market.sumRechargeFree / 100 || 0) |
|
|
|
chartData.consumePermanent.push(market.sumConsumePermanent / 100 || 0) |
|
|
|
chartData.consumeFree.push(market.sumConsumeFree / 100 || 0) |
|
|
|
chartData.consumeTask.push(market.sumConsumeTask / 100 || 0) |
|
|
|
}) |
|
|
|
|
|
|
|
// 根据当前选中的标签更新图表 |
|
|
@ -335,10 +327,10 @@ const processRankingData = (marketCards) => { |
|
|
|
let coinAmount = 0; |
|
|
|
if (activeTab.value === 'recharge') { |
|
|
|
// 充值排名:永久金币 + 免费金币 |
|
|
|
coinAmount = (market.sumRechargePermanent || 0) + (market.sumRechargeFree || 0); |
|
|
|
coinAmount = (market.sumRechargePermanent / 100 || 0) + (market.sumRechargeFree / 100 || 0); |
|
|
|
} else { |
|
|
|
// 消费排名:永久金币 + 免费金币 + 任务金币 |
|
|
|
coinAmount = (market.sumConsumePermanent || 0) + (market.sumConsumeFree || 0) + (market.sumConsumeTask || 0); |
|
|
|
coinAmount = (market.sumConsumePermanent / 100 || 0) + (market.sumConsumeFree / 100 || 0) + (market.sumConsumeTask / 100 || 0); |
|
|
|
} |
|
|
|
return { |
|
|
|
market: market.market, // 使用 market 字段作为地区名称 |
|
|
|