HaniBlindBox/server/php/app/admin/view/Statistics/userLotteryDetail.html
2026-01-01 20:46:07 +08:00

153 lines
6.8 KiB
HTML

{include file="Public:header3"/}
<body>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">
用户抽奖详情
<span class="layui-badge layui-bg-blue" id="userInfo"></span>
<span class="layui-badge layui-bg-orange" id="boxInfo"></span>
</div>
<div class="layui-card-body">
<!-- 用户统计摘要 -->
<div class="layui-row layui-col-space15" id="userSummary">
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">抽奖次数</div>
<div class="layui-card-body" style="font-size: 24px; color: #01AAED;">
<span id="totalCount">0</span>
</div>
</div>
</div>
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">出货价值</div>
<div class="layui-card-body" style="font-size: 24px; color: #FFB800;">
¥ <span id="totalOutput">0.00</span>
</div>
</div>
</div>
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">总支付金额</div>
<div class="layui-card-body" style="font-size: 24px; color: #5FB878;">
¥ <span id="totalPayment">0.00</span>
</div>
</div>
</div>
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">微信/钻石支付</div>
<div class="layui-card-body" style="font-size: 24px;">
<span style="color: #FF9800;">¥ <span id="wxPayment">0.00</span></span> /
<span style="color: #673AB7;">¥ <span id="diamondPayment">0.00</span></span>
</div>
</div>
</div>
</div>
<!-- 数据表格区域 -->
<table id="detailTable" lay-filter="detailTable"></table>
</div>
</div>
</div>
{include file="Public:footer3"/}
<script>
layui.use(['table', 'layer', 'form'], function() {
var $ = layui.$;
var table = layui.table;
var layer = layui.layer;
// 获取URL参数
var goodsId = '{:input("goods_id")}';
var userId = '{:input("user_id")}';
// 加载用户抽奖详情数据
loadUserLotteryDetails();
// 初始化表格
table.render({
elem: '#detailTable',
url: '{:url("/admin/statistics_userLotteryDetailData")}?goods_id=' + goodsId + '&user_id=' + userId,
method: 'get',
page: true,
limit: 20,
cols: [[
{field: 'id', title: 'ID', width: 80},
{field: 'addtime', title: '抽奖时间', width: 180, templet: function(d){
return new Date(d.addtime * 1000).toLocaleString();
}},
{field: 'goodslist_title', title: '奖品名称', width: 200},
{field: 'goodslist_money', title: '奖品价值', width: 120, templet: '<div>¥ {{d.goodslist_money}}</div>'},
{field: 'order_id', title: '订单ID', width: 100},
{field: 'payment_type', title: '支付方式', width: 120, templet: function(d){
if(d.payment_type == 'wx') {
return '<span class="layui-badge layui-bg-green">微信支付</span>';
} else if(d.payment_type == 'diamond') {
return '<span class="layui-badge layui-bg-blue">钻石支付</span>';
} else {
return '<span class="layui-badge layui-bg-gray">未知</span>';
}
}},
{field: 'payment_amount', title: '支付金额', width: 120, templet: '<div>¥ {{d.payment_amount}}</div>'},
{field: 'is_shipped', title: '是否发货', width: 100, templet: function(d){
return d.is_shipped == 1 ?
'<span class="layui-badge layui-bg-green">已发货</span>' :
'<span class="layui-badge layui-bg-gray">未发货</span>';
}}
]],
done: function(res) {
if(res.summary) {
updateUserSummary(res.summary);
}
if(res.userInfo) {
$('#userInfo').html(res.userInfo.nickname);
}
if(res.boxInfo) {
$('#boxInfo').html(res.boxInfo.title);
}
}
});
// 获取用户抽奖汇总数据
function loadUserLotteryDetails() {
$.ajax({
url: '{:url("/admin/statistics_userLotterySummary")}',
type: 'GET',
data: {
goods_id: goodsId,
user_id: userId
},
success: function(res) {
if(res.code === 0) {
updateUserSummary(res.data);
if(res.userInfo) {
$('#userInfo').html(res.userInfo.nickname);
}
if(res.boxInfo) {
$('#boxInfo').html(res.boxInfo.title);
}
}
}
});
}
// 更新用户汇总数据
function updateUserSummary(data) {
if(!data) return;
$('#totalCount').text(data.totalCount);
$('#totalOutput').text(data.totalOutput.toFixed(2));
$('#totalPayment').text(data.totalPayment.toFixed(2));
$('#wxPayment').text(data.wxPayment.toFixed(2));
$('#diamondPayment').text(data.diamondPayment.toFixed(2));
}
});
</script>
</body>
</html>