Browse Source

V1.10.0版本 前端页面部分

v1.10.0
kola-web 1 week ago
parent
commit
99b1e4cf5b
  1. 53
      src/components/popup/index.scss
  2. 13
      src/components/popup/index.wxml
  3. BIN
      src/images/bg16.png
  4. BIN
      src/images/bg18.png
  5. BIN
      src/images/bg22.png
  6. BIN
      src/images/bg23.png
  7. BIN
      src/images/icon76.png
  8. BIN
      src/images/icon77.png
  9. BIN
      src/images/icon78.png
  10. BIN
      src/images/icon79.png
  11. 4
      src/patient/pages/enterInfo/index.json
  12. 64
      src/patient/pages/enterInfo/index.scss
  13. 29
      src/patient/pages/enterInfo/index.ts
  14. 60
      src/patient/pages/enterInfo/index.wxml
  15. 6
      src/patient/pages/qol/index.scss
  16. 4
      src/patient/pages/qol/index.wxml
  17. 5
      src/patient/pages/qolAdd/index.scss
  18. 4
      src/patient/pages/qolAdd/index.wxml
  19. 3
      src/patient/pages/qolResult/index.json
  20. 88
      src/patient/pages/qolResult/index.scss
  21. 8
      src/patient/pages/qolResult/index.ts
  22. 67
      src/patient/pages/qolResult/index.wxml

53
src/components/popup/index.scss

@ -135,6 +135,59 @@ @@ -135,6 +135,59 @@
}
}
.popup7 {
.badge {
position: relative;
z-index: 1;
width: 126rpx;
height: 124rpx;
display: block;
margin: 0 auto;
}
.contaienr {
margin-top: -80rpx;
padding: 96rpx 0 0;
width: 540rpx;
border-radius: 24rpx;
box-sizing: border-box;
background: linear-gradient(353deg, #ffffff 0%, #f5eeff 100%);
box-shadow: inset 0rpx -1rpx 0rpx 0rpx #e5e6eb;
.content {
font-size: 28rpx;
color: #adacb2;
text-align: center;
}
.footer {
margin-top: 40rpx;
border-top: 1px solid #e5e6eb;
display: flex;
.sure,
.cancel {
flex: 1;
padding: 22rpx;
text-align: center;
font-size: 32rpx;
}
.cancel {
border-right: 1px solid #e5e6eb;
color: #211d2e;
}
.sure {
color: #b982ff;
}
}
}
}
.popup8 {
width: 590rpx;
height: 880rpx;
.p-img {
width: 100%;
height: 100%;
}
}
.close {
margin: 48rpx auto 0;
display: block;

13
src/components/popup/index.wxml

@ -57,6 +57,19 @@ @@ -57,6 +57,19 @@
<view class="popup6" wx:if="{{type==='popup6'}}">
<image class="p-img" src="{{imageUrl}}bg20.png?t={{Timestamp}}" show-menu-by-longpress></image>
</view>
<view class="popup7" wx:if="{{type==='popup7'}}">
<image class="badge" src="/images/icon78.png"></image>
<view class="contaienr">
<view class="content">要删除这张照片吗 ?</view>
<view class="footer">
<view class="cancel" bind:tap="handleCancel">取消</view>
<view class="sure" bind:tap="handleOk">确定</view>
</view>
</view>
</view>
<view class="popup8" wx:if="{{type==='popup8'}}">
<image class="p-img" src="{{imageUrl}}bg23.png?t={{Timestamp}}" show-menu-by-longpress></image>
</view>
<image
wx:if="{{params.close}}"

BIN
src/images/bg16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 306 KiB

BIN
src/images/bg18.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 389 KiB

BIN
src/images/bg22.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 KiB

BIN
src/images/bg23.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

BIN
src/images/icon76.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
src/images/icon77.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

BIN
src/images/icon78.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
src/images/icon79.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 B

4
src/patient/pages/enterInfo/index.json

@ -6,6 +6,8 @@ @@ -6,6 +6,8 @@
"van-icon": "@vant/weapp/icon/index",
"van-divider": "@vant/weapp/divider/index",
"van-popup": "@vant/weapp/popup/index",
"navbar": "/components/navbar/index"
"navbar": "/components/navbar/index",
"uploadFile": "/components/uploadFile/index",
"popup": "/components/popup/index"
}
}

64
src/patient/pages/enterInfo/index.scss

@ -65,6 +65,13 @@ @@ -65,6 +65,13 @@
color: rgba(105, 104, 110, 1);
font-weight: normal;
}
.rt-content {
margin-top: 8rpx;
font-size: 32rpx;
color: #adacb2;
font-weight: normal;
line-height: 52rpx;
}
}
.row {
margin-bottom: 40rpx;
@ -147,7 +154,7 @@ @@ -147,7 +154,7 @@
}
&.active {
color: rgba(185, 130, 255, 1);
background: #FAF6FF;
background: #faf6ff;
border-color: rgba(185, 130, 255, 1);
}
}
@ -168,7 +175,60 @@ @@ -168,7 +175,60 @@
&.active {
color: rgba(185, 130, 255, 1);
border-color: rgba(185, 130, 255, 1);
background-color: #FAF6FF;
background-color: #faf6ff;
}
}
}
.upload {
margin-top: 24rpx;
width: 100%;
.upload-container {
position: relative;
width: calc(100vw - 80rpx);
height: 334rpx;
border-radius: 16rpx;
background: #f6f8f9;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.upload-img {
position: relative;
width: 100%;
height: 100%;
.del {
position: absolute;
top: 0;
right: 0;
width: 40rpx;
height: 40rpx;
border-radius: 0 16rpx 0 16rpx;
background: rgba(0, 0, 0, 0.3);
display: flex;
align-items: center;
justify-content: center;
.d-icon{
width: 26rpx;
height: 26rpx;
}
}
.img {
display: block;
width: 100%;
height: 100%;
}
}
.icon {
display: block;
width: 112rpx;
height: 80rpx;
}
.name {
margin-top: 28rpx;
font-size: 28rpx;
color: #adacb2;
text-align: center;
}
}
}

29
src/patient/pages/enterInfo/index.ts

@ -25,6 +25,12 @@ Page({ @@ -25,6 +25,12 @@ Page({
proces: '0',
dict: {},
fileSrc: '',
popupShow: false,
popupType: 'popup7',
popupParams: {} as any,
},
onLoad(options) {
this.setData({
@ -163,6 +169,29 @@ Page({ @@ -163,6 +169,29 @@ Page({
})
})
},
handleSetData(e) {
this.setData({
fileSrc: e.detail.imgUrl,
})
},
handleDelData() {
this.setData({
popupShow: true,
popupType: 'popup7',
})
},
handlePopupOk() {
this.setData({
popupShow: false,
popupType: '',
})
},
handlePopupCancel() {
this.setData({
popupShow: false,
popupType: '',
})
},
handleBack() {
wx.navigateBack({
fail() {

60
src/patient/pages/enterInfo/index.wxml

@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
</view>
<view class="row-title">
是否有Graves病病史
<div class="sub">(非必填)</div>
<text class="sub">(非必填)</text>
</view>
<view class="row row-age">
<view
@ -68,7 +68,7 @@ @@ -68,7 +68,7 @@
</view>
<view class="row-title">
是否有TED(甲状腺眼突)及其相关眼部手术史
<div class="sub">(非必填)</div>
<text class="sub">(非必填)</text>
</view>
<view class="row row-age">
<view
@ -81,6 +81,54 @@ @@ -81,6 +81,54 @@
{{item}}
</view>
</view>
<view class="row-title">
是否了解替妥尤单抗N01
<text class="sub">(非必填)</text>
</view>
<view class="row row-age">
<view
class="age-item {{HasTedSurgery==index && 'active'}}"
data-id="{{index}}"
wx:for="{{dict.HasTedSurgery}}"
wx:key="index"
bind:tap="handleSelectHasTedSurgery"
>
{{item}}
</view>
</view>
<view class="row-title">
是否有使用替妥尤单抗N01
<text class="sub">(非必填)</text>
</view>
<view class="row row-age">
<view
class="age-item {{HasTedSurgery==index && 'active'}}"
data-id="{{index}}"
wx:for="{{dict.HasTedSurgery}}"
wx:key="index"
bind:tap="handleSelectHasTedSurgery"
>
{{item}}
</view>
</view>
<view class="row-title">
请上传您的处方证明
<view class="rt-content">处方证明审核通过后,即可享受平台全部服务</view>
</view>
<uploadFile class="upload" accept="image" bind:file="handleSetData">
<view class="upload-container">
<view class="upload-img" wx:if="{{fileSrc}}">
<view class="del" catchtap="handleDelData">
<image class="d-icon" src="/images/icon77.png"></image>
</view>
<image class="img" src="{{fileSrc}}" mode="aspectFill"></image>
</view>
<block wx:else>
<image class="icon" wx:if="{{!diagnoseImg}}" src="/images/icon76.png"></image>
<view class="name" wx:if="{{!diagnoseImg}}">您可以上传您的诊断处方、住院小结等</view>
</block>
</view>
</uploadFile>
</view>
</view>
<view class="footer">
@ -88,3 +136,11 @@ @@ -88,3 +136,11 @@
<view bind:tap="handleVisitors" class="cancel">随便看看</view>
</view>
</view>
<popup
show="{{popupShow}}"
type="{{popupType}}"
params="{{popupParams}}"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"
></popup>

6
src/patient/pages/qol/index.scss

@ -13,8 +13,8 @@ page { @@ -13,8 +13,8 @@ page {
}
.module1 {
margin: 32rpx 40rpx 0;
padding: 214rpx 40rpx 0;
height: 1034rpx;
padding: 254rpx 40rpx 0;
height: 1136rpx;
box-sizing: border-box;
.content {
font-size: 32rpx;
@ -22,7 +22,7 @@ page { @@ -22,7 +22,7 @@ page {
line-height: 56rpx;
}
.container {
margin-top: 32rpx;
margin-top: 72rpx;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.title {
padding-top: 32rpx;

4
src/patient/pages/qol/index.wxml

@ -3,9 +3,9 @@ @@ -3,9 +3,9 @@
</navbar>
<view
class="page"
style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100% 518rpx;padding-top:{{pageTop}}px;"
style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100% 518rpx;padding-top:{{pageTop+20}}px;"
>
<view class="module1" style="background: url('{{imageUrl}}bg16.png?t={{Timestamp}}') no-repeat top center/cover">
<view class="module1" style="background: url('{{imageUrl}}bg16.png?t={{Timestamp}}') no-repeat top center/100%">
<view class="content">
<view>
研究表明,GO-QOL生活质量评估能敏锐反映患者的主观感受变化,是评估治疗效果的重要工具。

5
src/patient/pages/qolAdd/index.scss

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
page {
background-color: #ffffff;
background-color: #F6F8F9;
}
.page {
@ -53,6 +53,9 @@ page { @@ -53,6 +53,9 @@ page {
padding: 0 40rpx 200rpx;
.row {
margin-bottom: 52rpx;
padding: 32rpx;
border-radius: 24rpx;
background-color: #fff;
.title {
font-size: 36rpx;
color: #211d2e;

4
src/patient/pages/qolAdd/index.wxml

@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
<navbar custom-style="background:{{background}}" fixed>
<navbar custom-style="background:transparent;" fixed>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view class="page">
<view
class="page-header"
style="background:#fff url('{{imageUrl}}bg18.png?t={{Timestamp}}') no-repeat top center/100% 412rpx;padding-top:{{pageTop+20}}px;"
style="background:#F6F8F9 url('{{imageUrl}}bg18.png?t={{Timestamp}}') no-repeat top center/100% 412rpx;padding-top:{{pageTop+20}}px;"
>
<view class="progress">
<view class="p-item active">

3
src/patient/pages/qolResult/index.json

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
{
"usingComponents": {
"navbar": "/components/navbar/index"
"navbar": "/components/navbar/index",
"popup": "/components/popup/index"
}
}

88
src/patient/pages/qolResult/index.scss

@ -15,6 +15,10 @@ p age { @@ -15,6 +15,10 @@ p age {
align-items: center;
justify-content: space-between;
.wrap {
.w-tip {
font-size: 28rpx;
color: #211d2e;
}
.w-header {
display: flex;
align-items: flex-end;
@ -36,8 +40,8 @@ p age { @@ -36,8 +40,8 @@ p age {
}
}
.tip {
font-size: 28rpx;
color: #adacb2;
font-size: 32rpx;
color: var(--color);
}
}
.status {
@ -81,30 +85,26 @@ p age { @@ -81,30 +85,26 @@ p age {
display: flex;
align-items: center;
gap: 12rpx;
font-size: 24rpx;
color: rgba(33, 29, 46, 0.28);
.skew {
width: 10rpx;
height: 22rpx;
width: 8rpx;
height: 32rpx;
background: #b982ff;
transform: skew(-15deg);
}
}
.c-content {
margin-top: 16rpx;
font-size: 32rpx;
color: #211d2e;
font-weight: bold;
display: flex;
align-items: center;
gap: 10rpx;
.label {
padding: 0 12rpx;
font-size: 20rpx;
color: #ffffff;
line-height: 32rpx;
border-radius: 50rpx 50rpx 50rpx 0rpx;
background: var(--label-background);
.c-content {
font-size: 32rpx;
color: #211d2e;
font-weight: bold;
display: flex;
align-items: center;
gap: 10rpx;
.label {
padding: 0 12rpx;
font-size: 20rpx;
color: #ffffff;
line-height: 32rpx;
border-radius: 50rpx 50rpx 50rpx 0rpx;
background: var(--label-background);
}
}
}
.progress {
@ -174,18 +174,38 @@ p age { @@ -174,18 +174,38 @@ p age {
}
}
.page-effect-wrap {
margin: 64rpx 0 0;
display: flex;
align-items: center;
justify-content: center;
.page-effect {
margin-top: 40rpx;
background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%);
border-radius: 32rpx;
box-shadow: 0rpx 8rpx 32rpx 0rpx rgba(25, 0, 57, 0.07);
.e-header {
padding: 20rpx 40rpx;
display: flex;
align-items: center;
gap: 12rpx;
font-size: 32rpx;
color: var(--color);
line-height: 44rpx;
padding: 8rpx 42rpx;
background: var(--background);
border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 2rpx solid #ffffff;
color: #ffffff;
.icon {
width: 32rpx;
height: 32rpx;
}
}
.e-container {
padding: 44rpx 44rpx 0;
border-radius: 30rpx;
background-color: #fff;
text-align: center;
.r1 {
font-size: 32rpx;
color: #211d2e;
}
.btn {
margin-top: 44rpx;
padding: 32rpx;
font-size: 36rpx;
color: #b982ff;
border-top: 1px dashed rgba(105,104,110,0.21);
}
}
}
.report {

8
src/patient/pages/qolResult/index.ts

@ -4,6 +4,12 @@ Page({ @@ -4,6 +4,12 @@ Page({
data: {
id: '',
detail: {},
popupShow: true,
popupType: 'popup8',
popupParams: {
close: true,
} as any,
},
onLoad(options) {
this.setData({
@ -40,6 +46,8 @@ Page({ @@ -40,6 +46,8 @@ Page({
},
})
},
handlePopupOk() {},
handlePopupCancel() {},
})
export {}

67
src/patient/pages/qolResult/index.wxml

@ -3,34 +3,36 @@ @@ -3,34 +3,36 @@
</navbar>
<view
class="page {{detail.TotalScore>=0 && 'status1'}} {{detail.TotalScore>=40 && 'status2'}} {{detail.TotalScore>=80 && 'status3'}}"
style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100% 518rpx;padding-top:{{pageTop+20}}px;"
style="background: url('{{imageUrl}}bg22.png?t={{Timestamp}}') no-repeat top center/100% 412rpx;padding-top:{{pageTop+20}}px;"
>
<view class="container">
<view class="info">
<view class="wrap">
<view class="w-tip">本次TED生活质量评分</view>
<view class="w-header">
<view class="num">{{detail.TotalScore}}</view>
<view class="label" wx:if="{{detail.TotalScore >= 80}}">轻度影响</view>
<view class="label" wx:elif="{{detail.TotalScore >= 40}}">中度影响</view>
<view class="label" wx:else>重度影响</view>
</view>
<view class="tip">本次TED生活质量评分</view>
<view class="tip">分数越高,对生活质量影响越小</view>
</view>
<image class="status" wx:if="{{detail.TotalScore >= 80}}" src="{{imageUrl}}icon72.png?t={{Timestamp}}"></image>
<image class="status" wx:elif="{{detail.TotalScore >= 40}}" src="{{imageUrl}}icon71.png?t={{Timestamp}}"></image>
<image class="status" wx:else src="{{imageUrl}}icon70.png?t={{Timestamp}}"></image>
</view>
<view class="c-line"></view>
<view class="card {{detail.VisionScore>=0 && 'status1'}} {{detail.VisionScore>=40 && 'status2'}} {{detail.VisionScore>=80 && 'status3'}}">
<view
class="card {{detail.VisionScore>=0 && 'status1'}} {{detail.VisionScore>=40 && 'status2'}} {{detail.VisionScore>=80 && 'status3'}}"
>
<view class="c-header">
<view class="skew"></view>
视觉功能
</view>
<view class="c-content">
当前分数:{{detail.VisionScore}}
<view class="label" wx:if="{{detail.VisionScore >= 80}}">轻度影响</view>
<view class="label" wx:elif="{{detail.VisionScore >= 40}}">中度影响</view>
<view class="label" wx:else>重度影响</view>
<view class="c-content">
视觉功能得分:{{detail.VisionScore}}
<view class="label" wx:if="{{detail.VisionScore >= 80}}">轻度影响</view>
<view class="label" wx:elif="{{detail.VisionScore >= 40}}">中度影响</view>
<view class="label" wx:else>重度影响</view>
</view>
</view>
<view class="progress">
<view class="p-item">
@ -60,16 +62,17 @@ @@ -60,16 +62,17 @@
</view>
</view>
</view>
<view class="card {{detail.AppearanceScore>=0 && 'status1'}} {{detail.AppearanceScore>=40 && 'status2'}} {{detail.AppearanceScore>=80 && 'status3'}}">
<view
class="card {{detail.AppearanceScore>=0 && 'status1'}} {{detail.AppearanceScore>=40 && 'status2'}} {{detail.AppearanceScore>=80 && 'status3'}}"
>
<view class="c-header">
<view class="skew"></view>
外观
</view>
<view class="c-content">
当前分数:{{detail.AppearanceScore}}
<view class="label" wx:if="{{detail.AppearanceScore >= 80}}">轻度影响</view>
<view class="label" wx:elif="{{detail.AppearanceScore >= 40}}">中度影响</view>
<view class="label" wx:else>重度影响</view>
<view class="c-content">
外观得分:{{detail.AppearanceScore}}
<view class="label" wx:if="{{detail.AppearanceScore >= 80}}">轻度影响</view>
<view class="label" wx:elif="{{detail.AppearanceScore >= 40}}">中度影响</view>
<view class="label" wx:else>重度影响</view>
</view>
</view>
<view class="progress">
<view class="p-item">
@ -102,13 +105,25 @@ @@ -102,13 +105,25 @@
<view class="effect">分数越低, 对生活质量影响越严重</view>
</view>
<view class="page-effect-wrap">
<view class="page-effect" wx:if="{{detail.TotalScore >= 80}}">建议保持定期监测,保持良好生活习惯</view>
<view class="page-effect" wx:elif="{{detail.TotalScore >= 40}}">建议就诊检查,评估是否需要调整治疗</view>
<view class="page-effect" wx:else>建议前往眼科中心 及时就诊</view>
</view>
<view class="report" bind:tap="handleReport">
查看我的评估报告
<van-icon name="arrow" />
<view class="e-header">
<image class="icon" src="/images/icon79.png"></image>
建议就诊检查,评估是否需要调整治
</view>
<view class="e-container">
<view class="r1">定期评测,可帮助您更好地了解改善情况</view>
<view class="r1">已完成评测x次</view>
<view class="btn" bind:tap="handleReport">
查看我的评估报告
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
<popup
show="{{popupShow}}"
type="{{popupType}}"
params="{{popupParams}}"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"
></popup>

Loading…
Cancel
Save