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.

522 lines
24 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" />
<link rel="stylesheet" href="__CSS__/promote.css" type="text/css"/>
<link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all">
<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;}
.textarea-style {
width: 200px;
height: 80px;
border-radius: 5px;
padding: 5px;
}
.mustmark {
color: #FF0000;
font-style: normal;
margin: 0 3px;
}
</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>
<script type="text/javascript" src="__JS__/jquery.form.js"></script>
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script src="__STATIC__/md5.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="__STATIC__/webuploader/webuploader.js"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js"></script>
<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">
<empty name="model.extend">
<div class="fl button_list">
<div class="tools">
<a class="ajax-post" target-form="ids" url="{:U('set_withdraw_status')}"><span class="button_icon button_icon12"></span>通 过</a>
<a class="agree" data-id="ids"><span class="button_icon button_icon13"></span>驳 回</a>
</div>
</div>
</empty>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="promote_id" name="promote_account" class="select_gallery" style="width:120px;">
<option value="">推广员账号</option>
<volist name=":get_promote_list_by_id()" id="vo">
<option promote-id="{$vo.id}" value="{$vo.account}">{$vo.account}</option>
</volist>
</select>
</div>
<div class="input-list">
<input type="text" name="widthdraw_number" class="" value="{:I('widthdraw_number')}" placeholder="提现单号">
</div>
<div class="input-list">
<select name="ti_status" class="select_gallery">
<option value="">提现状态</option>
<?php foreach (promoteWithdrawStatus() as $key => $value) :?>
<option value="<?=$key?>"><?=$value?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list">
<select name="op_type" class="select_gallery">
<option value="">操作人类型</option>
<?php foreach (getPromoteWithdrawOpType() as $key => $value) :?>
<option value="<?=$key?>"><?=$value?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list">
<select name="settlement_type" class="select_gallery">
<option value="">提现模式</option>
<?php foreach (getPromoteWithdrawSettlementType() as $key => $value) :?>
<option value="<?=$key?>"><?=$value?></option>
<?php endforeach;?>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('Query/withdraw','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
<!-- <div class="input-list">
<a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>12,),I('get.')))}">导出</a>
</div> -->
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th>提现单号</th>
<th><a class="paixu" data-order='sum_money'>提现金额</a></th>
<th>推广员账号</th>
<th>操作人</th>
<th>操作人类型</th>
<th>最后操作人</th>
<th>最后操作人类型</th>
<th>提现模式</th>
<th>结算开始时间</th>
<th>结算截止时间</th>
<th><a class="paixu" data-order='create_time'>申请时间</a></th>
<th>提现状态</th>
<th>说明</th>
<th>审核时间</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="list_data">
<td colspan="11" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="list_data" id="data">
<php>
$data['sum_money'] = sprintf('%.2f',$data['sum_money']);
</php>
<tr>
<td>
<eq name="data.status" value="0">
<input class="ids" type="checkbox" value="{$data['id']}" name="ids[]">
<else />
<input class="ids disabled" disabled="disabled" type="checkbox" value="{$data['id']}" name="ids[]">
</eq>
</td>
<td>{$data.widthdraw_number}</td>
<td onclick="details('{$data["id"]}')"><span class="money_color">{$data.sum_money}</span></td>
<td>
<if condition="$is_admin eq true ">
{:get_promote_name($data['promote_id'])}
<else />
{:encryptStr(get_promote_name($data['promote_id']))}
</if>
</td>
<td>
<if condition="$data.op_type eq 1">
{:get_promote_name($data['op_id'])}
<elseif condition="$data.op_type eq 2"/>
{:getAdminNickname($data['op_id'])}
<else/>
自动
</if>
</td>
<td>{:getPromoteWithdrawOpType($data['op_type'])}</td>
<td>
<if condition="$data.last_op_type eq 1">
{:get_promote_name($data['last_op_id'])}
<elseif condition="$data.last_op_type eq 2"/>
{:getAdminNickname($data['last_op_id'])}
<else/>
自动
</if>
</td>
<td>{:getPromoteWithdrawOpType($data['last_op_type'])}</td>
<td>{:getPromoteWithdrawSettlementType($data['settlement_type'])}</td>
<td><notempty name="data.settlement_begin_time">{$data.settlement_begin_time|date='Y-m-d H:i:s',###}<else />---</notempty></td>
<td><notempty name="data.settlement_end_time">{$data.settlement_end_time|date='Y-m-d H:i:s',###}<else />---</notempty></td>
<td><notempty name="data.create_time">{$data.create_time|date='Y-m-d H:i:s',###}<else />---</notempty></td>
<td><span <if condition="$data['status'] == -2">style="color: #999;"</if>>{:promoteWithdrawStatus($data['status'])}</span></td>
<td>{$data.respond}</td>
<td><notempty name="data.audit_time">{$data.audit_time|date='Y-m-d H:i:s',###}<else />---</notempty></td>
<td>
<div class="partakebtn">
<if condition="$data.status eq 0">
<a class="ajax-get" url="{:U('set_withdraw_status',array('ids'=>$data['id']))}">通过</a>
<a class="agree" data-id="{$data['id']}">驳回</a>
<elseif condition="$data.status eq 1"/>
<a class="upload-transfer-proof" data-id="{$data['id']}">上传汇款证明</a>
</if>
</div>
</td>
</tr>
</volist>
</empty>
<tr class="data_summary">
<td>汇总</td>
<td colspan="99">当页提现:{:null_to_0(array_sum(array_column(arrayPromoteWithdrawStatus('status','',$list_data),'sum_money')))}元 今日提现:{:null_to_0(floor($ttotal*100)/100)}元 昨日提现:{:null_to_0(floor($ytotal*100)/100)}元 累计提现:{:null_to_0(floor($total*100)/100)}元</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="page">
<if condition="$is_admin eq true ">
<a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>12,'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="Query/withdraw">
</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>
<!--打款弹出层-->
<div class="promote-layer mb20">
<form id="ajaxForm" action="{:U('set_withdraw')}" method="post">
<input type="hidden" name="ids" id="hd_ids" value="" />
<input type="hidden" name="case" id="case" value="deny" />
<ol class="promote-con">
<li class="promote-con-con " id="deny">
<div class="mb20">
<span class="promote-name"><i class="mustmark">*</i>说明:</span>
<textarea class="textarea-style" name="respond"></textarea>
</div>
<a href="javascript:;" id="agree_btn"><div class="promote-btn">驳回</div></a>
</li>
<li class="promote-con-con" id="upload">
<div class="mb20" style="display: flex;">
<span class="promote-name"><i class="mustmark">*</i>汇款证明:</span>
<div id="uploader" class="wu-example">
<!--用来存放文件信息-->
<div class="btns">
<div id="picker">选择文件</div>
</div>
<div style="display: flex;">
<div id="thelist" class="uploader-list"></div>
<div class="uploader-list" style="margin-left: 20px;">
<img id="imgList">
</div>
</div>
<input type="hidden" name="transfer_proof" id="transfer_proof">
</div>
</div>
<a href="javascript:;" id="save"><div class="promote-btn">保存</div></a>
</li>
</ol>
</form>
</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>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
<script src="__STATIC__/jquery.cookie.js" charset="utf-8"></script>
<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();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('Query/withdraw')}');
$(function(){
$(".paixu").click(function(){
var that=$(this);
$data_order=that.attr('data-order');
$order_type='{$userarpu_order}';
console.log($order_type);
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();
}
});
//搜索功能
$("#search").click(function(){
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();
}
});
});
function details(id){
layer.open({
type: 2,
title: '结算详情',
shadeClose: true,
shade: 0.8,
area: ['80%', '70%'],
content: '/admin.php?s=/Query/withdrawDetails/id/'+id+'' //iframe的url
});
}
</script>
<!--打款弹出层-->
<script type="text/javascript">
var ids = [];
var uploaderFile = false;
$(function(){
//点击同意按钮
$('.agree').click(function(){
var that = $(this);
var id = that.attr("data-id");
ids = [];
if (id === 'ids') {
$('input[class=ids]:checked').each(function (e) {
ids.push(parseInt($(this).val()));
});
if (ids.length === 0) {
updateAlert('请选择需要操作的数据','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},1500);
return false;
}
$("#hd_ids").val(ids);
} else {
$("#hd_ids").val($(this).attr("data-id"));
}
var lh = '320px';
var val = parseInt($.trim($('input:radio[name="withdraw_type"]:checked').val()));
if(val==2) {lh='610px';}
layer.open({
type: 1,
title: '&nbsp',
shadeClose: true,
shade: 0.8,
area: ['387px', lh],
content: $('.promote-layer')
});
$('#case').val('deny');
$('#deny').addClass('promote-show');
$('#upload').removeClass('promote-show');
});
$('.upload-transfer-proof').click(function(){
var that = $(this);
var id = that.attr("data-id");
$("#hd_ids").val($(this).attr("data-id"));
uploadFile();
var lh = '320px';
var val = parseInt($.trim($('input:radio[name="withdraw_type"]:checked').val()));
if(val==2) {lh='610px';}
layer.open({
type: 1,
title: '&nbsp',
shadeClose: true,
shade: 0.8,
area: ['387px', lh],
content: $('.promote-layer')
});
$('#case').val('upload_transfer_proof');
$('#upload').addClass('promote-show');
$('#deny').removeClass('promote-show');
});
$("#agree_btn,#save").click(function () {
$("#ajaxForm").ajaxSubmit(function (res) {
layer.msg(res.msg);
if(res.status==1){
setTimeout('location.href=location.href',1000);
}
});
return false;
});
});
function uploadFile() {
if (uploaderFile === false) {
uploaderFile = true;
var uploader = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
// swf文件路径
swf: '__STATIC__/webuploader/Uploader.swf',
// 文件接收服务端。
server: "{:U('File/uploadNew',array('session_id'=>session_id()))}",
// 选择文件的按钮。可选。
// 内部根据当前运行是创建可能是input元素也可能是flash.
pick: {
id:'#picker',
multiple:true
},
// dnd: false,
paste: document.body,
accept: {
title: '文件',
extensions: 'png,gif,jpg,jpeg,bmp,txt,doc*,xlsx,asp,pdf',
mimeTypes: '.png,.gif,.jpg,.jpeg,.bmp,.txt,.doc*,.xlsx,.asp,.pdf',
},
// 不压缩image, 默认如果是jpeg文件上传前会压缩一把再上传
resize: false,
disableGlobalDnd: true,
fileNumLimit:1,
threads:5,
thumb:true,
compress:false,
prepareNextFile: true,
chunked:false,
duplicate: true
});
// 当有文件添加进来的时候
uploader.on( 'fileQueued', function( file ) {
var thelist = $('#thelist');
// $list为容器jQuery实例
thelist.append( '<div id="' + file.id + '" class="item">' +
'<h4 class="info">' + file.name + '</h4>' +
'<p class="state">等待上传...</p>' +
'<p class="del" style="color: #145ccd;cursor: pointer;">删除</p>' +
'</div>' );
//删除按钮
$('.del').on('click', function () {
uploader.removeFile(file);
thelist.empty();
$('#imgList').attr('src', '');
});
// 创建缩略图
// 如果为非图片文件,可以不用调用此方法。
// thumbnailWidth x thumbnailHeight 为 100 x 100
console.log(file)
if (file.type.indexOf("image") !== -1) {
uploader.makeThumb( file, function( error, src ) {
if ( error ) {
$('#imgList').replaceWith('<span>不能预览</span>');
return;
}
$('#imgList').attr( 'src', src );
}, 80, 80 );
}
});
// 文件上传过程中创建进度条实时显示。
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#'+file.id ),
$percent = $li.find('.progress .progress-bar');
// 避免重复创建
if ( !$percent.length ) {
$percent = $('<div class="progress progress-striped active">' +
'<div class="progress-bar" role="progressbar" style="width: 0%">' +
'</div>' +
'</div>').appendTo( $li ).find('.progress-bar');
}
$li.find('p.state').text('上传中');
$percent.css( 'width', percentage * 100 + '%' );
});
uploader.on( 'uploadSuccess', function( file, response ) {
var text = '已上传';
if (response.status == 1) {
$('#transfer_proof').val(response.id);
} else {
text = '存储失败';
}
$( '#'+file.id ).find('p.state').text(text);
});
uploader.on( 'uploadError', function( file ) {
$( '#'+file.id ).find('p.state').text('上传出错');
});
uploader.on( 'uploadComplete', function( file ) {
$( '#'+file.id ).find('.progress').fadeOut();
});
}
}
</script>
</block>