survey/test_grade_sorting.html
2025-11-15 23:51:08 +08:00

90 lines
4.0 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>年级册次排序测试</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
.test-container { margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 5px; }
.success { border-color: #28a745; background-color: #f8fff9; }
select { width: 200px; padding: 8px; margin: 5px 0; }
label { display: block; margin: 10px 0 5px 0; font-weight: bold; }
</style>
</head>
<body>
<h1>年级册次排序测试</h1>
<div class="test-container">
<h2>排序验证</h2>
<div id="sortResult"></div>
</div>
<div class="test-container">
<h2>前端选择器预览</h2>
<label for="gradeSelect">年级册次选择:</label>
<select id="gradeSelect"></select>
<div id="selectorResult"></div>
</div>
<script>
async function testSorting() {
const sortResult = document.getElementById('sortResult');
const gradeSelect = document.getElementById('gradeSelect');
const selectorResult = document.getElementById('selectorResult');
try {
// 获取筛选条件
const response = await fetch('/api/filters');
const result = await response.json();
if (result.success) {
const grades = result.data.grades;
const correctOrder = ['一年级上册', '二年级上册', '三年级上册', '四年级上册', '五年级上册', '六年级上册', '七年级上册', '八年级上册'];
// 验证排序是否正确
const isCorrect = JSON.stringify(grades) === JSON.stringify(correctOrder);
if (isCorrect) {
sortResult.innerHTML = '<div class="success">✓ 年级册次排序正确!</div>';
sortResult.innerHTML += '<h3>正确的排序顺序:</h3>';
correctOrder.forEach((grade, index) => {
sortResult.innerHTML += `<div>${index + 1}. ${grade}</div>`;
});
} else {
sortResult.innerHTML = '<div>✗ 年级册次排序不正确</div>';
sortResult.innerHTML += '<h3>当前排序:</h3>';
grades.forEach((grade, index) => {
sortResult.innerHTML += `<div>${index + 1}. ${grade}</div>`;
});
sortResult.innerHTML += '<h3>正确排序:</h3>';
correctOrder.forEach((grade, index) => {
sortResult.innerHTML += `<div>${index + 1}. ${grade}</div>`;
});
}
// 填充选择器
gradeSelect.innerHTML = '<option value="">选择年级册次...</option>';
grades.forEach(grade => {
const option = document.createElement('option');
option.value = grade;
option.textContent = grade;
gradeSelect.appendChild(option);
});
selectorResult.innerHTML = '<div class="success">✓ 前端选择器已正确填充</div>';
} else {
sortResult.innerHTML = '<div>✗ 获取筛选条件失败</div>';
}
} catch (error) {
console.error('测试失败:', error);
sortResult.innerHTML = `<div>测试失败: ${error.message}</div>`;
}
}
// 页面加载完成后运行测试
window.onload = testSorting;
</script>
</body>
</html>