Browse Source

优化控制台显示细节

huangsanjia 3 years ago
parent
commit
9f20eb4d2f
2 changed files with 41 additions and 12 deletions
  1. 39 11
      application/admin/controller/Dashboard.php
  2. 2 1
      public/assets/js/backend/dashboard.js

+ 39 - 11
application/admin/controller/Dashboard.php

@@ -102,19 +102,47 @@ class Dashboard extends Backend
     }
 
     public function ecDashboard(){
+        $company_id = $_SESSION['think']['admin']['company_id'];//查询对应公司id
 //      $date = date('Y-m-d 23:59:59',strtotime("last Monday"));
-        $date = date('Y-m-d',strtotime("-6 days"));
-        $end = date('Y-m-d');
-        $r = $this->getDateFromRange($date,$end);
-        foreach ($r as $k=>$v){
-            $company_id = $_SESSION['think']['admin']['company_id'];//查询对应公司id
-            $orderdate = Db::name('order')->where('company_id',$company_id)->where('date',">",$v)->select();
-            if ($orderdate) {
-                return $orderdate;
-            } else {
-                return 0;
-            }
+//      $date = date('Y-m-d',strtotime("-6 days"));
+//      $end = date('Y-m-d');
+//      $r = $this->getDateFromRange($date,$end);
+//      foreach ($r as $k=>$v){
+//            $orderdate = Db::name('order')->where('company_id',$company_id)->where('date',">",$v)->select();
+//            if ($orderdate) {
+//                return $orderdate;
+//            } else {
+//                return 0;
+//            }
+//        }
+        /**
+         * 查出此公司一周内每一天的订单数量,返回到前台
+         * 1、组合日期数组
+         * 2、根据日期循环查询订单量,返回数据
+        */
+        $date = strtotime(date('Y-m-d'));
+        $oneDay = 24*60*60;
+        $data = array();
+        for ($i=6;$i>=0;$i--){
+           if ($i == 0){
+               $data[$i] = date('Y-m-d',$date);
+           }else{
+               $data[$i] = date('Y-m-d',$date - $oneDay * $i);
+           }
+        }
+        sort($data);//数组重新拍序
+        $order = array();
+        foreach ($data as $key=>$value){
+            /**
+             * 拼接下日期,查询当日0点到24点
+            */
+            $map = array();
+            $start_value = $value.' 00:00:00';
+            $end_value = $value.' 24:00:00';
+            $map['create'] = array('between time',[$start_value,$end_value]);
+            $order[$key] = Db::name('order')->where('company_id',$company_id)->where($map)->count();
         }
+        return $order;
     }
 
 

+ 2 - 1
public/assets/js/backend/dashboard.js

@@ -59,7 +59,8 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echart
                                 emphasis: {
                                     focus: 'series'
                                 },
-                                data: [1,1,10,30,35,0,result]
+                                // data: [1,1,10,30,35,0,result]
+                                data: result
                             },
                         ]
                     };