diff --git a/app/Admin/Controllers/v3/OrderReportController.php b/app/Admin/Controllers/v3/OrderReportController.php index 306dd23..b923d1d 100644 --- a/app/Admin/Controllers/v3/OrderReportController.php +++ b/app/Admin/Controllers/v3/OrderReportController.php @@ -23,7 +23,7 @@ class OrderReportController extends AdminController $marketList = MarketModel::getMarketArray(); - $grid->combine('默认统计今天的数据【'.date('Y-m-d').'】', ['name', 'value'])->responsive()->help('如果未选择时间,则默认只统计当天的所有市场的数据,特殊:现存用户默认统计所有的数据'); + $grid->combine('默认统计今天的数据', ['name', 'value'])->responsive()->help('如果未选择时间,则默认只统计当天的所有市场的数据,特殊:现存用户默认统计所有的数据'); $grid->column('name'); $grid->column('value'); @@ -33,8 +33,14 @@ class OrderReportController extends AdminController $filter->panel(); $filter->equal('market_id','市场')->select($marketList); - $filter->equal('start_time','开始时间')->date(); - $filter->equal('end_time','结束时间')->date(); + // $filter->equal('start_time','开始时间')->date(); + // $filter->equal('end_time','结束时间')->date(); + + $today = date('Y-m-d'); + $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today))); + $timeData = $this->periodDateArr($monthBefore,$today); + + $filter->equal('day','日期')->select($timeData)->default($today); }); // 每页1条 @@ -55,4 +61,20 @@ class OrderReportController extends AdminController }); } + /** + * 获取一个时间段内的日期 + */ + public function periodDateArr($start_time,$end_time){ + $start_time = strtotime($start_time); + $end_time = strtotime($end_time); + $i=0; + $arr = []; + while ($start_time<=$end_time){ + $arr[date('Y-m-d',$start_time)]=date('Y年m月d日',$start_time); + $start_time = strtotime('+1 day',$start_time); + $i++; + } + + return array_reverse($arr); + } } diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php index fb73c57..15b9333 100644 --- a/app/Admin/Repositories/v3/OrderReport.php +++ b/app/Admin/Repositories/v3/OrderReport.php @@ -34,6 +34,13 @@ class OrderReport extends EloquentRepository $marketId = request()->input('market_id'); $startTime = request()->input('start_time'); $endTime = request()->input('end_time'); + + // 日期 + $date = request()->input('day'); + if(!empty($date)){ + $startTime = $date; + $endTime = $date; + } $orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE); $orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE); @@ -99,6 +106,7 @@ class OrderReport extends EloquentRepository } if(empty($startTime) && empty($endTime)){ $time = date('Y-m-d',time()); + $date = $time; $todayStart = $time.' 00:00:00'; $todayEnd = $time.' 23:59:59'; @@ -122,6 +130,7 @@ class OrderReport extends EloquentRepository $storeNewUserNewThree->where([['created_at','<=',strtotime($todayEnd)]]); $storeNewUserNewFour->where([['created_at','<=',strtotime($todayEnd)]]); } + // 订单总额 $orderReportOnline = $orderMainOnline->get()->toArray(); $orderReportOffline = $orderMainOffline->get()->toArray(); @@ -206,6 +215,11 @@ class OrderReport extends EloquentRepository 'key' => 'store_user_total_money', 'name' => '店铺用户每日首单补贴(元)', 'value' => $query['store_user_total_money'] + $query['store_user_total_new_money_zero'] + $query['store_user_total_new_money_one'] + $query['store_user_total_new_money_two'] + $query['store_user_total_new_money_three'] + $query['store_user_total_new_money_four'] + ], + [ + 'key' => 'day', + 'name' => '统计日期', + 'value' => $date ] ];