病例库-样式优化

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

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

@ -207,10 +207,10 @@ export default {
// //
handlePrint() { handlePrint() {
// //
const printWindow = window.open('', '_blank', 'width=800,height=600'); const printWindow = window.open("", "_blank", "width=800,height=600");
if (!printWindow) { if (!printWindow) {
this.$message.error('请允许弹出窗口以进行打印'); this.$message.error("请允许弹出窗口以进行打印");
return; return;
} }
@ -218,35 +218,14 @@ export default {
const printContent = this.$refs.printContent.innerHTML; const printContent = this.$refs.printContent.innerHTML;
// HTML // HTML
const printDoc = ` const printDoc = `${printContent}`;
<!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>
`;
// //
printWindow.document.write(printDoc); printWindow.document.write(printDoc);
printWindow.document.close(); printWindow.document.close();
// //
printWindow.onload = function() { printWindow.onload = function () {
printWindow.focus(); printWindow.focus();
setTimeout(() => { setTimeout(() => {
printWindow.print(); printWindow.print();
@ -278,25 +257,12 @@ export default {
/* 打印样式适配 */ /* 打印样式适配 */
@media print { @media print {
.el-dialog,
.el-dialog__footer {
display: none !important;
}
.print-container { .print-container {
padding: 0; padding: 0;
height: auto; height: auto;
overflow: visible; overflow: visible;
} }
/* .footer {
position: fixed !important;
bottom: 20px;
} */
} }
/* .footer {
position: absolute;
bottom: 20px;
width: 98%;
} */
body { body {
font-family: "SimSun", "宋体", sans-serif; font-family: "SimSun", "宋体", sans-serif;
} }
@ -306,6 +272,6 @@ table {
hr { hr {
height: 2px; height: 2px;
border: none; border: none;
border-top: 2px solid #000000; border-top: 2px solid #909399;
} }
</style> </style>

@ -501,16 +501,29 @@
:gender-list="genderList" :gender-list="genderList"
:age-unit-list="ageUnitList" :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> </div>
</template> </template>
<script> <script>
// //
import UltrasoundReportPrint from "./components/UltrasoundReportPrint.vue"; import UltrasoundReportPrint from "./components/UltrasoundReportPrint.vue";
import CreateGroupDialog from "@/views/message/components/CreateGroupDialog";
export default { export default {
name: "UltrasoundReport", name: "UltrasoundReport",
components: { components: {
UltrasoundReportPrint, UltrasoundReportPrint,
CreateGroupDialog,
}, },
data() { data() {
return { return {
@ -678,12 +691,32 @@ export default {
}, },
// //
printDialogVisible: false, printDialogVisible: false,
// ================== ==================
shareDialogVisible: false, //
shareItem: null, //
recentContacts: [], //
recentGroups: [], //
}; };
}, },
created() { created() {
this.getCaseData(); this.getCaseData();
this.loadRecentContacts();
}, },
methods: { 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() { getCaseData() {
const caseId = parseInt(this.$route.params.id); const caseId = parseInt(this.$route.params.id);
@ -735,7 +768,22 @@ export default {
}); });
}, },
handleShare() { 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