Files
Pro/application/agent/view/report/bet.html
T
fengshao1227 fbeb9787dc feat(agent-report): 注单查询新增今日注单自动刷新开关(默认开,10秒刷新当前查询)
原自动刷新仅在线管理(online=1)进入时生效;现普通注单查询页也支持,
带开关(localStorage持久化)+倒计时显示,免手动点刷新。
2026-05-30 22:27:51 +08:00

389 lines
18 KiB
HTML
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.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{$lang['system_name']}</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/static/agent/css/font.css">
<link rel="stylesheet" href="/static/agent/css/xadmin.css">
<script type="text/javascript" src="/static/agent/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/agent/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/static/agent/js/xadmin.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.search-box.margin-bottom{ margin-bottom:2px; }
.search-box span{ display:inline-block; width:90px; text-align:right; }
.search-box .gap{display:inline-block;margin-right:20px;}
.layui-form-select{display:inline-block;}
.layui-form-select .layui-input{height:28px;}
.layui-btn.time-btn{height:28px;padding:0 10px;margin:10px 0 0 5px;background:#67B8D8;}
.layui-form-radio{margin:0;}
.layui-btn.search-btn.countDown{width:30px;height:30px;border-radius:100%;padding:0;background:#fff;border:2px solid #AA947D;color:#AA947D;font-weight:bold;font-size:20px;display:none;}
</style>
</head>
<body class="iframeClass scroll-wrapper">
<!-- 遮罩loading -->
<div class="shadow"></div>
<img class="loading" src="/static/agent/images/loading.gif">
<div class="x-body">
<div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/report/bet" method="get">
<div class="search-box margin-bottom">
<div class="gap">
<span>{$lang['start_time']}</span>
<input type="text" name="startDate" placeholder="{$lang['start_time']}" id="start" autocomplete="off" class="layui-input search-input" value="<?php if(isset($get['startDate'])) echo $get['startDate']; ?>">
</div>
<div class="gap">
<span>{$lang['end_time']}</span>
<input type="text" name="endDate" placeholder="{$lang['end_time']}" id="end" autocomplete="off" class="layui-input search-input" value="<?php if(isset($get['endDate'])) echo $get['endDate']; ?>">
</div>
<div class="gap">
<span>{$lang['game_type']}</span>
<input class="game_id" type="radio" name="game_id" value="0" title="{$lang['all']}" <?php if(isset($get['game_id']) && $get['game_id'] == 0) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="1" title="{$lang['baccarat']}" <?php if(isset($get['game_id']) && $get['game_id'] == 1) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="2" title="{$lang['dt']}" <?php if(isset($get['game_id']) && $get['game_id'] == 2) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="4" title="{$lang['cow']}" <?php if(isset($get['game_id']) && $get['game_id'] == 4) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="5" title="{$lang['three_card']}" <?php if(isset($get['game_id']) && $get['game_id'] == 5) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="6" title="{$lang['color_disc']}" <?php if(isset($get['game_id']) && $get['game_id'] == 6) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="7" title="{$lang['dice']}" <?php if(isset($get['game_id']) && $get['game_id'] == 7) echo 'checked'; ?>>
<input class="game_id" type="radio" name="game_id" value="8" title="{$lang['roulette']}" <?php if(isset($get['game_id']) && $get['game_id'] == 8) echo 'checked'; ?>>
</div>
</div>
<div class="search-box margin-bottom">
<div class="gap">
<span >{$lang['table']}</span>
<select name="table_id" class="layui-select">
<option value="0">{$lang['all']}</option>
{foreach name="$table_list" item="vo"}
<option value="{$vo.id}" <?php if(isset($get['table_id']) && $get['table_id'] == $vo['id']) echo 'selected="selected"'; ?>>{$vo.table_name}</option>
{/foreach}
</select>
</div>
<div class="gap">
<span>{$lang['username']}</span>
<input type="text" name="username" placeholder="{$lang['username']}" autocomplete="off" class="layui-input search-input" value="<?php if(isset($get['username'])) echo $get['username']; ?>">
</div>
<div class="gap">
<button class="layui-btn search-btn" id="search" onclick="showShadow()">{$lang['search']}</button>
<a class="layui-btn search-btn" onclick="showShadow()" href="javascript:location.replace(location.href);">{$lang['refresh']}</a>
<label style="margin-left:6px;line-height:38px;cursor:pointer;font-weight:normal;vertical-align:middle;">
<input type="checkbox" id="autoRefresh" style="vertical-align:middle;"> 自动刷新
</label>
<button type="button" class="layui-btn search-btn countDown" style="display:none;">10</button>
</div>
</div>
</form>
</div>
<div class="layui-form">
<table class="layui-table" style="min-width:1500px;">
<a class="layui-btn time-btn" href="javascript:;" data-type="2">{$lang['today']}</a>
<a class="layui-btn time-btn" href="javascript:;" data-type="1">{$lang['yesterday']}</a>
<a class="layui-btn time-btn" href="javascript:;" data-type="6">{$lang['this_week']}</a>
<a class="layui-btn time-btn" href="javascript:;" data-type="7">{$lang['last_week']}</a>
<a class="layui-btn time-btn" href="javascript:;" data-type="4">{$lang['this_month']}</a>
<a class="layui-btn time-btn" href="javascript:;" data-type="3">{$lang['last_month']}</a>
<a class="layui-btn time-btn" href="javascript:;" data-type="5">{$lang['all']}</a>
<thead>
<tr>
<th>{$lang['odd_numbers']}</th>
<th>{$lang['game_type']}</th>
<th>{$lang['table_num']}</th>
<th>{$lang['betting_time']}</th>
<th>{$lang['boots']}</th>
<th>{$lang['round']}</th>
<th>{$lang['nickname']}[{$lang['username']}]</th>
<th>{$lang['balance_before_betting']}</th>
<th style="width:20%;">{$lang['details']}</th>
<th>{$lang['balance_after_betting']}</th>
<th>{$lang['balance_after_lottery']}</th>
<th>{$lang['result']}</th>
<th>{$lang['result_before_modification']}</th>
<th>{$lang['betting_money']}</th>
<th>{$lang['win_or_lose']}</th>
<?php if($top_agent['agent_type'] == 2): ?>
<th>{$lang['code_washing_amount']}</th>
<th>{$lang['washing_rate']}%</th>
<th>{$lang['odd_code_fee']}</th>
<?php endif; ?>
<?php if($top_agent['agent_type'] == 1): ?>
<th>{$lang['rebate_bet_amount']}</th>
<th>{$lang['rebate_rate']}%</th>
<th>{$lang['rebate_amount']}</th>
<?php endif; ?>
<th>{$lang['status']}</th>
</thead>
<tbody>
<?php if(count($bet) > 0): ?>
<tr style="background:#67B8D8;color:#fff;">
<td colspan="12"></td>
<td>{$lang['total']}</td>
<td>{$total.amount}</td>
<td>{$total.win_total}</td>
<?php if($top_agent['agent_type'] == 2): ?>
<td>{$total.ximaliang}</td>
<td>-</td>
<td>{$total.maliang}</td>
<?php endif; ?>
<?php if($top_agent['agent_type'] == 1): ?>
<td>{$total.rebate_bet_amount}</td>
<td>-</td>
<td>{$total.rebate_amount}</td>
<?php endif; ?>
<td></td>
</tr>
<?php endif; ?>
{foreach name="$bet" item="vo"}
<tr>
<td>{$vo.id}</td>
<td>{$vo.game_name}</td>
<td>{$vo.table_name}</td>
<td>{$vo.create_time}</td>
<td>{$vo.boot_num}</td>
<td>{$vo.number}</td>
<td>{$vo.nickname}[{$vo.username}]</td>
<td><?php echo number_format($vo['money_before_bet'],2,".",""); ?></td>
<td>{$vo.bet_detail}</td>
<td><?php echo number_format($vo['money'],2,".",""); ?></td>
<td><?php echo number_format($vo['end_money'],2,".",""); ?></td>
<td style="color:{$vo.color}">{$vo.result}</td>
<td style="color:{$vo.result_before_color}">{$vo.result_before_edit}</td>
<td>{$vo.amount}</td>
<td><?php echo number_format($vo['win_total'],2,".",""); ?></td>
<?php if($top_agent['agent_type'] == 2): ?>
<td><?php echo number_format($vo['ximaliang'],2,".",""); ?></td>
<td><?php echo number_format($vo['ximalv'],2,".",""); ?></td>
<td><?php echo number_format($vo['maliang'],2,".",""); ?></td>
<?php endif; ?>
<?php if($top_agent['agent_type'] == 1): ?>
<td><?php echo number_format($vo['rebate_bet_amount'],2,".",""); ?></td>
<td><?php echo number_format($vo['rebate_rate'],2,".",""); ?></td>
<td><?php echo number_format($vo['rebate_amount'],2,".",""); ?></td>
<?php endif; ?>
<td style="color:{$vo.is_end_color}">{$vo.is_end}</td>
</tr>
{/foreach}
</tbody>
</table>
<?php if(count($bet) == 0): ?>
<div style="text-align:center;width:100%;">{$lang['no_data']}</div>
<?php else: ?>
<div class="page">{$bet->render()}</div>
<?php endif; ?>
</div>
</div>
<input type="hidden" id="online" value="{$online}">
<input type="hidden" id="refreshUrl" value="{$refreshUrl}">
<script>
$(function(){
var online = $('#online').val();
var refreshUrl = $('#refreshUrl').val();
var INTERVAL = 10; // 自动刷新间隔(秒)
var countDown = INTERVAL;
var autoTimer = null;
function startAuto(reloadFn){
countDown = INTERVAL;
$('.countDown').show().html(countDown);
autoTimer = setInterval(function(){
countDown = countDown - 1;
$('.countDown').html(countDown);
if(countDown <= 0){
reloadFn();
}
}, 1000);
}
function stopAuto(){
if(autoTimer){ clearInterval(autoTimer); autoTimer = null; }
$('.countDown').hide();
}
if(online == 1){
// 从“在线管理”进入:保持原有自动刷新行为
startAuto(function(){ location.href = refreshUrl; });
}else{
// 注单查询:可开关的今日实时自动刷新(默认开,刷新当前查询条件)
var saved = localStorage.getItem('bet_auto_refresh');
var enabled = (saved === null) ? true : (saved === '1');
$('#autoRefresh').prop('checked', enabled);
if(enabled){ startAuto(function(){ location.replace(location.href); }); }
$('#autoRefresh').on('change', function(){
if($(this).is(':checked')){
localStorage.setItem('bet_auto_refresh','1');
startAuto(function(){ location.replace(location.href); });
}else{
localStorage.setItem('bet_auto_refresh','0');
stopAuto();
}
});
}
})
layui.use('laydate', function () {
var laydate = layui.laydate;
var langType = '{$langType}';
if(langType != 'zh-cn'){
dateLang = 'en'
}else{
dateLang = 'cn';
}
//执行一个laydate实例
laydate.render({
elem: '#start' //指定元素
,type:'datetime',
lang: dateLang
});
//执行一个laydate实例
laydate.render({
elem: '#end' //指定元素
,type:'datetime',
lang: dateLang
});
});
// 游戏类型切换
$(document).on('click','.layui-form-radio',function(){
$('.search-btn').trigger('click');
});
// 快捷时间选择
$('.time-btn').click(function(){
var type = $(this).attr('data-type');
if(type == 6 || type == 7){
var result = getNeedTime(type,0);
}else{
var result = getNeedTime(type,1);
}
$('#start').val(result.startDate);
$('#end').val(result.endDate);
$('.search-btn').trigger('click');
});
// 自定义时间函数
function getNeedTime(type,format){
var now = new Date();
var year = now.getFullYear();
var query = new Object();
var startYear;
var endYear;
var startMonth;
var endMonth;
var startDay;
var endDay;
var startDate;
var endDate;
switch(parseInt(type)){
// 昨天
case 1:
startYear = year;
endYear = year;
startMonth = plusZero(now.getMonth() + 1);
endMonth = plusZero(now.getMonth() + 1);
startDay = plusZero(now.getDate() - 1);
endDay = plusZero(now.getDate() - 1);
break;
// 今天
case 2:
startYear = year;
endYear = year;
startMonth = plusZero(now.getMonth() + 1);
endMonth = plusZero(now.getMonth() + 1);
startDay = plusZero(now.getDate());
endDay = plusZero(now.getDate());
break;
// 上月
case 3:
startYear = year;
endYear = year;
startMonth = plusZero(now.getMonth());
endMonth = plusZero(now.getMonth());
startDay = '01';
endDay = plusZero(new Date(year,endMonth,0).getDate());
break;
// 本月
case 4:
startYear = year;
endYear = year;
startMonth = plusZero(now.getMonth() + 1);
endMonth = plusZero(now.getMonth() + 1);
startDay = '01';
endDay = plusZero(new Date().getDate());
break;
// 全部
case 5:
startYear = '2018';
endYear = year;
startMonth = '01';
endMonth = plusZero(now.getMonth() + 1);
startDay = '01';
endDay = plusZero(new Date().getDate());
break;
// 本周
case 6:
var weekday = new Date().getDay() || 7;
var startDay = new Date(new Date().setDate(new Date().getDate() - weekday + 1)).format('yyyy-MM-dd');
var endDay = new Date(new Date().setDate(new Date().getDate() - weekday + 7)).format('yyyy-MM-dd');
break;
//上周
case 7:
var weekday = new Date().getDay() || 7;
var startDay = new Date(new Date().setDate(new Date().getDate() - weekday - 6)).format('yyyy-MM-dd');
var endDay = new Date(new Date().setDate(new Date().getDate() - weekday)).format('yyyy-MM-dd');
break;
}
if(format == 1){
startDate = startYear + '-' + startMonth + '-' + startDay + ' 00:00:00';
endDate = endYear + '-' + endMonth + '-' + endDay + ' 23:59:59';
}else{
startDate = startDay + ' 00:00:00';
endDate = endDay + ' 23:59:59';
}
query.startDate = startDate;
query.endDate = endDate;
return query;
}
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
}
// 月和日 前加0;
function plusZero(str){
if(str != undefined){
if(str >= 1 && str <= 9){
str = "0" + str.toString();
}
}
return str;
}
</script>
</body>
</html>