财务管理功能添加
parent
7e37560efe
commit
112316c395
@ -0,0 +1,211 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
|
||||
|
||||
class FinanceController extends ThinkController
|
||||
{
|
||||
|
||||
function index($p = 1) {
|
||||
//总流水查询
|
||||
$allField = "";
|
||||
$page = intval($p);
|
||||
$page = $page ? $page : 1; //默认显示第一页数据
|
||||
$row=10;
|
||||
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
|
||||
|
||||
$map = [];
|
||||
if(!empty(I('count_date'))){
|
||||
$map['count_date']=I('count_date');
|
||||
}
|
||||
|
||||
if (!empty(I('game_id'))) {
|
||||
$map['game_id']=I('game_id');
|
||||
}
|
||||
if (!empty(I('collaborate_id'))) {
|
||||
$map['collaborate_id']=I('collaborate_id');
|
||||
}
|
||||
|
||||
// $data = M("spend_count","tab_")
|
||||
// ->field("count_date,cash_count,balance_coin_count,inside_cash_count,all_cash_count")
|
||||
// ->where($map)
|
||||
// ->page($page,$row)
|
||||
// ->group("count_date")
|
||||
// ->select();
|
||||
if (empty(I('game_id'))) {
|
||||
$field = "count_date,sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,
|
||||
sum(inside_cash_count) as inside_cash_count,sum(cash_count+balance_coin_count+inside_cash_count) as all_cash_count";
|
||||
$allField = "cash_count+balance_coin_count+inside_cash_count";
|
||||
$InsideField = "inside_cash_count";
|
||||
} else {
|
||||
$field = "count_date,sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,
|
||||
sum(bind_coin_count) as inside_cash_count,sum(cash_count+balance_coin_count+bind_coin_count) as all_cash_count";
|
||||
$allField = "cash_count+balance_coin_count+bind_coin_count";
|
||||
$InsideField = "bind_coin_count";
|
||||
}
|
||||
$group = "count_date";
|
||||
$order = "id DESC";
|
||||
$data = D("spend_count")->getSpendCountData($map,$field,$group,$order,$page,$row);
|
||||
|
||||
$sumCash = D("spend_count")->sumSpendCountField($map,"cash_count");
|
||||
$sumBalance = D("spend_count")->sumSpendCountField($map,"balance_coin_count");
|
||||
$sumInside = D("spend_count")->sumSpendCountField($map,$InsideField);
|
||||
$sumAll = D("spend_count")->sumSpendCountField($map,$allField);
|
||||
|
||||
$count = D("spend_count")->getSpendCountData($map,$field,$group,$order);
|
||||
$count = count($count);
|
||||
$page = set_pagination($count,$row);
|
||||
if($page) {$this->assign('_page', $page);}
|
||||
|
||||
$this->assign('sumCash',$sumCash);
|
||||
$this->assign('sumBalance',$sumBalance);
|
||||
$this->assign('sumInside',$sumInside);
|
||||
$this->assign('sumAll',$sumAll);
|
||||
|
||||
$this->assign('data',$data);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
function gameFinance($p = 1) {
|
||||
$page = intval($p);
|
||||
$page = $page ? $page : 1; //默认显示第一页数据
|
||||
$row=10;
|
||||
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
|
||||
|
||||
$map = [];
|
||||
if(!empty(I('count_date'))){
|
||||
$map['count_date']=I('count_date');
|
||||
}
|
||||
|
||||
// if (!empty(I('game_id'))) {
|
||||
// $map['game_id']=I('game_id');
|
||||
// }
|
||||
// if (!empty(I('collaborate_id'))) {
|
||||
// $map['collaborate_id']=I('collaborate_id');
|
||||
// }
|
||||
|
||||
// $data = M("spend_count","tab_")
|
||||
// ->field("count_date,cash_count,balance_coin_count,inside_cash_count,all_cash_count")
|
||||
// ->where($map)
|
||||
// ->page($page,$row)
|
||||
// ->group("game_id")
|
||||
// ->select();
|
||||
|
||||
|
||||
$field = "count_date,sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,
|
||||
sum(bind_coin_count) as inside_cash_count,sum(cash_count+balance_coin_count+bind_coin_count) as all_cash_count,game_name,game_id,collaborate_name";
|
||||
|
||||
$group = "game_id";
|
||||
$order = "id DESC";
|
||||
$data = D("spend_count")->getSpendCountData($map,$field,$group,$order,$page,$row);
|
||||
|
||||
$sumCash = D("spend_count")->sumSpendCountField($map,"cash_count");
|
||||
$sumBalance = D("spend_count")->sumSpendCountField($map,"balance_coin_count");
|
||||
$sumInside = D("spend_count")->sumSpendCountField($map,"bind_coin_count");
|
||||
$sumAll = D("spend_count")->sumSpendCountField($map,"cash_count+balance_coin_count+bind_coin_count");
|
||||
|
||||
$count = D("spend_count")->getSpendCountData($map,$field,$group,$order);
|
||||
|
||||
$count = count($count);
|
||||
$page = set_pagination($count,$row);
|
||||
if($page) {$this->assign('_page', $page);}
|
||||
|
||||
$this->assign('sumCash',$sumCash);
|
||||
$this->assign('sumBalance',$sumBalance);
|
||||
$this->assign('sumInside',$sumInside);
|
||||
$this->assign('sumAll',$sumAll);
|
||||
|
||||
$this->assign('data',$data);
|
||||
|
||||
$this->display();
|
||||
|
||||
}
|
||||
|
||||
function gameFinanceDetail($p = 1) {
|
||||
|
||||
$page = intval($p);
|
||||
$page = $page ? $page : 1; //默认显示第一页数据
|
||||
$row=10;
|
||||
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
|
||||
|
||||
if (!empty(I("count_date"))) {
|
||||
$month = I("count_date");
|
||||
} else {
|
||||
$this->error('月份不能为空');
|
||||
}
|
||||
|
||||
$startTime = strtotime(date("Y-m-01",strtotime($month)));
|
||||
$endTime = strtotime(date("Y-m-t",strtotime($month)));
|
||||
|
||||
$map['pay_time'] = array('between',array($startTime,$endTime));
|
||||
$map['pay_status'] = 1;
|
||||
if (!empty(I("game_id"))) {
|
||||
$map['game_id'] = I("game_id");
|
||||
}
|
||||
if (!empty(I('user_account'))) {
|
||||
$map['user_account'] = I("user_account");
|
||||
}
|
||||
if (!empty(I('user_nickname'))) {
|
||||
$map['user_nickname'] = I("user_nickname");
|
||||
}
|
||||
|
||||
$field = "pay_order_number,FROM_UNIXTIME(pay_time) as pay_time,user_account,game_name,promote_account,spend_ip,server_name,game_player_name,pay_amount,cost,pay_way";
|
||||
$group = "";
|
||||
$order = "pay_time DESC";
|
||||
$data = D('spend')->getSpendData($map,$field,$group,$order,$page,$row);
|
||||
|
||||
foreach($data as $key => $value) {
|
||||
$data[$key]['pay_way'] = $this->getPayType($value['pay_way']);
|
||||
}
|
||||
|
||||
$sum = D('spend')->sumSpend($map,'pay_amount');
|
||||
|
||||
$this->assign('data',$data);
|
||||
$this->assign('sum_amount',$sum);
|
||||
|
||||
$this->display();
|
||||
|
||||
}
|
||||
|
||||
public function getPayType($type) {
|
||||
|
||||
$return = '';
|
||||
|
||||
switch ($type) {
|
||||
case -1:
|
||||
$return = '绑币';
|
||||
break;
|
||||
case 0:
|
||||
$return = '平台币';
|
||||
break;
|
||||
case 1:
|
||||
$return = '支付宝';
|
||||
break;
|
||||
case 2:
|
||||
$return = '微信(扫码)';
|
||||
break;
|
||||
case 3:
|
||||
$return = '微信app';
|
||||
break;
|
||||
case 4:
|
||||
$return = '威富通';
|
||||
break;
|
||||
case 5:
|
||||
$return = '聚宝云';
|
||||
break;
|
||||
case 6:
|
||||
$return = '竣付通';
|
||||
break;
|
||||
default:
|
||||
$return = '未知';
|
||||
break;
|
||||
}
|
||||
return $return;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | OneThink [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace Admin\Model;
|
||||
use Think\Model;
|
||||
|
||||
/**
|
||||
* 分类模型
|
||||
*/
|
||||
class SpendCountModel extends Model{
|
||||
/**
|
||||
* 构造函数
|
||||
* @param string $name 模型名称
|
||||
* @param string $tablePrefix 表前缀
|
||||
* @param mixed $connection 数据库连接信息
|
||||
*/
|
||||
public function __construct($name = '', $tablePrefix = '', $connection = '') {
|
||||
/* 设置默认的表前缀 */
|
||||
$this->tablePrefix ='tab_';
|
||||
/* 执行构造方法 */
|
||||
parent::__construct($name, $tablePrefix, $connection);
|
||||
}
|
||||
/**
|
||||
* 获取统计 $map,$page,$row
|
||||
*/
|
||||
public function getSpendCountData($map=[],$field='',$group='',$order='',$page = 0,$row = 0) {
|
||||
if ($row == 0) {
|
||||
$data = $this->field($field)->where($map)->group($group)->order($order)->select();
|
||||
} else {
|
||||
$data = $this->field($field)->where($map)->page($page,$row)->group($group)->order($order)->select();
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
/**
|
||||
* 获取某个字段的总和 $map,$field
|
||||
*/
|
||||
public function sumSpendCountField($map,$field) {
|
||||
$sum = $this->where($map)->sum($field);
|
||||
return $sum;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,218 @@
|
||||
<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">{$_REQUEST['count_date']}月结统计</h3>
|
||||
<p class="description_text"></p>
|
||||
</div>
|
||||
|
||||
<div class="cf top_nav_list">
|
||||
|
||||
<!-- 高级搜索 -->
|
||||
<div class="jssearch fl cf search_list">
|
||||
<!--游戏类型搜索END-->
|
||||
|
||||
<div class="input-list">
|
||||
<a class="sch-btn" href="javascript:;" onclick="javascript:history.back(-1);" style="background:#fff;color: #000;border: #000 solid 1px;width: 100px">返回</a>
|
||||
<a class="sch-btn" href="{:U('Export/exportGameFinance',
|
||||
array('count_date'=>$_GET['count_date'],false))}" style="width: 100px;border: #3C95C8 solid 1px;">导出</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>
|
||||
<style>
|
||||
.data-table thead th, .data-table tbody td{text-align:center}
|
||||
.data-table tbody td{border-right:1px solid #DDDDDD;}
|
||||
.d_list .drop-down ul {z-index:999;}
|
||||
</style>
|
||||
<if condition = "empty($data)">
|
||||
<tr>
|
||||
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
|
||||
</tr>
|
||||
</if>
|
||||
<notemtpy name = "data">
|
||||
<volist name="data" id="data">
|
||||
<tr>
|
||||
<td >{$data.game_name}</td>
|
||||
<td >{$data.collaborate_name}</td>
|
||||
<td >{$data.cash_count}</td>
|
||||
<td >{$data.balance_coin_count}</td>
|
||||
<td >{$data.inside_cash_count}</td>
|
||||
<td >{$data.all_cash_count}</td>
|
||||
<td >
|
||||
<a href="{:U('Finance/gameFinanceDetail',
|
||||
array('count_date'=>$_REQUEST['count_date'],'game_id'=>$data['game_id']))}" >查看</a>
|
||||
</td>
|
||||
</tr>
|
||||
</volist>
|
||||
<tr>
|
||||
<td colspan="2" ><span>总计</span></td>
|
||||
<td ><span><if condition="$sumCash neq ''">{$sumCash}<else/>0</if></span></td>
|
||||
<td><if condition="$sumBalance neq ''">{$sumBalance}<else/>0</if></td>
|
||||
<td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td>
|
||||
<td><if condition="$sumAll neq ''">{$sumAll}<else/>0</if></td>
|
||||
<td>
|
||||
<a href="{:U('Finance/gameFinanceDetail',
|
||||
array('count_date'=>$_REQUEST['count_date']))}" >查看</a>
|
||||
</td>
|
||||
</tr>
|
||||
</notemtpy>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page">
|
||||
|
||||
{$_page|default=''}
|
||||
</div>
|
||||
</block>
|
||||
|
||||
<block name="script">
|
||||
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
|
||||
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
||||
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
|
||||
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
|
||||
<script type="text/javascript">
|
||||
//导航高亮
|
||||
highlight_subnav('{:U('Finance/index')}');
|
||||
$(function(){
|
||||
|
||||
//搜索功能
|
||||
$("#search").click(function(){
|
||||
var starttime = $.trim($('#time-start').val());
|
||||
var endtime = $.trim($('#time-end').val());
|
||||
|
||||
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');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;
|
||||
});
|
||||
|
||||
//回车自动提交
|
||||
$('.jssearch').find('input').keyup(function(event){
|
||||
if(event.keyCode===13){
|
||||
$("#search").click();
|
||||
}
|
||||
});
|
||||
$(".ljcz").click(function(){
|
||||
var id = $(this).attr('data-value');
|
||||
var game_name = "{:I('game_name')}";
|
||||
var server_name = "{:I('server_id')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '游戏消费记录',
|
||||
shadeClose: true,
|
||||
shade: 0.8,
|
||||
area: ['70%', '80%'],
|
||||
content: 'admin.php?s=/Platform/chongzhi_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
|
||||
});
|
||||
});
|
||||
|
||||
$("#game_id").change(function(){
|
||||
$.ajax({
|
||||
url:"{:U('Ajax/getSpendServer')}",
|
||||
type:"post",
|
||||
data:{game_id:$("#game_id option:selected").attr('game-id')},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
str = "<option value=''>请选择区服</option>";
|
||||
for (var i in data){
|
||||
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
|
||||
}
|
||||
$("#server_id").empty();
|
||||
$("#server_id").append(str);
|
||||
$("#server_id").select2();
|
||||
|
||||
}
|
||||
})
|
||||
});
|
||||
var game_id = "{:I('game_name')}";
|
||||
var game_server = "{:I('server_id')}";
|
||||
if(game_id){
|
||||
$.ajax({
|
||||
url:"{:U('Ajax/getSpendServer')}",
|
||||
type:"post",
|
||||
data:{game_id:game_id,type:2},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
str = "<option value=''>请选择区服</option>";
|
||||
for (var i in data){
|
||||
str += "<option value='"+data[i].server_name+"' "+(game_server && data[i].server_name == game_server?'selected':'')+">"+data[i].server_name+"</option>"
|
||||
}
|
||||
$("#server_id").empty();
|
||||
$("#server_id").append(str);
|
||||
$("#server_id").select2();
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</block>
|
@ -0,0 +1,228 @@
|
||||
<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">{$_REQUEST['count_date']}月结统计</h3>
|
||||
<p class="description_text"></p>
|
||||
</div>
|
||||
|
||||
<div class="cf top_nav_list">
|
||||
|
||||
<!-- 高级搜索 -->
|
||||
<div class="jssearch fl cf search_list">
|
||||
<!--游戏类型搜索END-->
|
||||
|
||||
<div class="input-list">
|
||||
<a class="sch-btn" href="javascript:;" onclick="javascript:history.back(-1);" style="background:#fff;color: #000;border: #000 solid 1px;width: 100px">返回</a>
|
||||
<a class="sch-btn" href="{:U('Export/exportGameFinance',
|
||||
array('count_date'=>$_GET['count_date'],false))}" style="width: 100px;border: #3C95C8 solid 1px;">导出</a>
|
||||
</div>
|
||||
<div class="input-list">
|
||||
|
||||
<input type="text" name="user_account" placeholder="请输入玩家账号搜索" class="" value="{:I('user_account')}"/>
|
||||
</div>
|
||||
<div class="input-list">
|
||||
|
||||
<input type="text" name="user_nickname" placeholder="请输入玩家昵称搜索" class="" value="{:I('user_nickname')}"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 数据列表 -->
|
||||
<div class="data_list">
|
||||
<div class="">
|
||||
<table>
|
||||
<!-- 表头 -->
|
||||
<thead>
|
||||
<tr>
|
||||
<th >支付订单号</th>
|
||||
|
||||
<th>充值时间</th>
|
||||
|
||||
<th >玩家账号</th>
|
||||
|
||||
<th >游戏名称</th>
|
||||
|
||||
<th >所属推广员</th>
|
||||
|
||||
<th >充值ip</th>
|
||||
|
||||
<th >游戏区服</th>
|
||||
|
||||
<th >角色名称</th>
|
||||
|
||||
<th >订单金额</th>
|
||||
|
||||
<th >实付金额</th>
|
||||
|
||||
<th >充值方式</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- 列表 -->
|
||||
<tbody>
|
||||
<style>
|
||||
.data-table thead th, .data-table tbody td{text-align:center}
|
||||
.data-table tbody td{border-right:1px solid #DDDDDD;}
|
||||
.d_list .drop-down ul {z-index:999;}
|
||||
</style>
|
||||
<if condition = "empty($data)">
|
||||
<tr>
|
||||
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
|
||||
</tr>
|
||||
</if>
|
||||
<notemtpy name = "data">
|
||||
<volist name="data" id="data">
|
||||
<tr>
|
||||
<td >{$data.pay_order_number}</td>
|
||||
<td >{$data.pay_time}</td>
|
||||
<td >{$data.user_account}</td>
|
||||
<td >{$data.game_name}</td>
|
||||
<td >{$data.promote_account}</td>
|
||||
<td >{$data.spend_ip}</td>
|
||||
<td >{$data.server_name}</td>
|
||||
<td >{$data.game_player_name}</td>
|
||||
<td >{$data.cost}</td>
|
||||
<td >{$data.pay_amount}</td>
|
||||
<td >{$data.pay_way}</td>
|
||||
</tr>
|
||||
</volist>
|
||||
<tr>
|
||||
<td ><span>总计</span></td>
|
||||
<td colspan="10" ><span><if condition="$sum_amount neq ''">{$sum_amount}<else/>0</if></span></td>
|
||||
</tr>
|
||||
</notemtpy>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page">
|
||||
|
||||
{$_page|default=''}
|
||||
</div>
|
||||
</block>
|
||||
|
||||
<block name="script">
|
||||
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
|
||||
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
||||
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
|
||||
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
|
||||
<script type="text/javascript">
|
||||
//导航高亮
|
||||
highlight_subnav('{:U('Finance/index')}');
|
||||
$(function(){
|
||||
|
||||
//搜索功能
|
||||
$("#search").click(function(){
|
||||
var starttime = $.trim($('#time-start').val());
|
||||
var endtime = $.trim($('#time-end').val());
|
||||
|
||||
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');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;
|
||||
});
|
||||
|
||||
//回车自动提交
|
||||
$('.jssearch').find('input').keyup(function(event){
|
||||
if(event.keyCode===13){
|
||||
$("#search").click();
|
||||
}
|
||||
});
|
||||
$(".ljcz").click(function(){
|
||||
var id = $(this).attr('data-value');
|
||||
var game_name = "{:I('game_name')}";
|
||||
var server_name = "{:I('server_id')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '游戏消费记录',
|
||||
shadeClose: true,
|
||||
shade: 0.8,
|
||||
area: ['70%', '80%'],
|
||||
content: 'admin.php?s=/Platform/chongzhi_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
|
||||
});
|
||||
});
|
||||
|
||||
$("#game_id").change(function(){
|
||||
$.ajax({
|
||||
url:"{:U('Ajax/getSpendServer')}",
|
||||
type:"post",
|
||||
data:{game_id:$("#game_id option:selected").attr('game-id')},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
str = "<option value=''>请选择区服</option>";
|
||||
for (var i in data){
|
||||
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
|
||||
}
|
||||
$("#server_id").empty();
|
||||
$("#server_id").append(str);
|
||||
$("#server_id").select2();
|
||||
|
||||
}
|
||||
})
|
||||
});
|
||||
var game_id = "{:I('game_name')}";
|
||||
var game_server = "{:I('server_id')}";
|
||||
if(game_id){
|
||||
$.ajax({
|
||||
url:"{:U('Ajax/getSpendServer')}",
|
||||
type:"post",
|
||||
data:{game_id:game_id,type:2},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
str = "<option value=''>请选择区服</option>";
|
||||
for (var i in data){
|
||||
str += "<option value='"+data[i].server_name+"' "+(game_server && data[i].server_name == game_server?'selected':'')+">"+data[i].server_name+"</option>"
|
||||
}
|
||||
$("#server_id").empty();
|
||||
$("#server_id").append(str);
|
||||
$("#server_id").select2();
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</block>
|
@ -0,0 +1,247 @@
|
||||
<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">
|
||||
<!--游戏类型搜索END-->
|
||||
|
||||
<div class="input-list input-list-promote search_label_rehab">
|
||||
<select id="count_date" name="count_date" class="select_gallery" style="width:150px;">
|
||||
<option value="">请选择月份</option>
|
||||
<volist name=":getMonth()" id="vo">
|
||||
<option value="{$vo}" <if condition="$vo eq $_GET['count_date']">selected=selected</if>>{$vo}</option>
|
||||
</volist>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-list input-list-game search_label_rehab">
|
||||
<select id="game_id" name="game_id" class="select_gallery" style="width:120px;">
|
||||
<option value="">请选择游戏</option>
|
||||
<volist name=":get_game_list()" id="vo">
|
||||
<option game-id="{$vo.id}" value="{$vo.id}" <if condition="$vo.id eq $_GET['game_id']">selected=selected</if>>{$vo.game_name}</option>
|
||||
</volist>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-list input-list-server search_label_rehab">
|
||||
<select id="collaborate_id" name="collaborate_id" class="select_gallery" style="width:120px;">
|
||||
<option value="">请选择合作方</option>
|
||||
</select>
|
||||
</div>
|
||||
<input type="hidden" name="" value="" class="sortBy">
|
||||
<div class="input-list">
|
||||
<a class="sch-btn" href="javascript:;" id="search" url="{:U('Finance/index','model='.$model['name'].'&row='.I('row'),false)}"
|
||||
style="width: 100px;border: #3C95C8 solid 1px;">搜索</a>
|
||||
<a class="sch-btn" href="{:U('Export/exportFinanceIndex',
|
||||
array('count_date'=>$_GET['count_date'],'game_id'=>$_GET['game_id'],'collaborate_id'=>$_GET['collaborate_id'])
|
||||
,false)}" style="width: 100px;border: #3C95C8 solid 1px;">导出</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 数据列表 -->
|
||||
<div class="data_list">
|
||||
<div class="">
|
||||
<table>
|
||||
<!-- 表头 -->
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- <th class="row-selected row-selected">
|
||||
<input class="check-all" type="checkbox">
|
||||
</th> -->
|
||||
<th >月份</th>
|
||||
|
||||
<th >游戏现金流水</th>
|
||||
|
||||
<th >平台币流水</th>
|
||||
|
||||
<th >内冲流水</th>
|
||||
|
||||
<th >总流水</th>
|
||||
|
||||
<th >操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- 列表 -->
|
||||
<tbody>
|
||||
<style>
|
||||
.data-table thead th, .data-table tbody td{text-align:center}
|
||||
.data-table tbody td{border-right:1px solid #DDDDDD;}
|
||||
.d_list .drop-down ul {z-index:999;}
|
||||
</style>
|
||||
<!-- <if condition = "empty($data)">-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- </if>-->
|
||||
<notemtpy name = "data">
|
||||
<volist name="data" id="data">
|
||||
<tr>
|
||||
<td >{$data.count_date}</td>
|
||||
<td >{$data.cash_count}</td>
|
||||
<td >{$data.balance_coin_count}</td>
|
||||
<td >{$data.inside_cash_count}</td>
|
||||
<td >{$data.all_cash_count}</td>
|
||||
<td >
|
||||
<a href="{:U('Finance/gameFinance',
|
||||
array('count_date'=>$data['count_date'],'game_id'=>$_GET['game_id'],'collaborate_id'=>$_GET['collaborate_id']))}" >游戏查看</a>
|
||||
<a href="{:U('Finance/gameFinance',
|
||||
array('count_date'=>$data.count_date,'game_id'=>$_GET['game_id'],'collaborate_id'=>$_GET['collaborate_id'])
|
||||
,false)}" >渠道查看</a>
|
||||
</td>
|
||||
</tr>
|
||||
</volist>
|
||||
<tr>
|
||||
<td><span>总计</span></td>
|
||||
<td ><span><if condition="$sumCash neq ''">{$sumCash}<else/>0</if></span></td>
|
||||
<td><if condition="$sumBalance neq ''">{$sumBalance}<else/>0</if></td>
|
||||
<td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td>
|
||||
<td><if condition="$sumAll neq ''">{$sumAll}<else/>0</if></td>
|
||||
<td>
|
||||
<a href="{:U('Finance/gameFinance')}" >游戏查看</a>
|
||||
<a href="{:U('Finance/gameFinance')}" >渠道查看</a>
|
||||
</td>
|
||||
</tr>
|
||||
</notemtpy>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page">
|
||||
<a class="sch-btn" href="{:U('Export/exportFinanceIndex',
|
||||
array('count_date'=>$_GET['count_date'],'game_id'=>$_GET['game_id'],'collaborate_id'=>$_GET['collaborate_id'])
|
||||
,false)}">导出</a>
|
||||
{$_page|default=''}
|
||||
</div>
|
||||
</block>
|
||||
|
||||
<block name="script">
|
||||
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
|
||||
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
||||
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
|
||||
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
|
||||
<script type="text/javascript">
|
||||
//导航高亮
|
||||
highlight_subnav('{:U('Finance/index')}');
|
||||
$(function(){
|
||||
|
||||
//搜索功能
|
||||
$("#search").click(function(){
|
||||
var starttime = $.trim($('#time-start').val());
|
||||
var endtime = $.trim($('#time-end').val());
|
||||
|
||||
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');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;
|
||||
});
|
||||
|
||||
//回车自动提交
|
||||
$('.jssearch').find('input').keyup(function(event){
|
||||
if(event.keyCode===13){
|
||||
$("#search").click();
|
||||
}
|
||||
});
|
||||
$(".ljcz").click(function(){
|
||||
var id = $(this).attr('data-value');
|
||||
var game_name = "{:I('game_name')}";
|
||||
var server_name = "{:I('server_id')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '游戏消费记录',
|
||||
shadeClose: true,
|
||||
shade: 0.8,
|
||||
area: ['70%', '80%'],
|
||||
content: 'admin.php?s=/Platform/chongzhi_detail/promote_id/'+id+'/game_name/'+game_name+'/server_name/'+server_name+''//iframe的url
|
||||
});
|
||||
});
|
||||
|
||||
$("#game_id").change(function(){
|
||||
$.ajax({
|
||||
url:"{:U('Ajax/getSpendServer')}",
|
||||
type:"post",
|
||||
data:{game_id:$("#game_id option:selected").attr('game-id')},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
str = "<option value=''>请选择区服</option>";
|
||||
for (var i in data){
|
||||
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
|
||||
}
|
||||
$("#server_id").empty();
|
||||
$("#server_id").append(str);
|
||||
$("#server_id").select2();
|
||||
|
||||
}
|
||||
})
|
||||
});
|
||||
var game_id = "{:I('game_name')}";
|
||||
var game_server = "{:I('server_id')}";
|
||||
if(game_id){
|
||||
$.ajax({
|
||||
url:"{:U('Ajax/getSpendServer')}",
|
||||
type:"post",
|
||||
data:{game_id:game_id,type:2},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
str = "<option value=''>请选择区服</option>";
|
||||
for (var i in data){
|
||||
str += "<option value='"+data[i].server_name+"' "+(game_server && data[i].server_name == game_server?'selected':'')+">"+data[i].server_name+"</option>"
|
||||
}
|
||||
$("#server_id").empty();
|
||||
$("#server_id").append(str);
|
||||
$("#server_id").select2();
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</block>
|
Loading…
Reference in New Issue