pengchanglu 3 năm trước cách đây
mục cha
commit
02bdce600e

+ 26 - 0
application/admin/controller/Dashboard.php

@@ -43,11 +43,14 @@ class Dashboard extends Backend
             $province = 'province_id';
             //SELECT * ,COUNT(*) AS s   FROM `pi_p_order` WHERE province_id = 1 GROUP BY company_id
             //SELECT c.name,COUNT(*) AS num ,SUM(num) AS sums FROM `pi_p_order` AS o LEFT JOIN `pi_p_company` AS c ON o.`company_id` = c.id  WHERE o.province_id = 1 AND o.createtime>1122 AND o.`createtime`<234 GROUP BY o.company_id
+            $pie_filed = 'company_id';
         } elseif (in_array($adminid, $this->_assoc['out'])) {//产地
             $province = 'source_id';
+            $pie_filed = 'customer_id';
             //SELECT * ,COUNT(*) AS s   FROM `pi_p_order` WHERE source_id = 1 GROUP BY customer_id
         } else {//屠宰场
             $province = 'source_id';
+            $pie_filed = 'customer_id';
             ////SELECT * ,COUNT(*) AS s   FROM `pi_p_order` WHERE source_id = 1 GROUP BY customer_id
         }
 
@@ -56,6 +59,7 @@ class Dashboard extends Backend
         //缓存图表
         $key = __FILE__.__FUNCTION__.'orders'.json_encode($adminid);
         $orders = Cache::get($key);
+        //$orders = false;
         if (!$orders) {
             $column = [];
             $starttime = Date::unixtime('day', -6);
@@ -99,10 +103,30 @@ class Dashboard extends Backend
             'picturesize'     => Attachment::where('mimetype', 'like', 'image/%')->sum('filesize'),
             ];
 
+
+            //饼图
+            $pielist = Db::query('SELECT c.name,COUNT(*) AS num ,SUM(num) AS sums FROM `pi_p_order` AS o LEFT JOIN `pi_p_company` AS c ON o.`'.$pie_filed.'` = c.id  WHERE o.province_id = 1 AND o.createtime>='.$starttime.' AND o.`createtime`<'.$endtime.' GROUP BY o.`'.$pie_filed.'` ;');
+
+            $piecolumn = [];
+            $piedata = [];
+            foreach ($pielist as $key => $value) {
+                $piecolumn[] = $value['name'];
+                //$piecolumn[] = $value['name'].':码个数'.$value['sums'].','.'订单数'.$value['num'];
+                $temp = [];
+                $temp['value'] = $value['sums'];
+                //$temp['name'] = $value['name'].':码个数'.$value['sums'].','.'订单数'.$value['num'];
+                $temp['name'] = $value['name'];
+                $piedata[] = $temp;
+            }
+  /*          print_r($piecolumn);
+            print_r($piedata);
+            exit; */
             $orders = [];
             $orders['codelist'] = $codelist;
             $orders['orderlist'] = $orderlist;
             $orders['datalist'] = $datalist;
+            $orders['piecolumn'] = $piecolumn;
+            $orders['piedata'] = $piedata;
             Cache::set($key, $orders, 300);
         }
 
@@ -110,6 +134,8 @@ class Dashboard extends Backend
         $this->assignconfig('column', array_keys($orders['codelist']));
         $this->assignconfig('codelistdata', array_values($orders['codelist']));
         $this->assignconfig('orderlistdata', array_values($orders['orderlist']));
+        $this->assignconfig('piecolumn', $orders['piecolumn']);
+        $this->assignconfig('piedata', $orders['piedata']);
 
         $this->assign('isadmin', $this->auth->id == 1);
 

+ 3 - 9
public/assets/js/backend/dashboard.js

@@ -114,11 +114,11 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echart
                 legend: {
                     orient: 'vertical',
                     left: 10,
-                    data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
+                    data: Config.piecolumn,
                 },
                 series: [
                     {
-                        name: '访问来源',
+                        name: '码流通统计',
                         type: 'pie',
                         radius: ['50%', '70%'],
                         avoidLabelOverlap: false,
@@ -140,13 +140,7 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echart
                                 show: false
                             }
                         },
-                        data: [
-                            {value: 335, name: '直接访问'},
-                            {value: 310, name: '邮件营销'},
-                            {value: 234, name: '联盟广告'},
-                            {value: 135, name: '视频广告'},
-                            {value: 1548, name: '搜索引擎'}
-                        ]
+                        data: Config.piedata,
                     }
                 ]
             };