Commit 133b0ee5 authored by gengchunlei's avatar gengchunlei

居民端小程序 1、图片查看组件

            2、展开全部与折叠面板手风琴组件逻辑实现
            3、 未存在慢病档案时不触发列表查询
parent 1528efa0
......@@ -13,7 +13,7 @@
<script>
import { getDict, getResidentByInfo } from '@/api/base.js'
import { useStore } from './store/index.js'
import { getQueryVariable, showNav } from '@/utils/common'
import { getQueryVariable, isResidentInfo, showNav } from '@/utils/common'
import { showNotify } from 'vant'
export default {
......@@ -55,12 +55,12 @@ export default {
},
provide() {
return {
showNav: showNav
showNav: showNav,
isResidentInfo: isResidentInfo,
}
},
methods: {
async init() {
console.log(this.visible)
const res = await getDict()
this.store.$patch({ dict: res.data || {} })
let idCard = getQueryVariable('idCard')
......@@ -70,12 +70,12 @@ export default {
}
if (idCard) {
const user = await getResidentByInfo({ idCard: idCard })
if (!user.data) {
showNotify({ type: 'warning', message: '未获取到慢病信息', duration: 0 })
return
}
// if (!user.data) {
// showNotify({ type: 'warning', message: '未获取到慢病信息', duration: 0 })
// return
// }
this.store.$patch({ userInfo: user.data || {} })
window.sessionStorage.setItem('userInfo', JSON.stringify(user.data))
window.sessionStorage.setItem('userInfo', JSON.stringify(user.data || {}))
} else {
let user = JSON.parse(window.sessionStorage.getItem('userInfo'))
this.store.$patch({ userInfo: user || {} })
......
<template>
<div>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<div v-for="(url, index) in imgList" :key="index" @click='toPreview(index)'>
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div>
</div>
<van-overlay :show='imgShow' @click='imgShow = false'>
<div class='wrapper'>
<van-swipe class='block' :initial-swipe='initSwipe'>
<van-swipe-item v-for='image in imgList' :key='image'>
<img :src='image.trueDownloadUrl' style='width: 100%;height: 100%'/>
</van-swipe-item>
</van-swipe>
</div>
</van-overlay>
</div>
</template>
<script>
export default {
name: 'imagePreview',
props: {
imgList: Array,
},
data() {
return {
imgShow: false,
initSwipe: 0
}
},
methods: {
//图片预览
toPreview(index) {
this.initSwipe = index
this.imgShow = true
},
}
}
</script>
<style scoped lang='less'>
.wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
.block {
width: 100%;
}
}
</style>
\ No newline at end of file
......@@ -54,7 +54,7 @@ import { queryGuideList } from '@/api/residentWX/guide.js'
import { useStore } from '@/residentWX/store'
export default {
inject: ['showNav'],
inject: ['showNav', 'isResidentInfo'],
data() {
return {
store: useStore(),
......@@ -83,7 +83,6 @@ export default {
},
created() {
document.title = '健康指导'
this.init()
},
mounted() {
const list = this.$refs.list
......@@ -96,10 +95,8 @@ export default {
})
},
methods: {
init() {
this.load()
},
load(loading = true) {
if (!this.isResidentInfo()) return
const query = {
residentInfoId: this.userInfo.residentInfoId,
pageIndex: this.pagination.pageIndex,
......
......@@ -40,7 +40,7 @@ import { getServiceDoc } from '@/api/residentWX/nim.js'
import { showFailToast } from 'vant'
export default {
inject:['showNav'],
inject:['showNav', 'isResidentInfo'],
data() {
return {
store: useStore(),
......@@ -64,7 +64,9 @@ export default {
},
created() {
document.title = '专家在线咨询'
this.init()
if (this.isResidentInfo()) {
this.init()
}
},
methods: {
init() {
......
......@@ -57,7 +57,7 @@ import { useStore } from '@/residentWX/store'
import { queryScreenList } from '@/api/residentWX/screening.js'
export default {
inject:['showNav'],
inject:['showNav', 'isResidentInfo'],
data() {
return {
store: useStore(),
......@@ -91,7 +91,6 @@ export default {
},
created() {
document.title = '慢病筛查记录'
this.init()
},
mounted() {
const list = this.$refs.list
......@@ -104,10 +103,8 @@ export default {
})
},
methods: {
init() {
this.load()
},
load(loading = true) {
if (!this.isResidentInfo()) return
const query = {
screeningType: this.activeTab,
residentInfoId: this.userInfo.residentInfoId,
......
......@@ -33,7 +33,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse"
<van-collapse :model-value="activeCollapse" ref="collapse" class="doc-collapse"
@change="collapseChange">
<van-collapse-item v-for="collapse in collapseList" :key="collapse.name"
:title="collapse.title" :name="collapse.name">
......@@ -180,12 +180,16 @@ export default {
// 折叠面板切换
collapseChange(val) {
// console.log(val, this.activeCollapse)
// if (val && val.length) {
// this.activeCollapse = val.slice(val.length - 1)
// } else {
// this.activeCollapse = []
// }
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)
}
}
if (val && val.length === this.collapseList.length) {
this.collapseAll = true
} else {
......
......@@ -46,7 +46,7 @@
</span>
</div>
<van-collapse v-model='activeCollapse' ref='collapse' class='doc-collapse'
<van-collapse :model-value='activeCollapse' ref='collapse' class='doc-collapse'
@change='collapseChange'>
<van-collapse-item key='1' title='居民信息' name='1'>
<template #right-icon>
......@@ -799,6 +799,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val && val.length === this.collapseList.length) {
this.collapseAll = true
} else {
......
......@@ -69,7 +69,7 @@ import { useStore } from '@/residentWX/store'
import { queryVisitList } from '@/api/residentWX/visit'
export default {
inject: ['showNav'],
inject: ['showNav', 'isResidentInfo'],
data() {
return {
store: useStore(),
......@@ -123,6 +123,7 @@ export default {
},
methods: {
load(loading = true) {
if (!this.isResidentInfo()) return
const query = {
residentInfoId: this.baseInfo.residentInfoId,
diseaseType: this.activeTab,
......
......@@ -9,9 +9,7 @@
</div>
<div class='px-4 py-3 flex shrink-0 base-info'>
<div class='flex w-full'>
<img src='@/assets/image/residentWX/avatar.png' alt='' class='shrink-0'
style='width: .56rem;height: .56rem'>
<div class='grow flex flex-col justify-between pl-3'>
<div class='grow flex flex-col justify-between'>
<div class='flex justify-between'>
<span class='name'>{{ residentInfo.residentName }}</span>
</div>
......@@ -27,8 +25,8 @@
</div>
<div class='p-3 grow cont-box'>
<div class='p-3 h-full cont-inner'>
<div class='flex justify-between collapse-head'>
<span class='text-16'>全部内容</span>
<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>
......@@ -37,8 +35,7 @@
</span>
</span>
</div>
<van-collapse v-model='activeCollapse' ref='collapse' class='doc-collapse'
<van-collapse :model-value="activeCollapse" ref='collapse' class='doc-collapse'
@change='collapseChange'>
<van-collapse-item key='1' title='居民信息' name='1'>
<template #right-icon>
......@@ -195,24 +192,30 @@
</div>
</div>
</van-collapse-item>
<van-collapse-item key='11' title='上传随访记录' name='11' v-if="showOne && info.visitSituation == 1">
<van-collapse-item key='11' title='上传随访记录' name='11' v-if="showOne">
<template #right-icon>
<doc-icon type='doc-down' />
</template>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<!-- <div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<div v-for="(url, index) in info.uploadVisitRecordImageList" :key="index" >
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div>
</div>-->
<div>
<image-preview :img-list='info.uploadVisitRecordImageList'></image-preview>
</div>
</van-collapse-item>
<van-collapse-item key='12' title='现场随访照片' name='12' v-if="showOne && info.visitSituation == 1">
<van-collapse-item key='12' title='现场随访照片' name='12' v-if="showOne">
<template #right-icon>
<doc-icon type='doc-down' />
</template>
<div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<!-- <div class='list gap-x-2.5 gap-y-1 flex items-center flex-wrap'>
<div v-for="(url, index) in info.sceneVisitImageList" :key="index" >
<img style='width: 1.47rem;height: 2.04rem' :src="url.trueDownloadUrl" />
</div>
</div>-->
<div>
<image-preview :img-list='info.sceneVisitImageList'></image-preview>
</div>
</van-collapse-item>
<van-collapse-item key='13' title='随访机构' name='13'>
......@@ -241,10 +244,11 @@ import { showToast } from 'vant'
import { queryGeneralFUDetail } from '@/api/residentWX/visit'
import Mp3 from '@/residentWX/components/mediaPlay/Mp3.vue'
import Mp4 from '@/residentWX/components/mediaPlay/Mp4'
import ImagePreview from '@/residentWX/components/imagePreview/imagePreview'
export default {
name: 'CurrencyFUDetail.vue',
components: { Mp4, Mp3 },
components: { ImagePreview, Mp4, Mp3 },
inject: ['showNav'],
data() {
return {
......@@ -289,7 +293,7 @@ export default {
{ title: '随访单位', key: 'visitUnitName' },
{ title: '随访科室', key: 'visitOfficeName' },
{ title: '随访医生', key: 'visitDoctorName' }
]
],
}
},
computed: {
......@@ -397,6 +401,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val && val.length === this.collapseList.length) {
this.collapseAll = true
} else {
......
......@@ -12,7 +12,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<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" />
......@@ -442,6 +442,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 14) {
this.collapseAll = true
} else {
......
......@@ -12,7 +12,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<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" />
......@@ -442,6 +442,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 14) {
this.collapseAll = true
} else {
......
......@@ -12,7 +12,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<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" />
......@@ -441,6 +441,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 14) {
this.collapseAll = true
} else {
......
......@@ -12,7 +12,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<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" />
......@@ -447,6 +447,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 14) {
this.collapseAll = true
} else {
......
......@@ -12,7 +12,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<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" />
......@@ -442,6 +442,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 14) {
this.collapseAll = true
} else {
......
......@@ -12,7 +12,7 @@
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<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" />
......@@ -502,6 +502,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 15) {
this.collapseAll = true
} else {
......
<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>
<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" />
<doc-icon type='doc-down' />
</span>
</span>
</div>
<van-collapse v-model="activeCollapse" ref="collapse" class="doc-collapse" @change="collapseChange">
<van-collapse-item key="1" title="居民信息" name="1">
<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" />
<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>
<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 class='text-end' v-else>
<span>{{ residentInfo[item.key] || '-' }}</span>
<span v-if="item.unit" class="ml-1">{{ item.unit }}</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">
<van-collapse-item key='2' title='症状' name='2'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">
<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'>
{{ info.symptomName || '-' }}
</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="3" title="体征" name="3">
<van-collapse-item key='3' title='体征' name='3'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">
<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>{{ info[item.key] || '-' }}</span>
<span v-if="item.unit" class="ml-1">{{ item.unit }}</span>
<span v-if='item.unit' class='ml-1'>{{ item.unit }}</span>
</span>
</div>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="4" title="生活方式指导" name="4">
<van-collapse-item key='4' title='生活方式指导' name='4'>
<template #right-icon>
<doc-icon type="doc-down" />
<doc-icon type='doc-down' />
</template>
<div style="color: #262626">吸烟</div>
<div class="box">
<div style='color: #262626'>吸烟</div>
<div class='box'>
<div>
<span>是否正在吸烟:</span>
<span>{{ info.isSmokingName }}</span>
</div>
<div v-if="info.isSmoking === 1">
<div v-if='info.isSmoking === 1'>
<span>您大约从几岁起开始养成每天或基本每天都吸烟的习惯:</span>
<span>{{ info.startSmokeAge || '-' }}岁</span>
</div>
<div v-if="info.isSmoking === 1 || info.isSmoking === 2">
<div v-if='info.isSmoking === 1 || info.isSmoking === 2'>
<span>您最近7天是否吸烟:</span>
<span>{{ info.lastSevenSmokeName }}</span>
</div>
<div v-if="info.isSmoking === 1 || info.isSmoking === 2">
<div v-if='info.isSmoking === 1 || info.isSmoking === 2'>
<span>日吸烟量:</span>
<span>{{ info.daySmoking || '-' }}支</span>
<span class="ml-4">目标日吸烟量:</span>
<span class='ml-4'>目标日吸烟量:</span>
<span>{{ info.goalDaySmoking || '-' }}支</span>
</div>
</div>
<div style="color: #262626" class="mt-2">饮酒</div>
<div class="box">
<div style='color: #262626' class='mt-2'>饮酒</div>
<div class='box'>
<div>
<span>是否正在饮酒:</span>
<span>{{ info.isDrinkName }}</span>
</div>
<div v-if="info.isDrink === 1 || info.isDrink === 2">
<div v-if='info.isDrink === 1 || info.isDrink === 2'>
<span>日饮酒量:</span>
<span>{{ info.dayDrink || '-' }}ml</span>
<span class="ml-4">目标日饮酒量:</span>
<span class='ml-4'>目标日饮酒量:</span>
<span>{{ info.goalDayDrink || '-' }}ml</span>
</div>
<div v-if="info.isDrink === 1 || info.isDrink === 2">
<div v-if='info.isDrink === 1 || info.isDrink === 2'>
<span>白酒:</span>
<span>{{ info.drinkLiquor || '-' }}ml/日</span>
<span class="ml-2">啤酒:</span>
<span class='ml-2'>啤酒:</span>
<span>{{ info.drinkBeer || '-' }}ml/日</span>
<span class="ml-2">红酒:</span>
<span class='ml-2'>红酒:</span>
<span>{{ info.drinkRed || '-' }}ml/日</span>
<span class="ml-2">黄酒:</span>
<span class='ml-2'>黄酒:</span>
<span>{{ info.drinkYellow || '-' }}ml/日</span>
<span class="ml-2">其他:</span>
<span class='ml-2'>其他:</span>
<span>{{ info.drinkOther || '-' }}ml/日</span>
</div>
</div>
<div style="color: #262626" class="mt-2">运动</div>
<div class="box">
<div style='color: #262626' class='mt-2'>运动</div>
<div class='box'>
<div>
<span>有无规律活动:</span>
<span>{{ info.regularExerciseName }}</span>
</div>
<div v-if="info.regularExercise === 1">
<div v-if='info.regularExercise === 1'>
<span>运动强度:</span>
<span>{{ info.exerciseStrengthName }}</span>
</div>
<div v-if="info.regularExercise === 1">
<div v-if='info.regularExercise === 1'>
<span>目前运动情况:</span>
<span>{{ info.nowExerciseWeek || '-' }}次/周、</span>
<span>{{ info.nowExerciseMinute || '-' }}分钟/次</span>
</div>
</div>
<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">{{ info.saltIntakeName || '-' }}</span>
<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'>{{ info.saltIntakeName || '-' }}</span>
</div>
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">心理调整</span>
<span class="text-end">{{ info.psychologicalRecoveryName || '-' }}</span>
<div class='flex justify-between py-1 border-bottom item'>
<span class='shrink-0 mr-2 label'>心理调整</span>
<span class='text-end'>{{ info.psychologicalRecoveryName || '-' }}</span>
</div>
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">遵医行为</span>
<span class="text-end">{{ info.doctorAdviceName || '-' }}</span>
<div class='flex justify-between py-1 border-bottom item'>
<span class='shrink-0 mr-2 label'>遵医行为</span>
<span class='text-end'>{{ info.doctorAdviceName || '-' }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="5" title="辅助检查" name="5">
<van-collapse-item key='5' title='辅助检查' name='5'>
<template #right-icon>
<doc-icon type="doc-down" />
<doc-icon type='doc-down' />
</template>
<div v-for="(x, xIndex) in inspectList" :key="x.insType">
<div style="color: #262626" :class="[xIndex === 0 ? '' : 'mt-2']">{{ x.insName }}</div>
<div class="box">
<div v-for="y in x.items">
<div v-for='(x, xIndex) in inspectList' :key='x.insType'>
<div style='color: #262626' :class="[xIndex === 0 ? '' : 'mt-2']">{{ x.insName }}</div>
<div class='box'>
<div v-for='y in x.items'>
<span>{{ y.itemName }}:</span>
<span>{{ y.itemValue }}</span>
<span class="ml-1">{{ y.unit }}</span>
<span class='ml-1'>{{ y.unit }}</span>
</div>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="6" title="目前高血压用药及依从性" name="6">
<van-collapse-item key='6' title='目前高血压用药及依从性' name='6'>
<template #right-icon>
<doc-icon type="doc-down" />
<doc-icon type='doc-down' />
</template>
<div class="box">
<div class='box'>
<div>
<span>您目前是否在服用降压药、降脂(如他汀类)或抗血小板(如阿司匹林)等心血管病相关药物:</span>
<span>{{ info.medicationComplianceName }}</span>
......@@ -167,15 +167,15 @@
<div>
<span>药物名称:</span>
<span>{{ currentMedicateCase.drugName }}</span>
<span class="ml-4">剂量:</span>
<span class="mr-1">{{ currentMedicateCase.dose }}</span>
<span class='ml-4'>剂量:</span>
<span class='mr-1'>{{ currentMedicateCase.dose }}</span>
<span>{{ store.getDictValue('CP00081', currentMedicateCase.unit) }}</span>
</div>
<div>
<span>用药频次:</span>
<span>{{ store.getDictValue('CP00084', currentMedicateCase.frequency) }}</span>
<span class="ml-4">用法:</span>
<span class='ml-4'>用法:</span>
<span>{{ store.getDictValue('CP00083', currentMedicateCase.usage) }}</span>
</div>
<div>
......@@ -186,87 +186,87 @@
<span>不依从原因:</span>
<span>{{ info.noComplianceReasonName }}</span>
</div>
<div v-if="(info.noComplianceReason || []).includes(3)">
<div v-if='(info.noComplianceReason || []).includes(3)'>
<span>副作用原因:</span>
<span>{{ info.sideEffectReasonName }}</span>
</div>
</div>
<div v-for="(item, index) in addMedicateCase" :key="index" class="box mt-2">
<div v-for='(item, index) in addMedicateCase' :key='index' class='box mt-2'>
<div>
<span>药物名称:</span>
<span>{{ item.drugName }}</span>
<span class="ml-4">剂量:</span>
<span class="mr-1">{{ item.dose }}</span>
<span class='ml-4'>剂量:</span>
<span class='mr-1'>{{ item.dose }}</span>
<span>{{ store.getDictValue('CP00081', item.unit) }}</span>
</div>
<div>
<span>用法:</span>
<span>{{ store.getDictValue('CP00083', item.usage) }}</span>
<span class="ml-4">频次:</span>
<span class='ml-4'>频次:</span>
<span>{{ store.getDictValue('CP00084', item.frequency) }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="7" title="药物不良反应" name="7">
<van-collapse-item key='7' title='药物不良反应' name='7'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">{{ info.drugsAdverseName }}</span>
<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'>{{ info.drugsAdverseName }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="8" title="此次随访分类" name="8">
<van-collapse-item key='8' title='此次随访分类' name='8'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">{{ info.visitTypeName }}</span>
<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'>{{ info.visitTypeName }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="9" title="目前诊断" name="9">
<van-collapse-item key='9' title='目前诊断' name='9'>
<template #right-icon>
<doc-icon type="doc-down" />
<doc-icon type='doc-down' />
</template>
<div v-for="(x, xIndex) in info.diagnoseInfoList" :key="xIndex">
<div style="color: #262626">
<div v-for='(x, xIndex) in info.diagnoseInfoList' :key='xIndex'>
<div style='color: #262626'>
{{ (store.getDict('CP00086').find(e => e.value === x.currentDiagnoseType)).name }}
</div>
<div class="box" >
<div v-if="x.currentDiagnoseType === 1">
<div class='box'>
<div v-if='x.currentDiagnoseType === 1'>
<span>高血压分级:</span>
<span>{{ x.diagnoseResultValue }}</span>
<span class="ml-4">高血压危险分层:</span>
<span class='ml-4'>高血压危险分层:</span>
<span>{{ x.diagnoseLevelValue }}</span>
</div>
<div v-if="x.currentDiagnoseType === 2">
<div v-if='x.currentDiagnoseType === 2'>
<span>糖尿病:</span>
<span>{{ x.diagnoseResultValue }}</span>
</div>
<div v-if="x.currentDiagnoseType === 3">
<div v-if='x.currentDiagnoseType === 3'>
<span>冠心病:</span>
<span>{{ x.diagnoseResultValue }}</span>
</div>
<div v-if="x.currentDiagnoseType === 4">
<div v-if='x.currentDiagnoseType === 4'>
<span>缺血性脑卒中:</span>
<span>{{ x.diagnoseResultValue || '-' }}</span>
<span class="ml-4">出血性脑卒中:</span>
<span class='ml-4'>出血性脑卒中:</span>
<span>{{ x.diagnoseLevelValue }}</span>
</div>
<div v-if="x.currentDiagnoseType === 5">
<div v-if='x.currentDiagnoseType === 5'>
<span>慢阻肺:</span>
<span>{{ x.diagnoseResultValue }}</span>
</div>
<div v-if="x.currentDiagnoseType === 6">
<div v-if='x.currentDiagnoseType === 6'>
<span>慢性肾病:</span>
<span>{{ x.diagnoseResultValue }}</span>
</div>
<div v-if="x.currentDiagnoseType === 7">
<div v-if='x.currentDiagnoseType === 7'>
<span>血脂异常:</span>
<span>{{ x.diagnoseResultValue }}</span>
</div>
......@@ -274,7 +274,7 @@
<span>纳入管理日期:</span>
<span>{{ x.inclusionManageDate }}</span>
</div>
<div v-for="(y, yIndex) in x.diagnoseItemList" :key="yIndex">
<div v-for='(y, yIndex) in x.diagnoseItemList' :key='yIndex'>
<div>
<span>诊断名称:</span>
<span>{{ y.diagnosisResultName }}</span>
......@@ -299,76 +299,77 @@
</div>
</div>
</van-collapse-item>
<van-collapse-item key="10" title="用药情况" name="10">
<van-collapse-item key='10' title='用药情况' name='10'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">{{ info.adjustTreatName }}</span>
<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'>{{ info.adjustTreatName }}</span>
</div>
</div>
<div v-if="info.adjustTreat === 1" v-for="(item, index) in medicateCase" :key="index" class="box mt-2">
<div v-if='info.adjustTreat === 1' v-for='(item, index) in medicateCase' :key='index'
class='box mt-2'>
<div>
<span>药物名称:</span>
<span>{{ item.drugName }}</span>
<span class="ml-4">剂量:</span>
<span class="mr-1">{{ item.dose }}</span>
<span class='ml-4'>剂量:</span>
<span class='mr-1'>{{ item.dose }}</span>
<span>{{ store.getDictValue('CP00081', item.unit) }}</span>
</div>
<div>
<span>频次:</span>
<span>{{ store.getDictValue('CP00084', item.frequency) }}</span>
<span class="ml-4">用法:</span>
<span class='ml-4'>用法:</span>
<span>{{ store.getDictValue('CP00083', item.usage) }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="11" title="转诊" name="11">
<van-collapse-item key='11' title='转诊' name='11'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">{{ info.referralReason }}</span>
<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'>{{ info.referralReason }}</span>
</div>
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">转诊机构</span>
<span class="text-end">{{ info.referralUnitName }}</span>
<div class='flex justify-between py-1 border-bottom item'>
<span class='shrink-0 mr-2 label'>转诊机构</span>
<span class='text-end'>{{ info.referralUnitName }}</span>
</div>
<div class="flex justify-between py-1 border-bottom item">
<span class="shrink-0 mr-2 label">转诊科室</span>
<span class="text-end">{{ info.referralOfficeName }}</span>
<div class='flex justify-between py-1 border-bottom item'>
<span class='shrink-0 mr-2 label'>转诊科室</span>
<span class='text-end'>{{ info.referralOfficeName }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="12" title="现场随访照片" name="12">
<van-collapse-item key='12' title='现场随访照片' name='12'>
<template #right-icon>
<doc-icon type="doc-down" />
<doc-icon type='doc-down' />
</template>
</van-collapse-item>
<van-collapse-item key="13" title="下次随访日期" name="13">
<van-collapse-item key='13' title='下次随访日期' name='13'>
<template #right-icon>
<doc-icon type="doc-down" />
<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">{{ info.nextVisitDate }}</span>
<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'>{{ info.nextVisitDate }}</span>
</div>
</div>
</van-collapse-item>
<van-collapse-item key="14" title="随访机构" name="14">
<van-collapse-item key='14' title='随访机构' name='14'>
<template #right-icon>
<doc-icon type="doc-down" />
<doc-icon type='doc-down' />
</template>
<div class="list">
<div v-for="item in columnsOrg" :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">{{ info[item.key] }}</span>
<div class='list'>
<div v-for='item in columnsOrg' :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'>{{ info[item.key] }}</span>
</div>
</div>
</div>
......@@ -380,11 +381,13 @@
<script>
import { fetchDataHandle } from '@/utils/common.js'
import { useStore } from '@/resident/store/index.js'
export default {
props: {
visitInfo: {
type: Object,
default: () => {}
default: () => {
}
}
},
data() {
......@@ -435,7 +438,7 @@ export default {
{ title: '录入日期', key: 'createDate' },
{ title: '录入单位', key: 'createUnitName' },
{ title: '录入科室', key: 'createOfficeName' },
{ title: '录入医生', key: 'createDoctorName' },
{ title: '录入医生', key: 'createDoctorName' }
]
}
},
......@@ -452,7 +455,13 @@ export default {
})
this.info = form
// 辅助检查处理
let { auxiliaryExamination = [], inspectList = [], currentMedicateCase = {}, addMedicateCase = [], medicateCase = [], } = form
let {
auxiliaryExamination = [],
inspectList = [],
currentMedicateCase = {},
addMedicateCase = [],
medicateCase = []
} = form
let list = []
auxiliaryExamination.forEach(item => {
const items = inspectList.filter(e => e.insType === item)
......@@ -487,6 +496,16 @@ export default {
},
// 折叠面板切换
collapseChange(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)
}
}
if (val.length === 14) {
this.collapseAll = true
} else {
......@@ -504,7 +523,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang='less' scoped>
.cont-box {
background-color: #f9f9f9;
......@@ -534,10 +553,12 @@ export default {
.list {
color: #262626;
.label {
min-width: 5em;
}
}
.box {
background: #F8FAFC;
padding: 8px;
......
......@@ -274,4 +274,16 @@ export function showNav() {
res = true
}
return res
}
//用户是否存在慢病档案
export function isResidentInfo() {
let res = false
let jsonInfo =window.sessionStorage.getItem('userInfo')
if (jsonInfo == '{}') {
res = false
} else {
res = true
}
return res
}
\ No newline at end of file
......@@ -39,11 +39,12 @@ module.exports = defineConfig({
}
},
'/chronic-resident': {
target: 'http://192.168.1.200:8903',
// target: 'https://beta-tumour.zmnyjk.com',
// target: 'http://192.168.1.200:8903',
target: 'https://beta-tumour.zmnyjk.com',
changOrigin: true,
pathRewrite: {
'^/chronic-resident': '/'
// '^/chronic-resident': '/',
'^/chronic-resident': '/chronic-resident'
}
}
},
......
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