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.
161 lines
3.4 KiB
161 lines
3.4 KiB
<!--
|
|
* @desc: 导航
|
|
* @Author: gaowenya
|
|
* @Date: 2023-06-21 11:00
|
|
* @LastEditors:
|
|
* @LastEditTime:
|
|
-->
|
|
<template>
|
|
<header class="header" :class="getPatient === false ? 'mt' : ''">
|
|
<div class="header-content" v-if="getChangeText.title || getPatient">
|
|
<div class="header-back" v-if="isBack" @click="toBack">
|
|
<a-icon type="left" />返回
|
|
</div>
|
|
<div class="header-title">
|
|
<span v-if="getChangeText.title">
|
|
{{ getChangeText.title }}
|
|
</span>
|
|
<p v-else class="caret-top">
|
|
姓名:
|
|
<span> {{ patientData.patientName || '暂无' }} </span>
|
|
性别:
|
|
<span>
|
|
{{ sex[patientData.patientGender] || '暂无' }}
|
|
</span>
|
|
年龄:
|
|
<span> {{ patientData.patientAge || '暂无' }} </span>
|
|
证件号:
|
|
<span> {{ patientData.jzh || '暂无' }} </span>
|
|
急诊号:
|
|
<span> 暂无 </span>
|
|
</p>
|
|
</div>
|
|
<div class="header-right" v-if="isMore" @click="changeOverviewType">
|
|
{{ getChangeText.text }}<a-icon type="swap" />
|
|
</div>
|
|
</div>
|
|
</header>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapMutations, mapState } from 'vuex';
|
|
export default {
|
|
data() {
|
|
return {
|
|
sex: {
|
|
0: '男',
|
|
1: '女',
|
|
},
|
|
overview: {
|
|
title: '',
|
|
text: '',
|
|
},
|
|
};
|
|
},
|
|
computed: {
|
|
...mapState('patient', ['patientData', 'overviewType']),
|
|
...mapState('storm', ['isBack', 'isMore']),
|
|
getChangeText() {
|
|
if (this.overviewType === 'info') {
|
|
return {
|
|
title: '患者信息',
|
|
text: '切换至概览',
|
|
};
|
|
} else if (this.overviewType === 'overview') {
|
|
return {
|
|
title: '患者概览',
|
|
text: '切换至详情',
|
|
};
|
|
}
|
|
return {
|
|
title: '',
|
|
text: '',
|
|
};
|
|
},
|
|
getPatient() {
|
|
if (!this.patientData) return false;
|
|
const { patientName, patientGender, patientAge, patientIdCardNo } =
|
|
this.patientData;
|
|
console.log(' this.patientData: ', this.patientData);
|
|
let sex = {
|
|
0: '男',
|
|
1: '女',
|
|
};
|
|
if (!patientName) return false;
|
|
return `姓名: ${patientName} 性别: ${sex[patientGender]} 年龄: ${
|
|
patientAge || ''
|
|
} 证件号: ${patientIdCardNo} 急诊号: 暂无`;
|
|
},
|
|
},
|
|
methods: {
|
|
...mapMutations('patient', ['setOverviewType']),
|
|
toBack() {
|
|
window.history.go(-1);
|
|
},
|
|
changeOverviewType() {
|
|
if (this.overviewType === 'info') {
|
|
this.overview = {
|
|
title: '患者概览',
|
|
text: '切换至概览',
|
|
};
|
|
this.setOverviewType('overview');
|
|
} else if (this.overviewType === 'overview') {
|
|
this.overview = {
|
|
title: '患者信息',
|
|
text: '切换至详情',
|
|
};
|
|
this.setOverviewType('info');
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped lang="less">
|
|
.header {
|
|
width: 100%;
|
|
display: flex;
|
|
background: linear-gradient(180deg, #dbeaff, #fbfdff 50%);
|
|
box-shadow: 0px 0.25px 0px 0px rgba(0, 0, 0, 0.2);
|
|
.caret-top {
|
|
margin: 0;
|
|
span {
|
|
color: #70798c;
|
|
margin-right: 5px;
|
|
}
|
|
}
|
|
&.mt {
|
|
margin-top: 10px;
|
|
}
|
|
.header-content {
|
|
flex: 1;
|
|
height: 60px;
|
|
display: flex;
|
|
position: relative;
|
|
align-items: center;
|
|
}
|
|
.header-back {
|
|
position: absolute;
|
|
top: 16px;
|
|
left: 24px;
|
|
font-size: 24px;
|
|
}
|
|
.header-right {
|
|
position: absolute;
|
|
top: 16px;
|
|
right: 24px;
|
|
font-size: 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.header-title {
|
|
flex: 1;
|
|
font-size: 24px;
|
|
font-family: Source Han Sans CN, Source Han Sans CN-Bold;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
}
|
|
}
|
|
</style>
|
|
|