517 lines
14 KiB
HTML
517 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>数据分析</title>
|
||
<meta name="renderer" content="webkit">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||
<link rel="stylesheet" href="../../component/pear/css/pear.css" />
|
||
<link rel="stylesheet" href="../../admin/css/other/console2.css" />
|
||
</head>
|
||
<body class="pear-container">
|
||
<div class="layui-row layui-col-space10">
|
||
<div class="layui-col-md8">
|
||
<div class="layui-row layui-col-space10">
|
||
<div class="layui-col-md6">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">
|
||
快捷菜单
|
||
</div>
|
||
<div class="layui-card-body">
|
||
<div class="layui-row layui-col-space10">
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home1" data-title="主页"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-home"></i>
|
||
</div>
|
||
<span class="pear-card-title">主页</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home2" data-title="弹层"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-camera"></i>
|
||
</div>
|
||
<span class="pear-card-title">弹层</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home2" data-title="聊天"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-star"></i>
|
||
</div>
|
||
<span class="pear-card-title">聊天</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home3" data-title="相机"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-camera"></i>
|
||
</div>
|
||
<span class="pear-card-title">相机</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home4" data-title="表单"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-console"></i>
|
||
</div>
|
||
<span class="pear-card-title">表单</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home5" data-title="安全"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-auz"></i>
|
||
</div>
|
||
<span class="pear-card-title">安全</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home6" data-title="公告"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-cart"></i>
|
||
</div>
|
||
<span class="pear-card-title">公告</span>
|
||
</div>
|
||
<div class="layui-col-md3 layui-col-sm3 layui-col-xs3">
|
||
<div class="pear-card" data-id="home7" data-title="更多"
|
||
data-url="http://www.baidu.com">
|
||
<i class="layui-icon layui-icon-app"></i>
|
||
</div>
|
||
<span class="pear-card-title">更多</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md6">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">
|
||
代办任务
|
||
</div>
|
||
<div class="layui-card-body">
|
||
<div class="layui-row layui-col-space10">
|
||
<div class="layui-col-md6 layui-col-sm6 layui-col-xs6">
|
||
<div class="pear-card2">
|
||
<div class="title">待审评论</div>
|
||
<div class="count pear-text">21</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md6 layui-col-sm6 layui-col-xs6">
|
||
<div class="pear-card2">
|
||
<div class="title">待审帖子</div>
|
||
<div class="count pear-text">32</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md6 layui-col-sm6 layui-col-xs6">
|
||
<div class="pear-card2">
|
||
<div class="title">待审文章</div>
|
||
<div class="count pear-text">14</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md6 layui-col-sm6 layui-col-xs6">
|
||
<div class="pear-card2">
|
||
<div class="title">待审用户</div>
|
||
<div class="count pear-text">63</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-body">
|
||
<div class="layui-tab custom-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
||
<div id="echarts-records" style="background-color:#ffffff;min-height:400px;"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">
|
||
使用记录
|
||
</div>
|
||
<div class="layui-card-body">
|
||
<table id="role-table" lay-filter="role-table"></table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md4">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">留言板</div>
|
||
<div class="layui-card-body">
|
||
<ul class="pear-card-status">
|
||
<li>
|
||
<p>要不要作为我的家人,搬来我家。</p>
|
||
<span>12月25日 19:92</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>快乐的时候不敢尽兴,频繁警戒自己保持清醒。</p>
|
||
<span>4月30日 22:43</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>夏天真的来了,尽管它还有些犹豫。</p>
|
||
<span>4月30日 22:43</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>看似不可达到的高度,只要坚持不懈就可能到达。</p>
|
||
<span>4月30日 22:43</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>当浑浊变成了一种常态,那么清白就成了一种罪过。</p>
|
||
<span>4月30日 22:43</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>那是一种内在的东西,他们到达不了,也无法触及!</p>
|
||
<span>5月12日 01:25</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
</li>
|
||
<li>
|
||
<p>希望是一个好东西,也许是最好的,好东西是不会消亡的!</p>
|
||
<span>6月11日 15:33</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>一切都在不可避免的走向庸俗。</p>
|
||
<span>2月09日 13:40</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>路上没有灯火的时候,就点亮自己的头颅。</p>
|
||
<span>3月11日 12:30</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
|
||
<li>
|
||
<p>我们应该不虚度一生,应该能够说:"我已经做了我能做的事。"</p>
|
||
<span>4月30日 22:43</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
</li>
|
||
<li>
|
||
<p>接近,是我对一切的态度,是我对一切态度的距离</p>
|
||
<span>6月11日 15:33</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
<li>
|
||
<p>没有锚的船当然也可以航行,只是紧张充满你的一生。</p>
|
||
<span>2月09日 13:40</span>
|
||
<a href="javascript:;" data-id="1"
|
||
class="pear-btn pear-btn-primary pear-btn-xs pear-reply">回复</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!--</div>-->
|
||
<script src="../../component/layui/layui.js"></script>
|
||
<script src="../../component/pear/pear.js"></script>
|
||
<script>
|
||
layui.use(['layer', 'echarts', 'carousel', 'element', 'table'], function() {
|
||
var $ = layui.jquery,
|
||
layer = layui.layer,
|
||
element = layui.element,
|
||
echarts = layui.echarts,
|
||
table = layui.table,
|
||
carousel = layui.carousel;
|
||
|
||
let cols = [
|
||
[{
|
||
type: 'checkbox'
|
||
},
|
||
{
|
||
title: '角色名',
|
||
field: 'roleName',
|
||
align: 'center',
|
||
width: 100
|
||
},
|
||
{
|
||
title: 'Key值',
|
||
field: 'roleCode',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '描述',
|
||
field: 'details',
|
||
align: 'center'
|
||
},
|
||
{
|
||
title: '是否可用',
|
||
field: 'enable',
|
||
align: 'center',
|
||
templet: '#role-enable'
|
||
}
|
||
]
|
||
]
|
||
|
||
table.render({
|
||
elem: '#role-table',
|
||
url: '../../admin/data/role.json',
|
||
page: true,
|
||
cols: cols,
|
||
skin: 'line'
|
||
});
|
||
|
||
|
||
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden');
|
||
|
||
$("body").on("click", "[data-url]", function() {
|
||
parent.layui.tab.addTabOnlyByElem("content", {
|
||
id: $(this).attr("data-id"),
|
||
title: $(this).attr("data-title"),
|
||
url: $(this).attr("data-url"),
|
||
close: true
|
||
})
|
||
})
|
||
|
||
|
||
let bgColor = "#fff";
|
||
let color = [
|
||
"#0090FF",
|
||
"#36CE9E",
|
||
"#FFC005",
|
||
"#FF515A",
|
||
"#8B5CFF",
|
||
"#00CA69"
|
||
];
|
||
let echartData = [{
|
||
name: "1",
|
||
value1: 100,
|
||
value2: 233
|
||
},
|
||
{
|
||
name: "2",
|
||
value1: 138,
|
||
value2: 233
|
||
},
|
||
{
|
||
name: "3",
|
||
value1: 350,
|
||
value2: 200
|
||
},
|
||
{
|
||
name: "4",
|
||
value1: 173,
|
||
value2: 180
|
||
},
|
||
{
|
||
name: "5",
|
||
value1: 180,
|
||
value2: 199
|
||
},
|
||
{
|
||
name: "6",
|
||
value1: 150,
|
||
value2: 233
|
||
},
|
||
{
|
||
name: "7",
|
||
value1: 180,
|
||
value2: 210
|
||
},
|
||
{
|
||
name: "8",
|
||
value1: 230,
|
||
value2: 180
|
||
}
|
||
];
|
||
|
||
let xAxisData = echartData.map(v => v.name);
|
||
// ["1", "2", "3", "4", "5", "6", "7", "8"]
|
||
let yAxisData1 = echartData.map(v => v.value1);
|
||
// [100, 138, 350, 173, 180, 150, 180, 230]
|
||
let yAxisData2 = echartData.map(v => v.value2);
|
||
// [233, 233, 200, 180, 199, 233, 210, 180]
|
||
const hexToRgba = (hex, opacity) => {
|
||
let rgbaColor = "";
|
||
let reg = /^#[\da-f]{6}$/i;
|
||
if (reg.test(hex)) {
|
||
rgbaColor =
|
||
`rgba(${parseInt("0x" + hex.slice(1, 3))},${parseInt(
|
||
"0x" + hex.slice(3, 5)
|
||
)},${parseInt("0x" + hex.slice(5, 7))},${opacity})`;
|
||
}
|
||
return rgbaColor;
|
||
}
|
||
|
||
option = {
|
||
backgroundColor: bgColor,
|
||
color: color,
|
||
legend: {
|
||
right: 10,
|
||
top: 10
|
||
},
|
||
tooltip: {
|
||
trigger: "axis",
|
||
formatter: function(params) {
|
||
let html = '';
|
||
params.forEach(v => {
|
||
html +=
|
||
`<div style="color: #666;font-size: 14px;line-height: 24px">
|
||
<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${color[v.componentIndex]};"></span>
|
||
${v.seriesName}.${v.name}
|
||
<span style="color:${color[v.componentIndex]};font-weight:700;font-size: 18px">${v.value}</span>
|
||
万元`;
|
||
})
|
||
return html
|
||
},
|
||
extraCssText: 'background: #fff; border-radius: 0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;',
|
||
axisPointer: {
|
||
type: 'shadow',
|
||
shadowStyle: {
|
||
color: '#ffffff',
|
||
shadowColor: 'rgba(225,225,225,1)',
|
||
shadowBlur: 5
|
||
}
|
||
}
|
||
},
|
||
grid: {
|
||
top: 100,
|
||
containLabel: true
|
||
},
|
||
xAxis: [{
|
||
type: "category",
|
||
boundaryGap: false,
|
||
axisLabel: {
|
||
formatter: '{value}月',
|
||
textStyle: {
|
||
color: "#333"
|
||
}
|
||
},
|
||
axisLine: {
|
||
lineStyle: {
|
||
color: "#D9D9D9"
|
||
}
|
||
},
|
||
data: xAxisData
|
||
}],
|
||
yAxis: [{
|
||
type: "value",
|
||
name: '单位:万千瓦时',
|
||
axisLabel: {
|
||
textStyle: {
|
||
color: "#666"
|
||
}
|
||
},
|
||
nameTextStyle: {
|
||
color: "#666",
|
||
fontSize: 12,
|
||
lineHeight: 40
|
||
},
|
||
splitLine: {
|
||
lineStyle: {
|
||
type: "dashed",
|
||
color: "#E9E9E9"
|
||
}
|
||
},
|
||
axisLine: {
|
||
show: false
|
||
},
|
||
axisTick: {
|
||
show: false
|
||
}
|
||
}],
|
||
series: [{
|
||
name: "2018",
|
||
type: "line",
|
||
smooth: true,
|
||
symbolSize: 8,
|
||
zlevel: 3,
|
||
lineStyle: {
|
||
normal: {
|
||
color: color[0],
|
||
shadowBlur: 3,
|
||
shadowColor: hexToRgba(color[0], 0.5),
|
||
shadowOffsetY: 8
|
||
}
|
||
},
|
||
areaStyle: {
|
||
normal: {
|
||
color: new echarts.graphic.LinearGradient(
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
[{
|
||
offset: 0,
|
||
color: hexToRgba(color[0], 0.3)
|
||
},
|
||
{
|
||
offset: 1,
|
||
color: hexToRgba(color[0], 0.1)
|
||
}
|
||
],
|
||
false
|
||
),
|
||
shadowColor: hexToRgba(color[0], 0.1),
|
||
shadowBlur: 10
|
||
}
|
||
},
|
||
data: yAxisData1
|
||
}, {
|
||
name: "2019",
|
||
type: "line",
|
||
smooth: true,
|
||
symbolSize: 8,
|
||
zlevel: 3,
|
||
lineStyle: {
|
||
normal: {
|
||
color: color[1],
|
||
shadowBlur: 3,
|
||
shadowColor: hexToRgba(color[1], 0.5),
|
||
shadowOffsetY: 8
|
||
}
|
||
},
|
||
areaStyle: {
|
||
normal: {
|
||
color: new echarts.graphic.LinearGradient(
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
[{
|
||
offset: 0,
|
||
color: hexToRgba(color[1], 0.3)
|
||
},
|
||
{
|
||
offset: 1,
|
||
color: hexToRgba(color[1], 0.1)
|
||
}
|
||
],
|
||
false
|
||
),
|
||
shadowColor: hexToRgba(color[1], 0.1),
|
||
shadowBlur: 10
|
||
}
|
||
},
|
||
data: yAxisData2
|
||
}]
|
||
};
|
||
|
||
echartsRecords.setOption(option);
|
||
|
||
window.onresize = function() {
|
||
echartsRecords.resize();
|
||
}
|
||
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|