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

658 lines
29 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<extend name="Public/base"/>
<block name="css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<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>
</block>
<block name="body">
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<div class="cf main-place top_nav_list navtab_list">
<ul class="tabnav1711 fr jstabnav">
<li class="<eq name='group' value='1'>current</eq>"><a href="{:U('settlement')}">推广结算</a></li>
<li class="<eq name='group' value='2'>current</eq>" ><a href="{:U('settlement?group=2')}">结算记录</a></li>
</ul>
<h3 class="page_title">推广结算</h3>
<if condition="$group eq 1">
<p class="description_text">说明:此功能是针对推广员下面的用户注册充值进行结算,充值数据是指消费到游戏的所有订单记录</p>
<else/>
<p class="description_text">说明:此功能是查看所有的推广员结算记录</p>
</if>
</div>
<div class="cf top_nav_list">
<if condition="I('group',1) eq 1">
<div class="infomation information1711">
<div>
<span>参与结算设置:</span>
<label>
<input type="radio" class="inp_radio" value="0" name="bind_coin" <if condition="I('bind_coin',0) eq 0">checked="checked"</if>> 排除绑币
</label>
&nbsp;&nbsp;&nbsp;&nbsp;
<label>
<input type="radio" class="inp_radio" value="1" name="bind_coin" <if condition="I('bind_coin',0) eq 1">checked="checked"</if>> 包含绑币
</label>
</div>
<div style="line-height: 30px;">
<p>注意①:推广结算只结算消费到游戏的所有订单记录。(系统默认全部排除绑币,可视情况自行勾选)</p>
<p>注意②:包含绑币勾选请慎重,由于玩家账户部分绑币的来源属于后台发放或者会长代充等,涉及到成本盈亏,是否参与推广员结算请考虑清楚!</p>
<p>注意③:推广结算时间请按规律时间统一结算,否则时间不统一容易导致个别游戏在统一时间内无法结算。(结算时间只可选到前一天)</p>
</div>
</div>
</if>
<!-- 高级搜索 -->
<if condition="I('group') eq 1 or $group eq 1">
<empty name="model.extend">
<div class="fl button_list">
<div class="tools">
<a class=" ajax-post " target-form="ids" url="{:U('generatesettlementAll?model='.$model['id'],array('ids'=>$data['id'],'bind_coin'=>I('bind_coin',0),'game_name'=>I('game_name'),'promote_account'=>I('promote_account'),'timestart'=>I('timestart'),'timeend'=>I('timeend'),'cooperation'=>I('cooperation'),'bill_number'=>I('bill_number')))}"><span class="button_icon button_icon14"></span>批量结算</a>
</div>
</div>
</empty>
</if>
<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" autocomplete="off" class="" <if condition="$Think.get.timestart eq '' and $Think.get.group neq 2">value="{:get_lastweek_name(7)}" <else/> value="{:I('timestart')}" </if>placeholder="结算周期起始时间" />
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="timeend" autocomplete="off" class="" <if condition="$Think.get.timeend eq '' and $Think.get.group neq 2">value="{:get_lastweek_name(1)}" <else/> value="{:I('timeend')}" </if> placeholder="结算周期结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="promote_id" name="promote_id" class="select_gallery" style="width:120px;">
<option value="">推广员账号</option>
<volist name=":get_all_toppromote()" id="vo">
<option promote-id="{$vo.id}" value="{$vo.account}">{$vo.account}</option>
</volist>
<input type="hidden" id="promote_account" name="promote_account" value="{:I('promote_account')}"></input>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">
<if condition="I('group') eq 1 or $group eq 1">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="searchlayer" url="{:U('Query/settlement?group=1','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</if>
<if condition="I('group') eq 2 or $group eq 2">
<div class="input-list">
<input type="text" id="stime-start" name="stimestart" class="" value="{:I('stimestart')}" placeholder="结算开始时间" />
-
<div class="input-append date" id="sdatetimepicker" style="display:inline-block">
<input type="text" id="stime-end" name="stimeend" class="" value="{:I('stimeend')}" placeholder="结算结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('Query/settlement?group=2','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</if>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<if condition="$group eq 1">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th >结算周期</th>
<th >推广员账号</th>
<th >游戏名称</th>
<th ><a class="paixu" data-order='spay_amount'>总充值</a></th>
<th ><a class="paixu" data-order='unum'>总注册</a></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>
<empty name ="list_data">
<td colspan="12" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="list_data" id="data">
<tr>
<td class="allch">
<input class="ids" type="checkbox" data-val="{$data['id']}," value="CPS,{$data['ratio']},{$data['money']},{$data['unum']},{$data['spay_amount']},{$data['game_id']}" name="ids[]">
</td>
<td >{:I('timestart')}&nbsp;&nbsp;{:I('timeend')}</td>
<td >{:get_promote_name($data['pid'])}</td>
<td class="game_id" val="{$data['game_id']}">{:get_game_name($data['game_id'])}</td>
<td class="recharge cps">{$data['spay_amount']|default=0}</td>
<td class="number cpa">{$data['unum']|default=0}</td>
<td class="cooperation">
<div style="width: 110px;margin: 0 auto;">
<div class="d_list" >
<div class="drop-down limitwidth3 cooperwrap" >
<span class="sort-txt" data="CPS" >
<span class="cooperation_mode">CPS</span>
</span>
<i class="arrow arrow-down"></i>
<ul class="nav-list hidden">
<li><a href="javascript:;" value="CPS" ><span class="cooperation_mode">CPS</span></a></li>
<li><a href="javascript:;" value="CPA" ><span class="cooperation_mode no">CPA</span></a></li>
</ul>
</div>
</div>
</div>
</td>
<td class="ratio cp">
<span><notempty name="data.ratio">{$data.ratio}<else />0</notempty></span>%
<a href="javascript:;" id="ratiobtn" data-coom="CPS" data-notice="请输入1-100的数字,如:30即为30%" class="cpbtn">修改</a>
</td>
<td class="price cp">
<span><notempty name="data.money">{$data.money}<else />0</notempty></span>
<a href="javascript:;" id="ratiobtn" data-coom="CPA" data-notice="请输入数字" class="cpbtn">修改</a>
</td>
<td class="money">
{:round($data['spay_amount'] * $data['ratio']/100,2)}
</td>
<if condition="get_settlement(I('timestart'),I('timeend'),$data['pid'],$data['game_id']) eq true">
<td>已结算</td>
<else/>
<td>可结算</td>
</if>
</tr>
</volist>
</empty>
</tbody>
</table>
<script>
function pop(text,classname) {
classname = classname?classname:'';
updateAlert(text,classname);
setTimeout(function(){
//$('#top-alert').find('button').click();
$('#tip').find('.tipclose').click();
},1500);
}
$('.cooperwrap').hover(function(){
$(this).find('.nav-list').removeClass('hidden');
},function(){
$(this).find('.nav-list').addClass('hidden');
});
$('.cooperwrap .nav-list li').find('a').each(function(){
var that = $(this).closest('.cooperwrap'),top = $(this).closest('.cooperation');
$(this).click(function(){
var text = $(this).text(),val=$(this).attr('value');
that.find('.sort-txt').text(text).attr('data',val);
that.find('.nav-list').addClass('hidden');
var ratio = top.siblings('.ratio').find('span').text(),
price = top.siblings('.price').find('span').text(),
unum = top.siblings('.cpa').text(),
spay_amount = top.siblings('.cps').text(),
game_id = top.siblings('.game_id').attr('val'),
ids = top.siblings('.allch').find('.ids'),money=0;
val = text+','+ratio+','+price+','+unum+','+spay_amount+','+game_id+',';
ids.attr('value',val);
if (text == 'CPS') {
money = Math.round(ratio * top.siblings('.recharge').text())/100;
} else {
money = price * top.siblings('.number').text();
}
;
if (isNaN(money)) {money=0;}
top.siblings('.money').text(money);
})
});
$('.cpbtn').on('click',function() {
var that = this,placeholder = $(that).data('notice'),cp = $.trim($(that).data('coom'));
html = '<div class="noticemsg " >';
html += '<div class="noticemain"><div class="noticeinput"><input placeholder="'+placeholder+'" type="text" class="txt" ></div>'
html += '<div class="noticebtn cpn"><a href="javascript:;">确定</a></div></div></div>';
$('body').append(html);
$('.noticebtn a').on('click',function() {
var val = $.trim($('.noticeinput input').val()),closeste = $(that).closest('.cp');
if (val) {
if (!/^\d+(\.\d{2})?$/.test(val)) {pop('请输入正确的数字');return false;}
$(that).siblings('span').text(val);
var money = closeste.siblings('.money').text(),
cooperation = $.trim(closeste.siblings('.cooperation').find('.sort-txt').text());
if (cooperation === cp) {
money = val * closeste.siblings('.'+(cp.toLowerCase())).text();
}
switch(cp){
case 'CPS':
if (cooperation === cp) {
money = Math.round(money)/100;
}
ratio = val;
price = closeste.siblings('.price').find('span').text();
break;
case 'CPA':
price = val;
ratio = closeste.siblings('.ratio').find('span').text();
break;
}
if (isNaN(money)) {money=0;}
closeste.siblings('.money').text(money);
ids = closeste.siblings('.allch').find('.ids');
unum = closeste.siblings('.cpa').text();
spay_amount = closeste.siblings('.cps').text();
game_id = closeste.siblings('.game_id').attr('val');
val = cooperation+','+ratio+','+price+','+unum+','+spay_amount+','+game_id+',';
ids.attr('value',val);
}
$(this).closest('.noticemsg').remove();
});
$('.noticeinput input').keyup(function(event) {
if (event.keyCode == 13) {
$('.noticebtn a').click();
}
});
});
$('.confirmbtn').on('click',function() {
var that = $(this),closeste = that.closest('.op'),
cooperation = $.trim(closeste.siblings('.cooperation').find('.sort-txt').text()),
ratio = closeste.siblings('.ratio').find('span').text(),
price = closeste.siblings('.price').find('span').text(),
url = $(this).data('val'),index = url.lastIndexOf('.html');
if (index > 0)
url = url.substring(0,index)+'/cooperation/'+cooperation+'/cps_ratio/'+ratio+'/cpa_price/'+price+'.html';
else
url = url+'/cooperation/'+cooperation+'/cps_ratio/'+ratio+'/cpa_price/'+price+'.html';
$(this).siblings('.settlementbtn').attr('url',url).click();
});
</script>
</if>
<if condition="$group eq 2">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>推广员账号</th>
<th>结算周期</th>
<th>结算单号</th>
<th>总充值</th>
<th>总注册</th>
<th>结算金额</th>
<th>结算范畴</th>
<th>结算时间</th>
<th>详情</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<volist name="list_data" id="data">
<tr>
<td>{:get_promote_name($data['promote_id'])}</td>
<td>{$data.starttime|date='Y-m-d',###}至{$data.endtime|date='Y-m-d',###}</td>
<td>{$data.settlement_number}</td>
<td>{$data.total_money}</td>
<td>{$data.total_number}</td>
<td>
<span class="money_color">{$data.sum_money}</span>
</td>
<td>{:get_bind_coin_status($data['bind_coin_status'])}</td>
<td>
{$data.create_time|date='Y-m-d',###}
</td>
<td>
<a href="javascript:" onclick="detailsInfo({$data['promote_id']},{$data['create_time']})">查看</a>
</td>
</tr>
</volist>
<tr class="data_summary">
<td>汇总</td>
<td colspan="10">当页结算:{$total}元 今日结算:{$ttotal}元 昨日结算:{$ytotal}元 累计结算:{$ztotal}元</td>
</tr>
</tbody>
</table>
</if>
</div>
</div>
<div class="page">
<if condition="I('group') eq 2 or $group eq 2">
<a class="sch-btn" href="{:U('Export/expUser',array(
'id'=>15,
'promote_account'=>I('promote_account'),
'timestart'=>I('timestart'),
'timeend'=>I('timeend'),
'start'=>I('start'),
'end'=>I('end'),
'settlement_number'=>I('settlement_number'),
'xlsname'=>'结算管理_推广结算_结算记录',
))}">导出</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="Query/settlement">
</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">
<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>
<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/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 src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript">
$(".select_gallery").select2();
$(".input-list-promote").click(function(){
$('#select2-promote_id-container').text('推广员账号');
$("#promote_account").val('');
$("#promote_accountt").val('');
});
$("#promote_id").change(function() {
$("#promote_account").val($("#promote_id option:selected").val());
$("#promote_accountt").val($("#promote_id option:selected").attr('promote-id'));
});
$(".input-list-game").click(function(){
$('#select2-game_id-container').text('请选择游戏');
$("#game_name").val('');
$("#game_namee").val('');
});
$("#game_id").change(function() {
$("#game_name").val($("#game_id option:selected").val());
$("#game_namee").val($("#game_id option:selected").attr('game-id'));
});
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('Query/settlement')}");
if('{$Think.get.game_name}'!=''){
$('#select2-game_id-container').text('{$Think.get.game_name}');
}
if('{$Think.get.promote_account}'!=''){
$('#select2-promote_id-container').text('{$Think.get.promote_account}');
}
Think.setValue('row','{:I("row",10)}');
$(function(){
$("#searchlayer").click(function(){
var url = $(this).attr('url');
that=$('.top_nav_list');//jssearch
var query = that.find('input').serialize();
if(that.find('#promote_account').val()==''){
layer.msg('请选择推广员',
{time: 1000,
});exit;
};
starttime=that.find('#time-start').val();
endtime=that.find('#time-end').val();
checkEndTime(starttime,endtime);
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
//搜索功能
$("#search").click(function(){
var starttime = $.trim($('#time-start').val());
var endtime = $.trim($('#time-end').val());
if((starttime && !endtime) || (!starttime && endtime)) {layer.msg('请完整选择结算周期时间');return false;}
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');return false;}
var url = $(this).attr('url');
var query = $('.top_nav_list').find('input').serialize();
query += "&"+$('.top_nav_list').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
var start = $("#stime-start").val();
var end = $("#stime-end").val();
if (start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
window.location.href = url;
});
function checkEndTime(startTime,endTime){
if(startTime==''){
layer.msg('请选择起始时间',
{time: 1000,
});;exit;
}
if(endTime==''){
layer.msg('请选择结束时间',
{time: 1000,
});;exit;
}
var start=new Date(startTime.replace("-", "/").replace("-", "/"));
var end=new Date(endTime.replace("-", "/").replace("-", "/"));
if(end<start){
layer.msg('结束时间要小于起始时间',
{time: 1000,
});;exit;
}
}
$(".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);
$("#searchlayer").click();
}else if($order_type=='3'){
$(".sortBy").attr('name','data_order');
val='4,'+$data_order;
$(".sortBy").attr('value',val);
$("#searchlayer").click();
}
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#searchlayer").click();
}
});
//点击排序
$('.list_sort').click(function(){
var url = $(this).attr('url');
var ids = $('.ids:checked');
var param = '';
if(ids.length > 0){
var str = new Array();
ids.each(function(){
str.push($(this).val());
});
param = str.join(',');
}
if(url != undefined && url != ''){
window.location.href = url.replace(".html","") + '/ids/' + param;
}
});
var date="{$setdate}";
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
scrollMonth:false,
scrollTime:false,
scrollInput:false,
endDate:date
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
pickerPosition:'bottom-left',
scrollMonth:false,
scrollTime:false,
scrollInput:false,
endDate:date
})
$('#stime-start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
scrollMonth:false,
scrollTime:false,
scrollInput:false,
endDate:date
});
$('#sdatetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
scrollMonth:false,
scrollTime:false,
scrollInput:false,
pickerPosition:'bottom-left',
endDate:date
})
$('#game').on('click',function(event) {
var navlist = $(this).find('.nav-list');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$(this).find('.sort-txt').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one('click', function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
$('#game .sort-txt').on('keyup',function(event) {
var val = $.trim($(this).val()).toLowerCase();
$('#game').siblings('input').val(val);
});
$('#game .nav-list').find("a").each(function(){
var that = $('#game');
$(this).click(function(){
var text = $.trim($(this).text()).toLowerCase();
that.find('.sort-txt').val(text);
that.siblings('input').val(text);
})
});
$('#promote').on('click',function(event) {
var navlist = $(this).find('.nav-list');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$(this).find('.sort-txt').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one('click', function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
$('#promote .sort-txt').on('keyup',function(event) {
var val = $.trim($(this).val()).toLowerCase();
$('#promote').siblings('input').val(val);
});
$('#promote .nav-list').find("a").each(function(){
var that = $('#promote');
$(this).click(function(){
var text = $.trim($(this).text()).toLowerCase();
that.find('.sort-txt').val(text);
that.siblings('input').val(text);
})
});
})
function detailsInfo(promote_id,create_time){
layer.open({
type: 2,
title: '结算详情',
shadeClose: true,
shade: 0.8,
area: ['80%', '70%'],
content: '/admin.php?s=/Query/details/promote_id/'+promote_id+'/create_time/'+ create_time //iframe的url
});
}
</script>
</block>