修改了下载的模板
This commit is contained in:
@@ -26,6 +26,7 @@ function toggleFormula(element) {
|
|||||||
: element.textContent.replace("▼", "▶");
|
: element.textContent.replace("▼", "▶");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加载时运行
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
renderMathInElement(document.body, {
|
renderMathInElement(document.body, {
|
||||||
delimiters: [
|
delimiters: [
|
||||||
@@ -43,41 +44,18 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
versionElement.textContent = `版本号: ${version}`;
|
versionElement.textContent = `版本号: ${version}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(window.weatherData)
|
console.log(window.weatherData);
|
||||||
|
downloadpdf(window.weatherData, version);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 下载按钮
|
// 下载按钮
|
||||||
document.getElementById('downloadBtn').addEventListener('click', function() {
|
function downloadpdf(data, version) {
|
||||||
// 保存按钮的引用
|
|
||||||
var btn = this;
|
|
||||||
|
|
||||||
// 隐藏按钮(而不是移除)
|
|
||||||
btn.style.display = 'none';
|
|
||||||
|
|
||||||
// 从 api 中取得 weatherdata
|
|
||||||
let weatherdata = null;
|
|
||||||
selectedId = 300;
|
|
||||||
fetch(`/weather/details?id=${selectedId}`)
|
|
||||||
.then(response => response.json())
|
|
||||||
.then(data => {
|
|
||||||
//更新全局变量
|
|
||||||
weatherdata = data;
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
console.error('Error:', error);
|
|
||||||
alert('获取详细信息失败');
|
|
||||||
});
|
|
||||||
|
|
||||||
const data = weatherdata;
|
|
||||||
|
|
||||||
const areaTypeMap = {
|
const areaTypeMap = {
|
||||||
urban: "城市",
|
urban: "城市",
|
||||||
rural: "农村",
|
rural: "农村",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// 等待一小段时间确保按钮已隐藏
|
|
||||||
setTimeout(function() {
|
|
||||||
// 假设你的HTML字符串是这样的
|
// 假设你的HTML字符串是这样的
|
||||||
var htmlString = `
|
var htmlString = `
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@@ -195,7 +173,7 @@ document.getElementById('downloadBtn').addEventListener('click', function() {
|
|||||||
|
|
||||||
<div class="data-row-long">
|
<div class="data-row-long">
|
||||||
<div class="data-label">测试时间:</div>
|
<div class="data-label">测试时间:</div>
|
||||||
<div class="data-value">${formatDateToYYYYMMDD(data.date)}${data.hour}:${data.min}</div>
|
<div class="data-value">${formatDateToYYYYMMDD(data.date)} ${data.hours}:${data.min}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -204,92 +182,75 @@ document.getElementById('downloadBtn').addEventListener('click', function() {
|
|||||||
<div class="data-grid">
|
<div class="data-grid">
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">日期序数:</div>
|
<div class="data-label">日期序数:</div>
|
||||||
<div class="data-value">${data.daysincejanfirst}</div>
|
<div class="data-value">${data.daySinceJanFirst}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">太阳倾角:</div>
|
<div class="data-label">太阳倾角:</div>
|
||||||
<div class="data-value">${data.solardeclination}°</div>
|
<div class="data-value">${data.solarDeclination}°</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">太阳高度角:</div>
|
<div class="data-label">太阳高度角:</div>
|
||||||
<div class="data-value">${data.sunaltitude}°</div>
|
<div class="data-value">${data.sunAltitude}°</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">总云量:</div>
|
<div class="data-label">总云量:</div>
|
||||||
<div class="data-value">${data.overallcloudiness}</div>
|
<div class="data-value">${data.overallCloudiness}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">低云量:</div>
|
<div class="data-label">低云量:</div>
|
||||||
<div class="data-value">${data.lowcloudiness}</div>
|
<div class="data-value">${data.lowCloudiness}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">辐射等级:</div>
|
<div class="data-label">辐射等级:</div>
|
||||||
<div class="data-value">${data.solarradiationlevel}</div>
|
<div class="data-value">${data.solarRadiationLevel}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">平均风速:</div>
|
<div class="data-label">平均风速:</div>
|
||||||
<div class="data-value">${data.averagewindspeed}m/s</div>
|
<div class="data-value">${data.averageWindSpeed}m/s</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">风速适宜度:</div>
|
<div class="data-label">风速适宜度:</div>
|
||||||
<div class="data-value">${data.windspeedsuitability}</div>
|
<div class="data-value">${data.windSpeedSuitability}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">平均风向:</div>
|
<div class="data-label">平均风向:</div>
|
||||||
<div class="data-value">${data.averagewinddirection}°</div>
|
<div class="data-value">${data.averageWindDirection}°</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">风向标准差:</div>
|
<div class="data-label">风向标准差:</div>
|
||||||
<div class="data-value">${data.winddirectionstandarddeviation}°</div>
|
<div class="data-value">${data.windDirectionStandardDeviation}°</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">风向适宜度:</div>
|
<div class="data-label">风向适宜度:</div>
|
||||||
<div class="data-value">${data.winddirectionsuitability}</div>
|
<div class="data-value">${data.windDirectionSuitability}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">大气稳定度:</div>
|
<div class="data-label">大气稳定度:</div>
|
||||||
<div class="data-value">${data.atmosphericstability}</div>
|
<div class="data-value">${data.atmosphericStability}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">稳定度适宜度:</div>
|
<div class="data-label">稳定度适宜度:</div>
|
||||||
<div class="data-value">${data.suitabilitydegree}</div>
|
<div class="data-value">${data.suitabilityDegree}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">总体适宜度:</div>
|
<div class="data-label">总体适宜度:</div>
|
||||||
<div class="data-value">${replaceSuitabilityText(data.overallsuitability, "overall")}</div>
|
<div class="data-value">${replaceSuitabilityText(data.overallSuitability, "overall")}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- tbd
|
|
||||||
<div class="divider"></div>
|
|
||||||
|
|
||||||
<div class="data-row">
|
|
||||||
<div class="data-label">大气压:</div>
|
|
||||||
<div class="data-value">tbd kPa</div>
|
|
||||||
</div>
|
|
||||||
<div class="data-row">
|
|
||||||
<div class="data-label">环境温度:</div>
|
|
||||||
<div class="data-value">tbd ℃</div>
|
|
||||||
</div>
|
|
||||||
<div class="data-row">
|
|
||||||
<div class="data-label">环境湿度:</div>
|
|
||||||
<div class="data-value">tbd %RH</div>
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
|
|
||||||
<div class="data-grid">
|
<div class="data-grid">
|
||||||
<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.windspeed}</div>
|
<div class="ten-values">${data.windSpeed}</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}</div>
|
<div class="ten-values">${data.windDirection}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -298,44 +259,42 @@ document.getElementById('downloadBtn').addEventListener('click', function() {
|
|||||||
|
|
||||||
<div class="data-grid">
|
<div class="data-grid">
|
||||||
`
|
`
|
||||||
|
|
||||||
// 根据条件显示相应的数据
|
// 根据条件显示相应的数据
|
||||||
if (data.hasmeasuredwindspeed === true) {
|
if (data.hasMeasuredWindSpeed === true) {
|
||||||
htmlString+=`
|
htmlString+=`
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">实测风速:</div>
|
<div class="data-label">实测风速:</div>
|
||||||
<div class="data-value">${data.measuredwindspeed} m/s</div>
|
<div class="data-value">${data.measuredWindSpeed} m/s</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">转换风速:</div>
|
<div class="data-label">转换风速:</div>
|
||||||
<div class="data-value">${data.convertedwindspeed} m/s</div>
|
<div class="data-value">${data.convertedWindSpeed} m/s</div>
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
} else {
|
} else {
|
||||||
htmlString+=`
|
htmlString+=`
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">区域类型:</div>
|
<div class="data-label">区域类型:</div>
|
||||||
<div class="data-value">${areaTypeMap[data.areatype]}</div>
|
<div class="data-value">${areaTypeMap[data.areaType]}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">测点高度:</div>
|
<div class="data-label">测点高度:</div>
|
||||||
<div class="data-value">${data.measurementheight} m</div>
|
<div class="data-value">${data.measurementHeight} m</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">点位风速:</div>
|
<div class="data-label">点位风速:</div>
|
||||||
<div class="data-value">${data.pointwindspeed} m/s</div>
|
<div class="data-value">${data.pointWindSpeed} m/s</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<div class="data-label">推算风速:</div>
|
<div class="data-label">推算风速:</div>
|
||||||
<div class="data-value">${data.calculatedwindspeed} m/s</div>
|
<div class="data-value">${data.calculatedwindspeed} m/s</div>
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
};
|
}
|
||||||
|
|
||||||
htmlString += `
|
htmlString += `
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="footer">----报表结束 version:0.18----</div>
|
<div class="footer">----报表结束 version:${version}----</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
`
|
`
|
||||||
@@ -359,13 +318,7 @@ document.getElementById('downloadBtn').addEventListener('click', function() {
|
|||||||
|
|
||||||
// 执行下载,使用htmlString作为内容源
|
// 执行下载,使用htmlString作为内容源
|
||||||
html2pdf().set(opt).from(htmlString).save();
|
html2pdf().set(opt).from(htmlString).save();
|
||||||
}, 100);
|
};
|
||||||
|
|
||||||
// 下载完成后恢复按钮显示
|
|
||||||
setTimeout(function() {
|
|
||||||
btn.style.display = '';
|
|
||||||
}, 2000); // 假设下载需要2秒完成,你可以根据实际情况调整
|
|
||||||
});
|
|
||||||
|
|
||||||
// 工具函数
|
// 工具函数
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user