Merge branch 'dev' of 47.111.118.107:/srv/git/platform into dev

master
tpingzhang 6 years ago
commit 0f41a508be

1
.gitignore vendored

@ -2,4 +2,5 @@
Runtime/
Uploads/
Application/Common/Conf/env.php
Application/Common/Conf/pay_config.php
.idea/

@ -613,7 +613,6 @@ class MemberController extends ThinkController
->where($map)
/* 默认通过id逆序排列 */
->order('login_time desc')
->where()
/* 数据分页 */
->page($page, $row)
/* 执行查询 */

@ -34,18 +34,17 @@ class StatController extends ThinkController
} else {
$promoteaccount = '全部';
}
$list = D('user')->user($promote_id,$game_id);
$count = count($list);
$data = array_slice($list,($page-1)*$row,$row,true);
file_put_contents(dirname(__FILE__).'/access_data_user.txt',json_encode($list));
$page = set_pagination($count,$row);
if($page) {$this->assign('_page', $page);}
@ -1280,6 +1279,7 @@ class StatController extends ThinkController
->find();
$data[$key]['sum']=$sdata['sum'];
}
$data_order_type = '';
if($_REQUEST['data_order']==2){
$data_order_type='sum';
$data_order=3;//倒序

@ -358,7 +358,7 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
$info['password']= (empty($pwd) || $pwd==$oldpwd)?$oldpwd:$pwd;
$info['second_pwd']= (empty($spwd) || $spwd==$oldspwd)?$oldspwd:$spwd;
$info['email']=$_POST['email'];
$info['mobile']=$_POST['mobile'];
$info['mobile']=isset($_POST['mobile'])?$_POST['mobile']:'';
$ss['group_id']=$_POST['auth'];
$ss['houtai']=$_POST['houtai'];
$smember=$Member->where($map)->save($info);
@ -549,6 +549,7 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
public function rolelist()
{
$map = [];
if (isset($_REQUEST['game_name'])) {
$map['game_name'] = trim($_REQUEST['game_name']);
unset($_REQUEST['game_name']);
@ -562,7 +563,7 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
unset($_REQUEST['role_name']);
}
empty(I('user_account')) || $map['user_account'] = ['like',"%".I('user_account')."%"];
$list = $this->lists(M('user_play_info', 'tab_'), $map);
$list = $this->lists(M('user_play_info', 'tab_'), $map, 'play_time desc');
$this->assign('list', $list);
$this->meta_title = '角色数据';

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -306,7 +306,7 @@ class SourceEvent extends Controller
//$ossClient->multiuploadFile($bucket, $url, $file, $options);
} catch (OssException $e) {
printf(__FUNCTION__ . ": initiateMultipartUpload FAILED\n");
$this -> error($e -> getMessage() . "\n");
$this -> error('1' . $e -> getMessage() . "\n");
return;
}
/*

@ -374,7 +374,7 @@ class UserModel extends Model{
$data = array(
'account' => $account,
'password' => $password,
'nickname' => $account,
'nickname' => getChinaChar(rand(2,4)),
'phone' => $phone,
'head_img' =>'',
'promote_id' => $promote_id,
@ -1243,7 +1243,7 @@ class UserModel extends Model{
$analysis = $redis->mget($keys);
//组合数组为键值对
$analysis = array_combine($keys,$analysis);
$data = '';
$data = [];
if(!empty($_GET['start']) && !empty($_GET['end'])) {
$start = strtotime($_GET['start']);

@ -108,7 +108,7 @@
<td><span class="badge">{$data['role_id']}</span></td>
<td><notempty name="rolename">{$rolename}<else /></notempty></td>
<td>{$data.role_level}</td>
<td>{$data.play_time|date='Y-m-d H:i:s',###}</td>
<td><?= date('Y-m-d H:i:s', $data['play_time']) ?></td>
<td>{$data.play_ip}</td>
<!-- <td><a class="ajax-get" href="{:U('user_update',['ids'=>$data['id']])}">更新</a></td> -->
</tr>

@ -773,14 +773,20 @@ function get_all_toppromote()
}
//获取sdk类型名称
function getSDKTypeName($sdkType)
function getSDKTypeName($sdkType, $chinese = false)
{
$android = 'Android';
if ($chinese) {
$android = '安卓';
}
switch ($sdkType) {
case 0:
$sdkName = 'Android+ios';
$sdkName = $android . '+ios';
break;
case 1:
$sdkName = 'Android';
$sdkName = $android;
break;
case 2:
$sdkName = 'ios';

@ -217,4 +217,10 @@ class BaseController extends HomeController{
}
return $records;
}
public function getLoginPromote()
{
$promoteId = session('promote_auth.pid');
return M('promote', 'tab_')->where(['id' => $promoteId])->find();
}
}

@ -128,22 +128,27 @@ class CoinOrderController extends BaseController
$data['order_status'] = 0;
}else{
$data['pay_amount'] = $coin_num;
$collection_account = I("collection_account");
$collection_account = I("collection_account","");
$pay_order_number = I("pay_order_number");
if($collection_account==''){
/*if($collection_account==''){
$this->ajaxReturn(['status'=>0,'info'=>'请选择汇入银行','time'=>1000],"JSON");
}
}*/
if($pay_order_number==''){
$this->ajaxReturn(['status'=>0,'info'=>'请输入支付凭证','time'=>1000],"JSON");
}
$res = $this->upload();
//$res = $this->upload();
$res = $this->uploadPicture();
if($res['status']==0){
$this->ajaxReturn(['status'=>0,'info'=>'请选择支付截图','time'=>1000],"JSON");
}
if($res['error']==1){
$this->ajaxReturn(['status'=>0,'info'=>$res['msg'],'time'=>1000],"JSON");
}
$data['collection_account'] = $collection_account;
$data['pay_order_number'] = $pay_order_number;
$data['remark'] = I("remark");
$data['voucher_img'] = $res['path'];
$data['voucher_img'] = $res['id'];
$data['order_status'] = 2;
$data['pay_way'] = 3;
}
@ -366,12 +371,16 @@ class CoinOrderController extends BaseController
return $ret;
}
public function upload(){
header("content-type:text/html;charset=utf-8");
//设置时区
#date_default_timezone_set('PRC');
//获取文件名
$filename = $_FILES['file']['name'];
if(!$filename){
return array("error"=>1,"msg"=>"请选择支付截图");
}
//获取文件临时路径
$temp_name = $_FILES['file']['tmp_name'];
//获取大小
@ -408,6 +417,36 @@ class CoinOrderController extends BaseController
}
}
/**
* 上传图片
* @author huajie <banhuajie@163.com>
*/
public function uploadPicture(){
/* 返回标准数据 */
$result = array('status' => 1, 'info' => '上传成功', 'data' => '');
/* 调用文件上传组件上传文件 */
$Picture = D('Picture');
$pic_driver = C('PICTURE_UPLOAD_DRIVER');
$info = $Picture->upload(
$_FILES,
C('PICTURE_UPLOAD'),
C('PICTURE_UPLOAD_DRIVER'),
C("UPLOAD_{$pic_driver}_CONFIG")
); //TODO:上传到远程服务器
/* 记录图片信息 */
if($info){
$result['status'] = 1;
$result = array_merge($info['voucher_img'], $result);
} else {
$result['status'] = 0;
$result['info'] = $Picture->getError();
}
ob_clean();
return $result;
}
public function echo_pay_qrcode($trade_no,$real_amont,$pay_amount,$qrcode_url,$type='1'){
if($type==1){
$tips = '请使用支付宝扫描二维码以完成支付';

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -930,7 +930,7 @@ class UserEvent extends BaseEvent {
public function arpu_analysis_data() {
public function arpu_analysis_data() {
if ($_REQUEST['time_start'] && $_REQUEST['time_end']) {
$request = $_REQUEST;
$game_id = $request['game_id'];

@ -65,7 +65,7 @@
<select class="reselect select_gallery" name="collection_account">
<option value="" title="暂未开放 暂未开放" acountesc="">暂未开放 暂未开放</option>
<volist name="bank_list" id="bank">
<option value="{$bank.bank_account}" title="{$bank.bank}" acountesc="账户名称:{$bank.bank_name}<br/>汇入账户:{$bank.bank_account}<br/>开户行:{$bank.bank_name}">{$bank.bank}</option>
<option value="{$bank.bank_account}" title="{$bank.bank}" acountesc="账户名称:{$bank.account_name}<br/>汇入账户:{$bank.bank_account}<br/>开户行:{$bank.bank_name}">{$bank.bank}</option>
</volist>
</select>
<div id="acountesc"></div>
@ -165,7 +165,7 @@
function save_model() {
var formElement = document.querySelector("#payform");
var formData = new FormData(formElement);
formData.append("file",$("input[name=voucher_img]")[0].files[0])
formData.append("voucher_img",$("input[name=voucher_img]")[0].files[0])
jQuery.ajax({
type: 'POST',
url:'index.php?s=/Home/CoinOrder/order_add.html',
@ -177,13 +177,14 @@
contentType: false, //必须
success: function (result) {
if (result.status==1){
location.reload();
if(result.pay_type==1){
//op_w('index.php?s=/Home/CoinOrder/pay_center.html&trade_no='+result.trade_no)
window.open('index.php?s=/Home/CoinOrder/pay_center.html&trade_no='+result.trade_no,"_blank");
/*$.ajax().then(res=>{
box.location = res
})*/
location.reload();
}else{
layer.alert(result.info,function () {
parent.layer.closeAll();
location.reload();
});
}
}else{
layer.alert(result.info);

@ -159,6 +159,16 @@
</div>
</div>
</div>
<if condition="$order_info.pay_type eq 2">
<div class="tab detailed-box">
<div class="tr">
<label class="detailed-title detailed-label">支付截图:</label>
<div class="detailed-content-box">
<span><img src="{$order_info.voucher_img|get_cover='path'}" height="auto" width="250px" style="cursor: pointer" onclick="javascript:window.open('{$order_info.voucher_img|get_cover=\'path\'}','_blank')"></span>
</div>
</div>
</div>
</if>
<if condition="$order_info.pay_type eq 2">
<div class="tab detailed-box">
<div class="tr">

@ -1,44 +1,204 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/manager.css" rel="stylesheet" ><style>.article-title {width:83%;}</style>
<link href="__CSS__/index/index.new.css" rel="stylesheet" >
</block>
<block name="body">
<div class="page-overview promote-index-overview index-overview clearfix">
<ul>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi1.png"/></span></div><div class="text text2"><p>今日充值</p><span>¥{$today}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi2.png"/></span></div><div class="text text1"><p>昨日充值</p><span>¥{$yesterday}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi3.png"/></span></div><div class="text text3"><p>本月充值</p><span>¥{$month}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi5.png"/></span></div><div class="text text5"><p>上月充值</p><span>¥{$lastmonth}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi4.png"/></span></div><div class="text text4"><p>总计充值</p><span>¥{$total}</span></div></li>
</ul>
<div class="page-overview promote-index-overview index-overview clearfix poll">
<ul>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi1.png"/></span></div><div class="text text2"><p>推广总用户</p><span>{$user_count}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi2.png"/></span></div><div class="text text1"><p>推广总充值</p><span>¥{$total_money}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi3.png"/></span></div><div class="text text3"><p>当日新增用户充值</p><span>¥{$today_add_user_money}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi5.png"/></span></div><div class="text text5"><p>当月新增用户充值</p><span>¥{$month_add_user_money}</span></div></li>
</ul>
<ul style="margin-top: 10px">
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi1.png"/></span></div><div class="text text2"><p>昨日注册用户</p><span>{$yesterday_user_regist_count}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi2.png"/></span></div><div class="text text1"><p>昨日充值金额</p><span>¥{$yesterday_total_money}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi3.png"/></span></div><div class="text text3"><p>今日注册用户</p><span>{$yesterday_regist_user_count}</span></div></li>
<li><div class="icon"><span class="placeholder-graphic"><img src="__IMG__/20180207/icon_chongzhi5.png"/></span></div><div class="text text5"><p>今日充值金额</p><span>¥{$yesterday_total_money}</span></div></li>
</ul>
</div>
<div class="index-tab-list">
<ul>
<li>
<div class="qcl-box">
<div class="qcl-box-hand"><span class="qcl-tit">快捷菜单</span><span class="more"><a href="{:U('quick_menu_list')}">自定义></a></span></div>
<div class="qcl-bnt">
<empty name="menu_list">
暂无数据
<else/>
<ul>
<volist name="menu_list" id="menu">
<li>
<a href="{$menu.url}">
<span><img src="https://fileuc.37376.com/180912-80cfe5b6e68941f4bfe4cd697765abb4.png"></span>
<span>{$menu.name}</span>
</a>
</li>
</volist>
</ul>
</empty>
</div>
</div>
</li>
<li>
<div class="fxui-tab">
<div class="fxui-tab-hand"><span class="fxui-tab-tit"><a href="#;">公告</a></span> <span class="fxui-tab-tit"><a href="#;">消息</a></span> <span class="fxui-tab-tit"><a href="#;">游戏活动</a></span><span class="more"><a href="{:U('msg_list')}">查看更多></a></span></div>
<div class="fxui-tab-nav">
<empty name="gg_list">
暂无公告
<else/>
<volist name="gg_list" id="gg">
<p>
<span class="title"><a href="index.php?s=/Home/Article/detail/id/{$gg.id}.html">{$gg.title}</a></span>
<span class="time">{$gg.update_time|date="Y/m/d",###}</span>
</p>
</volist>
</empty>
</div>
<div class="fxui-tab-nav">
<empty name="xx_list">
暂无消息
<else/>
<volist name="xx_list" id="xx">
<p>
<span class="title"><a href="index.php?s=/Home/Article/detail/id/{$xx.id}.html">{$xx.title}</a></span>
<span class="time">{$xx.update_time|date="Y/m/d",###}</span>
</p>
</volist>
</empty>
</div>
<div class="fxui-tab-nav">
<empty name="zx_list">
暂无活动信息
<else/>
<volist name="zx_list" id="zx">
<p>
<span class="title"><a href="index.php?s=/Home/Article/detail/id/{$zx.id}.html">{$zx.title}</a></span>
<span class="time">{$zx.update_time|date="Y/m/d",###}</span>
</p>
</volist>
</empty>
</div>
</div>
</li>
</ul>
</div>
<div class="page-list promote-index-list promote-index-list-news">
<div class="trunk-title-main"><span>开服信息</span></div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<div class="tab-bnt">
<div class="curr" rel="0">
<p>今日开服</p>
</div>
<div rel="1">
<p>开服预告</p>
</div>
</div>
<div class="form-group normal_space fr">
<input type="button" class="submit"onclick="seach()" value="查询">
</div>
<div class="form-group fr">
<label class="form-title select-title">游戏名称:</label>
<select name="game_id" class="reselect select_gallery" style="width:265px;">
<option value="">--请选择--</option>
<volist name="game_list" id="game">
<option value="{$game.id}" title="{$game.game_name}">{$game.game_name}</option>
</volist>
</select>
</div>
<input type="hidden" name="type" value="0">
</div>
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr class="odd">
<th>游戏ICON</th>
<th>游戏名称</th>
<th>平台</th>
<th>开服时间</th>
<th>服务器信息</th>
</tr>
<empty name="today_open_server_list">
<tr><td colspan="8" style="text-align: center;height: 38vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="today_open_server_list" id="data">
<tr>
<td><img src="{$data.icon|get_cover='path'}"></td>
<td>{$data.game_name}</td>
<td><if condition="$data.pay_type eq 0">安卓、iOS<elseif condition="$data.pay_type eq 1">安卓<else />iOS</if></td>
<td>{$data.start_time|date="m-d H:i",###}</td>
<td>{$data.server_name}</td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
{$_page}
</div>
</div>
<div class="page-list promote-index-list promote-index-list-news">
<div class="trunk-title-main"><img src="__IMG__/20180207/icon_normal_new.png"><span>新闻公告</span></div>
<div class="trunk-content article">
<ul>
<article:list name="article" category="56" limit="10" child="true" page="2">
<li>
<span class="article-type"><img src="__IMG__/20180207/icon_normal_gonggao.png"/></span>
<span >
<a title="{$article['title']}" class="article-title" target="_blank" href="{:U('Home/Article/detail?id='.$article['id'])}">{:msubstr2($article['title'],0,270)}</a>
</span>
<span class="article-time fr">{$article.update_time|date='Y-m-d',###}</span>
</li>
</article:list>
</ul>
<div class="pagenation clearfix">{$_page}</div>
</div>
</div>
<script>
$(function(){
$('.icon').each(function() {
var that = $(this),rotate = that.attr('data-rotate'),half=parseInt(rotate/2);
if (rotate<=0) {return ;}
that.count = 0;
});
</div>.
<script type="text/javascript" src="__JS__/jquery.min.js"></script>
<script type="text/javascript" src="__JS__/index/jquery.fxTab.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script>
$(function(){
$(".select_gallery").select2();
$('.icon').each(function() {
var that = $(this),rotate = that.attr('data-rotate'),half=parseInt(rotate/2);
if (rotate<=0) {return ;}
that.count = 0;
});
$('.fxui-tab').fxuiTab();
$(".tab-bnt div").bind("click",function () {
$(".tab-bnt div").removeClass("curr");
$(this).addClass("curr");
$("input[name=type]").val($(this).attr("rel"));
seach();
})
});
function seach() {
var game_id = $("select[name=game_id]").val();
var type = $("input[name=type]").val();
jQuery.ajax({
type: 'POST',
url:'index.php?s=/Home/Promote/home_read_data.html',
data: {
'type':type,
'game_id':game_id,
},
dataType: 'JSON',
cache: false,
success: function (result) {
if (result.status==1){
var show = '<tr><td colspan="8" style="text-align: center;height: 38vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>';
$(".odd").nextAll().remove();
$.each(result.data, function (index, item) {
if(index==0){
show="<tr>" +
"<td><img src='"+item.icon+"'></td>" +
"<td>"+item.game_name+"</td>" +
"<td>"+item.pay_type+"</td>" +
"<td>"+item.start_time+"</td>" +
"<td>"+item.server_name+"</td>" +
"</tr>"
}else{
show+="<tr>" +
"<td><img src='"+item.icon+"'></td>" +
"<td>"+item.game_name+"</td>" +
"<td>"+item.pay_type+"</td>" +
"<td>"+item.start_time+"</td>" +
"<td>"+item.server_name+"</td>" +
"</tr>"
}
});
$(".odd").after(show);
}
}
});
</script>
}
</script>
</block>

@ -0,0 +1,44 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/index/index.new.css" rel="stylesheet" >
</block>
<block name="body">
<div class="page-search normal_list charge-agentPay-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>后台首页></span><span>公告列表</span></div>
</div>
</div>
<div class="trunk-list list_normal">
<div class="fxui-tab">
<div class="fxui-tab-hand" style="border-bottom: none">
<span class="fxui-tab-tit <if condition="$type==56">curr</if>"><a href="{:U('msg_list')}&type=56">公告</a></span>
<span class="fxui-tab-tit <if condition="$type==50">curr</if>"><a href="{:U('msg_list')}&type=50">消息</a></span>
<span class="fxui-tab-tit <if condition="$type==51">curr</if>"><a href="{:U('msg_list')}&type=51">游戏活动</a></span></div>
<div class="fxui-tab-nav">
<empty name="data_list">
暂无信息
<else/>
<volist name="data_list" id="data">
<p>
<span class="title"><a href="index.php?s=/Home/Article/detail/id/{$data.id}.html">{$data.title}</a></span>
<span class="time">{$data.update_time|date="Y/m/d",###}</span>
</p>
</volist>
</empty>
</div>
</div>
</div>
<div class="pagenation clearfix">
{$_page}
</div>
</div>
</block>
<block name="script">
<script>
$(function () {
setValue('row', '{:I("row",10)}');
})
</script>
</block>

@ -0,0 +1,68 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/index/index.new.css?v=1" rel="stylesheet" >
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/platform.css" rel="stylesheet">
</block>
<block name="body">
<div class="page-search normal_list charge-agentPay-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>后台首页></span><span>快捷菜单</span></div>
</div>
</div>
<div class="trunk-content article">
<div class="trunk-list list_normal" style="margin-top: 20px">
<table class="table normal_table">
<tr class="odd">
<th>图标</th>
<th>模块名称</th>
<th>是否添加</th>
<th>操作</th>
</tr>
<empty name="data_list">
<tr><td colspan="8" style="text-align: center;height: 38vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="data_list" id="data">
<tr>
<td><img src="{$data.icon|get_cover='path'}"></td>
<td>{$data.name}</td>
<td><if condition="$data.exist_id neq ''">已添加<else/>未添加</if></td>
<td><a href="javascript:operation('{$data.id}')"><if condition="$data.exist_id neq ''">移除<else/>添加</if></a></td>
</tr>
</volist>
</empty>
</table>
</div>
</div>
</div>
</block>
<block name="script">
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
<script type="text/javascript" src="__JS__/jquery.min.js"></script>
<script>
function operation(menu_id) {
jQuery.ajax({
type: 'POST',
url:'index.php?s=/Home/Promote/quick_menu_set.html',
data:{
'menu_id':menu_id
},
dataType: 'JSON',
cache: false,
success: function (result) {
layer.alert(result.info,{},function (idex) {
parent.layer.close(idex);
if (result.status==1){
location.reload()
}
});
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
layer.alert(errorThrown);
},
});
}
</script>
</block>

@ -75,7 +75,7 @@
<block name="body"></block>
</div>
<div class="footer">
<!-- <div class="footer">
<div class="inner" style="margin-top: 27px;">
<p>
<span>客服电话:{:C('CH_SET_SERVER_TEL')}</span><span>客服邮箱:{:C('CH_SET_SERVER_EMAIL')}</span><span>服务时间09:00 - 18:00</span>
@ -84,7 +84,7 @@
class="footer_text2">网络文化经营许可证编号:{:C('CH_SET_LICENSE')}</span><span class="footer_text3">{:C('CH_SET_COPYRIGHT')}</span>
</p>
</div>
</div>
</div> -->
<script type="text/javascript">
(function () {

@ -47,15 +47,16 @@
<a href="{:U('Promote/mygrand')}" class="<if condition='CONTROLLER_NAME eq Promote and (ACTION_NAME eq mygrand or ACTION_NAME eq add_chlid or ACTION_NAME eq edit_chlid) '>active</if> ">推广员管理</a>
</if>
</div>
<div class="subNav jssubNav"><i class="prev_icon icon_shujvi"></i><span>数据管理</span><i class="arrow_icon"></i></div>
<!-- <div class="subNav jssubNav"><i class="prev_icon icon_shujvi"></i><span>数据管理</span><i class="arrow_icon"></i></div>
<div class="navContent jsnavContent">
<a href="{:U('Query/summary')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq summary '>active</if> ">数据汇总</a>
<a href="{:U('Query/recharge')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq recharge '>active</if> ">充值明细</a>
<a href="{:U('Query/register')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq register '>active</if> ">注册明细</a>
<a href="{:U('Query/arpu_analysis')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq arpu_analysis '>active</if> ">ARPU统计</a>
<a href="{:U('Query/retention_analysis')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq retention_analysis '>active</if> ">留存统计</a>
<a href="{:U('Query/userPlayers')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq userPlayers '>active</if> ">角色查询</a>
</div>
<a href="{:U('Query/userRoles')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq userRoles '>active</if> ">角色查询</a>
<a href="{:U('Query/userRecharges')}" class="<if condition='CONTROLLER_NAME eq Query and ACTION_NAME eq userRecharges '>active</if> ">充值玩家</a>
</div> -->
<!-- <div class="subNav jssubNav"><i class="prev_icon icon_caiwu"></i><span>财务管理</span><i class="arrow_icon"></i></div> -->
<!-- <div class="navContent jsnavContent"> -->
@ -71,14 +72,14 @@
<a href="{:U('Apply/index')}" class="<if condition='CONTROLLER_NAME eq Apply and (ACTION_NAME eq index or ACTION_NAME eq my_game or ACTION_NAME eq my_game_ch or ACTION_NAME eq child_game ) '>active</if> ">专服管理</a>
</div>
<eq name="parent_id" value="0">
<!-- <eq name="parent_id" value="0">
<div class="subNav jssubNav"><i class="prev_icon icon_fenbao"></i><span>扶持管理</span><i class="arrow_icon"></i></div>
<div class="navContent jsnavContent">
<a href="{:U('Support/index')}" class="<if condition='CONTROLLER_NAME eq Support and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq apply ) '>active</if> ">扶持申请</a>
<a href="{:U('Support/lists')}" class="<if condition='CONTROLLER_NAME eq Support and ACTION_NAME eq lists '>active</if> ">扶持记录</a>
<a href="{:U('Support/quota')}" class="<if condition='CONTROLLER_NAME eq Support and ACTION_NAME eq quota '>active</if> ">扶持额度</a>
</div>
</eq>
</eq> -->
<!--<div class="subNav jssubNav"><i class="prev_icon icon_fuli"></i><span>会长福利</span><i class="arrow_icon"></i></div>-->
<div class="subNav jssubNav"><i class="prev_icon icon_fuli"></i><span>平台币管理</span><i class="arrow_icon"></i></div>

@ -0,0 +1,590 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.3" rel="stylesheet">
<link href="__CSS__/game_detailed.css" rel="stylesheet">
</block>
<block name="body">
<style>
@media screen and (max-width: 1500px) {
.normal_form {
padding-top: 45px;
}
.trunk-search .normal_txt {
width: 100px
}
.select2-container--default .select2-selection--single {
width: 125px;
}
.trunk-search .select-time .txt {
width: 100px;
}
.form-group .submit {
width: 55px;
}
}
.selected-color {
color: #2bd8ed;
}
.pointer-hand {
cursor: pointer;
}
.icon-spend {
position: relative;
font-size: 1.2rem;
top: 3px;
float: right;
right: 10px;
}
.th-hide {
display: none;
}
.btn {
width: auto;
padding-left: 15px;
padding-right: 15px;
}
</style>
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>数据汇总</span></div>
</div>
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">数据汇总</span>
<span class="details">说明:默认展示旗下各子渠道的全部数据</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<div class="tab normal_tab">
</div>
<!-- <form action="{:U('Query/summary')}" method="get" enctype="multipart/form-data" class="normal_form"> -->
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="">请选择游戏</option>
<volist name=":get_promote_serach_game()" id="vo">
<option value="{$vo.relation_game_id}" title="{$vo.relation_game_name}">{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="server_id" name="server_id" class=" reselect select_gallery">
<option value="">请选择区服</option>
<volist name="serverData" id="vo">
<option value="{$vo.id}">{$vo.server_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" readonly id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{$initBegTime}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" readonly id="edate" class="txt" name="endtime" placeholder="结束时间" value="{$initEndTime}">
</div>
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' url="{:U('Query/dailySummary','model='.$model['name'],false)}"
value="查询">
</div>
<div class="form-group normal_space fl" style="margin-left: 60px;">
<label style="line-height: 34px;cursor: pointer;" id="own">
<i class="iconfont {:empty(I('own_id'))?'iconfangxingweixuanzhong':'iconfangxingxuanzhongfill selected-color'}"
style="font-size: 1.5rem;position: relative;top: 3px;margin-right: 2px;"></i>本账号
<input type="hidden" name="own_id" id="own_id" value="{:empty(I('own_id'))?0:I('own_id')}"/>
</label>
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
<!-- </form> -->
</div>
<div class="tab marg_top20" style="clear:both;display: flex;">
<div style="display: flex;">
<div class="btn btn-role highlight" data-type="1">
<p>创角数|创角用户</p>
</div>
<div class="btn btn-role" style="border-left: 0;border-right: 0;" data-type="2">
<p>新创角用户|设备</p>
</div>
<div class="btn btn-role" data-type="3">
<p>充值人数|充值总额</p>
</div>
</div>
</div>
</div>
<div id="chart_box" class="trunk-content" style="width: calc(100% - 40px);height: 400px;"></div>
<div class="page-list apply-app_apply-list query-recharge-list">
<div class="trunk-content article">
<div class="tabcon trunk-list">
<table class="table normal_table">
<tr class="odd">
<th>日期</th>
<th class="pointer-hand" title="创角数:统计时间范围内,成功创建角色数量(唯一)">创角数</th>
<th class="pointer-hand" title="创角用户:统计时间范围内,成功创角的用户数(去重)">创角用户</th>
<th class="pointer-hand" title="新创角用户当日24小时首次创建角色的用户数; 新创角设备当日24小时首次创建角色设备总数去重;">新创角用户|新创角设备
</th>
<th class="pointer-hand" title="新增创角IP统计时间范围内首次创建角色IP总数去重">新增创角IP</th>
<th class="pointer-hand" title="登录用户数:统计时间范围内,登录的用户数(去重)">登录用户数</th>
<th class="pointer-hand" title="充值人数:统计时间范围内,支付成功且处理成功的游戏充值订单用户数(去重)">充值人数</th>
<th class="pointer-hand" title="充值次数:统计时间范围内,游戏充值成功订单数">充值次数</th>
<th class="pointer-hand spend-btn" title="充值总额:统计时间范围内,在游戏内充值成功的订单金额总和" style="width: 200px;">充值总额<i
class="iconfont iconplus-square icon-spend"></i></th>
<th class="pointer-hand spend-element th-hide" title="现金充值:统计时间范围内,在游戏内充值成功的订单,使用现金支付金额总和">现金充值</th>
<th class="pointer-hand spend-element th-hide" title="通用币充值:统计时间范围内,在游戏内充值成功的订单,使用通用币支付金额总和">通用币充值</th>
<th class="pointer-hand spend-element th-hide" title="绑定币充值:统计时间范围内,在游戏内充值成功的订单,使用绑定币支付金额总和">绑定币充值</th>
<th class="pointer-hand spend-element th-hide" title="折扣币充值:统计时间范围内,在游戏内充值成功的订单,使用折扣币支付金额总和,该部分不参与结算">
折扣币充值
</th>
<th class="pointer-hand spend-element th-hide" title="代金劵使用:统计时间范围内,在游戏内充值成功的订单,使用代金券金额总和,该部分不参与结算">
代金劵使用
</th>
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="15" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else/>
<tr class="num2">
<td>合计</td>
<td>--</td>
<td>--</td>
<td>--|--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>{$allData.spend_num}</td>
<td>{$allData.spend_all_amount}</td>
<td class="spend-element th-hide">{$allData.spend_cash}</td>
<td class="spend-element th-hide">{$allData.spend_generic}</td>
<td class="spend-element th-hide">{$allData.spend_binding}</td>
<td class="spend-element th-hide">{$allData.spend_discount}</td>
<td class="spend-element th-hide">{$allData.spend_voucher}</td>
</tr>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.day}</td>
<td>{$vo.role_num}</td>
<td>{$vo.user_num}</td>
<td>{$vo.new_user_num}|{$vo.new_device_num}</td>
<td>{$vo.new_ip_num}</td>
<td>{$vo.login_user_num}</td>
<td>{$vo.spend_user_num}</td>
<td>{$vo.spend_num}</td>
<td>{$vo.spend_all_amount}</td>
<td class="spend-element th-hide">{$vo.spend_cash}</td>
<td class="spend-element th-hide">{$vo.spend_generic}</td>
<td class="spend-element th-hide">{$vo.spend_binding}</td>
<td class="spend-element th-hide">{$vo.spend_discount}</td>
<td class="spend-element th-hide">{$vo.spend_voucher}</td>
</tr>
</volist>
</empty>
</table>
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<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" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script src="https://cdn.bootcss.com/echarts/4.2.0-rc.2/echarts.min.js"></script>
<script type="text/javascript">
var dateData = [];
var roleNum = [];
var userNum = [];
var newUserNum = [];
var newDeviceNum = [];
var spendUserNum = [];
var spendAllAmount = [];
<?php foreach($summaryData['date'] as $value) {?>
dateData.push('<?=$value?>');
<?php }?>
<?php foreach($summaryData['role_num'] as $value) {?>
roleNum.push(<?=$value?>);
<?php }?>
<?php foreach($summaryData['user_num'] as $value) {?>
userNum.push(<?=$value?>);
<?php }?>
<?php foreach($summaryData['new_user_num'] as $value) {?>
newUserNum.push(<?=$value?>);
<?php }?>
<?php foreach($summaryData['new_device_num'] as $value) {?>
newDeviceNum.push(<?=$value?>);
<?php }?>
<?php foreach($summaryData['spend_user_num'] as $value) {?>
spendUserNum.push(<?=$value?>);
<?php }?>
<?php foreach($summaryData['spend_all_amount'] as $value) {?>
spendAllAmount.push(<?=$value?>);
<?php }?>
setChart(1);
function setChart(dataType) {
var data1 = [];
var data2 = [];
var dataName1 = '';
var dataName2 = '';
var chartBox = echarts.init(document.getElementById('chart_box'));
switch (dataType) {
case 1:
data1 = roleNum;
data2 = userNum;
dataName1 = '创角数';
dataName2 = '创角用户';
break;
case 2:
data1 = newUserNum;
data2 = newDeviceNum;
dataName1 = '新创角用户';
dataName2 = '新创角设备';
break;
case 3:
data1 = spendUserNum;
data2 = spendAllAmount;
dataName1 = '充值人数';
dataName2 = '充值总额';
break;
}
option = {
title: {
text: "",
x: 'center',
y: 'top',
textStyle:
{
color: '#fff',
fontSize: 13
}
},
tooltip: {
trigger: 'axis'
},
grid: {
left: '3%',
right: '8%',
bottom: '5%',
top: "13%",
containLabel: true
},
color: ["#72b332", '#35a9e0'],
legend: {
data: [dataName1, dataName2],
show: true,
right: '46%',
y: "0",
textStyle: {
color: "#999",
fontSize: '13'
},
},
toolbox: {
show: false,
feature: {
mark: {show: true},
dataView: {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
restore: {show: true},
saveAsImage: {show: true}
}
},
calculable: true,
xAxis: [
{
type: 'category',
boundaryGap: true,
data: dateData,
splitLine: {
show: false,
lineStyle: {
color: '#2d3b53'
}
},
axisLabel: {
textStyle: {
color: "#999"
},
alignWithLabel: true,
interval: 0,
},
axisLine: {
lineStyle: {
color: '#2eb383',
}
},
axisTick: {
alignWithLabel: true
}
}
],
yAxis: [
{
type: 'value',
splitLine: {
show: false,
lineStyle: {
color: '#2d3b53'
}
},
axisLabel: {
textStyle: {
color: "#999"
}
},
axisLine: {
lineStyle: {
color: '#fff',
}
},
min: 0
}
],
series: [
{
name: dataName1,
type: 'line',
smooth: true,
symbol: 'circle',
data: data1
},
{
name: dataName2,
type: 'line',
smooth: true,
symbol: 'circle',
data: data2
}
],
};
chartBox.setOption(option);
}
$().ready(function () {
setValue('team_leader_id', {$Think.request.team_leader_id |default = '""'});
setValue('promote_id', {$Think.request.promote_id |default = '""'});
setValue('relation_game_id', {$Think.request.relation_game_id |default = '""'});
setValue('sdk_version', {$Think.request.sdk_version |default = '""'});
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
$('#own').on('click', function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');
if (ownId > 0) {
checkBox.removeClass('iconfangxingxuanzhongfill');
checkBox.removeClass('selected-color');
checkBox.addClass('iconfangxingweixuanzhong');
$('#own_id').val(0);
} else {
checkBox.removeClass('iconfangxingweixuanzhong');
checkBox.addClass('iconfangxingxuanzhongfill');
checkBox.addClass('selected-color');
$('#own_id').val({$pID});
}
});
$('.spend-btn').on('click', function () {
var element = $(this).find('i');
if (element.hasClass('iconplus-square')) {
element.removeClass('iconplus-square');
element.addClass('iconminus-square');
$('.spend-element').removeClass('th-hide');
} else {
element.removeClass('iconminus-square');
element.addClass('iconplus-square');
$('.spend-element').addClass('th-hide');
}
});
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('.btn-role').on('click', function () {
var thisElement = $(this);
if (!thisElement.hasClass('highlight')) {
var dataType = thisElement.attr('data-type');
$('.btn-role').removeClass('highlight');
thisElement.addClass('highlight');
setChart(parseInt(dataType));
}
});
$('#submit').click(function () {
var sdate = Date.parse($('#sdate').val()) / 1000;
var edate = Date.parse($('#edate').val()) / 1000;
if (sdate > edate) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
if ((edate - sdate) > 2592000) {
layer.msg('时间间隔不能超过30天请重新选择日期');
return false;
}
var url = $(this).attr('url');
console.log(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;
}
window.location.href = url;
});
$('#relation_game_id').change(function () {
var relationGameId = $(this).val();
var sdkVersion = $('#sdk_version').val();
getServerList(relationGameId, sdkVersion);
});
$('#sdk_version').change(function () {
var sdkVersion = $(this).val();
var relationGameId = $('#relation_game_id').val();
getServerList(relationGameId, sdkVersion);
});
function getServerList(relationGameId, sdkVersion) {
$.ajax({
url: "{:U('getServerAjax')}",
type: "post",
data: {relation_game_id: relationGameId, sdk_version: sdkVersion},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>请选择区服</option>";
if (data.status == 1) {
var serverData = data.data;
if (serverData.length > 0) {
for (var i in serverData) {
html += "<option value='" + serverData[i]['id'] + "'>" + serverData[i]['server_name'] + "</option>";
}
}
}
$("#server_id").empty();
$('#server_id').html(html);
$("#server_id").select2();
}
})
}
$(".select_gallery").select2();
});
</script>
</block>

@ -1,213 +1,358 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet" >
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.2" rel="stylesheet">
</block>
<block name="body">
<style>
@media screen and (max-width: 1500px) {
.normal_form{padding-top: 45px;}
.trunk-search .normal_txt {width: 100px}
.select2-container--default .select2-selection--single {width: 125px;}
.trunk-search .select-time .txt{width: 100px;}
.form-group .submit{width: 55px;}
}
</style>
<div class="page-search normal_list query-recharge-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>充值明细</span></div>
</div>
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">充值明细</span>
<span class="details">对所有渠道用户玩家产生的充值信息,进行记录的功能</span>
<style>
@media screen and (max-width: 1500px) {
.normal_form {
padding-top: 45px;
}
.trunk-search .normal_txt {
width: 100px
}
.select2-container--default .select2-selection--single {
width: 125px;
}
.trunk-search .select-time .txt {
width: 100px;
}
.form-group .submit {
width: 55px;
}
}
.normal_space {
margin-left: 0;
margin-right: 10px;
margin-bottom: 10px;
}
.selected-color {
color: #2bd8ed;
}
.pointer-hand {
cursor: pointer;
}
.icon-spend {
position: relative;
font-size: 1.2rem;
top: 3px;
float: right;
right: 10px;
}
</style>
<div class="page-search normal_list query-recharge-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>充值明细</span></div>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<div class="tab normal_tab">
<!-- <a href="{:U('Query/recharge')}" class=" <eq name='Think.get.version' value=''>current</eq>">全部</a> -->
<a href="{:U('Query/recharge',['version'=>1])}" class="normal_change <if condition='I("request.version",1) == 1'> current</if>">常规消费</a>
<a href="{:U('Query/recharge',['version'=>2])}" class="normal_change wxnavbtn <eq name='Think.get.version' value='2'>current</eq>">绑币消费</a>
</div>
<form action="{:U('Query/recharge',['version'=>I("request.version",1),'row'=>I("get.row")])}" method="post" enctype="multipart/form-data" class="normal_form">
<div class="form-group normal_space fr">
<input type="submit" class="submit" id='submit' value="查询">
</div>
<div class="form-group normal_space fr">
<label class="form-title select-title">充值时间:</label>
<div class="select-time">
<input type="text" id="sdate" class="txt" name="time_start" placeholder="开始时间" value="{:I('time_start')}" >
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" id="edate" class="txt" name="time_end" placeholder="结束时间" value="{:I('time_end')}">
</div>
</div>
<div class="form-group normal_space fr">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option game-id="0" value="0">推广员账号</option>
<option game-id="{:session('promote_auth.pid')}" value="{:session('promote_auth.pid')}">自己</option>
<volist name=":get_promote_chlid_account(PID)" id="vo">
<option game-id="{$vo.id}" value="{$vo.id}">{$vo.account}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fr">
<select id="game_id" name="game_appid" class="reselect select_gallery">
<option game-id="0" value="0">请选择游戏</option>
<volist name=":get_game_list()" id="vo">
<option game-id="{$vo.game_appid}" value="{$vo.id}" >{$vo['game_name']}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fr">
<input type="text" name="order_number" class="txt normal_txt" placeholder="请输入订单号" value="{:I('order_number')}">
</div>
<div class="form-group normal_space fr">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group fr">
<input type="text" name="user_account" class="txt normal_txt" id="uid" placeholder="请输入玩家账号" value="{:I('user_account')}">
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
</form>
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">充值明细</span>
<span class="details">对所有渠道用户玩家产生的充值信息,进行记录的功能</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/recharge',['version'=>I(" request.version
",1),'row'=>I("get.row")])}" method="post" enctype="multipart/form-data" class="normal_form">
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="">请选择游戏</option>
<volist name=":get_promote_serach_game()" id="vo">
<option value="{$vo.relation_game_id}" title="{$vo.relation_game_name}">{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="server_id" name="server_id" class=" reselect select_gallery">
<option value="">请选择区服</option>
<volist name="serverData" id="vo">
<option value="{$vo.id}">{$vo.server_name}</option>
</volist>
</select>
</div>
<div class="form-group fl">
<input type="text" name="game_player_name" class="txt normal_txt" placeholder="请输入角色名"
value="{:I('game_player_name')}">
</div>
<div class="form-group fl">
<input type="text" name="user_account" class="txt normal_txt" id="uid" placeholder="请输入玩家账号"
value="{:I('user_account')}">
</div>
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group normal_space fl">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{:I('begtime')}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" id="edate" class="txt" name="endtime" placeholder="结束时间" value="{:I('endtime')}">
</div>
</div>
<div class="form-group normal_space fl">
<input type="text" name="order_number" class="txt normal_txt" placeholder="请输入订单号"
value="{:I('order_number')}">
</div>
<div class="form-group normal_space fl">
<select id="pay_way" name="pay_way" class="reselect select_gallery" style="min-width:130px;">
<option value="">支付方式</option>
<volist name="payWayData" id="vo" key="k">
<if condition="$k eq I('pay_way')">
<option value="{$k}" selected>{$vo}</option>
<else/>
<option value="{$k}">{$vo}</option>
</if>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' value="查询">
</div>
<div class="form-group normal_space fl" style="margin-left: 60px;">
<label style="line-height: 34px;cursor: pointer;" id="own">
<i class="iconfont {:empty(I('own_id'))?'iconfangxingweixuanzhong':'iconfangxingxuanzhongfill selected-color'}" style="font-size: 1.5rem;position: relative;top: 3px;margin-right: 2px;"></i>本账号
<input type="hidden" name="own_id" id="own_id" value="{:empty(I('own_id'))?0:I('own_id')}" />
</label>
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
</form>
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
<div class="trunk-content article">
<div class="tabcon trunk-list">
<table class="table normal_table">
<tr class="odd">
<th>ID</th>
<th>玩家账号</th>
<th>角色名</th>
<th>订单号</th>
<th>游戏名称</th>
<th>区服</th>
<th>应付金额</th>
<th>实付金额</th>
<th>充值时间</th>
<th>支付方式</th>
<th>推广员账号</th>
<th>操作</th>
</tr>
<empty name="list_data">
<tr><td colspan="10" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="list_data" id="s" mod="2">
<tr class="<eq name='mod' value='1'>odd</eq>">
<td>{$s.id}</td>
<td>{$s.user_account}<gt name="s.small_id" value="0"><neq name="s.small_id" value="$s.user_id">{$s.small_account}</neq></gt></td>
<td>{$s.game_player_name}</td>
<td>{$s.pay_order_number}</td>
<td title="{$s['game_name']}">{:msubstr2($s['game_name'],0,10)}</td>
<td>{$s.server_name}</td>
<td>{$s.cost}</td>
<td>{$s.pay_amount}</td>
<td>{$s.pay_time|date="Y-m-d H:i:s",###}</td>
<td>
{:get_pay_way($s['pay_way'])}
<!-- <switch name='s.pay_way'>
<case value="0">平台币</case>
<case value="1">支付宝</case>
<case value="2">微信()</case>
</switch> -->
</td>
<td>{$s.promote_account}</td>
<td>
<a href="{:U('Query/viewSpendDetailed',array('id'=>$s['id']))}" style="cursor: pointer" class="chakan">查看详细</a>
<tr class="odd">
<th>玩家账号</th>
<th>游戏订单</th>
<th>订单金额</th>
<th>支付方式</th>
<th>游戏名称</th>
<th>区服</th>
<th>角色名</th>
<empty name="ownId">
<th>组长</th>
<th>推广员</th>
</empty>
<th>付款时间</th>
<th>操作</th>
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="10" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else/>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.user_account}</td>
<td>{$vo.order_number}</td>
<td>{$vo.pay_amount}</td>
<td>{:get_pay_way($vo['pay_way'])}</td>
<td>{$vo.game_name}</td>
<td>{$vo.server_name}</td>
<td>{$vo.game_player_name}</td>
<empty name="ownId">
<empty name="vo.pro_grand_id">
<td>{$vo.pro_account}({$vo.pro_real_name})</td>
<td></td>
<else/>
<td></td>
<td>{$vo.pro_account}({$vo.pro_real_name})</td>
</empty>
</empty>
<td>{$vo.pay_time|date='Y-m-d H:i:s',###}</td>
<td>
<a href="{:U('Query/viewSpendDetailed',array('id'=>$vo['id']))}" style="cursor: pointer"
class="chakan">查看详细</a>
</td>
</tr>
</volist>
<tr class="summary">
<td colspan="10">应付总计:¥{$total_cost|default=0},实付总计:¥{$total_amount|default=0}</td>
</tr>
</empty>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/expUser',array(
'id'=>4,
'user_account'=>I('user_account'),
'game_appid'=>I('game_appid'),
'time-start'=>I('time_start'),
'time-end'=>I('time_end'),
'start'=>I('start'),
'end'=>I('end'),
'promote_id'=>I('promote_id'),
'version'=>$_REQUEST['version'],'xlsname'=>'数据管理_充值明细'.(I('version',1)==2?'_绑币消费':'_常规消费')
))}" >导出</a>
{$_page}
</div>
{$_page}
</div>
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link rel="stylesheet" type="text/css" href="__CSS__/p_jquery.datetimepicker.css">
<script type="text/javascript" src="__JS__/jquery.datetimepicker.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript">
setValue('promote_id',{$Think.request.promote_id|default=0});
setValue('game_appid',{$Think.request.game_appid|default=0});
setValue('row','{:I("get.row",10)}');
$().ready(function(){
$("#pagehtml a").on("click",function(event){
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action',geturl);
$('#data_form').submit();
});
$('#sdate').datetimepicker({
lang:'ch',
format:'Y-m-d',
formatDate:'Y-m-d',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
timepicker:false
});
$('#submit').click(function(){
var sdate =$('#sdate').val();
var edate =$('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if(Date.parse(sdate) > Date.parse(edate)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<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" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript">
$().ready(function () {
setValue('relation_game_id', {$Think.request.relation_game_id |default = '""'});
setValue('sdk_version', {$Think.request.sdk_version |default = '""'});
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('team_leader_id', {$Think.request.team_leader_id |default = '""'});
setValue('promote_id', {$Think.request.promote_id |default = 0});
setValue('row', '{:I("get.row",10)}');
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#own').on('click',function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');
if (ownId > 0) {
checkBox.removeClass('iconfangxingxuanzhongfill');
checkBox.removeClass('selected-color');
checkBox.addClass('iconfangxingweixuanzhong');
$('#own_id').val(0);
} else {
checkBox.removeClass('iconfangxingweixuanzhong');
checkBox.addClass('iconfangxingxuanzhongfill');
checkBox.addClass('selected-color');
$('#own_id').val({$pID});
}
});
$('#relation_game_id').change(function () {
var relationGameId = $(this).val();
var sdkVersion = $('#sdk_version').val();
getServerList(relationGameId, sdkVersion);
});
$('#sdk_version').change(function () {
var sdkVersion = $(this).val();
var relationGameId = $('#relation_game_id').val();
getServerList(relationGameId, sdkVersion);
});
function getServerList(relationGameId, sdkVersion)
{
$.ajax({
url: "{:U('getServerAjax')}",
type: "post",
data: {relation_game_id: relationGameId,sdk_version:sdkVersion},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>请选择区服</option>";
if (data.status == 1) {
var serverData = data.data;
if (serverData.length > 0) {
for (var i in serverData) {
html += "<option value='" + serverData[i]['id'] + "'>" + serverData[i]['server_name'] + "</option>";
}
}
}
$("#server_id").empty();
$('#server_id').html(html);
$("#server_id").select2();
}
})
}
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
});
$(".select_gallery").select2();
$('#edate').datetimepicker({
lang:'ch',
format:'Y-m-d',
formatDate:'Y-m-d',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
timepicker:false
});
});
</script>
$('#submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
});
$(".select_gallery").select2();
});
</script>
</block>

@ -1,171 +1,213 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet">
<style>
.selected-color {
color: #2bd8ed;
}
.pointer-hand {
cursor: pointer;
}
.icon-spend {
position: relative;
font-size: 1.2rem;
top: 3px;
float: right;
right: 10px;
}
</style>
</block>
<block name="body">
<div class="page-search normal_list query-register-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>注册明细</span></div>
</div>
<img src="__IMG__/20180207/icon_zhuce.png">
<span class="title_main">注册明细</span>
<span class="details">对所有渠道用户玩家产生的注册信息,进行记录的功能</span>
<div class="page-search normal_list query-register-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>注册明细</span></div>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/register',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<div class="form-group normal_space fr">
<input type="submit" class="submit" value="查询">
</div>
<div class="form-group normal_space fr">
<label class="form-title select-title">注册时间:</label>
<div class="select-time">
<input type="text" id="sdate" class="txt" autocomplete="off" name="time_start" placeholder="开始时间" value="{:I('time_start')}" >
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" id="edate" class="txt" autocomplete="off" name="time_end" placeholder="结束时间" value="{:I('time_end')}">
</div>
</div>
<div class="form-group normal_space fr">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:170px;">
<option game-id="0" value="0">请选择推广员</option>
<option game-id="{:session('promote_auth.pid')}" value="{:session('promote_auth.pid')}">自己</option>
<volist name=":get_promote_chlid_account(PID)" id="vo">
<option game-id="{$vo.id}" value="{$vo.id}">{$vo.account}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fr">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group fr">
<input type="text" name="user_account" class="txt normal_txt" id="uid" style="width:128px;" placeholder="请输入玩家账号" value="{:I('user_account')}">
</div>
</form>
<img src="__IMG__/20180207/icon_zhuce.png">
<span class="title_main">注册明细</span>
<span class="details">对所有渠道用户玩家产生的注册信息,进行记录的功能</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/register',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group fl">
<input type="text" name="account" class="txt normal_txt" id="uid" placeholder="请输入玩家账号"
value="{:I('account')}">
</div>
<div class="form-group normal_space fl">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{:I('begtime')}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" id="edate" class="txt" name="endtime" placeholder="结束时间" value="{:I('endtime')}">
</div>
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' value="查询">
</div>
<div class="form-group normal_space fl" style="margin-left: 60px;">
<label style="line-height: 34px;cursor: pointer;" id="own">
<i class="iconfont {:empty(I('own_id'))?'iconfangxingweixuanzhong':'iconfangxingxuanzhongfill selected-color'}" style="font-size: 1.5rem;position: relative;top: 3px;margin-right: 2px;"></i>本账号
<input type="hidden" name="own_id" id="own_id" value="{:empty(I('own_id'))?0:I('own_id')}" />
</label>
</div>
</form>
</div>
<div class="page-list query-register-list">
</div>
<div class="page-list query-register-list">
<div class="trunk-content article">
<div class="trunk-list list_normal" style="">
<table class="table normal_table">
<tr class="odd">
<th>ID</th>
<th>玩家账号</th>
<th>游戏名称</th>
<th>区服</th>
<th>设备号</th>
<th>设备类型</th>
<th>注册时间</th>
<th>注册IP</th>
<th>推广员账号</th>
<th>操作</th>
</tr>
<empty name="list_data">
<tr><td colspan="7" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="list_data" id="vo" mod="2">
<tr class="<eq name='mod' value='1'>odd</eq>">
<!-- <td>{$i+($p-1)*10}</td> -->
<td>{$vo.id}</td>
<div class="trunk-list list_normal" style="">
<table class="table normal_table">
<tr class="odd">
<th>玩家账号</th>
<th>推广账号</th>
<th>设备IMIE/IDFA</th>
<th>注册时间</th>
<th>注册IP</th>
<th>最近登录时间</th>
<th>最近登陆IP</th>
<th>操作</th>
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="8" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else/>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.account}</td>
<td>{$vo.fgame_name}</td>
<td>
<notempty name="vo.server_name">
{$vo.server_name}
<else/>
--
</notempty>
</td>
<td>{$vo.pkey}</td>
<td>{:getSDKTypeName($vo['sdk_version'])}</td>
<td>{$vo.promote_account}({$vo.pro_real_name})</td>
<td>{$vo.device_number}</td>
<td>{$vo.register_time|date='Y-m-d H:i:s',###}</td>
<td>{$vo.register_ip}</td>
<td>{$vo['promote_account']}<if condition="PLEVEL eq 0">{:get_parent_promote_($vo['promote_id'])}</if></td>
<td>{$vo.new_login_time}</td>
<td>{$vo.new_login_ip}</td>
<td>
<a href="{:U('Query/viewRole',array('id'=>$vo['id']))}" style="cursor: pointer" class="chakan">查看角色</a>
<a href="{:U('Query/viewRole',array('id'=>$vo['id']))}" style="cursor: pointer"
class="chakan">查看角色</a>
</td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/expUser',array(
'id'=>6,
'account'=>I('post.user_account'),
'promote_id'=>I('post.promote_id'),
'game_appid'=>I('post.game_appid'),
'time_start'=>I('post.time_start'),
'time_end'=>I('post.time_end'),'xlsname'=>'数据管理_注册明细'
))}" >导出</a>
{$_page}
</div>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
{$_page}
</div>
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link rel="stylesheet" type="text/css" href="__CSS__/p_jquery.datetimepicker.css">
<script type="text/javascript" src="__JS__/jquery.datetimepicker.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
setValue('promote_id',{$Think.request.promote_id|default=0});
setValue('game_appid','{$Think.request.game_appid|default=0}');
setValue('row','{:I("get.row",10)}');
$().ready(function(){
$("#pagehtml a").on("click",function(event){
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action',geturl);
$('#data_form').submit();
});
$('#sdate').datetimepicker({
lang:'ch',
format:'Y-m-d',
formatDate:'Y-m-d',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
timepicker:false
});
$(".select_gallery").select2();
$('.submit').click(function(){
var sdate =$('#sdate').val();
var edate =$('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if(Date.parse(sdate) > Date.parse(edate)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<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" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$().ready(function () {
setValue('team_leader_id', {$Think.request.team_leader_id |default = '""'});
setValue('promote_id', {$Think.request.promote_id |default = 0});
setValue('row', '{:I("get.row",10)}');
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#own').on('click',function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');
if (ownId > 0) {
checkBox.removeClass('iconfangxingxuanzhongfill');
checkBox.removeClass('selected-color');
checkBox.addClass('iconfangxingweixuanzhong');
$('#own_id').val(0);
} else {
checkBox.removeClass('iconfangxingweixuanzhong');
checkBox.addClass('iconfangxingxuanzhongfill');
checkBox.addClass('selected-color');
$('#own_id').val({$pID});
}
});
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
$(".select_gallery").select2();
$('.submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
});
$('#edate').datetimepicker({
lang:'ch',
format:'Y-m-d',
formatDate:'Y-m-d',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
timepicker:false
});
});
</script>
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
});
});
</script>
</block>

@ -1,318 +1,369 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet" >
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.2" rel="stylesheet">
</block>
<block name="body">
<style>
@media screen and (max-width: 1500px) {
.normal_form{padding-top: 45px;}
.trunk-search .normal_txt {width: 100px}
.select2-container--default .select2-selection--single {width: 125px;}
.trunk-search .select-time .txt{width: 100px;}
.form-group .submit{width: 55px;}
}
</style>
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>数据汇总</span></div>
</div>
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">数据汇总</span>
<span class="details">说明:默认展示当前一级渠道及旗下各子渠道的全部数据</span>
<style>
@media screen and (max-width: 1500px) {
.normal_form {
padding-top: 45px;
}
.trunk-search .normal_txt {
width: 100px
}
.select2-container--default .select2-selection--single {
width: 125px;
}
.trunk-search .select-time .txt {
width: 100px;
}
.form-group .submit {
width: 55px;
}
}
.selected-color {
color: #2bd8ed;
}
.pointer-hand {
cursor: pointer;
}
.icon-spend {
position: relative;
font-size: 1.2rem;
top: 3px;
float: right;
right: 10px;
}
.th-hide {
display: none;
}
</style>
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>数据汇总</span></div>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<div class="tab normal_tab">
</div>
<!-- <form action="{:U('Query/summary')}" method="get" enctype="multipart/form-data" class="normal_form"> -->
<div class="form-group normal_space fr">
<input type="submit" class="submit" id='submit' url="{:U('Query/summary','model='.$model['name'],false)}" value="查询">
</div>
<div class="form-group normal_space fr">
<div class="select-time">
<input type="text" id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{:I('begtime')}" >
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" id="edate" class="txt" name="endtime" placeholder="结束时间" value="{:I('endtime')}">
</div>
</div>
<div class="form-group normal_space fr">
<select id="promote_account" name="promote_account" class="reselect select_gallery" style="min-width:130px;">
<option game-id="" value="">推广员账号</option>
<option game-id="{:session('promote_auth.pid')}" value="{:session('promote_auth.pid')}" <if condition="I('promote_account') eq session('promote_auth.pid')"> selected="true" </if> >自己</option>
<volist name=":get_promote_chlid_account(PID)" id="vo">
<option game-id="{$vo.id}" value="{$vo.id}" <if condition="I('promote_account') eq $vo['id']"> selected="true" </if> >{$vo.account}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fr">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option game-id="" value="">推广员ID</option>
<option game-id="{:session('promote_auth.pid')}" value="{:session('promote_auth.pid')}" <if condition="I('promote_id') eq session('promote_auth.pid')"> selected="true" </if> >自己</option>
<volist name=":get_promote_chlid_account(PID)" id="vo">
<option game-id="{$vo.id}" value="{$vo.id}" <if condition="I('promote_id') eq $vo['id']"> selected="true" </if> >{$vo.id}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fr">
<select id="game_level" name="game_level" class=" reselect select_gallery" >
<empty name="game_list">
<option value="" id="game_data" selected="true">暂无游戏等级</option>
<else/>
<if condition="I('game_level') neq '' ">
<option value="I('game_level')">{:I('game_level')}</option>
<else/>
<option value="" selected="true">请选择游戏等级</option>
</if>
</empty>
</select>
</div>
<div class="form-group normal_space fr">
<select id="server_name" name="server_id" class=" reselect select_gallery" >
<empty name="game_list">
<option value="" id="game_data" selected="true">暂无游戏区服</option>
<else/>
<if condition="I('server_name') neq '' ">
<option value="I('server_name')">{:I('server_name')}</option>
<else/>
<option value="" selected="true">请选择游戏区服</option>
</if>
</empty>
</select>
</div>
<div class="form-group normal_space fr">
<select id="game_id" name="game_id" class="reselect select_gallery">
<option game-id="0" value="">请选择游戏</option>
<volist name="game_list" id="vo">
<option value="{$vo.relation_game_id}" <if condition="I('game_id') eq $vo['relation_game_id']" > selected="true" </if> > {$vo.relation_game_name}</option>
</volist>
</select>
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
<!-- </form> -->
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">数据汇总</span>
<span class="details">说明:默认展示旗下各子渠道的全部数据</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<div class="tab normal_tab">
</div>
<!-- <form action="{:U('Query/summary')}" method="get" enctype="multipart/form-data" class="normal_form"> -->
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="">请选择游戏</option>
<volist name=":get_promote_serach_game()" id="vo">
<option value="{$vo.relation_game_id}" title="{$vo.relation_game_name}">{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="server_id" name="server_id" class=" reselect select_gallery">
<option value="">请选择区服</option>
<volist name="serverData" id="vo">
<option value="{$vo.id}">{$vo.server_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" readonly id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{$initBegTime}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" readonly id="edate" class="txt" name="endtime" placeholder="结束时间" value="{$initEndTime}">
</div>
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' url="{:U('Query/summary','model='.$model['name'],false)}"
value="查询">
</div>
<div class="form-group normal_space fl" style="margin-left: 60px;">
<label style="line-height: 34px;cursor: pointer;" id="own">
<i class="iconfont {:empty(I('own_id'))?'iconfangxingweixuanzhong':'iconfangxingxuanzhongfill selected-color'}" style="font-size: 1.5rem;position: relative;top: 3px;margin-right: 2px;"></i>本账号
<input type="hidden" name="own_id" id="own_id" value="{:empty(I('own_id'))?0:I('own_id')}" />
</label>
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
<!-- </form> -->
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
<div class="trunk-content article">
<div class="tabcon trunk-list">
<table class="table normal_table">
<tr class="odd">
<th>推广员ID</th>
<th>推广员帐号</th>
<th>注册用户</th>
<th>注册IP数</th>
<th>达标用户</th>
<th>达标游戏</th>
<th>移动端充值人数</th>
<th>安卓充值</th>
<th>苹果充值</th>
<tr class="odd">
<th>游戏名称</th>
<th>平台</th>
<th class="pointer-hand" title="创角数:统计时间范围内,成功创建角色数量(唯一)">创角数</th>
<th class="pointer-hand" title="创角用户:统计时间范围内,成功创角的用户数(去重)">创角用户</th>
<th class="pointer-hand" title="新创角用户当日24小时首次创建角色的用户数; 新创角设备当日24小时首次创建角色设备总数去重;">新创角用户|新创角设备</th>
<th class="pointer-hand" title="新增创角IP统计时间范围内首次创建角色IP总数去重">新增创角IP</th>
<th class="pointer-hand" title="登录用户数:统计时间范围内,登录的用户数(去重)">登录用户数</th>
<th class="pointer-hand" title="充值人数:统计时间范围内,支付成功且处理成功的游戏充值订单用户数(去重)">充值人数</th>
<th class="pointer-hand" title="充值次数:统计时间范围内,游戏充值成功订单数">充值次数</th>
<th class="pointer-hand spend-btn" title="充值总额:统计时间范围内,在游戏内充值成功的订单金额总和" style="width: 200px;">充值总额<i class="iconfont iconplus-square icon-spend"></i></th>
<th class="pointer-hand spend-element th-hide" title="现金充值:统计时间范围内,在游戏内充值成功的订单,使用现金支付金额总和">现金充值</th>
<th class="pointer-hand spend-element th-hide" title="通用币充值:统计时间范围内,在游戏内充值成功的订单,使用通用币支付金额总和">通用币充值</th>
<th class="pointer-hand spend-element th-hide" title="绑定币充值:统计时间范围内,在游戏内充值成功的订单,使用绑定币支付金额总和">绑定币充值</th>
<th class="pointer-hand spend-element th-hide" title="折扣币充值:统计时间范围内,在游戏内充值成功的订单,使用折扣币支付金额总和,该部分不参与结算">折扣币充值</th>
<th class="pointer-hand spend-element th-hide" title="代金劵使用:统计时间范围内,在游戏内充值成功的订单,使用代金券金额总和,该部分不参与结算">代金劵使用</th>
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="15" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<volist name="child" id="child" mod="2">
<tr class="num2">
<td>{$child['id']}</td>
<if condition="$child['id'] eq session('promote_auth.pid')">
<td>自己</td>
<else/>
<td>{$child['account']}</td>
</if>
<td>{:IsNull($child['register_user'])}</td>
<td>{:IsNull($child['register_ip'])}</td>
<td>{:IsNull($child['dabiao_user'])}</td>
<if condition="IsNull($child['dabiao_game']) eq 0">
<td>0</td>
<else/>
<td><a class="dabiao_game" href="javascript:;" url="{:U('Query/dabiao_game',array('begtime'=>I('begtime'),'endtime'=>I('endtime'),'promote_id'=>$child['id'],'game_id'=>I('game_id'),'server_id'=>I('server_id'),'game_level'=>I('game_level')))}" style="color: blue">{:IsNull($child['dabiao_game'])}</a></td>
</if>
<td>{:IsNull($child['spend'])}</td>
<td>{:null_to_0($child['and_spend'])}</td>
<td>{:null_to_0($child['ios_spend'])}</td>
</tr>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.game_name}</td>
<td>{:getSDKTypeName($vo['sdk_version'],true)}</td>
<td>{$vo.role_num}</td>
<td>{$vo.user_num}</td>
<td>{$vo.new_user_num}|{$vo.new_device_num}</td>
<td>{$vo.new_ip_num}</td>
<td>{$vo.login_user_num}</td>
<td>{$vo.spend_user_num}</td>
<td>{$vo.spend_num}</td>
<td>{$vo.spend_all_amount}</td>
<td class="spend-element th-hide">{$vo.spend_cash}</td>
<td class="spend-element th-hide">{$vo.spend_generic}</td>
<td class="spend-element th-hide">{$vo.spend_binding}</td>
<td class="spend-element th-hide">{$vo.spend_discount}</td>
<td class="spend-element th-hide">{$vo.spend_voucher}</td>
</tr>
</volist>
<tr class="num2">
<td>汇总</td>
<td>{$count}</td>
<td>{$all_data['register_user']}</td>
<td>{:IsNull($all_data['register_ip'])}</td>
<td>{:IsNull($all_data['dabiao_user'])}</td>
<td>{:IsNull($all_data['dabiao_game'])}</td>
<td>{:IsNull($all_data['spend'])}</td>
<td>{:null_to_0($all_data['and_spend'])}</td>
<td>{:null_to_0($all_data['ios_spend'])}</td>
</tr>
<tr class="num2">
<td>合计</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--|--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>{$allData.spend_num}</td>
<td>{$allData.spend_all_amount}</td>
<td class="spend-element th-hide">{$allData.spend_cash}</td>
<td class="spend-element th-hide">{$allData.spend_generic}</td>
<td class="spend-element th-hide">{$allData.spend_binding}</td>
<td class="spend-element th-hide">{$allData.spend_discount}</td>
<td class="spend-element th-hide">{$allData.spend_voucher}</td>
</tr>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/expUser',array(
'id'=>11,
'game_id'=>I('game_id'),
'promote_id'=>I('promote_id'),
'game_server'=>I('game_server'),
'game_level'=>I('game_level'),
'begtime'=>I('begtime'),
'endtime'=>I('endtime'),
'server_name'=>I('server_name'),
'promote_account'=>I('promote_account'),'xlsname'=>'数据管理_数据汇总'
))}" >导出</a>
{$_page}
</div>
{$_page}
</div>
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<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" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript">
$().ready(function(){
setValue('row','{:I("get.row",10)}');
$("#pagehtml a").on("click",function(event){
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action',geturl);
$('#data_form').submit();
});
var date="{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
scrollMonth:false,
scrollTime:false,
scrollInput:false,
endDate:date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
pickerPosition:'bottom-left',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
endDate:date
});
$('#submit').click(function(){
var sdate =$('#sdate').val();
var edate =$('#edate').val();
var pid = $('#promote_id').val();
var pac = $('#promote_account').val();
if(pid !='' && pac != '' && pid != pac){
layer.msg("渠道ID与渠道账号不匹配");
return false;
}
if(Date.parse(sdate) > Date.parse(edate)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
var url = $(this).attr('url');
console.log(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;
}
window.location.href = url;
});
$("#game_id").change(function(){
$.ajax({
url:"{:U('getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").val()},
dataType:'json',
success:function(data){
str1 = "<option value=''>请选择区服</option>";
str2 = "<option value=''>请选择等级</option>";
for (var i in data.data.server_name){
str1 += "<option value='"+data.data.server_name[i].id+"'>"+data.data.server_name[i].server_name+"</option>"
}
if(data.data.game_level.first_level_name){
str2 +="<option value='"+data.data.game_level.first_level_name+"'>"+data.data.game_level.first_level_name+"</option>";
str2 +="<option value='"+data.data.game_level.second_level_name+"'>"+data.data.game_level.second_level_name+"</option>";
str2 +="<option value='"+data.data.game_level.third_level_name+"'>"+data.data.game_level.third_level_name+"</option>";
}
$("#server_name").empty();
$("#server_name").append(str1);
$("#server_name").select2();
$("#game_level").empty();
$("#game_level").append(str2);
$("#game_level").select2();
}
})
})
var game_id = $("#game_id").val();
var game_server = "{:I('server_id')}";
var game_level = "{:I('game_level')}";
if(game_id>0){
$.ajax({
url:"{:U('getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").val()},
dataType:'json',
success:function(data){
str1 = "<option value=''>请选择区服</option>";
str2 = "<option value=''>请选择等级</option>";
var server_name = data.data.server_name;
var levle = data.data.game_level;
for (var i in server_name){
str1 += "<option value='"+data.data.server_name[i].id+"' "+(game_server && server_name[i].id == game_server?'selected':'')+" >"+data.data.server_name[i].server_name+"</option>"
}
str2 +="<option value='"+data.data.game_level.first_level_name+"' "+(game_level && levle.first_level_name == game_level?'selected':'') +">"+data.data.game_level.first_level_name+"</option>";
str2 +="<option value='"+data.data.game_level.second_level_name+"' "+(game_level && levle.second_level_name == game_level?'selected':'') +">"+data.data.game_level.second_level_name+"</option>";
str2 +="<option value='"+data.data.game_level.third_level_name+"' "+(game_level && levle.third_level_name == game_level?'selected':'') +">"+data.data.game_level.third_level_name+"</option>";
$("#server_name").empty();
$("#server_name").append(str1);
$("#server_name").select2();
$("#game_level").empty();
$("#game_level").append(str2);
$("#game_level").select2();
}
})
}
$(".select_gallery").select2();
$(".dabiao_game").click(function(){
var href = $(this).attr('url');
layer.open({
type: 2,
title: "达标游戏",
shadeClose: true,
shade: 0.8,
area: ['71%', '80%'],
content: href,
});
return false;
})
});
</script>
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<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" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript">
$().ready(function () {
setValue('team_leader_id', {$Think.request.team_leader_id |default = '""'});
setValue('promote_id', {$Think.request.promote_id |default = '""'});
setValue('relation_game_id', {$Think.request.relation_game_id |default = '""'});
setValue('sdk_version', {$Think.request.sdk_version |default = '""'});
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
$('#own').on('click',function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');
if (ownId > 0) {
checkBox.removeClass('iconfangxingxuanzhongfill');
checkBox.removeClass('selected-color');
checkBox.addClass('iconfangxingweixuanzhong');
$('#own_id').val(0);
} else {
checkBox.removeClass('iconfangxingweixuanzhong');
checkBox.addClass('iconfangxingxuanzhongfill');
checkBox.addClass('selected-color');
$('#own_id').val({$pID});
}
});
$('.spend-btn').on('click', function () {
var element = $(this).find('i');
if (element.hasClass('iconplus-square')) {
element.removeClass('iconplus-square');
element.addClass('iconminus-square');
$('.spend-element').removeClass('th-hide');
} else {
element.removeClass('iconminus-square');
element.addClass('iconplus-square');
$('.spend-element').addClass('th-hide');
}
});
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
var url = $(this).attr('url');
console.log(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;
}
window.location.href = url;
});
$('#relation_game_id').change(function () {
var relationGameId = $(this).val();
var sdkVersion = $('#sdk_version').val();
getServerList(relationGameId, sdkVersion);
});
$('#sdk_version').change(function () {
var sdkVersion = $(this).val();
var relationGameId = $('#relation_game_id').val();
getServerList(relationGameId, sdkVersion);
});
function getServerList(relationGameId, sdkVersion)
{
$.ajax({
url: "{:U('getServerAjax')}",
type: "post",
data: {relation_game_id: relationGameId,sdk_version:sdkVersion},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>请选择区服</option>";
if (data.status == 1) {
var serverData = data.data;
if (serverData.length > 0) {
for (var i in serverData) {
html += "<option value='" + serverData[i]['id'] + "'>" + serverData[i]['server_name'] + "</option>";
}
}
}
$("#server_id").empty();
$('#server_id').html(html);
$("#server_id").select2();
}
})
}
$(".select_gallery").select2();
});
</script>
</block>

@ -1,162 +0,0 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/account.css" rel="stylesheet" >
</block>
<block name="body">
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>角色查询</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">角色查询</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Promote/mychlid',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<div class="form-group fr">
<input type="submit" class="submit normal_space" value="查询">
</div>
<div class="form-group fr normal_space">
<input type="text" name="real_name" class="txt normal_txt" id="uid" placeholder="请输入姓名" value="{:I('real_name')}">
</div>
<div class="form-group fr normal_space">
<input type="text" name="mobile" class="txt normal_txt" id="uid" placeholder="请输入手机号" value="{:I('mobile')}">
</div>
<div class="form-group fr normal_space">
<input type="text" name="idcard" class="txt normal_txt" id="uid" placeholder="请输入身份证" value="{:I('idcard')}">
</div>
<div class="form-group fr normal_space">
<input type="text" name="account" class="txt normal_txt" id="uid" placeholder="请输入帐号" value="{:I('account')}">
</div>
</form>
</div>
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr class="odd">
<th>玩家帐号</th>
<th>推广账号</th>
<th>游戏名称</th>
<th>平台</th>
<th>游戏区服</th>
<th>角色名</th>
<th>等级</th>
<th>创建时间</th>
</tr>
<empty name="lists_data">
<tr><td colspan="8" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="lists_data" id="vo" mod="2">
<tr data-id="{$vo.id}" class="<eq name='mod' value='1'>odd</eq>">
<td>{$vo.user_account}</td>
<td>{$vo.promote_account}</td>
<td>{$vo.game_name}</td>
<td>{:getSDKTypeName($vo['sdk_version'])}</td>
<td>{$vo.server_name}</td>
<td>{$vo.role_name}</td>
<td>{$vo.role_level}</td>
<td>{$vo.play_time|date='Y-m-d H:i:s',###}</td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/child',array(
'p'=>I('p'),
'account'=>I('account'),'xlsname'=>'管理中心_'.get_pro_grade_name(PRO_GRADE,1),'row'=>I('request.row')
))}" >导出</a>
{$_page}
</div>
</div>
<div class="page-explain promote-mychlid-explain">
<div class="trunk-content article border_normal">
<!-- <table class="desccontent">
<tr><td class="title" style="width: 100px;display: inline-block;">二级渠道说明:</td><td class="det">推广员默认为一级渠道,一级渠道可通过推广员后台新增二级渠道;二级渠道由一级渠道管理开启权限,并由一级渠道给二级渠道结算,结算可到财务管理操作。</td></tr>
</table>-->
</div>
</div>
</div>
</block>
<block name="script">
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$(function(){
$(".select_gallery").select2();
$('.reset-password-btn').on({
click: function() {
var id = $(this).parents('tr').eq(0).attr('data-id')
layer.confirm('是否确认重置密码?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "{:U('Promote/resetPassword')}",
data: {promote_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
layer.close(index)
if (response.status == 1) {
layer.open({
content: '重置密码成功,您的新密码为:' + response.data.password
})
} else {
layer.msg(response.msg)
}
}
})
})
}
})
$('.froze-btn').on({
click: function() {
var id = $(this).parents('tr').eq(0).attr('data-id')
layer.confirm('是否确认冻结帐号?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "{:U('Promote/froze')}",
data: {promote_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
layer.msg(response.msg, {time: 1000}, function() {
window.location.href = window.location.href
})
}
})
})
}
})
$('.unfreeze-btn').on({
click: function() {
var id = $(this).parents('tr').eq(0).attr('data-id')
layer.confirm('是否确认解冻帐号?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "{:U('Promote/unfreeze')}",
data: {promote_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
layer.msg(response.msg, {time: 1000}, function() {
window.location.href = window.location.href
})
}
})
})
}
})
$('.shift-btn').on({
click: function() {
var id = $(this).parents('tr').eq(0).attr('data-id')
layer.open({
title: '渠道迁移',
type: 1,
content: $('#shift-box'),
area: ['600px', '400px']
})
}
})
})
</script>
</block>

@ -0,0 +1,194 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/account.css" rel="stylesheet" >
<style>
.form-group {
float: left;
margin-bottom: 10px;
}
.form-group label {
line-height: 34px;
height: 34px;
}
</style>
</block>
<block name="body">
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>玩家充值</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">玩家充值</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/userRecharges',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<div class="form-group normal_space">
<select id="game-select" name="game_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择游戏</option>
<volist name="games" id="game">
<option value="{$game.game_id}" <if condition="I('game_id') === $game['id']">selected</if>>{$game.game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select id="server-select" name="server_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择区服</option>
<volist name="groupPromotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select name="sdk_version" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择设备类型</option>
<option value="1" <if condition="I('sdk_version') === '1'">selected</if>>Andriod</option>
<option value="2" <if condition="I('sdk_version') === '2'">selected</if>>IOS</option>
</select>
</div>
<if condition="$grand_id eq 0">
<div class="form-group normal_space">
<select id="group-select" name="promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择推广员</option>
<volist name="promotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
</if>
<if condition="$parent_id eq 0">
<div class="form-group normal_space">
<select id="promote-select" name="headman_promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择组长</option>
<volist name="groupPromotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
</if>
<div class="form-group normal_space">
<input type="text" name="role_name" class="txt normal_txt" id="uid" placeholder="请输入角色名" value="{:I('role_name')}">
</div>
<div class="form-group normal_space">
<input type="text" name="user_account" class="txt normal_txt" id="uid" placeholder="请输入玩家账号" value="{:I('user_account')}">
</div>
<!-- <div class="form-group normal_space">
<input type="text" name="device_sn" class="txt normal_txt" id="uid" placeholder="请输入设备号" value="{:I('device_sn')}">
</div> -->
<div class="form-group normal_space fr">
<label>充值总额:</label>
<input type="text" class="txt" name="cost_begin" style="width: 50px" value="{:I('cost_begin')}" >
<label> ~ </label>
<input type="text" class="txt" name="cost_end" style="width: 50px" value="{:I('cost_end')}" >
</div>
<div class="form-group normal_space">
<input type="submit" class="submit" value="查询">
</div>
<div class="form-group normal_space">
<label><input name="is_self" value="1" type="checkbox"> 本账号推广</label>
</div>
</form>
</div>
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr class="odd">
<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>
<empty name="records">
<tr><td colspan="12" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="records" id="record" mod="2">
<tr data-id="{$vo.id}" class="<eq name='mod' value='1'>odd</eq>">
<td>{$record.user_account}</td>
<td>{$record.game_name}</td>
<td>{:getSDKTypeName($record['sdk_version'])}</td>
<td>{$record.server_name}</td>
<td>{$record.role_name}</td>
<td>{$record.role_level}</td>
<td>{$record.recharge_cost}</td>
<td>{$record.recharge_count}</td>
<td>{$record.recharge_cost_today}</td>
<td>{$record.unlogin_day}</td>
<td>{$record.play_time|date='Y-m-d H:i:s',###}</td>
<td>{$record.promote_account}</td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/child',array(
'p'=>I('p'),
'account'=>I('account'),'xlsname'=>'管理中心_'.get_pro_grade_name(PRO_GRADE,1),'row'=>I('request.row')
))}" >导出</a>
{$_page}
</div>
</div>
<div class="page-explain promote-mychlid-explain">
<div class="trunk-content article border_normal">
<!-- <table class="desccontent">
<tr><td class="title" style="width: 100px;display: inline-block;">二级渠道说明:</td><td class="det">推广员默认为一级渠道,一级渠道可通过推广员后台新增二级渠道;二级渠道由一级渠道管理开启权限,并由一级渠道给二级渠道结算,结算可到财务管理操作。</td></tr>
</table>-->
</div>
</div>
</div>
</block>
<block name="script">
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$(function(){
$(".select_gallery").select2();
$('#game-select').on({
change: function name() {
var gameId = $('#game-select').val()
$.ajax({
url: "{:U('Query/getGameServers')}",
dataType: 'json',
data: {game_id: gameId},
success: function(response) {
$("#server-select").val(0).trigger("change")
var options = '<option value="0">请选择区服</option>'
for (var i in response.data.servers) {
var server = response.data.servers[i]
options += '<option value="' + server.id + '">' + server.server_name + '</option>'
}
$('#server-select').html(options)
}
})
}
})
$('#group-select').on({
change: function name() {
var groupId = $('#group-select').val()
$.ajax({
url: "{:U('Query/getSubPromotes')}",
dataType: 'json',
data: {promote_id: groupId},
success: function(response) {
$("#promote-select").val(0).trigger("change")
var options = '<option value="0">请选择推广员</option>'
for (var i in response.data.promotes) {
var promote = response.data.promotes[i]
options += '<option value="' + promote.id + '">' + promote.account + '</option>'
}
$('#promote-select').html(options)
}
})
}
})
})
</script>
</block>

@ -0,0 +1,194 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/account.css" rel="stylesheet" >
<style>
.form-group {
float: left;
margin-bottom: 10px;
}
.form-group label {
line-height: 34px;
height: 34px;
}
</style>
</block>
<block name="body">
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>角色查询</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">角色查询</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/userRoles',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<div class="form-group normal_space">
<select id="game-select" name="game_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择游戏</option>
<volist name="games" id="game">
<option value="{$game.game_id}" <if condition="I('game_id') === $game['id']">selected</if>>{$game.game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select id="server-select" name="server_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择区服</option>
<volist name="groupPromotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select name="sdk_version" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择设备类型</option>
<option value="1" <if condition="I('sdk_version') === '1'">selected</if>>Andriod</option>
<option value="2" <if condition="I('sdk_version') === '2'">selected</if>>IOS</option>
</select>
</div>
<div class="form-group normal_space">
<input type="text" name="role_name" class="txt normal_txt" id="uid" placeholder="请输入角色名" value="{:I('role_name')}">
</div>
<div class="form-group normal_space">
<input type="text" name="user_account" class="txt normal_txt" id="uid" placeholder="请输入玩家账号" value="{:I('user_account')}">
</div>
<if condition="$parent_id eq 0">
<div class="form-group normal_space">
<select id="group-select" name="headman_promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择组长</option>
<volist name="groupPromotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}" <if condition="I('promote_id') === $promote['id']">selected</if>>{$promote.account}</option>
</volist>
</select>
</div>
</if>
<if condition="$grand_id eq 0">
<div class="form-group normal_space">
<select id="promote-select" name="promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择推广员</option>
<volist name="promotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}" <if condition="I('promote_id') === $promote['id']">selected</if>>{$promote.account}</option>
</volist>
</select>
</div>
</if>
<div class="form-group normal_space fr">
<label>创建时间:</label>
<input type="text" class="txt range-date" name="play_time" placeholder="创建时间" value="{:I('play_time')}" >
</div>
<div class="form-group normal_space fr">
<label>玩家等级:</label>
<input type="text" class="txt" name="role_level_begin" style="width: 50px" value="{:I('role_level_begin')}" >
<label> ~ </label>
<input type="text" class="txt" name="role_level_end" style="width: 50px" value="{:I('role_level_end')}" >
</div>
<div class="form-group">
<input type="submit" class="submit normal_space" value="查询">
</div>
<div class="form-group normal_space">
<label><input name="is_self" value="1" type="checkbox"> 本账号推广</label>
</div>
</form>
</div>
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr class="odd">
<th>玩家帐号</th>
<th>推广账号</th>
<th>游戏名称</th>
<th>平台</th>
<th>游戏区服</th>
<th>角色名</th>
<th>等级</th>
<th>创建时间</th>
</tr>
<empty name="records">
<tr><td colspan="8" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="records" id="record" mod="2">
<tr data-id="{$vo.id}" class="<eq name='mod' value='1'>odd</eq>">
<td>{$record.user_account}</td>
<td>{$record.promote_account}</td>
<td>{$record.game_name}</td>
<td>{:getSDKTypeName($record['sdk_version'])}</td>
<td>{$record.server_name}</td>
<td>{$record.role_name}</td>
<td>{$record.role_level}</td>
<td>{$record.play_time|date='Y-m-d H:i:s',###}</td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/child',array(
'p'=>I('p'),
'account'=>I('account'),'xlsname'=>'管理中心_'.get_pro_grade_name(PRO_GRADE,1),'row'=>I('request.row')
))}" >导出</a>
{$_page}
</div>
</div>
<div class="page-explain promote-mychlid-explain">
<div class="trunk-content article border_normal">
<!-- <table class="desccontent">
<tr><td class="title" style="width: 100px;display: inline-block;">二级渠道说明:</td><td class="det">推广员默认为一级渠道,一级渠道可通过推广员后台新增二级渠道;二级渠道由一级渠道管理开启权限,并由一级渠道给二级渠道结算,结算可到财务管理操作。</td></tr>
</table>-->
</div>
</div>
</div>
</block>
<block name="script">
<link rel="stylesheet" href="__STATIC__/flatpickr/flatpickr.min.css">
<script src="__STATIC__/flatpickr/flatpickr.min.js"></script>
<script src="__STATIC__/flatpickr/l10n/zh.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$(function() {
$('.range-date').flatpickr({
mode: 'range',
locale: 'zh',
})
$('.select_gallery').select2()
$('#game-select').on({
change: function name() {
var gameId = $('#game-select').val()
$.ajax({
url: "{:U('Query/getGameServers')}",
dataType: 'json',
data: {game_id: gameId},
success: function(response) {
$("#server-select").val(0).trigger("change")
var options = '<option value="0">请选择区服</option>'
for (var i in response.data.servers) {
var server = response.data.servers[i]
options += '<option value="' + server.id + '">' + server.server_name + '</option>'
}
$('#server-select').html(options)
}
})
}
})
$('#group-select').on({
change: function name() {
var groupId = $('#group-select').val()
$.ajax({
url: "{:U('Query/getSubPromotes')}",
dataType: 'json',
data: {promote_id: groupId},
success: function(response) {
$("#promote-select").val(0).trigger("change")
var options = '<option value="0">请选择推广员</option>'
for (var i in response.data.promotes) {
var promote = response.data.promotes[i]
options += '<option value="' + promote.id + '">' + promote.account + '</option>'
}
$('#promote-select').html(options)
}
})
}
})
})
</script>
</block>

@ -0,0 +1,121 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/account.css" rel="stylesheet" >
</block>
<block name="body">
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>注册明细</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">注册明细</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Promote/mychlid',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<div class="form-group fr">
<input type="submit" class="submit normal_space" value="查询">
</div>
<div class="form-group fr normal_space">
<input type="text" name="account" class="txt normal_txt" placeholder="请输入玩家帐号" value="{:I('account')}">
</div>
<div class="form-group fr normal_space">
<select name="promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择设备类型</option>
<volist name="subPromotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
<if condition="$grand_id eq 0">
<div class="form-group fr normal_space">
<select name="promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择推广员</option>
<volist name="promotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
</if>
<if condition="$parent_id eq 0">
<div class="form-group fr normal_space">
<select name="headman_promote_id" class="reselect select_gallery" style="width: 220px;" >
<option value="0">请选择组长</option>
<volist name="groupPromotes" id="promote">
<option ba-id="{$promote.id}" value="{$promote.id}">{$promote.account}</option>
</volist>
</select>
</div>
</if>
<div class="form-group normal_space fr">
<label>注册时间:</label>
<input type="text" id="search-play-time" class="txt" name="register_time" placeholder="注册时间" value="{:I('register_time')}" >
</div>
</form>
</div>
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr class="odd">
<th>玩家帐号</th>
<th>推广账号</th>
<th>设备IMIE/IDFA</th>
<th>设备类型</th>
<th>注册时间</th>
<th>注册IP</th>
<th>最近登录时间</th>
<th>最近登陆IP</th>
<th>操作</th>
</tr>
<empty name="records">
<tr><td colspan="8" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<volist name="records" id="record" mod="2">
<tr data-id="{$record.id}" class="<eq name='mod' value='1'>odd</eq>">
<td>{$record.account}</td>
<td>{$record.promote_account}</td>
<td>{$record.device_number}</td>
<td></td>
<td>{$record.register_time|date='Y-m-d H:i:s',###}</td>
<td>{$record.register_ip}</td>
<td>{$record.login_time|date='Y-m-d H:i:s',###}</td>
<td>{$record.login_ip}</td>
<td><a href="{:U('Query/userRoles', ['id' => $record['id']])}">查看角色</a></td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/child',array(
'p'=>I('p'),
'account'=>I('account'),'xlsname'=>'管理中心_'.get_pro_grade_name(PRO_GRADE,1),'row'=>I('request.row')
))}" >导出</a>
{$_page}
</div>
</div>
<div class="page-explain promote-mychlid-explain">
<div class="trunk-content article border_normal">
<!-- <table class="desccontent">
<tr><td class="title" style="width: 100px;display: inline-block;">二级渠道说明:</td><td class="det">推广员默认为一级渠道,一级渠道可通过推广员后台新增二级渠道;二级渠道由一级渠道管理开启权限,并由一级渠道给二级渠道结算,结算可到财务管理操作。</td></tr>
</table>-->
</div>
</div>
</div>
</block>
<block name="script">
<link rel="stylesheet" href="__STATIC__/flatpickr/flatpickr.min.css">
<script src="__STATIC__/flatpickr/flatpickr.min.js"></script>
<script src="__STATIC__/flatpickr/l10n/zh.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#search-play-time').flatpickr({
mode: 'range',
locale: 'zh',
})
$('.select_gallery').select2();
})
</script>
</block>

@ -1,102 +1,222 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.2" rel="stylesheet">
</block>
<block name="body">
<div class="page-search normal_list query-register-search">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>注册明细></span><span>角色详情</span></div>
</div>
<img src="__IMG__/20180207/icon_zhuce.png">
<span class="title_main">角色详情</span>
<div class="page-search normal_list query-register-search" style="font-size: small;">
<div style="position: absolute;margin: .6% 2% 0 2%;margin-top: -30px;color: #6a7082;">
<span class="back-btn" style="cursor: pointer;"><i class="iconfont iconreply"></i> 返回</span>
</div>
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>注册明细></span><span>角色详情</span></div>
</div>
<div class="page-list query-register-list">
<div class="trunk-content article">
<div class="trunk-list list_normal" style="">
<table class="table normal_table">
<tr class="odd">
<th>玩家账号</th>
<th>游戏名称</th>
<th>设备类型</th>
<th>游戏区服</th>
<th>角色名</th>
</tr>
<empty name="list_data">
<tr><td colspan="5" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
<else />
<tr class="odd">
<td>{$list_data.account}</td>
<td>{$list_data.game_name}</td>
<td>{:getSDKTypeName($list_data['sdk_version'])}</td>
<td>{$list_data.server_name}</td>
<td>{$list_data.role_name}</td>
</tr>
</empty>
</table>
<img src="__IMG__/20180207/icon_zhuce.png">
<span class="title_main">角色详情</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/viewRole',array('row'=>I('get.row'),'id'=>I('get.id')))}" method="post" enctype="multipart/form-data">
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="">请选择游戏</option>
<volist name=":get_promote_serach_game()" id="vo">
<option value="{$vo.relation_game_id}" title="{$vo.relation_game_name}">{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group normal_space fl">
<select id="server_id" name="server_id" class=" reselect select_gallery">
<option value="">请选择区服</option>
<volist name="serverData" id="vo">
<option value="{$vo.id}">{$vo.server_name}</option>
</volist>
</select>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/expUser',array(
'id'=>12,
'user_id'=>$list_data['id'],
))}" >导出
</a>{$_page}
<div class="form-group fl">
<input type="text" name="role_name" class="txt normal_txt" placeholder="请输入角色名"
value="{:I('role_name')}">
</div>
<div class="form-group normal_space fl">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{:I('begtime')}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" id="edate" class="txt" name="endtime" placeholder="结束时间" value="{:I('endtime')}">
</div>
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' value="查询">
</div>
</form>
</div>
</div>
<div class="page-list query-register-list">
<div class="trunk-content article">
<div class="trunk-list list_normal" style="">
<table class="table normal_table">
<tr class="odd">
<th>玩家账号</th>
<th>游戏名称</th>
<th>使用设备</th>
<th>设备类型</th>
<th>创建时间</th>
<th>游戏区服</th>
<th>角色名</th>
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="7" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else/>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.user_account}</td>
<td>{$vo.game_name}</td>
<td>Phone</td>
<td>{:getSDKTypeName($vo['sdk_version'])}</td>
<td>{$vo.play_time|date='Y-m-d H:i:s',###}</td>
<td>{$vo.server_name}</td>
<td>{$vo.role_name}</td>
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
{$_page}
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link rel="stylesheet" type="text/css" href="__CSS__/p_jquery.datetimepicker.css">
<script type="text/javascript" src="__JS__/jquery.datetimepicker.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
setValue('promote_id','{$Think.request.promote_id|default=0}');
setValue('game_appid','{$Think.request.game_appid|default=0}');
setValue('row','{:I("get.row",10)}');
$().ready(function(){
$("#pagehtml a").on("click",function(event){
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action',geturl);
$('#data_form').submit();
});
$('#sdate').datetimepicker({
lang:'ch',
format:'Y-m-d',
formatDate:'Y-m-d',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
timepicker:false
});
$(".select_gallery").select2();
$('.submit').click(function(){
var sdate =$('#sdate').val();
var edate =$('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if(Date.parse(sdate) > Date.parse(edate)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
});
$('#edate').datetimepicker({
lang:'ch',
format:'Y-m-d',
formatDate:'Y-m-d',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
timepicker:false
});
});
</script>
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<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" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$().ready(function () {
setValue('relation_game_id', {$Think.request.relation_game_id |default = '""'});
setValue('sdk_version', {$Think.request.sdk_version |default = '""'});
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('.back-btn').on('click', function () {
location.href = "{:U('register')}";
});
$('#relation_game_id').change(function () {
var relationGameId = $(this).val();
var sdkVersion = $('#sdk_version').val();
getServerList(relationGameId, sdkVersion);
});
$('#sdk_version').change(function () {
var sdkVersion = $(this).val();
var relationGameId = $('#relation_game_id').val();
getServerList(relationGameId, sdkVersion);
});
function getServerList(relationGameId, sdkVersion)
{
$.ajax({
url: "{:U('getServerAjax')}",
type: "post",
data: {relation_game_id: relationGameId,sdk_version:sdkVersion},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>请选择区服</option>";
if (data.status == 1) {
var serverData = data.data;
if (serverData.length > 0) {
for (var i in serverData) {
html += "<option value='" + serverData[i]['id'] + "'>" + serverData[i]['server_name'] + "</option>";
}
}
}
$("#server_id").empty();
$('#server_id').html(html);
$("#server_id").select2();
}
})
}
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
$(".select_gallery").select2();
$('.submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
});
});
</script>
</block>

@ -2,6 +2,7 @@
<block name="css">
<link href="__CSS__/20180207/platform.css" rel="stylesheet">
<link href="__CSS__/detailed.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet">
<style>
.trunk-list .table3 {
width: 100%;
@ -27,6 +28,9 @@
<block name="body">
<div class="page-search normal_list charge-agentPay-search">
<div style="position: absolute;margin: .6% 2% 0 2%;margin-top: -30px;color: #6a7082;">
<span class="back-btn" style="cursor: pointer;"><i class="iconfont iconreply"></i> 返回</span>
</div>
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>充值明细></span><span>查看详细</span></div>
@ -60,7 +64,7 @@
<div class="tab detailed-box">
<label class="detailed-title detailed-label">订单标题:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
<label class="detailed-title detailed-label">角色昵称:</label>
<div class="detailed-content-box">
@ -93,7 +97,7 @@
<div class="tab detailed-box">
<label class="detailed-title detailed-label">折扣币:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
<label class="detailed-title detailed-label">通用币:</label>
<div class="detailed-content-box">
@ -104,28 +108,28 @@
<div class="tab detailed-box">
<label class="detailed-title detailed-label">代金券:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
</div>
<div class="tab detailed-box">
<label class="detailed-title detailed-label">订单备注:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
</div>
<div class="tab detailed-box">
<label class="detailed-title detailed-label">支付备注:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
</div>
<div class="tab detailed-box">
<label class="detailed-title detailed-label">创建时间:</label>
<div class="detailed-content-box">
<span></span>
<span>{:date('Y-m-d H:i:s', $list_data['pay_time'])}</span>
</div>
<label class="detailed-title detailed-label">支付时间:</label>
<div class="detailed-content-box">
@ -136,11 +140,11 @@
<div class="tab detailed-box">
<label class="detailed-title detailed-label">处理结果:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
<label class="detailed-title detailed-label">处理时间:</label>
<div class="detailed-content-box">
<span></span>
<span>--</span>
</div>
</div>
</div>
@ -200,331 +204,8 @@
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#promote_child").change();
$(".select_gallery").select2();
$('.jspayradio input:first').prop('checked', true).siblings('i').addClass('current');
$('.jspayradio input').click(function () {
var that = $(this);
$('.jspayradio i').removeClass('current');
if (that.prop('checked')) {
that.siblings('i').addClass('current');
}
});
$(".zhe").hide();
});
$('#game_id').change(function () {
if ($("#game_id option:selected").val() != "") {
$(".zhe").show();
} else {
$(".zhe").hide();
}
var radio = $("#game_id option:selected").attr('data');
//radio = radio/10;
$('.zhe td.r').html(radio + "折");
$("#discount").val(radio);
var uccount = $('#account');
var game_id = $(this).val();
$.ajax({
type: 'post',
dataType: 'json',
data: {game_id: game_id},
url: '{:U("get_user_play")}',
success: function (data) {
uccount.find('option').remove().end().append('<option value="">请选择充值用户</option>');
if (parseInt(data.status) == 1) {
var html = '';
$.each(data.data, function (i, n) {
html += '<option value="' + n.user_account + '">' + n.user_account + '</option>';
});
uccount.append(html);
uccount.select2();
} else {
layer.msg(data.info);
}
},
error: function () {
layer.msg('服务器故障!');
}
});
});
$(function () {
if ($("#game_id option:selected").val() != "") {
$(".zhe").show();
} else {
$(".zhe").hide();
}
var radio = $("#game_id option:selected").attr('data');
$('.zhe td.r').html(radio + "折");
$("#discount").val(radio);
});
function sub_from() {
var pay_type = $("input[name='pay_type']:checked").val();
if (pay_type) {
var form = $('#form');
if (pay_type == 'swiftpass') {
$.ajax({
type: 'post',
dataType: 'json',
url: '{:U("agent_pay_action")}',
data: form.serialize(),
success: function (data) {
if (parseInt(data.status) == 1) {
if (data.data) {
img_qrcode(data.data);
} else if (data.url) {
window.location.href = data.url;
} else {
layer.msg(data.info);
}
} else {
layer.msg(data.info);
}
},
error: function () {
layer.msg('服务器故障!');
}
});
} else {
form.submit();
}
} else {
layer.msg('请选择充值方式');
}
}
function check() {
data = validation();
if (data.status != 1) {
layer.msg(data.msg, {icon: 2});
return false;
} else {
if ($("input[name='pay_type']:checked").val()) {
layer.prompt(
{
formType: 1,
title: '请输入二级密码',
value: ''
},
function (val) {
$.ajax({
url: '{:U("checkpwd")}',
type: 'post',
dataType: 'json',
data: {'pwd': val},
success: function (data) {
if (data.status > 0) {
sub_from();
} else {
layer.msg(data.msg)
}
},
error: function () {
alert("错误");
}
});
});
} else {
layer.msg('请选择充值方式');
}
}
}
$("#pay_fmoney").keyup(function () {
var ratio = $("#discount").val();
var jine = $(this).val();
if (ratio == '') {
layer.msg("请选择充值游戏名称");
$(this).val('');
}
if (jine) {
if (/^\+?[1-9][0-9]*$/.test(jine)) {
if (ratio >= 1) {
var real_amount = (jine * (ratio / 100) * 10).toFixed(2);
$("#yingfu").html(jine);
$("#real_amount").val(real_amount);
$("#shifu").html(real_amount);
} else {
var money = $(this).val();
$("#yingfu").html(money);
$("#real_amount").val(money);
$("#shifu").html(money);
}
} else {
$("#yingfu").html(0);
$("#shifu").html(0);
layer.msg("充值金额必须是正整数");
}
} else {
$("#yingfu").html(0);
$("#shifu").html(0);
}
$('.back-btn').on('click', function () {
history.back(-1);
});
function validation() {
var json_data = "";
var limits = {$pro['pay_limit']};
if ($("#game_id").val() == '') {
return json_data = {'status': 0, 'msg': '请选择充值游戏名称'}
}
if ($.trim($('#account').val()).length == 0) {
return json_data = {'status': 0, 'msg': '充值用户名不能为空'}
}
if (!checkAccount()) {
return json_data = {'status': 0, 'msg': '此用户没玩过这个游戏'}//此用户不属于您的渠道
}
if ($.trim($('#pay_fmoney').val()).length == 0 || $("#real_amount").val() == 0) {
return json_data = {'status': 0, 'msg': '充值金额不能为空'}
}
if (!intege($('#pay_fmoney').val())) {
return json_data = {'status': 0, 'msg': '充值金额必须是正整数'};
}
if (!checkSecond()) {
return json_data = {'status': 0, 'msg': '请设置二级密码'}
}
return json_data = {'status': 1, 'msg': '成功'};
}
$("#account").on('change', function () {
if ($.trim($('#game_id').val()) == '') {
$(this).val('');
layer.msg('请先选择游戏');
return false;
}
return false;
});
$("#account").blur(function () {
var status = checkAccount();
var account = $('#account').val();
if (account != '') {
if (!status) {
layer.msg('此用户没玩过这个游戏', {icon: 2});
}
}
})
function checkSecond() {
var status = 1;
$.ajax({
type: "post",
url: "{:U('checkSecond')}",
async: false,
dataType: "json",
success: function (data) {
status = data.status;
}
});
return status;
}
function checkAccount() {
var status = 0;
$.ajax({
type: "post",
url: "{:U('checkAccount')}",
async: false,
data: {user_account: $("#account").val(), game_id: $("#game_id").val()},
dataType: "json",
success: function (data) {
status = data.status;
}
});
// alert(status);
return status;
}
function intege(data) {
var re = /^[1-9]+[0-9]*]*$/;
if (!re.test(data)) {
return false;
} else {
return true;
}
}
$("#promote_child").change(function () {
var coin = get_child_coin($(this).val());
$("#money").text(coin + '元')
})
function get_child_coin(cid) {
var coin = 0;
$.ajax({
url: "{:U('PromoteCoin/get_coin')}",
data: {id: cid},
type: 'post',
async: false,
success: function (data) {
coin = data.coin;
},
errror: function () {
layer.msg("服务器故障!");
}
});
if (coin == null) {
coin = 0;
}
return coin;
}
</script>
<script type="text/javascript">
function img_qrcode(data) {
layer.open({
type: 1,
title: "微信扫码支付",
closeBtn: 1,
shadeClose: true,
skin: 'yourclass',
btn: ['确认充值', '返回'],
content: '<div class="d_body" style="height:px;text-align:center;"><div class="d_content"><div class="text_center"> <table class="list" align="right" width="100%"><tbody><tr><td class="text_right">订单号</td><td class="text_left">' + data.out_trade_no + '</td></tr><tr><td class="text_right">充值金额</td><td class="text_left">本次充值' + data.amount + '元,实际付款' + data.pay_money + '元</td></tr></tbody></table><img src="' + data.code_img_url + '" height="301" width="301"><img src="/Public/Media/images/wx_pay_tips.png"></div></div></div>',
end: function () {
window.location.href = "{:U('Charge/agent_pay')}";
}
});
var order_number = "'" + data.out_trade_no + "'";
setInterval("callback(" + order_number + ")", 1000);
}
</script>
<script type="text/javascript">
function callback(out_trado_no) {
$.ajax({
type: 'POST',
url: "{:U('Charge/checkOrder')}",
data: {"order_number": out_trado_no},
success: function (data) {
if (data.status > 0) {
layer.msg('支付成功');
window.location.href = "{:U('Charge/agent_pay_list')}"
}
}
});
}
</script>
</block>

@ -10,7 +10,7 @@
<div>邮政编码350004</div>
</div>
</div>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>
<script type="text/javascript" src="https://api.map.baidu.com/api?key=&v=1.1&services=true"></script>
<script type="text/javascript">
//创建和初始化地图函数:
function initMap(){

@ -21,9 +21,9 @@ class SsgController extends BaseController {
public function login(){
$user = session("user_auth");
if ($user) {
/*if ($user) {
redirect(U("ssg/index"));
}
}*/
$this->display();
}
@ -146,6 +146,11 @@ class SsgController extends BaseController {
$this->display();
}
public function clear(){
\Think\Log::record('缓存清理业务触发');
session(null);
}
public function timediffs($begin_time, $end_time) {
if ($begin_time < $end_time) {
$starttime = $begin_time;

@ -108,6 +108,21 @@
</script>
</div>
<script src="__JS__/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="__JS__/ssg/common.js" type="text/javascript"></script>
<script src="__JS__/ssg/common.js?v=1.12" type="text/javascript"></script>
<!--<script type="text/javascript">
var READYTOPROCESS = false;
window.onbeforeunload = function closeWindow(e)
{
if (!READYTOPROCESS)
{
//message to be returned to the popup box.
var message = '你确定要关闭吗?',
e = e || window.event;
if (e)
e.returnValue = message; // IE
return message; // Safari
}
};
</script>-->
</body>
</html>

@ -218,3 +218,36 @@ function get_game_param($game_id,$field="",$type=''){
}
return $find;
}
/**
* 生成随机汉字字符串
* @param $num 数量
* @return [type] [description]
*/
function getChinaChar($num)
{
// $string = '';
// for ($i=0; $i<$num; $i++) {
// // 使用chr()函数拼接双字节汉字前一个chr()为高位字节,后一个为低位字节
// $a = chr(mt_rand(0xB0,0xD0)).chr(mt_rand(0xA1, 0xF0));
// // 转码
// $string .= iconv('GB2312', 'UTF-8', $a);
// }
// return $string;
$char = file_get_contents(APP_PATH.'Sdk/SecretKey/Data/chinaChar.txt');
$str = '';
$length = strlen($char);
for($i = 0;$i < $num;$i++)
{
$rand = rand(0,$length);
for(;$rand >= 0;$rand--)
{
if($rand == 0 || $rand %3 ==0)
{
break;
}
}
$str = $str . substr($char,$rand,3);
}
return $str;
}

@ -381,6 +381,7 @@ class BaseController extends RestController{
$data_spned['selle_ratio'] = get_game_selle_ratio($param["game_id"]);
$data_spned['server_id'] = $param["server_id"];
$data_spned['server_name'] = $param["server_name"];
$data_spned['game_player_id'] = $param["game_player_id"];
$data_spned['game_player_name'] = $param["game_player_name"];
$data_spned['promote_id'] = $user_entity["promote_id"];
$data_spned['promote_account'] = $user_entity["promote_account"];

@ -10,6 +10,7 @@ use Com\WechatAuth;
use App\Model\UserModel;
use App\Model\PointShopRecordModel;
use Qiniu\json_decode;
use Think\Log;
class UserController extends BaseController
{
@ -1186,20 +1187,15 @@ class UserController extends BaseController
$data["sdk_version"] = $request["sdk_version"];
$data['play_ip'] = get_client_ip();
$data['pipuid'] = $user_data['puid'];
if ($res['id']>0) {
$user_play -> save($data);
Log::write('save_user_play_info:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($data), 'INFO');
if ($res['id']>0) {
$user_play->save($data);
$this->updateLoginRecord($data);
} else {
$user_play -> add($data);
$user_play->add($data);
$this->updateLoginRecord($data);
}
$this -> set_message(200, "success", "成功");
@ -1215,7 +1211,6 @@ class UserController extends BaseController
*
*/
private function updateLoginRecord($userPlay) {
//var_dump($userPlay);die;
$map = array(
'game_id' => $userPlay['game_id'],
'user_id' => $userPlay['user_id'],
@ -1235,8 +1230,7 @@ class UserController extends BaseController
'id'=>$userLoginRecordData['id']
);
$userLoginRecordModel->save($data);
return $userLoginRecordModel->save($data);
}

@ -0,0 +1 @@
的一了是我不在人们有来他这上着个地到大里说去子得也和那要下看天时过出小么起你都把好还多没为又可家学只以主会样年想能生同老中从自面前头到它后然走很像见两用她国动进成回什边作对开而已些现山民候经发工向事命给长水几义三声于高正妈手知理眼志点心战二问但身方实吃做叫当住听革打呢真党全才四已所敌之最光产情路分总条白话东席次亲如被花口放儿常西气五第使写军吧文运在果怎定许快明行因别飞外树物活部门无往船望新带队先力完间却站代员机更九您每风级跟笑啊孩万少直意夜比阶连车重便斗马哪化太指变社似士者干石满决百原拿群究各六本思解立河爸村八难早论吗根共让相研今其书坐接应关信觉死步反处记将千找争领或师结块跑谁草越字加脚紧爱等习阵怕月青半火法题建赶位唱海七女任件感准张团屋爷离色脸片科倒睛利世病刚且由送切星晚表够整认响雪流未场该并底深刻平伟忙提确近亮轻讲农古黑告界拉名呀土清阳照办史改历转画造嘴此治北必服雨穿父内识验传业菜爬睡兴

@ -0,0 +1,60 @@
-- 推广员后台首页快捷菜单 ZCL
DROP TABLE IF EXISTS `tab_quick_menu`;
CREATE TABLE `tab_quick_menu` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '文档ID',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '菜单名称',
`url` varchar(255) NOT NULL DEFAULT '' COMMENT '链接地址',
`icon` varchar(50) DEFAULT '0' COMMENT '菜单ICON',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态',
PRIMARY KEY (`id`),
KEY `status` (`status`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tab_quick_menu
-- ----------------------------
INSERT INTO `tab_quick_menu` VALUES ('1', '账户信息', '/index.php?s=/Home/Promote/base_info.html', '11', '0');
INSERT INTO `tab_quick_menu` VALUES ('2', '组长管理', '/index.php?s=/Home/Promote/mychlid.html', '12', '0');
INSERT INTO `tab_quick_menu` VALUES ('3', '推广员管理', '/index.php?s=/Home/Promote/mygrand.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('4', '数据汇总', '/index.php?s=/Home/Query/summary.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('5', '充值明细', '/index.php?s=/Home/Query/recharge.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('6', '注册明细', '/index.php?s=/Home/Query/register.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('7', 'ARPU统计', '/index.php?s=/Home/Query/arpu_analysis.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('8', '留存统计', '/index.php?s=/Home/Query/retention_analysis.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('9', '角色查询', '/index.php?s=/Home/Query/userPlayers.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('10', '专服管理', '/index.php?s=/Home/Apply/index.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('11', '扶持申请', '/index.php?s=/Home/Support/index.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('12', '扶持记录', '/index.php?s=/Home/Support/lists.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('13', '扶持额度', '/index.php?s=/Home/Support/quota.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('14', '我的平台币', '/index.php?s=/Home/PromoteCoin/myCoin.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('15', '平台币转移', '/index.php?s=/Home/PromoteCoin/record.html', '0', '0');
INSERT INTO `tab_quick_menu` VALUES ('16', '平台币充值', '/index.php?s=/Home/CoinOrder/order_list.html', '0', '0');
-- 推广员后台首页快捷菜单关联表 ZCL
DROP TABLE IF EXISTS `tab_promote_quick_menu`;
CREATE TABLE `tab_promote_quick_menu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`promote_id` int(11) DEFAULT NULL COMMENT '推广员ID',
`quick_menu_id` int(11) DEFAULT NULL COMMENT '快捷菜单ID',
`create_time` int(11) DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of tab_promote_quick_menu
-- ----------------------------
INSERT INTO `tab_promote_quick_menu` VALUES ('4', '1', '3', '1569719823');
INSERT INTO `tab_promote_quick_menu` VALUES ('6', '1', '5', '1569719828');
INSERT INTO `tab_promote_quick_menu` VALUES ('7', '1', '6', '1569719830');
INSERT INTO `tab_promote_quick_menu` VALUES ('8', '1', '7', '1569719832');
INSERT INTO `tab_promote_quick_menu` VALUES ('9', '1', '14', '1569719835');
INSERT INTO `tab_promote_quick_menu` VALUES ('10', '1', '15', '1569719839');
INSERT INTO `tab_promote_quick_menu` VALUES ('11', '1', '12', '1569719849');
INSERT INTO `tab_promote_quick_menu` VALUES ('12', '1', '13', '1569719852');
INSERT INTO `tab_promote_quick_menu` VALUES ('14', '1', '8', '1569719866');
INSERT INTO `tab_promote_quick_menu` VALUES ('15', '1', '9', '1569719870');
INSERT INTO `tab_promote_quick_menu` VALUES ('16', '1', '10', '1569719877');
INSERT INTO `tab_promote_quick_menu` VALUES ('18', '1', '1', '1569720739');

@ -35,7 +35,7 @@ input:-webkit-autofill{background-color:#ECF5FA;background-image: none;-webkit-b
.logintop ul li a:hover{color:#fff;}
.loginbody{background:url(../images/loginbg3.png) no-repeat center center; width:100%; height:585px; overflow:hidden; position:absolute; top:47px;}
.systemlogo{background:url(../images/loginlogo.png) no-repeat center;width:100%; height:71px; margin-top:75px;}
.systemlogo{/*background:url(../images/loginlogo.png) no-repeat center;*/width:100%; height:71px; margin-top:75px;}
.loginbox{width:500px; height:336px;height:356px; position:absolute;left:0;right:0;background:#FFF;margin:50px auto 0;border-radius:5px;box-shadow:1px 1px 14px rgba(0,0,0,.4);}
.loginbox .wrap {padding:0 50px;}
.loginbox h3 {overflow:hidden;clear:both;height:80px;line-height:90px;}

@ -0,0 +1,136 @@
/* index */
.promote-index-overview ul{width: 100%;float:left;}
.promote-index-overview li {background:#FFF;border-radius:3px;float:left;width:23.33%;height:120px;position: relative;border: 1px solid #E3E8EC;}
.promote-index-overview li~li{margin-left:2%;}
.promote-index-overview .index-user {text-align:center;}
.promote-index-overview .index-user img {border-radius:100%;width:66px;height:66px;padding-top:12px;}
.promote-index-overview .index-user p {margin:8px 0 0;}
.promote-index-overview .icon {width:40px;height:40px;position:absolute;top:50%;margin-top:-34px;left: 22%;}
.promote-index-overview .icon img{width: 100%;height: 100%;}
.promote-index-overview .text {font-size:16px;color:#555;/* text-align:center; */padding-top:33px;padding-left: 140px;}
.promote-index-overview .text p {margin-bottom:6px;color: #6A7082;}
.promote-index-overview .text span {font-size:18px;color: #99B1CB;}
.promote-index-list{background: #fff;margin-top: 2.4vh;border-radius: 3px;padding: 10px;height: auto;position: relative;border: 1px solid #E3E8EC;}
.promote-index-list .trunk-title-main{font-size: 16px;color: #6A7082;font-weight: 600;height: 40px;border-bottom: 1px solid #ddd;}
.promote-index-list .trunk-title-main span{vertical-align: middle;}
.promote-index-list .trunk-content{padding-top: 1%;}
.promote-index-list .trunk-content ul{min-height: 44vh;}
.promote-index-list .trunk-content ul li{border-top: 1px solid #F3F5F9;padding: 1vh;}
.promote-index-list .trunk-content ul li:nth-child(2n-1){background: #FAFAFC;}
.index-tab-list ul{width: 100%;position: relative;column-count:1;margin-top: 20px;}
.index-tab-list li {background:#FFF;border-radius:3px;width:48.8%;height:350px;position: relative;border: 1px solid #E3E8EC;display: inline-block;vertical-align: middle}
.index-tab-list li:last-child{margin-left:1.7%;}
.trunk-content article {margin-top:0!important;}
.trunk-content{margin-top: 0!important;}
.qcl-box{font-size: 14px;}
.qcl-box-hand{height: 45px;line-height: 35px;margin: 10px;border-bottom: 1px solid #ddd}
.qcl-tit{font-size: 16px;color: #6A7082;font-weight: 600}
.qcl-bnt{text-align: center;margin-top: -10px}
.qcl-bnt ul{width: 100%;float:left;}
.qcl-bnt li {background:#FFF;border-radius:3px;float:left;width:17%;height:115px;position: relative;border: 0;margin-bottom: 20px}
.qcl-bnt li{margin-left:2%;}
.qcl-bnt li span{display: block;}
.qcl-bnt li span:first-child{height: 80px;width: 80px;margin: auto}
.qcl-bnt li span:first-child img{height: 80px;width: 80px}
.qcl-bnt li span:last-child{height: 30px;line-height: 30px}
.more{display: block;float: right;padding-top: 10px;font-size: 14px;color: #4A90F0}
.more:hover{color:#26C7DB}
.fxui-tab {font-size: 14px;}
.fxui-tab-hand{height: 45px;line-height: 35px;margin: 10px;border-bottom: 1px solid #ddd}
.fxui-tab-tit{display: block;float: left;font-size: 14px;height: 35px;line-height: 35px;cursor: pointer;border: 1px solid #ddd;}
.fxui-tab-tit a{display: block;height: 35px;line-height: 35px;padding: 0 20px ;}
.fxui-tab-tit:first-child{border-bottom-left-radius:3px;border-top-left-radius: 3px}
.fxui-tab-tit:last-child{border-bottom-right-radius:3px;border-top-right-radius: 3px}
.fxui-tab-hand .curr {background: #26C7DB;color: #fff;border: 1px solid #26C7DB}
.fxui-tab-nav {padding: 15px;height: 280px;margin-top: -10px}
.fxui-tab-nav p{height: 50px;line-height: 50px;border-bottom: 1px solid #ddd}
.fxui-tab-nav p span:first-child{width: 80%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;display: inline-block}
.fxui-tab-nav p span:last-child{float: right;width: 15%;display: inline-block;text-align: right}
#pagechange{
margin-right: 20px;
}
/*.article-type{vertical-align: middle;padding-right: 10px;}
.article-title{width: 400px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;display: inline-block;vertical-align: middle;color: #515974;font-size: 13px;}
.article-title:hover{color: #26c7db;}
.article-time{vertical-align: middle;font-size: 13px;color: #a5a6bb;}*/
.page-overview{width: 100%;}
@media screen and (max-width: 1440px) {
.promote-index-overview .icon {left: 12%;}
.promote-index-overview li{width:23.33%;}
}
@media screen and (max-width: 1430px) {
.promote-index-overview .icon {left: 12%;}
.promote-index-overview li{width:48.7%;;margin-bottom: 20px}
.promote-index-overview li:nth-of-type(odd){ margin-left: 0;margin-right: 2%}
.promote-index-overview li:nth-of-type(even){margin-left: 0;margin-right: 0}
.promote-index-overview li:nth-child(3){margin-bottom: 0}
.promote-index-overview li:nth-child(4){margin-bottom: 0}
}
@media screen and (max-width: 900px) {
.promote-index-overview .icon {left: 12%;}
.promote-index-overview li{width:48.7%;margin-bottom: 20px}
.promote-index-overview li:nth-of-type(odd){ margin-left: 0;margin-right: 2%}
.promote-index-overview li:nth-of-type(even){margin-left: 0;margin-right: 0}
.promote-index-overview li:nth-child(3){margin-bottom: 20px!important;}
.promote-index-overview li:nth-child(4){margin-bottom: 0}
}
.promote-index-overview ul{width: 100%;float:left;}
.promote-index-overview li {background:#FFF;border-radius:3px;float:left;width:23.33%;height:120px;position: relative;border: 1px solid #E3E8EC;}
.promote-index-overview li~li{margin-left:2%;}
.page-list .trunk-search .tab a{display: inline-block;width: 140px;height: 40px;text-align: center;line-height: 40px;font-size: 14px;background:#F6F7F9;color: #535875;}
.tab-bnt{clear:both;display: flex;}
.tab-bnt div{width: 100px;height: 35px;line-height: 35px;display: inline-block;border: 1px solid #ddd;text-align: center;cursor:pointer}
.tab-bnt div:first-child{border-top-left-radius: 3px;border-bottom-left-radius: 3px;}
.tab-bnt div:last-child{border-top-right-radius: 3px;border-bottom-right-radius: 3px;}
.tab-bnt .curr{background: #26C7DB;color: #fff;border: 1px solid #26C7DB;}
.page-list .trunk-search .tab td {border:1px solid #ddd;display: inline-block;margin-right: -5px;}
.page-list .trunk-search .tab td.first_border{border-top-left-radius: 3px;border-bottom-left-radius: 3px;}
.page-list .trunk-search .tab td.last_border{border-top-right-radius: 3px;border-bottom-right-radius: 3px;}
.page-list .trunk-search .tab td.current {border-color:#26C7DB;}
.page-list .trunk-search .tab td.current a{background: #26C7DB;color:#FFF;}
.page-list .tabpan {display:none;}
.page-list .tabpan.current {display:block;}
.baseInfo{margin-top: 1%;}
.trunk-list .table2 tr{height: 54px;}
.trunk-list .table2 .l {text-align:right;color: #8B8CA0;width: 95px;}
.trunk-list .table2 .l .req {color:red;display:inline-block;width:10px;text-align:center;}
.trunk-list .table2 .r {padding-left:15px;color: #535875;}
.trunk-list .table2 .r .formtxt {padding:0 10px;}
.trunk-list .table2 .r input[type=text] {width: 230px;height: 32px;padding-left: 10px; border: 1px solid #E5E5E5;border-radius: 4px;line-height: 32px;color: #535875;}
.trunk-list .table2 .r input[type=password] {width: 230px;height: 32px;padding-left: 10px; border: 1px solid #E5E5E5;border-radius: 4px;line-height: 32px;color: #535875;}
.trunk-list .table2 .r .radio-item {margin-right: 10px;}
.trunk-list .table2 .r .tj{width: 118px;height: 36px;line-height:36px;background: #26C7DB;color: #fff;border-radius: 4px;border: none;padding: 0;}
.trunk-list .table2 .r .tj:hover{background: #2bd8ed;}
.trunk-list .table2 .r .tj.disabled {background:#CCC;}
.trunk-list .table2 .r .back_btn{width: 118px;height: 36px;line-height:36px;background: #E5E5E5;color: #8B8CA0;border-radius: 4px;display: inline-block;text-align: center;margin-left: 20px;}
.table2 .form-radio label {position:relative;margin-right:20px;cursor:pointer;}
.table2 .form-radio input {cursor:pointer;width:14px;height:14px;display:inline-block;position:absolute;top:0;left:0;margin:0;margin-top:2px;opacity:0;}
.table2 .form-radio i {width:14px;height:14px;display:inline-block;vertical-align:middle;margin-top:-2px;margin-right:5px;background:url(../../images/20180207/icon_normal_weixuanze.png) ;}
.table2 .form-radio i.current {background-image:url(../../images/20180207/icon_xuanze.png);}
.page-list .trunk-search {padding-bottom: 20px;}
.promote-mychlid-list form a.btn {display:inline-block;width:135px;height:36px;line-height: 36px; text-align:center;background: #3A97FF;color: #fff;border-radius: 4px;}
.promote-mychlid-list form a.btn:hover{background: #449DFF;}
.promote-mychlid-list form a .add_qudao{width: 20px;height: 20px;display: inline-block;vertical-align: middle;margin-right: 5px;background: url(../../images/20180207/icon_normal_tianjia.png) no-repeat;}
.promote-mychlid-list .form-group .txt{width: 180px;height: 34px;}
.border_normal{border-top: 1px dashed #E3E3E3;}
.border_normal .desccontent span{color: #6a7082;}
.border_normal .desccontent p{color: #ADAEC2;padding-top: 1.5%;}
.promote-mychlid-list .table .editbtn {color:#4A90F0;}
.promote-mychlid-list .table .editbtn:hover {color:#4ACDDF;}

@ -0,0 +1,27 @@
/*
Author : guosheng
QQ : 9169775
Email: cff20@sina.com
Date : 2013-07-25
*/
$.fn.extend({
fxuiTab:function(opt){
//做插件首先是传进来的对象也就是this进行each这样子一个页面上多个区块都可以使用啦
return this.each(function() {
//说说Var的事变量之前肯定是用var的这样子就不会变成全局变量和别的方法冲突了然后最只用一个Var,然后用","分开即可。
var t = $(this),//t就是$(this)因为Jquery里$(this)很多我们可以把这个t选存起来后面好多地方可以用。
o = opt || {}, //如果使用者没有参给o设一个空的对象。
tit = o.tit || t.find('.fxui-tab-tit'), //标签点击的对象。
nav = o.nav || t.find('.fxui-tab-nav'), //内容显示的对象。
evt = o.evt || 'click',//事件可以为click,hover或是mouseover。
eq = o.eq || 0; //初始化的时候可以默认显示第几块。不传值显示第一个。
tit.bind(evt,function(){ //通过bind 传这个evt,事件就可以变动了不一定只是click事件了。
$(this).addClass('curr').siblings(tit).removeClass('curr');//处理标签头加当前的Class样式通过css改变
nav.eq(tit.index($(this))).show().siblings('.fxui-tab-nav').hide();//内容块显示。
}).hover(function(){
$(this).addClass('fxui-tab-hover').siblings(tit).removeClass('fxui-tab-hover'); //标签的tit移上去的时候加一个样式这样子这个标签头可以有默认hover和curr三种状态。
});
evt === 'click' ? tit.eq(eq).click() :tit.eq(eq).mouseover(); //初始化,当前是第几个
})
}
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,68 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = global || self, factory(global.zh = {}));
}(this, function (exports) { 'use strict';
var fp = typeof window !== "undefined" && window.flatpickr !== undefined
? window.flatpickr
: {
l10ns: {}
};
var Mandarin = {
weekdays: {
shorthand: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
longhand: [
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
]
},
months: {
shorthand: [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月",
],
longhand: [
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月",
]
},
rangeSeparator: " 至 ",
weekAbbreviation: "周",
scrollTitle: "滚动切换",
toggleTitle: "点击切换 12/24 小时时制"
};
fp.l10ns.zh = Mandarin;
var zh = fp.l10ns;
exports.Mandarin = Mandarin;
exports.default = zh;
Object.defineProperty(exports, '__esModule', { value: true });
}));

@ -1,10 +1,10 @@
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1568792597467'); /* IE9 */
src: url('iconfont.eot?t=1568792597467#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAP0AAsAAAAACNQAAAOlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDTgqEMINHATYCJAMcCxAABCAFhG0HYxuSB8guoRzbUSSQjOyaFDmxoqYXAF+ieKDmet9mk9x9YtWviuR5PAGqTi0AGlVJmlhiCgD3v3OZHrDb88v59tANWaEu/aS54kvTMdoDYTf2KNyE3OQU9sJg77iDec1pjXwpVocKXxtCeSMUKebPkcDpfqlCU9WAmrfAf7if6bKB8tm3uWSFRdN4PBoOKPIq6ezI7kAO/RbZHUFa9vsEVOskk0ZPzC2ijJRxLiCsYFRDmZRNWtEclAU5cG8q7JMpJ9uTq9jr/354Y3DIkMgi40NjFo2baKjwMhv3KsyIh7YN5wH3EBF9ISlhE+hbIx7m+oqrVjIJoyH1c2WJpAhFtxe9pFKhQIoQUm0oU61WvXkjQSIVZXKC/b/DjbVgCs3nFAgBgQIhoQghpBRhhMgLQMh4mdU7VGzpdD3K2I+bCN/XEOgzo9DczKgqXaheSWgHjj5rNjm0E1rBCfKLSRtOQcLCtoo6/CM0F1z14rBnBDyTEWhnuK1m+fterdnsHQKBtjLw/XSHOelIe67ZimxOqy3P6XRIV9rT7t6dcO/exAcPJt+/v8XSTAokSXHB7uXBBOnysfeL1vKZsc2Ta1L/5Oiod5/cmr5Ul5BvCDVgyC7ZlW+T568+/xq+9nqutv+3rXrPsF6+by1Udn5+M1aKT+cWpjhYS4u35+e5LS6c7fepORU1RcW2uhL2ptrezj2Iv3/TTLErcVRxW80DTsdbtyJWn6YSrKJldo/5sPu8+dr/vcGHlp6MfNmItiBUnnTGYZ8ar/AkP6O5YhEXQWJiGP4D/I29H9c8u6HvW5kUPNqHNhqtSHWTvUW9xvLXLW84lapKw15K5cH2UQElQ8W5eRbV5gIvOtTsczhDW+NGgrK2GBIlXSAq64pO8X0hU2Mo5MqGQbU+Jh+u0YKLC2kVejtGEDR6hES9ixA1eken+A/ItPuBXGOIQ7VJoeuZNboHlhvloAkwsb6OmeF7xHKKXNA8DzRyNJ5U+txl4CFL4momly1Oggd8iBvCFVoTgmDCfRdPoI+B4/g44H4DDFGyhAh6ytkK9E0lw3dRzigc0AjAhOnWYYzB5yHuciGX+/l5gIo4NLyiryK6DHAhtjlWVVJpgJ7UeY36LmV3aAVVIwiEniI4nwubwB7gmDkfFsCHGoBBKLE6ZAI9ymQeaaorTW9w7/MKVDO+XApJiCENWchDKZTlizTPiliagkfNyE8nn1tN0UjzdJYPnChUDMYNB5IcGO86QgAAAA==') format('woff2'),
url('iconfont.woff?t=1568792597467') format('woff'),
url('iconfont.ttf?t=1568792597467') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1568792597467#iconfont') format('svg'); /* iOS 4.1- */
src: url('iconfont.eot?t=1569546352126'); /* IE9 */
src: url('iconfont.eot?t=1569546352126#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAUAAAsAAAAAC3wAAASyAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEFgqILIY9ATYCJAMsCxgABCAFhG0HgS8brAkRFaQrkP08sG0eW1ljTcMvS4sUj54tD9Mwzf8cBPRb+rPsQgiXkxipm19TV6iq/oo41J7qBQDoMfuh0uKaEcqfjzCHcvbJo297aS4r8Oj/xlydekj6p9fWy93EHdVkkng0FhokHiGJePRMyBDKcmcYnuFCHMyHIQCLbBRB1KnXpA0mCnKUAMSg9GhPTFsEFSIVmH7D50KFWIKOqc3VbgCL1b8XXyklTNDQJeRRLfrV7UMNj0/FpRNz6CKn4+SXAm6XgQSKAArEIt/MHKTeVQSJ9XkLRRcghImG4Qkvr5/Td/3Vn4rHYh5eHj+HnbFqKpkoCBEhiRR6PxuQKAx0BBpxmMTn/c8zQJ4EyJzTbYEHR5DgiRSKfrZCBAO8vAg6+DkQBPg5ETTwXYQ48FchmOCvRoiHT8UjWJAeONwGkkAUBDEJMJu4NMoUdBkUEaKbISkpOUuWhGREZWE/0hofOnUvm775fvnwybtZ1YY7Y+btQTl7A+H5+4Xu7rMmhk7cyaI23i0bPn0/u77pXocOrEhJWTHPtlfZ7Va5+3emtm2/ev7etYP7RVe7++al9FmRiib0XTl/v9sz2i/MNd8SSlnpNWHePndinz1OQf/Uete+dKRFV6/bFS6Zt8cZ2meFs3d+WjSRz85m8khLrLKtFSlw2crUgGx1mjhhVacHD9o8fNj28eP2jx6NY652GrFij3A0GBK2E2KvMTLUjo1dQno4msNyO/dZ4z5uoOjTV8x/2/aRV4YcjtPWdMy2jrrlnv9DiSGHt6SMDH/90jYxUSpHqZYJLXOVzDnFnZuplLOmX/rnr2sy5oonxZxDiHtcxjXr1+/Lln2/HLImY+mMfPOjrBVlmsOdk+msIr3Hnr/ev8a4i2fG2j9uDsoN+l+4tm+KR+z01i3ns4/JeW7LVoq1TaM592/d4tqB05vXrDF6lOhhYMzXlzB62MZd2nJR/ftvXqRYEuEwx+374hvl3bsSOjdiAh24Qv3uw7Kw4FSxQ29aP5Unyz5eQkj4XIubS/zmwhY/LNxK2/3bw3lF+vp8Xu7RTL0CEHvtLTKHqryibLIm39cUjvannN61Tnqynx9Grhqw70cvkRHsFUuvLTO/NXK7h6v89hBQADw97g6D5ZijyMeykXqJbd2arTGXqK+dWPJYEH4IAghQBrlMU2DRVbAtF5J4lb8vNfZIEJikmqARR1aQmOShKmYRj16CFYKBSXWwKEz9ywMkMwKJUPFAIWYCEEQ4DBohLoMkwk2qYr4EHZvvwCAiJFi0E8k3DJAPLfjpLaOouIA8AavgNYvXJ230N1KzIlvtqvwfc+E6TP3o7P1CjzmPU8qe5lo16BwcfILHobUBYg47VLVfa43bYdB+H9Sr4C6e4i2jqLgA8gSwCl7L1vXJ9fvfSM2KHDLjx/Qfc+HtAxM9Ywzql8fHmrEuE8ueZirq0IC+jQwO+EQptLQrANF/vx2q2rOm6IhbBrSSjuvpy/e56W0/VWYh3/yMMEnRDIfLY/nx2k94OrKnA/KxCX9eg6eNh+PRodnau/eBa+N7Qk9LC/e/1HRHEW4h+TnaVjrFWVl8cew/w0pqIqOn9eW8ZZ3Rni4uAAA=') format('woff2'),
url('iconfont.woff?t=1569546352126') format('woff'),
url('iconfont.ttf?t=1569546352126') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1569546352126#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
@ -15,6 +15,14 @@
-moz-osx-font-smoothing: grayscale;
}
.iconfangxingweixuanzhong:before {
content: "\e720";
}
.iconfangxingxuanzhongfill:before {
content: "\e721";
}
.iconfanhui:before {
content: "\e600";
}
@ -35,6 +43,14 @@
content: "\e781";
}
.iconminus-square:before {
content: "\e796";
}
.iconplus-square:before {
content: "\e797";
}
.iconreply:before {
content: "\e82f";
}

File diff suppressed because one or more lines are too long

@ -20,6 +20,12 @@ Created by iconfont
/>
<missing-glyph />
<glyph glyph-name="fangxingweixuanzhong" unicode="&#59168;" d="M832-32.00086l-640 0c-52.9288 0-96.00086 43.07206-96.00086 95.99914l0 640c0 52.9288 43.07206 96.00086 96.00086 96.00086l640 0c52.92708 0 95.99914-43.07206 95.99914-96.00086l0-640C928.00086 11.0712 884.9288-32.00086 832-32.00086zM192 735.99914c-17.632039 0-32.00086-14.368821-32.00086-32.00086l0-640c0-17.664722 14.368821-31.99914 32.00086-31.99914l640 0c17.664722 0 31.99914 14.336138 31.99914 31.99914l0 640c0 17.632039-14.336138 32.00086-31.99914 32.00086L192 735.99914z" horiz-adv-x="1024" />
<glyph glyph-name="fangxingxuanzhongfill" unicode="&#59169;" d="M832 799.99914l-640 0c-52.9288 0-96.00086-43.07206-96.00086-96.00086l0-640c0-52.92708 43.07206-95.99914 96.00086-95.99914l640 0c52.92708 0 95.99914 43.07206 95.99914 95.99914l0 640C928.00086 756.9288 884.9288 799.99914 832 799.99914zM727.231286 457.567746 471.00766 198.560839c-0.063647-0.063647-0.192662-0.096331-0.25631-0.192662-0.096331-0.063647-0.096331-0.192662-0.192662-0.25631-2.048757-1.983389-4.575729-3.19957-6.944443-4.544765-1.183497-0.672598-2.143368-1.696116-3.392232-2.176052-3.839484-1.536138-7.904314-2.33603-11.967424-2.33603-4.095794 0-8.224271 0.799892-12.096439 2.399677-1.279828 0.543583-2.303346 1.632469-3.519527 2.303346-2.368714 1.343475-4.832039 2.528692-6.880796 4.544765-0.063647 0.063647-0.096331 0.192662-0.159978 0.25631-0.063647 0.096331-0.192662 0.096331-0.25631 0.192662l-126.016611 129.503454c-12.320065 12.672705-12.032791 32.928047 0.639914 45.248112 12.672705 12.287381 32.895364 12.063755 45.248112-0.639914l103.26354-106.112189 233.279613 235.808305c12.416396 12.576374 32.704421 12.672705 45.248112 0.25631C739.520387 490.368499 739.647682 470.111437 727.231286 457.567746z" horiz-adv-x="1024" />
<glyph glyph-name="fanhui" unicode="&#58880;" d="M532.526499-8.817574L139.506311 384.202615 532.526499 777.222803c12.258185 12.258185 12.432147 32.892131-0.187265 45.51052-12.707416 12.707416-32.995485 12.703323-45.511543 0.187265L75.166957 411.260877c-7.120165-7.120165-10.163477-17.065677-8.990768-26.624381-1.500167-9.755178 1.5104-20.010753 8.990768-27.491121l411.660734-411.660734c12.258185-12.258185 32.892131-12.432147 45.511543 0.187265 12.707416 12.707416 12.7023 32.995485 0.187265 45.51052z" horiz-adv-x="1024" />
@ -35,6 +41,12 @@ Created by iconfont
<glyph glyph-name="plus-circle" unicode="&#59265;" d="M696 416H544V568c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-152H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152v-152c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8V352h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8zM512 832C264.6 832 64 631.4 64 384s200.6-448 448-448 448 200.6 448 448S759.4 832 512 832z m0-820c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372z" horiz-adv-x="1024" />
<glyph glyph-name="minus-square" unicode="&#59286;" d="M328 352h368c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8zM880 784H144c-17.7 0-32-14.3-32-32v-736c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32V752c0 17.7-14.3 32-32 32z m-40-728H184V712h656v-656z" horiz-adv-x="1024" />
<glyph glyph-name="plus-square" unicode="&#59287;" d="M328 352h152v-152c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8V352h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H544V568c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-152H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8zM880 784H144c-17.7 0-32-14.3-32-32v-736c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32V752c0 17.7-14.3 32-32 32z m-40-728H184V712h656v-656z" horiz-adv-x="1024" />
<glyph glyph-name="reply" unicode="&#59439;" d="M398.208 593.088V832L0 413.888l398.208-418.176V240.64c284.48 0 483.584-95.552 625.792-304.64-56.896 298.688-227.584 597.312-625.792 657.088z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Loading…
Cancel
Save