Files
YunNanProject/static/index.html
2025-09-10 15:11:25 +08:00

145 lines
4.6 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="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>云南教育决策研究服务系统</title>
<!-- 引入 ECharts -->
<script src="https://gcore.jsdelivr.net/npm/echarts@6.0.0/dist/echarts.min.js"></script>
<style>
body {
margin: 0;
padding: 20px;
font-family: 'Microsoft YaHei', sans-serif;
background-color: #f5f7fa;
}
.header {
text-align: center;
margin-bottom: 30px;
}
.header h1 {
color: #2c3e50;
margin-bottom: 10px;
}
.chart-container {
width: 100%;
max-width: 1200px;
margin: 0 auto 30px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
padding: 20px;
}
.chart {
width: 100%;
height: 400px;
}
.controls {
margin-bottom: 20px;
text-align: center;
}
.controls input {
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
margin-right: 10px;
}
.controls button {
padding: 8px 16px;
background-color: #409eff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
.controls button:hover {
background-color: #66b1ff;
}
.message {
text-align: center;
color: #666;
margin: 20px 0;
}
</style>
</head>
<body>
<div class="header">
<h1>云南教育决策研究服务系统</h1>
<p>数据可视化展示平台</p>
</div>
<div class="chart-container">
<h2>柱状图示例</h2>
<div class="controls">
<input type="text" id="chartTitle" placeholder="输入图表标题" value="Bar-MarkLine自定义">
<button id="loadChart">加载图表</button>
</div>
<div id="barChart" class="chart"></div>
<div class="message" id="message">点击"加载图表"按钮获取数据</div>
</div>
<script>
// 初始化图表
var barChart = echarts.init(document.getElementById('barChart'));
// 显示加载中
function showLoading() {
barChart.showLoading();
document.getElementById('message').textContent = '正在加载数据...';
}
// 隐藏加载中
function hideLoading() {
barChart.hideLoading();
}
// 显示错误信息
function showError(message) {
document.getElementById('message').textContent = '错误: ' + message;
console.error(message);
}
// 加载图表数据
function loadChartData() {
showLoading();
// 获取图表标题
var title = document.getElementById('chartTitle').value || 'Bar-MarkLine自定义';
// 调用后端接口获取数据
fetch('/bigscreen/chart/bar/' + encodeURIComponent(title))
.then(response => {
if (!response.ok) {
throw new Error('网络响应异常');
}
return response.json();
})
.then(data => {
// 使用获取到的数据渲染图表
barChart.setOption(data);
document.getElementById('message').textContent = '图表加载成功';
})
.catch(error => {
showError(error.message);
})
.finally(() => {
hideLoading();
});
}
// 页面加载完成后自动加载图表
window.addEventListener('DOMContentLoaded', function() {
// 绑定按钮点击事件
document.getElementById('loadChart').addEventListener('click', loadChartData);
// 自动加载图表
loadChartData();
});
// 窗口大小变化时,重新调整图表大小
window.addEventListener('resize', function() {
barChart.resize();
});
</script>
</body>
</html>