1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<template>
<div class="flex flex-col" style="height: 100vh">
<div class="p-3 text-black text-center shrink-0 doc-nav-bar" v-if='showNav()'>
<span @click="onBack" class="text-12 back-bt">
<doc-icon type="doc-left2" />
</span>
<span>随访详情</span>
</div>
<div class="px-4 py-3 flex shrink-0 base-info">
<div class="flex w-full">
<div class="grow flex flex-col justify-between">
<div class="flex justify-between">
<span class="name">{{ residentInfo.residentName }}</span>
</div>
<div class="top-label">
<div class="mt-3 flex">
<div>
<span>随访日期:</span>
<span class="color-b">{{ info.visitDate }}</span>
</div>
<div class="ml-2">
<span>病情状态:</span>
<span class="color-b">{{ info.visitTypeName }}</span>
</div>
</div>
<div>
<span>下次随访日期:</span>
<span class="color-b">{{ info.nextVisitDate }}</span>
</div>
</div>
</div>
</div>
</div>
<HypertensionDetail v-if="routerDetail.diseaseType === '1'" :visitInfo="info" />
<DiabetesDetail v-if="routerDetail.diseaseType === '2'" :visitInfo="info" />
<CoronaryHeartDiseaseDetail v-if="routerDetail.diseaseType === '3'" :visitInfo="info" />
<CerebralApoplexyDetail v-if="routerDetail.diseaseType === '4'" :visitInfo="info" />
<CopdDetail v-if="routerDetail.diseaseType === '5'" :visitInfo="info" />
<ChronicKidneyDiseaseDetail v-if="routerDetail.diseaseType === '6'" :visitInfo="info" />
<AbnormalBloodLipidsDetail v-if="routerDetail.diseaseType === '7'" :visitInfo="info" />
</div>
</template>
<script>
import { querySeparateFUDetail } from '@/api/residentWX/visit.js'
import HypertensionDetail from './components/HypertensionDetail.vue'
import DiabetesDetail from './components/DiabetesDetail.vue'
import CoronaryHeartDiseaseDetail from './components/CoronaryHeartDiseaseDetail.vue'
import CerebralApoplexyDetail from './components/CerebralApoplexyDetail.vue'
import CopdDetail from './components/CopdDetail.vue'
import ChronicKidneyDiseaseDetail from './components/ChronicKidneyDiseaseDetail.vue'
import AbnormalBloodLipidsDetail from './components/AbnormalBloodLipidsDetail.vue'
export default {
components: { HypertensionDetail, DiabetesDetail, CoronaryHeartDiseaseDetail, CerebralApoplexyDetail, CopdDetail, ChronicKidneyDiseaseDetail, AbnormalBloodLipidsDetail },
inject:['showNav'],
data() {
return {
info: {}
}
},
computed: {
routerDetail() {
return this.$route.params
},
residentInfo() {
return this.info.residentsRecord || {}
}
},
created() {
document.title = '专病随访详情'
this.load()
},
methods: {
load() {
const { relationId, diseaseType } = this.routerDetail
if (!relationId) {
showToast('未获取到信息')
return
}
let params = {
id: relationId,
diseaseType,
}
querySeparateFUDetail(params).then(res => {
let result = res.data || {}
this.info = result
})
},
onBack() {
this.$router.back()
}
}
}
</script>
<style lang="less" scoped>
@import url('../../utils/common.less');
.base-info {
background: linear-gradient(to bottom, #DFF5F4, #fff 50%);
color: #8c8c8c;
.name {
font-weight: 600;
color: #000;
font-size: 18px;
}
.top-label {
font-size: 13px;
line-height: 22px;
}
.color-b {
color: #262626;
}
}
</style>