Commit b0b57317 authored by 芮自成's avatar 芮自成

专病随访详情联调

parent 4da3bf77
......@@ -27,4 +27,10 @@ export function addChronicKidneyDiseaseForm(params) {
// 新增血脂异常随访
export function addDyslipidemiaForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-dyslipemia/save`, body: params, loading: true })
}
// 查询专病随访详情
export function getSeparateFUDetail(params) {
return fetchBase({ url: `/chronic-resident/v1/chronic-visit-record/specialized-detail`, body: params, loading: true })
}
\ No newline at end of file
......@@ -66,7 +66,7 @@ export default {
if (!token) {
token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') {
token = '59bb8ba3-0773-49a7-ac20-1163fe0ba8d5'
token = '23a416c2-1edc-4aed-9be2-287b0e6296e5'
}
}
if (token) {
......
......@@ -10,6 +10,9 @@
<!-- <HisDetail :info="detailInfo" v-else-if="showHis"></HisDetail>-->
<!-- 报卡随访详情 -->
<CrsVisitDetail :relationUuid="detailInfo.relationUuid" v-else-if="showCrs"></CrsVisitDetail>
<!-- 专病随访详情 -->
<SeparateFUDetail :relationId="detailInfo.relationId" v-else-if="showFU"></SeparateFUDetail>
</div>
</template>
......@@ -18,10 +21,12 @@ import { getVisitManageVByUuId } from '@/api/doctor/generalFU'
import CrsVisitDetail from '@/doctor/followUp/detail/components/CrsVisitDetail'
import CurrencyFUDetail from '@/doctor/followUp/generalFU/detail/Detail'
import IframePage from '@/components/iframePage/IframePage'
// 专病随访
import SeparateFUDetail from '@/doctor/followUp/separateFU/detail/Index.vue'
export default {
name: 'FollowUpDetail',
components: { IframePage, CurrencyFUDetail, CrsVisitDetail },
components: { IframePage, CurrencyFUDetail, CrsVisitDetail, SeparateFUDetail },
data() {
return {
detailInfo: {},
......
<template>
<div>
<DocNavBar title="专病随访详情"></DocNavBar>
<HypertensionDetail :visitInfo="info"></HypertensionDetail>
</div>
</template>
<script>
import { getSeparateFUDetail } from '@/api/doctor/separateFU'
import DocNavBar from '@/doctor/components/docNavBar/DocNavBar.vue'
import HypertensionDetail from './components/HypertensionDetail.vue'
export default {
components: { DocNavBar, HypertensionDetail },
props: {
relationId: String
},
data() {
return {
info: {}
}
},
computed: {
diseaseType() {
return this.$route.query.diseaseType
}
},
created() {
this.load()
},
methods: {
load() {
if (!this.relationId) {
this.$message.info('未获取到信息')
return
}
let params = {
id: this.relationId,
diseaseType: this.diseaseType
}
getSeparateFUDetail(params).then(res => {
console.log(666, res)
let result = res.data || {}
this.info = result
})
}
}
}
</script>
\ No newline at end of file
<template>
<div class="p-3 grow cont-box">
<div class="p-3 h-full cont-inner">
<div class="flex justify-between collapse-head mt-2">
<span class="text-16 font-semibold">全部内容</span>
<span @click="toggleAll">
<span v-if="!collapseAll">展开全部</span>
<span v-else>收起全部</span>
<span :class="['ml-2 icon-down', { 'icon-down-expanded': collapseAll }]">
<doc-icon type="doc-down" />
</span>
</span>
</div>
<van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1">
<template #right-icon>
<doc-icon type="doc-down" />
</template>
<div class="list">
<div v-for="item in columnsBase" :key="item.key">
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">{{ item.title }}</span>
<span v-if="item.key === 'idCard'">{{ $idCardHide(residentInfo.idCard) || '-' }}</span>
<span class="text-end" v-else>
<span>{{ residentInfo[item.key] || '-' }}</span>
<span v-if="item.unit" class="ml-1">{{ item.unit }}</span>
</span>
</div>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="2" title="随访方式" name="2">
<template #right-icon>
<doc-icon type="doc-down" />
</template>
<div class="list">
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">随访方式</span>
<span class="text-end">
{{ visitInfo.visitWayName || '-' }}
</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="3" title="症状" name="3">
<template #right-icon>
<doc-icon type="doc-down" />
</template>
<div class="list">
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">症状</span>
<span class="text-end">
{{ visitInfo.symptomName || '-' }}
</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="4" title="体征" name="4">
<template #right-icon>
<doc-icon type="doc-down" />
</template>
<div class="list">
<div v-for="item in columnsPhysical" :key="item.key">
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">{{ item.title }}</span>
<span class="text-end">
<span>{{ visitInfo[item.key] || '-' }}</span>
<span v-if="item.unit" class="ml-1">{{ item.unit }}</span>
</span>
</div>
</div>
</div>
</van-collapse-item>
</van-collapse>
</div>
</div>
</template>
<script>
export default {
props: {
visitInfo: {
type: Object,
default: () => {}
}
},
data() {
return {
collapseAll: false,
activeCollapse: [],
columnsBase: [
{ title: '姓名', key: 'residentName' },
{ title: '证件号码', key: 'idCard' },
{ title: '性别', key: 'genderName' },
{ title: '出生日期', key: 'dataBirth' },
{ title: '年龄', key: 'currentAge' },
{ title: '民族', key: 'nationalName' },
{ title: '本人电话', key: 'telephone' },
{ title: '现住址', key: 'presentCodeName' },
{ title: '详细地址', key: 'nowAddress' },
{ title: '户籍地址', key: 'registeredCodeName' },
{ title: '详细地址', key: 'permanentAddress' }
],
columnsPhysical: [
{ title: '收缩压SBP', key: 'signSystolicPressure', unit: 'mmHg' },
{ title: '舒张压DBP', key: 'signDiastolicPressure', unit: 'mmHg' },
{ title: '心率', key: 'signHeartRate', unit: '次/分' },
{ title: '身高', key: 'signHeight', unit: 'cm' },
{ title: '体重', key: 'signWeight', unit: 'kg' },
{ title: 'BMI', key: 'signBmi', unit: 'kg/m²' },
{ title: '腰围', key: 'signWaistline', unit: 'cm' },
{ title: '其他', key: 'signOther' }
]
}
},
computed: {
residentInfo() {
return this.visitInfo.residentsRecord || {}
}
},
methods: {
collapseChange(val) {
console.log(val)
if (val && val.length <= 2) {
this.activeCollapse = val.slice(val.length - 1)
} else {
if (this.activeCollapse.length > val.length) {
this.activeCollapse = val
}
if (this.activeCollapse.length < val.length) {
this.activeCollapse = val.slice(val.length - 1)
}
}
}
}
}
</script>
<style lang="less" scoped>
@import url('@/doctor/utils/common.less');
.cont-box {
background-color: #f9f9f9;
.cont-inner {
background: linear-gradient(to bottom, #F0F6FF, #fff .6rem);
border-top-left-radius: .08rem;
border-top-right-radius: .08rem;
}
}
.collapse-head {
.icon-down {
vertical-align: middle;
font-size: .12rem;
.svg-icon {
transition: all .2s;
}
}
.icon-down-expanded {
.svg-icon {
transform: rotate(-180deg);
}
}
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment