4.22号功能提交

master
zhengyongxing 4 years ago
parent a5aa8ef744
commit d314e6164a

@ -0,0 +1,99 @@
<?php
namespace Admin\Controller;
class RechargeSumOtherController extends ThinkController
{
public function summation($p = 1)
{
$startDateTime = empty($_REQUEST['timeStart']) ? date('Y-m-d', strtotime('-6 day', time())) : $_REQUEST['timeStart'];
$endDateTime = empty($_REQUEST['timeEnd']) ? date('Y-m-d') : $_REQUEST['timeEnd'];
$_GET['timeStart'] = $startDateTime;
$_GET['timeEnd'] = $endDateTime;
if(!array_key_exists("timeStart",$_REQUEST)){
$this->redirect(ACTION_NAME, array('timeStart' => date('Y-m-d',strtotime('-7 day')),"timeEnd"=>date('Y-m-d')));
}
$total = ['current' => 0, 'sum' => 0];
$map['date'] = array('BETWEEN', array($startDateTime, $endDateTime));
$_REQUEST['game_name'] ? ($map['game_name'] = $_REQUEST['game_name']) :'';
$data = M("recharge_text","tab_")->where($map)->order("date desc")->select();
if (isset($_REQUEST['row'])) {
$row = $_REQUEST['row'];
} else {
$row = 10;
}
foreach ($data as $k => $v) {
$total['sum'] += $v['day_pay'];
}
$count = count($data);
$export_data = $data;
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);
}
//用array_slice(array,offset,length) 函数在数组中根据条件取出一段值;array(数组),offset(元素的开始位置),length(组的长度)
$data = array_slice($data, ($p - 1) * $row, $row);
foreach ($data as $k => $v) {
$total['current'] += $v['day_pay'];
}
//判断是否执行导出
if (I('export') == 1) {
//操作日志
$GetData = $_GET;
unset($GetData['xlsname']);
unset($GetData['export']);
addOperationLog(['op_type'=>3,'key'=>getNowDate(),'url'=>U('RechargeSum/summation',$GetData),'menu'=>'充值-游戏订单-充值汇总-导出']);
$this->exportSum($export_data);
}
$this->assign('showPromote', session('user_auth')['show_promote']);
$this->assign('meta_title', "充值汇总");
$this->assign('list_data', $data);
$this->assign('total', $total);
$this->assign('startDate', $startDateTime);
$this->assign('endDate', $endDateTime);
$this->assign("is_admin",is_administrator());
$this->m_title = '充值汇总';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'RechargeSum/summation', 'status' => 1])->find());
$this->display();
}
public function exportSum($data)
{
$export = A('Export');
$exptitle = $_REQUEST['xlsname'];
$expCellName = array(
array('date', '日期'),
array('from_channel', '渠道来源'),
array('game_name', '游戏名称'),
array('new_person', '新增人数'),
array('active_person', '活跃人数'),
array('new_pay_person', "新增玩家付费"),
array('day_pay', '本日累计'),
);
if (session('user_auth')['show_promote'] == 0) {
foreach ($expCellName as $key => $row) {
if ($row[0] == 'promote_id') {
unset($expCellName[$key]);
break;
}
}
$expCellName = array_values($expCellName);
}
$expTableData = $data;
$export->exportExcel($exptitle, $expCellName, $expTableData);
}
}

@ -0,0 +1,307 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">充值查询</h3>
<p class="description_text">充值汇总:根据推广员和游戏信息,对游戏充值数据按每日进行数据汇总统计。</p>
</div>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list">
<input type="text" id="time-start" name="timeStart" class="" value="{$startDate}"
placeholder="查询开始时间"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="timeEnd" class="" value="{$endDate}"
placeholder="查询结束时间"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="game_name" name="game_name" class="select_gallery" >
<option value="">游戏名称</option>
<volist name=":getAllGame()" id="vo">
<option value="{$vo.game_name}" <?php echo $vo.relation_game_name == I('game_name') ? 'selected':''; ?> >{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('summation',array('row'=>I('row')))}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>日期</th>
<th>渠道来源</th>
<th>游戏名称</th>
<th>新增人数</th>
<th>活跃人数</th>
<th>新增玩家付费</th>
<th>本日累计付费</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name = "list_data">
<tr>
<td colspan="8" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
<else/>
<volist name="list_data" id="data">
<tr>
<td>{$data.date}</td>
<td>{$data.from_channel}</td>
<td>{$data.game_name}</td>
<td>{$data.new_person}</td>
<td>{$data.active_person}</td>
<td>{$data.new_pay_person}</td>
<td>{$data.day_pay}</td>
</tr>
</volist>
</empty>
<tr class="data_summary">
<td>汇总</td>
<td colspan="6">当页付费¥{$total.current|default=0} 累计付费¥{$total.sum}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn" href="{:U('RechargeSum/summation',array_merge(array('export'=>1,'xlsname'=>'游戏订单_充值汇总'),I('get.')))}">导出</a>
</if>
{$_page|default=''}
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="RechargeSum/summation">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
$('#bindcoin').select2({minimumResultsForSearch: -1});
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('RechargeSum/summation')}');
$(function(){
//搜索功能
$("#search").click(function(){
var sdate = Date.parse($('#time-start').val()) / 1000;
var edate = Date.parse($('#time-end').val()) / 1000;
if (sdate > edate) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
if ((edate - sdate) > 2592000) {
layer.msg('时间间隔不能超过31天请重新选择日期');
return false;
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
$(".paixu").click(function(){
var that=$(this);
$data_order=that.attr('data-order');
$order_type='{$userarpu_order}';
if($order_type==''||$order_type=='4'){
$(".sortBy").attr('name','data_order');
val='3,'+$data_order;
$(".sortBy").attr('value',val);
$("#search").click();
}else if($order_type=='3'){
$(".sortBy").attr('name','data_order');
val='4,'+$data_order;
$(".sortBy").attr('value',val);
$("#search").click();
}
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
$("#admin").on('click',function(event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$(this).find('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
$('#admin #i_list_id').on('keyup',function(event) {
var val = $.trim($(this).val()).toLowerCase();
$(this).closest('.drop-down').find('#i_list_idh').val(val);
});
$("#admin #i_list_li").find("a").each(function(){
$(this).click(function(){
var text = $.trim($(this).text()).toLowerCase();
$(this).closest('.drop-down').find("#i_list_id").val(text);
$(this).closest('.drop-down').find('#i_list_idh').val(text);
})
});
//下拉内容框
$(".drop-down2").on('click',function(event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
/* 状态搜索子菜单 */
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
var promote_id = "{:I('promote_id')}";
console.log(promote_id);
$("#promote_level").change(function(){
$.ajax({
url:"{:U('Ajax/getPromotersByLevelOther')}",
type:"get",
data:{level:$("#promote_level option:selected").val()},
dataType:'json',
success:function(response){
str = '<option value="">请选择推广员</option>' +
// '<option value="0"'+(promote_id && 0 == promote_id?'selected':'')+'>官方渠道</option>' +
'';
// $.each(response.data, function(index, item){
// console.log(item.id);
// str += '<option value="'+item.id+' '+(promote_id && item.id == promote_id?'selected':'')+'">'+item.nickname+'</option>';
// });
data = response.data;
for (var i in data){
str += "<option value='"+data[i].id+"' "+(promote_id && data[i].id == promote_id?'selected':'')+">"+data[i].nickname+"</option>"
}
$("#promote_id").empty();
$("#promote_id").append(str);
$("#promote_id").select2();
}
})
});
$("#promote_level").change();
var server_id = "{:I('server_id')}";
$("#game_type").change(function(){
$.ajax({
url:"{:U('Ajax/getGmeServer')}",
type:"post",
data:{sdk_version:$("#game_type option:selected").val(), game_name:$("#game_name option:selected").val()},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_id+"' "+(server_id && data[i].server_id == server_id?'selected':'')+">"+data[i].server_name+"</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
$("#game_name").change(function(){
$("#game_type").change();
});
$("#game_name").change();
})
</script>
</block>
Loading…
Cancel
Save