病例库-样式优化

main
ysn 5 days ago
parent 8425bd08c9
commit eb9311b6e3
  1. 2
      src/layout/components/Navbar.vue
  2. 48
      src/views/cases/components/UltrasoundReportPrint.vue
  3. 50
      src/views/cases/detail.vue

@ -71,7 +71,7 @@
</el-dropdown-item>
<el-dropdown-item
@click.native="showAbout = true"
icon="el-icon-info"
icon="el-icon-warning-outline"
>
<span>关于</span>
</el-dropdown-item>

@ -207,46 +207,25 @@ export default {
//
handlePrint() {
//
const printWindow = window.open('', '_blank', 'width=800,height=600');
const printWindow = window.open("", "_blank", "width=800,height=600");
if (!printWindow) {
this.$message.error('请允许弹出窗口以进行打印');
this.$message.error("请允许弹出窗口以进行打印");
return;
}
//
const printContent = this.$refs.printContent.innerHTML;
// HTML
const printDoc = `
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>超声检查报告单</title>
<style>
@media print {
body { margin: 0; padding: 20px; font-family: "SimSun", serif; }
.print-container { width: 100%; }
img { max-width: 100%; height: auto; }
table { border-collapse: collapse; }
td { padding: 4px; }
hr { border: none; border-top: 1px solid #000; }
}
</style>
</head>
<body>
${printContent}
</body>
</html>
`;
const printDoc = `${printContent}`;
//
printWindow.document.write(printDoc);
printWindow.document.close();
//
printWindow.onload = function() {
printWindow.onload = function () {
printWindow.focus();
setTimeout(() => {
printWindow.print();
@ -278,25 +257,12 @@ export default {
/* 打印样式适配 */
@media print {
.el-dialog,
.el-dialog__footer {
display: none !important;
}
.print-container {
padding: 0;
height: auto;
overflow: visible;
}
/* .footer {
position: fixed !important;
bottom: 20px;
} */
}
/* .footer {
position: absolute;
bottom: 20px;
width: 98%;
} */
body {
font-family: "SimSun", "宋体", sans-serif;
}
@ -306,6 +272,6 @@ table {
hr {
height: 2px;
border: none;
border-top: 2px solid #000000;
border-top: 2px solid #909399;
}
</style>

@ -501,16 +501,29 @@
:gender-list="genderList"
:age-unit-list="ageUnitList"
/>
<!-- 分享弹窗 - 选择联系人 -->
<CreateGroupDialog
:visible.sync="shareDialogVisible"
title="分享给"
:recent-contacts="recentContacts"
:recent-groups="recentGroups"
:min-select-count="1"
confirm-text="分享"
@create-success="handleShareToContacts"
/>
</div>
</template>
<script>
//
import UltrasoundReportPrint from "./components/UltrasoundReportPrint.vue";
import CreateGroupDialog from "@/views/message/components/CreateGroupDialog";
export default {
name: "UltrasoundReport",
components: {
UltrasoundReportPrint,
CreateGroupDialog,
},
data() {
return {
@ -678,12 +691,32 @@ export default {
},
//
printDialogVisible: false,
// ================== ==================
shareDialogVisible: false, //
shareItem: null, //
recentContacts: [], //
recentGroups: [], //
};
},
created() {
this.getCaseData();
this.loadRecentContacts();
},
methods: {
//
loadRecentContacts() {
// TODO:
this.recentContacts = [
{ id: 1, name: "张医生", avatar: "" },
{ id: 2, name: "李医生", avatar: "" },
{ id: 3, name: "王医生", avatar: "" },
];
this.recentGroups = [
{ id: 1, name: "骨科会诊群", avatar: "" },
{ id: 2, name: "放射科交流群", avatar: "" },
];
},
//
getCaseData() {
const caseId = parseInt(this.$route.params.id);
@ -735,7 +768,22 @@ export default {
});
},
handleShare() {
this.$message.success("分享成功");
this.shareItem = {
patientName: this.form.patientName,
medicalNo: this.form.medicalNo,
findings: this.form.findings,
conclusion: this.form.conclusion,
};
this.shareDialogVisible = true;
},
handleShareToContacts(selectedMembers) {
if (selectedMembers && selectedMembers.length > 0) {
const shareTarget = selectedMembers[0];
this.$message.success(`已分享给 ${shareTarget.name}`);
console.log("分享病例:", this.shareItem, "给:", shareTarget);
}
this.shareDialogVisible = false;
this.shareItem = null;
},
//

Loading…
Cancel
Save