You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

181 lines
4.3 KiB

<template>
<div class="app-container">
<!-- 透明度 -->
<div
class="patient-info"
:style="{ opacity: patientInfo.patientName ? 1 : 0 }"
>
<span> {{ patientInfo.patientName || "未知" }}</span>
<span class="fg">/</span>
<span>
<span v-if="patientInfo.sex === 0">男</span
><span v-else-if="patientInfo.sex === 1">女</span><span v-else>-</span>
</span>
<span class="fg">/</span>
<span>{{ patientInfo.birthDate || "-" }}</span>
<span class="fg">/</span>
<span>{{ patientInfo.idCard || "-" }}</span>
</div>
<el-table v-loading="loading" :data="tableList" empty-text="未查询到报告单">
<el-table-column
label="就诊类型"
align="center"
prop="visitType"
minWidth="100"
>
<template slot-scope="scope">
<span v-if="scope.row.visitType === '0'">门诊</span>
<span v-else-if="scope.row.visitType === '1'">住院</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column
label="就诊号"
align="center"
prop="visitNo"
minWidth="100"
/>
<el-table-column
label="部门"
align="center"
prop="department"
minWidth="100"
/>
<el-table-column
label="评估医生"
align="center"
prop="assessor"
minWidth="100"
/>
<el-table-column
label="评估时间"
align="center"
prop="assessTime"
minWidth="100"
/>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-document"
@click="handleReport(scope.row)"
>
查看报告单
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { exportPdf, queryPdfUrl } from "@/api/report.js";
export default {
name: "Notice",
data() {
return {
loading: true,
total: 0,
patientInfo: {},
tableList: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
param: {},
},
qzUrl: process.env.VUE_APP_BASE_API,
};
},
created() {
let deptId = this.$route.query.hid || 106;
localStorage.setItem("hospitalId", deptId);
// 参数
this.queryParams.param = {
patientNo: this.$route.query.patientNo,
visitNo: this.$route.query.visitNo,
};
this.getList();
},
methods: {
// 查看报告单
handleReport(row) {
queryPdfUrl({
param: {
reportId: row.reportId,
evaluationId: row.evaluationId,
version: 0, // 导出类型 0医生版 1个人版 2阳性版
assessorId: row.assessorId,
},
}).then((res) => {
if (!res.data) {
this.$modal.msgError("未查询到报告单");
return;
}
window.open(this.qzUrl + res.data);
});
},
/** 查询公告列表 */
getList() {
this.loading = true;
exportPdf(this.queryParams)
.then((res) => {
this.tableList = res.data.list || [];
this.patientInfo = res.data.list[0] || {};
this.total = res.data.total || 0;
this.loading = false;
})
.catch(() => {
console.log("导出失败");
this.loading = false;
});
},
},
};
</script>
<style scoped>
.app-container {
width: 80%;
margin: 0 auto;
margin-top: 100px;
/* height: 100vh;
display: flex;
flex-direction: column;
justify-content: center; */
}
.patient-info {
width: 100%;
display: flex;
justify-content: center;
line-height: 120px;
margin-bottom: 20px;
font-size: 20px;
color: #222;
/* background: #f8f8f9; */
border: 1px solid #dfe6ec;
}
.fg {
margin: 0 10px;
}
/*屏蔽表头单元格背景色(背景设置为透明)*/
>>> .el-table .el-table__header-wrapper th,
>>> .el-table .el-table__fixed-header-wrapper th {
background-color: #409eff;
color: #fff;
}
</style>
<style lang="less"></style>