优化 afterbody.js:修复变量遮蔽、移除死代码、提取 slice 常量

This commit is contained in:
2026-03-25 13:27:49 +08:00
parent fe407d77f8
commit 30d726c3d1

View File

@@ -1,19 +1,7 @@
//公式相关 //公式相关
function toggleAccordion(header) { const BASE_WIND_COUNT = 10;
const content = header.nextElementSibling; const SPOT_CHECK_COUNT = 5;
const isOpen = content.style.maxHeight !== '0px' && content.style.maxHeight !== '';
// 关闭所有其他面板
document.querySelectorAll('.accordion-content').forEach(item => {
item.style.maxHeight = '0px';
});
// 切换当前面板
if (!isOpen) {
content.style.maxHeight = content.scrollHeight + 'px';
}
}
// 展开或者关闭公式 // 展开或者关闭公式
function toggleFormula(element) { function toggleFormula(element) {
@@ -36,11 +24,7 @@ document.addEventListener('DOMContentLoaded', function() {
// 确保数据已加载 // 确保数据已加载
if (window.weatherData) { if (window.weatherData) {
// 获取页面中的版本号元素
const versionElement = document.querySelector('.version'); const versionElement = document.querySelector('.version');
// 【修改点】直接使用 window.weatherData.version
// 使用 || 'v1.0' 作为默认值,防止数据库版本为空时显示 undefined
const dbVersion = window.weatherData.version || 'default'; const dbVersion = window.weatherData.version || 'default';
// 更新页面显示 // 更新页面显示
@@ -48,7 +32,6 @@ document.addEventListener('DOMContentLoaded', function() {
versionElement.textContent = `版本号: ${dbVersion}`; versionElement.textContent = `版本号: ${dbVersion}`;
} }
// 【修改点】调用 downloadpdf只传 data不再传那个空的 version 变量
downloadpdf(window.weatherData); downloadpdf(window.weatherData);
} else { } else {
console.error("错误window.weatherData 未定义"); console.error("错误window.weatherData 未定义");
@@ -63,8 +46,7 @@ function downloadpdf(data) {
rural: "农村", rural: "农村",
}; };
// 假设你的HTML字符串是这样的 const htmlString = `
var htmlString = `
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh-CN"> <html lang="zh-CN">
<head> <head>
@@ -252,38 +234,35 @@ function downloadpdf(data) {
<div class="data-row-long"> <div class="data-row-long">
<div class="data-label">十次风速值:</div> <div class="data-label">十次风速值:</div>
<div class="data-value"> <div class="data-value">
<!-- 截取前10项确保无抽测时显示全部有抽测时只显示基础10项 --> <div class="ten-values">${data.windSpeed.slice(0, BASE_WIND_COUNT).join('')}</div>
<div class="ten-values">${data.windSpeed.slice(0, 10).join('')}</div>
</div> </div>
</div> </div>
<div class="data-row-long"> <div class="data-row-long">
<div class="data-label">十次风向值:</div> <div class="data-label">十次风向值:</div>
<div class="data-value"> <div class="data-value">
<div class="ten-values">${data.windDirection.slice(0, 10).join('')}</div> <div class="ten-values">${data.windDirection.slice(0, BASE_WIND_COUNT).join('')}</div>
</div> </div>
</div> </div>
</div> </div>
<!-- 新增仅当有抽测时显示展示后5项抽测数据 --> <!-- 新增仅当有抽测时显示展示后5项抽测数据 -->
${data.hasSpotCheckWindSpeed ? ` ${data.hasSpotCheckWindSpeed ? `
<div class="data-grid" style="margin-top: 16px;"> <!-- 加间距区分基础数据与抽测数据 --> <div class="data-grid" style="margin-top: 16px;">
<div class="data-row-long"> <div class="data-row-long">
<div class="data-label">抽测风速值:</div> <div class="data-label">抽测风速值:</div>
<div class="data-value"> <div class="data-value">
<!-- 截取后5项索引10-14用空字符串处理可能的null --> <div class="ten-values">${data.windSpeed.slice(BASE_WIND_COUNT, BASE_WIND_COUNT + SPOT_CHECK_COUNT).map(val => val ?? '').join('')}</div>
<div class="ten-values">${data.windSpeed.slice(10, 15).map(val => val ?? '').join('')}</div>
</div> </div>
</div> </div>
<div class="data-row-long"> <div class="data-row-long">
<div class="data-label">抽测风向值:</div> <div class="data-label">抽测风向值:</div>
<div class="data-value"> <div class="data-value">
<div class="ten-values">${data.windDirection.slice(10, 15).map(val => val ?? '').join('')}</div> <div class="ten-values">${data.windDirection.slice(BASE_WIND_COUNT, BASE_WIND_COUNT + SPOT_CHECK_COUNT).map(val => val ?? '').join('')}</div>
</div> </div>
</div> </div>
</div> </div>
` : ''} ` : ''}
<!-- 修复字段名拼写原hasspotwindspeed改为正确的hasSpotCheckWindSpeed -->
<div class="data-row-long"> <div class="data-row-long">
<div class="data-label">是否有抽测风速:${data.hasSpotCheckWindSpeed ? '是' : '否'}</div> <div class="data-label">是否有抽测风速:${data.hasSpotCheckWindSpeed ? '是' : '否'}</div>
</div> </div>
@@ -357,12 +336,11 @@ ${data.hasSpotCheckWindSpeed ? `
// 函数用于将日期格式化为 xxxx-xx-xx 形式 // 函数用于将日期格式化为 xxxx-xx-xx 形式
function formatDateToYYYYMMDD(date) { function formatDateToYYYYMMDD(date) {
// 使用Date对象解析这个日期字符串 const parsed = new Date(date);
var date = new Date(date); const year = parsed.getFullYear();
var year = date.getFullYear(); // 获取年份 const month = (parsed.getMonth() + 1).toString().padStart(2, '0');
var month = (date.getMonth() + 1).toString().padStart(2, '0'); // 获取月份,并确保两位数 const day = parsed.getDate().toString().padStart(2, '0');
var day = date.getDate().toString().padStart(2, '0'); // 获取日期,并确保两位数 return year + '-' + month + '-' + day;
return year + '-' + month + '-' + day; // 组合成 xxxx-xx-xx 形式
} }
//稳定度描述映射 //稳定度描述映射