浏览代码

分类销量排名

moonsflyer 9 月之前
父节点
当前提交
579ae5a0d7
共有 3 个文件被更改,包括 148 次插入145 次删除
  1. 54 2
      app/count/controller/IndexController.php
  2. 94 36
      app/count/view/count/index.html
  3. 0 107
      public/count/js/js.js

+ 54 - 2
app/count/controller/IndexController.php

@@ -138,10 +138,62 @@ class IndexController extends BaseAdminController
 
             $ngv['name'] = mb_substr( $ngv['name'], 0, 6, "UTF-8") . '....'  ;
         }
+
+        $data['newGoodsData'] = $newGoodsData;
         /** 商品统计 end **/
 
-        
-        return view('/count/index', ['newGoodsData' => $newGoodsData]);
+        /** 分类销量排名 start**/
+        $ogcwhere = [];
+        $ogcwhere[]=['gc.level','=','1'];
+
+        $OrderGoodsCategoryInfo =  OrderGoods::alias('og')
+            ->leftJoin('order o','o.id = og.order_id')
+            ->leftJoin('goods g','g.id = og.goods_id')
+            ->leftJoin('goods_category_index gci','gci.goods_id=g.id')
+            ->leftJoin('goods_category gc','gc.id = gci.category_id')
+            ->field('gc.`name` ,sum( og.goods_num) total_num')
+            ->where($where)->where($ogcwhere)
+            ->group('gc.name')
+            ->select()->toArray();
+
+        $goods_category_data = array_column($OrderGoodsCategoryInfo,'total_num');
+
+        $data['order_goods_category'] = $OrderGoodsCategoryInfo;
+        $count = count($goods_category_data);
+        while($count){
+            if($count<3 ) {
+                array_push($goods_category_data,0);
+            }else{
+                break;
+            }
+            $count = count($goods_category_data);
+        }
+        $data['goods_category_data'] = json_encode($goods_category_data);
+        $ogcK = 0;
+        $chars_category = [];
+        foreach ($OrderGoodsCategoryInfo as $ogcv){
+            $ogcK++;
+            $random_data = [30,20,50,40,100,200,300];
+            shuffle($random_data);
+            $randomValue = $random_data[2];
+            $max = substr($ogcv['total_num'] + $randomValue, 0, -1).'0';
+            $ogcv['max'] = $max;
+            unset($ogcv['total_num']);
+            $chars_category[]=$ogcv;
+        }
+        while($ogcK){
+            $categorys['name']='填充';
+            $categorys['max']='0';
+            if($ogcK<3 ) {
+                $chars_category[]=$categorys;
+            }else{
+                break;
+            }
+            $ogcK++;
+        }
+        $data['chars_category'] = json_encode($chars_category);
+        /** 分类销量排名 end**/
+        return view('/count/index', $data);
     }
 
 }

+ 94 - 36
app/count/view/count/index.html

@@ -3,7 +3,7 @@
 
 <head>
 	<meta charset="utf-8">
-	<!-- <meta http-equiv="refresh" content="60;url='http://mtw.so/5FRdFE'"> -->
+	<meta http-equiv="refresh" content="3600" />
 	<title>乳山市数字供销智慧平台</title>
 	<script type="text/javascript" src="js/jquery.js"></script>
 	<script type="text/javascript" src="js/echarts.min.js"></script>
@@ -29,7 +29,7 @@
 			</ul>
 		</div>
 
-		<div class="time" id="showTime">2018/6/12 17:00:12</div>
+		<div class="time" id="showTime"></div>
 		<script>
 			var t = null;
 			t = setTimeout(time, 1000);//開始运行
@@ -42,8 +42,9 @@
 				var h = dt.getHours();//获取时
 				var m = dt.getMinutes();//获取分
 				var s = dt.getSeconds();//获取秒
+				if(s<10) s = '0'+s;
 				document.getElementById("showTime").innerHTML = y + "/" + mt + "/" + day + " " + h + ":" + m + ":" + s + "";
-				t = setTimeout(time, 1000); //设定定时器,循环运行     
+				t = setTimeout(time, 1000); //设定定时器,循环运行
 			}
 
 		</script>
@@ -77,22 +78,6 @@
 									</td>
 								</tr>
 								{/volist}
-<!--								<tr>-->
-<!--									<td>类型1</td>-->
-<!--									<td><span class="text-w">1000万</span></td>-->
-<!--									<td><span class="text-b">900万</span></td>-->
-<!--									<td>-->
-<!--										<div class="text-d">↑12%</div>-->
-<!--									</td>-->
-<!--								</tr>-->
-<!--								<tr>-->
-<!--									<td>类型1</td>-->
-<!--									<td><span class="text-w">1000万</span></td>-->
-<!--									<td><span class="text-b">900万</span></td>-->
-<!--									<td>-->
-<!--										<div class="text-s">↓12%</div>-->
-<!--									</td>-->
-<!--								</tr>-->
 							</tbody>
 						</table>
 					</div>
@@ -103,21 +88,11 @@
 						<div class="" style="height: 190px" id="echart1"></div>
 						<div class="leidanav">
 							<ul class="clearfix">
-								<li><span>分类1</span>
-									<p>43</p>
-								</li>
-								<li><span>分类2</span>
-									<p>100</p>
-								</li>
-								<li><span>分类3</span>
-									<p>28</p>
-								</li>
-								<li><span>分类4</span>
-									<p>3</p>
-								</li>
-								<li><span>分类5</span>
-									<p>150</p>
+								{volist name="order_goods_category" id='category'}
+								<li><span>{$category.name}</span>
+									<p>{$category.total_num}</p>
 								</li>
+								{/volist}
 							</ul>
 						</div>
 					</div>
@@ -319,10 +294,93 @@
 			</ul>
 		</div>
 
-
+		<input id="chars_category_data" value="{$chars_category}" hidden/>
+		<input id="category_data" value="{$goods_category_data}" hidden/>
 	</div>
 </body>
-<script>
-
+<script >
+	function echarts_1() {
+		// 基于准备好的dom,初始化echarts实例
+		var myChart = echarts.init(document.getElementById('echart1'));
+		var category_data = JSON.parse(document.getElementById('category_data').value);
+		var chars_category_data = JSON.parse(document.getElementById('chars_category_data').value);
+
+		var data = [{
+			title: '乳山市'
+		},
+			['本年'],
+			chars_category_data,
+			category_data,
+		]
+		option = {
+			color: ['#9DD060', '#35C96E', '#4DCEF8'],
+			tooltip: {},
+			radar: {
+				center: ['50%', '50%'],
+				radius: ["25%", "70%"],
+				name: {
+					textStyle: {
+						color: '#72ACD1'
+					}
+				},
+				splitLine: {
+					lineStyle: {
+						color: 'rgba(255,255,255,.0',
+						width: 2
+					}
+				},
+				axisLine: {
+					lineStyle: {
+						color: 'rgba(255,255,255,0.2)',
+						width: 1,
+						type: 'dotted'
+					},
+				},
+				splitArea: {
+					areaStyle: {
+						color: ['rgba(255,255,255,.1)', 'rgba(255,255,255,0)']
+					}
+				},
+				indicator: data[2]
+			},
+			series: [{
+				name: '',
+				type: 'radar',
+				data: [{
+					areaStyle: {
+						normal: {
+							opacity: 0.3,
+						}
+					},
+					value: data[3],
+					name: data[1][0]
+				},
+					{
+						areaStyle: {
+							normal: {
+								opacity: 0.3,
+							}
+						},
+						value: data[4],
+						name: data[1][1]
+					},
+					{
+						areaStyle: {
+							normal: {
+								opacity: 0.3,
+							}
+						},
+						value: data[5],
+						name: data[1][2]
+					}
+				]
+			}]
+		};
+		// 使用刚指定的配置项和数据显示图表。
+		myChart.setOption(option);
+		window.addEventListener("resize",function(){
+			myChart.resize();
+		});
+	}
 </script>
 </html>

+ 0 - 107
public/count/js/js.js

@@ -1,115 +1,8 @@
  $(window).load(function(){$(".loading").fadeOut()})  
 $(function () {
-    echarts_1();
 echarts_4()
 echarts_31()
-function echarts_1() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('echart1'));
-     var data = [{
-        title: '乳山市'
-    },
-    ['本周'],
-    [{
-        name: '分类1',
-        max: 150
-    }, {
-        name: '分类2',
-        max: 150
-    }, {
-        name: '分类3',
-        max: 150
-    }, {
-        name: '分类4',
-        max: 150
-    }, {
-        name: '分类5',
-        max: 150
-    }],
-    [43, 100, 28, 3, 150],
-]
-option = {
-
-    color: ['#9DD060', '#35C96E', '#4DCEF8'],
-
-    tooltip: {},
-  
-    radar: {
-        center: ['50%', '50%'],
-	 radius: ["25%", "70%"],
-		
-        name: {
-            textStyle: {
-                color: '#72ACD1'
-            }
-        },
-
-          splitLine: {
-
-              lineStyle: {
-
-                  color: 'rgba(255,255,255,.0',
-
-                  width: 2
 
-              }
-
-          },
-          axisLine: {
-              lineStyle: {
-                  color: 'rgba(255,255,255,0.2)',
-                  width: 1,
-                  type: 'dotted'
-
-              },
-
-          },
-        splitArea: {
-            areaStyle: {
-                  color: ['rgba(255,255,255,.1)', 'rgba(255,255,255,0)']
-              }
-        },
-        indicator: data[2]
-    },
-    series: [{
-        name: '',
-        type: 'radar',
-        data: [{
-                areaStyle: {
-                    normal: {
-                        opacity: 0.3,
-                    }
-                },
-                value: data[3],
-                name: data[1][0]
-            },
-            {
-                areaStyle: {
-                    normal: {
-                        opacity: 0.3,
-                    }
-                },
-                value: data[4],
-                name: data[1][1]
-            },
-            {
-                areaStyle: {
-                    normal: {
-                        opacity: 0.3,
-                    }
-                },
-                value: data[5],
-                name: data[1][2]
-            }
-        ]
-    }]
-};
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
 function echarts_4() {
         // 基于准备好的dom,初始化echarts实例
         var myChart = echarts.init(document.getElementById('echart4'));