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.

666 lines
32 KiB
HTML

5 years ago
<extend name="Public/base"/>
<block name="css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
5 years ago
<style>
.select2-container--default .select2-selection--single {
5 years ago
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
5 years ago
</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>
5 years ago
<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>
5 years ago
</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>
5 years ago
</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>
5 years ago
</if>
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
5 years ago
</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>
5 years ago
</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">
5 years ago
<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>
5 years ago
</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>
5 years ago
</div>
</if>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<if condition="$group eq 1">
<table>
<!-- 表头 -->
<thead>
5 years ago
<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>
5 years ago
<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" >
5 years ago
<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>
5 years ago
</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');
});
5 years ago
$('.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);
5 years ago
if (text == 'CPS') {
money = Math.round(ratio * top.siblings('.recharge').text())/100;
} else {
money = price * top.siblings('.number').text();
5 years ago
}
;
5 years ago
if (isNaN(money)) {money=0;}
top.siblings('.money').text(money);
})
5 years ago
});
$('.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();
}
});
5 years ago
});
$('.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');
5 years ago
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>
5 years ago
<tr>
<th>推广员账号</th>
<th>结算周期</th>
<th>结算单号</th>
<th>总充值</th>
<th>总注册</th>
<th>结算金额</th>
<th>结算范畴</th>
<th>结算时间</th>
<th>详情</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
5 years ago
<volist name="list_data" id="data">
<tr>
<td>
<if condition="$is_admin eq true ">
{:get_promote_name($data['promote_id'])}
<else />
{:encryptStr(get_promote_name($data['promote_id']))}
</if>
</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>
5 years ago
</volist>
<tr class="data_summary">
<td>汇总</td>
<td colspan="10">当页结算:{$total}元 今日结算:{$ttotal}元 昨日结算:{$ytotal}元 累计结算:{$ztotal}元</td>
</tr>
</tbody>
</table>
</if>
5 years ago
</div>
</div>
<div class="page">
<if condition="$is_admin eq true ">
<if condition="I('group') eq 2 or $group eq 2">
<a class="sch-btn" href="{:U('Export/expUser',array(
5 years ago
'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>
</if>
5 years ago
{$_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>
5 years ago
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<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}');
5 years ago
}
if('{$Think.get.promote_account}'!=''){
$('#select2-promote_id-container').text('{$Think.get.promote_account}');
5 years ago
}
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;
5 years ago
}
}
$(".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();
}
5 years ago
});
//回车自动提交
$('.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(',');
}
5 years ago
if(url != undefined && url != ''){
5 years ago
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);
})
});
5 years ago
})
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
});
5 years ago
}
</script>
5 years ago
</block>