You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

671 lines
32 KiB
HTML

5 years ago
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
5 years ago
<style>
.select2-container--default .select2-selection--single {
5 years ago
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
</style>
5 years ago
<!-- 标题栏 -->
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a <if condition="(I('type') eq 1) or (I('type') eq '') "> class="tabchose" </if> href="{:U('user_info',array('type'=>1))}">本站玩家</a>
<a <if condition="I('type') eq 2"> class="tabchose" </if> href="{:U('user_info',array('type'=>2))}">第三方玩家</a>
<a href="{:U('public_account')}">公用账户</a>
5 years ago
</div>
<h3 class="page_title">玩家列表</h3>
<if condition="(I('type',1) eq 1) ">
<p class="description_text">说明:此列表统计平台账号总数,当筛选条件为游戏不含区服时为该游戏的玩家数量,含区服时为玩家创建角色数量</p>
<else/>
<p class="description_text">说明游客登录默认属于第三方用户当用户通过SDK设置了用户名以后记录变换到本站用户列表里账户自动更换为设置的账号</p>
5 years ago
</if>
</div>
<style>
5 years ago
</style>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch search_list fl cf">
<div class="input-list search-title-box">
<label>搜索:</label>
5 years ago
</div>
<if condition="I('type') eq 2 ">
<div class="input-list input-list-resway search_label_rehab">
<select id="register_type" name="register_type" class="select_gallery" style="width:120px;">
<option value="">第三方来源</option>
<volist name=":all_register_type()" id="vo">
<option value="{$vo.key}">{$vo.value}</option>
</volist>
</select>
</div>
5 years ago
</if>
5 years ago
<div class="input-list">
<input type="text" name="user_id" class="" placeholder="账号ID" value="{:I('user_id')}"/>&nbsp;
</div>
5 years ago
<div class="input-list">
<input type="text" name="account" class="" placeholder="玩家账号" value="{:I('account')}"/>&nbsp;
</div>
4 years ago
<div class="input-list">
<input type="text" name="register_ip" class="" placeholder="注册IP" value="{:I('register_ip')}"/>&nbsp;
</div>
5 years ago
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="注册开始时间" />
5 years ago
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="注册结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
5 years ago
</div>
</div>
5 years ago
<!-- <div class="input-list input-list-promote search_label_rehab">
5 years ago
<select style="width: 120px;" id="promote_id" name="promote_id" class="select_gallery" >
<option value="">所属推广员</option>
<option value="0">官方渠道</option>
<option value="UC">UC用户</option>
<volist name=":get_promote_list(1)" id="vo">
<option promote-id="{$vo.id}" value="{$vo.id}">{$vo.account}</option>
</volist>
</select>
5 years ago
</div> -->
5 years ago
<if condition="I('type') eq 1 or I('type') eq ''">
<div class="input-list input-list-resway search_label_rehab">
<select id="register_way" name="register_way" class="select_gallery" style="width:120px;">
<option value="">注册方式</option>
<option value="1">账号</option>
<option value="2">手机号</option>
<option value="7">邮箱</option>
</select>
</div>
5 years ago
</if>
<div class="sleft">
<select id="status1" name="status" class="select_gallery">
<option value="" <if condition="I('status') eq ''" >selected="true"</if>>账号状态</option>
<option value="1" <if condition="I('status') eq '1'" >selected="true"</if>>正常</option>
<option value="0" <if condition="I('status') eq '0'" >selected="true"</if>>已{:L('Lock')}</option>
</select>
</div>
5 years ago
<div class="sleft">
<select id="viplevel" name="viplevel" class="select_gallery">
<option value="">VIP等级</option>
<option value="0">VIP 0</option>
<option value="1">VIP 1</option>
<option value="2">VIP 2</option>
<option value="3">VIP 3</option>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
5 years ago
<select id="game_name" name="game_name" class="select_gallery" >
<option value="">游戏名称</option>
<volist name=":getAllGame()" id="vo">
<option value="{$vo.game_name}" <if condition="$vo.game_name eq I('game_name')">selected</if> >{$vo.game_name}</option>
5 years ago
</volist>
</select>
5 years ago
</div>
<div class="input-list input-list-game search_label_rehab">
5 years ago
<select id="game_type" name="game_type" class="select_gallery" >
<option value="">设备类型</option>
<option value="1" <?php echo I('game_type') == 1 ? "selected" : ''?>>安卓</option>
<option value="2" <?php echo I('game_type') == 2 ? "selected" : ''?>>苹果</option>
</select>
5 years ago
</div>
5 years ago
<div class="input-list input-list-server search_label_rehab">
<select id="server_id" name="server_id" class="select_gallery" style="width:120px;">
5 years ago
<option value="">区服名称</option>
</select>
</div>
<br>
<div class="input-list input-list-game search_label_rehab">
<select id="is_repeat" name="is_repeat" class="select_gallery" style="width:140px;">
<option value="">请选择是否为去重数据</option>
<option value="0" <?php echo I('is_repeat') && I('is_repeat') == 0 ? "selected" : ''?>>否</option>
<option value="1" <?php echo I('is_repeat') && I('is_repeat') == 1 ? "selected" : ''?>>是</option>
</select>
</div>
4 years ago
<?php if($showPromote == 1):?>
5 years ago
<div class="input-list search_item input-list-gamenoticestatus">
<select name="promote_level" style="color:#444" class="select_gallery" id="promote_level">
<option value="">请选择推广员等级</option>
<option value="1" <?php if ($_POST['promote_level'] == 1):?>selected<?php endif;?>>会长</option>
5 years ago
<option value="2" <?php if ($_POST['promote_level'] == 2):?>selected<?php endif;?>>部门长</option>
<option value="3" <?php if ($_POST['promote_level'] == 3):?>selected<?php endif;?>>组长</option>
<option value="4" <?php if ($_POST['promote_level'] == 4):?>selected<?php endif;?>>组员</option>
5 years ago
</select>
-
</div>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="promote_id" style="color:#444" class="select_gallery" id="promote_id">
<option value="">请选择推广员</option>
<option value="0" <?php if ($_POST['promote_id'] == 0):?>selected<?php endif;?>>{:C('OFFICIEL_CHANNEL')}</option>
5 years ago
<option value="UC" <?php if ($_POST['promote_id'] == 'UC'):?>selected<?php endif;?>>UC用户</option>
</select>
</div>
4 years ago
<?php endif;?>
<?php if(!$isMarketAdmin && $showMarketAdmin == 1):?>
4 years ago
<div class="input-list search_item input-list-gamenoticestatus">
<select name="market_admin_id" style="color:#444" class="select_gallery" id="market_admin_id">
<option value="0">所属市场专员</option>
<?php foreach($marketAdmins as $marketAdmin):?>
<option value="<?=$marketAdmin['id']?>" <?php if ($_POST['market_admin_id'] == $marketAdmin['id']):?>selected<?php endif;?>><?=$marketAdmin['username']?></option>
<?php endforeach;?>
</select>
</div>
<?php endif;?>
5 years ago
<div class="input-list">
<input type="text" name="device_number" class="" placeholder="设备号" value="{:I('device_number')}"/>&nbsp;
</div>
5 years ago
<input type="hidden" name="" value="" class="sortBy">
<input type="hidden" name="type" value="{:I('type')}" class="sortBy">
<input type="hidden" name="balance_status" value="" id="balance_status">
<input type="hidden" name="recharge_status" value="" id="recharge_status">
<input type="hidden" name="key" value="" id='key'>
<input type="hidden" name="value" value="" id='value'>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('Member/user_info','model='.$model['name'] .'&row='.I('row'),false)}">
搜索</a>
5 years ago
</div>
<!-- <div class="input-list">
<a class="sch-btn" href="{:U('Export/expUser',array_merge(['id'=>3],I('get.')))}">导出</a>
</div> -->
5 years ago
<div class="fl button_list">
<a target-form="ids" onclick="shenhe(0)"><span class="button_icon button_icon5 "></span>批量锁定</a>
<a id="dtnn" target-form="ids" onclick="shenhe(1)"><span class="button_icon button_icon9 "></span>批量开启</a>
</div>
5 years ago
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th class="" style="width: 50px;">
<input class="check-all" type="checkbox">
</th>
<th>账号ID</th>
<if condition="I('type') eq 2">
<th>第三方来源</th>
<th>绑定账号</th>
5 years ago
<else/>
<th>玩家账号</th>
</if>
4 years ago
<?php if($showPromote == 1):?>
<th>所属推广员</th>
4 years ago
<?php endif;?>
<?php if($showMarketAdmin == 1):?>
4 years ago
<th>所属市场专员</th>
<?php endif;?>
<th>
<a class="paixu" data-order="{:I('balance_status',1)}" name="balance_status">
账户平台币
5 years ago
</a>
</th>
<th>
<a class="paixu" data-order="{:I('recharge_status',1)}" name="recharge_status">
5 years ago
累计充值
5 years ago
</a>
</th>
<th>
金币
</th>
<!-- <th>
绑定支付宝
</th>
<th>
小号
</th>-->
<th>
VIP等级
</th>
<if condition="I('type') eq 1 or I('type') eq ''">
5 years ago
<th>注册方式</th>
</if>
<th >注册时间</th>
<th >注册IP</th>
<th >最后登录时间</th>
<th >设备号</th>
<th >设备类型</th>
<th >去重数据</th>
<th >锁定备注</th>
<th >账号状态</th>
<th >拉黑状态</th>
<th >操作</th>
</tr>
5 years ago
</thead>
<!-- 列表 -->
<tbody>
<empty name ="list_data">
4 years ago
<td colspan="19" class="text-center">aOh! 暂时还没有内容!</td>
<else/>
5 years ago
<volist name="list_data" id="data">
<tr>
5 years ago
<td ><input class="ids" type="checkbox" value="{$data.account}" name="ids[]"></td>
5 years ago
<td >{$data.id}</td>
<if condition="I('type') eq 2">
<td >{:get_registertype($data['register_type'])}</td>
<td >
5 years ago
<if condition="$show_data_power eq true ">
{$data.account}
<else />
{$data.account|encryptStr}
</if>
<!--{$data.account}-->
</td>
<else/>
<td >
<if condition="$show_data_power eq true ">
{$data.account}
<else />
{$data.account|encryptStr}
</if>
<!--{$data.account}-->
</td>
5 years ago
</if>
4 years ago
<?php if($showPromote == 1):?>
5 years ago
<td >
<if condition="$data['promote_account'] eq '自然注册'">
{:C('OFFICIEL_CHANNEL')}
<else/>
<empty name='data["promote_account"]'>---<else/>
<if condition="$show_data_power eq true ">
{$data.promote_account}
<else />
{$data.promote_account|encryptStr}
</if>
<!--{$data.promote_account}-->
</empty>
</if>
5 years ago
</td>
4 years ago
<?php endif;?>
<?php if($showMarketAdmin == 1):?>
4 years ago
<td >{$data.market_admin_username}</td>
<?php endif;?>
5 years ago
<td >{$data.balance}</td>
<td >{$data.recharge_total}</td>
<td >{$data.gold_coin|default='0.00'}</td>
<!--<td >{$data.alipay|default='&#45;&#45;'}</td>
5 years ago
<td >
<gt name="data.small_count" value="0">
<a class="jssamlllist" data-url="{:U('Member/small_list',array('id'=>$data['id'],'account'=>$data['account']))}" data-account="{$data.account}" href="javascript:;">{$data.small_count|default=0}</a>
<else />&#45;&#45;
</gt>
</td>-->
<td>{:get_vip_level($data['recharge_total'])}</td>
<if condition="I('type') eq 1 or I('type') eq ''">
<td >
<switch name="data['register_type']">
<case value='2'>手机号</case>
<case value='7'>邮箱</case>
<default />账号
</switch>
</td>
5 years ago
</if>
5 years ago
<td >{$data.register_time|date='Y-m-d H:i:s',###}</td>
5 years ago
<td >{$data.register_ip}</td>
5 years ago
<td >
<if condition="$data.login_time eq null">
<else />
<span class="login_old">{:set_show_time($data['login_time'])}</span>
</if>
</td>
<td >
<if condition="$show_data_power eq true ">
{$data.device_number}
<else />
{$data.device_number|encryptStr}
</if>
<!--{$data.device_number}-->
5 years ago
</td>
<td>
<if condition="$data['device_type'] eq 1 ">
安卓
<elseif condition="$data['device_type'] eq 2 "/>
IOS
<else />
未知
</if>
</td>
<eq name="data.is_repeat" value="1">
<td></td>
<else/>
<td></td>
</eq>
<td >
<if condition="get_info_status($data['lock_status'],4) eq '锁定'">
{$data.lock_remark}
</if>
</td>
<if condition="get_info_status($data['lock_status'],4) eq '锁定'">
<td style="color:red;">已{:get_info_status($data['lock_status'],4)}</td>
<else />
<td >{:get_info_status($data['lock_status'],4)}</td>
5 years ago
</if>
<eq name="data.check_status" value="1">
<td>正常</td>
<else/>
5 years ago
<td style="color:red;">已拉黑</td>
</eq>
<td >
<a href="{:U('Member/edit?id='.$data['id'])}">查看 </a>
<if condition="get_info_status($data['lock_status'],4) eq 锁定">
<a class="ajax-get" href="{:U('Member/lock_status',array('id'=>$data['id'],'lock_status'=>1))}">启用 </a>
<else />
<a href="javascript:;" id="lock" data-url="{:U('Member/lock_status',array('id'=>$data['id'],'lock_status'=>0))}">{:L('Lock')}</a>
</if>
5 years ago
</td>
</tr>
</volist>
</empty>
<if condition="$rule_count_check">
<tr class="data_summary">
<td colspan="3" style="text-align: center;">汇总:</td>
<td colspan="8">
用户累计充值:{$now_count} &#12288;&#12288;
用户数:{$user_count}&#12288;&#12288;
去重用户数:{$repeat_count}&#12288;&#12288;
非去重用户数:{$no_repeat_count}&#12288;&#12288;
</td>
<td colspan="8" style="font-style: 12px;color: #a9a9a9;text-align: center;">
用户累计充值:仅表示符合筛选条件下的所有用户的充值总额,因为存在换绑等原因,所以不作为推广员充值总额的依据。
</td>
</tr>
</if>
5 years ago
</tbody>
</table>
</div>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn export-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(['id'=>3,'xlsname'=>'玩家_玩家列表_'.(I('get.type')==2?'第三方玩家':'本站玩家')],I('get.')))}">导出</a> -->
</if>
5 years ago
{$_page|default=''}
</div>
<!-- 添加常用设置 begin-->
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="Member/user_info">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
<!--end 添加常用设置 -->
5 years ago
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script type="text/javascript">
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('Member/user_info')}');
$(function(){
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
});
</script>
<script type="text/javascript">
$(function(){
$(".select_gallery").select2();
$(".export-btn").on("click",function(e){
e.preventDefault();
var cont = {$user_count};
if(cont < 50000){
window.location.href=$(this).attr("href")
}else{
layer.msg('为保证导出效率大于50000条数据暂不支持导出请更换检索条件后再次尝试');
}
})
//搜索功能
$("#search").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
var start = $("#time_start").val();
var end = $("#time_end").val();
if(start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
window.location.href = url;
});
$('.jssamlllist').click(function() {
var that = $(this),url = that.attr('data-url');
var url =
layer.open({
type: 2,
title: "【"+that.attr('data-account')+"】小号列表",
shadeClose: true,
shade: 0.8,
area: ['1062px', '80%'],
content: url,//iframe的url
});
5 years ago
return false;
});
5 years ago
$(".paixu").click(function(){
var val = $(this).attr('data-order');
if(val == 1){
val = 2;
}else if(val == 2){
val = 1;
}
var name = $(this).attr('name');
if (name == 'balance_status') {
$('#key').val(1);
}else{
$('#key').val(2);
}
$("#"+name).val(val);
$("#search").click();
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
5 years ago
$("#total_status").click(function(){
$("#search").click();
})
5 years ago
$('#time_start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
5 years ago
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
pickerPosition:'bottom-left'
})
var promote_id = "{:I('promote_id')}";
$("#promote_level").change(function(){
$.ajax({
url:"{:U('Ajax/getPromotersByLevelOther')}",
type:"get",
data:{level:$("#promote_level option:selected").val()},
dataType:'json',
success:function(response){
str = '<option value="">请选择推广员</option>' +
// '<option value="0"'+(promote_id && 0 == promote_id?'selected':'')+'>官方渠道</option>' +
// '<option value="UC"'+(promote_id && 'UC' == promote_id?'selected':'')+'>UC渠道</option>' +
'';
// $.each(response.data, function(index, item){
// console.log(item.id);
// str += '<option value="'+item.id+' '+(promote_id && item.id == promote_id?'selected':'')+'">'+item.nickname+'</option>';
// });
data = response.data;
for (var i in data){
str += "<option value='"+data[i].id+"' "+(promote_id && data[i].id == promote_id?'selected':'')+">"+data[i].nickname+"</option>"
}
$("#promote_id").empty();
$("#promote_id").append(str);
$("#promote_id").select2();
}
})
});
$("#promote_level").change();
})
var game_server = "{:I('server_id')}";
$("#game_type").change(function(){
console.log({sdk_version:$("#game_type option:selected").val(), game_name:$("#game_name option:selected").val()})
$.ajax({
url:"{:U('Ajax/getGmeServer')}",
type:"post",
data:{sdk_version:$("#game_type option:selected").val(), game_name:$("#game_name option:selected").val()},
dataType:'json',
success:function(data){
console.log(data)
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_id+"' "+(game_server && data[i].server_id == game_server?'selected':'')+">"+data[i].server_name+"</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
5 years ago
$("#game_name").change(function(){
$("#game_type").change();
});
5 years ago
$("#game_name").change();
function shenhe(status){
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
5 years ago
}).get().join("\n");
var desc = '';
if (status == 0) {
desc = '锁定';
} else {
desc = '开启';
5 years ago
}
layer.prompt({
formType: 2,
value: text,
placeholder : '玩家账号(一个账号一行)',
title: '请输入要'+desc+'的玩家账号(一个账号一行)',
area: ['800px', '350px'] //自定义文本域宽高
}, function(value, index, elem){
if(value=='') {
layer.msg("请输入账户ID");
return;
}
$.ajax({
cache: true,
type: "POST",
url:"{:U('Member/lock_status')}",
data:{accounts:value, lock_status:status},// 你的formid
async: false,
error: function(data) {
layer.alert("服务器故障,请稍后重试!",{icon: 2});
},
success: function(data) {
// var obj = JSON.parse(data);
// layer.alert(obj.info,{icon:obj.status})
layer.alert(data.info,{icon:data.status})
window.location.reload()
}
});
layer.close(index);
});
}
</script>
5 years ago
<script>
$(document).on('click', '#lock', function(){
var url = $(this).attr("data-url");
layer.prompt({
formType: 3,
title: "请备注锁定原因",
value: ''
}, function (remark,index) {
$.ajax({
cache: true,
type: "POST",
url: url,
data:{
lock_remark:remark
},
async: false,
error: function(data) {
layer.alert("服务器故障,请稍后重试!",{icon: 2});
},
success: function(data) {
location.reload()
}
});
layer.close(index);
});
})
</script>
5 years ago
</block>