sifangpay/resources/views/merchant/order/index.blade.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