416 lines
14 KiB
HTML
416 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<base href="/"/>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>在线测评系统</title>
|
||
<link rel="stylesheet" href="assets/crpm/js/layui/css/layui.css" />
|
||
<link rel="stylesheet" href="assets/crpm/fonts/font-awesome/css/font-awesome.css" />
|
||
<link rel="stylesheet" href="assets/crpm/index/index3/index3.css" />
|
||
<link rel="stylesheet" href="assets/crpm/index/index.css" />
|
||
</head>
|
||
<body>
|
||
<div id="app">
|
||
<div class="layui-layout layui-layout-admin">
|
||
<div class="layui-header">
|
||
<div class="layui-logo layui-hide-xs layui-bg-black">
|
||
在线测评系统
|
||
</div>
|
||
<ul class="layui-nav layui-layout-right">
|
||
<li class="layui-nav-item layui-hide layui-show-sm-inline-block">
|
||
<a href="javascript:void(0);">管理员</a>
|
||
<dl class="layui-nav-child">
|
||
<dd><a href="javascript:void(0);">退出</a></dd>
|
||
</dl>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="layui-side layui-bg-black">
|
||
<div class="layui-side-scroll">
|
||
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-c6e43803-1fd3-4869-afbf-19bdad5cba01" data-mod-id="18a85b2f-22b9-4e85-a913-d799d5bd9744" data-url="route/pages/6e55d5/list.html"><i class="fa fa-list"></i> 考试安排</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-4b169ac5-041d-4ce7-9888-e272f7d46aca" data-mod-id="ad52bb2a-b3a8-42b9-810c-936af20a61b9" data-url="route/pages/fd7c04/list.html"><i class="fa fa-list"></i> 系统设置</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-9f27ecbc-2380-4244-b1a3-23a40551f909" data-mod-id="04fe9e21-8eb8-44e2-b124-49dcab8a248b" data-url="route/pages/d307dd/list.html"><i class="fa fa-list"></i> 试卷管理</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-5a0a6124-8680-4588-ac2f-f32e4f3f46b3" data-mod-id="068117b5-128e-4964-aaba-f138663c24d2" data-url="route/pages/f7032e/list.html"><i class="fa fa-list"></i> 题库管理</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-49ba617b-2a3f-4730-b5a5-fa4b703358f9" data-mod-id="86b515f5-c49f-47d3-a192-b41687fd3b49" data-url="route/pages/286b2b/list.html"><i class="fa fa-list"></i> 用户管理</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-e99c4fbe-7436-4bf7-8dd5-46f3a7ecbbea" data-mod-id="f23678c6-8f60-4bd1-8a87-36210666acdd" data-url="route/pages/d6a132/list.html"><i class="fa fa-list"></i> 班级管理</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-902a979b-e5e0-4ed6-a396-159afd54e3ca" data-mod-id="eab4ad11-37f2-43df-b8ab-b014178bac77" data-url="route/pages/d633e3/list.html"><i class="fa fa-list"></i> 答题记录</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-f1a8ab61-a8fc-4ef9-8ee2-40f45c7cc00d" data-mod-id="e194e640-0536-4933-b389-f57dc09414c0" data-url="route/pages/e281ff/list.html"><i class="fa fa-list"></i> 成绩分析</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-88dda718-8817-48a9-aa5b-e32d91b193da" data-mod-id="4611c960-893f-49a5-9109-5273faa6c646" data-url="route/pages/079b7d/list.html"><i class="fa fa-list"></i> 错题统计</a>
|
||
</li>
|
||
<li class="layui-nav-item layui-nav-itemed">
|
||
<a href="javascript:void(0);" class="menu-item" id="menu-41ffc7bf-14bd-4945-810a-aa72c05c99fb" data-mod-id="4b02c324-1fee-4abf-aee6-25e30c1f9713" data-url="route/pages/86ad8d/list.html"><i class="fa fa-list"></i> 资源库管理</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="layui-body">
|
||
<!-- 内容主体区域 -->
|
||
<div class="layui-box-top">
|
||
<blockquote class="layui-elem-quote-index layui-text">
|
||
欢迎使用在线测评系统
|
||
</blockquote>
|
||
<div class='homepage' id="homepage">
|
||
<div class='homepage-top' >
|
||
<div id="barChartOne" class='barChartOne' ></div>
|
||
<div class='pieChart' id="pieChart"></div>
|
||
<div id="barChartTwo" class='barChartTwo' ></div>
|
||
|
||
</div>
|
||
<div class='homepage-bot' >
|
||
<div class='lineChart' id="lineChart"></div>
|
||
<div id="barChartThree" class='barChartThree' ></div>
|
||
<div id="funnelChart" class='funnelChart' ></div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-card layui-panel page-iframe-container">
|
||
<iframe class="page-iframe" id="pageIframe" src="" style="display: none;"></iframe>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-footer"></div>
|
||
</div>
|
||
</div>
|
||
<script src="assets/crpm/js/layui/layui.js"></script>
|
||
<script src="assets/crpm/js/echarts/echarts.min.js"></script>
|
||
|
||
<script>
|
||
layui.use(['element', 'layer', 'util'], function () {
|
||
var element = layui.element;
|
||
var layer = layui.layer;
|
||
var util = layui.util;
|
||
var $ = layui.$;
|
||
var $win = $(window);
|
||
window['layer'] = layer;
|
||
|
||
var init = function() {
|
||
var $pageIframe = $('#pageIframe');
|
||
$pageIframe.css({
|
||
height: `${$win.height() - 200}px`
|
||
})
|
||
}
|
||
|
||
init();
|
||
var homepage = document.getElementById('homepage');
|
||
$(document).on('click', '.menu-item', function() {
|
||
var url = this.dataset.url;
|
||
var pageIframe = $('#pageIframe');
|
||
pageIframe.attr('src', url);
|
||
pageIframe.show();
|
||
homepage.style.display = 'none';
|
||
});
|
||
});
|
||
//柱状图1
|
||
var barChartOne = echarts.init(document.getElementById('barChartOne'));
|
||
var optionBarOne = {
|
||
animation: false,
|
||
title: {
|
||
//text: '业务核心数据'//
|
||
},
|
||
tooltip: {},
|
||
legend: {
|
||
data: ['data1', 'data2'] ,
|
||
left: 'right'
|
||
},
|
||
xAxis: {
|
||
data: ['一月', '二月', '三月', '四月', '五月','六月','七月','八月','九月','十月','十一月','十二月',]
|
||
},
|
||
yAxis: {},
|
||
series: [{
|
||
name: 'data1',
|
||
type: 'bar',
|
||
data: [5, 20, 36, 10, 10,15,16,20,12,13,35,12] // 第一条柱状图的数据
|
||
}, {
|
||
name: 'data2',
|
||
type: 'bar',
|
||
data: [15, 10, 25, 8, 15,8,30,12,11,18,25,12] // 第二条柱状图的数据
|
||
}]
|
||
};
|
||
barChartOne.setOption(optionBarOne);
|
||
// 饼状图
|
||
var pieChart = echarts.init(document.getElementById('pieChart'));
|
||
var optionPie = {
|
||
animation: false,
|
||
title: {
|
||
//text: '业务核心数据',//
|
||
left: 'left'
|
||
},
|
||
tooltip: {
|
||
trigger: 'item'
|
||
},
|
||
legend: {
|
||
orient: 'vertical',
|
||
left: 'right'
|
||
},
|
||
series: [{
|
||
//name: '嘻嘻',//
|
||
type: 'pie',
|
||
radius: ['0%', '70%'],
|
||
data: [
|
||
{value: 150, name: 'data1'},
|
||
{value: 274, name: 'data2'},
|
||
{value: 310, name: 'data3'},
|
||
{value: 335, name: 'data4'},
|
||
{value: 400, name: 'data5'}
|
||
]
|
||
}]
|
||
};
|
||
pieChart.setOption(optionPie);
|
||
//柱状图2
|
||
var barChartTwo = echarts.init(document.getElementById('barChartTwo'));
|
||
var optionBarTwo = {
|
||
animation: false,
|
||
title: {
|
||
//text: '业务核心数据'//
|
||
},
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'shadow'
|
||
}
|
||
},
|
||
legend: {
|
||
data: ['Profit', 'Expenses', 'Income']
|
||
},
|
||
grid: {
|
||
left: '3%',
|
||
right: '4%',
|
||
bottom: '3%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'category',
|
||
axisTick: {
|
||
show: false
|
||
},
|
||
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
||
}
|
||
],
|
||
series: [
|
||
{
|
||
name: 'Profit',
|
||
type: 'bar',
|
||
label: {
|
||
show: true,
|
||
position: 'inside'
|
||
},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: [200, 170, 240, 244, 200, 220, 210]
|
||
},
|
||
{
|
||
name: 'Income',
|
||
type: 'bar',
|
||
stack: 'Total',
|
||
label: {
|
||
show: true
|
||
},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: [320, 302, 341, 374, 390, 450, 420]
|
||
},
|
||
{
|
||
name: 'Expenses',
|
||
type: 'bar',
|
||
stack: 'Total',
|
||
label: {
|
||
show: true,
|
||
position: 'left'
|
||
},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: [-120, -132, -101, -134, -190, -230, -210]
|
||
}
|
||
]
|
||
};
|
||
barChartTwo.setOption(optionBarTwo);
|
||
//折线图
|
||
var lineChart = echarts.init(document.getElementById('lineChart'));
|
||
var optionLine = {
|
||
animation: false,
|
||
title: {
|
||
//text: '业务核心数据',//
|
||
left: 'left', // Center align the title horizontally
|
||
},
|
||
xAxis: {
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: ['2024-1', '2024-2', '2024-3', '2024-4', '2024-5', '2024-6', '2024-7']
|
||
},
|
||
yAxis: {
|
||
type: 'value'
|
||
},
|
||
tooltip: {
|
||
trigger: 'axis' // 设置触发类型为坐标轴触发
|
||
},
|
||
series: [{
|
||
data: [820, 733, 901, 600, 1290, 500, 1320],
|
||
type: 'line',
|
||
smooth: true,
|
||
areaStyle: {}
|
||
}]
|
||
};
|
||
lineChart.setOption(optionLine);
|
||
|
||
var currentIndex = -1;
|
||
var interval = 1000; // 切换间隔时间,单位是毫秒
|
||
var timer; // 定时器变量
|
||
|
||
// 自动触发选中状态并每隔1秒自动向下一个触发
|
||
function startAutoPlay() {
|
||
timer = setInterval(function() {
|
||
var dataLen = optionLine.series[0].data.length;
|
||
// 取消之前高亮的图形
|
||
lineChart.dispatchAction({
|
||
type: 'downplay',
|
||
seriesIndex: 0,
|
||
dataIndex: currentIndex
|
||
});
|
||
currentIndex = (currentIndex + 1) % dataLen;
|
||
// 高亮当前图形
|
||
lineChart.dispatchAction({
|
||
type: 'highlight',
|
||
seriesIndex: 0,
|
||
dataIndex: currentIndex
|
||
});
|
||
// 显示 tooltip
|
||
lineChart.dispatchAction({
|
||
type: 'showTip',
|
||
seriesIndex: 0,
|
||
dataIndex: currentIndex
|
||
});
|
||
}, interval);
|
||
}
|
||
|
||
// 开始自动播放
|
||
startAutoPlay();
|
||
|
||
// 鼠标悬停在图表上时暂停自动播放
|
||
lineChart.on('mouseover', function() {
|
||
clearInterval(timer);
|
||
});
|
||
|
||
// 鼠标离开图表区域时恢复自动播放
|
||
lineChart.on('mouseout', function() {
|
||
startAutoPlay();
|
||
});
|
||
//柱状图3
|
||
var barChartThree = echarts.init(document.getElementById('barChartThree'));
|
||
var optionBarThree = {
|
||
animation: false,
|
||
title: {
|
||
//text: '业务核心数据'//
|
||
},
|
||
xAxis: {
|
||
type: 'category',
|
||
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
||
},
|
||
yAxis: {
|
||
type: 'value'
|
||
},
|
||
series: [
|
||
{
|
||
data: [120, 200, 150, 80, 70, 110, 130],
|
||
type: 'bar'
|
||
}
|
||
]
|
||
};
|
||
barChartThree.setOption(optionBarThree);
|
||
//漏斗图
|
||
var funnelChart = echarts.init(document.getElementById('funnelChart'));
|
||
var optionFunnel = {
|
||
animation: false,
|
||
title: {
|
||
text: ''
|
||
},
|
||
tooltip: {
|
||
trigger: 'item',
|
||
formatter: '{a} <br/>{b} : {c}%'
|
||
},
|
||
toolbox: {
|
||
feature: {
|
||
dataView: { readOnly: false },
|
||
restore: {},
|
||
saveAsImage: {}
|
||
}
|
||
},
|
||
legend: {
|
||
data: ['Show', 'Click', 'Visit', 'Inquiry', 'Order']
|
||
},
|
||
series: [
|
||
{
|
||
name: 'Funnel',
|
||
type: 'funnel',
|
||
left: '10%',
|
||
top: 60,
|
||
bottom: 60,
|
||
width: '80%',
|
||
min: 0,
|
||
max: 100,
|
||
minSize: '0%',
|
||
maxSize: '100%',
|
||
sort: 'descending',
|
||
gap: 2,
|
||
label: {
|
||
show: true,
|
||
position: 'inside'
|
||
},
|
||
labelLine: {
|
||
length: 10,
|
||
lineStyle: {
|
||
width: 1,
|
||
type: 'solid'
|
||
}
|
||
},
|
||
itemStyle: {
|
||
borderColor: '#fff',
|
||
borderWidth: 1
|
||
},
|
||
emphasis: {
|
||
label: {
|
||
fontSize: 20
|
||
}
|
||
},
|
||
data: [
|
||
{ value: 60, name: 'Visit' },
|
||
{ value: 40, name: 'Inquiry' },
|
||
{ value: 20, name: 'Order' },
|
||
{ value: 80, name: 'Click' },
|
||
{ value: 100, name: 'Show' }
|
||
]
|
||
}
|
||
]
|
||
};
|
||
funnelChart.setOption(optionFunnel);
|
||
</script>
|
||
</body>
|
||
</html>
|