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.
203 lines
6.0 KiB
203 lines
6.0 KiB
<template>
|
|
<div class="overView">
|
|
<!-- 病史总览-->
|
|
<div style="width: 100%;">
|
|
<el-collapse v-model="activeNames">
|
|
<el-collapse-item v-for="(item, index) in tableData" :key="index" :title="item.category + ' ' + item.createTime" :name="index">
|
|
<div v-if="item.category === '住院'" style="width: 100%;padding-right: 24px;display: flex;justify-content: space-between">
|
|
<div style="margin-right: 32px;width: 50%">
|
|
<p class="info">
|
|
<span class="mr16 bold">主诉:</span>
|
|
<span style="word-break:break-all">{{ item.zs }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">现病史:</span>
|
|
<span style="word-break:break-all">{{ item.xbs }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">既往史:</span>
|
|
<span style="word-break:break-all">{{ item.jws }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">专科检查:</span>
|
|
<span style="word-break:break-all">{{ item.jc }}</span>
|
|
</p>
|
|
</div>
|
|
<div style="margin-right: 32px;width: 25%">
|
|
<div class="info">
|
|
<span class="mr16 bold">诊断:</span>
|
|
<p v-for="row in item.diagnoseNameList">{{ row }}</p>
|
|
</div>
|
|
<p class="info">
|
|
<span class="mr16 bold">治疗意见:</span>
|
|
<span style="word-break:break-all">{{ item.zlyj }}</span>
|
|
</p>
|
|
</div>
|
|
<div style="width: 25%">
|
|
<div class="info">
|
|
<span class="mr16 bold">医嘱:</span>
|
|
<p v-for="row in item.medicationList">{{ row }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="item.category === '门诊'" style="width: 100%;padding-right: 24px;display: flex;justify-content: space-between">
|
|
<div style="margin-right: 32px;width: 50%">
|
|
<p class="info">
|
|
<span class="mr16 bold">主诉:</span>
|
|
<span style="word-break:break-all">{{ item.zs }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">现病史:</span>
|
|
<span style="word-break:break-all">{{ item.xbs }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">既往史:</span>
|
|
<span style="word-break:break-all">{{ item.jws }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">专科检查:</span>
|
|
<span style="word-break:break-all">{{ item.jc }}</span>
|
|
</p>
|
|
</div>
|
|
<div style="margin-right: 32px;width: 25%">
|
|
<div class="info">
|
|
<span class="mr16 bold">诊断:</span>
|
|
<p v-for="(row, index) in item.diagnoseNameList">{{ index + 1 }}. {{ row }}</p>
|
|
</div>
|
|
<p class="info">
|
|
<span class="mr16 bold">治疗意见:</span>
|
|
<span style="word-break:break-all">{{ item.zlyj }}</span>
|
|
</p>
|
|
</div>
|
|
<div style="width: 25%">
|
|
<div class="info">
|
|
<span class="mr16 bold">医嘱:</span>
|
|
<p v-for="(row, index) in item.medicationList">{{ index + 1 }}. {{ row }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="item.category === '手术'">
|
|
<p class="info">
|
|
<span class="mr16 bold">手术名称:</span>
|
|
<span>{{ item.opName }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">主刀医生:</span>
|
|
<span>{{ item.mainDrName }}</span>
|
|
</p>
|
|
<p class="info">
|
|
<span class="mr16 bold">手术记录:</span>
|
|
<span />
|
|
</p>
|
|
</div>
|
|
</el-collapse-item>
|
|
</el-collapse>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
const Base64 = require('js-base64').Base64
|
|
export default {
|
|
components: {
|
|
},
|
|
mixins: [],
|
|
props: {
|
|
patientIdNumber: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
patientId: {
|
|
type: String,
|
|
default: ''
|
|
}
|
|
},
|
|
inject: {
|
|
refresh: {
|
|
default: 'refresh'
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
tableData: [],
|
|
activeNames: []
|
|
}
|
|
},
|
|
created() {
|
|
|
|
},
|
|
mounted() {
|
|
this.getHistoryData()
|
|
},
|
|
methods: {
|
|
async getHistoryData() {
|
|
const { data: res } = await this.$http.get('/patient/view/getHistory', {
|
|
params: {
|
|
patientId: this.patientId
|
|
}
|
|
})
|
|
if (res.code === 0) {
|
|
this.tableData = res.data || []
|
|
this.activeNames = []
|
|
for (let i = 0; i < this.tableData.length; i++) {
|
|
this.activeNames.push(i)
|
|
}
|
|
} else {
|
|
this.tableData = []
|
|
this.$message.error(res.msg)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.overView{
|
|
width: 100%;
|
|
height: 100%;
|
|
box-sizing: border-box;
|
|
overflow-y: auto;
|
|
.mt15{
|
|
margin-top: 16px;
|
|
}
|
|
.mr16{
|
|
margin-right: 16px;
|
|
}
|
|
.bold{
|
|
font-weight: bold;
|
|
}
|
|
.vieweBox{
|
|
width: 100%;
|
|
padding-left: 16px;
|
|
height: 48px;
|
|
line-height: 48px;
|
|
background-color: #E8F5FF;
|
|
|
|
.title{
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
color: rgba(0, 0, 0, 0.88);
|
|
margin-right: 16px;
|
|
}
|
|
.time{
|
|
color: rgba(0, 0, 0, 0.45);
|
|
}
|
|
}
|
|
.info{
|
|
width: 100%;
|
|
font-size: 16px;
|
|
line-height: 40px;
|
|
padding-left: 20px;
|
|
}
|
|
}
|
|
</style>
|
|
<style lang="scss">
|
|
.overView{
|
|
.el-table th{
|
|
background-color: #FAFAFA;
|
|
}
|
|
.el-collapse-item__header{
|
|
background-color: #E8F5FF;
|
|
padding-left: 12px;
|
|
font-size: 16px;
|
|
}
|
|
}
|
|
</style>
|