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