crpm-proj-code-set/zxcpxt/src/main/resources/static/route/pages/index.html
2025-06-30 15:17:54 +08:00

416 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>