sifangpay/resources/views/admin/home/console.blade.php

786 lines
30 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.

@extends('admin.layouts.base')
@section('add_css')
<style>
.layui-card-header {
font-size: 16px;
}
</style>
@endsection
@section('content')
<div class="layui-row layui-col-space15">
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
今日结算
<span class="layui-badge layui-bg-green layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="day_payfor_money">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
今日盈利
<span class="layui-badge layui-bg-green layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="day_profit_money">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
昨日结算
<span class="layui-badge layui-bg-green layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="yesterday_payfor_money">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
昨日盈利
<span class="layui-badge layui-bg-green layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="yesterday_profit_money">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
订单总额
<span class="layui-badge layui-bg-blue layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="month_order_money"></p>
<p>
全部总额
<span class="layuiadmin-span-color" id="month_order_all_money"> </span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
成功支付总额
<span class="layui-badge layui-bg-cyan layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="month_order_ok_money"></p>
<p>
全部成功支付总额
<span class="layuiadmin-span-color" id="month_order_ok_all_money">
</span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
结算金额
<span class="layui-badge layui-bg-orange layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="month_order_payfor_money"></p>
<p>
结算总额
<span class="layuiadmin-span-color" id="month_order_payfor_all_money"></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
平台收入
<span class="layui-badge layui-bg-green layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="month_sys_commiss">0</p>
<p>
全部总收入
<span class="layuiadmin-span-color" id="month_sys_all_commiss">0</span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
本月纯利润收入
<span class="layui-badge layui-bg-green layuiadmin-badge">本月</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font " id="month_final_commiss" style="color:#009688">0</p>
<p>
全部总收入
<span class="layuiadmin-span-color" id="month_final_all_commiss">0</span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
上个月纯利润收入
<span class="layui-badge layui-bg-green layuiadmin-badge">上月</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font " id="prev_month_final_commiss" style="color:#009688">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
提现手续费收入
<span class="layui-badge layui-bg-green layuiadmin-badge">全部</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="day_draw_fee_money" style="color: #49afdd">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
通道成本
<span class="layui-badge layui-bg-green layuiadmin-badge"></span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="month_zf_commiss" style="color: #f46660">0</p>
<p>
全部总支出
<span class="layuiadmin-span-color" id="month_zf_all_commiss">0</span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
成功提现金额
<span class="layui-badge layui-bg-green layuiadmin-badge">全部</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="total_draw_money" style="color: #49afdd">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
<div class="layui-col-sm6 layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">
成功金额
<span class="layui-badge layui-bg-green layuiadmin-badge">今日</span>
</div>
<div class="layui-card-body layuiadmin-card-list">
<p class="layuiadmin-big-font" id="day_pay_money" style="color: #49afdd">0</p>
<p>
&nbsp;
<span class="layuiadmin-span-color" id=""></span>
</p>
</div>
</div>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">待办事项</div>
<div class="layui-card-body">
<ul class="layui-row layui-col-space10 layui-this">
<li class="layui-col-sm4">
<a lay-href="{{ admin_url('DrawMoney') }}" lay-text="商户提现申请"
class="layadmin-backlog-body">
<h3>商户提现申请</h3>
<p><cite id="draw_number"></cite></p>
</a>
</li>
<li class="layui-col-sm4">
<a lay-href="{{ admin_url('DrawMoney') }}" lay-text="今日申请提现总额"
class="layadmin-backlog-body">
<h3>今日申请提现总额</h3>
<p><cite id="day_draw_money"></cite></p>
</a>
</li>
<li class="layui-col-sm4">
<a lay-href="{{ admin_url('Merchant') }}" lay-text="商户等待审核"
class="layadmin-backlog-body">
<h3>商户等待审核</h3>
<p><cite id="merchant_wait_number"></cite></p>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">商户数量</div>
<div class="layui-card-body">
<ul class="layui-row layui-col-space10 layui-this">
<li class="layui-col-sm4">
<a lay-href="{{ admin_url('Merchant') }}" lay-text="股东总理" class="layadmin-backlog-body">
<h3>股东总理</h3>
<p><cite id="merchant_gudong_number"></cite></p>
</a>
</li>
<li class="layui-col-sm4">
<a lay-href="{{ admin_url('Merchant') }}" lay-text="代理总量" class="layadmin-backlog-body">
<h3>代理总量</h3>
<p><cite id="merchant_proxy_number"></cite></p>
</a>
</li>
<li class="layui-col-sm4">
<a lay-href="{{ admin_url('Merchant') }}" lay-text="商户总量" class="layadmin-backlog-body">
<h3>商户总量</h3>
<p><cite id="merchant_number"></cite></p>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12">
<div class="layui-card">
<div class="layui-card-header">
订单量
<div class="layui-card-header-tools">
<input type="text" id="orderRange" class="layui-input">
</div>
</div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-sm12">
<div class="layui-col-sm12 layui-col-md12">
<div id="order_echart" style="width: 100%; height: 350px">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12">
<div class="layui-card">
<div class="layui-card-header">
金额统计
<div class="layui-card-header-tools">
<input type="text" id="orderRange2" class="layui-input">
</div>
</div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-sm12">
<div class="layui-col-sm12 layui-col-md12">
<div id="order_echart2" style="width: 100%; height: 350px">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12">
<div class="layui-card">
<div class="layui-card-header">
成功支付——前10商户订单量
</div>
<div class="layui-card-body ">
<div class="antd-pro-pages-dashboard-analysis-salesExtra">
<a class="js-top-10 antd-pro-pages-dashboard-analysis-currentDate"
data-type="day" data-value="0"><span>今日</span></a>
<a class="js-top-10 "
data-type="day" data-value="-1"><span>昨天</span></a>
<a class="js-top-10" data-type="month" data-value="0"><span>本月</span></a>
<a class="js-top-10" data-type="year" data-value="0"><span>全年</span></a></div>
<div class="table-responsive">
<table class="layui-table layuiadmin-page-table" lay-skin="line">
<thead>
<tr>
<th>商户名</th>
<th>交易笔数</th>
<th>订单总额</th>
<th>结算总额</th>
<th>盈利金额</th>
</tr>
</thead>
<tbody id="top_order_10">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12">
<div class="layui-card">
<div class="layui-card-header">
今日成功率——商户订单量
</div>
<div class="layui-card-body ">
<div class="table-responsive">
<table class="layui-table layuiadmin-page-table" lay-skin="line">
<thead>
<tr>
<th>商户名</th>
<th>交易总额</th>
<th>交易笔数</th>
<th>成功笔数</th>
<th>失败笔数</th>
<th>成功总额</th>
<th>失败总额</th>
<th>失败率</th>
<th>成功率</th>
</tr>
</thead>
<tbody id="success_order_10">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">系统更新日志</div>
<div class="layui-card-body">
<dl class="layuiadmin-card-status">
@if(count($update_log)>0)
@foreach($update_log as $k=>$v)
<dd>
<div>
<p kq-event="msg" data-content="{{ nl2br($v->intro) }}"
data-title="{{ $v->name }}"> {{ $v->name }}</p>
<span>{{ $v->created_at }}</span>
</div>
</dd>
@endforeach
@endif
</dl>
</div>
</div>
</div>
</div>
@endsection
@section('add_js')
<script>
layui.use(['index', 'admin', 'carousel', 'echarts', 'laydate', 'custorm'], function () {
var $ = layui.$
, carousel = layui.carousel
, admin = layui.admin
, element = layui.element
, device = layui.device()
, laydate = layui.laydate
, echarts = layui.echarts;
//layer.load();
var order_url = "{{ admin_url('Statis','index',['type'=>'order','method'=>'orderIndexStatis']) }}";
var merchant_url = "{{ admin_url('Statis','index',['type'=>'order','method'=>'merchantStatis']) }}";
var draw_url = "{{ admin_url('Statis','index',['type'=>'order','method'=>'drawStatis']) }}";
total(order_url);
total(merchant_url);
total(draw_url);
function total(url) {
var index = layer.load();
$.ajax({
url: url,
type: 'get',
data: {
month: 0
},
complete: function () {
layer.close(index);
},
success: function (res) {
if (res.error == 0) {
for (var i in res.data) {
$('#' + i).text(res.data[i])
}
}
}
});
}
var top10_url = "{{ admin_url('Statis','index',['type'=>'order','method'=>'topOrderNumber']) }}";
topOrder(top10_url, "#top_order_10", {day: 0},'pay');
$(".js-top-10").click(function () {
var dtype = $(this).data('type');
var value = $(this).data('value');
$(this).siblings("a").removeClass("antd-pro-pages-dashboard-analysis-currentDate").end().addClass('antd-pro-pages-dashboard-analysis-currentDate');
topOrder(top10_url, "#top_order_10", {[dtype]: value},'pay');
});
//成功率和失败率
var ok_and_fail_url = "{{ admin_url('Statis','index',['type'=>'order','method'=>'successFailNumber']) }}";
topOrder(ok_and_fail_url, "#success_order_10", {day: 0},'failok');
function topOrder(url, obj, where, type) {
var index = layer.load();
where = where || {};
console.log(where);
$.ajax({
url: url,
type: 'get',
data: where,
success: function (res) {
tableHtml(res.data, obj, type)
},
complete: function () {
layer.close(index);
}
});
}
function tableHtml(data, obj, type) {
var html_str = '';
if (!data) {
return false;
}
if(type=='failok')
{
if (!data || data.length <= 0) {
html_str = '<tr><td colspan="7">无记录</td></tr>';
}
for (var i in data) {
html_str += ' <tr>' +
'<td>' + data[i]['merchant_name'] + '</td> ' +
'<td>' + data[i]['order_money'] + '</td> ' +
'<td>' + data[i]['total'] + '</td>' +
'<td style="color:#009688;font-weight: bold">' +( data[i]['ok_total']) + '</td>' +
'<td style="color: #f46660;font-weight: bold">' +( data[i]['total'] - data[i]['ok_total']).toFixed(2) + '</td>' +
'<td>' + data[i]['ok_money'] + '</td>' +
'<td>' + ( data[i]['order_money'] - data[i]['ok_money']).toFixed(2) + '</td>' +
'<td style="color:#f46660;font-weight: bold">' + (( ( data[i]['total'] - data[i]['ok_total'])/data[i]['total'])*100).toFixed(2) + '%</td>' +
'<td style="color: #009688;font-weight: bold">' + (( ( data[i]['ok_total'])/data[i]['total'])*100).toFixed(2) + '%</td>' +
'</tr>';
}
}
if(type=='pay')
{
if (!data || data.length <= 0) {
html_str = '<tr><td colspan="4">无记录</td></tr>';
}
for (var i in data) {
html_str += ' <tr>' +
'<td>' + data[i]['merchants']['name'] + '</td> ' +
'<td>' + data[i]['number'] + '</td>' +
'<td>' + data[i]['pay_money'] + '</td>' +
'<td>' + data[i]['total_money'] + '</td>' +
'<td>' + data[i]['final_money'] + '</td>' +
'</tr>';
}
}
$(obj).empty().append(html_str);
}
//订单量
var day_order_number_url = "{{ admin_url('Statis','index',['type'=>'order','method'=>'dayOrderNumber']) }}";
//访问量
var echartsApp = [];
var order_number_option = {
tooltip: {
trigger: 'axis'
},
calculable: true,
legend: {
data: ['订单总量', '已经支付量', '交易成功量']
},
xAxis: [
{
type: 'category',
data: []
}
],
yAxis: [
{
type: 'value',
name: '量',
axisLabel: {
formatter: '{value}'
}
},
],
series: [
{
name: '订单总量',
type: 'line',
data: []
},
{
name: '已经支付量',
type: 'line',
data: []
},
{
name: '交易成功量',
type: 'line',
data: []
}
]
};
var order_number_option2 = {
tooltip: {
trigger: 'axis'
},
calculable: true,
legend: {
data: ['订单总额', '已支付总额', '交易完成总额']
},
xAxis: [
{
type: 'category',
data: []
}
],
yAxis: [
{
type: 'value',
name: '量',
axisLabel: {
formatter: '{value}'
}
},
],
series: [
{
name: '订单总额',
type: 'line',
data: []
},
{
name: '已支付总额',
type: 'line',
data: []
},
{
name: '交易完成总额',
type: 'line',
data: []
}
]
};
var options = [
order_number_option,
order_number_option2
]
var elemDataView = [];
elemDataView[0] = $('#order_echart');
elemDataView[1] = $('#order_echart2');
var renderDataView = function (index) {
echartsApp[index] = echarts.init(elemDataView[index][0], layui.echartsTheme);
echartsApp[index].setOption(options[index]);
window.onresize = echartsApp[index].resize;
};
//renderDataView(1);
var default_day = "{{ $day_before_7 }} ~ {{ date('Y-m-d') }}";
laydate.render({
elem: '#orderRange',
max: 0
, range: '~'
, value: default_day
, done: function (value, date, endDate) {
console.log(value); //得到日期生成的值2017-08-18
console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
console.log(endDate); //得结束的日期时间对象开启范围选择range: true才会返回。对象成员同上。
echartAjax(day_order_number_url, {timeDay: value}, order_number_fun);
}
});
laydate.render({
elem: '#orderRange2',
max: 0
, range: '~'
, value: default_day
, done: function (value, date, endDate) {
echartAjax(day_order_number_url, {timeDay: value}, function (res) {
order_number_fun(res, 1, 'order_money');
});
}
});
var order_number_fun = function (res, index, field) {
index = index || 0;
field = field || 'number';
var xdata = [];
var data = res.data;
xdata = data.x;
options[index].xAxis[0].data = xdata;
options[index].series[0].data = toArray(data.order.echart[field]);
options[index].series[1].data = toArray(data.order_pay.echart[field]);
options[index].series[2].data = toArray(data.order_ok.echart[field]);
// options[index].series[3].data = toArray(data.order_fail.echart[field]);
renderDataView(index);
};
function toArray(obj) {
var arr = [];
for (let i in obj) {
arr.push(obj[i]); //属性
//arr.push(obj[i]); //值
}
return arr;
}
echartAjax(day_order_number_url, {timeDay: default_day}, order_number_fun);
setTimeout(function () {
echartAjax(day_order_number_url, {timeDay: default_day}, function (res) {
order_number_fun(res, 1, 'order_money');
});
}, 500);
function echartAjax(url, where, fun) {
var index = layer.load();
$.ajax({
url: url,
type: 'get',
data: where,
success: function (res) {
if (res.error == 0) {
if (fun) {
fun(res);
}
}
},
complete: function () {
layer.close(index);
}
});
}
});
</script>
@endsection