2023-10-24 14:54:18 +08:00

585 lines
25 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* @author Any
* @description KISS
* @date 2021年6月10日
* @version 1.0.0
*
* _____LOG_____
*
*/
use app\models\Model;
use app\models\Cash;
$this->title = '提现列表';
$this->params['breadcrumbs'][] = $this->title;
$status_labels = Cash::getStatusLabels();
$status = \Yii::$app->request->get('status');
$transfer_status_labels = Cash::getTransferStatusLabels();
$transfer_status = \Yii::$app->request->get('transfer_status');
$scene_labels = Cash::getSceneLabels();
$scene = \Yii::$app->request->get('scene');
?>
<style type="text/css">
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">
<?= $this->title ?>
</div>
<div class="layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
</div>
<div class="layui-inline layui-float-right layui-form">
<div class="layui-inline layui-form-item">
<div class="layui-input-inline">
<select class="layui-select" name="scene">
<option value="" <?=$scene === null ? 'selected' : ''?>>全部提现类型</option>
<?php foreach ($scene_labels as $key => $val):?>
<option value="<?=$key?>" <?=$scene == $key && $scene != null ? 'selected' : ''?>><?=$val?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="layui-inline layui-form-item">
<div class="layui-input-inline">
<select class="layui-select" name="status">
<option value="" <?=$status === null ? 'selected' : ''?>>全部状态</option>
<?php foreach ($status_labels as $key => $val):?>
<option value="<?=$key?>" <?=$status == $key && $status != null ? 'selected' : ''?>><?=$val?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="layui-inline layui-form-item">
<div class="layui-input-inline">
<select class="layui-select" name="transfer_status">
<option value="" <?=$transfer_status === null ? 'selected' : ''?>>全部转账状态</option>
<?php foreach ($transfer_status_labels as $key => $val):?>
<option value="<?=$key?>" <?=$transfer_status == $key && $transfer_status != null ? 'selected' : ''?>><?=$val?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="layui-inline layui-form-item">
<!--<label class="layui-form-label">关键词</label>-->
<div class="layui-input-inline">
<input type="text" name="keywords" placeholder="搜索昵称、订单号" autocomplete="off" class="layui-input" value="<?=\Yii::$app->request->get("keywords")?>">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="dtable-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table id="dtable" lay-filter="dtable"></table>
</div>
</div>
</div>
<!--工具栏模板-->
<script type="text/html" id="toolBarTpl">
<div class="layui-btn-container">
<!--<button class="layui-btn layui-btn-sm" lay-event="add">添加</button>-->
<!--<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delete">批量删除</button>-->
</div>
</script>
<!--行操作列模板-->
<script type="text/html" id="rowBarTpl">
{{# if(d.status == 0){ }}
<a href="javascript:;" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="review" >审核</a>
{{# } }}
{{# if(d.status == 1 && d.transfer_status == 0){ }}
<a href="javascript:;" class="layui-btn layui-btn-xs" lay-event="transfer" >打款</a>
{{# } }}
{{# if(d.status == 2 || (d.status == 1 && d.transfer_status == 0 && d.cash_type == 0)){ }}
<a href="javascript:;" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete" >删除</a>
{{# } }}
</script>
<script type="text/html" id="nicknameTpl">
<img src="{{d.avatar_url}}" style="width:24px;height:24px;border-radius: 24px;margin-right: 4px;">{{d.nickname}}
</script>
<script type="text/html" id="cashTypeTpl">
{{# if(d.cash_type == <?=Cash::$cxCashTypeWx?>){ }}
<p><span class="layui-badge layui-bg-green">{{d.cash_type_cn}}</span> </p>
<p>微信账号:{{d.wechat_account}} </p>
<p>微信账号持有者:{{d.wechat_account_name}} </p>
{{# } else if(d.cash_type == <?=Cash::$cxCashTypeAli?>){ }}
<p><span class="layui-badge layui-bg-blue">{{d.cash_type_cn}}</span> </p>
<p>支付宝账号:{{d.alipay_account}} </p>
<p>支付宝账号持有者:{{d.alipay_account_name}} </p>
{{# } else if(d.cash_type == <?=Cash::$cxCashTypeBank?>){ }}
<p><span class="layui-badge layui-bg-orange">{{d.cash_type_cn}}</span> </p>
<p>银行名称:{{d.bank_name}} </p>
<p>银行卡号:{{d.bank_card_no}} </p>
<p>银行卡持卡人:{{d.bank_card_name}} </p>
{{# } else if(d.cash_type == <?=Cash::$cxCashTypeAuto?>){ }}
<p><span class="layui-badge layui-bg-black">{{d.cash_type_cn}}</span> </p>
{{# } }}
</script>
<script type="text/html" id="cashInfoTpl">
<p>金额:<span class="layui-badge layui-bg-blue">{{d.money}}</span> 元</p>
<p>服务费:{{d.service_charge}}元</p>
<p>实际到账金额:<span class="layui-badge layui-bg-blue">{{d.actual_money}}</span>元</p>
<p>订单号:{{d.order_no}}</p>
<p>时间:{{d.created_at_cn}}</p>
</script>
<script type="text/html" id="statusTpl">
<p>
{{# if(d.status == 0){ }}
<span class="layui-badge layui-bg-gray">{{d.status_cn}}</span>
{{# } else if(d.status == 1){ }}
<span class="layui-badge layui-bg-green">{{d.status_cn}}</span>
{{# } else if(d.status == 2){ }}
<span class="layui-badge layui-bg-orange">{{d.status_cn}}</span>
{{# } }}
</p>
{{# if(d.status != 0){ }}
<p>审核时间:{{d.review_time_cn}}</p>
<p>审核意见:{{d.review_comment}}</p>
{{# } }}
</script>
<script type="text/html" id="transferStatusTpl">
<p>
{{# if(d.transfer_status == 0){ }}
<span class="layui-badge layui-bg-gray">{{d.transfer_status_cn}}</span>
{{# } else if(d.transfer_status == 1){ }}
<span class="layui-badge layui-bg-green">{{d.transfer_status_cn}}</span>
{{# } else if(d.transfer_status == 2){ }}
<span class="layui-badge layui-bg-orange">{{d.transfer_status_cn}}</span>
{{# } }}
</p>
{{# if(d.transfer_status == 1){ }}
<p>转账时间:{{d.pay_time_cn}}</p>
<p>转账类型:{{d.pay_type_cn}}</p>
{{# } }}
</script>
<script id="review_html" type="text/html">
<div class="layui-form review-panel">
<div class="layui-card">
<div class="layui-card-header layui-hide"></div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">是否通过</label>
<div class="layui-input-block">
<input type="radio" name="status" value="1" title="审核通过">
<input type="radio" name="status" value="2" title="审核未通过">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">审核意见</label>
<div class="layui-input-block">
<textarea class="layui-textarea" name="review_comment"></textarea>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
</div>
</div>
<div class="layui-card-footer layui-text-center layui-mt-15 layui-mb-15">
<a class="layui-btn layui-btn-sm confirm-btn" lay-submit="" lay-filter="layui-review-submit" href="javascript:;">确定</a>
<a class="layui-btn layui-btn-sm cancel-btn" href="javascript:;">取消</a>
</div>
</div>
</script>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user', 'table'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, admin = layui.admin;
form.render();
//search
form.on('submit(dtable-search)', function (obj) {
var field = obj.field;
reload_table_data(field);
});
form.on('select(batch-action)', function (obj) {
var lay_event = obj.value;
var check_status = table.checkStatus('dtable');
var id = [];
$(check_status.data).each(function(index){
id.push(check_status.data[index]['id']);
});
var confirm_url = null;
var confirm_tip = null;
if(confirm_url != null){
layer.confirm(confirm_tip, {
btn: ['确定','取消']
}, function(){
$.ajax(confirm_url,{
type:"POST",
dataType:"json",
data:{
cash_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
}
});
//重新加载表格数据
function reload_table_data(conf){
table.reload('dtable', {
url:'<?=\Yii::$app->urlManager->createUrl(['admin/cash/index'])?>'
,page: true
,where: conf
});
};
//执行渲染
table.render({
//指定原始表格元素选择器推荐id选择器
elem: '#dtable'
//容器高度
//,height: 315
//容器宽度
//,width: 720
//设置表头
,cols: [[
{checkbox: true}
, {field: 'id', title: 'ID', width: 80}
, {field: 'nickname', title: '用户',templet:'#nicknameTpl', width:180}
, {field: 'scene_cn', title: '提现类型', width: 100}
, {field: 'cash_type_info', title: '提现方式', templet:'#cashTypeTpl', width: 260}
, {field: 'cash_money_info', title: '提现信息', templet:'#cashInfoTpl', width: 300}
, {field: 'status_cn', title: '状态', templet:'#statusTpl', width: 240}
, {field: 'transfer_status_cn', title: '转账状态', templet:'#transferStatusTpl', width: 240}
, {field: 'remark', title: '备注', width: 200}
, {title: '操作',fixed: 'right', toolbar: '#rowBarTpl', width:180}
]
]
, url:'<?=\Yii::$app->urlManager->createUrl(['admin/cash/index'])?>'
, page:true
//指向自定义工具栏模板选择器
, toolbar:'#toolBarTpl'
//头部工具栏右侧的图标按钮
, defaultToolbar:['filter', 'print', 'exports']
, limit: 20
, limits:[10,20,30,40,50,60,70,80,90,100]
, title:'<?=$this->title?>'
, data:[]
, done: function(res, curr, count){
setTimeout(function(){
$(".layui-table-main tr").each(function (index ,val) {
$(".layui-table-fixed").each(function () {
$($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
});
});
$(".layui-table-header tr").each(function (index ,val) {
$(".layui-table-fixed").each(function () {
$($(this).find(".layui-table-header thead tr")[index]).height($(val).height());
});
});
},500);
}
});
//监听工具栏
table.on('toolbar(dtable)', function(obj){
var lay_event = obj.event;
var check_status = table.checkStatus('dtable');
var id = [];
$(check_status.data).each(function(index){
id.push(check_status.data[index]['id']);
});
if(id.length == 0){
return layer.msg("请选择需要操作项");
}
var confirm_url = null;
var confirm_tip = null;
if(lay_event == 'delete'){
confirm_tip = '你确定将此删除吗?';
confirm_url = '<?=\Yii::$app->urlManager->createUrl(["/admin/cash/delete"])?>';
}
if(lay_event == 'review'){
var content = $("#review_html").html();
return layer.open({
type: 1,
title:'审核面板',
offset:'50px',
area: ['560px', '330px'], //宽高
content: content,
success:function(layero, index){
//console.log(layero, index);
form.render();
form.on('submit(layui-review-submit)', function (obj) {
//console.log(obj.field)
var data = obj.field;
data.cash_id = id;
data._csrf = _csrf;
//console.log(data)
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/cash/review"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:data,
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
});
$('.review-panel').on('click','.confirm-btn',function(){
layer.close(index);
})
$('.review-panel').on('click','.cancel-btn',function(){
layer.close(index);
});
}
});
}
if(confirm_url != null){
layer.confirm(confirm_tip, {
btn: ['确定','取消']
}, function(){
$.ajax(confirm_url,{
type:"POST",
dataType:"json",
data:{
cash_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
}
});
//监听工具条
table.on('tool(dtable)', function(obj){
var row_data = obj.data;
var lay_event = obj.event;
var id = row_data.id;
var confirm_url = null;
var confirm_tip = null;
if(lay_event == 'delete'){
confirm_tip = '你确定将此项删除吗?';
confirm_url = '<?=\Yii::$app->urlManager->createUrl(["/admin/cash/delete"])?>';
}
if(lay_event == 'transfer'){
confirm_tip = '你确定打款吗?';
confirm_url = '<?=\Yii::$app->urlManager->createUrl(["/admin/cash/transfer"])?>';
}
if(lay_event == 'review'){
var content = $("#review_html").html();
return layer.open({
type: 1,
title:'审核面板',
offset:'50px',
area: ['560px', '330px'], //宽高
content: content,
success:function(layero, index){
//console.log(layero, index);
form.render();
form.on('submit(layui-review-submit)', function (obj) {
//console.log(obj.field)
var data = obj.field;
data.cash_id = id;
data._csrf = _csrf;
//console.log(data)
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/cash/review"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:data,
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
});
$('.review-panel').on('click','.confirm-btn',function(){
layer.close(index);
})
$('.review-panel').on('click','.cancel-btn',function(){
layer.close(index);
});
}
});
}
if(confirm_url != null){
layer.confirm(confirm_tip, {
btn: ['确定','取消']
}, function(){
$.ajax(confirm_url,{
type:"POST",
dataType:"json",
data:{
cash_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
}
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>