动态血氧的查看模版
This commit is contained in:
parent
713c9f5b71
commit
990dcf4fdf
@ -7,7 +7,7 @@
|
|||||||
<style>
|
<style>
|
||||||
body { background: #f5f7fa; margin: 0; font-family: 'Microsoft YaHei', Arial, sans-serif; }
|
body { background: #f5f7fa; margin: 0; font-family: 'Microsoft YaHei', Arial, sans-serif; }
|
||||||
.spo2-report-template { max-width: 900px; margin: 0 auto; padding: 0; }
|
.spo2-report-template { max-width: 900px; margin: 0 auto; padding: 0; }
|
||||||
.report-page { background: white; margin: 0 auto 40px auto; max-width: 900px; min-height: 900px; box-shadow: 0 2px 16px rgba(0,0,0,0.08); border-radius: 12px; padding: 48px 56px 32px 56px; page-break-after: always; }
|
.report-page { background: white; margin: 0 auto 40px auto; max-width: 900px; box-shadow: 0 2px 16px rgba(0,0,0,0.08); border-radius: 12px; padding: 48px 56px 32px 56px; page-break-after: always; display: flex; flex-direction: column; position: relative; padding-bottom: 60px; }
|
||||||
.report-title { text-align: center; font-size: 28px; font-weight: bold; margin-bottom: 32px; }
|
.report-title { text-align: center; font-size: 28px; font-weight: bold; margin-bottom: 32px; }
|
||||||
.report-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; font-size: 16px; margin-bottom: 32px; }
|
.report-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; font-size: 16px; margin-bottom: 32px; }
|
||||||
.report-info-item { display: flex; }
|
.report-info-item { display: flex; }
|
||||||
@ -27,6 +27,8 @@
|
|||||||
.diagnosis-content { margin: 48px 0 32px 0; padding: 32px; background: #f8f9fa; border-radius: 8px; min-height: 300px; }
|
.diagnosis-content { margin: 48px 0 32px 0; padding: 32px; background: #f8f9fa; border-radius: 8px; min-height: 300px; }
|
||||||
.diagnosis-text { font-size: 18px; white-space: pre-wrap; color: #303133; font-family: inherit; }
|
.diagnosis-text { font-size: 18px; white-space: pre-wrap; color: #303133; font-family: inherit; }
|
||||||
.report-footer { display: flex; justify-content: space-between; margin-top: 80px; font-size: 16px; }
|
.report-footer { display: flex; justify-content: space-between; margin-top: 80px; font-size: 16px; }
|
||||||
|
.page-number { text-align: center; margin-top: auto; padding-top: 20px; font-size: 14px; color: #909399; position: absolute; left: 0; right: 0; bottom: 20px; background: white; z-index: 2; }
|
||||||
|
.report-page { background: white; margin: 0 auto 40px auto; max-width: 900px; min-height: 900px; box-shadow: 0 2px 16px rgba(0,0,0,0.08); border-radius: 12px; padding: 48px 56px 32px 56px; page-break-after: always; display: flex; flex-direction: column; }
|
||||||
.pie-charts-group { display: flex; gap: 32px; justify-content: center; margin-top: 32px; }
|
.pie-charts-group { display: flex; gap: 32px; justify-content: center; margin-top: 32px; }
|
||||||
.pie-chart-block { display: flex; flex-direction: column; align-items: center; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); padding: 24px 16px; min-width: 260px; }
|
.pie-chart-block { display: flex; flex-direction: column; align-items: center; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); padding: 24px 16px; min-width: 260px; }
|
||||||
.pie-chart-title { font-size: 18px; font-weight: bold; margin-bottom: 12px; }
|
.pie-chart-title { font-size: 18px; font-weight: bold; margin-bottom: 12px; }
|
||||||
@ -45,10 +47,38 @@
|
|||||||
#print-button:hover { background-color: #337ecc; }
|
#print-button:hover { background-color: #337ecc; }
|
||||||
#print-button svg { margin-right: 6px; }
|
#print-button svg { margin-right: 6px; }
|
||||||
|
|
||||||
|
@page {
|
||||||
|
margin: 20mm 15mm 30mm 15mm;
|
||||||
|
}
|
||||||
|
|
||||||
@media print {
|
@media print {
|
||||||
body { background: white; }
|
body { background: white; overflow: visible !important; height: auto !important; }
|
||||||
.report-page { box-shadow: none; margin: 0; padding: 20px; page-break-after: always; }
|
html { overflow: visible !important; height: auto !important; }
|
||||||
|
.report-page {
|
||||||
|
box-shadow: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 20px;
|
||||||
|
page-break-after: always;
|
||||||
|
position: relative;
|
||||||
|
min-height: 700px;
|
||||||
|
}
|
||||||
#print-button, #loading-mask { display: none !important; }
|
#print-button, #loading-mask { display: none !important; }
|
||||||
|
/* 打印时页码固定在页面底部 */
|
||||||
|
.page-number {
|
||||||
|
position: fixed !important;
|
||||||
|
left: 0 !important;
|
||||||
|
right: 0 !important;
|
||||||
|
bottom: 5mm !important;
|
||||||
|
text-align: center !important;
|
||||||
|
color: #606266 !important;
|
||||||
|
font-size: 12px !important;
|
||||||
|
background: white !important;
|
||||||
|
z-index: 9999 !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
width: 100% !important;
|
||||||
|
box-sizing: border-box !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@ -142,6 +172,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="page-number">第 1 页</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="report-page report-diagnosis">
|
<div class="report-page report-diagnosis">
|
||||||
<h2 class="report-title">诊断结论</h2>
|
<h2 class="report-title">诊断结论</h2>
|
||||||
@ -152,6 +183,7 @@
|
|||||||
<div>报告医生:________________</div>
|
<div>报告医生:________________</div>
|
||||||
<div>报告日期:<span class="report-date">--</span></div>
|
<div>报告日期:<span class="report-date">--</span></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="page-number">第 2 页</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="report-page report-pie-chart">
|
<div class="report-page report-pie-chart">
|
||||||
<h2 class="report-title">血氧分布饼状图</h2>
|
<h2 class="report-title">血氧分布饼状图</h2>
|
||||||
@ -198,6 +230,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="page-number">第 3 页</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
@ -500,9 +533,64 @@
|
|||||||
}, 300);
|
}, 300);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 打印时调整页码位置
|
||||||
|
window.addEventListener('beforeprint', function() {
|
||||||
|
const pageNumbers = document.querySelectorAll('.page-number');
|
||||||
|
pageNumbers.forEach((pageNum, index) => {
|
||||||
|
// 使用fixed定位确保页码始终在页面底部
|
||||||
|
pageNum.style.position = 'fixed';
|
||||||
|
pageNum.style.left = '0';
|
||||||
|
pageNum.style.right = '0';
|
||||||
|
pageNum.style.bottom = '5mm'; // 与@media print中的设置一致
|
||||||
|
pageNum.style.textAlign = 'center';
|
||||||
|
pageNum.style.color = '#606266';
|
||||||
|
pageNum.style.fontSize = '12px';
|
||||||
|
pageNum.style.background = 'white';
|
||||||
|
pageNum.style.zIndex = '9999';
|
||||||
|
pageNum.style.margin = '0';
|
||||||
|
pageNum.style.padding = '0';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 打印后恢复样式
|
||||||
|
window.addEventListener('afterprint', function() {
|
||||||
|
// 不重置页码样式,保持在底部显示
|
||||||
|
// 在打印环境中,页码会保持在底部
|
||||||
|
// 在非打印环境中,恢复原始样式
|
||||||
|
if (!window.matchMedia('print').matches) {
|
||||||
|
const pageNumbers = document.querySelectorAll('.page-number');
|
||||||
|
pageNumbers.forEach((pageNum) => {
|
||||||
|
pageNum.style.position = 'absolute';
|
||||||
|
pageNum.style.left = '0';
|
||||||
|
pageNum.style.right = '0';
|
||||||
|
pageNum.style.bottom = '0';
|
||||||
|
pageNum.style.textAlign = 'center';
|
||||||
|
pageNum.style.color = '#909399';
|
||||||
|
pageNum.style.fontSize = '14px';
|
||||||
|
pageNum.style.background = 'white';
|
||||||
|
pageNum.style.zIndex = '2';
|
||||||
|
pageNum.style.margin = '0';
|
||||||
|
pageNum.style.padding = '20px 0';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
// 支持独立打开时自动填充测试数据
|
// 支持独立打开时自动填充测试数据
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
showLoading();
|
showLoading();
|
||||||
|
|
||||||
|
// 确保页码始终在正确位置
|
||||||
|
const pageNumbers = document.querySelectorAll('.page-number');
|
||||||
|
pageNumbers.forEach((pageNum) => {
|
||||||
|
pageNum.style.position = 'absolute';
|
||||||
|
pageNum.style.left = '0';
|
||||||
|
pageNum.style.right = '0';
|
||||||
|
pageNum.style.bottom = '20px';
|
||||||
|
pageNum.style.textAlign = 'center';
|
||||||
|
pageNum.style.width = '100%';
|
||||||
|
pageNum.style.boxSizing = 'border-box';
|
||||||
|
});
|
||||||
|
|
||||||
if (!window.opener && !window.parent) {
|
if (!window.opener && !window.parent) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
fillData({
|
fillData({
|
||||||
|
|||||||
@ -294,11 +294,12 @@
|
|||||||
<!-- 报告模版弹窗(iframe方式) -->
|
<!-- 报告模版弹窗(iframe方式) -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="iframeDialogVisible"
|
v-model="iframeDialogVisible"
|
||||||
title="血氧监测报告"
|
title=""
|
||||||
fullscreen
|
fullscreen
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:close-on-press-escape="true"
|
:close-on-press-escape="true"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
|
class="spo2-report-dialog"
|
||||||
>
|
>
|
||||||
<iframe
|
<iframe
|
||||||
ref="reportIframe"
|
ref="reportIframe"
|
||||||
@ -306,7 +307,7 @@
|
|||||||
width="100%"
|
width="100%"
|
||||||
height="100%"
|
height="100%"
|
||||||
frameborder="0"
|
frameborder="0"
|
||||||
style="min-height: 100vh"
|
style="width: 100%; height: 100vh; border: none; display: block"
|
||||||
@load="onIframeLoad"
|
@load="onIframeLoad"
|
||||||
></iframe>
|
></iframe>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@ -1004,3 +1005,29 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
:deep(.spo2-report-dialog .el-dialog__body) {
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100vh;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* 只在弹窗全屏时生效,隐藏外层滚动条 */
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
overflow: hidden !important;
|
||||||
|
height: 100vh !important;
|
||||||
|
}
|
||||||
|
.spo2-report-dialog.el-dialog,
|
||||||
|
.spo2-report-dialog .el-dialog__body {
|
||||||
|
padding: 0 !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
height: 100vh !important;
|
||||||
|
width: 100vw !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user