manghe/app/admin/view/Statistics/dataStand.html
2025-04-29 20:18:33 +08:00

698 lines
41 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{include file="Public:header2"/}
<style>
.s-row {
margin-top: 5px;
margin-bottom: 5px;
}
</style>
<body>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-row">
</div>
<div class="layui-col-xs6">
<div class="layui-card">
<div class="layui-card-header" style="background-color: #1E3A8A; color: #fff; font-weight: 700; height: 41px; line-height: 41px; padding: 0 20px; border-radius: 2px 2px 0 0;">
今日订单
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshTodayOrder"
style="float: right;margin-top: 10px;">
<i class="layui-icon layui-icon-refresh"></i> 刷新
</button>
</div>
<div class="layui-card-body" style="padding: 0px;">
<div id="todayOrderLoading" style="text-align: center; padding: 20px;">
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
style="font-size: 30px;"></i>
<p>正在加载数据...</p>
</div>
<div class="layui-row" id="todayOrderData" style="display: none;">
<!-- 第一行:发起订单数,支付订单数,消费人数,空 -->
<div class="layui-col-xs12" style="margin-bottom: 5px;">
<div class="layui-row">
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>发起订单数:<span style="float: right; font-weight: 600;" id="initiate_order_count">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>支付订单数:<span style="float: right; font-weight: 600;" id="paid_order_count">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>消费人数:<span style="float: right; font-weight: 600;"
id="consuming_user_count_today">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
<!-- 第二行:订单总金额,出货总金额,优惠卷抵扣,空 -->
<div class="layui-col-xs12" style="margin-bottom: 5px;">
<div class="layui-row">
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>订单总金额:<span style="float: right; font-weight: 600;" id="order_total_amount">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>出货总金额:<span style="float: right; font-weight: 600;" id="goods_total_amount">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>&nbsp;</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>优惠券抵扣:<span style="float: right; font-weight: 600;" id="coupon_discount">-</span></p>
</div>
</div>
</div>
</div>
</div>
<!-- 第三行RMB支付钻石支付UU币支付达达券支付 -->
<div class="layui-col-xs12">
<div class="layui-row">
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>RMB支付<span style="float: right; font-weight: 600;" id="rmb_payment">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>钻石支付:<span style="float: right; font-weight: 600;" id="diamond_payment">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>UU币支付<span style="float: right; font-weight: 600;" id="uu_payment">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>达达券支付:<span style="float: right; font-weight: 600;" id="dada_payment">-</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-xs6">
<div class="layui-card">
<div class="layui-card-header"
style="background: #2563EB; color: #fff; font-weight: 700; height: 41px; line-height: 41px; padding: 0 20px; border-radius: 2px 2px 0 0;">
<div style="position: relative">
<span>今日货币信息</span>
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshCurrencyInfo"
style="float: right;margin-top: 10px;">
<i class="layui-icon layui-icon-refresh"></i> 刷新
</button>
</div>
</div>
<div class="layui-card-body" style="padding: 0px;">
<div id="currencyInfoLoading" style="text-align: center; padding: 20px;">
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
style="font-size: 30px;"></i>
<p>正在加载数据...</p>
</div>
<div class="layui-row" id="currencyInfoData" style="display: none;">
<!-- 第一行:今日发放钻石,今日消费钻石,昨日发放钻石,昨日消费钻石 -->
<div class="layui-col-xs12" style="margin-bottom: 5px;">
<div class="layui-row">
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>今日发放钻石:<span style="float: right; font-weight: 600;" id="today_add_money">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>今日消费钻石:<span style="float: right; font-weight: 600;" id="today_use_money">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>昨日发放钻石:<span style="float: right; font-weight: 600;" id="yesterday_add_money">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #EFF6FF; color: #1E40AF; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>昨日消费钻石:<span style="float: right; font-weight: 600;" id="yesterday_use_money">-</span>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- 第二行今日发放UU币今日消费UU币昨日发放UU币昨日消费UU币 -->
<div class="layui-col-xs12" style="margin-bottom: 5px;">
<div class="layui-row">
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>今日发放UU币<span style="float: right; font-weight: 600;" id="today_add_integral">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>今日消费UU币<span style="float: right; font-weight: 600;" id="today_use_integral">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>昨日发放UU币<span style="float: right; font-weight: 600;"
id="yesterday_add_integral">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #ECFDF5; color: #065F46; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>昨日消费UU币<span style="float: right; font-weight: 600;"
id="yesterday_use_integral">-</span></p>
</div>
</div>
</div>
</div>
</div>
<!-- 第三行:今日兑换达达券,今日消费达达券,昨日兑换达达券,昨日消费达达券 -->
<div class="layui-col-xs12">
<div class="layui-row">
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>今日发放达达券:<span style="float: right; font-weight: 600;" id="today_add_money2">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>今日消费达达券:<span style="float: right; font-weight: 600;" id="today_use_money2">-</span>
</p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>昨日发放达达券:<span style="float: right; font-weight: 600;"
id="yesterday_add_money2">-</span></p>
</div>
</div>
</div>
<div class="layui-col-xs3" style="padding: 0px 2px;">
<div class="layui-card"
style="background-color: #F9FAFB; color: #111827; margin: 0;">
<div class="layui-card-body" style="padding: 10px;">
<p>昨日消费达达券:<span style="float: right; font-weight: 600;"
id="yesterday_use_money2">-</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs6">
<div class="layui-card">
<div class="layui-card-header" style="background-color: #1E3A8A; color: #fff; font-weight: 700; height: 41px; line-height: 41px; padding: 0 20px; border-radius: 2px 2px 0 0;">
今日收入汇总
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshProfit"
style="float: right;margin-top: 10px;">
<i class="layui-icon layui-icon-refresh"></i> 刷新
</button>
</div>
<div class="layui-card-body" style="padding: 0px;">
<div id="profitDataLoading" style="text-align: center; padding: 20px;">
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
style="font-size: 30px;"></i>
<p>正在加载数据...</p>
</div>
<table class="layui-table" id="profitDataTable" style="display: none;">
<colgroup>
<col width="150">
<col>
</colgroup>
<tbody>
<tr>
<td>订单收入RMB+钻石):</td>
<td id="today_income">加载中...</td>
</tr>
<tr>
<td>RMB收入</td>
<td id="rmb_income">加载中...</td>
</tr>
<tr>
<td>其他收入:</td>
<td id="other_income">加载中...</td>
</tr>
<tr>
<td>订单出货:</td>
<td id="shipped_today">加载中...</td>
</tr>
<tr>
<td>支出:</td>
<td id="expenses">加载中...</td>
</tr>
<tr>
<td>当天发货金额:</td>
<td id="today_shipped">加载中...</td>
</tr>
<tr>
<td>当天用户剩余达达券:</td>
<td id="remaining_coupon">加载中...</td>
</tr>
<tr>
<td>盒柜剩余价值:</td>
<td id="box_remaining">加载中...</td>
</tr>
<tr>
<td>利润:</td>
<td id="profit_value">
<div class="layui-progress" lay-filter="profit-loading"
style="margin-top: 10px;">
<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>
</div>
</td>
</tr>
<tr>
<td>利润计算方式:</td>
<td id="profit_formula">加载中...</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-col-xs6">
<div class="layui-card">
<div class="layui-card-header" style="text-align:center;background-color: #1E9FFF;color:#fff;">
用户数据统计
<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" id="refreshUserStats"
style="float: right;margin-top: 5px;">
<i class="layui-icon layui-icon-refresh"></i> 刷新
</button>
</div>
<div class="layui-card-body" style="padding: 0px;">
<div id="userStatsLoading" style="text-align: center; padding: 20px;">
<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"
style="font-size: 30px;"></i>
<p>正在加载数据...</p>
</div>
<table class="layui-table" id="userStatsTable" style="display: none;">
<colgroup>
<col width="25%">
<col width="25%">
<col width="25%">
<col width="25%">
</colgroup>
<tbody>
<tr>
<td>绑定手机号人数:</td>
<td id="user_register_count">-</td>
<td>抽奖人数:</td>
<td id="consuming_user_count">-</td>
</tr>
<tr>
<td>用户剩余钻石:</td>
<td id="user_money">-</td>
<td>用户剩余UU币</td>
<td id="user_integral">-</td>
</tr>
<tr>
<td>用户剩余达达券:</td>
<td id="user_money2">-</td>
<td>微信支付金额:</td>
<td id="order_price_total">-</td>
</tr>
<tr>
<td>订单支付数量:</td>
<td id="order_total_count">-</td>
<td>用户出货总金额:</td>
<td id="total_goods_amount">-</td>
</tr>
<tr>
<td>用户盒柜剩余价值:</td>
<td id="box_remaining_value">-</td>
<td>用户已兑换的达达券:</td>
<td id="exchanged_coupon">-</td>
</tr>
<tr>
<td>用户已发货金额:</td>
<td id="shipped_amount">-</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-col-xs6" style="display: none;">
<div class="layui-card">
<div class="layui-card-header" style="text-align:center;background-color:darkorange;">
今日毛利统计
</div>
<div class="layui-card-body" style="padding: 0px;">
<table class="layui-table">
<colgroup>
<col width="50%">
<col>
</colgroup>
<tbody>
<tr>
<td>今日毛利:{$order_lirun}</td>
<td>昨日毛利:{$order_lirun_yester}</td>
</tr>
<tr>
<td>本周毛利:{$order_lirun_week}</td>
<td>上周毛利:{$order_lirun_last_week}</td>
</tr>
<tr>
<td>本月毛利:{$order_zhe_total_month}</td>
<td>上月毛利:{$order_lirun_last_month}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- 新增用户数据统计卡片 -->
<div class="layui-row" style="margin-top: 15px;">
</div>
</div>
</div>
{include file="Public:footer"/}
<script type="text/javascript">
layui.use(['layer', 'laydate', 'table', 'element'], function () {
var $ = layui.$;
var layer = layui.layer;
var element = layui.element;
//执行一个laydate实例
var laydate = layui.laydate;
laydate.render({
elem: '#addtime'
, type: 'datetime'
, range: true
});
// laydate.render({
// elem: '#endtime'
// // , type: 'datetime'
// // , range: true
// });
// 加载用户数据统计
function loadUserStatistics() {
$('#userStatsTable').hide();
$('#userStatsLoading').show();
$.ajax({
url: '{:url("admin/Statistics/getUserStatisticsData")}',
type: 'GET',
dataType: 'json',
success: function (res) {
if (res.code === 0) {
// 填充数据
$('#user_register_count').text(res.data.user_register_count);
$('#consuming_user_count').text(res.data.consuming_user_count);
$('#user_money').text(res.data.user_money);
$('#user_money2').text(res.data.user_money2);
$('#user_integral').text(res.data.user_integral);
$('#order_price_total').text(res.data.order_price_total);
$('#order_total_count').text(res.data.order_total_count);
$('#box_remaining_value').text(res.data.box_remaining_value);
$('#exchanged_coupon').text(res.data.exchanged_coupon);
$('#shipped_amount').text(res.data.shipped_amount);
$('#total_goods_amount').text(res.data.total_goods_amount);
// 显示表格
$('#userStatsLoading').hide();
$('#userStatsTable').show();
} else {
layer.msg('加载数据失败:' + res.msg, { icon: 2 });
$('#userStatsLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
},
error: function () {
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
$('#userStatsLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
});
}
// 加载利润数据
function loadProfitData() {
// 显示加载动画,隐藏数据表格
$('#profitDataTable').hide();
$('#profitDataLoading').show();
// 更新进度条
element.progress('profit-loading', '30%');
$.ajax({
url: '{:url("admin/Statistics/getProfitData")}',
type: 'GET',
dataType: 'json',
success: function (res) {
if (res.code === 0) {
// 填充所有数据
$('#today_income').text(res.data.today_income);
$('#rmb_income').text(res.data.rmb_income);
$('#other_income').text(res.data.other_income);
$('#shipped_today').text(res.data.shipped_today);
$('#expenses').text(res.data.expenses);
$('#today_shipped').text(res.data.today_shipped);
$('#remaining_coupon').text(res.data.remaining_coupon);
$('#box_remaining').text(res.data.box_remaining);
// 填充利润数据
element.progress('profit-loading', '100%');
setTimeout(function () {
$('#profit_value').html('<span style="color:' + (res.data.profit >= 0 ? 'green' : 'red') + ';font-weight:bold;">' + res.data.profit + '</span>');
$('#profit_formula').html(res.data.formula);
// 隐藏加载动画,显示数据表格
$('#profitDataLoading').hide();
$('#profitDataTable').show();
}, 300);
} else {
layer.msg('加载利润数据失败:' + res.msg, { icon: 2 });
$('#profitDataLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
},
error: function () {
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
$('#profitDataLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
});
}
// 加载货币信息数据
function loadCurrencyInfoData() {
$('#currencyInfoData').hide();
$('#currencyInfoLoading').show();
$.ajax({
url: '{:url("admin/Statistics/getCurrencyInfoData")}',
type: 'GET',
dataType: 'json',
success: function (res) {
if (res.code === 0) {
// 填充钻石数据
$('#today_add_money').text(res.data.today_add_money);
$('#today_use_money').text(res.data.today_use_money);
$('#yesterday_add_money').text(res.data.yesterday_add_money);
$('#yesterday_use_money').text(res.data.yesterday_use_money);
// 填充UU币数据
$('#today_add_integral').text(res.data.today_add_integral);
$('#today_use_integral').text(res.data.today_use_integral);
$('#yesterday_add_integral').text(res.data.yesterday_add_integral);
$('#yesterday_use_integral').text(res.data.yesterday_use_integral);
// 填充达达券数据
$('#today_add_money2').text(res.data.today_add_money2);
$('#today_use_money2').text(res.data.today_use_money2);
$('#yesterday_add_money2').text(res.data.yesterday_add_money2);
$('#yesterday_use_money2').text(res.data.yesterday_use_money2);
// 显示数据区域
$('#currencyInfoLoading').hide();
$('#currencyInfoData').show();
} else {
layer.msg('加载货币信息数据失败:' + res.msg, { icon: 2 });
$('#currencyInfoLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
},
error: function () {
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
$('#currencyInfoLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
});
}
// 加载今日订单数据
function loadTodayOrderData() {
$('#todayOrderData').hide();
$('#todayOrderLoading').show();
$.ajax({
url: '{:url("admin/Statistics/getTodayOrderData")}',
type: 'GET',
dataType: 'json',
success: function (res) {
if (res.code === 0) {
// 填充订单数据
$('#initiate_order_count').text(res.data.initiate_order_count);
$('#paid_order_count').text(res.data.paid_order_count);
$('#consuming_user_count_today').text(res.data.user_count);
$('#order_total_amount').text(res.data.order_zhe_total);
$('#goods_total_amount').text(res.data.goods_total_amount);
$('#coupon_discount').text(res.data.use_coupon);
$('#rmb_payment').text(res.data.price);
$('#diamond_payment').text(res.data.use_money);
$('#uu_payment').text(res.data.use_integral);
$('#dada_payment').text(res.data.use_money2);
// 显示数据区域
$('#todayOrderLoading').hide();
$('#todayOrderData').show();
} else {
layer.msg('加载今日订单数据失败:' + res.msg, { icon: 2 });
$('#todayOrderLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
},
error: function () {
layer.msg('服务器连接失败,请稍后再试', { icon: 2 });
$('#todayOrderLoading').html('<p>加载失败,请点击刷新按钮重试</p>');
}
});
}
// 页面加载完成后加载数据
loadUserStatistics();
loadProfitData();
loadCurrencyInfoData();
loadTodayOrderData();
// 刷新按钮点击事件
$('#refreshUserStats').on('click', function () {
loadUserStatistics();
});
// 刷新利润按钮点击事件
$('#refreshProfit').on('click', function () {
$('#profitDataTable').hide();
$('#profitDataLoading').show();
$('#profitDataLoading').html('<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop" style="font-size: 30px;"></i><p>正在加载数据...</p>');
$('#profit_value').html('<div class="layui-progress" lay-filter="profit-loading" style="margin-top: 10px;"><div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div></div>');
$('#profit_formula').html('加载中...');
element.render('progress');
loadProfitData();
});
// 刷新货币信息按钮点击事件
$('#refreshCurrencyInfo').on('click', function () {
loadCurrencyInfoData();
});
// 刷新今日订单按钮点击事件
$('#refreshTodayOrder').on('click', function () {
loadTodayOrderData();
});
})
</script>
</body>
</html>