250 lines
12 KiB
HTML
Executable File
250 lines
12 KiB
HTML
Executable File
{include file="public/header"}
|
||
<style>
|
||
.x-body .layui-row{ margin-top:-10px; line-height:25px; background:#f5f5f5; border-radius:10px; }
|
||
.x-body .layui-row .xblock button{ margin-top:-20px; }
|
||
.x-body .layui-form{ margin-top:15px; margin-bottom:16px; }
|
||
.x-body .layui-form .layui-input-block{ display:inline-block; width:150px; margin-left:0; }
|
||
.x-body .layui-form .layui-form-item{ display:inline-block; margin-left:0; }
|
||
.x-body .layui-form .layui-form-item .layui-form-label{ width:80px; }
|
||
.x-body .layui-form .layui-form-item .layui-input-block{ margin-left:-10px; width:100px; }
|
||
.x-body .layui-form .layui-form-item .layui-input-block .layui-form-radio i{ margin-right:4px; }
|
||
.x-body .layui-form .layui-form-item .layui-form-radio{ margin-top:6px; margin-right:-8px; }
|
||
.layui-input-block dl{ text-align:left; }
|
||
.x-so{ margin:0; }
|
||
.x-so input.layui-input{ width:150px; }
|
||
.x-nav{overflow: inherit; } .x-nav .refresh{margin-right: 20px; }
|
||
.change_box .actived{border-right:1px solid #e5e5e5;border-left:1px solid #e5e5e5;border-top:1px solid #e5e5e5; position: relative; color: #3daae9; }
|
||
.change_box .actived:after{content: ""; bottom: -2px; background: #fff; width: 100%; height: 5px; position: absolute; left: 0; }
|
||
.change_box a{font-size: 14px;padding: 10.5px 10px;}
|
||
|
||
.alert{position:fixed; top:15%; left:30%; width:600px; min-height:150px; background:#fff; border:1px solid #e2e2e2; border-radius:5px; display:none;}
|
||
.alert .alert-main{width:600px;height:200px;overflow-y: scroll;}
|
||
.alert-title{background:#009688; height:40px; text-align: center; line-height:40px; font-size:14px; border-bootom:1px solid #F2F2F2;color:#fff;}
|
||
.alert-main th{width:40%; border-left:none; text-align:right;}
|
||
.alert-main td{border-right:none; }
|
||
.alert-footer{padding:20px; text-align:center;}
|
||
.alert-footer span{padding:10px 30px; display:inline-block; border-radius:5px; cursor:pointer;}
|
||
</style>
|
||
<body>
|
||
|
||
|
||
<div class="x-nav" style="padding: 0px;">
|
||
<span class="change_box">
|
||
<a href="javascript:;" class="list-one actived" data-id="1">实时数据</a>
|
||
</span>
|
||
<a class="layui-btn layui-btn-small refresh" style="line-height:1.6em;margin-top:3px;float:right"
|
||
href="javascript:location.replace(location.href);" title="刷新">
|
||
<i class="layui-icon" style="line-height:30px">ဂ</i></a>
|
||
</div>
|
||
<br>
|
||
<div class="x-body">
|
||
<div class="layui-row">
|
||
<form class="layui-form layui-col-md12 x-so float-left" action="/player/user_online" method="get">
|
||
<div class="layui-input-block" >
|
||
<select name="table_id" id="table_id">
|
||
<option value="-1" selected>请选择桌子</option>
|
||
{foreach name="$table_list" item="vo"}
|
||
<option value="{$vo.id}" <?php if(isset($get['table_id']) && $get['table_id'] == $vo['id']) {echo 'selected';} ?>>{$vo.table_name}</option>
|
||
{/foreach}
|
||
</select>
|
||
</div>
|
||
<input type="text" name="username" id="username" placeholder="请输入用户名" autocomplete="off" class="layui-input" value="<?php if(isset($get['username'])) {echo $get['username'];} ?>">
|
||
<div class="layui-form-item" style="margin-bottom: 0px;">
|
||
<label class="layui-form-label">只看未开</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" class="is_under" name="is_under" value="1" title="是" <?php if(isset($get['is_under']) && $get['is_under'] == 1) {echo 'checked';} ?>>
|
||
<input type="radio" class="is_under" name="is_under" value="0" title="否" <?php if(isset($get['is_under']) && $get['is_under'] == 0) {echo 'checked';} ?>>
|
||
</div>
|
||
</div>
|
||
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon"></i></button>
|
||
|
||
<!-- <span class="layui-btn" id="export">导出excel</span>
|
||
<span class="layui-btn" id="print">打印</span> -->
|
||
<span style="margin-left:20px;color:red;">数据标红则疑似对打</span>
|
||
</form>
|
||
</div>
|
||
|
||
<table class="layui-table">
|
||
<thead>
|
||
<tr>
|
||
<th>账号</th>
|
||
<th>登录客户端</th>
|
||
<th>登录IP</th>
|
||
<th>总押</th>
|
||
<th>总赢</th>
|
||
<th>当前余额</th>
|
||
<th>下注详情</th>
|
||
<th>操作</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody class="ttable">
|
||
{foreach name="$user_online" item="vo"}
|
||
{if $vo.is_beat == 1}
|
||
<tr class="refreshData" style="background:red;">
|
||
{else}
|
||
<tr class="refreshData">
|
||
{/if}
|
||
<td>{$vo.username}</td>
|
||
<td>{$vo.client}</td>
|
||
<td>{$vo.last_login_ip}</td>
|
||
<td>{$vo.amount}</td>
|
||
<td>{$vo.win_total}</td>
|
||
<td>{$vo.money}</td>
|
||
<td>
|
||
{$vo.bet_detail_first.bet_detail}
|
||
{if condition="$vo.bet_detail_count > 1"}
|
||
<a href="javascript:;" onclick="showBetDetail(this)" data-username="{$vo.username}" data-bet_detail={$vo.bet_detail}><span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#009688;">更多</span></a>
|
||
{/if}
|
||
</td>
|
||
<td>
|
||
<a href="javascript:;">
|
||
<span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#009688;" onclick="logout({$vo.user_id})">强制下线</span>
|
||
</a>
|
||
</td>
|
||
</tr>
|
||
{/foreach}
|
||
<tr class="refreshData">
|
||
<th colspan="3" style="text-align: center;">统计</th>
|
||
<th>{$totalData.amount}</th>
|
||
<th>{$totalData.win_total}</th>
|
||
<th colspan="3"></th>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<audio id="audio" hidden></audio>
|
||
<div class="alert" id="alert_bet_detail">
|
||
<div class="alert-title" id="show_username"></div>
|
||
<div class="alert-main">
|
||
<table class="layui-table" style="margin:0;">
|
||
<tr><th>押庄赔率:</th><td id="show_price_banker"></td></tr>
|
||
<tr><th>押闲赔率:</th><td id="show_price_player"></td></tr>
|
||
<tr><th>押和赔率(百家乐):</th><td id="show_price_tie_baccarat"></td></tr>
|
||
<tr><th>押对子赔率:</th><td id="show_price_pair"></td></tr>
|
||
<tr><th>押龙赔率:</th><td id="show_price_dragon"></td></tr>
|
||
<tr><th>押虎赔率:</th><td id="show_price_tiger"></td></tr>
|
||
<tr><th>押和赔率(龙虎斗):</th><td id="show_price_tie_dt"></td></tr>
|
||
<tr><th>押牛7-牛9赔率:</th><td id="show_price_n7_n9"></td></tr>
|
||
<tr><th>押牛牛赔率:</th><td id="show_price_nn"></td></tr>
|
||
<tr><th>押五公赔率:</th><td id="show_price_5n"></td></tr>
|
||
<tr><th>押四条赔率:</th><td id="show_price_bomb"></td></tr>
|
||
</table>
|
||
</div>
|
||
<div class="alert-footer">
|
||
<span onclick="hideBetDetail()" class="input_button" style="background:#009688; border:1px solid #e2e2e2;color:#fff;">关闭</span>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
var b = {$betIdArrJson};
|
||
var bt = {$betIdDtArrJson};
|
||
autoRefresh();
|
||
function autoRefresh(){
|
||
setInterval(function(){
|
||
var username = $('#username').val();
|
||
var table_id = $('#table_id').val();
|
||
var is_under = $('.is_under:checked').val();
|
||
$.ajax({
|
||
url:'/player/user_online_autoRefresh',
|
||
data:{username:username,table_id:table_id,is_under:is_under},
|
||
dataType:'JSON',
|
||
type:'POST',
|
||
success:function(data){
|
||
// 声音
|
||
if(data.is_new == true){
|
||
audioShow();
|
||
}
|
||
if(data.user_online){
|
||
var total = data.totalData;
|
||
var v = data.user_online;
|
||
b = data.betIdArr;
|
||
bt = data.betIdDtArr;
|
||
var str = "";
|
||
for(var i=0; i<v.length; i++){
|
||
if(v[i]['is_beat'] == 1){
|
||
str += '<tr class="refreshData" style="background:red;">';
|
||
}else{
|
||
str += '<tr class="refreshData">';
|
||
}
|
||
str += '<td>'+v[i].username+'</td>';
|
||
str += '<td>'+v[i].client+'</td>';
|
||
str += '<td>'+v[i].last_login_ip+'</td>';
|
||
str += '<td>'+v[i].amount+'</td>';
|
||
str += '<td>'+v[i].win_total+'</td>';
|
||
str += '<td>'+v[i].money+'</td>';
|
||
str += '<td>'+v[i].bet_detail_first.bet_detail;
|
||
if(v[i].bet_detail_count > 1){
|
||
str += '<a href="javascript:;" onclick="showBetDetail(this)" data-username="'+v[i].username+'" data-bet_detail='+JSON.stringify(v[i].bet_detail)+'><span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#009688;">更多</span></a></td>';
|
||
}else{
|
||
str += '</td>';
|
||
}
|
||
str += '<td><a href="javascript:;"><span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#009688;" onclick="logout('+v[i].user_id+')">强制下线</span></a> </td>';
|
||
str += '</tr>';
|
||
}
|
||
str += '<tr class="refreshData">';
|
||
str += '<th colspan="3" style="text-align: center;">统计</th>';
|
||
str += '<th>'+total.amount+'</th>';
|
||
str += '<th>'+total.win_total+'</th>';
|
||
str += '<th colspan="3"></th>';
|
||
str += '</tr>';
|
||
|
||
$('.refreshData').remove();
|
||
$('.ttable').append(str);
|
||
}
|
||
}
|
||
});
|
||
},5000);
|
||
}
|
||
|
||
function showBetDetail(obj){
|
||
var username = $(obj).attr('data-username');
|
||
var bet_detail = $(obj).attr('data-bet_detail');
|
||
var v = JSON.parse(bet_detail);
|
||
var str = '';
|
||
console.log(v)
|
||
console.log(b.indexOf(47))
|
||
for(var i in v){
|
||
|
||
if(v[i]['game_id'] == 1 && b.includes(v[i]['bet_id'])){
|
||
str += '<tr style="background:red;"><td>'+ v[i]['bet_detail'] +'</td></tr>';
|
||
}else if(v[i]['game_id'] == 2 && bt.includes(v[i]['bet_id'])){
|
||
str += '<tr style="background:red;"><td>'+ v[i]['bet_detail'] +'</td></tr>';
|
||
}else{
|
||
str += '<tr><td>'+ v[i]['bet_detail'] +'</td></tr>';
|
||
}
|
||
}
|
||
$('#show_username').html(username);
|
||
$('#alert_bet_detail').find('.layui-table').empty().html(str);
|
||
$('#alert_bet_detail').show();
|
||
}
|
||
function hideBetDetail(){
|
||
$('#alert_bet_detail').hide();
|
||
}
|
||
|
||
// 踢人
|
||
function logout(id){
|
||
layer.confirm('确定强制该玩家下线吗?',function(){
|
||
$.ajax({
|
||
url:'/player/logout',
|
||
data:{user_id:id},
|
||
type:'POST',
|
||
dataType:'JSON',
|
||
success:function(data){
|
||
layer.alert(data.msg,function(){
|
||
location.reload();
|
||
})
|
||
}
|
||
});
|
||
});
|
||
}
|
||
|
||
// 新客人上线声音
|
||
function audioShow(){
|
||
var audio = $("#audio").get(0);
|
||
var audioPath = '/static/console/mp3/welcome.mp3';
|
||
$('#audio').attr('src',audioPath);
|
||
audio.play();
|
||
}
|
||
</script>
|
||
</body>
|
||
|
||
</html> |