454 lines
21 KiB
PHP
454 lines
21 KiB
PHP
@extends('merchant.layouts.base')
|
|
@section('add_css')
|
|
<style>
|
|
.layui-table-cell {
|
|
height: auto;
|
|
line-height: auto;
|
|
}
|
|
|
|
.layui-table-cell {
|
|
padding: 0 5px;
|
|
font-size: 13px;
|
|
|
|
}
|
|
|
|
.layui-table-header .layui-table-cell {
|
|
text-align: center;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.layui-table-total tr {
|
|
background: #fff !important;
|
|
color: #333;
|
|
font-weight: bold;
|
|
color: #f00;
|
|
|
|
}
|
|
|
|
.layui-table-total td {
|
|
border-color: #ededed;
|
|
}
|
|
</style>
|
|
@endsection
|
|
@section('content')
|
|
|
|
|
|
<div class="layui-card">
|
|
|
|
<div class="layui-form search-form layui-card-header layuiadmin-card-header-auto">
|
|
|
|
<div class="layui-collapse" lay-accordion>
|
|
<div class="layui-colla-item">
|
|
<h2 class="layui-colla-title">搜索</h2>
|
|
<div class="layui-colla-content layui-show">
|
|
<form class="layui-form layui-form-pane layui-card-header layuiadmin-card-header-auto">
|
|
<div class="layui-form-item">
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">商户</label>
|
|
<div class="layui-input-block">
|
|
<select name="merchant_id">
|
|
<option value="">全部</option>
|
|
@if(count($merchant)>0)
|
|
@foreach ($merchant as $k=>$v)
|
|
<option value="{{ $v['id'] }}">{{ $v['name'] }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">订单号</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="order_sn" placeholder="请输入" autocomplete="off"
|
|
class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">外部订单号</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="out_trade_no" placeholder="请输入" autocomplete="off"
|
|
class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">订单金额</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="order_money" placeholder="请输入" autocomplete="off"
|
|
class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">会员ID</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="user_id" placeholder="请输入" autocomplete="off"
|
|
class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">外站会员ID</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="out_user_id" placeholder="请输入" autocomplete="off"
|
|
class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">时间</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="time" id="test15" readonly placeholder="请输入"
|
|
autocomplete="off"
|
|
class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">外站回调</label>
|
|
<div class="layui-input-block">
|
|
<select name="out_notify_status">
|
|
<option value="">全部</option>
|
|
@if(count($order_notify)>0)
|
|
@foreach ($order_notify as $k=>$v)
|
|
<option value="{{ $k }}">{{ $v }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">支付状态</label>
|
|
<div class="layui-input-block">
|
|
<select name="pay_status">
|
|
<option value="">全部</option>
|
|
@if(count($pay_status)>0)
|
|
@foreach ($pay_status as $k=>$v)
|
|
<option value="{{ $k }}" {{ status_form($k,request()->input('pay_status','-1'),'selected')}}>{{ $v }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">订单状态</label>
|
|
<div class="layui-input-block">
|
|
<select name="status">
|
|
<option value="">全部</option>
|
|
@if(count($order_status)>0)
|
|
@foreach ($order_status as $k=>$v)
|
|
<option value="{{ $k }}">{{ $v }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<div class="layui-inline">
|
|
|
|
<button class="layui-btn layui-btn-sm" data-doing="1" data-type="day"
|
|
data-value="0">今天
|
|
</button>
|
|
<button class="layui-btn layui-btn-sm" data-doing="1" data-type="day"
|
|
data-value="-1">昨天
|
|
</button>
|
|
<button class="layui-btn layui-btn-sm" data-doing="1" data-type="day"
|
|
data-value="-6">最近7天
|
|
</button>
|
|
<button class="layui-btn layui-btn-sm" data-doing="1" data-type="month"
|
|
data-value="0">本月
|
|
</button>
|
|
<button class="layui-btn layui-btn-sm" data-doing="1" data-type="month"
|
|
data-value="-1">上月
|
|
</button>
|
|
<button class="layui-btn layui-btn-sm" data-doing="1" data-type="month"
|
|
data-value="-3">前3月
|
|
</button>
|
|
|
|
|
|
</div>
|
|
<div class="layui-inline">
|
|
<button class="layui-btn layuiadmin-btn-admin" lay-submit
|
|
lay-filter="LAY-list-search"
|
|
style="">
|
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
|
</button>
|
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-card-body">
|
|
<div class="msg-tips msg-tips-warm">
|
|
<p><i class="layui-icon layui-icon-about"></i> <b>上浮费率说明:</b>部分支付类型通道,会增加响应的费率,比如微信会上调一些点数,所以存在上浮费率
|
|
</p>
|
|
</div>
|
|
<table id="LAY-list-table" lay-filter="LAY-list-table" class="table-responsive"></table>
|
|
|
|
</div>
|
|
<table id="LAY-list-table" lay-filter="LAY-list-table"></table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
@endsection
|
|
@section('add_js')
|
|
@verbatim
|
|
<script type="text/html" id="tpl_order_time">
|
|
<p class="">下单:{{ d.order_at || '' }}</p>
|
|
<p class="">支付:{{ d.pay_ok_at || '' }}</p>
|
|
|
|
</script>
|
|
<script type="text/html" id="tpl_order_sn">
|
|
<p class="text-blue" lay-event="openLayer" data-w="70%" data-h="60%" data-url="{{ d.show_url }}"
|
|
data-title="查看{{ d.order_sn }}订单详情">本站:{{ d.order_sn || '' }}</p>
|
|
<p class="">外站:{{ d.out_trade_sn || '' }}</p>
|
|
<p class="">流水:{{ d.pay_order_sn || '' }}</p>
|
|
</script>
|
|
<script type="text/html" id="tpl_order_ratio">
|
|
<p class="2222">总费率:<b class="text-danger">{{ (d.ratio/10) }}%</b></p>
|
|
{{# if(d.up_ratio!=0){ }}
|
|
<p class="2222">上浮费率:{{ (d.up_ratio/10) || '' }}%</p>
|
|
|
|
{{#} }}
|
|
|
|
{{# if(d.next_money!=0 && d.dali_id!=0 && d.level<=2){ }}
|
|
<p class="2222">代理佣金:{{ d.next_money || '' }}</p>
|
|
<p class="2222">代理盈利费率:{{ (d.next_ratio/10) || '' }}%</p>
|
|
{{#} }}
|
|
{{# if(d.top_money!=0 && d.level==1){ }}
|
|
<p class="2222">股东佣金:{{ d.top_money || '' }}</p>
|
|
<p class="2222">股东盈利费率:{{ (d.top_ratio/10) || '' }}%</p>
|
|
{{#} }}
|
|
|
|
|
|
</script>
|
|
<script type="text/html" id="table-useradmin-admin2">
|
|
{{# if(d.out_notify_status!=1 && d.pay_status==1){ }}
|
|
<a href="javascript:void(0)" data-status="notify" data-value="2" lay-event="order_handle"
|
|
class="layui-btn layui-btn-sm layui-btn-primary">更新外站回调</a>
|
|
{{# } }}
|
|
|
|
</script>
|
|
|
|
|
|
@endverbatim
|
|
|
|
@include('merchant.layouts.common_index')
|
|
<script>
|
|
listConfig.open_width = '660px';
|
|
listConfig.open_height = '450px';
|
|
listable_url = "{{ action($controller.'@apiJson',request()->only(['success_status','day','pay_status','notify_status','out_notify_status','agent'])) }}";
|
|
var pate_type = 'pay_rate';
|
|
var rowsum = 1;
|
|
var agent = "{{ request()->input('agent') }}";
|
|
if (agent) {
|
|
pate_type = 'next_money';
|
|
rowsum = 0;
|
|
}
|
|
|
|
layui.use(['index', 'table', 'listable', 'custorm', 'laydate'], function () {
|
|
var $ = layui.$
|
|
, listable = layui.listable
|
|
, table = layui.table;
|
|
var laydate = layui.laydate;
|
|
var custorm = layui.custorm;
|
|
laydate.render({
|
|
elem: '#test15'
|
|
, type: 'datetime'
|
|
, range: '~'
|
|
, format: 'yyyy-MM-dd HH:mm:ss'
|
|
});
|
|
|
|
cols = [[
|
|
|
|
{field: 'id', width: 70, title: 'ID', sort: true}
|
|
, {
|
|
field: 'pay_type_name', title: '类型', width: 120, align: 'center', templet: function (d) {
|
|
var type_str = '';
|
|
if (d.pay_type == 'weixin') {
|
|
type_str = '<p><span class="layui-badge layui-bg-green">' + d.pay_type_name + '</span></p>';
|
|
}
|
|
if (d.pay_type == 'alipay') {
|
|
type_str = '<p><span class="layui-badge layui-bg-blue">' + d.pay_type_name + '</span></p>';
|
|
}
|
|
if (d.pay_type == 'tr_wxalbank') {
|
|
type_str = '<p><span class="layui-badge layui-bg-blue">多码二合一</span></p>';
|
|
}
|
|
if (d.pay_type == 'tr_wxal') {
|
|
type_str = '<p><span class="layui-badge layui-bg-blue">固码支付宝微信二合一</span></p>';
|
|
}
|
|
if (d.pay_type == 'tr_alipay') {
|
|
type_str = '<p><span class="layui-badge layui-bg-blue">固码支付宝</span></p>';
|
|
}
|
|
if (d.pay_type == 'tr_weixin') {
|
|
type_str = '<p><span class="layui-badge layui-bg-green">固码微信</span></p>';
|
|
}
|
|
if (d.pay_type == 'tr_bank') {
|
|
type_str = '<p><span class="layui-badge layui-bg-green">固码银行</span></p>';
|
|
}
|
|
if (d.pay_type == 'tr_bank2') {
|
|
type_str = '<p><span class="layui-badge layui-bg-green">转账</span></p>';
|
|
}
|
|
type_str += d.gateway_method_name;
|
|
return type_str;
|
|
}
|
|
}
|
|
, {field: 'created_at', title: '订单时间', minWidth: 200, templet: "#tpl_order_time"}
|
|
, {field: 'roles_name', title: '内外/订单号', templet: '#tpl_order_sn', minWidth: 220}
|
|
, {field: 'order_money', title: '订单金额', minWidth: 120, align: "center", totalRow: rowsum}
|
|
, {field: 'pay_money', title: '实付金额', width: 120, align: "center", totalRow: rowsum}
|
|
, {
|
|
field: pate_type,
|
|
title: '手续/扣点',
|
|
templet: '#tpl_order_ratio',
|
|
align: "center",
|
|
minWidth: 200,
|
|
totalRow: true
|
|
}
|
|
, {field: 'total_money', title: '订单结算', width: 120, align: "center", totalRow: rowsum}
|
|
, {field: 'username', title: '充值用户', width: 100, align: "center"}
|
|
, {field: 'order_status_name', title: '状态', align: "center", width: 150}
|
|
, {
|
|
field: 'server_name',
|
|
title: '操作',
|
|
align: 'center',
|
|
toolbar: '#table-useradmin-admin2',
|
|
width: 150
|
|
}
|
|
]];
|
|
|
|
listable.list(listable_url, cols, {
|
|
totalRow: 0
|
|
});
|
|
|
|
|
|
custorm.diy_open(".diyopen");
|
|
|
|
//顶部添加和删除事件
|
|
listable.top_handle();
|
|
|
|
//监听搜索
|
|
listable.search();
|
|
|
|
$("[data-doing]").click(function () {
|
|
$(this).addClass('layui-btn-normal').siblings().removeClass('layui-btn-normal');
|
|
var type = $(this).data('type');
|
|
var value = $(this).data('value');
|
|
data = {
|
|
[type]: value,
|
|
};
|
|
if (type == 'day') {
|
|
data.month = '';
|
|
}
|
|
if (type == 'month') {
|
|
data.day = '';
|
|
}
|
|
table.reload('LAY-list-table', {
|
|
where: data
|
|
});
|
|
return false;
|
|
})
|
|
|
|
|
|
//监听表操作
|
|
extend_fun = function (obj, that) {
|
|
var data = obj.data;
|
|
|
|
if (obj.event === 'order_handle') {
|
|
var status = that.data('status');
|
|
var value = that.data('value');
|
|
var open_layer = 0;
|
|
var url = '';
|
|
var post_url = '';
|
|
switch (status) {
|
|
|
|
case 'notify':
|
|
open_layer = 2;
|
|
post_url = data.update_notify_url;
|
|
config = {
|
|
btn: ['立即发送', '稍后操作'],
|
|
content: '<h3 class="text-center">确定更新外部回调吗?</h3>'
|
|
|
|
};
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
if (open_layer == 2) {
|
|
func = function (index, layero) {
|
|
$.ajax({
|
|
url: post_url,
|
|
type: 'post',
|
|
data: {
|
|
order_id: data.id
|
|
},
|
|
success: function (res) {
|
|
layer.msg(res.msg);
|
|
if (res.error == 0) {
|
|
table.reload('LAY-list-table');
|
|
layer.close(index); //关闭弹层
|
|
}
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
layer.open({
|
|
type: 0,
|
|
closeBtn: config.closeBtn || 0,
|
|
shade: 0.3,
|
|
title: false,
|
|
btnAlign: 'c',
|
|
btn: config.btn,
|
|
content: config.content,
|
|
yes: func,
|
|
btn2: config.btn2 || function (index, layero) {
|
|
layer.closeAll();
|
|
}
|
|
|
|
});
|
|
} else if (open_layer == 1) {
|
|
func = function (layero, index) {
|
|
var iframeWindow = window['layui-layer-iframe' + index],
|
|
submit = layero.find('iframe').contents().find("#LAY-form-submit");
|
|
//监听提交
|
|
iframeWindow.layui.form.on('submit(LAY-form-submit)', function (data) {
|
|
var field = data.field; //获取提交的字段
|
|
$.ajax({
|
|
url: post_url,
|
|
type: 'post',
|
|
data: field,
|
|
success: function (res) {
|
|
layer.msg(res.msg);
|
|
if (res.error == 0) {
|
|
table.reload('LAY-list-table');
|
|
layer.close(index); //关闭弹层
|
|
}
|
|
}
|
|
|
|
});
|
|
});
|
|
submit.trigger('click');
|
|
};
|
|
custorm.layer_open(config, config.func || func);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
};
|
|
listable.handle(extend_fun);
|
|
});
|
|
</script>
|
|
@endsection |