init: 从宝塔同步到 Gitea

This commit is contained in:
root
2026-02-25 01:50:31 +08:00
commit e633c8e27d
2444 changed files with 399341 additions and 0 deletions
+168
View File
@@ -0,0 +1,168 @@
{include file="public/header"}
<style type="text/css">
textarea, input[type="text"], input[type="password"],
.uneditable-input{border: 1px solid #ccc;background-color: #fff; }
.change_box a{font-size: 14px;padding: 10.5px 10px;}
.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; }
.x-nav{overflow: inherit; }
.x-nav .refresh{margin-right: 20px; }
.control-group{overflow: hidden; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted #dddddd; }
.control-label{float: left; padding-top: 3px; width: 160px; text-align: right; font-size: 14px; }
.controls{text-align: left; overflow-x: auto; overflow-y: hidden; margin-left: 180px; }
.controls input{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls select{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls textarea{width: 400px; height: 90px; border-radius: 4px; } .form-horizontal{margin: 0 10px; }
.bottom-buttom{border-top: 1px solid #e5e5e5; margin-top: 20px; background-color: #f5f5f5; padding: 30px 0; }
.submit{width: 50px; text-align: center; background-color:#3daae9; color: #fff; padding: 5px 10px; font-size: 16px; border-radius: 4px; cursor:pointer; }
</style>
<body>
<div class="x-nav" style="padding: 0px;">
<span class="change_box">
<a href="javascript:;" class="list-one" data-id="1">用户列表</a>
<a href="javascript:;" class="list-two actived" data-id="2">用户添加</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="info_from form-horizontal">
<div class="control-group">
<label class="control-label">账号:</label>
<div class="controls">
<input id="L_username" name="L_username" type="text" value maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * 将会成为您唯一的登入名</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">密码:</label>
<div class="controls">
<input id="L_pass" name="L_pass" type="password" value maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * 6到16个字符</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">确认密码:</label>
<div class="controls">
<input id="L_repass" name="L_repass" type="password" value maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 与密码保持一致</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">手机号码:</label>
<div class="controls">
<input id="L_mobile" name="L_mobile" type="text" value maxlength="50" minlength="3" class="required"><span class="help-inline">
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">邮箱:</label>
<div class="controls">
<input id="L_email" name="L_email" type="text" value maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">状态:</label>
<div class="controls">
<select id="L_status" name="L_status" type="text" value maxlength="50" minlength="3" class="required">
<option value="1" selected>正常</option>
<option value="0">锁定</option>
</select>
<span class="help-inline">
<font color="red"> * </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">备注:</label>
<div class="controls">
<textarea id="L_remarks" name="L_remarks" type="text" value maxlength="50" minlength="3" class="required"></textarea>
</div>
</div>
<div class="bottom-buttom">
<label class="control-label"></label>
<div class="controls">
<div class='submit'>保存</div>
</div>
</div>
</div>
<script>
// 代理列表和添加代理切换
$('.x-nav .change_box a').click(function(){
// 样式切换
$('.x-nav .change_box a').removeClass('actived');
$(this).addClass('actived');
// 页面切换
var id = $(this).attr('data-id');
if(id == "1") location.href = '/admin/index';
if(id == "2") location.href = '/admin/admin_add';
});
//监听提交
$('.submit').click(function (data) {
// 获取和拼装添加代理的数据
var query = new Object();
query.username = $('#L_username').val();
query.pass = $('#L_pass').val();
query.repass = $('#L_repass').val();
query.mobile = $('#L_mobile').val();
query.email = $('#L_email').val();
query.status = $('#L_status').val();
query.remarks = $('#L_remarks').val();
// 验证数据
if(query.username.length == 0){
layer.alert("请填写账号!");
return false;
}
if(query.pass.length <= 0){
layer.alert("请填写密码!");
return false;
}
if(query.pass.length > 0 && query.pass.length < 6){
layer.alert("密码长度为6到16个字符!");
return false;
}
if(query.pass != query.repass){
layer.alert("两次密码不一致!");
return false;
}
// 发送数据到后台添加会员
var result = ajax('/admin/do_admin_add',query);
if(result.code == 1){
layer.alert(result.msg, {icon: 6}, function () {
location.href = "/admin/index";
});
}else{
layer.alert(result.msg,{icon:2});
}
return false;
});
// AJAX函数封装
function ajax(url,query){
var returnData = 0;
$.ajax({
url:url,
data:query,
type:'POST',
dataType:'JSON',
async:false,
success:function(data){
returnData = data;
}
});
return returnData;
}
</script>
</body>
</html>
@@ -0,0 +1,165 @@
{include file="public/header"}
<style type="text/css">
textarea, input[type="text"], input[type="password"],.uneditable-input{border: 1px solid #ccc;background-color: #fff; }
.change_box a{font-size: 14px;padding: 10.5px 10px;}
.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; }
.x-nav{overflow: inherit; } .x-nav .refresh{margin-right: 20px; }
.control-group{overflow: hidden; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted #dddddd; }
.control-label{float: left; padding-top: 3px; width: 160px; text-align: right; font-size: 14px; }
.controls{text-align: left; overflow-x: auto; overflow-y: hidden; margin-left: 180px; }
.controls input{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls select{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls textarea{width: 400px; height: 90px; border-radius: 4px; } .form-horizontal{margin: 0 10px; }
.bottom-buttom{border-top: 1px solid #e5e5e5; margin-top: 20px; background-color: #f5f5f5; padding: 30px 0; }
.submit{width: 50px; text-align: center; background-color:#3daae9; color: #fff; padding: 5px 10px; font-size: 16px; border-radius: 4px; cursor:pointer; }
</style>
<body>
<div class="x-nav" style="padding: 0px;">
<span class="change_box">
<a href="javascript:;" class="list-one" data-id="1">用户列表</a>
<a href="javascript:;" class="list-two actived" data-id="2">用户修改</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="info_from form-horizontal">
<div class="control-group">
<label class="control-label">账号:</label>
<div class="controls">
<input id="L_username" name="L_username" type="text" value="{$admin.admin}" readonly maxlength="50" minlength="3" class="required" readonly>
</div>
</div>
<div class="control-group">
<label class="control-label">密码:</label>
<div class="controls">
<input id="L_pass" name="L_pass" type="password" value maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * 密码默认为空不修改</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">确认密码:</label>
<div class="controls">
<input id="L_repass" name="L_repass" type="password" value maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 密码默认为空不修改</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">手机号码:</label>
<div class="controls">
<input id="L_mobile" name="L_mobile" type="text" value="{$admin.mobile}" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> *</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">邮箱:</label>
<div class="controls">
<input id="L_email" name="L_email" type="text" value="{$admin.email}" maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">状态:</label>
<div class="controls">
<select id="L_status" name="L_status" type="text" value maxlength="50" minlength="3" class="required">
<option value="1" <?php if($admin['status'] == 1) echo 'selected'; ?>>正常</option>
<option value="0" <?php if($admin['status'] == 0) echo 'selected'; ?>>锁定</option>
</select>
<span class="help-inline">
<font color="red"> * </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">备注:</label>
<div class="controls">
<textarea id="L_remarks" name="L_remarks" type="text" value maxlength="50" minlength="3" class="required">{$admin.remark}</textarea>
</div>
</div>
<div class="bottom-buttom">
<label class="control-label"></label>
<div class="controls">
<div class='submit'>保存</div>
</div>
</div>
</div>
<!-- 隐藏参数 -->
<input type="hidden" id="admin-id" value="{$admin.id}">
<script>
// 代理列表和添加代理切换
$('.x-nav .change_box a').click(function(){
// 样式切换
$('.x-nav .change_box a').removeClass('actived');
$(this).addClass('actived');
// 页面切换
var id = $(this).attr('data-id');
if(id == "1") location.href = '/admin/index';
if(id == "2") location.href = '/admin/admin_edit';
});
//监听提交
$('.submit').click(function (data) {
// 获取和拼装添加代理的数据
var query = new Object();
query.admin_id = $('#admin-id').val();
query.username = $('#L_username').val();
query.pass = $('#L_pass').val();
query.repass = $('#L_repass').val();
query.mobile = $('#L_mobile').val();
query.email = $('#L_email').val();
query.remarks = $('#L_remarks').val();
// 验证数据
if(query.pass.length > 0){
if(query.pass.length >= 6){
if(query.pass != query.repass){
layer.msg("两次密码不一致!");
return false;
}
}else{
layer.msg("密码不能少于6位字符!");
return false;
}
}
var re = /1[\d]{6,10}/;
if(!re.test(query.mobile)){
layer.msg("请填写正确的手机号码!");
return false;
}
// 发送数据到后台添加会员
var result = ajax('/admin/do_admin_edit',query);
if(result.code == 1){
layer.alert(result.msg, {icon: 6}, function () {
location.href = '/admin/index';
});
}else{
layer.msg(result.msg,{icon:2});
}
return false;
});
// AJAX函数封装
function ajax(url,query){
var returnData = 0;
$.ajax({
url:url,
data:query,
type:'POST',
dataType:'JSON',
async:false,
success:function(data){
returnData = data;
}
});
return returnData;
}
</script>
</body>
</html>
@@ -0,0 +1,37 @@
{include file="public/header"}
<body>
<div class="x-body">
<table class="layui-table">
<div style="text-align: center;font-size: 18px;font-weight:bold;">用户列表</div>
<thead>
<tr>
<th style="text-align: center;">编号</th>
<th style="text-align: center;">用户名</th>
<th style="text-align: center;">电话</th>
<th style="text-align: center;">邮箱</th>
<th style="text-align: center;">最后登录IP</th>
<th style="text-align: center;">最后登录时间</th>
<th style="text-align: center;">状态</th>
</tr>
</thead>
<tbody>
{foreach name="admin_list" item="vo"}
<tr>
<td>{$vo.id}</td>
<td>{$vo.admin}</td>
<td>{$vo.mobile}</td>
<td>{$vo.email}</td>
<td>{$vo.last_login_ip}</td>
<td>{$vo.last_login_time}</td>
{if condition="$vo.status == 1"}
<td>正常</td>
{else}
<td>锁定中</td>
{/if}
</tr>
{/foreach}
</tbody>
</div>
</body>
</html>
+363
View File
@@ -0,0 +1,363 @@
{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:10px; }
.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:48px; }
.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:320px; background:#fff; border:1px solid #e2e2e2; border-radius:5px; display:none;}
.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>
<a href="javascript:;" class="list-two" data-id="2">玩家添加</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/index" method="get">
<input class="layui-input" placeholder="开始时间" name="startDate" id="start" value="<?php if(isset($get['startDate'])) {echo $get['startDate'];} ?>">
<input class="layui-input" placeholder="结束时间" name="endDate" id="end" value="<?php if(isset($get['endDate'])) {echo $get['endDate'];} ?>">
<div class="layui-input-block" >
<select name="status" id="status">
<option value="-1" >请选择玩家状态</option>
<option value="1" <?php if(isset($get['status']) && $get['status'] == 1) {echo 'selected';} ?>>正常</option>
<option value="2" <?php if(isset($get['status']) && $get['status'] == 2) {echo 'selected';} ?>>锁定</option>
</select>
</div>
<input type="text" name="username" id="username" placeholder="请输入用户名" autocomplete="off" class="layui-input" value="<?php if(isset($get['username'])) {echo $get['username'];} ?>">
<input type="text" name="agent_parent" id="agent_parent" placeholder="请输入上级代理" autocomplete="off" class="layui-input" value="<?php if(isset($get['agent_parent'])) {echo $get['agent_parent'];} ?>">
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
<span class="layui-btn" id="export">导出excel</span>
<!-- <span class="layui-btn" id="print">打印</span> -->
</form>
</div>
<table class="layui-table">
<thead>
<tr>
<th>用户名</th>
<th>联系人</th>
<th>手机</th>
<th>邮箱</th>
<th>上级代理</th>
<th>投注方式</th>
<th>最近上分</th>
<th>商户余额</th>
<th>百家乐码率(%)</th>
<th>龙虎码率(%)</th>
<th>总下注</th>
<th>总赢</th>
<th>码量</th>
<th>日赢上限</th>
<th>赔率</th>
<th>创建日期</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{foreach name="agent_list" item="vo"}
<tr>
<td>{$vo.username}</td>
<td>{$vo.nickname}</td>
<td>{$vo.mobile}</td>
<td>{$vo.email}</td>
{if condition="$vo.agent_parent_id > 0"}
<td>{$vo.agent_parent_username}</td>
{else}
<td>无</td>
{/if}
<td>{$vo.bet_type}</td>
<td>{$vo.last_recharge}</td>
<td>{$vo.money}</td>
<td>{$vo.agent_ximalv}</td>
<td>{$vo.agent_ximalv_dt}</td>
<td>{$vo.all_bet_amount}</td>
<td>{$vo.win_total}</td>
<td>{$vo.maliang}</td>
<td>{$vo.win_limit}</td>
<th>
<a href="javascript:;" onclick="showPrice(this)" price-username="{$vo.username}" price-banker="{$vo.price_banker}" price-player="{$vo.price_player}" price-tie-baccarat="{$vo.price_tie_baccarat}" price-pair="{$vo.price_pair}" price-dragon="{$vo.price_dragon}" price-tiger="{$vo.price_tiger}" price-tie-dt="{$vo.price_tie_dt}" price-n7-n9="{$vo.price_n7_n9}" price-nn="{$vo.price_nn}" price-5n="{$vo.price_5n}" price-bomb="{$vo.price_bomb}">
<span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#009688;" >查看</span>
</a>
</th>
<td style="width:80px;">{$vo.reg_time}</td>
{if condition="$vo.status == 1"}
<td class="td-status">
<span class="layui-btn layui-btn-normal layui-btn-mini">正常</span>
</td>
{else}
<td class="td-status">
<span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#ff5050;">锁定中</span>
</td>
{/if}
<td class="td-manage">
{if condition="$vo.status == 1"}
<a onclick="member_stop(this,'{$vo.id}')" href="javascript:;" title="锁定">
<span class="layui-btn layui-btn-normal layui-btn-mini">锁定</span>
</a>
{else}
<a onclick="member_stop(this,'{$vo.id}')" href="javascript:;" title="解锁">
<span class="layui-btn layui-btn-normal layui-btn-mini">解锁</span>
</a>
{/if}
<a href="/player/player_edit?id={$vo.id}">
<span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#009688;">修改</span>
</a>
<a onclick="member_del(this,'{$vo.id}')" href="javascript:;">
<span class="layui-btn layui-btn-normal layui-btn-mini" style="background:#ff5050;">删除</span>
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{$agent_list->render()}
</div>
<div class="alert" id="alert_price">
<div class="alert-title" id="show_price_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="hiddenForm('alert_price')" class="input_button" style="background:#009688; border:1px solid #e2e2e2;color:#fff;">关闭</span>
</div>
</div>
<script>
// 代理列表和添加代理切换
$('.x-nav .change_box a').click(function(){
// 样式切换
$('.x-nav .change_box a').removeClass('actived');
$(this).addClass('actived');
// 页面切换
var id = $(this).attr('data-id');
if(id == "1") location.href = '/player/index';
if(id == "2") location.href = '/player/player_add';
});
// 时间选择器
layui.use('laydate', function () {
var laydate = layui.laydate;
// 开始时间
laydate.render({
elem: '#start',
type: 'datetime'
});
// 结束时间
laydate.render({
elem: '#end',
type: 'datetime'
});
});
/*用户-锁定/解锁*/
function member_stop(obj, id) {
layer.confirm('确认要' + $(obj).attr('title') + '吗?', function (index) {
if ($(obj).attr('title') == '锁定') {
// 拼装数据发送后台 锁定 会员
var query = new Object;
query.user_id = id;
query.status = 0;
var result = ajax('/player/change_status', query);
} else {
// 拼装数据发送后台 解锁 会员
var query = new Object;
query.user_id = id;
query.status = 1;
var result = ajax('/player/change_status', query);
}
// 判断结果 弹出提示
if (result.code == 1) {
layer.msg(result.msg, {icon: 1, time: 1500});
setInterval(function () {
location.reload();
}, 1500);
} else {
layer.msg(result.msg, {icon: 2, time: 1500});
}
});
}
/*用户-删除*/
function member_del(obj, id) {
layer.confirm('确认要删除吗?',function () {
// 数据验证
if(id <= 0){
layer.msg('删除用户出错!');
return false;
}
// 拼装数据
var query = new Object;
query.user_id = id;
// 发送数据到后台删除会员
var result = ajax('/player/player_del',query);
if(result.code == 1){
layer.msg(result.msg, {icon: 1, time: 1000},function(){
location.reload();
});
}else if(result.code == 0){
layer.msg(result.msg, {icon: 2, time: 1000});
}
});
}
/**
* 封装 AJAX 函数
* @param url 目标地址
* @param query 参数
* @returns {string}
*/
function ajax(url, query) {
var returnData = "";
$.ajax({
url: url,
data: query,
type: 'POST',
dataType: 'JSON',
async: false,
success: function (data) {
returnData = data;
}
});
return returnData;
}
$('#print').click(function(){
var qs = getQueryString();
var startDate = qs["startDate"];
var endDate = qs["endDate"];
var status = qs["status"];
var username = qs["username"];
var agent_parent = qs["agent_parent"];
if(startDate == undefined){
startDate = '';
}
if(endDate == undefined){
endDate = '';
}
if(status == undefined){
status = '';
}
if(username == undefined){
username = '';
}
if(agent_parent == undefined){
agent_parent = '';
}
layer.open({
type: 2,
title:'玩家列表打印',
content: '/player/player_print?startDate='+startDate+'&endDate='+endDate+'&status='+status+'&username='+username+'&agent_parent='+agent_parent,
area: ['95%', '95%']
});
});
function getQueryString() {
var qs = location.search.substr(1), // 获取url中"?"符后的字串
args = {}, // 保存参数数据的对象
items = qs.length ? qs.split("&") : [], // 取得每一个参数项,
item = null,
len = items.length;
for(var i = 0; i < len; i++) {
item = items[i].split("=");
var name = decodeURIComponent(item[0]),
value = decodeURIComponent(item[1]);
if(name) {
args[name] = value;
}
}
return args;
}
// 导出excel
$('#export').click(function(){
var startDate = $('#start').val();
var endDate = $('#end').val();
var status = $('#status').val();
var agent_parent = $('#agent_parent').val();
var username = $('#username').val();
layer.confirm('确定导出 excel 吗?',function(index){
location.href = "/player/index?export=1&&startDate="+startDate+"&&endDate="+endDate+"&&status="+status+"&&agent_parent="+agent_parent+"&&username="+username;
layer.close(index);
});
})
// 显示用户的赔率
function showPrice(obj){
// 获取赔率数据
var price_username = $(obj).attr('price-username');
var price_banker = $(obj).attr('price-banker');
var price_player = $(obj).attr('price-player');
var price_tie_baccarat = $(obj).attr('price-tie-baccarat');
var price_pair = $(obj).attr('price-pair');
var price_dragon = $(obj).attr('price-dragon');
var price_tiger = $(obj).attr('price-tiger');
var price_tie_dt = $(obj).attr('price-tie-dt');
var price_n7_n9 = $(obj).attr('price-n7-n9');
var price_nn = $(obj).attr('price-nn');
var price_5n = $(obj).attr('price-5n');
var price_bomb = $(obj).attr('price-bomb');
// 显示赔率数据
$('#show_price_username').html(price_username+" 的赔率");
$('#show_price_banker').html(price_banker);
$('#show_price_player').html(price_player);
$('#show_price_tie_baccarat').html(price_tie_baccarat);
$('#show_price_pair').html(price_pair);
$('#show_price_dragon').html(price_dragon);
$('#show_price_tiger').html(price_tiger);
$('#show_price_tie_dt').html(price_tie_dt);
$('#show_price_n7_n9').html(price_n7_n9);
$('#show_price_nn').html(price_nn);
$('#show_price_5n').html(price_5n);
$('#show_price_bomb').html(price_bomb);
$('#alert_price').show();
}
//点击隐藏表单弹窗
function hiddenForm(id) {
$('#' + id).hide();
}
</script>
</body>
</html>
+411
View File
@@ -0,0 +1,411 @@
{include file="public/header"}
<style>
textarea, input[type="text"], input[type="password"],
.uneditable-input{border: 1px solid #ccc;background-color: #fff; }
.change_box a{font-size: 14px;padding: 10.5px 10px;}
.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; }
.x-nav{overflow: inherit; }
.x-nav .refresh{margin-right: 20px; }
.control-group{overflow: hidden; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted #dddddd; }
.control-label{float: left; padding-top: 3px; width: 160px; text-align: right; font-size: 14px; }
.controls{text-align: left; overflow-x: auto; overflow-y: hidden; margin-left: 180px; }
.controls input{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls select{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls textarea{width: 400px; height: 90px; border-radius: 4px; } .form-horizontal{margin: 0 10px; }
.bottom-buttom{border-top: 1px solid #e5e5e5; margin-top: 20px; background-color: #f5f5f5; padding: 30px 0; }
.submit{width: 50px; text-align: center; background-color:#3daae9; color: #fff; padding: 5px 10px; font-size: 16px; border-radius: 4px; cursor:pointer; }
</style>
<body>
<div class="x-nav" style="padding: 0px;">
<span class="change_box">
<a href="javascript:;" class="list-one" data-id="1">玩家列表</a>
<a href="javascript:;" class="list-two actived" data-id="2">玩家添加</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="info_from form-horizontal">
<div class="control-group">
<label class="control-label">上级代理:</label>
<div class="controls">
<select name="parent_agent" id="parent_agent">
<option value="0">无</option>
{foreach name="agent_list" item="vo"}
<option value="{$vo.id}">{$vo.username}</option>
{/foreach}
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">账号:</label>
<div class="controls">
<input id="L_username" name="L_username" type="text" value maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * 将会成为您唯一的登入名</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">昵称:</label>
<div class="controls">
<input id="L_nickname" name="L_nickname" type="text" value maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">密码:</label>
<div class="controls">
<input id="L_pass" name="L_pass" type="password" value maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * 6到16个字符</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">确认密码:</label>
<div class="controls">
<input id="L_repass" name="L_repass" type="password" value maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 与密码保持一致</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">手机号码:</label>
<div class="controls">
<input id="L_mobile" name="L_mobile" type="text" value maxlength="50" minlength="3" class="required"><span class="help-inline">
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">邮箱:</label>
<div class="controls">
<input id="L_email" name="L_email" type="text" value maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">百家乐码率(%):</label>
<div class="controls">
<input id="L_ximalv" name="L_ximalv" type="text" value="0" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 无上级代理最高不能超过100% </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">龙虎码率(%):</label>
<div class="controls">
<input id="L_ximalv_dt" name="L_ximalv_dt" type="text" value="0" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 无上级代理最高不能超过100% </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">占成(%):</label>
<div class="controls">
<input id="L_cs" name="L_cs" type="text" value="0" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 无上级代理最高不能超过100% </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">最低限红:</label>
<div class="controls">
<input id="limit_low" name="limit_low" type="text" value maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 不填写则为0,限红将根据桌子限红</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">最高限红:</label>
<div class="controls">
<input id="limit_high" name="limit_high" type="text" value maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 不填写则为0,限红将根据桌子限红</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">投注方式:</label>
<div class="controls">
<select id="L_bet_type" name="L_bet_type" type="text" maxlength="20" min-length="3" class="required">
<option value="0">请选择投注方式</option>
<option value="1">网络投注</option>
<option value="2">电话投注</option>
<option value="3">所有投注</option>
</select>
<span class="help-inline">
<font color="red"> *</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押庄赔率:</label>
<div class="controls">
<input id="price_banker" name="price_banker" type="text" value="0.95" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押闲赔率:</label>
<div class="controls">
<input id="price_player" name="price_player" type="text" value="1" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押和赔率:</label>
<div class="controls">
<input id="price_tie_baccarat" name="price_tie_baccarat" type="text" value="8" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押对子赔率:</label>
<div class="controls">
<input id="price_pair" name="price_pair" type="text" value="8" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押龙赔率:</label>
<div class="controls">
<input id="price_dragon" name="price_dragon" type="text" value="0.97" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 龙虎斗 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押虎赔率:</label>
<div class="controls">
<input id="price_tiger" name="price_tiger" type="text" value="0.97" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 龙虎斗 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押和赔率:</label>
<div class="controls">
<input id="price_tie_dt" name="price_tie_dt" type="text" value="8" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 龙虎斗 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押牛7-牛9赔率:</label>
<div class="controls">
<input id="price_n7_n9" name="price_n7_n9" type="text" value="2" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押牛牛赔率:</label>
<div class="controls">
<input id="price_nn" name="price_nn" type="text" value="3" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押五公赔率:</label>
<div class="controls">
<input id="price_5n" name="price_5n" type="text" value="5" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押四条赔率:</label>
<div class="controls">
<input id="price_bomb" name="price_bomb" type="text" value="4.85" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">日赢上限:</label>
<div class="controls">
<input id="win_limit" name="win_limit" type="text" value="0" maxlength="10" class="required" onkeyup="value=value.replace(/[^\d]/g,'')"><span class="help-inline">
<font color="red"> * 默认0则为没有限制</font>
</span>
</div>
</div>
<div class="bottom-buttom">
<label class="control-label"></label>
<div class="controls">
<div class='submit'>保存</div>
</div>
</div>
</div>
<script>
// 代理列表和添加代理切换
$('.x-nav .change_box a').click(function(){
// 样式切换
$('.x-nav .change_box a').removeClass('actived');
$(this).addClass('actived');
// 页面切换
var id = $(this).attr('data-id');
if(id == "1") location.href = '/player/index';
if(id == "2") location.href = '/player/player_add';
});
//监听提交
$('.submit').click( function(){
// 获取和拼装添加代理的数据
var limit_checkout = new Array();
var query = new Object();
query.parent_agent_id = $('#parent_agent').val();
query.username = $('#L_username').val();
query.nickname = $('#L_nickname').val();
query.pass = $('#L_pass').val();
query.repass = $('#L_repass').val();
query.mobile = $('#L_mobile').val();
query.email = $('#L_email').val();
query.ximalv = $('#L_ximalv').val();
query.ximalv_dt = $('#L_ximalv_dt').val();
query.cs = $('#L_cs').val();
query.bet_type = $('#L_bet_type').val();
query.limit_low = $('#limit_low').val();
query.limit_high = $('#limit_high').val();
query.price_banker = $('#price_banker').val();
query.price_player = $('#price_player').val();
query.price_tie_baccarat = $('#price_tie_baccarat').val();
query.price_pair = $('#price_pair').val();
query.price_dragon = $('#price_dragon').val();
query.price_tiger = $('#price_tiger').val();
query.price_tie_dt = $('#price_tie_dt').val();
query.price_n7_n9 = $('#price_n7_n9').val();
query.price_nn = $('#price_nn').val();
query.price_5n = $('#price_5n').val();
query.price_bomb = $('#price_bomb').val();
query.win_limit = $('#win_limit').val();
// 验证数据
if(query.username.length == 0){
layer.alert("请填写账号!");
return false;
}
if(query.nickname.length == 0){
layer.alert("请填写昵称!");
return false;
}
if(query.pass.length <= 0){
layer.alert("请填写密码!");
return false;
}
if(query.pass.length > 0 && query.pass.length < 6){
layer.alert("密码长度为6到16个字符!");
return false;
}
if(query.pass != query.repass){
layer.alert("两次密码不一致!");
return false;
}
if(query.ximalv >= 100){
layer.alert("洗码率最高不能超过100%!");
return false;
}
if(query.ximalv_dt >= 100){
layer.alert("洗码率最高不能超过100%!");
return false;
}
if(query.cs > 100){
layer.alert("占成最高不能超过100%!");
return false;
}
if(query.bet_type <= 0){
layer.alert("请选择投注方式");
return false;
}
if(query.price_banker <= 0){
layer.alert("押庄赔率必须大于0");
return false;
}
if(query.price_player <= 0){
layer.alert("押闲赔率必须大于0");
return false;
}
if(query.price_tie_baccarat <= 0){
layer.alert("押和(百家乐)赔率必须大于0");
return false;
}
if(query.price_pair <= 0){
layer.alert("押对子赔率必须大于0");
return false;
}
if(query.price_dragon <= 0){
layer.alert("押龙赔率必须大于0");
return false;
}
if(query.price_tiger <= 0){
layer.alert("押虎赔率必须大于0");
return false;
}
if(query.price_tie_dt <= 0){
layer.alert("押和(龙虎斗)赔率必须大于0");
return false;
}
if(query.price_n7_n9 <= 0){
layer.alert("押牛7-牛9赔率必须大于0");
return false;
}
if(query.price_nn <= 0){
layer.alert("押牛牛赔率必须大于0");
return false;
}
if(query.price_5n <= 0){
layer.alert("押五公赔率必须大于0");
return false;
}
if(query.price_bomb <= 0){
layer.alert("押四条赔率必须大于0");
return false;
}
if(query.win_limit.length <= 0){
layer.alert("日赢上限不能为空");
return false;
}
// 发送数据到后台添加会员
var result = ajax('/player/do_player_add',query);
if(result.code == 1){
layer.alert(result.msg, {icon: 6}, function () {
location.href = "/player/index";
});
}else{
layer.msg(result.msg,{icon:2});
}
return false;
});
// AJAX函数封装
function ajax(url,query){
var returnData = 0;
$.ajax({
url:url,
data:query,
type:'POST',
dataType:'JSON',
async:false,
success:function(data){
returnData = data;
}
});
return returnData;
}
</script>
</body>
</html>
+389
View File
@@ -0,0 +1,389 @@
{include file="public/header"}
<style>
textarea, input[type="text"], input[type="password"],
.uneditable-input{border: 1px solid #ccc;background-color: #fff; }
.change_box a{font-size: 14px;padding: 10.5px 10px;}
.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; }
.x-nav{overflow: inherit; }
.x-nav .refresh{margin-right: 20px; }
.control-group{overflow: hidden; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted #dddddd; }
.control-label{float: left; padding-top: 3px; width: 160px; text-align: right; font-size: 14px; }
.controls{text-align: left; overflow-x: auto; overflow-y: hidden; margin-left: 180px; }
.controls input{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls select{width: 300px; height: 24px; font-size: 14px; border-radius: 4px; padding-left:6px; }
.controls textarea{width: 400px; height: 90px; border-radius: 4px; } .form-horizontal{margin: 0 10px; }
.bottom-buttom{border-top: 1px solid #e5e5e5; margin-top: 20px; background-color: #f5f5f5; padding: 30px 0; }
.submit{width: 50px; text-align: center; background-color:#3daae9; color: #fff; padding: 5px 10px; font-size: 16px; border-radius: 4px; cursor:pointer; }
</style>
<body>
<div class="x-nav" style="padding: 0px;">
<span class="change_box">
<a href="javascript:;" class="list-one" data-id="1">代理列表</a>
<a href="javascript:;" class="list-two actived" data-id="2">玩家修改</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="info_from form-horizontal">
<div class="control-group">
<label class="control-label">上级代理:</label>
<div class="controls">
<input id="L_parent_agent" name="L_parent_agent" type="text" value="{$parent_agent.username}" maxlength="50" minlength="3" class="required" readonly>
<span class="help-inline">
<font color="red"> </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">账号:</label>
<div class="controls">
<input id="L_username" name="L_username" type="text" value="{$player.username}" readonly maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">昵称:</label>
<div class="controls">
<input id="L_nickname" name="L_nickname" type="text" value="{$player.nickname}" maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">密码:</label>
<div class="controls">
<input id="L_pass" name="L_pass" type="password" maxlength="50" minlength="3" class="required">
<span class="help-inline">
<font color="red"> * 不填密码默认不修改</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">确认密码:</label>
<div class="controls">
<input id="L_repass" name="L_repass" type="password" value maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 不填密码默认不修改</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">手机号码:</label>
<div class="controls">
<input id="L_mobile" name="L_mobile" type="text" value="{$player.mobile}" maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">邮箱:</label>
<div class="controls">
<input id="L_email" name="L_email" type="text" value="{$player.email}" maxlength="50" minlength="3" class="required">
</div>
</div>
<div class="control-group">
<label class="control-label">百家乐码率(%):</label>
<div class="controls">
<input id="L_ximalv" name="L_ximalv" type="text" value="{$player.agent_ximalv}" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 洗码率不能超过{$parent_agent.agent_ximalv}%</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">龙虎码率(%):</label>
<div class="controls">
<input id="L_ximalv_dt" name="L_ximalv_dt" type="text" value="{$player.agent_ximalv_dt}" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 洗码率不能超过{$parent_agent.agent_ximalv_dt}%</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">占成(%):</label>
<div class="controls">
<input id="L_cs" name="L_cs" type="text" value="{$player.agent_cs}" maxlength="50" minlength="3" class="required"><span class="help-inline">
<font color="red"> * 洗码率不能超过{$parent_agent.agent_cs}%</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">最低限红:</label>
<div class="controls">
<input id="limit_low" name="limit_low" type="text" maxlength="10" class="required" value="{$player.limit_low}"><span class="help-inline">
<font color="red"> * 不填写则为0,限红将根据桌子限红</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">最高限红:</label>
<div class="controls">
<input id="limit_high" name="limit_high" type="text" maxlength="10" class="required" value="{$player.limit_high}"><span class="help-inline">
<font color="red"> * 不填写则为0,限红将根据桌子限红</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">投注方式:</label>
<div class="controls">
<select id="L_bet_type" name="L_bet_type" type="text" maxlength="20" min-length="3" class="required">
<option value="0">请选择投注方式</option>
<option value="1" <?php if($player['bet_type'] == 1) {echo 'selected';} ?>>网络投注</option>
<option value="2" <?php if($player['bet_type'] == 2) {echo 'selected';} ?>>电话投注</option>
<option value="3" <?php if($player['bet_type'] == 3) {echo 'selected';} ?>>所有投注</option>
</select>
<span class="help-inline">
<font color="red"> *</font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押庄赔率:</label>
<div class="controls">
<input id="price_banker" name="price_banker" type="text" value="{$player.price_banker}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押闲赔率:</label>
<div class="controls">
<input id="price_player" name="price_player" type="text" value="{$player.price_player}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押和赔率:</label>
<div class="controls">
<input id="price_tie_baccarat" name="price_tie_baccarat" type="text" value="{$player.price_tie_baccarat}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押对子赔率:</label>
<div class="controls">
<input id="price_pair" name="price_pair" type="text" value="8" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 百家乐 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押龙赔率:</label>
<div class="controls">
<input id="price_dragon" name="price_dragon" type="text" value="{$player.price_dragon}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 龙虎斗 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押虎赔率:</label>
<div class="controls">
<input id="price_tiger" name="price_tiger" type="text" value="{$player.price_tiger}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 龙虎斗 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押和赔率:</label>
<div class="controls">
<input id="price_tie_dt" name="price_tie_dt" type="text" value="{$player.price_tie_dt}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 龙虎斗 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押牛7-牛9赔率:</label>
<div class="controls">
<input id="price_n7_n9" name="price_n7_n9" type="text" value="{$player.price_n7_n9}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押牛牛赔率:</label>
<div class="controls">
<input id="price_nn" name="price_nn" type="text" value="{$player.price_nn}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押五公赔率:</label>
<div class="controls">
<input id="price_5n" name="price_5n" type="text" value="{$player.price_5n}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">押四条赔率:</label>
<div class="controls">
<input id="price_bomb" name="price_bomb" type="text" value="{$player.price_bomb}" maxlength="10" class="required"><span class="help-inline">
<font color="red"> * 牛牛 </font>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">日赢上限:</label>
<div class="controls">
<input id="win_limit" name="win_limit" type="text" value="{$player.win_limit}" maxlength="10" class="required" onkeyup="value=value.replace(/[^\d]/g,'')"><span class="help-inline">
<font color="red"> * 默认0则为没有限制</font>
</span>
</div>
</div>
<div class="bottom-buttom">
<label class="control-label"></label>
<div class="controls">
<div class='submit'>保存</div>
</div>
</div>
</div>
<!-- 隐藏参数 -->
<input type="hidden" id="player-id" value="{$player.id}">
<input type="hidden" id="parent-ximalv" value="{$parent_agent.agent_ximalv}">
<input type="hidden" id="parent-ximalv-dt" value="{$parent_agent.agent_ximalv_dt}">
<input type="hidden" id="parent-cs" value="{$parent_agent.agent_cs}">
<script>
// 代理列表和添加代理切换
$('.x-nav .change_box a').click(function(){
// 样式切换
$('.x-nav .change_box a').removeClass('actived');
$(this).addClass('actived');
// 页面切换
var id = $(this).attr('data-id');
if(id == "1") location.href = '/player/index';
if(id == "2") location.href = '/player/player_edit';
});
//监听提交
$('.submit').click(function () {
// 获取和拼装添加代理的数据
var limit_checkout = new Array();
var query = new Object();
query.player_id = $('#player-id').val();
query.username = $('#L_username').val();
query.nickname = $('#L_nickname').val();
query.pass = $('#L_pass').val();
query.repass = $('#L_repass').val();
query.mobile = $('#L_mobile').val();
query.email = $('#L_email').val();
query.ximalv = $('#L_ximalv').val();
query.ximalv_dt = $('#L_ximalv_dt').val();
query.cs = $('#L_cs').val();
query.bet_type = $('#L_bet_type').val();
var parent_ximalv = $('#parent-ximalv').val();
var parent_ximalv_dt = $('#parent-ximalv-dt').val();
var parent_cs = $('#parent-cs').val();
query.limit_low = $('#limit_low').val();
query.limit_high = $('#limit_high').val();
query.price_banker = $('#price_banker').val();
query.price_player = $('#price_player').val();
query.price_tie_baccarat = $('#price_tie_baccarat').val();
query.price_pair = $('#price_pair').val();
query.price_dragon = $('#price_dragon').val();
query.price_tiger = $('#price_tiger').val();
query.price_tie_dt = $('#price_tie_dt').val();
query.price_n7_n9 = $('#price_n7_n9').val();
query.price_nn = $('#price_nn').val();
query.price_5n = $('#price_5n').val();
query.price_bomb = $('#price_bomb').val();
query.win_limit = $('#win_limit').val();
// 验证数据
if(query.pass.length > 0){
if(query.pass.length >= 6){
if(query.pass != query.repass){
layer.msg("两次密码不一致!");
return false;
}
}else{
layer.msg("密码不能少于6位字符!");
return false;
}
}
if(parseFloat(query.ximalv) > parseFloat(parent_ximalv) || parseFloat(query.ximalv_dt) > parseFloat(parent_ximalv_dt)){
layer.msg("码率不能超过父级码率");
return false;
}
if(parseFloat(query.cs) > parseFloat(parent_cs)){
layer.msg("占成不能超过父级占成");
return false;
}
if(query.bet_type <= 0){
layer.alert("请选择投注方式");
return false;
}
if(query.price_banker <= 0){
layer.alert("押庄赔率必须大于0");
return false;
}
if(query.price_player <= 0){
layer.alert("押闲赔率必须大于0");
return false;
}
if(query.price_tie_baccarat <= 0){
layer.alert("押和(百家乐)赔率必须大于0");
return false;
}
if(query.price_dragon <= 0){
layer.alert("押龙赔率必须大于0");
return false;
}
if(query.price_tiger <= 0){
layer.alert("押虎赔率必须大于0");
return false;
}
if(query.price_tie_dt <= 0){
layer.alert("押和(龙虎斗)赔率必须大于0");
return false;
}
if(query.price_n7_n9 <= 0){
layer.alert("押牛7-牛9赔率必须大于0");
return false;
}
if(query.price_nn <= 0){
layer.alert("押牛牛赔率必须大于0");
return false;
}
if(query.price_5n <= 0){
layer.alert("押五公赔率必须大于0");
return false;
}
if(query.price_bomb <= 0){
layer.alert("押四条赔率必须大于0");
return false;
}
if(query.win_limit.length <= 0){
layer.alert("日赢上限不能为空");
return false;
}
// 发送数据到后台添加会员
var result = ajax('/player/do_player_edit',query);
if(result.code == 1){
layer.alert(result.msg, {icon: 6}, function () {
location.href = '/player/index';
});
}else{
layer.msg(result.msg,{icon:2});
}
return false;
});
// AJAX函数封装
function ajax(url,query){
var returnData = 0;
$.ajax({
url:url,
data:query,
type:'POST',
dataType:'JSON',
async:false,
success:function(data){
returnData = data;
}
});
return returnData;
}
</script>
</body>
</html>
+250
View File
@@ -0,0 +1,250 @@
{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">&#xe615;</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>