This commit is contained in:
2024-01-03 17:03:57 +08:00
parent 5022932732
commit 3306225a44
47 changed files with 3575 additions and 89 deletions

View File

@ -0,0 +1,76 @@
import request from "@/api/request.js"
// 获取体检日期
export function getPhysicalTime(identity) {
return request({
url: `/applet/followup/fetch/record/${identity}`,
method: 'get',
header: {
region: uni.getStorageSync('region'),
}
})
}
// 获取随访日期
export function getVisitTime(phType, identity) {
return request({
url: `/applet/followup/dateList/${phType}/${identity}`,
method: 'get',
header: {
region: uni.getStorageSync('region'),
}
})
}
// 获取个人基本信息
export function getUserInfo(identity) {
return request({
url: `/applet/signinfo/archive/${identity}`,
method: 'get',
header: {
region: uni.getStorageSync('region')
}
})
}
// 获取体检详情
export function getPhysicalDetail(identity, id) {
return request({
url: `/applet/followup/fetch/detail/${identity}/${id}`,
method: 'get',
header: {
region: uni.getStorageSync('region')
}
})
}
// 获取随访详情
export function getVisitDetail(phType, identity, id) {
return request({
url: `/applet/followup/detail/${phType}/${identity}/${id}`,
method: 'get',
header: {
region: uni.getStorageSync('region')
}
})
}
// 获取复诊记录时间轴
export function getSubsequentVisitTime(identity) {
return request({
url: `/performance/timelineList/${identity}`,
method: 'get',
header: {
region: uni.getStorageSync('region'),
}
})
}
// 获取复诊记录详情
export function getSubsequentVisitDetail(perRecordId) {
return request({
url: `/performance/getDetail/${perRecordId}`,
method: 'get',
header: {
region: uni.getStorageSync('region')
}
})
}

View File

@ -176,7 +176,7 @@
},
openCamera() {
let that = this
that.meimage=''
that.meimage = ''
uni.chooseImage({
sizeType: ['compressed'],
sourceType: ['camera'],
@ -197,7 +197,8 @@
success(respp) {
that.signatureshow = false
that.$emit('residentAutographPathlist', {
residentAutographPath: JSON.parse(respp.data).imgUrl,
residentAutographPath: JSON.parse(respp
.data).imgUrl,
image: that.meimage
})
}
@ -302,4 +303,4 @@
}
}
}
</style>
</style>

View File

@ -633,28 +633,55 @@
"navigationBarTitleText": "设备列表",
"enablePullDownRefresh": false
}
},
{
}, {
"path": "testreport/testreport",
"style": {
"navigationBarTitleText": "检测报告",
"enablePullDownRefresh": false
}
},
{
}, {
"path": "notice/notice",
"style": {
"navigationBarTitleText": "",
"onReachBottomDistance": 40, // px
"enablePullDownRefresh": true //true
}
},
{
}, {
"path": "noticedetails/noticedetails",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}, {
"path": "myinformation/myinformation",
"style": {
"navigationBarTitleText": "个人信息",
"enablePullDownRefresh": false
}
}, {
"path": "archivesphysicalexamination/physicalexamination",
"style": {
"navigationBarTitleText": "体检报告",
"enablePullDownRefresh": false
}
}, {
"path": "hypertension/hypertension",
"style": {
"navigationBarTitleText": "高血压随访",
"enablePullDownRefresh": false
}
}, {
"path": "diabetes/diabetes",
"style": {
"navigationBarTitleText": "糖尿病随访",
"enablePullDownRefresh": false
}
}, {
"path": "subsequentVisitRecord/subsequentVisitRecord",
"style": {
"navigationBarTitleText": "复诊记录",
"enablePullDownRefresh": false
}
}
]
}, {

View File

@ -293,7 +293,7 @@
z-index: 2;
width: 750rpx;
height: 100%;
background: url("@/static/pages/view_face_background.png") no-repeat center bottom;
background: url("@/pagesB/images/view_face_background.png") no-repeat center bottom;
background-size: 750rpx 661rpx;
}
@ -405,4 +405,4 @@
}
}
}
</style>
</style>

View File

@ -17,12 +17,12 @@
家医签约
</view>
</view>
<!-- <view class="home" @tap="goHealthrecords">
<view class="home" @tap="goHealthrecords">
<image src="@/static/health.png" mode=""></image>
<view class="name">
健康档案
</view>
</view> -->
</view>
<view class="home" @tap="goappoint">
<image src="@/static/serveappoint.png" mode=""></image>
<view class="name">

View File

@ -52,7 +52,7 @@
import {
mapMutations
} from "vuex";
import contenttext from '../../components/text.vue'
import contenttext from '@/pagesC/logintext/text.vue';
export default {
components: {
contenttext,

View File

@ -7,17 +7,17 @@
</text> -->
</view>
<view class="topbar">
<image src="../../static/pages/wenzhenpingtai.png" mode="" @tap="goconsultationplatform"></image>
<image src="../../static/pages/hulifuwu.png" mode="" @tap="gosite"></image>
<image mode="" :src="require('@/pagesB/images/wenzhenpingtai.png')" @tap="goconsultationplatform"></image>
<image mode="" :src="require('@/pagesB/images/hulifuwu.png')" @tap="gosite"></image>
</view>
<view class="title">
常用服务
</view>
<view class="centerbar topbar">
<image src="../../static/pages/yuyueshaicha.png" mode="" @tap="goAppointmentscreening"></image>
<image src="../../static/pages/shaichajieguo.png" mode="" @tap="result"></image>
<image src="../../static/pages/jiankangshangcheng.png" mode="" @tap="goshopping"></image>
<image src="../../static/pages/xinrenfuli.png" mode="" @tap="gomaterialbenefits"></image>
<image mode="" :src="require('@/pagesB/images/yuyueshaicha.png')" @tap="goAppointmentscreening"></image>
<image mode="" :src="require('@/pagesB/images/shaichajieguo.png')" @tap="result"></image>
<image mode="" :src="require('@/pagesB/images/jiankangshangcheng.png')" @tap="goshopping"></image>
<image mode="" :src="require('@/pagesB/images/xinrenfuli.png')" @tap="gomaterialbenefits"></image>
</view>
<view class="title">
<text>健康资讯</text>

View File

@ -2,7 +2,7 @@
<view class="register">
<view class="head" @tap="Face">
<image class="Facecollection" :src="query.headPictureUrl" v-if="query.headPictureUrl"></image>
<image class="Facecollection" src="@/static/pages/Facecollection.png" v-else></image>
<image class="Facecollection" mode="" :src="require('@/pagesB/images/Facecollection.png')" v-else></image>
<span>人脸采集</span>
</view>
<view class="form">
@ -145,7 +145,7 @@
getNurseType,
information
} from '@/api/pagesB/information/index.js'
import contenttext from '../../components/text.vue'
import contenttext from '@/pagesC/logintext/text.vue';
import {
getSubordinateRegions,
} from '@/api/pagesB/modifyAddress/modifyAddress.js';

View File

@ -2,7 +2,7 @@
<view class="app">
<view class="myorder titles" @tap="expertOrder">
<view class="title">
<image src="@/static/pagesB/updata.png" mode=""></image>
<image mode="" :src="require('../images/updata.png')"></image>
我的评价
</view>
<view class="righttitle">

View File

@ -485,4 +485,4 @@
</script>
<style lang="scss">
@import './appointmenttime.scss'
</style>
</style>

View File

@ -8,7 +8,7 @@
<image class="itemimg" :src="item" mode=""></image>
</view>
<view class="shot item" @tap='updataImage'>
<image src="@/static/pagesB/paishe.png" mode=""></image>
<image mode="" :src="require('../images/paishe.png')"></image>
<view class="title">
拍摄
</view>

View File

@ -8,7 +8,7 @@
<image class="itemimg" :src="item" mode=""></image>
</view>
<view class="shot item" @tap='updataImage'>
<image src="@/static/pagesB/paishe.png" mode=""></image>
<image mode="" :src="require('../images/paishe.png')"></image>
<view class="title">
拍摄
</view>

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -1,6 +1,6 @@
<template>
<view class="app">
<image src="@/static/pagesB/xinjianwenzhen.png" mode="" @tap='gocreatenewconsultation'></image>
<image mode="" :src="require('../images/xinjianwenzhen.png')" @tap='gocreatenewconsultation'></image>
<view class="title">
<view class="text" v-for='(item,index) in titlelist' :key='index'
:class="formdata.status==item.status?'Selectedtext':''" @tap='selecttitltext(item)'>

View File

@ -105,7 +105,7 @@
getNurseType,
information
} from '@/api/pagesB/information/index.js'
import contenttext from '../../components/text.vue';
import contenttext from '@/pagesC/logintext/text.vue';
import {
appPersonal,
} from '@/api/pages/myinformation/myinformation.js';

View File

@ -16,8 +16,8 @@
<view class="item">
<span>性别</span>
<u-radio-group v-model="sex" size='44'>
<u-radio @change='sexchange' v-for="(item, index) in sexlist" :key="index"
:name="item.name" :disabled="item.disabled">
<u-radio @change='sexchange' v-for="(item, index) in sexlist" :key="index" :name="item.name"
:disabled="item.disabled">
{{item.name}}
</u-radio>
</u-radio-group>
@ -107,7 +107,7 @@
import {
getRegionAndStreetInfo
} from '@/api/pagesB/information/index.js'
import contenttext from '../../components/text.vue'
import contenttext from '@/pagesC/logintext/text.vue';
import baseurl from '@/api/baseurl.js'
import {
appPersonal,
@ -190,7 +190,7 @@
},
sex: '',
addresslength: null,
value:{},
value: {},
}
},
onLoad(options) {

View File

@ -1,88 +1,225 @@
<template>
<view class="app">
<view class="content">
<view class="picture">
引导图示
<view class="label">
<view class="img">
<image mode="" :src="require('../images/jkm2x.png')"></image>
</view>
<view class="health" @tap="gohealth">
前往建档
<view class="text">
<view class="name">
{{userInfo.patientName?userInfo.patientName:''}}
<text v-if="userInfo.sex == 'MALE'"></text>
<text v-if="userInfo.sex == 'FEMALE'"></text>
</view>
<view class="id">
{{userInfo.cardNo?userInfo.cardNo:''}}
</view>
</view>
</view>
<view class="items">
<view class="item" @tap='gomyinformation'>
<image mode="" :src="require('../images/userinfo.png')"></image>
<view class="text">
个人信息
</view>
</view>
<view class="item" @tap='gophysicalexamination'>
<image mode="" :src="require('../images/report.png')"></image>
<view class="text">
体检报告
</view>
</view>
<view class="item" @tap="gohypertension">
<image mode="" :src="require('../images/hypertension.png')"></image>
<view class="text">
高血压随访
</view>
</view>
<view class="item" @tap='godiabetes'>
<image mode="" :src="require('../images/Diabetes.png')"></image>
<view class="text">
糖尿病随访
</view>
</view>
<view class="item" @tap='goSubsequentVisit' v-if="address == '德州市'">
<image mode="" :src="require('../images/jnFcPic.png')"></image>
<view class="text">
复诊记录
</view>
</view>
<view class="item" style="opacity: 0;">
<!-- <image src="../images/Diabetes.png" mode=""></image>
<view class="text">
复诊记录
</view> -->
</view>
<!-- <view class="item">
<image src="../images/HeartDisease.png" mode=""></image>
<view class="text">
冠心病随访
</view>
</view>
<view class="item">
<image src="../images/apoplexy.png" mode=""></image>
<view class="text">
闹卒中随访
</view>
</view> -->
</view>
</view>
</template>
<script>
import {
getPhysicalTime,
getVisitTime,
getSubsequentVisitTime
} from "@/api/pagesC/Healthrecords/index.js"
export default {
data() {
return {};
return {
userInfo: uni.getStorageSync('userinfo'),
address: uni.getStorageSync('location')
};
},
methods: {
goapponint() {
godiabetes() {
uni.navigateTo({
url: '/pagesC/Screeningdetails/Screeningdetails'
});
url: "/pagesC/diabetes/diabetes"
})
},
gohealth() {
//
goSubsequentVisit() {
getSubsequentVisitTime(this.userInfo.cardNo).then(res => {
if (!res.data || res.data.length == 0) {
uni.showModal({
title: '提示',
content: '暂无相关数据',
showCancel: false,
})
return
} else {
uni.navigateTo({
url: "/pagesC/subsequentVisitRecord/subsequentVisitRecord"
})
}
})
},
gophysicalexamination() {
getPhysicalTime(this.userInfo.cardNo).then(res => {
if (!res.data || res.data.length == 0) {
uni.showModal({
title: '提示',
content: '暂无相关数据',
showCancel: false,
})
return
} else {
uni.navigateTo({
url: "/pagesC/archivesphysicalexamination/physicalexamination"
})
}
})
},
gomyinformation() {
uni.navigateTo({
url: '/pagesC/Filinginformation/Filinginformation'
});
url: "/pagesC/myinformation/myinformation"
})
},
},
gohypertension() {
uni.navigateTo({
url: "/pagesC/hypertension/hypertension"
})
}
}
}
</script>
<style lang="scss">
.app {
height: 100vh;
background-color: #F7F5F5;
padding: 30rpx 0 0 0;
background-color: #f9f9f9;
.content {
background-color: #fff;
.items {
width: 93%;
margin: 0 auto;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
text-align: center;
.item {
background-color: #fff;
width: 46%;
padding-top: 40rpx;
height: 250rpx;
margin-bottom: 30rpx;
background-color: #ffffff;
box-shadow: 0rpx 2rpx 13rpx 1rpx rgba(159, 159, 159, 0.26);
border-radius: 10rpx;
padding-bottom: 30rpx;
.text {
font-size: 36rpx;
line-height: 43rpx;
color: #333333;
line-height: 100rpx;
}
image {
width: 102rpx;
height: 113rpx;
}
}
}
.label {
background: url(../images/zu112x.png) no-repeat;
width: 93%;
margin: 31rpx auto 49rpx;
border-radius: 20rpx;
position: relative;
width: 95%;
height: 100%;
box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border-radius: 5rpx;
margin: 15rpx auto;
height: 250rpx;
.picture {
.text {
position: absolute;
// display: flex;
// width: 100rpx;
// background-color: red;
// flex-direction: row;
// flex-direction: column;
// justify-content: center;
align-items: center;
height: 100rpx;
top: 50%;
left: 50%;
transform: translateY(-50%);
transform: translateX(-50%);
// align-items: center;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #868585;
line-height: 38rpx;
top: 60rpx;
left: 230rpx;
.name {
font-size: 42rpx;
line-height: 40rpx;
color: #ffffff;
text {
font-size: 28rpx;
line-height: 40rpx;
color: #ffffff;
padding-left: 20rpx;
}
}
.id {
font-size: 32rpx;
line-height: 40rpx;
letter-spacing: 2rpx;
color: #ffffff;
opacity: 0.85;
padding-top: 40rpx;
}
}
.health {
margin: 0 auto;
left: 50%;
transform: translateX(-50%);
width: 496rpx;
position: absolute;
height: 61rpx;
background: #26A888;
border-radius: 5rpx;
bottom: 5%;
line-height: 61rpx;
text-align: center;
color: #fff;
.img {
width: 120rpx;
height: 120rpx;
padding-left: 50rpx;
padding-top: 50rpx;
image {
width: 120rpx;
border-radius: 50%;
height: 120rpx;
}
}
}
}
</style>
</style>

View File

@ -0,0 +1,204 @@
export const configMap = {
dietList: {
'1': '荤素均衡',
'2': '荤食为主',
'3': '素食为主',
'4': '嗜盐',
'5': '嗜油',
'6': '嗜糖',
},
symptomList: {
'1': '无症状',
'2': '头痛',
'3': '头晕',
'4': '心悸',
'5': '胸闷',
'6': '胸痛',
'7': '慢性咳嗦',
'8': '咳痰',
'9': '呼吸困难',
'10': '多饮',
'11': '多尿',
'12': '体重下降',
'13': '乏力',
'14': '关节肿痛',
'15': '视力模糊',
'16': '手脚麻木',
'17': '尿急',
'18': '尿痛',
'19': '便秘',
'20': '腹泻',
'21': '恶心呕吐',
'22': '眼花',
'23': '耳鸣',
'24': '乳房胀痛',
'99': '其他',
},
trainingList: {
'1': '每天',
'2': '每周一次以上',
'3': '偶尔',
'4': '不锻炼'
},
smokeList: {
'1': '从不吸烟',
'2': '已戒烟',
'3': '吸烟'
},
drinkList: {
'1': '从不',
'2': '偶尔',
'3': '经常',
'4': '每天'
},
isAbstinenceList: {
'1': '未戒酒',
'2': '已戒酒'
},
liquorClass: {
'1': '白酒',
'2': '啤酒',
'3': '红酒',
'4': '黄酒',
'99': '其他'
},
lipsList: {
'1': '红润',
'2': '苍白',
'3': '发绀',
'4': '皲裂',
'5': '疱疹',
'6': '其他',
},
dentitionList: {
'1': '正常',
'2': '缺齿',
'3': '龋齿',
'4': '义齿(假牙)',
'5': '其他',
},
pharyngealList: {
'1': '无充血',
'2': '充血',
'3': '淋巴滤泡增生',
'4': '其他',
},
hearingList: {
'1': '听见',
'2': '听不清或无法听见(耳鼻喉科专科就诊)',
},
exerciseList: {
'1': '可顺利完成',
'2': '无法独立完成其中任何一个动作(上级医院就诊)',
},
skinList: {
'1': '正常',
'2': '潮红',
'3': '苍白',
'4': '发绀',
'5': '黄染',
'6': '色素沉着',
'99': '其他',
},
scleraList: {
'1': '正常',
'2': '黄染',
'3': '充血',
'99': '其他',
},
lymphList: {
'1': '未触及',
'2': '锁骨上',
'3': '腋窝',
'4': '其他',
},
lyList: {
'1': '无',
'2': '干罗音',
'3': '湿罗音',
'4': '其他',
},
xlList: {
'1': '齐',
'2': '不齐',
'3': '绝对不齐',
},
zyList: {
'1': '无',
'2': '有',
},
wyList:{
'1': '未见异常',
'2': '异常'
},
xdtList: {
'1': '正常',
'2': 'ST-T改变',
'3': '陈旧性心肌梗塞',
'4': '窦性心动过速',
'5': '窦性心动过缓',
'6': '早搏',
'7': '房颤',
'8': '房室传导阻滞',
'99': '其他',
},
xbxpList: {
'1': '正常',
'2': '异常',
},
nxgList: {
'1': '未发现',
'2': '缺血性卒中',
'3': '脑出血',
'4': '蛛网膜下腔出血',
'5': '短暂性脑缺血发作',
'99': '其他',
},
szjbList: {
'1': '未发现',
'2': '糖尿病肾病',
'3': '肾功能衰竭',
'4': '急性肾炎',
'5': '慢性肾炎',
'99': '其他',
},
xxgjbList: {
'1': '未发现',
'2': '心肌梗死',
'3': '心绞痛',
'4': '冠状动脉血运重建',
'5': '充血性心力衰竭',
'6': '心前区疼痛',
'7': '高血压',
'8': '夹层动脉瘤',
'9': '动脉闭塞性疾病',
'10': '冠心病',
'99': '其他',
},
ybjbList: {
'1': '未发现',
'2': '视网膜出血或渗出',
'3': '视乳头水肿',
'4': '白内障',
'99': '其他',
},
sjxtjbList: {
'1': '未发现',
'2': '阿尔茨海默症(老年性痴呆)',
'3': '帕金森病',
'99': '其他',
},
qtsjjbList: {
'1': '未发现',
'2': '糖尿病',
'3': '慢性支气管炎',
'4': '慢性阻塞性肺气肿',
'5': '恶性肿瘤',
'6': '老年性骨关节病',
'99': '其他',
},
gdbqxList: {
'1': '阴性',
'2': '阳性'
}
}

View File

@ -0,0 +1,981 @@
<template>
<view class="app">
<view class="lefttext">
<scroll-view scroll-y style="white-space: nowrap;height: 100vh;">
<view>
体检日期
</view>
<view :class="currentValue == index ? 'showitem' : ''" v-for="(item, index) in timeList" :key="item.id"
@click="currentInfo(index)" @tap="detail(item)">
{{item.happentime}}
</view>
</scroll-view>
</view>
<view class="righttext">
<scroll-view scroll-y style="white-space: nowrap;height: 100vh;">
<view class="information">
<view class="p1" style="margin-top: 10rpx;">
<view class="p1left">
体检日期
</view>
<text>{{pageInfo.happentime}}</text>
</view>
<view class="p1">
<view class="p1left">
责任医生
</view>
<text>{{pageInfo.field2 ? pageInfo.field2 : ''}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
症状
</view>
</view>
<view class="symptom">
<text>{{symptomList[pageInfo.gzhzh]}}</text>
<text v-if="pageInfo.gzzqt"> 其他{{pageInfo.gzzqt}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
一般情况
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
体温
</view>
<text>{{pageInfo.gtw}}</text>
</view>
<view class="p1">
<view class="p1left">
脉率
</view>
<text>{{pageInfo.gmb}}/分钟</text>
</view>
<view class="p1">
<view class="p1left">
呼吸频率
</view>
<text>{{pageInfo.ghx}}/分钟</text>
</view>
<view class="p1">
<view class="p1left">
身高
</view>
<text>{{pageInfo.gsg}}cm</text>
</view>
<view class="p1">
<view class="p1left">
体重
</view>
<text>{{pageInfo.gtzh}}kg</text>
</view>
<view class="p1">
<view class="p1left">
BMI
</view>
<text>{{pageInfo.gtzhzh}}Kg/</text>
</view>
<view class="p1">
<view class="p1left">
腰围
</view>
<text>{{pageInfo.gyw}}cm</text>
</view>
<view class="p1">
<view class="p1left">
左侧血压
</view>
<text>{{pageInfo.gxyzc1 ? pageInfo.gxyzc1 : '-'}}/{{pageInfo.gxyzc2 ? pageInfo.gxyzc2 : '-'}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
左侧原因
</view>
<text>{{pageInfo.zcyy ? pageInfo.zcyy : ''}}</text>
</view>
<view class="p1">
<view class="p1left">
右侧血压
</view>
<text>{{pageInfo.gxyyc1 ? pageInfo.gxyyc1 : '-'}}/{{pageInfo.gxyyc2 ? pageInfo.gxyyc2 : '-'}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
右侧原因
</view>
<text>{{pageInfo.ycyy ? pageInfo.ycyy : ''}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
体育锻炼
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
锻炼频率
</view>
<text>{{trainingList[pageInfo.gdlpl]}}</text>
</view>
<view class="p1">
<view class="p1left">
每次锻炼时间
</view>
<text v-if="pageInfo.gmcdlsj">{{pageInfo.gmcdlsj}}分钟</text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
坚持锻炼时间
</view>
<text v-if="pageInfo.gjcdlsj">{{pageInfo.gjcdlsj}}</text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
锻炼方式
</view>
<text v-if="pageInfo.gdlfs">{{pageInfo.gdlfs}}</text>
<text v-else>-</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
饮食习惯
</view>
</view>
<view class="symptom">
<text>{{dietList[pageInfo.gysxg]}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
吸烟情况
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
吸烟状况
</view>
<text>{{smokeList[pageInfo.gxyzk]}}</text>
</view>
<view class="p1">
<view class="p1left">
平均日吸烟量
</view>
<text v-if='pageInfo.grxyl'>{{pageInfo.grxyl}} </text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
开始吸烟年龄
</view>
<text v-if='pageInfo.gksxynl'>{{pageInfo.gksxynl}}</text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
开始吸烟年龄
</view>
<text v-if='pageInfo.gjynl'>{{pageInfo.gjynl}}</text>
<text v-else>-</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
饮酒情况
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
饮酒频率
</view>
<text>{{drinkList[pageInfo.gyjpl]}}</text>
</view>
<view class="p1">
<view class="p1left">
平均日饮酒量
</view>
<text v-if='pageInfo.gryjl'>{{pageInfo.gryjl}} </text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
是否戒酒
</view>
<text v-if='pageInfo.gsfjj'>{{isAbstinenceList[pageInfo.gsfjj]}}</text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
戒酒年龄
</view>
<text v-if='pageInfo.gjjnl'>{{pageInfo.gjjnl}}</text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
开始饮酒年龄
</view>
<text v-if='pageInfo.gksyjnl'>{{pageInfo.gksyjnl}}</text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
近一年内是否曾醉酒
</view>
<text v-if="pageInfo.gynnsfyj == '1'"></text>
<text v-else-if="pageInfo.gynnsfyj == '2'"></text>
<text v-else>-</text>
</view>
<view class="p1">
<view class="p1left">
饮酒种类
</view>
<text v-if='pageInfo.gyjzl'>{{liquorClass[pageInfo.gyjzl]}}</text>
<text v-else>-</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
口腔
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
口唇
</view>
<text
v-if="pageInfo.gkouchun && pageInfo.gkouchun != '6'">{{lipsList[pageInfo.gkouchun]}}</text>
<text v-if="pageInfo.gkouchun == '6'">{{pageInfo.kchqt}}</text>
</view>
<view class="p1">
<view class="p1left">
齿列
</view>
<text>{{dentitionList[pageInfo.gchilei]}}</text>
</view>
<view class="p1">
<view class="p1left">
咽部
</view>
<text
v-if="pageInfo.gyanbu && pageInfo.gyanbu != '4'">{{pharyngealList[pageInfo.gyanbu]}}</text>
<text v-if="pageInfo.gkouchun == '4'">{{pageInfo.chlqt}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
视力
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
左眼
</view>
<text>{{pageInfo.gzysl ? pageInfo.gzysl : ''}}</text>
</view>
<view class="p1">
<view class="p1left">
右眼
</view>
<text>{{pageInfo.gyysl ? pageInfo.gyysl : ''}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
其他情况
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
听力
</view>
<text>{{hearingList[pageInfo.gtl]}}</text>
</view>
<view class="p1">
<view class="p1left">
运动功能
</view>
<text>{{exerciseList[pageInfo.gydgn]}}</text>
</view>
<view class="p1">
<view class="p1left">
眼底
</view>
<text v-if="pageInfo.gyand == '1'">正常</text>
<text v-if="pageInfo.gyand == '2'">异常</text>
</view>
<view class="p1">
<view class="p1left">
皮肤
</view>
<text>{{skinList[pageInfo.gpfgm]}}</text>
</view>
<view class="p1">
<view class="p1left">
巩膜
</view>
<text>{{scleraList[pageInfo.ggongmo]}}</text>
</view>
<view class="p1">
<view class="p1left">
淋巴结
</view>
<text>{{lymphList[pageInfo.glbj]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
桶状胸
</view>
<text v-if="pageInfo.gtzx == '1'"></text>
<text v-else></text>
</view>
<view class="p1">
<view class="p1left">
呼吸音
</view>
<text v-if="pageInfo.ghxy == '1'">正常</text>
<text v-if="pageInfo.ghxy == '2'">异常</text>
</view>
<view class="p1">
<view class="p1left">
罗音
</view>
<text>{{lyList[pageInfo.gly]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
心脏
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
心率
</view>
<text>{{pageInfo.gxinlv}}/</text>
</view>
<view class="p1">
<view class="p1left">
心律
</view>
<text>{{xlList[pageInfo.gxinlvci]}}</text>
</view>
<view class="p1">
<view class="p1left">
杂音
</view>
<text>{{zyList[pageInfo.gzayin]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
腹部
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
压痛
</view>
<text v-if="pageInfo.gyato == '1'"></text>
<text v-if="pageInfo.gyato == '2'"></text>
</view>
<view class="p1">
<view class="p1left">
包块
</view>
<text v-if="pageInfo.gbk == '1'"></text>
<text v-if="pageInfo.gbk == '2'"></text>
</view>
<view class="p1">
<view class="p1left">
肝大
</view>
<text v-if="pageInfo.gganda == '1'"></text>
<text v-if="pageInfo.gganda == '2'"></text>
</view>
<view class="p1">
<view class="p1left">
脾大
</view>
<text v-if="pageInfo.gpida == '1'"></text>
<text v-if="pageInfo.gpida == '2'"></text>
</view>
<view class="p1">
<view class="p1left">
脾大
</view>
<text v-if="pageInfo.gzhuoyin == '1'"></text>
<text v-if="pageInfo.gzhuoyin == '2'"></text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
妇科
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
外阴
</view>
<text>{{wyList[pageInfo.gwaiyin]}}</text>
</view>
<view class="p1">
<view class="p1left">
阴道
</view>
<text>{{wyList[pageInfo.gyindao]}}</text>
</view>
<view class="p1">
<view class="p1left">
宫颈
</view>
<text>{{wyList[pageInfo.ggongjing]}}</text>
</view>
<view class="p1">
<view class="p1left">
宫体
</view>
<text>{{wyList[pageInfo.ggongti]}}</text>
</view>
<view class="p1">
<view class="p1left">
附件
</view>
<text>{{wyList[pageInfo.gfujian]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
血常规
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
血红蛋白
</view>
<text v-if="pageInfo.hb">{{pageInfo.hb}}g/L</text>
</view>
<view class="p1">
<view class="p1left">
白细胞
</view>
<text v-if="pageInfo.wbc">{{pageInfo.wbc}}×10 9 /L</text>
</view>
<view class="p1">
<view class="p1left">
血小板
</view>
<text v-if="pageInfo.plt">{{pageInfo.plt}}×10 9 /L</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
尿常规
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
尿蛋白
</view>
<text v-if="pageInfo.gndb">{{pageInfo.gndb}}</text>
</view>
<view class="p1">
<view class="p1left">
尿糖
</view>
<text v-if="pageInfo.gnt">{{pageInfo.gnt}}</text>
</view>
<view class="p1">
<view class="p1left">
尿酮体
</view>
<text v-if="pageInfo.gntt">{{pageInfo.gntt}}</text>
</view>
<view class="p1">
<view class="p1left">
尿潜血
</view>
<text v-if="pageInfo.gnqx">{{pageInfo.gnqx}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
肝功能
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
血清谷丙转氨酶
</view>
<text v-if="pageInfo.alt">{{pageInfo.alt}}U/L</text>
</view>
<view class="p1">
<view class="p1left">
血清谷草转氨酶
</view>
<text v-if="pageInfo.ast">{{pageInfo.ast}}U/L</text>
</view>
<view class="p1">
<view class="p1left">
白蛋白
</view>
<text v-if="pageInfo.alb">{{pageInfo.alb}}g/L</text>
</view>
<view class="p1">
<view class="p1left">
总胆红素
</view>
<text v-if="pageInfo.tbil">{{pageInfo.tbil}}umol/L</text>
</view>
<view class="p1">
<view class="p1left">
结合胆红素
</view>
<text v-if="pageInfo.dbil">{{pageInfo.dbil}}umol/L</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
肾功能
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
血清肌酐
</view>
<text v-if="pageInfo.scr">{{pageInfo.scr}}umol/L</text>
</view>
<view class="p1">
<view class="p1left">
血尿素氮
</view>
<text v-if="pageInfo.bun">{{pageInfo.bun}}mmol/L</text>
</view>
<view class="p1">
<view class="p1left">
血钾浓度
</view>
<text v-if="pageInfo.gsgnxjnd">{{pageInfo.gsgnxjnd}}umol/L</text>
</view>
<view class="p1">
<view class="p1left">
血钠浓度
</view>
<text v-if="pageInfo.gsgnxnnd">{{pageInfo.gsgnxnnd}}mmol/L</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
血脂
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
总胆固醇
</view>
<text v-if="pageInfo.cho">{{pageInfo.cho}}mmol/L</text>
</view>
<view class="p1">
<view class="p1left">
甘油三酯
</view>
<text v-if="pageInfo.tg">{{pageInfo.tg}}mmol/L</text>
</view>
<view class="p1">
<view class="p1left" style="width: 100%">
血清低密度脂蛋白胆固醇
</view>
<text v-if="pageInfo.ldlc">{{pageInfo.ldlc}}mmol/L</text>
</view>
<view class="p1">
<view class="p1left" style="width: 100%">
血清高密度脂蛋白胆固醇
</view>
<text v-if="pageInfo.hdlc">{{pageInfo.hdlc}}mmol/L</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
其他
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
空腹血糖
</view>
<text v-if="pageInfo.gkfxt">{{pageInfo.gkfxt}}mmol/L</text>
</view>
<view class="p1">
<view class="p1left">
尿微量白蛋白
</view>
<text v-if="pageInfo.nwlbdb">{{pageInfo.nwlbdb}}mg/dL</text>
</view>
<view class="p1">
<view class="p1left">
大便潜血
</view>
<text>{{gdbqxList[pageInfo.gdbqx]}}</text>
</view>
<view class="p1">
<view class="p1left">
糖化血红蛋白
</view>
<text v-if="pageInfo.gthxhdb">{{pageInfo.gthxhdb}}%</text>
</view>
<view class="p1">
<view class="p1left">
乙型肝炎表面抗原
</view>
<text>{{gdbqxList[pageInfo.hbsag]}}</text>
</view>
<view class="p1">
<view class="p1left">
心电图
</view>
<!-- <text>{{xdtList[pageInfo.gxindt]}}</text> -->
<text
style="word-break: break-all;white-space: normal;">{{pageInfo.gxindt ? pageInfo.gxindt : ''}}</text>
</view>
<!-- <view class="p1">
<view class="p1left">
心电图异常描述
</view>
<view style="font-size: 28rpx;line-height: 80rpx;color: #333333;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{pageInfo.gxindtyi ? pageInfo.gxindtyi : ''}}</view>
</view> -->
<view class="p1">
<view class="p1left">
胸部X线片
</view>
<text>{{xbxpList[pageInfo.gxiongp]}}</text>
</view>
<view class="p1">
<view class="p1left">
腹部B超
</view>
<text>{{xbxpList[pageInfo.gfbbc]}}</text>
</view>
<view class="p1">
<view class="p1left">
宫颈涂片
</view>
<text>{{xbxpList[pageInfo.ggjtp]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
疾病情况
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
脑血管疾病
</view>
<text>{{nxgList[pageInfo.gnxgjb]}}</text>
</view>
<view class="p1">
<view class="p1left">
肾脏疾病
</view>
<text>{{szjbList[pageInfo.gszjb]}}</text>
</view>
<view class="p1">
<view class="p1left">
心血管疾病
</view>
<text>{{xxgjbList[pageInfo.gxzjb]}}</text>
</view>
<view class="p1">
<view class="p1left">
眼部疾病
</view>
<text>{{ybjbList[pageInfo.gybjb]}}</text>
</view>
<view class="p1">
<view class="p1left">
神经系统其他疾病
</view>
<text>{{sjxtjbList[pageInfo.gsjxtjb]}}</text>
</view>
<view class="p1">
<view class="p1left">
其他系统疾病
</view>
<text>{{qtsjjbList[pageInfo.gqtxtjb]}}</text>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import {
getPhysicalTime,
getPhysicalDetail
} from "@/api/pagesC/Healthrecords/index.js"
import {
configMap
} from './config/config.js'
export default {
data() {
return {
currentValue: 0,
identity: uni.getStorageSync('userinfo').cardNo,
timeList: [],
pageInfo: {},
...configMap
};
},
onLoad() {
getPhysicalTime(this.identity).then(res => {
// if(!res.data || res.data.length == 0) {
// uni.showModal({
// title: '',
// content: '',
// showCancel: false,
// success(res) {
// if (res.confirm) {
// uni.navigateBack({
// delta: 1
// })
// }
// }
// })
// return
// }
for (let item in res.data) {
for (let i of res.data[item].list) {
this.timeList.push(i)
}
}
this.detail(this.timeList[0])
})
},
methods: {
currentInfo(index) {
this.currentValue = index
},
detail(e) {
getPhysicalDetail(this.identity, e.id).then(res => {
this.pageInfo = res.data
})
}
}
}
</script>
<style lang="scss">
.app {
width: 100%;
display: flex;
background-color: #f6f6f6;
.lefttext {
font-size: 28rpx;
color: #666666;
width: 25%;
line-height: 80rpx;
text-align: center;
background-color: #fff;
.showitem {
background-color: #55d0df;
color: #fff;
}
}
.righttext {
width: 75%;
.symptom {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding: 20rpx 0 20rpx 25rpx;
text {
display: block;
font-size: 32rpx;
line-height: 60rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
.information {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding-left: 25rpx;
.p2 {
border-top: 1rpx solid #f0f1f6;
font-size: 28rpx;
line-height: 100rpx;
letter-spacing: 1rpx;
color: #333333;
display: flex;
.p2left {
width: 40%;
}
}
.p1 {
display: flex;
align-items: center;
font-size: 26rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #666666;
.p1left {
width: 44%;
min-width: 44%;
}
text {
font-size: 28rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
}
.title {
display: flex;
padding-left: 20rpx;
margin-top: 40rpx;
margin-bottom: 20px;
font-size: 30rpx;
.right {
line-height: 34rpx;
padding-left: 10rpx;
color: #666666;
}
.left {
width: 8rpx;
height: 32rpx;
background-color: #55d0df;
border-radius: 4rpx;
}
}
}
}
::-webkit-scrollbar {
display: none !important;
}
</style>

View File

@ -0,0 +1,541 @@
<template>
<view class="app">
<view class="lefttext">
<scroll-view scroll-y style="white-space: nowrap;height: 100vh;">
<view>
随访日期
</view>
<view :class="currentValue == index ? 'showitem' : ''" v-for="(item, index) in timeList" :key="index"
@click="currentInfo(index)" @tap="detail(item)">{{item.happentime}}</view>
</scroll-view>
</view>
<view class="righttext">
<scroll-view scroll-y style="white-space: nowrap;height: 100vh;">
<view class="title">
<view class="left">
</view>
<view class="right">
基本信息
</view>
</view>
<view class="information">
<view class="p1">
<view class="p1left">
姓名
</view>
<text>{{name}}</text>
</view>
<view class="p1">
<view class="p1left">
随访日期
</view>
<text>{{pageInfo.followupTime ? pageInfo.followupTime.substring(0, 10) : ''}}</text>
</view>
<view class="p1">
<view class="p1left">
随访方式
</view>
<text>{{followupWay[pageInfo.followupWay]}}</text>
</view>
<view class="p2">
<view class="p2left">
下次随访时间
</view>
<text v-if="pageInfo.followupNextTime">{{pageInfo.followupNextTime.substring(0,10)}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
症状
</view>
</view>
<view class="symptom">
<text>{{symptom[pageInfo.symptom]}}</text>
<text v-if="pageInfo.symptomOtherContent"> 其他{{pageInfo.symptomOtherContent}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
体征
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
收缩压
</view>
<text>{{pageInfo.systolic}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
舒张压
</view>
<text>{{pageInfo.diastolic}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
体重
</view>
<text>{{pageInfo.weight}}kg</text>
</view>
<view class="p1">
<view class="p1left">
目标体重
</view>
<text>{{pageInfo.guideWeight}}kg</text>
</view>
<view class="p1">
<view class="p1left">
身高
</view>
<text>{{pageInfo.height}}cm</text>
</view>
<view class="p1">
<view class="p1left">
体质指数
</view>
<text>{{pageInfo.bmi}}Kg/</text>
</view>
<view class="p1">
<view class="p1left">
目标体质指数
</view>
<text>{{pageInfo.guideBmi}}Kg/</text>
</view>
<view class="p1">
<view class="p1left">
足背动脉搏动
</view>
<text>{{footPulseAnomaly[pageInfo.footPulseAnomaly]}}</text>
</view>
<view class="p1">
<view class="p1left">
其他
</view>
<text>{{pageInfo.signOtherContent}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
生活方式指导
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
日吸烟量()
</view>
<text v-if="pageInfo.smoking == '0'">-</text>
<text v-else>{{pageInfo.smoking}}</text>
</view>
<view class="p1">
<view class="p1left">
目标日吸烟量()
</view>
<text v-if="pageInfo.guideSmoking == '0'">-</text>
<text v-else>{{pageInfo.guideSmoking}}</text>
</view>
<view class="p1">
<view class="p1left">
日饮酒量()
</view>
<text v-if="pageInfo.drink == '0.0'">-</text>
<text v-else>{{pageInfo.drink}}</text>
</view>
<view class="p1">
<view class="p1left">
目标日饮酒量()
</view>
<text v-if="pageInfo.guideDrink == '0.0'">-</text>
<text v-else>{{pageInfo.guideDrink}}</text>
</view>
<view class="p1">
<view class="p1left">
运动频率
</view>
<text>{{pageInfo.exerciseFreq}}/, {{pageInfo.exerciseDuration}}分钟/</text>
</view>
<view class="p1">
<view class="p1left">
目标运动
</view>
<text>{{pageInfo.guideExerciseFreq}}/, {{pageInfo.guideExerciseDuration}}分钟/</text>
</view>
<view class="p1">
<view class="p1left">
饮食情况
</view>
<text>{{pageInfo.staple}}/</text>
</view>
<view class="p1">
<view class="p1left">
饮食情况调整
</view>
<text>{{pageInfo.guideStaple}}/</text>
</view>
<view class="p1">
<view class="p1left">
心理调整
</view>
<text>{{complianceState[pageInfo.psychologyState]}}</text>
</view>
<view class="p1">
<view class="p1left">
遵医行为
</view>
<text>{{complianceState[pageInfo.complianceState]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
辅助检查
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
空腹血糖
</view>
<text>{{pageInfo.fastingBloodGlucose}}mmol/L</text>
</view>
<view class="p1">
<view class="p1left">
糖化血红蛋白
</view>
<text v-if="pageInfo.hbalc">{{pageInfo.hbalc}}%</text>
</view>
<view class="p1">
<view class="p1left">
检查日期
</view>
<text>{{pageInfo.hbalcDate}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
胰岛素
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
种类
</view>
<text>{{pageInfo.insulinKind}}</text>
</view>
<view class="p1">
<view class="p1left">
用法用量
</view>
<text>{{pageInfo.insulinUsage}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
调整胰岛素
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
种类
</view>
<text>{{pageInfo.insulinKind1}}</text>
</view>
<view class="p1">
<view class="p1left">
用法用量
</view>
<text>{{pageInfo.insulinUsage1}}</text>
</view>
</view>
<view class="title">
<!-- <view class="left">
</view>
<view class="right">
辅助检查
</view> -->
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
服药依从性
</view>
<text>{{drugState[pageInfo.drugState]}}</text>
</view>
<view class="p1">
<view class="p1left">
药物不良反应
</view>
<text>{{adr[pageInfo.adr]}}</text>
</view>
<view class="p1">
<view class="p1left">
药物不良反应描述
</view>
<text>{{pageInfo.adrRemark}}</text>
</view>
<view class="p1">
<view class="p1left">
低糖反应
</view>
<text>{{hypoglycemia[pageInfo.hypoglycemia]}}</text>
</view>
<view class="p1">
<view class="p1left">
此次随访分类
</view>
<text>{{followupKind[pageInfo.followupKind]}}</text>
</view>
<view class="p1">
<view class="p1left">
下一步管理措施
</view>
<text>{{nextManageMeasure[pageInfo.nextManageMeasure]}}</text>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import {
getVisitTime,
getVisitDetail
} from "@/api/pagesC/Healthrecords/index.js"
export default {
data() {
return {
currentValue: 0,
identity: uni.getStorageSync('userinfo').cardNo,
name: uni.getStorageSync('userinfo').patientName,
timeList: [],
pageInfo: {},
followupWay: {
'1': '门诊',
'2': '家庭',
'3': '电话',
'99': '其他',
},
symptom: {
'0': '无症状',
'1': '头晕头疼',
'2': '恶心呕吐',
'3': '眼花耳鸣',
'4': '呼吸困难',
'5': '心悸胸闷',
'6': '鼻衄出血不止',
'7': '四肢发麻',
'8': '下肢水肿',
'99': '其他症状',
},
footPulseAnomaly: {
'1': '触及正常',
'2': '减弱',
'3': '消失'
},
complianceState: {
'1': '良好',
'2': '一般',
'3': '差'
},
drugState: {
'1': '规律',
'2': '间断',
'3': '不服药',
'4': '医嘱无需用药'
},
adr: {
'1': '无',
'2': '有',
},
hypoglycemia: {
'1': '无',
'2': '偶尔',
'3': '频繁',
},
followupKind: {
'1': '控制满意',
'2': '控制不满意',
'3': '不良反应',
'4': '并发症',
},
nextManageMeasure: {
'1': '常规随访',
'2': '第1次控制不满意2周随访',
'3': '两次控制不满意转诊随访',
'4': '紧急转诊',
}
};
},
onLoad() {
getVisitTime('29', this.identity).then(res => {
if (!res.data || res.data.length == 0) {
uni.showModal({
title: '提示',
content: '暂无相关数据',
showCancel: false,
success(res) {
if (res.confirm) {
uni.navigateBack({
delta: 1
})
}
}
})
return
}
for (let item in res.data) {
for (let i of res.data[item].list) {
this.timeList.push(i)
}
}
this.detail(this.timeList[0])
})
},
methods: {
currentInfo(index) {
this.currentValue = index
},
detail(e) {
getVisitDetail('29', this.identity, e.id).then(res => {
this.pageInfo = res.data
})
}
}
}
</script>
<style lang="scss">
.app {
width: 100%;
display: flex;
background-color: #f6f6f6;
.lefttext {
font-size: 28rpx;
color: #666666;
width: 25%;
line-height: 80rpx;
text-align: center;
background-color: #fff;
.showitem {
background-color: #55d0df;
color: #fff;
}
}
.righttext {
width: 75%;
.symptom {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding: 20rpx 0 20rpx 25rpx;
text {
display: block;
font-size: 32rpx;
line-height: 60rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
.information {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding-left: 25rpx;
.p2 {
border-top: 1rpx solid #f0f1f6;
font-size: 28rpx;
line-height: 100rpx;
letter-spacing: 1rpx;
color: #333333;
display: flex;
.p2left {
width: 48%;
}
}
.p1 {
display: flex;
font-size: 26rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #666666;
.p1left {
width: 48%;
display: flex;
align-items: center;
}
text {
font-size: 28rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
}
.title {
display: flex;
padding-left: 20rpx;
margin-top: 40rpx;
margin-bottom: 20px;
font-size: 30rpx;
.right {
line-height: 34rpx;
padding-left: 10rpx;
color: #666666;
}
.left {
width: 8rpx;
height: 32rpx;
background-color: #55d0df;
border-radius: 4rpx;
}
}
}
}
::-webkit-scrollbar {
display: none !important;
}
</style>

View File

@ -0,0 +1,479 @@
<template>
<view class="app">
<view class="lefttext">
<scroll-view scroll-y style="white-space: nowrap;height: 100vh;">
<view>
随访日期
</view>
<view :class="currentValue == index ? 'showitem' : ''" v-for="(item, index) in timeList" :key="item.id"
@click="currentInfo(index)" @tap="detail(item)">
{{item.happentime}}
</view>
</scroll-view>
</view>
<view class="righttext">
<scroll-view scroll-y style="white-space: nowrap;height: 100vh;">
<view class="title">
<view class="left">
</view>
<view class="right">
基本信息
</view>
</view>
<view class="information">
<view class="p1">
<view class="p1left">
姓名
</view>
<text>{{name}}</text>
</view>
<view class="p1">
<view class="p1left">
随访日期
</view>
<text>{{pageInfo.followupTime ? pageInfo.followupTime.substring(0, 10) : ''}}</text>
</view>
<view class="p1">
<view class="p1left">
随访方式
</view>
<text>{{followupWay[pageInfo.followupWay]}}</text>
</view>
<view class="p1">
<view class="p1left">
下次随访时间
</view>
<text v-if="pageInfo.followupNextTime">{{pageInfo.followupNextTime.substring(0,10)}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
症状
</view>
</view>
<view class="symptom">
<text>{{symptom[pageInfo.symptom]}}</text>
<text v-if="pageInfo.symptomOtherContent"> 其他{{pageInfo.symptomOtherContent}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
体征
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
收缩压
</view>
<text>{{pageInfo.systolic}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
舒张压
</view>
<text>{{pageInfo.diastolic}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
体重
</view>
<text>{{pageInfo.weight}}kg</text>
</view>
<view class="p1">
<view class="p1left">
目标体重
</view>
<text>{{pageInfo.guideWeight}}kg</text>
</view>
<view class="p1">
<view class="p1left">
身高
</view>
<text>{{pageInfo.height}}cm</text>
</view>
<view class="p1">
<view class="p1left">
体质指数
</view>
<text>{{pageInfo.bmi}}Kg/</text>
</view>
<view class="p1">
<view class="p1left">
目标体质指数
</view>
<text>{{pageInfo.guideBmi}}Kg/</text>
</view>
<view class="p1">
<view class="p1left">
心率
</view>
<text>{{pageInfo.heartRate}}/分钟</text>
</view>
<view class="p1">
<view class="p1left">
其他
</view>
<text>{{pageInfo.signOtherContent}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
生活方式指导
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
日吸烟量()
</view>
<text v-if="pageInfo.smoking == '0'">-</text>
<text v-else>{{pageInfo.smoking}}</text>
</view>
<view class="p1">
<view class="p1left">
目标日吸烟量()
</view>
<text v-if="pageInfo.guideSmoking == '0'">-</text>
<text v-else>{{pageInfo.guideSmoking}}</text>
</view>
<view class="p1">
<view class="p1left">
日饮酒量()
</view>
<text v-if="pageInfo.drink == '0.0'">-</text>
<text v-else>{{pageInfo.drink}}</text>
</view>
<view class="p1">
<view class="p1left">
目标日饮酒量()
</view>
<text v-if="pageInfo.guideDrink == '0.0'">-</text>
<text v-else>{{pageInfo.guideDrink}}</text>
</view>
<view class="p1">
<view class="p1left">
运动频率
</view>
<text>{{pageInfo.exerciseFreq}}/, {{pageInfo.exerciseDuration}}分钟/</text>
</view>
<view class="p1">
<view class="p1left">
目标运动
</view>
<text>{{pageInfo.guideExerciseFreq}}/, {{pageInfo.guideExerciseDuration}}分钟/</text>
</view>
<view class="p1">
<view class="p1left">
摄盐情况
</view>
<text>{{saltSituation[pageInfo.saltSituation]}}</text>
</view>
<view class="p1">
<view class="p1left">
摄盐情况调整
</view>
<text>{{saltSituation[pageInfo.guideSaltSituation]}}</text>
</view>
<view class="p1">
<view class="p1left">
心理调整
</view>
<text>{{complianceState[pageInfo.psychologyState]}}</text>
</view>
<view class="p1">
<view class="p1left">
遵医行为
</view>
<text>{{complianceState[pageInfo.complianceState]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
辅助检查
</view>
</view>
<view class="symptom">
<text>{{pageInfo.auxiliaryExamination}}</text>
</view>
<view class="title">
<!-- <view class="left">
</view>
<view class="right">
辅助检查
</view> -->
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
服药依从性
</view>
<text>{{drugState[pageInfo.drugState]}}</text>
</view>
<view class="p1">
<view class="p1left">
药物不良反应
</view>
<text>{{adr[pageInfo.adr]}}</text>
</view>
<view class="p1">
<view class="p1left">
药物不良反应描述
</view>
<text>{{pageInfo.adrRemark}}</text>
</view>
<view class="p1">
<view class="p1left">
低糖反应
</view>
<text>{{hypoglycemia[pageInfo.hypoglycemia]}}</text>
</view>
<view class="p1">
<view class="p1left">
此次随访分类
</view>
<text>{{followupKind[pageInfo.followupKind]}}</text>
</view>
<view class="p1">
<view class="p1left">
下一步管理措施
</view>
<text>{{nextManageMeasure[pageInfo.nextManageMeasure]}}</text>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import {
getVisitTime,
getVisitDetail
} from "@/api/pagesC/Healthrecords/index.js"
export default {
data() {
return {
currentValue: 0,
identity: uni.getStorageSync('userinfo').cardNo,
name: uni.getStorageSync('userinfo').patientName,
timeList: [],
pageInfo: {},
saltSituation: {
'1': '轻',
'2': '中',
'3': '重'
},
followupWay: {
'1': '门诊',
'2': '家庭',
'3': '电话',
'99': '其他',
},
symptom: {
'0': '无症状',
'1': '头晕头疼',
'2': '恶心呕吐',
'3': '眼花耳鸣',
'4': '呼吸困难',
'5': '心悸胸闷',
'6': '鼻衄出血不止',
'7': '四肢发麻',
'8': '下肢水肿',
'99': '其他症状',
},
complianceState: {
'1': '良好',
'2': '一般',
'3': '差'
},
drugState: {
'1': '规律',
'2': '间断',
'3': '不服药',
'4': '医嘱无需用药'
},
adr: {
'1': '无',
'2': '有',
},
hypoglycemia: {
'1': '无',
'2': '偶尔',
'3': '频繁',
},
followupKind: {
'1': '控制满意',
'2': '控制不满意',
'3': '不良反应',
'4': '并发症',
},
nextManageMeasure: {
'1': '常规随访',
'2': '第1次控制不满意2周随访',
'3': '两次控制不满意转诊随访',
'4': '紧急转诊',
}
};
},
onLoad() {
getVisitTime('28', this.identity).then(res => {
if (!res.data || res.data.length == 0) {
uni.showModal({
title: '提示',
content: '暂无相关数据',
showCancel: false,
success(res) {
if (res.confirm) {
uni.navigateBack({
delta: 1
})
}
}
})
return
}
for (let item in res.data) {
for (let i of res.data[item].list) {
this.timeList.push(i)
}
}
this.detail(this.timeList[0])
})
},
methods: {
currentInfo(index) {
this.currentValue = index
},
detail(e) {
getVisitDetail('28', this.identity, e.id).then(res => {
this.pageInfo = res.data
})
}
}
}
</script>
<style lang="scss">
.app {
width: 100%;
display: flex;
background-color: #f6f6f6;
.lefttext {
font-size: 28rpx;
color: #666666;
width: 25%;
line-height: 80rpx;
text-align: center;
background-color: #fff;
.showitem {
background-color: #55d0df;
color: #fff;
}
}
.righttext {
width: 75%;
.symptom {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding: 20rpx 0 20rpx 25rpx;
text {
display: block;
font-size: 32rpx;
line-height: 60rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
.information {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding-left: 25rpx;
.p2 {
border-top: 1rpx solid #f0f1f6;
font-size: 28rpx;
line-height: 100rpx;
letter-spacing: 1rpx;
color: #333333;
display: flex;
.p2left {
width: 50%;
}
}
.p1 {
display: flex;
font-size: 26rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #666666;
.p1left {
width: 50%;
display: flex;
align-items: center;
}
text {
font-size: 28rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
}
.title {
display: flex;
padding-left: 20rpx;
margin-top: 40rpx;
margin-bottom: 20px;
font-size: 30rpx;
.right {
line-height: 34rpx;
padding-left: 10rpx;
color: #666666;
}
.left {
width: 8rpx;
height: 32rpx;
background-color: #55d0df;
border-radius: 4rpx;
}
}
}
}
::-webkit-scrollbar {
display: none !important;
}
</style>

BIN
pagesC/images/Diabetes.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
pagesC/images/apoplexy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
pagesC/images/jkm2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
pagesC/images/jnFcPic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
pagesC/images/report.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 B

BIN
pagesC/images/tcqPic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
pagesC/images/userinfo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
pagesC/images/zu112x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,132 @@
export const PageData = {
occupation: {
0: '国家机关、党群组织、企业、事业单位负责人',
1: '专业技术人员',
2: '办事人员和有关人员',
3: '商业、服务业人员',
4: '农、林、牧、渔、水利业生产人员',
5: '生产、运输设备操作人 员及有关人员',
6: '军人',
7: '不便分类的其他从业人员',
8: '无职业',
},
edu: {
1: '研究生',
2: '大学本科',
3: '大学专科和专科学校',
4: '中等专业学校',
5: '技工学校',
6: '高中;',
7: '初中',
8: '小学',
9: '文盲或半文盲',
10: '不详',
},
residenceType: {
1: '本地户籍常住',
2: '本地户籍不常住外地户籍常住',
3: '外地户籍常住',
4: '不详'
},
payment: {
1: '城镇职工基本医疗保险',
2: '城镇居民基本医疗保险',
3: '新型农村合作医疗',
4: '贫困救助',
5: '商业医疗保险',
6: '全公费',
7: '全自费',
8: '其他',
},
allergy: {
'1': '无',
'2': '青霉素',
'3': '磺胺',
'4': '链霉素',
'5': '其他'
},
exposure: {
'1': '无',
'2': '化学品',
'3': '毒物',
'4': '射线'
},
exist: {
1: '有',
2: '无'
},
liveDrinkingWater: {
'1': '自来水',
'2': '经净化过滤的水',
'3': '井水',
'4': '河湖水',
'5': '塘水',
'6': '其他',
},
liveToilet: {
'1': '卫生厕所',
'2': '一格或二格粪池式',
'3': '马桶',
'4': '露天粪坑',
'5': '简易棚厕',
},
liveLivestock: {
'1': '无',
'2': '单设',
'3': '室内',
'4': '室外',
},
liveFuelType: {
'1': '液化气',
'2': '煤',
'3': '天然气',
'4': '沼气',
'5': '柴火',
'6': '其他'
},
liveExhaust: {
'1': '无',
'2': '油烟机',
'3': '换气扇',
'4': '烟囱'
},
disease: {
'1': '无',
'2': '高血压',
'3': '糖尿病',
'4': '冠心病',
'5': '慢性阻塞性肺疾病',
'6': '恶性肿瘤',
'7': '脑卒中',
'8': '严重精神障碍',
'9': '结核病',
'10': '肝炎',
'11': '其他法定传染病',
'12': '职业病',
'13': '其他',
},
disability: {
'1': '无残疾',
'2': '视力残疾',
'3': '听力残疾',
'4': '言语残疾',
'5': '肢体残疾',
'6': '智力残疾',
'7': '精神残疾',
'8': '其他残疾',
},
familyDisease:{
'1': '无',
'2': '高血压',
'3': '糖尿病',
'4': '冠心病',
'5': '慢性阻塞性肺疾病',
'6': '恶性肿瘤',
'7': '脑卒中',
'8': '严重精神障碍',
'9': '结核病',
'10': '肝炎',
'11': '先天畸形',
'12': '其他'
}
}

View File

@ -0,0 +1,488 @@
<template>
<view class="app">
<view class="title">
<view class="left">
</view>
<view class="right">
基本信息
</view>
</view>
<view class="label">
<view class="img">
<image mode="" :src="require('../images/jkm2x.png')"></image>
</view>
<view class="text">
<view class="name">
{{userInfo.sickName}}
<text v-if="userInfo.sickSex == 1"></text><text v-else></text><text></text><text
v-if="userInfo.nation == 1">汉族</text><text v-else>少数民族</text>
</view>
<view class="marriage">
<text v-if="userInfo.marriageStatus == 1">未婚</text>
<text v-if="userInfo.marriageStatus == 2">已婚</text>
<text v-if="userInfo.marriageStatus == 3">丧偶</text>
<text v-if="userInfo.marriageStatus == 4">离婚</text>
<text v-if="userInfo.marriageStatus == 5">未说明的婚姻状况</text>
</view>
<view class="id">
{{userInfo.identityCardNo}}
</view>
</view>
</view>
<view class="information">
<view class="p1">
<view class="p1left">
血型
</view>
<text v-if="userInfo.bloodType == 1">A型</text>
<text v-if="userInfo.bloodType == 2">B型</text>
<text v-if="userInfo.bloodType == 3">O型</text>
<text v-if="userInfo.bloodType == 4">AB型</text>
</view>
<view class="p1">
<view class="p1left">
RH
</view>
<text v-if="userInfo.bloodRh == 1">阴性</text>
<text v-if="userInfo.bloodRh == 2">阳性</text>
<text v-else>不详</text>
</view>
<view class="p1">
<view class="p1left">
职业
</view>
<text>{{occupation[userInfo.occupation]}}</text>
</view>
<view class="p1">
<view class="p1left">
文化程度
</view>
<text>{{edu[userInfo.education]}}</text>
</view>
<view class="p1">
<view class="p1left">
常住类型
</view>
<text>{{residenceType[userInfo.residenceType]}}</text>
</view>
<view class="p1">
<view class="p1left">
出生日期
</view>
<text>{{userInfo.birthday}}</text>
</view>
<view class="p1">
<view class="p1left">
本人电话
</view>
<text>{{userInfo.sickPhone}}</text>
</view>
<view class="p1">
<view class="p1left">
现住地址
</view>
<text>{{userInfo.sickAddress}}</text>
</view>
<view class="p1">
<view class="p1left">
医疗费用支付方式
</view>
<text>{{payment[userInfo.payment]}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
药物过敏史
</view>
</view>
<view class="allergy">
<text>{{allergy[userInfo.allergyHistory]}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
暴露史
</view>
</view>
<view class="allergy">
<text>{{exposure[userInfo.exposureHistory]}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
既往史
</view>
</view>
<view class="allergy">
<view class="p1">
<view class="p1left">
疾病史
</view>
<text v-if="userInfo.diseaseHistory != '13'">{{disease[userInfo.diseaseHistory]}}</text>
<text v-else>{{userInfo.otherDiseaseContent}}</text>
</view>
<view class="p1">
<view class="p1left">
手术史
</view>
<text v-if="userInfo.existSurgeryHistory == 2"></text>
<text v-else>{{userInfo.surgeryList}}</text>
</view>
<view class="p1">
<view class="p1left">
外伤史
</view>
<text v-if="userInfo.existTraumaHistory == 2"></text>
<text v-else>{{userInfo.traumaList}}</text>
</view>
<view class="p1">
<view class="p1left">
输血史
</view>
<text v-if="userInfo.existTransfusionHistory == 2"></text>
<text>{{userInfo.transfusionList}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
家族史
</view>
</view>
<view class="allergy">
<view class="p1">
<view class="p1left">
父亲
</view>
<text v-if="userInfo.familyHistoryFather == '12'">{{userInfo.fatherOtherContent}}</text>
<text
v-if="userInfo.familyHistoryFather && userInfo.familyHistoryFather != '12'">{{familyDisease[userInfo.familyHistoryFather]}}</text>
<text v-if="!userInfo.familyHistoryFather"></text>
</view>
<view class="p1">
<view class="p1left">
母亲
</view>
<text v-if="userInfo.familyHistoryMother == '12'">{{userInfo.motherOtherContent}}</text>
<text
v-if="userInfo.familyHistoryMother && userInfo.familyHistoryMother != '12'">{{familyDisease[userInfo.familyHistoryMother]}}</text>
<text v-if="!userInfo.familyHistoryMother"></text>
</view>
<view class="p1">
<view class="p1left">
兄弟姐们
</view>
<text v-if="userInfo.familyHistoryBrothers == '12'">{{userInfo.brotherOtherContent}}</text>
<text
v-if="userInfo.familyHistoryBrothers && userInfo.familyHistoryBrothers != '12'">{{familyDisease[userInfo.familyHistoryBrothers]}}</text>
<text v-if="!userInfo.familyHistoryBrothers"></text>
</view>
<view class="p1">
<view class="p1left">
子女
</view>
<text v-if="userInfo.familyHistoryChildren == '12'">{{userInfo.childrenOtherContent}}</text>
<text
v-if="userInfo.familyHistoryChildren && userInfo.familyHistoryChildren != '12'">{{familyDisease[userInfo.familyHistoryChildren]}}</text>
<text v-if="!userInfo.familyHistoryChildren"></text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
遗传病史
</view>
</view>
<view class="allergy">
<text v-if="userInfo.existGeneticDisease == 2"></text>
<text
v-if="userInfo.existGeneticDisease && userInfo.existGeneticDisease != 2">{{userInfo.geneticDiseaseName}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
残疾情况
</view>
</view>
<view class="allergy">
<text v-if="userInfo.disability && userInfo.disability != '8'">{{disability[userInfo.disability]}}</text>
<text v-if="!userInfo.disability">无残疾</text>
<text v-if="userInfo.disability == '8'">{{userInfo.disabilityOtherContent}}</text>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
生活环境
</view>
</view>
<view class="allergy">
<view class="p1">
<view class="p1left">
饮水
</view>
<text>{{liveDrinkingWater[userInfo.liveDrinkingWater]}}</text>
</view>
<view class="p1">
<view class="p1left">
厕所
</view>
<text>{{liveToilet[userInfo.liveToilet]}}</text>
</view>
<view class="p1">
<view class="p1left">
禽畜栏
</view>
<text>{{liveLivestock[userInfo.liveLivestock]}}</text>
</view>
<view class="p1">
<view class="p1left">
燃料类型
</view>
<text>{{liveFuelType[userInfo.liveFuelType]}}</text>
</view>
<view class="p1">
<view class="p1left">
厨房排风设施
</view>
<text>{{liveExhaust[userInfo.liveExhaust]}}</text>
</view>
</view>
</view>
</template>
<script>
import {
getUserInfo
} from "@/api/pagesC/Healthrecords/index.js"
import {
PageData
} from './config/config.js'
export default {
data() {
return {
userInfo: '',
...PageData,
};
},
onLoad() {
getUserInfo(uni.getStorageSync('userinfo').cardNo).then(res => {
if (!res.data || res.data.length == 0) {
uni.showModal({
title: '提示',
content: '暂无相关数据',
showCancel: false,
success(res) {
if (res.confirm) {
uni.navigateBack({
delta: 1
})
}
}
})
return
}
res.data.surgeryList = []
res.data.traumaList = []
res.data.transfusionList = []
if (res.data.surgeryHistory) {
this.resultFormat(res.data.surgeryHistory, res.data.surgeryList)
}
if (res.data.traumaHistory) {
this.resultFormat(res.data.traumaHistory, res.data.traumaList)
}
if (res.data.transfusionHistory) {
this.resultFormat(res.data.transfusionHistory, res.data.transfusionList)
}
this.userInfo = res.data
})
},
methods: {
resultFormat(list, mylist) {
if (list.length > 0) {
list.map(item => {
return mylist.push(item.name).toString()
})
}
}
}
}
</script>
<style lang="scss">
.app {
background-color: #f6f6f6;
.allergy {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding: 20rpx 0 20rpx 25rpx;
text {
display: block;
font-size: 32rpx;
line-height: 60rpx;
letter-spacing: 1rpx;
color: #333333;
}
.p1 {
display: flex;
font-size: 26rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #666666;
.p1left {
width: 38%;
}
text {
font-size: 28rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
}
.information {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 0rpx 0rpx 20rpx 20rpx;
padding-left: 25rpx;
.p2 {
border-top: 1rpx solid #f0f1f6;
font-size: 28rpx;
line-height: 100rpx;
letter-spacing: 1rpx;
color: #333333;
display: flex;
.p2left {
width: 40%;
}
}
.p1 {
display: flex;
font-size: 26rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #666666;
.p1left {
width: 38%;
}
text {
font-size: 28rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
}
.title {
display: flex;
padding: 30rpx 0 30rpx 20rpx;
font-size: 30rpx;
.right {
line-height: 34rpx;
padding-left: 10rpx;
color: #666666;
}
.left {
width: 8rpx;
height: 32rpx;
background-color: #55d0df;
border-radius: 4rpx;
}
}
.label {
background: url(../images/jkm2x.png) no-repeat;
width: 92%;
margin: 0 auto;
padding-left: 24rpx;
border-radius: 20rpx 20rpx 0 0;
position: relative;
height: 250rpx;
.text {
position: absolute;
top: 60rpx;
left: 230rpx;
.name {
font-size: 42rpx;
line-height: 40rpx;
color: #ffffff;
text:nth-child(2) {
padding: 0;
}
text {
font-size: 28rpx;
line-height: 40rpx;
color: #ffffff;
padding: 0 20rpx;
}
}
.marriage {
font-size: 26rpx;
line-height: 20rpx;
letter-spacing: 2rpx;
color: #ffffff;
padding-top: 20rpx;
}
.id {
font-size: 32rpx;
line-height: 40rpx;
letter-spacing: 2rpx;
color: #ffffff;
opacity: 0.85;
padding-top: 20rpx;
}
}
.img {
width: 120rpx;
height: 120rpx;
padding-left: 30rpx;
padding-top: 60rpx;
image {
width: 120rpx;
border-radius: 50%;
height: 120rpx;
}
}
}
}
</style>

View File

@ -0,0 +1,420 @@
<template>
<view class="app">
<view class="lefttext">
<view class="">
复诊日期
</view>
<view :class="currentValue == index ? 'showitem' : ''" v-for="(item, index) in timeList" :key="item.value"
@click="currentInfo(index)" @tap="detail(item)">
{{item.label}}
</view>
</view>
<view class="righttext">
<view class="title">
<view class="left">
</view>
<view class="right">
基本信息
</view>
</view>
<view class="information">
<view class="p1">
<view class="p1left">
姓名
</view>
<text>{{name}}</text>
</view>
<view class="p1">
<view class="p1left">
复诊日期
</view>
<text>{{pageInfo.performanceDate}}</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
体征
</view>
</view>
<view class="information sign">
<view class="p1">
<view class="p1left">
收缩压
</view>
<text>{{pageInfo.sbp}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
舒张压
</view>
<text>{{pageInfo.dbp}}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
血糖
</view>
<text>{{pageInfo.fbg ? pageInfo.fbg : pageInfo.pbg }}mmHg</text>
</view>
<view class="p1">
<view class="p1left">
心率
</view>
<text>{{pageInfo.hr}}/分钟</text>
</view>
<view class="p1">
<view class="p1left">
身高
</view>
<text>{{pageInfo.height}}cm</text>
</view>
<view class="p1">
<view class="p1left">
体重
</view>
<text>{{pageInfo.weight}}kg</text>
</view>
<view class="p1">
<view class="p1left">
体质指数
</view>
<text>{{pageInfo.bmi}}Kg/</text>
</view>
<view class="p1">
<view class="p1left">
控制是否满意
</view>
<text v-if="pageInfo.satisfied == '1'">控制满意</text>
<text v-if="pageInfo.satisfied == '0'">控制不满意</text>
</view>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
目前用药情况
</view>
</view>
<view>
<uni-table ref="table" border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th width="150" align="center">药物名称</uni-th>
<uni-th width="150" align="center">用药频次</uni-th>
<uni-th align="center">用药次剂量</uni-th>
<uni-th width="204" align="center">用药单位</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in mqyyTableData" :key="index">
<uni-td align="center">{{ item.medicineName }}</uni-td>
<uni-td align="center">{{ item.freq }}</uni-td>
<uni-td align="center">{{ item.dose }}</uni-td>
<uni-td align="center">{{ item.unit }}</uni-td>
</uni-tr>
</uni-table>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
调整用药
</view>
</view>
<view>
<uni-table ref="table" border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th width="150" align="center">药物名称</uni-th>
<uni-th width="150" align="center">用药频次</uni-th>
<uni-th align="center">用药次剂量</uni-th>
<uni-th width="204" align="center">用药单位</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in tzyyTableData" :key="index">
<uni-td align="center">{{ item.medicineName }}</uni-td>
<uni-td align="center">{{ item.freq }}</uni-td>
<uni-td align="center">{{ item.dose }}</uni-td>
<uni-td align="center">{{ item.unit }}</uni-td>
</uni-tr>
</uni-table>
</view>
<view class="title">
<view class="left">
</view>
<view class="right">
其他项目
</view>
</view>
<view class="information">
<uni-table ref="table" border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th width="150" align="center">项目</uni-th>
<uni-th width="150" align="center">问题描述</uni-th>
<uni-th width="150" align="center">处置详细</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in qtxmTableData" :key="index">
<uni-td align="center">{{ item.projectName }}</uni-td>
<uni-td align="center">{{ item.content }}</uni-td>
<uni-td align="center">{{ item.descripe }}</uni-td>
</uni-tr>
<uni-tr v-for="(item, index) in qtxmTableData" :key="index">
<uni-td>
<view @click="qtxmPicFun1(item.attachments1)">
<image v-if="item.attachments1" style="width: 100%;height: 100px;"
:src="'data:image/jpeg;base64' + item.attachments1"></image>
</view>
</uni-td>
<uni-td>
<view @click="qtxmPicFun2(item.attachments2)">
<image v-if="item.attachments2" style="width: 100%;height: 100px;"
:src="'data:image/jpeg;base64' + item.attachments2"></image>
</view>
</uni-td>
<uni-td>
<view @click="qtxmPicFun3(item.attachments3)">
<image v-if="item.attachments3" style="width: 100%;height: 100px;"
:src="'data:image/jpeg;base64' + item.attachments3"></image>
</view>
</uni-td>
</uni-tr>
</uni-table>
</view>
</view>
<!-- 其他项目照片弹出层 -->
<u-popup :show="show2" @close="close" mode="center">
<view style="text-align: center;">
<image :src="'data:image/jpeg;base64' + fileImgSrc" mode="widthFix"></image>
</view>
</u-popup>
</view>
</template>
<script>
import {
getSubsequentVisitTime,
getSubsequentVisitDetail
} from "@/api/pagesC/Healthrecords/index.js"
export default {
data() {
return {
show2: false,
fileImgSrc: '',
mqyyTableData: [],
tzyyTableData: [],
qtxmTableData: [],
currentValue: 0,
identity: uni.getStorageSync('userinfo').identity,
name: uni.getStorageSync('userinfo').residentName,
timeList: [],
pageInfo: {},
saltSituation: {
'1': '轻',
'2': '中',
'3': '重'
},
followupWay: {
'1': '门诊',
'2': '家庭',
'3': '电话',
'99': '其他',
},
symptom: {
'0': '无症状',
'1': '头晕头疼',
'2': '恶心呕吐',
'3': '眼花耳鸣',
'4': '呼吸困难',
'5': '心悸胸闷',
'6': '鼻衄出血不止',
'7': '四肢发麻',
'8': '下肢水肿',
'99': '其他症状',
},
complianceState: {
'1': '良好',
'2': '一般',
'3': '差'
},
drugState: {
'1': '规律',
'2': '间断',
'3': '不服药',
'4': '医嘱无需用药'
},
adr: {
'1': '无',
'2': '有',
},
hypoglycemia: {
'1': '无',
'2': '偶尔',
'3': '频繁',
},
followupKind: {
'1': '控制满意',
'2': '控制不满意',
'3': '不良反应',
'4': '并发症',
},
nextManageMeasure: {
'1': '常规随访',
'2': '第1次控制不满意2周随访',
'3': '两次控制不满意转诊随访',
'4': '紧急转诊',
}
};
},
onLoad() {
//
getSubsequentVisitTime(this.identity).then(res => {
for (let item in res.data) {
for (let i of res.data[item].children) {
this.timeList.push(i)
}
}
this.detail(this.timeList[0])
})
},
methods: {
qtxmPicFun1(url) {
this.show2 = true
this.fileImgSrc = url
},
qtxmPicFun2(url) {
this.show2 = true
this.fileImgSrc = url
},
qtxmPicFun3(url) {
this.show2 = true
this.fileImgSrc = url
},
close() {
this.show2 = false
},
currentInfo(index) {
this.currentValue = index
},
//
detail(item) {
getSubsequentVisitDetail(item.value).then(res => {
this.pageInfo = res.data
this.mqyyTableData = res.data.drugList
this.tzyyTableData = res.data.adjustDrugList
this.qtxmTableData = res.data.formList
})
}
}
}
</script>
<style lang="scss">
.app {
width: 100%;
display: flex;
background-color: #f6f6f6;
.lefttext {
font-size: 28rpx;
color: #666666;
width: 25%;
line-height: 80rpx;
text-align: center;
background-color: #fff;
.showitem {
background-color: #55d0df;
color: #fff;
}
}
.righttext {
width: 75%;
.symptom {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding: 20rpx 0 20rpx 25rpx;
text {
display: block;
font-size: 32rpx;
line-height: 60rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
.information {
width: 92%;
margin: 0 auto;
background-color: #ffffff;
border-radius: 10rpx;
padding-left: 25rpx;
.p2 {
border-top: 1rpx solid #f0f1f6;
font-size: 28rpx;
line-height: 100rpx;
letter-spacing: 1rpx;
color: #333333;
display: flex;
.p2left {
width: 50%;
}
}
.p1 {
display: flex;
font-size: 26rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #666666;
.p1left {
width: 50%;
display: flex;
align-items: center;
}
text {
font-size: 28rpx;
line-height: 80rpx;
letter-spacing: 1rpx;
color: #333333;
}
}
}
.title {
display: flex;
padding-left: 20rpx;
margin-top: 40rpx;
margin-bottom: 20px;
font-size: 30rpx;
.right {
line-height: 34rpx;
padding-left: 10rpx;
color: #666666;
}
.left {
width: 8rpx;
height: 32rpx;
background-color: #55d0df;
border-radius: 4rpx;
}
}
}
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB