| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
 | | /** |  |   |  |  @Name:layuiAdmin 主页控制台 |  |  @Author:贤心 |  |  @Site:http://www.layui.com/admin/ |  |  @License:GPL-2 |  |      |  |  */ |  |   |  |   |  | layui.define(function(exports){ |  |    |  |   /* |  |     下面通过 layui.use 分段加载不同的模块,实现不同区域的同时渲染,从而保证视图的快速呈现 |  |   */ |  |    |  |    |  |   //区块轮播切换 |  |   layui.use(['admin', 'carousel'], function(){ |  |     var $ = layui.$ |  |     ,admin = layui.admin |  |     ,carousel = layui.carousel |  |     ,element = layui.element |  |     ,device = layui.device(); |  |   |  |     //轮播切换 |  |     $('.layadmin-carousel').each(function(){ |  |       var othis = $(this); |  |       carousel.render({ |  |         elem: this |  |         ,width: '100%' |  |         ,arrow: 'none' |  |         ,interval: othis.data('interval') |  |         ,autoplay: othis.data('autoplay') === true |  |         ,trigger: (device.ios || device.android) ? 'click' : 'hover' |  |         ,anim: othis.data('anim') |  |       }); |  |     }); |  |      |  |     element.render('progress'); |  |      |  |   }); |  |   |  |   //数据概览 |  |   layui.use(['carousel', 'echarts'], function(){ |  |     var $ = layui.$ |  |     ,carousel = layui.carousel |  |     ,echarts = layui.echarts; |  |      |  |     var echartsApp = [], options = [ |  |       //今日流量趋势 |  |       { |  |         title: { |  |           text: '今日流量趋势', |  |           x: 'center', |  |           textStyle: { |  |             fontSize: 14 |  |           } |  |         }, |  |         tooltip : { |  |           trigger: 'axis' |  |         }, |  |         legend: { |  |           data:['',''] |  |         }, |  |         xAxis : [{ |  |           type : 'category', |  |           boundaryGap : false, |  |           data: ['06:00','06:30','07:00','07:30','08:00','08:30','09:00','09:30','10:00','11:30','12:00','12:30','13:00','13:30','14:00','14:30','15:00','15:30','16:00','16:30','17:00','17:30','18:00','18:30','19:00','19:30','20:00','20:30','21:00','21:30','22:00','22:30','23:00','23:30'] |  |         }], |  |         yAxis : [{ |  |           type : 'value' |  |         }], |  |         series : [{ |  |           name:'PV', |  |           type:'line', |  |           smooth:true, |  |           itemStyle: {normal: {areaStyle: {type: 'default'}}}, |  |           data: [111,222,333,444,555,666,3333,33333,55555,66666,33333,3333,6666,11888,26666,38888,56666,42222,39999,28888,17777,9666,6555,5555,3333,2222,3111,6999,5888,2777,1666,999,888,777] |  |         },{ |  |           name:'UV', |  |           type:'line', |  |           smooth:true, |  |           itemStyle: {normal: {areaStyle: {type: 'default'}}}, |  |           data: [11,22,33,44,55,66,333,3333,5555,12666,3333,333,666,1188,2666,3888,6666,4222,3999,2888,1777,966,655,555,333,222,311,699,588,277,166,99,88,77] |  |         }] |  |       }, |  |        |  |       //访客浏览器分布 |  |       {  |  |         title : { |  |           text: '访客浏览器分布', |  |           x: 'center', |  |           textStyle: { |  |             fontSize: 14 |  |           } |  |         }, |  |         tooltip : { |  |           trigger: 'item', |  |           formatter: "{a} <br/>{b} : {c} ({d}%)" |  |         }, |  |         legend: { |  |           orient : 'vertical', |  |           x : 'left', |  |           data:['Chrome','Firefox','IE 8.0','Safari','其它浏览器'] |  |         }, |  |         series : [{ |  |           name:'访问来源', |  |           type:'pie', |  |           radius : '55%', |  |           center: ['50%', '50%'], |  |           data:[ |  |             {value:9052, name:'Chrome'}, |  |             {value:1610, name:'Firefox'}, |  |             {value:3200, name:'IE 8.0'}, |  |             {value:535, name:'Safari'}, |  |             {value:1700, name:'其它浏览器'} |  |           ] |  |         }] |  |       }, |  |        |  |       //新增的用户量 |  |       { |  |         title: { |  |           text: '最近一周新增的用户量', |  |           x: 'center', |  |           textStyle: { |  |             fontSize: 14 |  |           } |  |         }, |  |         tooltip : { //提示框 |  |           trigger: 'axis', |  |           formatter: "{b}<br>新增用户:{c}" |  |         }, |  |         xAxis : [{ //X轴 |  |           type : 'category', |  |           data : ['11-07', '11-08', '11-09', '11-10', '11-11', '11-12', '11-13'] |  |         }], |  |         yAxis : [{  //Y轴 |  |           type : 'value' |  |         }], |  |         series : [{ //内容 |  |           type: 'line', |  |           data:[200, 300, 400, 610, 150, 270, 380], |  |         }] |  |       } |  |     ] |  |     ,elemDataView = $('#LAY-index-dataview').children('div') |  |     ,renderDataView = function(index){ |  |       echartsApp[index] = echarts.init(elemDataView[index], layui.echartsTheme); |  |       echartsApp[index].setOption(options[index]); |  |       window.onresize = echartsApp[index].resize; |  |     }; |  |      |  |      |  |     //没找到DOM,终止执行 |  |     if(!elemDataView[0]) return; |  |      |  |      |  |      |  |     renderDataView(0); |  |      |  |     //监听数据概览轮播 |  |     var carouselIndex = 0; |  |     carousel.on('change(LAY-index-dataview)', function(obj){ |  |       renderDataView(carouselIndex = obj.index); |  |     }); |  |      |  |     //监听侧边伸缩 |  |     layui.admin.on('side', function(){ |  |       setTimeout(function(){ |  |         renderDataView(carouselIndex); |  |       }, 300); |  |     }); |  |      |  |     //监听路由 |  |     layui.admin.on('hash(tab)', function(){ |  |       layui.router().path.join('') || renderDataView(carouselIndex); |  |     }); |  |   }); |  |   |  |   //最新订单 |  |   layui.use('table', function(){ |  |     var $ = layui.$ |  |     ,table = layui.table; |  |      |  |     //今日热搜 |  |     table.render({ |  |       elem: '#LAY-index-topSearch' |  |       ,url: layui.setter.base + 'json/console/top-search.js' //模拟接口 |  |       ,page: true |  |       ,cols: [[ |  |         {type: 'numbers', fixed: 'left'} |  |         ,{field: 'keywords', title: '关键词', minWidth: 300, templet: '<div><a href="https://www.baidu.com/s?wd={{ d.keywords }}" target="_blank" class="layui-table-link">{{ d.keywords }}</div>'} |  |         ,{field: 'frequency', title: '搜索次数', minWidth: 120, sort: true} |  |         ,{field: 'userNums', title: '用户数', sort: true} |  |       ]] |  |       ,skin: 'line' |  |     }); |  |      |  |     //今日热贴 |  |     table.render({ |  |       elem: '#LAY-index-topCard' |  |       ,url: layui.setter.base + 'json/console/top-card.js' //模拟接口 |  |       ,page: true |  |       ,cellMinWidth: 120 |  |       ,cols: [[ |  |         {type: 'numbers', fixed: 'left'} |  |         ,{field: 'title', title: '标题', minWidth: 300, templet: '<div><a href="{{ d.href }}" target="_blank" class="layui-table-link">{{ d.title }}</div>'} |  |         ,{field: 'username', title: '发帖者'} |  |         ,{field: 'channel', title: '类别'} |  |         ,{field: 'crt', title: '点击率', sort: true} |  |       ]] |  |       ,skin: 'line' |  |     }); |  |   }); |  |    |  |   exports('console', {}) |  | }); | 
 |