健康档案记录列表分页等相关处理

This commit is contained in:
2022-07-15 15:51:44 +08:00
parent d43853eaca
commit 336a7b7143
11 changed files with 1137 additions and 792 deletions

View File

@@ -25,9 +25,11 @@ const goutAdd = (data) => {
} }
// 查看病例 // 查看病例
const goutSee = () => { const goutSee = (data) => {
console.log(data)
return request({ return request({
url: 'gout/result' url: 'gout/result',
data:data
}) })
} }

View File

@@ -11,7 +11,7 @@
用户档案<image src="/static/icons/userForm_icon.png"></image> 用户档案<image src="/static/icons/userForm_icon.png"></image>
</view> </view>
<view class="user-tags-label" @click="$Router.push({name: 'UserCase'})"> <view class="user-tags-label" @click="$Router.push({name: 'UserCase'})">
病例档案<image src="/static/icons/userForm_icon.png"></image> 健康档案<image src="/static/icons/userForm_icon.png"></image>
</view> </view>
</view> </view>
<view v-else> <view v-else>

View File

@@ -3,7 +3,7 @@
<view class="caseUser"> <view class="caseUser">
<view class="caseUser-left"> <view class="caseUser-left">
<view class="caseUser-left-number"> <view class="caseUser-left-number">
患者{{ caseInfo.name }} 建档人{{ caseInfo.name }}
</view> </view>
<view class="caseUser-left-tool"> <view class="caseUser-left-tool">
<view class="caseUser-left-number"> <view class="caseUser-left-number">
@@ -24,33 +24,59 @@
<view class="caseUser-label"> <view class="caseUser-label">
<view class="caseUser-label-see"> <view class="caseUser-label-see">
<view class="caseUser-label-name"> <view class="caseUser-label-name">
初始值 测量类型
</view> </view>
<view class="caseUser-label-number"> </view>
{{ countInfo.first != 0 ? countInfo.first : '-' }} <view class="caseUser-label-see">
<view class="caseUser-label-name">
初始值
</view> </view>
</view> </view>
<view class="caseUser-label-see"> <view class="caseUser-label-see">
<view class="caseUser-label-name"> <view class="caseUser-label-name">
最高值 最高值
</view> </view>
<view class="caseUser-label-number">
{{ countInfo.max != 0 ? countInfo.max : '-' }}
</view>
</view> </view>
<view class="caseUser-label-see"> <view class="caseUser-label-see">
<view class="caseUser-label-name"> <view class="caseUser-label-name">
最新值 最新值
</view> </view>
<view class="caseUser-label-number">
{{ countInfo.last != 0 ? countInfo.last : '-' }}
</view> </view>
</view> </view>
<view class="base" v-if="countInfo">
<view class="baseitem">
<view class="title">
<image src="/static/imgs/zhi.png" mode="widthFix" style="width: 30rpx;" />
<text>高血脂</text>
</view>
<view class="title">{{countInfo.hyperlipidemia.first}} {{countInfo.hyperlipidemia.unit}}</view>
<view class="title">{{countInfo.hyperlipidemia.max}} {{countInfo.hyperlipidemia.unit}}</view>
<view class="title">{{countInfo.hyperlipidemia.last}} {{countInfo.hyperlipidemia.unit}}</view>
</view>
<view class="baseitem">
<view class="title">
<image src="/static/imgs/ya.png" mode="widthFix" style="width: 30rpx;" />
<text>高血压</text>
</view>
<view class="title">{{countInfo.hypertension.first}} {{countInfo.hypertension.unit}}</view>
<view class="title">{{countInfo.hypertension.max}} {{countInfo.hypertension.unit}}</view>
<view class="title">{{countInfo.hypertension.last}} {{countInfo.hypertension.unit}}</view>
</view>
<view class="baseitem">
<view class="title">
<image src="/static/imgs/tang.png" mode="widthFix" style="width: 30rpx;" />
<text>高血糖</text>
</view>
<view class="title">{{countInfo.hyperglycemia.first}} {{countInfo.hyperglycemia.unit}}</view>
<view class="title">{{countInfo.hyperglycemia.max}} {{countInfo.hyperglycemia.unit}}</view>
<view class="title">{{countInfo.hyperglycemia.last}} {{countInfo.hyperglycemia.unit}}</view>
</view>
</view> </view>
</view> </view>
<view class="caseRemark"> <view class="caseRemark">
<view class="caseRemark-title"> <view class="caseRemark-title">
症状说明 健康说明
</view> </view>
<view class="caseRemark-text"> <view class="caseRemark-text">
{{ caseInfo.remark }} {{ caseInfo.remark }}
@@ -61,10 +87,11 @@
<view class="caseTime-date"> <view class="caseTime-date">
{{ items.created_at }} {{ items.created_at }}
</view> </view>
<view class="caseTime-cont" @click="showSee(items.item.gout_case_log_id)" v-if="items.type == 'case_log'"> <view class="caseTime-cont" @click="showSee(items.item.gout_case_log_id)"
v-if="items.type == 'case_log'">
<view class="caseTime-cont-left" :class="{active : items.item.cover}"> <view class="caseTime-cont-left" :class="{active : items.item.cover}">
<view class="caseTime-cont-name"> <view class="caseTime-cont-name" v-if="items.item">
{{ items.text }} - {{ items.item.quantity }}umol {{ items.item.type.text }}测量结果 - {{ items.item.quantity }}
</view> </view>
<view class="nowrap-multi caseTime-cont-text"> <view class="nowrap-multi caseTime-cont-text">
{{ items.item.remark }} {{ items.item.remark }}
@@ -72,7 +99,8 @@
</view> </view>
<image class="caseTime-cont-img" :src="items.item.cover" mode="aspectFill"></image> <image class="caseTime-cont-img" :src="items.item.cover" mode="aspectFill"></image>
</view> </view>
<view class="caseTime-cont" @click="$Router.push({name: 'Indexdetails', params: {id: items.item.goods.goods_id}})" v-else> <!-- <view class="caseTime-cont"
@click="$Router.push({name: 'Indexdetails', params: {id: items.item.goods.goods_id}})" v-else>
<view class="caseTime-cont-left"> <view class="caseTime-cont-left">
<view class="caseTime-cont-name"> <view class="caseTime-cont-name">
{{ items.text }} {{ items.text }}
@@ -85,24 +113,25 @@
</view> </view>
</view> </view>
<image class="caseTime-cont-img" :src="items.item.goods.cover" mode="aspectFill"></image> <image class="caseTime-cont-img" :src="items.item.goods.cover" mode="aspectFill"></image>
</view> </view> -->
</view> </view>
</view> </view>
<!-- 记录尿酸值弹出 --> <!-- 记录尿酸值弹出 -->
<view class="recordBack" v-if="recordShow"></view> <view class="recordBack" v-if="recordShow"></view>
<view class="recordCont" v-if="recordShow"> <view class="recordCont" v-if="recordShow">
<view class="recordCont-title"> <view class="recordCont-title" v-if="LogInfo.type">
<view class="recordCont-title-text"> <view class="recordCont-title-text">
尿酸详情 {{LogInfo.type.text}}测量结果
</view> </view>
<image @click="recordClick" class="recordCont-title-close" src="/static/icons/uricacidClose.png" mode="aspectFill"></image> <image @click="recordClick" class="recordCont-title-close" src="/static/icons/uricacidClose.png"
mode="aspectFill"></image>
</view> </view>
<view class="recordCont-form"> <view class="recordCont-form">
<view class="site-input"> <view class="site-input">
<label>尿酸</label> <label> 测量</label>
<view class="recordCont-title-input"> <view class="recordCont-title-input">
{{ LogInfo.quantity }}<text>umol</text> {{ LogInfo.quantity }}
</view> </view>
</view> </view>
<view class="site-input"> <view class="site-input">
@@ -112,14 +141,14 @@
</view> </view>
</view> </view>
<view class="site-data"> <view class="site-data">
<label>尿酸记录日期</label> <label>记录日期</label>
<view class="site-data-text"> <view class="site-data-text">
{{ LogInfo.created_at }} {{ LogInfo.created_at }}
</view> </view>
</view> </view>
<view class="site-input" v-if="LogInfo.cover"> <view class="site-input" v-if="LogInfo.cover">
<label>图片信息</label> <label>图片信息</label>
<image class="issueNew-icon" @click="openImg(LogInfo.cover)" :src="LogInfo.cover" mode="aspectFill"></image> <image class="issueNew-icon" @click="openImg(LogInfo.cover)" :src="LogInfo.cover" mode="aspectFill" />
</view> </view>
</view> </view>
</view> </view>
@@ -127,49 +156,78 @@
</template> </template>
<script> <script>
import { goutSee, goutCover, DetLog } from '@/apis/interfaces/gout' import {
import { uploads } from '@/apis/interfaces/uploading' goutSee,
goutCover,
DetLog
} from '@/apis/interfaces/gout'
import {
uploads
} from '@/apis/interfaces/uploading'
export default { export default {
data() { data() {
return { return {
caseImg : '', caseImg: '',
caseInfo : '', caseInfo: '',
LogInfo : '', //记录详情 LogInfo: '', //记录详情
countInfo : '', countInfo: '',
timeInfo : [], timeInfo: [],
recordShow : false, page:1,
has_more:true,
recordShow: false,
}; };
}, },
onLoad() { onLoad() {
goutSee().then(res => { this.getlist()
},
onReachBottom() {
if(this.has_more){
this.page = this.page +1
this.getlist();
} else{
uni.showToast({
title:'没有更多~',
icon:'none',
mask:true,
duration:1000
})
}
},
methods: {
// 获取列表
getlist(){
goutSee({page:this.page,type:''}).then(res => {
console.log(res)
if(this.page === 1){
this.caseInfo = res.case this.caseInfo = res.case
this.countInfo = res.count this.countInfo = res.count
this.timeInfo = res.timelines
this.caseImg = res.case.cover this.caseImg = res.case.cover
console.log(res.case) }
this.timeInfo = this.timeInfo.concat(res.timelines.data)
this.has_more = res.timelines.page.has_more
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon : 'none' icon: 'none'
}) })
}) })
}, },
methods:{
// 查看图片 // 查看图片
openImg(img) { openImg(img) {
uni.previewImage({ uni.previewImage({
current: img, current: img,
urls:[img] urls: [img]
}) })
}, },
// 上传图片 // 上传图片
updImg(type){ updImg(type) {
uni.chooseImage({ uni.chooseImage({
count : 1, count: 1,
success : path => { success: path => {
uploads([{ uploads([{
uri : path.tempFilePaths[0] uri: path.tempFilePaths[0]
}]).then(res => { }]).then(res => {
this.caseImg = res.url[0] this.caseImg = res.url[0]
// 上传头像 // 上传头像
@@ -177,7 +235,7 @@
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon : 'none' icon: 'none'
}) })
}) })
} }
@@ -191,12 +249,12 @@
}).then(res => { }).then(res => {
uni.showToast({ uni.showToast({
title: '上传成功', title: '上传成功',
icon : 'none' icon: 'none'
}) })
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon : 'none' icon: 'none'
}) })
}) })
}, },
@@ -230,7 +288,7 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.content{ .content {
overflow: hidden; overflow: hidden;
background: linear-gradient(to bottom, rgba($color: $mian-color, $alpha: .2), white); background: linear-gradient(to bottom, rgba($color: $mian-color, $alpha: .2), white);
padding: 30rpx; padding: 30rpx;
@@ -238,30 +296,35 @@
} }
.caseUser { .caseUser {
background-color: #6e79ec; background-color: rgba($color: #4490ff, $alpha: 1);
color: #FFFFFF; color: #FFFFFF;
padding: 30rpx 0; padding: 30rpx 0;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
height: 310rpx; // height: 310rpx;
border-radius: 10rpx 10rpx 0 0; border-radius: 10rpx 10rpx 0 0;
.caseUser-left { .caseUser-left {
height: 160rpx; height: 160rpx;
padding-left: 30rpx; padding-left: 30rpx;
box-sizing: border-box; box-sizing: border-box;
.caseUser-left-tool { .caseUser-left-tool {
display: flex; display: flex;
margin-top: 30rpx; margin-top: 30rpx;
.caseUser-left-number { .caseUser-left-number {
flex: 2; flex: 2;
font-weight: normal; font-weight: normal;
} }
} }
.caseUser-left-number { .caseUser-left-number {
line-height: 48rpx; line-height: 48rpx;
font-weight: 600; font-weight: 600;
} }
} }
.caseUser-img { .caseUser-img {
width: 120rpx; width: 120rpx;
height: 140rpx; height: 140rpx;
@@ -272,10 +335,12 @@
box-sizing: border-box; box-sizing: border-box;
right: 30rpx; right: 30rpx;
top: 25rpx; top: 25rpx;
image { image {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.caseUser-tips { .caseUser-tips {
position: absolute; position: absolute;
top: 0; top: 0;
@@ -288,18 +353,22 @@
width: 100%; width: 100%;
} }
} }
.caseUser-label { .caseUser-label {
background-color: #5963cb; background-color: #3670ce;
color: #FFFFFF; color: #FFFFFF;
display: flex; display: flex;
padding: 20rpx 0; padding: 20rpx 0;
.caseUser-label-see { .caseUser-label-see {
flex: 3; flex: 3;
text-align: center; text-align: center;
.caseUser-label-name { .caseUser-label-name {
font-size: 26rpx; font-size: 26rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.caseUser-label-number { .caseUser-label-number {
font-weight: 600; font-weight: 600;
} }
@@ -311,10 +380,12 @@
background-color: #F8F8F8; background-color: #F8F8F8;
padding: 30rpx; padding: 30rpx;
box-sizing: border-box; box-sizing: border-box;
.caseRemark-title { .caseRemark-title {
font-weight: 600; font-weight: 600;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.caseRemark-text { .caseRemark-text {
font-size: 28rpx; font-size: 28rpx;
color: #666; color: #666;
@@ -327,6 +398,7 @@
padding: 50rpx; padding: 50rpx;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
&::after { &::after {
position: absolute; position: absolute;
content: ''; content: '';
@@ -336,9 +408,11 @@
width: 2rpx; width: 2rpx;
height: 100%; height: 100%;
} }
.caseTime-label { .caseTime-label {
position: relative; position: relative;
padding-left: 50rpx; padding-left: 50rpx;
&::after { &::after {
position: absolute; position: absolute;
content: ''; content: '';
@@ -350,6 +424,7 @@
height: 26rpx; height: 26rpx;
border-radius: 50%; border-radius: 50%;
} }
&:last-child::before { &:last-child::before {
position: absolute; position: absolute;
content: ''; content: '';
@@ -360,38 +435,47 @@
width: 2rpx; width: 2rpx;
height: 200%; height: 200%;
} }
.caseTime-date { .caseTime-date {
font-size: 26rpx; font-size: 26rpx;
color: #666666; color: #666666;
font-weight: 600; font-weight: 600;
} }
.caseTime-cont { .caseTime-cont {
background-color: #eff0ff; background-color: rgba($color: #2d5ba5, $alpha: 0.05);
margin: 20rpx 0 40rpx; margin: 20rpx 0 40rpx;
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
border-radius: 10rpx; border-radius: 10rpx;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
height: 180rpx; // height: 180rpx;
min-height: 120rpx;
.caseTime-cont-left { .caseTime-cont-left {
width: 100%; width: 100%;
&.active { &.active {
width: calc(100% - 100rpx); width: calc(100% - 100rpx);
} }
.caseTime-cont-name { .caseTime-cont-name {
color: #6e79ec; color: #3670ce;
font-size: 30rpx; font-size: 30rpx;
} }
.caseTime-cont-text { .caseTime-cont-text {
font-size: 28rpx; font-size: 28rpx;
color: #666666; color: #666666;
margin-top: 20rpx; margin-top: 20rpx;
} }
.caseTime-cont-price { .caseTime-cont-price {
color: red; color: red;
margin-top: 20rpx; margin-top: 20rpx;
} }
} }
.caseTime-cont-img { .caseTime-cont-img {
position: absolute; position: absolute;
right: 20rpx; right: 20rpx;
@@ -414,6 +498,7 @@
top: 0; top: 0;
z-index: 99; z-index: 99;
} }
.recordCont { .recordCont {
position: fixed; position: fixed;
width: 100%; width: 100%;
@@ -426,21 +511,25 @@
border-radius: 30rpx 30rpx 0 0; border-radius: 30rpx 30rpx 0 0;
padding: 30rpx; padding: 30rpx;
box-sizing: border-box; box-sizing: border-box;
.recordCont-title { .recordCont-title {
border-bottom: 2rpx solid #F2F2F2; border-bottom: 2rpx solid #F2F2F2;
padding-bottom: 30rpx; padding-bottom: 30rpx;
display: flex; display: flex;
line-height: 54rpx; line-height: 54rpx;
position: relative; position: relative;
.recordCont-title-close { .recordCont-title-close {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
margin-top: 7rpx; margin-top: 7rpx;
} }
.recordCont-title-text { .recordCont-title-text {
width: 100%; width: 100%;
text-align: center; text-align: center;
} }
.recordCont-title-btn view { .recordCont-title-btn view {
background-color: red; background-color: red;
width: 150rpx; width: 150rpx;
@@ -455,20 +544,25 @@
top: 0; top: 0;
} }
} }
.recordCont-form { .recordCont-form {
margin-top: 30rpx; margin-top: 30rpx;
.site-input { .site-input {
margin-bottom: 30rpx; margin-bottom: 30rpx;
label { label {
margin-bottom: 20rpx; margin-bottom: 20rpx;
display: block; display: block;
font-weight: 600; font-weight: 600;
} }
.recordCont-title-input { .recordCont-title-input {
display: flex; display: flex;
font-size: 40rpx; font-size: 40rpx;
font-weight: 600; font-weight: 600;
line-height: 60rpx; line-height: 60rpx;
text { text {
font-size: 32rpx; font-size: 32rpx;
font-weight: normal; font-weight: normal;
@@ -477,15 +571,18 @@
} }
} }
} }
.site-remarks { .site-remarks {
background-color: #F2F2F2; background-color: #F2F2F2;
border-radius: 10rpx; border-radius: 10rpx;
padding: 20rpx; padding: 20rpx;
box-sizing: border-box; box-sizing: border-box;
textarea { textarea {
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
} }
text { text {
text-align: right; text-align: right;
display: block; display: block;
@@ -493,9 +590,11 @@
color: #54975e; color: #54975e;
} }
} }
.site-data { .site-data {
margin: 40rpx 0; margin: 40rpx 0;
display: flex; display: flex;
label { label {
flex: 1; flex: 1;
font-weight: 600; font-weight: 600;
@@ -503,8 +602,40 @@
} }
} }
} }
.issueNew-icon{
.issueNew-icon {
width: 200rpx; width: 200rpx;
height: 200rpx; height: 200rpx;
} }
.base {
width: 100%;
background-color: white;
color: #333;
font-size: 26rpx;
box-sizing: border-box;
padding-bottom: 20rpx;
.baseitem {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
padding-top: 20rpx;
}
.title {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
flex: 1;
image {
margin-right: 6rpx;
}
}
}
</style> </style>

BIN
static/imgs/tang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
static/imgs/ya.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
static/imgs/zhi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB