From c903f86b142d67828a2a005efa77e5711bb84846 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Sat, 12 Sep 2020 17:37:20 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/market_service.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/market_service.php b/config/market_service.php index 15e5df0..bcb872b 100644 --- a/config/market_service.php +++ b/config/market_service.php @@ -1,5 +1,5 @@ [98,99], - 'market_id'=>[98=>1,99=>2] + 'admin_user_id'=>[98,99,100,101], + 'market_id'=>[98=>1,99=>2,100=>3,101=>4] ]; From 25257ca7c8fd1cb0f8e7c6c4457a2f41f1bf50d8 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Sat, 12 Sep 2020 21:01:33 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=20=E8=AE=A2=E5=8D=95=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8D=A1=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/HomeController.php | 29 ++++-- .../ImsCjdcOrderMainController.php | 8 +- .../Metrics/Examples/Order/OrderData.php | 99 +++++++++++++++++++ 3 files changed, 125 insertions(+), 11 deletions(-) create mode 100644 app/Admin/Metrics/Examples/Order/OrderData.php diff --git a/app/Admin/Controllers/HomeController.php b/app/Admin/Controllers/HomeController.php index 12bd86b..4960a87 100644 --- a/app/Admin/Controllers/HomeController.php +++ b/app/Admin/Controllers/HomeController.php @@ -11,19 +11,20 @@ use Dcat\Admin\Layout\Row; use Dcat\Admin\Admin; - class HomeController extends Controller { public function index(Content $content) { if (Admin::user()->isRole('lanzu_business')) { return $this->lanzu_biz($content); - }elseif (Admin::user()->isRole('lanzu_mp')) { + } elseif (Admin::user()->isRole('lanzu_mp')) { return $this->lanzu_mp($content); - }elseif (Admin::user()->isRole('lanzu_mm')) { + } elseif (Admin::user()->isRole('lanzu_mm')) { return $this->lanzu_mm($content); - }elseif (Admin::user()->isRole('lanzu_cs')){ + } elseif (Admin::user()->isRole('lanzu_cs')) { return $this->lanzu_cs($content); + } elseif (Admin::user()->isRole('market_service')) { + return $this->market_service($content); } return $this->default($content); @@ -59,7 +60,7 @@ class HomeController extends Controller ->description('欢迎回到懒族后台') ->body(function (Row $row) { $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) { @@ -74,7 +75,7 @@ class HomeController extends Controller ->description('欢迎回到懒族后台') ->body(function (Row $row) { $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) { @@ -113,9 +114,23 @@ class HomeController extends Controller }); $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)); + }); + }); + } } diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index e74167b..6e3c5ee 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -53,11 +53,11 @@ class ImsCjdcOrderMainController extends AdminController ->label([1 => 'dark', 2 => 'danger', 3 => 'indigo', 4 => 'success',8=>'warning']); $grid->money; $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) { diff --git a/app/Admin/Metrics/Examples/Order/OrderData.php b/app/Admin/Metrics/Examples/Order/OrderData.php new file mode 100644 index 0000000..ab74cef --- /dev/null +++ b/app/Admin/Metrics/Examples/Order/OrderData.php @@ -0,0 +1,99 @@ +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 << +

{$content}

+ +HTML; + } +} From d2d284f636601efc96c9572083b303cb07cf18c2 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Sun, 13 Sep 2020 21:41:58 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/HomeController.php | 4 +- .../Metrics/Examples/Order/OrderData.php | 41 ++++++++++++++----- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/app/Admin/Controllers/HomeController.php b/app/Admin/Controllers/HomeController.php index 4960a87..ddccd9e 100644 --- a/app/Admin/Controllers/HomeController.php +++ b/app/Admin/Controllers/HomeController.php @@ -125,11 +125,11 @@ class HomeController extends Controller ->description('欢迎回到懒族后台') ->body(function (Row $row) { $row->column(4, function (Column $column) { - $column->row(new Examples\Order\OrderData('订单数')); + $column->row(new Examples\Order\OrderData('number','订单数')); }); $row->column(4, function (Column $column) { - $column->row(new Examples\Community\TotalAmount(Admin::user()->id, 3)); + $column->row(new Examples\Order\OrderData('amount','订单金额')); }); }); } diff --git a/app/Admin/Metrics/Examples/Order/OrderData.php b/app/Admin/Metrics/Examples/Order/OrderData.php index ab74cef..3da40a2 100644 --- a/app/Admin/Metrics/Examples/Order/OrderData.php +++ b/app/Admin/Metrics/Examples/Order/OrderData.php @@ -11,11 +11,11 @@ use Illuminate\Http\Request; class OrderData extends Card { protected $title; - - - public function __construct($title = null, $icon = null) + protected $data_type; + public function __construct($data_type=null,$title = null, $icon = null) { $this->title = $title; + $this->data_type = $data_type; parent::__construct($title, $icon); } @@ -34,11 +34,12 @@ class OrderData extends Card public function handle(Request $request) { - $type = $request->get('option'); - $this->content($this->orderNum('',$type)); + $type = $request->get('option');//数据选项 + $data_type = $request->get('data_type');//数据类型 + $this->content($this->orderNum($data_type,$type)); } - public function orderNum($marketId=null,$type=null) + public function orderNumBuild($marketId=null,$type=null) { $where = []; @@ -73,16 +74,36 @@ class OrderData extends Card $endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; break; } - $count = ImsCjdcOrderMain + $build = ImsCjdcOrderMain ::whereBetween('created_at',[$beginTime,$endTime]) ->whereIn('state',[3,4,5,10]) - ->where($where) - ->count(); + ->where($where); + return $build; + } - return $count; + + public function orderNum($data_type,$type) + { + $build = $this->orderNumBuild($marketId=null,$type); + if ($data_type=='number'){ + $result = $build->count(); + }elseif ($data_type=='amount'){ + $result = $build->sum('money'); + }else{ + $result = 0; + } + return $result; } + // 传递自定义参数到 handle 方法 + public function parameters() : array + { + return [ + 'data_type'=>$this->data_type + ]; + } + /** * 渲染卡片内容 * @return string From de2942510eb87e898ac1b75f544b53529af8afdd Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Sun, 13 Sep 2020 21:46:19 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=8D=A1=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Metrics/Examples/Order/OrderData.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Admin/Metrics/Examples/Order/OrderData.php b/app/Admin/Metrics/Examples/Order/OrderData.php index 3da40a2..f6a8c4b 100644 --- a/app/Admin/Metrics/Examples/Order/OrderData.php +++ b/app/Admin/Metrics/Examples/Order/OrderData.php @@ -39,7 +39,7 @@ class OrderData extends Card $this->content($this->orderNum($data_type,$type)); } - public function orderNumBuild($marketId=null,$type=null) + public function orderDataBuild($marketId=null,$type=null) { $where = []; @@ -84,7 +84,7 @@ class OrderData extends Card public function orderNum($data_type,$type) { - $build = $this->orderNumBuild($marketId=null,$type); + $build = $this->orderDataBuild($marketId=null,$type); if ($data_type=='number'){ $result = $build->count(); }elseif ($data_type=='amount'){ From c8bacc6a46e91c56343374f6412b414936537610 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Mon, 14 Sep 2020 10:34:36 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AuthController.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Admin/Controllers/AuthController.php b/app/Admin/Controllers/AuthController.php index fe2e55d..6857f47 100644 --- a/app/Admin/Controllers/AuthController.php +++ b/app/Admin/Controllers/AuthController.php @@ -3,7 +3,6 @@ namespace App\Admin\Controllers; use App\Models\AdminUsers; -use Dcat\Admin\Admin; use Dcat\Admin\Controllers\AuthController as BaseAuthController; use Illuminate\Http\Request;