Pro/application/agent/view/online/index.html
2026-02-25 01:50:31 +08:00

313 lines
15 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>
.layui-elem-field{border:none;}
.layui-field-box{padding:0}
.layui-card-body{padding:0}
.x-admin-backlog-body div.icon-box{width:50%;height:45px;line-height:45px;}
.x-admin-backlog-body div.num-box{width:50%;left:50%;height:45px;top:-46px;background:#fff;border:none;}
.x-admin-backlog-body div.num-box a{color:#564b4b;}
.x-admin-carousel, .layui-carousel, .x-admin-carousel>[carousel-item]>*{background:#F2F2F2;padding:0;height:45px;}
.x-admin-backlog-body{padding:0;height:45px;}
.search-box .gap{display:inline-block;margin-right:20px;}
.layui-form-select{display:inline-block;}
.layui-form-select .layui-input{height:28px;}
.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;}
.layui-col-xs2{width:14%}
.member-count{display:none;}
.member-count span {
padding:0 5px;
}
@font-face {
font-family: 'iconfont'; /* project id 493588 */
src: url('//at.alicdn.com/t/font_493588_k78dkyec54m.eot');
src: url('//at.alicdn.com/t/font_493588_k78dkyec54m.eot?#iefix') format('embedded-opentype'),
url('//at.alicdn.com/t/font_493588_k78dkyec54m.woff') format('woff'),
url('//at.alicdn.com/t/font_493588_k78dkyec54m.ttf') format('truetype'),
url('//at.alicdn.com/t/font_493588_k78dkyec54m.svg#iconfont') format('svg');
}
</style>
</head>
<body class="iframeClass scroll-wrapper">
<div class="x-body">
<div class="member-count">
<span>{$lang['total_num']}{$totalData.count}</span>
<span>{$lang['pc']}{$totalData.pc}</span>
<span>{$lang['ios']}{$totalData.ios}</span>
<span>{$lang['android']}{$totalData.android}</span>
<span>{$lang['web']}{$totalData.wap}</span>
<span>{$lang['wc']}{$totalData.wx}</span>
<span>{$lang['all_bet']}{$totalData.amount}</span>
</div>
<fieldset class="layui-elem-field to-hide">
<div class="layui-field-box">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-carousel x-admin-carousel x-admin-backlog" lay-anim="" lay-indicator="inside" lay-arrow="none" style="width: 100%;height:60px;">
<div carousel-item="">
<ul class="layui-row layui-col-space14 layui-this">
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-blue">
<i class="iconfont">&#xe726;</i>
</div>
<div class="num-box" id="agent">
<a href="javascript:;">
<p><b id="count">{$totalData.count}</b></p>
<p><b>{$lang['total_num']}</b></p>
</a>
</div>
</li>
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-red">
<i class="iconfont">&#xe640;</i>
</div>
<div class="num-box">
<a href="javascript:;">
<p><b id="pc">{$totalData.pc}</b></p>
<p><b>{$lang['pc']}</b></p>
</a>
</div>
</li>
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-dark-green">
<i class="iconfont">&#xe602;</i>
</div>
<div class="num-box" id="member">
<a href="javascript:;">
<p><b id="ios">{$totalData.ios}</b></p>
<p><b>{$lang['ios']}</b></p>
</a>
</div>
</li>
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-yellow-green">
<i class="iconfont">&#xe612;</i>
</div>
<div class="num-box">
<a href="javascript:;">
<p><b id="android">{$totalData.android}</b></p>
<p><b>{$lang['android']}</b></p>
</a>
</div>
</li>
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-orange">
<i class="iconfont">&#xe618;</i>
</div>
<div class="num-box">
<a href="javascript:;">
<p><b id="wap">{$totalData.wap}</b></p>
<p><b>{$lang['web']}</b></p>
</a>
</div>
</li>
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-purple">
<i class="iconfont">&#xe667;</i>
</div>
<div class="num-box">
<a href="javascript:;">
<p><b id="wx">{$totalData.wx}</b></p>
<p><b>{$lang['wc']}</b></p>
</a>
</div>
</li>
<li class="layui-col-xs2 x-admin-backlog-body">
<div class="icon-box bg-yellow">
<i class="iconfont">&#xe671;</i>
</div>
<div class="num-box">
<a href="javascript:;">
<p><b id="amount">{$totalData.amount}</b></p>
<p><b>{$lang['all_bet']}</b></p>
</a>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</fieldset>
<div class="layui-row">
<form class="layui-form layui-col-md12 x-so search-box" action="/online/index" method="get">
<div class="gap">
<span>{$lang['username']}</span>
<input type="text" id="username" 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">
<span >{$lang['client']}</span>
<select name="client" id="client">
<option value="">{$lang['client']}</option>
<option value="1">{$lang['pc']}</option>
<option value="2">{$lang['ios']}</option>
<option value="3">{$lang['android']}</option>
<option value="4">{$lang['web']}</option>
</select>
</div>
<div class="gap">
<button class="layui-btn search-btn">{$lang['search']}</button>
<a class="layui-btn search-btn" href="javascript:location.replace(location.href);">{$lang['refresh']}</a>
<button class="layui-btn search-btn countDown">10</button>
</div>
<div class="gap">
<span style="color:red;">{$lang['red_waring']}</span>
</div>
</form>
</div>
<table class="layui-table">
<thead>
<tr>
<th>{$lang['username']}</th>
<th>{$lang['nickname']}</th>
<th>{$lang['login_ip']}</th>
<th>{$lang['login_time']}</th>
<th>{$lang['client']}</th>
<th>{$lang['table_num']}</th>
<th>{$lang['all_bet']}</th>
<th>{$lang['account_balance']}</th>
<th>{$lang['operate']}</th>
</thead>
<tbody>
{foreach name="$user_online" item="vo"}
{if $vo.is_beat == 1}
<tr style="background:#e28282;">
{else}
<tr>
{/if}
<td>{$vo.username}</td>
<td>{$vo.nickname}</td>
<td>{$vo.last_login_ip}</td>
<td>{$vo.last_login_time}</td>
<td>{$vo.client}</td>
<td>{$vo.table_name}</td>
<td>{$vo.amount}</td>
<td>{$vo.money}</td>
<td>
<a class="layui-btn layui-operation" href="javascript:;" onclick="x_admin_show('注单查询','/report/bet?username={$vo.username}&game_id={$vo.game_id}&online=1')">{$lang['details']}</a>
<a class="layui-btn layui-operation" href="javascript:;" onclick="logout('{$vo.id}')">{$lang['force_offline']}</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
<?php if(count($user_online) == 0): ?>
<div style="text-align:center;width:100%;">{$lang['no_data']}</div>
<?php endif; ?>
</div>
<script>
// 自动刷新
var countDown = 10;
var lang = {$jsonlang};
setInterval(function(){
countDown--;
$('.countDown').html(countDown);
if(countDown == 0){
autoRefresh();
countDown = 11;
}
},1000);
function autoRefresh(){
var query = new Object();
query.username = $('#username').val();
query.client = $('#client').val();
$.ajax({
url:'/online/autoRefresh',
data:query,
type:'POST',
dataType:'JSON',
success:function(data){
if(data.code == 0){
layer.alert(data.msg);
if(data.url){
setTimeout(function(){
parent.location.href = data.url;
},"2000");
}
return;
}
var totalData = data.totalData;
var user_online = data.user_online;
// 汇总数据
$('#count').html(totalData.count);
$('#pc').html(totalData.pc);
$('#ios').html(totalData.ios);
$('#android').html(totalData.android);
$('#wap').html(totalData.wap);
$('#wx').html(totalData.wx);
$('#amount').html(totalData.amount);
// 表格数据
if(user_online){
var str = '';
for(var i=0; i<user_online.length; i++){
if(user_online[i]['is_beat'] == 1){
str += '<tr style="background:#e28282;">';
}else{
str += '<tr>';
}
str += '<td>'+user_online[i]['username']+'</td>';
str += '<td>'+user_online[i]['nickname']+'</td>';
str += '<td>'+user_online[i]['last_login_ip']+'</td>';
str += '<td>'+user_online[i]['last_login_time']+'</td>';
str += '<td>'+user_online[i]['client']+'</td>';
str += '<td>'+user_online[i]['table_name']+'</td>';
str += '<td>'+user_online[i]['amount']+'</td>';
str += '<td>'+user_online[i]['money']+'</td>';
str += '<td>';
str += '<a class="layui-btn layui-operation" href="javascript:;" onclick="x_admin_show(\'注单查询\',\'/report/bet?username='+user_online[i]['username']+'&game_id='+user_online[i]['game_id']+'\')">'+lang.details+'</a>';
str += '<a class="layui-btn layui-operation" href="javascript:;" onclick="logout('+user_online[i]['id']+')">'+lang.force_offline+'</a>';
str += '</td>';
str += '</tr>';
}
$('tbody').empty().append(str);
}
}
});
}
// 踢人
function logout(id){
layer.confirm(lang.sure_offline,function(){
$.ajax({
url:'/online/logout',
data:{user_id:id},
type:'POST',
dataType:'JSON',
success:function(data){
layer.alert(data.msg,function(){
location.reload();
})
}
});
});
}
</script>
</body>
</html>