Browse Source

订单面板数据卡片

master
lanzu_qinsheng 5 years ago
parent
commit
25257ca7c8
  1. 29
      app/Admin/Controllers/HomeController.php
  2. 8
      app/Admin/Controllers/ImsCjdcOrderMainController.php
  3. 99
      app/Admin/Metrics/Examples/Order/OrderData.php

29
app/Admin/Controllers/HomeController.php

@ -11,19 +11,20 @@ use Dcat\Admin\Layout\Row;
use Dcat\Admin\Admin; use Dcat\Admin\Admin;
class HomeController extends Controller class HomeController extends Controller
{ {
public function index(Content $content) public function index(Content $content)
{ {
if (Admin::user()->isRole('lanzu_business')) { if (Admin::user()->isRole('lanzu_business')) {
return $this->lanzu_biz($content); return $this->lanzu_biz($content);
}elseif (Admin::user()->isRole('lanzu_mp')) {
} elseif (Admin::user()->isRole('lanzu_mp')) {
return $this->lanzu_mp($content); return $this->lanzu_mp($content);
}elseif (Admin::user()->isRole('lanzu_mm')) {
} elseif (Admin::user()->isRole('lanzu_mm')) {
return $this->lanzu_mm($content); return $this->lanzu_mm($content);
}elseif (Admin::user()->isRole('lanzu_cs')){
} elseif (Admin::user()->isRole('lanzu_cs')) {
return $this->lanzu_cs($content); return $this->lanzu_cs($content);
} elseif (Admin::user()->isRole('market_service')) {
return $this->market_service($content);
} }
return $this->default($content); return $this->default($content);
@ -59,7 +60,7 @@ class HomeController extends Controller
->description('欢迎回到懒族后台') ->description('欢迎回到懒族后台')
->body(function (Row $row) { ->body(function (Row $row) {
$row->column(4, function (Column $column) { $row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,1));
$column->row(new Examples\Community\TotalAmount(Admin::user()->id, 1));
}); });
$row->column(4, function (Column $column) { $row->column(4, function (Column $column) {
@ -74,7 +75,7 @@ class HomeController extends Controller
->description('欢迎回到懒族后台') ->description('欢迎回到懒族后台')
->body(function (Row $row) { ->body(function (Row $row) {
$row->column(3, function (Column $column) { $row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,2));
$column->row(new Examples\Community\TotalAmount(Admin::user()->id, 2));
}); });
$row->column(3, function (Column $column) { $row->column(3, function (Column $column) {
@ -113,9 +114,23 @@ class HomeController extends Controller
}); });
$row->column(4, function (Column $column) { $row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,3));
$column->row(new Examples\Community\TotalAmount(Admin::user()->id, 3));
}); });
}); });
} }
protected function market_service(Content $content)
{
return $content->header('控制面板')
->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(4, function (Column $column) {
$column->row(new Examples\Order\OrderData('订单数'));
});
$row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id, 3));
});
});
}
} }

8
app/Admin/Controllers/ImsCjdcOrderMainController.php

@ -53,11 +53,11 @@ class ImsCjdcOrderMainController extends AdminController
->label([1 => 'dark', 2 => 'danger', 3 => 'indigo', 4 => 'success',8=>'warning']); ->label([1 => 'dark', 2 => 'danger', 3 => 'indigo', 4 => 'success',8=>'warning']);
$grid->money; $grid->money;
$grid->column('market.name', '所属市场'); $grid->column('market.name', '所属市场');
$grid->pay_time('支付时间')->display(function () {
return date('Y-m-d H:i:s');
$grid->pay_time('支付时间')->display(function ($time) {
return date('Y-m-d H:i:s',$time);
}); });
$grid->created_at('下单时间')->display(function () {
return date('Y-m-d H:i:s');
$grid->created_at('下单时间')->display(function ($time) {
return date('Y-m-d H:i:s',$time);
}); });
$grid->actions(function (Grid\Displayers\Actions $actions) use ($grid) { $grid->actions(function (Grid\Displayers\Actions $actions) use ($grid) {

99
app/Admin/Metrics/Examples/Order/OrderData.php

@ -0,0 +1,99 @@
<?php
namespace App\Admin\Metrics\Examples\Order;
use App\Models\ImsCjdcOrder;
use App\Models\ImsCjdcOrderMain;
use Dcat\Admin\Widgets\Metrics\Card;
use Illuminate\Http\Request;
class OrderData extends Card
{
protected $title;
public function __construct($title = null, $icon = null)
{
$this->title = $title;
parent::__construct($title, $icon);
}
public function init()
{
parent::init(); // TODO: Change the autogenerated stub
$this->dropdown([
'1'=>'今日',
'-1'=>'昨日',
'7'=>'过去一周',
'30'=>'本月',
'-30'=>'上月'
]);
}
public function handle(Request $request)
{
$type = $request->get('option');
$this->content($this->orderNum('',$type));
}
public function orderNum($marketId=null,$type=null)
{
$where = [];
$where['type'] = 1;
if ($marketId){
$where['market_id'] = $marketId;
}
switch ($type){
case '1':
$beginTime=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
break;
case '-1':
$beginTime=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
break;
case '7':
$beginTime=mktime(0,0,0,date('m'),date('d')-7,date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
break;
case '30':
$beginTime=mktime(0,0,0,date('m'),1,date('Y'));
$endTime=mktime(23,59,59,date('m'),date('t'),date('Y'));
break;
case '-30':
$beginTime=mktime(0,0,0,date('m')-1,1,date('Y'));
$endTime=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))));
break;
default:
$beginTime=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
break;
}
$count = ImsCjdcOrderMain
::whereBetween('created_at',[$beginTime,$endTime])
->whereIn('state',[3,4,5,10])
->where($where)
->count();
return $count;
}
/**
* 渲染卡片内容
* @return string
*/
public function renderContent()
{
$content = parent::renderContent();
return <<<HTML
<div class="d-flex justify-content-between align-items-center mt-1" style="margin-bottom: 2px">
<h2 class="ml-1 font-large-1">{$content}</h2>
</div>
HTML;
}
}
Loading…
Cancel
Save