体检小结内容拓展页
This commit is contained in:
parent
cacda9c0df
commit
68e72a07a8
@ -1145,6 +1145,28 @@
|
|||||||
<!-- 添加页码 -->
|
<!-- 添加页码 -->
|
||||||
<div class="page-number">第7页</div>
|
<div class="page-number">第7页</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 尿常规续页 -->
|
||||||
|
<div class="report-item" id="urine-page-2" style="width: 800px;height: 1123px;margin:0 auto;position: relative; display: none;">
|
||||||
|
<div class="report-title">
|
||||||
|
<div style="display: flex; justify-content: space-between; align-items: center;">
|
||||||
|
<span></span>
|
||||||
|
<span>填充值</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="summary-section">
|
||||||
|
<h2 class="summary-title">尿常规检查报告</h2>
|
||||||
|
<div class="paragraph-group">
|
||||||
|
<p id="urine-content-2" class="summary-content">
|
||||||
|
<!-- 第二页尿常规小结内容 -->
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="report-footer">
|
||||||
|
<p class="report-footer-text">定期体检,尊享健康</p>
|
||||||
|
</div>
|
||||||
|
<!-- 添加页码 -->
|
||||||
|
<div class="page-number">第8页</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 生化检查报告 -->
|
<!-- 生化检查报告 -->
|
||||||
<div class="report-item">
|
<div class="report-item">
|
||||||
@ -1182,6 +1204,29 @@
|
|||||||
<div class="page-number">第8页</div>
|
<div class="page-number">第8页</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 生化检查报告续页 -->
|
||||||
|
<div class="report-item" id="biochemistry-page-2" style="width: 800px;height: 1123px;margin:0 auto;position: relative; display: none;">
|
||||||
|
<div class="report-title">
|
||||||
|
<div style="display: flex; justify-content: space-between; align-items: center;">
|
||||||
|
<span></span>
|
||||||
|
<span>填充值</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="summary-section">
|
||||||
|
<h2 class="summary-title">生化检查报告</h2>
|
||||||
|
<div class="paragraph-group">
|
||||||
|
<p id="biochemistry-content-2" class="summary-content">
|
||||||
|
<!-- 第二页生化小结内容 -->
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="report-footer">
|
||||||
|
<p class="report-footer-text">定期体检,尊享健康</p>
|
||||||
|
</div>
|
||||||
|
<!-- 添加页码 -->
|
||||||
|
<div class="page-number">第9页</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 血常规检查报告 -->
|
<!-- 血常规检查报告 -->
|
||||||
<div class="report-item">
|
<div class="report-item">
|
||||||
<div class="report-title">
|
<div class="report-title">
|
||||||
@ -1218,6 +1263,29 @@
|
|||||||
<div class="page-number">第9页</div>
|
<div class="page-number">第9页</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 血常规检查报告续页 -->
|
||||||
|
<div class="report-item" id="blood-page-2" style="width: 800px;height: 1123px;margin:0 auto;position: relative; display: none;">
|
||||||
|
<div class="report-title">
|
||||||
|
<div style="display: flex; justify-content: space-between; align-items: center;">
|
||||||
|
<span></span>
|
||||||
|
<span>填充值</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="summary-section">
|
||||||
|
<h2 class="summary-title">血常规检查报告</h2>
|
||||||
|
<div class="paragraph-group">
|
||||||
|
<p id="blood-content-2" class="summary-content">
|
||||||
|
<!-- 第二页血常规小结内容 -->
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="report-footer">
|
||||||
|
<p class="report-footer-text">定期体检,尊享健康</p>
|
||||||
|
</div>
|
||||||
|
<!-- 添加页码 -->
|
||||||
|
<div class="page-number">第10页</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 心电图检查报告 -->
|
<!-- 心电图检查报告 -->
|
||||||
<div class="report-item">
|
<div class="report-item">
|
||||||
<div class="report-title">
|
<div class="report-title">
|
||||||
@ -1549,14 +1617,289 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理尿常规内容分页
|
||||||
|
function handleUrinePagination(urineText) {
|
||||||
|
if (!urineText || urineText === '--') {
|
||||||
|
// 如果没有尿常规内容,隐藏第二页
|
||||||
|
document.getElementById('urine-page-2').style.display = 'none';
|
||||||
|
document.getElementById('urine-summary-content').textContent = '--';
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建临时元素测量内容高度
|
||||||
|
const testElement = document.createElement('div');
|
||||||
|
testElement.className = 'summary-content';
|
||||||
|
testElement.style.position = 'absolute';
|
||||||
|
testElement.style.visibility = 'hidden';
|
||||||
|
testElement.style.width = document.getElementById('urine-summary-content').offsetWidth + 'px';
|
||||||
|
testElement.style.whiteSpace = 'pre-line';
|
||||||
|
testElement.textContent = urineText;
|
||||||
|
document.body.appendChild(testElement);
|
||||||
|
|
||||||
|
// 获取尿常规内容区域的可用高度
|
||||||
|
const availableHeight = 250; // 大约可用高度,根据实际情况调整
|
||||||
|
|
||||||
|
if (testElement.offsetHeight <= availableHeight) {
|
||||||
|
// 内容不超过一页,隐藏第二页
|
||||||
|
document.getElementById('urine-summary-content').textContent = urineText;
|
||||||
|
document.getElementById('urine-page-2').style.display = 'none';
|
||||||
|
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
} else {
|
||||||
|
// 内容超过一页,需要分割
|
||||||
|
// 计算每个字符占用的平均高度
|
||||||
|
const avgCharHeight = testElement.offsetHeight / urineText.length;
|
||||||
|
// 计算第一页可容纳的字符数
|
||||||
|
const firstPageChars = Math.floor(availableHeight / avgCharHeight);
|
||||||
|
|
||||||
|
// 分割文本
|
||||||
|
let firstPageText = urineText.substring(0, firstPageChars);
|
||||||
|
let secondPageText = urineText.substring(firstPageChars);
|
||||||
|
|
||||||
|
// 尝试在更合适的位置分割,如句号或逗号
|
||||||
|
const breakPoints = ['。', ',', ';', '\n'];
|
||||||
|
for (let i = 30; i > 0; i--) {
|
||||||
|
const checkPos = firstPageChars - i;
|
||||||
|
if (checkPos <= 0) continue;
|
||||||
|
const char = urineText.charAt(checkPos);
|
||||||
|
if (breakPoints.includes(char)) {
|
||||||
|
firstPageText = urineText.substring(0, checkPos + 1);
|
||||||
|
secondPageText = urineText.substring(checkPos + 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新内容并显示第二页
|
||||||
|
document.getElementById('urine-summary-content').textContent = firstPageText;
|
||||||
|
document.getElementById('urine-content-2').textContent = secondPageText;
|
||||||
|
document.getElementById('urine-page-2').style.display = 'block';
|
||||||
|
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 移除测试元素
|
||||||
|
document.body.removeChild(testElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改updatePageNumbers函数以考虑尿常规续页
|
||||||
|
function updatePageNumbers() {
|
||||||
|
// 获取所有页码元素
|
||||||
|
const pageNumbers = document.querySelectorAll('.page-number');
|
||||||
|
const summaryPage2Visible = document.getElementById('summary-page-2').style.display !== 'none';
|
||||||
|
|
||||||
|
// 计算实际总页数
|
||||||
|
let totalPages = document.querySelectorAll('.report-item').length;
|
||||||
|
if (!summaryPage2Visible) {
|
||||||
|
totalPages--; // 如果汇总第二页不显示,减少总页数
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从第1页开始计数
|
||||||
|
let pageIndex = 1;
|
||||||
|
|
||||||
|
pageNumbers.forEach((element) => {
|
||||||
|
// 更新页码文本
|
||||||
|
element.textContent = `第${pageIndex}页 共${totalPages}页`;
|
||||||
|
pageIndex++;
|
||||||
|
|
||||||
|
// 如果第二页汇总不显示,并且这是第四页的页码元素(即原本应该是汇总第二页),则跳过该元素
|
||||||
|
if (!summaryPage2Visible && element.closest('#summary-page-2')) {
|
||||||
|
// 不增加pageIndex,因为这一页不会显示
|
||||||
|
pageIndex--;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理生化检查报告内容分页
|
||||||
|
function handleBiochemistryPagination(biochemistryText) {
|
||||||
|
if (!biochemistryText || biochemistryText === '--') {
|
||||||
|
// 如果没有生化内容,隐藏第二页
|
||||||
|
document.getElementById('biochemistry-page-2').style.display = 'none';
|
||||||
|
document.getElementById('biochemistry-summary-content').textContent = '--';
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建临时元素测量内容高度
|
||||||
|
const testElement = document.createElement('div');
|
||||||
|
testElement.className = 'summary-content';
|
||||||
|
testElement.style.position = 'absolute';
|
||||||
|
testElement.style.visibility = 'hidden';
|
||||||
|
testElement.style.width = document.getElementById('biochemistry-summary-content').offsetWidth + 'px';
|
||||||
|
testElement.style.whiteSpace = 'pre-line';
|
||||||
|
testElement.textContent = biochemistryText;
|
||||||
|
document.body.appendChild(testElement);
|
||||||
|
|
||||||
|
// 获取生化内容区域的可用高度
|
||||||
|
const availableHeight = 250; // 可用高度,与尿常规相同
|
||||||
|
|
||||||
|
if (testElement.offsetHeight <= availableHeight) {
|
||||||
|
// 内容不超过一页,隐藏第二页
|
||||||
|
document.getElementById('biochemistry-summary-content').textContent = biochemistryText;
|
||||||
|
document.getElementById('biochemistry-page-2').style.display = 'none';
|
||||||
|
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
} else {
|
||||||
|
// 内容超过一页,需要分割
|
||||||
|
// 计算每个字符占用的平均高度
|
||||||
|
const avgCharHeight = testElement.offsetHeight / biochemistryText.length;
|
||||||
|
// 计算第一页可容纳的字符数
|
||||||
|
const firstPageChars = Math.floor(availableHeight / avgCharHeight);
|
||||||
|
|
||||||
|
// 分割文本
|
||||||
|
let firstPageText = biochemistryText.substring(0, firstPageChars);
|
||||||
|
let secondPageText = biochemistryText.substring(firstPageChars);
|
||||||
|
|
||||||
|
// 尝试在更合适的位置分割,如句号或逗号
|
||||||
|
const breakPoints = ['。', ',', ';', '\n'];
|
||||||
|
for (let i = 30; i > 0; i--) {
|
||||||
|
const checkPos = firstPageChars - i;
|
||||||
|
if (checkPos <= 0) continue;
|
||||||
|
const char = biochemistryText.charAt(checkPos);
|
||||||
|
if (breakPoints.includes(char)) {
|
||||||
|
firstPageText = biochemistryText.substring(0, checkPos + 1);
|
||||||
|
secondPageText = biochemistryText.substring(checkPos + 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新内容并显示第二页
|
||||||
|
document.getElementById('biochemistry-summary-content').textContent = firstPageText;
|
||||||
|
document.getElementById('biochemistry-content-2').textContent = secondPageText;
|
||||||
|
document.getElementById('biochemistry-page-2').style.display = 'block';
|
||||||
|
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 移除测试元素
|
||||||
|
document.body.removeChild(testElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理血常规检查报告内容分页
|
||||||
|
function handleBloodPagination(bloodText) {
|
||||||
|
if (!bloodText || bloodText === '--') {
|
||||||
|
// 如果没有血常规内容,隐藏第二页
|
||||||
|
document.getElementById('blood-page-2').style.display = 'none';
|
||||||
|
document.getElementById('blood-summary-content').textContent = '--';
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建临时元素测量内容高度
|
||||||
|
const testElement = document.createElement('div');
|
||||||
|
testElement.className = 'summary-content';
|
||||||
|
testElement.style.position = 'absolute';
|
||||||
|
testElement.style.visibility = 'hidden';
|
||||||
|
testElement.style.width = document.getElementById('blood-summary-content').offsetWidth + 'px';
|
||||||
|
testElement.style.whiteSpace = 'pre-line';
|
||||||
|
testElement.textContent = bloodText;
|
||||||
|
document.body.appendChild(testElement);
|
||||||
|
|
||||||
|
// 获取血常规内容区域的可用高度
|
||||||
|
const availableHeight = 250; // 可用高度,与尿常规相同
|
||||||
|
|
||||||
|
if (testElement.offsetHeight <= availableHeight) {
|
||||||
|
// 内容不超过一页,隐藏第二页
|
||||||
|
document.getElementById('blood-summary-content').textContent = bloodText;
|
||||||
|
document.getElementById('blood-page-2').style.display = 'none';
|
||||||
|
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
} else {
|
||||||
|
// 内容超过一页,需要分割
|
||||||
|
// 计算每个字符占用的平均高度
|
||||||
|
const avgCharHeight = testElement.offsetHeight / bloodText.length;
|
||||||
|
// 计算第一页可容纳的字符数
|
||||||
|
const firstPageChars = Math.floor(availableHeight / avgCharHeight);
|
||||||
|
|
||||||
|
// 分割文本
|
||||||
|
let firstPageText = bloodText.substring(0, firstPageChars);
|
||||||
|
let secondPageText = bloodText.substring(firstPageChars);
|
||||||
|
|
||||||
|
// 尝试在更合适的位置分割,如句号或逗号
|
||||||
|
const breakPoints = ['。', ',', ';', '\n'];
|
||||||
|
for (let i = 30; i > 0; i--) {
|
||||||
|
const checkPos = firstPageChars - i;
|
||||||
|
if (checkPos <= 0) continue;
|
||||||
|
const char = bloodText.charAt(checkPos);
|
||||||
|
if (breakPoints.includes(char)) {
|
||||||
|
firstPageText = bloodText.substring(0, checkPos + 1);
|
||||||
|
secondPageText = bloodText.substring(checkPos + 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新内容并显示第二页
|
||||||
|
document.getElementById('blood-summary-content').textContent = firstPageText;
|
||||||
|
document.getElementById('blood-content-2').textContent = secondPageText;
|
||||||
|
document.getElementById('blood-page-2').style.display = 'block';
|
||||||
|
|
||||||
|
// 更新页码
|
||||||
|
updatePageNumbers();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 移除测试元素
|
||||||
|
document.body.removeChild(testElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新updatePageNumbers函数以考虑所有续页
|
||||||
|
function updatePageNumbers() {
|
||||||
|
// 获取所有页码元素
|
||||||
|
const pageNumbers = document.querySelectorAll('.page-number');
|
||||||
|
const summaryPage2Visible = document.getElementById('summary-page-2').style.display !== 'none';
|
||||||
|
const urinePage2Visible = document.getElementById('urine-page-2').style.display !== 'none';
|
||||||
|
const biochemistryPage2Visible = document.getElementById('biochemistry-page-2').style.display !== 'none';
|
||||||
|
const bloodPage2Visible = document.getElementById('blood-page-2').style.display !== 'none';
|
||||||
|
|
||||||
|
// 计算实际总页数
|
||||||
|
let totalPages = document.querySelectorAll('.report-item').length;
|
||||||
|
if (!summaryPage2Visible) totalPages--;
|
||||||
|
if (!urinePage2Visible) totalPages--;
|
||||||
|
if (!biochemistryPage2Visible) totalPages--;
|
||||||
|
if (!bloodPage2Visible) totalPages--;
|
||||||
|
|
||||||
|
// 从第1页开始计数
|
||||||
|
let pageIndex = 1;
|
||||||
|
|
||||||
|
pageNumbers.forEach((element) => {
|
||||||
|
// 更新页码文本
|
||||||
|
element.textContent = `第${pageIndex}页 共${totalPages}页`;
|
||||||
|
pageIndex++;
|
||||||
|
|
||||||
|
// 如果对应的报告第二页不显示,且这是该报告第二页的页码元素,则不增加pageIndex
|
||||||
|
if ((!summaryPage2Visible && element.closest('#summary-page-2')) ||
|
||||||
|
(!urinePage2Visible && element.closest('#urine-page-2')) ||
|
||||||
|
(!biochemistryPage2Visible && element.closest('#biochemistry-page-2')) ||
|
||||||
|
(!bloodPage2Visible && element.closest('#blood-page-2'))) {
|
||||||
|
pageIndex--;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 页面加载完成后执行
|
// 页面加载完成后执行
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
// 现有代码...
|
// 现有代码...
|
||||||
|
|
||||||
// 等待数据填充后处理汇总分页
|
// 等待数据填充后处理分页
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const summaryText = document.getElementById('summary-content-1').textContent;
|
const summaryText = document.getElementById('summary-content-1').textContent;
|
||||||
handleSummaryPagination(summaryText);
|
handleSummaryPagination(summaryText);
|
||||||
|
|
||||||
|
const urineText = document.getElementById('urine-summary-content').textContent;
|
||||||
|
handleUrinePagination(urineText);
|
||||||
|
|
||||||
|
const biochemistryText = document.getElementById('biochemistry-summary-content').textContent;
|
||||||
|
handleBiochemistryPagination(biochemistryText);
|
||||||
|
|
||||||
|
const bloodText = document.getElementById('blood-summary-content').textContent;
|
||||||
|
handleBloodPagination(bloodText);
|
||||||
}, 2000);
|
}, 2000);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user