Browse Source

2.0页面开发

2.0
kola-web 1 month ago
parent
commit
333e0f0260
  1. 11
      project.private.config.json
  2. 4
      src/app.json
  3. 110
      src/components/popup/index.scss
  4. 23
      src/components/popup/index.wxml
  5. BIN
      src/images/bg12.png
  6. BIN
      src/images/bg13.png
  7. BIN
      src/images/bg14.png
  8. BIN
      src/images/bg15.png
  9. BIN
      src/images/bg16.png
  10. BIN
      src/images/gif1.gif
  11. BIN
      src/images/icon70.png
  12. BIN
      src/images/icon71.png
  13. BIN
      src/images/title10.png
  14. BIN
      src/images/title9.png
  15. 309
      src/patient/pages/askPatient/index.scss
  16. 8
      src/patient/pages/askPatient/index.ts
  17. 72
      src/patient/pages/askPatient/index.wxml
  18. 6
      src/patient/pages/bindDoctor/index.json
  19. 46
      src/patient/pages/bindDoctor/index.scss
  20. 11
      src/patient/pages/bindDoctor/index.ts
  21. 19
      src/patient/pages/bindDoctor/index.wxml
  22. 9
      src/patient/pages/course/index.scss
  23. 2
      src/patient/pages/course/index.ts
  24. 2
      src/patient/pages/course/index.wxml
  25. 2
      src/patient/pages/doctorList/index.scss
  26. 3
      src/patient/pages/doctorList/index.ts
  27. 21
      src/patient/pages/file/index.scss
  28. 12
      src/patient/pages/file/index.wxml
  29. 8
      src/patient/pages/home/index.ts
  30. 4
      src/patient/pages/home/index.wxml
  31. 51
      src/patient/pages/login/index.scss
  32. 9
      src/patient/pages/login/index.ts
  33. 37
      src/patient/pages/login/index.wxml
  34. 2
      src/patient/pages/preDiagnosisReport/index.wxml
  35. 6
      src/patient/pages/selectDoctorList/index.json
  36. 81
      src/patient/pages/selectDoctorList/index.scss
  37. 17
      src/patient/pages/selectDoctorList/index.ts
  38. 28
      src/patient/pages/selectDoctorList/index.wxml
  39. 1
      src/patient/pages/selectHostipal/index.scss
  40. 5
      src/patient/pages/selectHostipal/index.ts
  41. 4
      src/patient/pages/selectHostipal/index.wxml

11
project.private.config.json

@ -23,13 +23,20 @@ @@ -23,13 +23,20 @@
"miniprogram": {
"list": [
{
"name": "患者-亲友列表",
"pathName": "patient/pages/familyList/index",
"name": "患者-绑定医生",
"pathName": "patient/pages/bindDoctor/index",
"query": "",
"scene": null,
"launchMode": "default"
},
{
"name": "患者-亲友列表",
"pathName": "patient/pages/familyList/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "患者-亲友",
"pathName": "patient/pages/family/index",
"query": "",

4
src/app.json

@ -41,7 +41,9 @@ @@ -41,7 +41,9 @@
"pages/changeTel/index",
"pages/loginOut/index",
"pages/family/index",
"pages/familyList/index"
"pages/familyList/index",
"pages/bindDoctor/index",
"pages/selectDoctorList/index"
]
},
{

110
src/components/popup/index.scss

@ -90,7 +90,7 @@ @@ -90,7 +90,7 @@
display: block;
margin: 0 auto;
width: 146rpx;
height: 40rpx;
height: 34rpx;
}
.card {
position: relative;
@ -178,7 +178,7 @@ @@ -178,7 +178,7 @@
display: block;
margin: 0 auto;
width: 146rpx;
height: 40rpx;
height: 34rpx;
}
.content {
margin-top: 16rpx;
@ -833,6 +833,112 @@ @@ -833,6 +833,112 @@
}
}
.popup15 {
.icon {
position: relative;
z-index: 1;
margin: 0 auto;
display: block;
width: 144rpx;
height: 144rpx;
}
.container {
margin-top: -94rpx;
padding: 106rpx 32rpx 32rpx;
width: 604rpx;
background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
box-sizing: border-box;
.title {
display: block;
margin: 0 auto;
width: 495rpx;
height: 78rpx;
}
.card {
position: relative;
margin-top: 32rpx;
padding: 32rpx;
background: #ffffff;
display: flex;
gap: 16rpx;
justify-content: space-between;
box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.05);
border-radius: 24rpx 24rpx 24rpx 24rpx;
&::after {
position: absolute;
bottom: -24rpx;
left: 32rpx;
content: '';
width: 476rpx;
height: 24rpx;
background: #ffebea;
border-radius: 0 0 24rpx 24rpx;
}
.avatar {
flex-shrink: 0;
width: 92rpx;
height: 92rpx;
border-radius: 50%;
}
.wrap {
flex: 1;
.name {
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.hostipal {
margin-top: 16rpx;
line-height: 28rpx;
.content {
margin-right: 8rpx;
display: inline-block;
font-size: 28rpx;
color: rgba(161, 164, 172, 1);
}
.tag {
display: inline-block;
font-size: 20rpx;
color: rgba(255, 255, 255, 1);
padding: 0 8rpx;
background-color: rgba(255, 186, 1, 1);
border-radius: 6rpx;
}
}
}
}
.footer {
margin-top: 52rpx;
display: flex;
gap: 26rpx;
.cancel {
flex: 1;
padding: 22rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: rgba(246, 74, 58, 1);
border-radius: 84rpx;
border: 1px solid #f64a3a;
}
.submit {
flex: 1;
padding: 22rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: #fff;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 84rpx;
border: 1px solid #f64a3a;
}
}
}
}
.close {
margin: 32rpx auto 0;
display: block;

23
src/components/popup/index.wxml

@ -256,6 +256,29 @@ @@ -256,6 +256,29 @@
</view>
</view>
</view>
<view class="popup15" wx:elif="{{type==='conformBindDoctorConform'}}">
<image class="icon" src="/images/icon24.png"></image>
<view class="container">
<image class="title" src="/images/title10.png"></image>
<view class="card">
<image
class="avatar"
src="https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567"
></image>
<view class="wrap">
<view class="name">王青</view>
<view class="hostipal">
<view class="content">北京积水潭医院龙泽院区</view>
<view class="tag">三甲</view>
</view>
</view>
</view>
<view class="footer">
<view class="cancel">暂不绑定</view>
<view class="submit">注册并绑定></view>
</view>
</view>
</view>
<image
wx:if="{{params.close}}"
class="close"

BIN
src/images/bg12.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

BIN
src/images/bg13.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

BIN
src/images/bg14.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
src/images/bg15.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
src/images/bg16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
src/images/gif1.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

BIN
src/images/icon70.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/images/icon71.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
src/images/title10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
src/images/title9.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

309
src/patient/pages/askPatient/index.scss

@ -18,23 +18,29 @@ page { @@ -18,23 +18,29 @@ page {
margin-bottom: 32rpx;
padding: 0 32rpx;
.f-header {
padding: 32rpx;
position: relative;
background: linear-gradient(22deg, #ffffff 0%, #fff6f6 100%);
box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.06);
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #ffffff;
display: flex;
align-items: center;
justify-content: space-between;
.left {
position: relative;
height: 72rpx;
padding: 24rpx 32rpx;
.doctor-list {
position: absolute;
top: -80rpx;
display: flex;
flex-wrap: nowrap;
gap: 38rpx;
overflow-x: auto;
&::-webkit-scrollbar {
display: none;
}
&::after {
flex-shrink: 0;
display: block;
content: '';
width: 300rpx;
}
.doctor-item {
flex-shrink: 0;
.avatar {
margin: 0 auto;
display: block;
@ -57,8 +63,19 @@ page { @@ -57,8 +63,19 @@ page {
}
}
.more {
position: absolute;
right: 0;
top: 0;
padding-left: 116rpx;
width: 342rpx;
height: 100%;
font-size: 28rpx;
color: rgba(161, 164, 172, 1);
box-sizing: border-box;
border-radius: 24rpx;
display: flex;
align-items: center;
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 118rpx, #fff 100%);
}
}
.f-list {
@ -94,6 +111,7 @@ page { @@ -94,6 +111,7 @@ page {
padding: 15rpx 30rpx;
display: flex;
.avatar {
position: relative;
padding-right: 16rpx;
flex-shrink: 0;
.a-img {
@ -101,6 +119,20 @@ page { @@ -101,6 +119,20 @@ page {
height: 80rpx;
border-radius: 50%;
}
.label {
position: absolute;
top: 68rpx;
left: 0;
width: 84rpx;
height: 28rpx;
line-height: 28rpx;
font-size: 20rpx;
color: rgba(255, 255, 255, 1);
text-align: center;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 35rpx 35rpx 35rpx 35rpx;
overflow: hidden;
}
}
.d-container {
flex: 1;
@ -108,57 +140,6 @@ page { @@ -108,57 +140,6 @@ page {
display: flex;
flex-direction: column;
align-items: start;
.guide {
margin-bottom: 32rpx;
padding: 32rpx 30rpx;
border-radius: 0 32rpx 32rpx;
background: linear-gradient(13deg, #ffffff 8%, #e8f0f1 100%);
border: 2rpx solid #ffffff;
.title {
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
font-weight: bold;
}
.sub-title {
font-size: 28rpx;
color: rgba(154, 161, 162, 1);
margin-bottom: 30rpx;
}
.list {
.l-item {
display: flex;
align-items: center;
gap: 16rpx;
margin-bottom: 30rpx;
.order {
flex-shrink: 0;
width: 28rpx;
height: 28rpx;
font-size: 24rpx;
display: flex;
align-items: center;
justify-content: center;
color: rgba(255, 255, 255, 1);
border-radius: 6rpx;
background: #67baca;
}
.content {
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
}
}
}
.tip {
font-size: 28rpx;
color: rgba(103, 113, 114, 1);
display: flex;
align-items: center;
.icon {
width: 44rpx;
height: 44rpx;
}
}
}
.message {
margin-bottom: 32rpx;
padding: 26rpx 32rpx;
@ -168,205 +149,56 @@ page { @@ -168,205 +149,56 @@ page {
color: rgba(1, 1, 5, 1);
line-height: 48rpx;
white-space: pre-line;
.reference {
margin-top: 24rpx;
font-size: 24rpx;
color: rgba(1, 1, 5, 0.5);
line-height: 32rpx;
}
.m-footer {
border-top: 1px solid rgba(0, 0, 0, 0.04);
margin-top: 32rpx;
padding-top: 24rpx;
display: flex;
align-items: center;
justify-content: flex-end;
.icon {
width: 36rpx;
height: 36rpx;
}
.num {
margin-left: 12rpx;
font-size: 32rpx;
color: rgba(1, 1, 5, 0.4);
line-height: 1px;
&.active {
color: rgba(242, 58, 47, 1);
}
}
}
}
.week {
margin-bottom: 32rpx;
padding: 26rpx 32rpx;
background-color: #fff;
border-radius: 0 32rpx 32rpx;
background: linear-gradient(13deg, #ffffff 58.17%, #ffcdca 156.6%);
border-radius: 32rpx;
.w-title {
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
}
.w-container {
margin-top: 24rpx;
.w-content {
padding: 32rpx;
padding: 16rpx 0;
background: #f7f7fa;
border-radius: 24rpx;
display: grid;
grid-template-columns: 1fr 1px 1fr;
.item {
padding: 16rpx 32rpx;
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
line-height: 48rpx;
border-radius: 24rpx;
background-color: rgba(247, 248, 249, 1);
color: rgba(1, 1, 5, 1);
}
.row {
display: flex;
.label {
width: 156rpx;
height: 76rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: rgba(255, 255, 255, 1);
background-color: rgba(103, 186, 202, 1);
}
.content {
width: 156rpx;
height: 76rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
background-color: rgba(242, 244, 245, 1);
}
&:first-of-type {
.label {
border-radius: 24rpx 0 0 0;
}
.content {
border-radius: 0 24rpx 0 0;
}
}
&:last-of-type {
.label {
border-radius: 0 0 0 24rpx;
}
.content {
border-radius: 0 0 24rpx 0;
}
}
&:not(:last-of-type) {
border-bottom: 2rpx solid #fff;
}
.line {
margin: 16rpx 0 0;
height: 40rpx;
background-color: rgba(161, 164, 172, 0.35);
}
}
}
.adl {
margin-bottom: 32rpx;
padding: 32rpx 156rpx 34rpx 30rpx;
border-radius: 0 32rpx 32rpx;
background: linear-gradient(141deg, #edfcff 0%, #d4f3f9 100%);
border: 2rpx solid #fff;
.title {
width: 324rpx;
height: 40rpx;
}
.sub-title {
margin-top: 18rpx;
line-height: 1;
font-size: 28rpx;
color: rgba(255, 255, 255, 0.8);
}
.btn {
margin-top: 20rpx;
width: 220rpx;
height: 56rpx;
text-align: center;
line-height: 56rpx;
font-size: 28rpx;
color: #e04775;
background: #ffffff;
border-radius: 102rpx 102rpx 102rpx 102rpx;
}
.tip {
margin-top: 10rpx;
font-size: 24rpx;
color: #fff;
}
}
.audio {
margin-bottom: 32rpx;
padding: 22rpx 24rpx;
border-radius: 0 32rpx 32rpx;
background-color: #fff;
min-width: 218rpx;
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
display: flex;
align-items: center;
gap: 12rpx;
.card1 {
width: 502rpx;
height: 340rpx;
box-sizing: border-box;
.icon {
width: 32rpx;
height: 40rpx;
}
}
.info {
margin-bottom: 32rpx;
padding: 26rpx 32rpx;
background-color: #fff;
border-radius: 0 32rpx 32rpx 32rpx;
padding: 114rpx 56rpx 0;
.content {
font-size: 28rpx;
color: #283031;
}
.btn {
margin-top: 24rpx;
padding: 22rpx;
font-size: 32rpx;
color: #283031;
line-height: 40rpx;
text-align: center;
background: #67baca;
color: #ffffff;
border-radius: 104rpx 104rpx 104rpx 104rpx;
border: 1rpx solid #f8f9f9;
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
line-height: 48rpx;
}
}
.referral {
margin-bottom: 32rpx;
width: 502rpx;
height: 262rpx;
background: linear-gradient(223deg, #59b0c2 0%, #94e2f1 100%);
box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.07);
border-radius: 24rpx 24rpx 24rpx 24rpx;
.r-header {
padding: 20rpx 24rpx 0 32rpx;
.btn {
margin-top: 18rpx;
height: 64rpx;
border-radius: 84rpx;
font-size: 28rpx;
color: rgba(255, 255, 255, 1);
display: flex;
.title {
font-size: 32rpx;
color: #ffffff;
line-height: 48rpx;
}
.icon {
flex-shrink: 0;
width: 138rpx;
height: 122rpx;
}
}
.r-footer {
padding: 32rpx;
background: linear-gradient(11deg, #ffffff 8%, rgba(255, 255, 255, 0.79) 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #ffffff;
.btn {
width: 438rpx;
height: 64rpx;
font-size: 32rpx;
color: #fff;
text-align: center;
line-height: 64rpx;
background: #67baca;
border-radius: 104rpx 104rpx 104rpx 104rpx;
}
align-items: center;
justify-content: center;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
}
}
}
@ -489,7 +321,6 @@ page { @@ -489,7 +321,6 @@ page {
align-items: center;
justify-content: center;
gap: 10rpx;
font-weight: bold;
.icon {
width: 36rpx;
height: 36rpx;

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

@ -33,7 +33,13 @@ Page({ @@ -33,7 +33,13 @@ Page({
isLoad: false,
isFinish: false,
messageList: [] as IMessageItem[],
messageList: [
{ msgFromType: '2', msgContentType: '1', msgContent: '你的注射日还未填写,随访计划还未生成哦!' },
{ msgFromType: '2', msgContentType: '2', msgContent: '' },
{ msgFromType: '2', msgContentType: '3', msgContent: '' },
{ msgFromType: '2', msgContentType: '4', msgContent: '' },
{ msgFromType: '2', msgContentType: '5', msgContent: '' },
] as IMessageItem[],
nextMsgId: '',
unReadCount: 0,
firstNotReadMsgId: 0,

72
src/patient/pages/askPatient/index.wxml

@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
></image>
<view class="name">王青</view>
</view>
<view class="doctor-item">
<view class="doctor-item" wx:for="{{20}}" wx:key="index">
<image
class="avatar"
src="https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567"
@ -56,40 +56,54 @@ @@ -56,40 +56,54 @@
<view class="date" wx:if="{{message.showTime}}">{{message.msgCreateTimeName}}</view>
<view class="doctor" wx:if="{{message.msgFromType==='2'}}">
<view class="avatar">
<image class="a-img" mode="aspectFill" src="{{imageUrl}}avatar1.png?t={{Timestamp}}"></image>
<image class="a-img" mode="aspectFill" src="https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567"></image>
<view class="label">刘湖飞</view>
</view>
<view class="d-container">
<view class="guide" wx:if="{{message.msgContentType==='5'}}">
<view class="title">{{message.welcomeMsg.title}}</view>
<view class="sub-title">{{message.welcomeMsg.questionDes}}</view>
<view class="list">
<view
class="l-item"
wx:for="{{message.welcomeMsg.hotQuestion}}"
wx:key="questionId"
bind:tap="handleHot"
data-mindex="{{mIndex}}"
data-index="{{index}}"
>
<view class="order">{{index+1}}</view>
<view class="content">{{item.question}}</view>
</view>
<view class="message" wx:if="{{message.msgContentType==='1'}}">{{message.msgContent }}</view>
<view class="week" wx:elif="{{message.msgContentType==='2'}}">
<view class="w-title">我的出诊时间如下:</view>
<view class="w-container">
<view class="item">周二 上午</view>
<view class="line"></view>
<view class="item">周二 上午</view>
</view>
</view>
<view
class="card1"
style="background: url('/images/bg14.png') no-repeat top center/100%"
wx:elif="{{message.msgContentType==='3'}}"
>
<view class="content">
这是您的诊疗地图
<view></view>
填写上你的注射日吧~
</view>
<view class="tip">
{{message.welcomeMsg.guideClick}}
<image class="icon" src="{{imageUrl}}/doctor/icon-down1.png?t={{Timestamp}}"></image>
<view class="btn">点击查看</view>
</view>
<view
class="card1"
style="background: url('/images/bg15.png') no-repeat top center/100%"
wx:elif="{{message.msgContentType==='4'}}"
>
<view class="content">
您的专属随访计划
<view></view>
已生成
</view>
<view class="btn">点击立即查看</view>
</view>
<view class="message" wx:elif="{{message.msgContentType==='1'}}">
<view>{{message.msgContent }}</view>
<view class="reference" wx:if="{{message.Reference}}">{{message.Reference}}</view>
<view class="m-footer" wx:if="{{message.HasAnswer}}" bind:tap="handleLike" data-index="{{mIndex}}">
<image wx:if="{{message.IsLike}}" class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon10.png?t={{Timestamp}}"></image>
<view class="num {{detail.IsLike && 'active'}}" wx:if="{{message.LikeTimes>0}}">
{{message.LikeTimes}}
</view>
<view
class="card1"
style="background: url('/images/bg16.png') no-repeat top center/100%"
wx:elif="{{message.msgContentType==='5'}}"
>
<view class="content">
现在是您注射后16周
<view></view>
建议每周1次回院复诊~
</view>
<view class="btn">查看我的随访计划</view>
</view>
</view>
</view>

6
src/patient/pages/bindDoctor/index.json

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
{
"navigationStyle": "custom",
"usingComponents": {
"navbar": "/components/navbar/index"
}
}

46
src/patient/pages/bindDoctor/index.scss

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
.page {
padding: 232rpx 60rpx 0;
.badge {
margin: 0 auto;
display: block;
width: 232rpx;
height: 232rpx;
}
.title {
margin: 54rpx auto 0;
display: block;
width: 342rpx;
height: 44rpx;
}
.content {
margin-top: 28rpx;
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
line-height: 48rpx;
text-align: center;
}
.tip {
margin-top: 32rpx;
font-size: 32rpx;
color: rgba(161, 164, 172, 1);
text-align: center;
}
.submit {
margin-top: 116rpx;
height: 88rpx;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 84rpx;
font-size: 32rpx;
color: rgba(255, 255, 255, 1);
}
.cancel {
margin-top: 30rpx;
padding: 24rpx;
text-align: center;
font-size: 32rpx;
color: rgba(246, 74, 58, 1);
}
}

11
src/patient/pages/bindDoctor/index.ts

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
const _app = getApp<IAppOption>()
Page({
data: {},
onLoad() {},
handleBack() {
wx.navigateBack()
},
})
export {}

19
src/patient/pages/bindDoctor/index.wxml

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
<navbar fixed title="绑定医生" custom-style="background:{{background}}" back>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view
class="page"
style="padding-top:{{pageTop+100}}px;background:url('{{imageUrl}}bg13.png?t={{Timestamp}}') no-repeat top center/100% 666rpx"
>
<image class="badge" src="/images/icon71.png"></image>
<image class="title" src="/images/title9.png"></image>
<view class="content">
绑定医生后
<view></view>
医生可以实时看到您的检查进展
</view>
<view class="tip">您可以扫描不同医生邀约码绑定多个医生</view>
<view class="submit">继续绑定</view>
<view class="cancel" bind:tap="handleBack">取消</view>
</view>

9
src/patient/pages/course/index.scss

@ -199,3 +199,12 @@ @@ -199,3 +199,12 @@
}
}
}
.guide {
position: fixed;
z-index: 10;
top: 660rpx;
right: 86rpx;
width: 172rpx;
height: 256rpx;
}

2
src/patient/pages/course/index.ts

@ -11,7 +11,7 @@ Page({ @@ -11,7 +11,7 @@ Page({
// position: 'bottom',
},
current: 3,
current: 0,
},
onLoad() {},
handleSelectHostipal() {

2
src/patient/pages/course/index.wxml

@ -404,6 +404,8 @@ @@ -404,6 +404,8 @@
</view>
</view>
<image class="guide" src="/images/gif1.gif"></image>
<popup
show="{{popupShow}}"
type="{{popupType}}"

2
src/patient/pages/doctorList/index.scss

@ -68,5 +68,7 @@ page { @@ -68,5 +68,7 @@ page {
transform: translateX(-50%);
width: 156rpx;
height: 156rpx;
border-radius: 50%;
box-shadow: 0 20rpx 30rpx #f0b4af;
}
}

3
src/patient/pages/doctorList/index.ts

@ -9,6 +9,9 @@ Page({ @@ -9,6 +9,9 @@ Page({
confirmColor: 'rgba(246, 74, 58, 1)',
})
},
handleBack() {
wx.navigateBack()
},
})
export {}

21
src/patient/pages/file/index.scss

@ -117,13 +117,18 @@ page { @@ -117,13 +117,18 @@ page {
height: 60rpx;
}
}
.more {
.btn {
padding: 8rpx 32rpx;
font-size: 32rpx;
color: rgba(246, 74, 58, 1);
line-height: 40rpx;
color: #fff;
text-align: center;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 96rpx;
}
}
.c-body {
margin: 16rpx 32rpx 0;
margin: 24rpx 32rpx 0;
padding: 16rpx 32rpx;
background: #f6f6f6;
border-radius: 24rpx 24rpx 24rpx 24rpx;
@ -157,15 +162,11 @@ page { @@ -157,15 +162,11 @@ page {
color: rgba(161, 164, 172, 1);
}
}
.c-btn {
margin: 32rpx 32rpx 0;
padding: 20rpx;
.more {
margin-top: 32rpx;
font-size: 32rpx;
line-height: 48rpx;
color: #fff;
color: rgba(246, 74, 58, 1);
text-align: center;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 96rpx;
}
}
}

12
src/patient/pages/file/index.wxml

@ -36,10 +36,7 @@ @@ -36,10 +36,7 @@
<view class="title">随访期</view>
<image class="fold-icon" src="/images/icon56.png"></image>
</view>
<view class="more">
查看全部
<van-icon name="arrow" />
</view>
<view class="btn">添加随访记录</view>
</view>
<view class="c-body">
<image wx:if="{{true}}" class="status" src="/images/icon42.png"></image>
@ -59,7 +56,10 @@ @@ -59,7 +56,10 @@
</view>
<view class="detail">查看详情></view>
</view>
<view class="c-btn">添加随访记录</view>
<view class="more">
查看全部
<van-icon name="arrow" />
</view>
</view>
</view>
<view class="container1" wx:if="{{nav==1}}">
@ -94,7 +94,7 @@ @@ -94,7 +94,7 @@
></calendar>
</view>
</view>
<view class="btn"> 向医生询问出诊时间</view>
<view class="btn">向医生询问出诊时间</view>
</view>
</view>

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

@ -7,12 +7,18 @@ Page({ @@ -7,12 +7,18 @@ Page({
// popupType: 'bindDoctorReject', // 绑定失败
// popupType: 'bindDoctor', // 绑定成功
// popupType: 'bindDoctorQuestion', // 为什么绑定医生
popupType: 'conformBindDoctorQuestion', // 确认绑定曾经扫码医生
// popupType: 'conformBindDoctorQuestion', // 确认绑定曾经扫码医生
popupType: 'conformBindDoctorConform', // 注册后绑定医生码
popupParams: {},
progress: 1,
},
onLoad() {},
handleBindDoctor() {
wx.navigateTo({
url: '/patient/pages/bindDoctor/index',
})
},
handleProgress(e: any) {
const { index } = e.currentTarget.dataset
this.setData({

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

@ -27,7 +27,7 @@ @@ -27,7 +27,7 @@
<view>您还没有绑定任何医生</view>
<view class="view">绑定后可随时随地联系专属医生</view>
</view>
<view class="btn">扫一扫绑定</view>
<view class="btn" bind:tap="handleBindDoctor">扫一扫绑定</view>
</view>
<view class="container" wx:else>
<view class="wrap">
@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
></image>
<view class="name">王医生</view>
</view>
<view class="add">
<view class="add" bind:tap="handleBindDoctor">
<image class="icon" src="{{imageUrl}}icon15.png?t={{Timestamp}}"></image>
<view class="name">添加医生</view>
</view>

51
src/patient/pages/login/index.scss

@ -1,13 +1,11 @@ @@ -1,13 +1,11 @@
page {
background-color: rgba(247, 247, 250, 1);
}
.page {
padding: 0 70rpx 0;
padding: 0 70rpx 100rpx;
.logo {
display: block;
margin: 0 auto;
width: 164rpx;
height: 164rpx;
border-radius: 24rpx;
}
.title {
margin-top: 32rpx;
@ -32,6 +30,26 @@ page { @@ -32,6 +30,26 @@ page {
}
.divider {
margin: 80rpx 150rpx 0;
.van-divider {
color: rgba(207, 209, 213, 1);
}
}
.tel-btn {
margin: 0 auto;
padding: 4rpx 0;
width: 266rpx;
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
background: #f7f7fa;
border-radius: 24rpx;
font-size: 24rpx;
color: rgba(161, 164, 172, 1);
.icon {
width: 40rpx;
height: 40rpx;
}
}
.form {
margin-top: 50rpx;
@ -41,7 +59,7 @@ page { @@ -41,7 +59,7 @@ page {
justify-content: space-between;
align-items: center;
padding: 12rpx 12rpx 12rpx 32rpx;
background-color: #fff;
background-color: rgba(247, 247, 250, 1);
border-radius: 24rpx;
.input {
flex: 1;
@ -76,4 +94,27 @@ page { @@ -76,4 +94,27 @@ page {
border: 1px solid #f23a2f;
}
}
.signature {
margin-top: 88rpx;
font-size: 28rpx;
color: rgba(161, 164, 172, 1);
line-height: 48rpx;
.row {
margin-top: 24rpx;
display: flex;
.checkbox {
margin-top: -8rpx;
transform: scale(0.8);
}
}
.link {
color: rgba(246, 74, 58, 1);
}
}
.family-tip{
margin-top: 58rpx;
font-size: 28rpx;
color: rgba(246, 74, 58, 1);
text-align: center;
}
}

9
src/patient/pages/login/index.ts

@ -1,8 +1,15 @@ @@ -1,8 +1,15 @@
const _app = getApp<IAppOption>()
Page({
data: {},
data: {
showTel: false,
},
onLoad() {},
handleShowTel() {
this.setData({
showTel: !this.data.showTel,
})
},
handleSubmit() {
wx.navigateTo({
url: '/patient/pages/entryInfo/index',

37
src/patient/pages/login/index.wxml

@ -1,14 +1,18 @@ @@ -1,14 +1,18 @@
<view
class="page"
style="padding-top: {{pageTop + 60}}px;background:url('{{imageUrl}}bg3.png?t={{Timestamp}}') no-repeat top center/100% 976rpx;"
style="padding-top: {{pageTop + 60}}px;background:url('{{imageUrl}}bg12.png?t={{Timestamp}}') no-repeat top center/100% 618rpx;"
>
<image class="logo" src="{{imageUrl}}logo1.png?t={{Timestamp}}"></image>
<view class="title">欢迎加入愈见守护</view>
<button class="phone" open-type="getPhoneNumber">手机号一键登录</button>
<view class="divider">
<van-divider contentPosition="center">或者</van-divider>
<van-divider class="van-divider" contentPosition="center">或者</van-divider>
</view>
<view class="form">
<view class="tel-btn" bind:tap="handleShowTel">
<image class="icon" src="/images/icon70.png"></image>
手机号验证码
</view>
<view class="form" wx:if="{{showTel}}">
<view class="form-row">
<input
class="input"
@ -24,4 +28,31 @@ @@ -24,4 +28,31 @@
</view>
<view class="submit" bind:tap="handleSubmit">登录</view>
</view>
<view class="signature">
<view class="row">
<checkbox class="checkbox" color="#e73e37"></checkbox>
<view class="r-content">
我特此同意
<text class="link">《个人信息及隐私协议政策》</text>
规定收集我的相关敏感个人信息
</view>
</view>
<view class="row">
<checkbox class="checkbox" color="#e73e37"></checkbox>
<view class="r-content">
我特此同意
<text class="link">《用户协议》</text>
中关于用户权利与义务的约定
</view>
</view>
<view class="row">
<checkbox class="checkbox" color="#e73e37"></checkbox>
<view class="r-content">
我特此同意
<text class="link">《个人信息共享知情同意书》</text>
规定共享我的相关个人敏感数据
</view>
</view>
</view>
<view class="family-tip">已经有亲友注册?扫描亲友邀约码绑定</view>
</view>

2
src/patient/pages/preDiagnosisReport/index.wxml

@ -176,7 +176,7 @@ @@ -176,7 +176,7 @@
<view class="m-item active">阳性(+)</view>
<view class="m-item">阴性(-)</view>
</view>
<view class="m-select-title" style="margin-top: 48rpx">乙型肝炎病毒表面抗原(HBsAg)</view>
<view class="m-select-title" style="margin-top: 48rpx">乙型肝炎病毒脱氧核糖核酸(HBV - DNA)</view>
<view class="m-select">
<view class="m-item active">正常数值</view>
<view class="m-item">偏高数值</view>

6
src/patient/pages/selectDoctorList/index.json

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
{
"navigationStyle": "custom",
"usingComponents": {
"navbar": "/components/navbar/index"
}
}

81
src/patient/pages/selectDoctorList/index.scss

@ -0,0 +1,81 @@ @@ -0,0 +1,81 @@
page {
background-color: rgba(247, 247, 250, 1);
}
.page {
padding: 0 40rpx 40rpx;
background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
.card {
margin-top: 40rpx;
padding: 32rpx;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.user {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24rpx;
.avatar {
flex-shrink: 0;
width: 92rpx;
height: 92rpx;
border-radius: 50%;
}
.wrap {
flex: 1;
.w-name {
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.w-content {
margin-top: 4rpx;
line-height: 28rpx;
.hostipal {
margin-top: 12rpx;
margin-right: 12rpx;
display: inline-block;
font-size: 28rpx;
color: rgba(161, 164, 172, 1);
}
.tag {
margin-top: 12rpx;
vertical-align: middle;
display: inline-block;
padding: 0 8rpx;
font-size: 20rpx;
color: rgba(255, 255, 255, 1);
border-radius: 6rpx;
background-color: rgba(255, 186, 1, 1);
}
}
}
.select {
padding: 6rpx 32rpx;
font-size: 32rpx;
color: rgba(255, 255, 255, 1);
line-height: 44rpx;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
box-shadow: 0rpx 13rpx 26rpx 0rpx rgba(151, 151, 151, 0.05);
border-radius: 58rpx 58rpx 58rpx 58rpx;
}
}
.content {
margin-top: 32rpx;
font-size: 28rpx;
color: rgba(161, 164, 172, 1);
line-height: 40rpx;
}
}
.add {
position: fixed;
left: 50%;
bottom: 142rpx;
transform: translateX(-50%);
width: 156rpx;
height: 156rpx;
border-radius: 50%;
box-shadow: 0 20rpx 30rpx #f0b4af;
}
}

17
src/patient/pages/selectDoctorList/index.ts

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
const _app = getApp<IAppOption>()
Page({
data: {},
onLoad() {},
handleUnbind() {
wx.showModal({
title: '确认解绑?',
confirmColor: 'rgba(246, 74, 58, 1)',
})
},
handleBack() {
wx.navigateBack()
},
})
export {}

28
src/patient/pages/selectDoctorList/index.wxml

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
<navbar fixed title="医生列表" custom-style="background:{{background}}" back>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view
class="page"
style="background: url('{{imageUrl}}bg7.png?t={{Timestamp}}') no-repeat top center/100% 602rpx;padding-top:{{pageTop}}px;"
>
<view class="card">
<view class="user">
<image
class="avatar"
src="https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567"
></image>
<view class="wrap">
<view class="w-name">王青</view>
<view class="w-content">
<view class="hostipal">北京积水潭医院龙泽院区</view>
<view class="tag">三甲</view>
</view>
</view>
<view class="select">选择</view>
</view>
<view class="content">
北京积水潭医院龙泽院区副主任医师,有 12 年的
治疗经验。中华医学会血液学分会血栓与止血学组副组长,中国罕见病联盟血友病学组副秘书长,中国血友病青年协作组常务理事长,
</view>
</view>
</view>

1
src/patient/pages/selectHostipal/index.scss

@ -38,6 +38,7 @@ page { @@ -38,6 +38,7 @@ page {
height: 40rpx;
}
.input {
flex: 1;
font-size: 28rpx;
}
.place-input {

5
src/patient/pages/selectHostipal/index.ts

@ -15,6 +15,11 @@ Page({ @@ -15,6 +15,11 @@ Page({
popupShow: false,
})
},
handleBindDoctor() {
wx.navigateTo({
url: '/patient/pages/selectDoctorList/index',
})
},
handleBack() {
wx.navigateBack()
},

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

@ -2,8 +2,8 @@ @@ -2,8 +2,8 @@
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view class="page" style="padding-top:{{pageTop + 30}}px">
<view class="bind-doctor">
<view class="title">扫一扫绑定医生,自动定位检查医院</view>
<view class="bind-doctor" bindtap="handleBindDoctor">
<view class="title">选择您的绑定医生,自动确定您的就诊医院</view>
<image class="icon" src="{{imageUrl}}icon32.png?t={{Timestamp}}"></image>
</view>
<view class="form">

Loading…
Cancel
Save