You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
6.2 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
@NamelayuiAdmin 主页控制台
@Author贤心
@Sitehttp://www.layui.com/admin/
@LicenseGPL-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(['admin', 'carousel', 'echarts'], function(){
var $ = layui.$
,admin = layui.admin
,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;
admin.resize(function(){
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', {})
});