Browse Source

众测各种问题处理

master
kola-web 3 weeks ago
parent
commit
b3d498c589
  1. 23
      src/components/freeAudio/index.js
  2. 6
      src/components/pagination/index.scss
  3. 6
      src/components/toast/index.scss
  4. 2
      src/doc/pages/privacyAgreement/index.ts
  5. 10
      src/doctor/pages/d_home/index.scss
  6. 8
      src/doctor/pages/d_home/index.ts
  7. 7
      src/doctor/pages/d_home/index.wxml
  8. 3
      src/doctor/pages/d_interactiveDoctor/index.scss
  9. 1
      src/doctor/pages/d_invite/index.scss
  10. 62
      src/doctor/pages/d_invite/index.ts
  11. 2
      src/doctor/pages/d_my/index.scss
  12. 1
      src/doctor/pages/d_patient/index.scss
  13. 2
      src/doctor/pages/d_patient/index.wxml
  14. 9
      src/doctor/pages/d_patientDetail/index.scss
  15. 2
      src/doctor/pages/d_patientList/index.wxml
  16. BIN
      src/images/1/save-active.png
  17. BIN
      src/images/1/start.png
  18. BIN
      src/images/5/eye1.png
  19. BIN
      src/images/5/eye2.png
  20. BIN
      src/images/bg15.png
  21. BIN
      src/images/bg22.png
  22. BIN
      src/images/bg34.png
  23. BIN
      src/images/icon90.png
  24. BIN
      src/images/icon91.png
  25. BIN
      src/images/icon92.png
  26. BIN
      src/images/icon93.png
  27. BIN
      src/images/none.png
  28. 1
      src/pages/doctorDetail/index.scss
  29. 4
      src/pages/enterInfo/index.wxml
  30. 7
      src/pages/getUserInfo/index.scss
  31. 6
      src/pages/getUserInfo/index.wxml
  32. 2
      src/pages/hospital/index.scss
  33. 8
      src/pages/hospital/index.wxml
  34. 138
      src/pages/index/index.scss
  35. 38
      src/pages/index/index.ts
  36. 53
      src/pages/index/index.wxml
  37. 35
      src/pages/interactivePatient/index.scss
  38. 2
      src/pages/interactivePatient/index.ts
  39. 1
      src/pages/interactivePatient/index.wxml
  40. 6
      src/pages/login/index.scss
  41. 9
      src/pages/my/index.scss
  42. 6
      src/pages/mySave/index.scss
  43. 6
      src/pages/personalInformation/index.scss
  44. 31
      src/pages/personalInformation/index.wxml
  45. 7
      src/pages/qaForm/index.scss
  46. 6
      src/pages/qaForm/index.ts
  47. 1
      src/pages/qaForm/index.wxml
  48. 2
      src/pages/qaFormDetail/index.scss
  49. 12
      src/pages/repository/index.scss
  50. 10
      src/pages/repositoryDetail/index.scss

23
src/components/freeAudio/index.js

@ -22,6 +22,8 @@ Component({
} }
this.audioContext.destroy() this.audioContext.destroy()
} }
this._lastTime = 0
this._pausedByHide = false
if (val) { if (val) {
this.audioAddEventListener(val) this.audioAddEventListener(val)
} }
@ -67,15 +69,18 @@ Component({
}, },
pageLifetimes: { pageLifetimes: {
show: function () { show: function () {
if (this.data._pausedByHide && this.audioContext) { if (this._pausedByHide && this.audioContext) {
this.data._pausedByHide = false this._pausedByHide = false
if (this._lastTime > 0) {
this.audioContext.seek(this._lastTime)
}
this.audioContext.play() this.audioContext.play()
} }
}, },
hide: function () { hide: function () {
const { play } = this.data const { play } = this.data
if (play) { if (play) {
this.data._pausedByHide = true this._pausedByHide = true
this.audioContext.pause() this.audioContext.pause()
} }
}, },
@ -94,6 +99,9 @@ Component({
if (play) { if (play) {
this.audioContext.pause() this.audioContext.pause()
} else { } else {
if (this._lastTime > 0 && this.audioContext.currentTime < this._lastTime - 0.5) {
this.audioContext.seek(this._lastTime)
}
this.audioContext.play() this.audioContext.play()
} }
}, },
@ -138,12 +146,18 @@ Component({
}) })
}) })
that.audioContext.onPause(() => { that.audioContext.onPause(() => {
console.log(1111111) that._lastTime = that.audioContext.currentTime || that._lastTime || 0
that.setData({
play: false,
})
})
that.audioContext.onStop(() => {
that.setData({ that.setData({
play: false, play: false,
}) })
}) })
that.audioContext.onEnded(() => { that.audioContext.onEnded(() => {
that._lastTime = 0
that.audioContext.seek(0) that.audioContext.seek(0)
that.setData({ that.setData({
play: false, play: false,
@ -158,6 +172,7 @@ Component({
if (duration == Infinity) { if (duration == Infinity) {
return return
} }
that._lastTime = currentTime
that.setData({ that.setData({
play: true, play: true,
duration: that.formatTime(duration), duration: that.formatTime(duration),

6
src/components/pagination/index.scss

@ -1,10 +1,12 @@
/* components/pagination/index.wxss */ /* components/pagination/index.wxss */
.none { .none {
display: block; display: block;
margin: 30rpx auto; margin: 60rpx auto 0;
width: 80%; width: 440rpx;
height: 388rpx;
} }
.empty-title { .empty-title {
margin-top: -50rpx;
text-align: center; text-align: center;
font-size: 32rpx; font-size: 32rpx;
color: #b0b0b0; color: #b0b0b0;

6
src/components/toast/index.scss

@ -2342,7 +2342,7 @@
.btn { .btn {
margin-top: 58rpx; margin-top: 58rpx;
height: 96rpx; height: 96rpx;
font-size: 32rpx; font-size: 36rpx;
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
text-align: center; text-align: center;
line-height: 96rpx; line-height: 96rpx;
@ -2360,11 +2360,11 @@
.popup-container { .popup-container {
.content { .content {
.high { .high {
color: rgba(22, 121, 203, 1); color: rgba(89, 86, 233, 1);
} }
} }
.btn { .btn {
background: linear-gradient(90deg, rgba(41, 59, 159, 1) 0%, rgba(22, 121, 203, 1) 100%); background: linear-gradient(to right, rgba(179, 132, 244, 1) 0%, rgba(89, 86, 233, 1) 100%);
} }
} }
} }

2
src/doc/pages/privacyAgreement/index.ts

File diff suppressed because one or more lines are too long

10
src/doctor/pages/d_home/index.scss

@ -3,7 +3,7 @@ page {
} }
.page { .page {
.user { .user {
padding: 72rpx 30rpx 0; padding: 72rpx 40rpx 0;
display: flex; display: flex;
gap: 20rpx; gap: 20rpx;
.avatar { .avatar {
@ -39,6 +39,12 @@ page {
} }
} }
} }
.code{
margin-top: 16rpx;
flex-shrink: 0;
width: 56rpx;
height: 56rpx;
}
} }
.new-banner { .new-banner {
margin: 60rpx 40rpx 0; margin: 60rpx 40rpx 0;
@ -82,7 +88,7 @@ page {
} }
} }
.page-container { .page-container {
margin: 0 30rpx; margin: 0 40rpx;
.card { .card {
margin: 44rpx 0 0; margin: 44rpx 0 0;
padding-top: 15px; padding-top: 15px;

8
src/doctor/pages/d_home/index.ts

@ -202,12 +202,16 @@ Page({
confirmButtonColor: '#62bed0', confirmButtonColor: '#62bed0',
} as any) } as any)
}, },
handlePatient(e) { handlePatient(e) {
const { type, name } = e.currentTarget.dataset const { type, name } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/d_patientList/index?type=${type}&name=${name}`, url: `/doctor/pages/d_patient/index?type=${type}&name=${name}`,
})
},
handleInvite() {
wx.navigateTo({
url: '/doctor/pages/d_invite/index',
}) })
}, },
}) })

7
src/doctor/pages/d_home/index.wxml

@ -5,11 +5,14 @@
<view class="wrap"> <view class="wrap">
<view class="name">{{doctor.Name}}</view> <view class="name">{{doctor.Name}}</view>
<view class="site"> <view class="site">
<div class="site-content">{{hospital.Name}}</div> <view class="site-content">{{hospital.Name}}</view>
<view wx:if="{{hospital.HospitalClassificationName || hospital.HospitalLevelName}}" class="tag">{{hospital.HospitalClassificationName}}{{hospital.HospitalLevelName}}</view> <view wx:if="{{hospital.HospitalClassificationName || hospital.HospitalLevelName}}" class="tag">
{{hospital.HospitalClassificationName}}{{hospital.HospitalLevelName}}
</view> </view>
</view> </view>
</view> </view>
<image class="code" src="{{imageUrl}}icon93.png?t={{Timestamp}}" bind:tap="handleInvite"></image>
</view>
<view class="new-banner"> <view class="new-banner">
<view class="item" bind:tap="handlePatient" data-type="1" data-name="累计邀约患者"> <view class="item" bind:tap="handlePatient" data-type="1" data-name="累计邀约患者">
<image class="icon" src="{{imageUrl}}icon53.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon53.png?t={{Timestamp}}"></image>

3
src/doctor/pages/d_interactiveDoctor/index.scss

@ -113,9 +113,8 @@ page {
background: rgba(22, 121, 203, 1); background: rgba(22, 121, 203, 1);
border: 2rpx solid #ffffff; border: 2rpx solid #ffffff;
.title { .title {
font-size: 40rpx; font-size: 36rpx;
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
font-weight: bold;
} }
.list { .list {
.l-item { .l-item {

1
src/doctor/pages/d_invite/index.scss

@ -17,7 +17,6 @@ page{
padding: 18rpx 44rpx; padding: 18rpx 44rpx;
font-size: 36rpx; font-size: 36rpx;
line-height: 48rpx; line-height: 48rpx;
font-weight: bold;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;

62
src/doctor/pages/d_invite/index.ts

@ -46,68 +46,6 @@ Page({
doctorId: id, doctorId: id,
}, },
}).then((res) => { }).then((res) => {
// res = {
// info: { id: 'doctor_mini', title: '医生码海报', desc: '医生小程序码海报' },
// body: {
// bgImg:
// '替换为我发你的图片',
// width: '750',
// height: '1448',
// },
// elements: [
// {
// id: 'avatar',
// desc: '医生头像',
// type: 0,
// picType: 'avatar',
// src: 'https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/6e61b32196f54f20f66dd45c33ade450_17693963483779.png',
// width: '128',
// height: '128',
// left: '70',
// top: '256',
// shape: 'circle',
// },
// {
// id: 'doctorName',
// desc: '医生姓名',
// type: 1,
// text: '云南大学附属医院\n内分泌科医生',
// font: '',
// 'font-size': '40',
// 'font-weight': 'bold',
// width: '384',
// color: 'rgba(33, 29, 46, 1)',
// 'single-line': true,
// left: '234',
// top: '256',
// },
// {
// id: 'hospitalName',
// desc: '医院名称',
// type: 1,
// text: '中南大学湘雅医院',
// font: '',
// 'font-size': '32',
// color: 'rgba(115, 114, 121, 1)',
// 'single-line': true,
// left: '234',
// width: '384',
// top: '344',
// lineHeight: '36',
// },
// {
// id: 'minicode',
// desc: '医生小程序码',
// type: 0,
// picType: 'minicode',
// src: '这块为医生的邀约码url',
// width: '238',
// height: '238',
// halign: 'center',
// top: '640',
// },
// ],
// }
this.setData({ this.setData({
params: res, params: res,
}) })

2
src/doctor/pages/d_my/index.scss

@ -53,7 +53,7 @@ page {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 30rpx; padding: 40rpx 30rpx;
border-bottom: 1rpx solid #f2f4f5; border-bottom: 1rpx solid #f2f4f5;
&:last-child { &:last-child {
border-bottom: none; border-bottom: none;

1
src/doctor/pages/d_patient/index.scss

@ -164,6 +164,7 @@ page {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
flex-wrap: wrap;
.name { .name {
font-size: 40rpx; font-size: 40rpx;
color: rgba(40, 48, 49, 1); color: rgba(40, 48, 49, 1);

2
src/doctor/pages/d_patient/index.wxml

@ -27,7 +27,7 @@
<view class="container"> <view class="container">
<view class="title"> <view class="title">
<view class="name">{{item.Name}}</view> <view class="name">{{item.Name}}</view>
<view class="disease">病程{{item.DiagnosisTimeRange == 1 ? '<1年' : item.DiagnosisTimeRange == 2 ? '1-3年' : '>3年'}}</view> <view class="disease" wx:if="{{item.DiagnosisTimeRange}}">病程:{{item.DiagnosisTimeRange == 1 ? '6个月以内' : item.DiagnosisTimeRange == 2 ? '6个月-3年' : '3年以上'}}</view>
</view> </view>
<view class="replay-date">邀约时间:{{tools.formatDate(item.InviteTime)}}</view> <view class="replay-date">邀约时间:{{tools.formatDate(item.InviteTime)}}</view>
<view class="remark">备注:{{item.DoctorRemark || '无'}}</view> <view class="remark">备注:{{item.DoctorRemark || '无'}}</view>

9
src/doctor/pages/d_patientDetail/index.scss

@ -24,12 +24,17 @@ page {
.wrap { .wrap {
margin-left: 24rpx; margin-left: 24rpx;
.name { .name {
display: flex;
align-items: center;
gap: 12rpx;
flex-wrap: wrap;
font-size: 44rpx; font-size: 44rpx;
color: rgba(33, 33, 32, 1); color: rgba(33, 33, 32, 1);
.tel-icon { .tel-icon {
flex-shrink: 0;
margin-left: 10rpx; margin-left: 10rpx;
width: 32rpx; width: 40rpx;
height: 32rpx; height: 40rpx;
} }
} }
.content { .content {

2
src/doctor/pages/d_patientList/index.wxml

@ -18,7 +18,7 @@
<view class="container"> <view class="container">
<view class="title"> <view class="title">
<view class="name">{{item.Name}}</view> <view class="name">{{item.Name}}</view>
<view class="disease">病程{{item.DiagnosisTimeRange == 1 ? '<1年' : item.DiagnosisTimeRange == 2 ? '1-3年' : '>3年'}}</view> <view class="disease">病程{{item.DiagnosisTimeRange == 1 ? '6个月以内' : item.DiagnosisTimeRange == 2 ? '6个月-3年' : '3年以上'}}</view>
</view> </view>
<view class="replay-date">邀约时间:{{tools.formatDate(item.InviteTime)}}</view> <view class="replay-date">邀约时间:{{tools.formatDate(item.InviteTime)}}</view>
<view class="remark">备注:{{item.DoctorRemark || '无'}}</view> <view class="remark">备注:{{item.DoctorRemark || '无'}}</view>

BIN
src/images/1/save-active.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/images/1/start.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 5.0 MiB

BIN
src/images/5/eye1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 940 B

BIN
src/images/5/eye2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/images/bg15.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 46 KiB

BIN
src/images/bg22.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 45 KiB

BIN
src/images/bg34.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

After

Width:  |  Height:  |  Size: 205 KiB

BIN
src/images/icon90.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/images/icon91.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

BIN
src/images/icon92.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/images/icon93.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

BIN
src/images/none.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 80 KiB

1
src/pages/doctorDetail/index.scss

@ -85,6 +85,7 @@ page {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 16rpx 28rpx; gap: 16rpx 28rpx;
white-space: pre-line;
.tag { .tag {
width: 200rpx; width: 200rpx;
height: 52rpx; height: 52rpx;

4
src/pages/enterInfo/index.wxml

@ -35,14 +35,14 @@
<view class="age-item {{ageRange==5 && 'active'}}" data-id="5" bind:tap="handleSelectAge">{{"70-79岁"}}</view> <view class="age-item {{ageRange==5 && 'active'}}" data-id="5" bind:tap="handleSelectAge">{{"70-79岁"}}</view>
<view class="age-item {{ageRange==6 && 'active'}}" data-id="6" bind:tap="handleSelectAge">{{"≥80岁"}}</view> <view class="age-item {{ageRange==6 && 'active'}}" data-id="6" bind:tap="handleSelectAge">{{"≥80岁"}}</view>
</view> </view>
<view class="row-title">输入真实姓名,便于医生识别随访</view> <view class="row-title">输入姓名,便于医生识别随访</view>
<view class="row"> <view class="row">
<input <input
model:value="{{name}}" model:value="{{name}}"
class="input" class="input"
maxlength="{{8}}" maxlength="{{8}}"
placeholder-style="color:rgba(34,34,34,0.3)" placeholder-style="color:rgba(34,34,34,0.3)"
placeholder="输入真实姓名" placeholder="输入姓名"
/> />
</view> </view>
</view> </view>

7
src/pages/getUserInfo/index.scss

@ -1,17 +1,14 @@
page { page {
min-height: 100vh; min-height: 100vh;
background: linear-gradient(180deg, rgba(253, 253, 253, 0.49) 0%, #fafafa 100%); background-color: #f6f6f6;
background-color: #fff;
} }
.page { .page {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
overflow: hidden; overflow: hidden;
background-color: #fafafa;
.page-container { .page-container {
margin-top: 100rpx; margin-top: 100rpx;
padding: 0 104rpx; padding: 0 104rpx;
background: #fff;
height: 100vh; height: 100vh;
border-radius: 32rpx 32rpx 0 0; border-radius: 32rpx 32rpx 0 0;
.avatar-wrapper { .avatar-wrapper {
@ -36,7 +33,7 @@ page {
margin-top: -90rpx; margin-top: -90rpx;
text-align: center; text-align: center;
font-size: 36rpx; font-size: 36rpx;
color: #aeb6cd; color: rgba(34, 34, 34, 0.5);
} }
.container { .container {

6
src/pages/getUserInfo/index.wxml

@ -1,8 +1,4 @@
<view <view class="page" id="{{theme === 'DRUG' && 'drug-page'}}" style="padding-top:{{bottom}}px">
class="page"
id="{{theme === 'DRUG' && 'drug-page'}}"
style="background: url({{imageUrl}}/1/adl-detail-bg.png?t={{Timestamp}}) no-repeat top center / 100% ;padding-top:{{bottom}}px"
>
<navBar back bind:back="handleBack" background="{{background}}" title="配置头像"></navBar> <navBar back bind:back="handleBack" background="{{background}}" title="配置头像"></navBar>
<view class="page-container"> <view class="page-container">
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"> <button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">

2
src/pages/hospital/index.scss

@ -110,7 +110,7 @@ page {
} }
.p { .p {
margin-top: 8rpx; margin-top: 8rpx;
font-size: 24rpx; font-size: 36rpx;
color: rgba(34, 34, 34, 0.7); color: rgba(34, 34, 34, 0.7);
&.ellipsis { &.ellipsis {
min-width: 0; min-width: 0;

8
src/pages/hospital/index.wxml

@ -23,7 +23,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="module"> <view class="module" wx:if="{{detail.doctors.length}}">
<view class="module-container"> <view class="module-container">
<view class="m-title">门诊医生</view> <view class="m-title">门诊医生</view>
<view <view
@ -37,7 +37,11 @@
<image class="avatar" mode="aspectFill" src="{{item.Img}}"></image> <image class="avatar" mode="aspectFill" src="{{item.Img}}"></image>
<view class="wrap"> <view class="wrap">
<view class="name">{{item.Name}}</view> <view class="name">{{item.Name}}</view>
<view class="p ellipsis">{{item.JobTitle}}<text wx:if="{{item.JobTitle && item.Department}}"> | </text>{{item.Department}}</view> <view class="p ellipsis">
{{item.JobTitle}}
<text wx:if="{{item.JobTitle && item.Department}}">|</text>
{{item.Department}}
</view>
</view> </view>
</view> </view>
<view class="content" wx:if="{{item.weekName.length || item.ClinicType==2 && item.weekName}}"> <view class="content" wx:if="{{item.weekName.length || item.ClinicType==2 && item.weekName}}">

138
src/pages/index/index.scss

@ -18,7 +18,7 @@ page {
.user { .user {
margin: 23rpx $page-margin 40rpx; margin: 23rpx $page-margin 40rpx;
display: flex; display: flex;
align-items: center; align-items: flex-end;
justify-content: space-between; justify-content: space-between;
.content { .content {
margin-right: 10rpx; margin-right: 10rpx;
@ -33,11 +33,6 @@ page {
.high { .high {
color: #0eb66d; color: #0eb66d;
} }
.icon {
margin-left: 16rpx;
width: 64rpx;
height: 60rpx;
}
} }
.slogan { .slogan {
margin-top: 14rpx; margin-top: 14rpx;
@ -45,31 +40,110 @@ page {
height: 42rpx; height: 42rpx;
} }
} }
.day { .badge {
padding: 36rpx 0 20rpx; width: 132rpx;
width: 220rpx; height: 132rpx;
height: 194rpx;
text-align: center;
.d-title {
font-size: 16rpx;
color: #ffffff;
line-height: 1;
} }
.d-content { }
margin-top: 76rpx; .alert {
font-size: 26rpx; margin: 40rpx $page-margin;
color: rgba(34, 34, 34, 0.7); .empty {
height: 200rpx;
background: #f5f7f6;
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx dashed #0eb66d;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
line-height: 1; .icon {
gap: 10rpx; width: 92rpx;
.num { height: 92rpx;
}
.content {
font-size: 36rpx; font-size: 36rpx;
color: #0eb66d; color: rgba(14, 182, 109, 1);
}
}
.a-container {
padding: 10rpx 20rpx 0 28rpx;
background: linear-gradient(98deg, #01d177 0%, #0eb66d 67.56%, #0eb66d 100%);
border-radius: 24rpx;
display: flex;
align-items: center;
gap: 18rpx;
.aside {
padding-top: 20rpx;
width: 176rpx;
height: 188rpx;
align-self: flex-end;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: rgba(34, 34, 34, 0.7);
.a-num {
font-size: 42rpx;
color: rgba(14, 182, 109, 1);
font-weight: bold; font-weight: bold;
} }
} }
.wrap {
.title {
display: flex;
align-items: center;
gap: 16rpx;
font-size: 28rpx;
color: rgba(255, 255, 255, 0.97);
.icon {
width: 36rpx;
height: 36rpx;
}
}
.content {
margin-top: 16rpx;
display: flex;
align-items: start;
gap: 10rpx;
.year {
margin-top: 10rpx;
padding-right: 10rpx;
font-size: 28rpx;
color: rgba(255, 255, 255, 0.6);
line-height: 28rpx;
border-right: 1px dashed rgba(255, 255, 255, 0.47);
}
.yd {
display: flex;
align-items: start;
gap: 10rpx;
line-height: 72rpx;
.yd-num {
font-size: 64rpx;
color: rgba(255, 255, 255, 1);
font-weight: bold;
}
.sub {
margin-top: 10rpx;
font-size: 28rpx;
color: rgba(255, 255, 255, 1);
}
}
.week {
margin-top: 28rpx;
margin-left: 10rpx;
width: 96rpx;
height: 36rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 24rpx;
color: rgba(255, 255, 255, 0.6);
background: rgba(255, 255, 255, 0.24);
border-radius: 88rpx 88rpx 88rpx 88rpx;
}
}
}
} }
} }
} }
@ -371,12 +445,12 @@ page {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 6rpx; gap: 6rpx;
font-size: 22rpx; font-size: 32rpx;
color: #999999; color: #999999;
font-weight: normal; font-weight: normal;
.action-icon { .action-icon {
width: 32rpx; width: 38rpx;
height: 32rpx; height: 38rpx;
} }
&.active { &.active {
color: #0eb66d; color: #0eb66d;
@ -507,6 +581,18 @@ page {
.num { .num {
color: rgba(89, 86, 233, 1); color: rgba(89, 86, 233, 1);
} }
.empty {
border-color: rgba(89, 86, 233, 1);
.content {
color: rgba(89, 86, 233, 1);
}
}
.a-container {
background: linear-gradient(274deg, #884ef9 0%, #d0b7f3 100%);
.a-num {
color: rgba(89, 86, 233, 1);
}
}
.title { .title {
&::before { &::before {
background: rgba(89, 86, 233, 1); background: rgba(89, 86, 233, 1);

38
src/pages/index/index.ts

@ -40,6 +40,11 @@ Page({
firstLogin: '', firstLogin: '',
nextVisitDays: '--', nextVisitDays: '--',
nextVisitYearPrefix: '',
nextVisitYearSuffix: '',
nextVisitMonth: '',
nextVisitDay: '',
nextVisitWeek: '',
}, },
onLoad(options) { onLoad(options) {
const systemInfo = wx.getSystemInfoSync() const systemInfo = wx.getSystemInfoSync()
@ -105,14 +110,26 @@ Page({
}, },
updateNextVisitDays(userInfo: any) { updateNextVisitDays(userInfo: any) {
if (userInfo.NextVisitDate) { if (userInfo.NextVisitDate) {
const diffMs = dayjs(userInfo.NextVisitDate).diff(dayjs()) const date = dayjs(userInfo.NextVisitDate)
if (diffMs <= 0) { const diffMs = date.diff(dayjs())
this.setData({ nextVisitDays: 0 }) const weekNames = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
} else { this.setData({
this.setData({ nextVisitDays: Math.ceil(diffMs / (24 * 60 * 60 * 1000)) }) nextVisitDays: diffMs <= 0 ? 0 : Math.ceil(diffMs / (24 * 60 * 60 * 1000)),
} nextVisitYearPrefix: date.format('YYYY').substring(0, 2),
nextVisitYearSuffix: date.format('YYYY').substring(2),
nextVisitMonth: date.format('MM'),
nextVisitDay: date.format('DD'),
nextVisitWeek: weekNames[date.day()],
})
} else { } else {
this.setData({ nextVisitDays: '--' }) this.setData({
nextVisitDays: '--',
nextVisitYearPrefix: '',
nextVisitYearSuffix: '',
nextVisitMonth: '',
nextVisitDay: '',
nextVisitWeek: '',
})
} }
}, },
updateGreeting() { updateGreeting() {
@ -317,6 +334,13 @@ Page({
}, },
}) })
}, },
handleNextVisit() {
app.permissionVerification(3, 0, '').then(() => {
wx.navigateTo({
url: '/pages/signIn/index',
})
})
},
handleReg() { handleReg() {
app.permissionVerification(3, 0, '') app.permissionVerification(3, 0, '')
}, },

53
src/pages/index/index.wxml

@ -6,29 +6,61 @@
<view class="name"> <view class="name">
<text class="high">{{userInfo.PatientName || 'HI'}},</text> <text class="high">{{userInfo.PatientName || 'HI'}},</text>
{{greeting}} {{greeting}}
<image class="icon" src="{{imageUrl}}{{greetingIcon}}.png?t={{Timestamp}}"></image>
</view> </view>
<image class="slogan" src="{{imageUrl}}title2.png?t={{Timestamp}}"></image> <image class="slogan" src="{{imageUrl}}title2.png?t={{Timestamp}}"></image>
</view> </view>
<image class="badge" src="{{imageUrl}}{{greetingIcon}}.png?t={{Timestamp}}"></image>
</view>
<view class="alert" bind:tap="handleNextVisit">
<view class="empty" wx:if="{{nextVisitDays === '--'}}">
<image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon92' : 'icon90'}}.png?t={{Timestamp}}"></image>
<view class="content">设置复诊提醒</view>
</view>
<view class="a-container" wx:if="{{nextVisitDays !== '--'}}">
<view <view
wx:if="{{userInfo.UserType>=3}}" class="aside"
class="day"
bind:tap="routerTo"
data-url="/pages/signIn/index"
style="background: url('{{imageUrl}}{{theme === 'DRUG' ? 'bg22' : 'bg15'}}.png?t={{Timestamp}}') no-repeat top center/100%" style="background: url('{{imageUrl}}{{theme === 'DRUG' ? 'bg22' : 'bg15'}}.png?t={{Timestamp}}') no-repeat top center/100%"
> >
<view class="d-content"> <view class="a-num">{{nextVisitDays === 0 ? '今天' : nextVisitDays}}</view>
<view class="num">{{nextVisitDays === 0 ? '今天' : nextVisitDays}}</view>
<text wx:if="{{nextVisitDays !== 0}}">天</text> <text wx:if="{{nextVisitDays !== 0}}">天</text>
</view> </view>
<view class="wrap">
<view class="title">
<image class="icon" src="{{imageUrl}}icon91.png?t={{Timestamp}}"></image>
复诊时间
</view>
<view class="content">
<view class="year">
{{nextVisitYearPrefix}}
<view></view>
{{nextVisitYearSuffix}}
</view>
<view class="yd">
<view class="yd-num">{{nextVisitMonth}}</view>
<view class="sub">月</view>
<view class="yd-num">{{nextVisitDay}}</view>
<view class="sub">日</view>
</view> </view>
<view class="week">{{nextVisitWeek}}</view>
</view> </view>
</view> </view>
</view>
</view>
</view>
<!-- <view -->
<!-- wx:if="{{userInfo.UserType>=3}}" -->
<!-- class="day" -->
<!-- bind:tap="routerTo" -->
<!-- data-url="/pages/signIn/index" -->
<!-- style="background: url('{{imageUrl}}{{theme === 'DRUG' ? 'bg22' : 'bg15'}}.png?t={{Timestamp}}') no-repeat top center/100%" -->
<!-- > -->
<!-- <view class="d-content"> -->
<!-- <view class="num">{{nextVisitDays === 0 ? '今天' : nextVisitDays}}</view> -->
<!-- <text wx:if="{{nextVisitDays !== 0}}">天</text> -->
<!-- </view> -->
<!-- </view> -->
<view class="page-container"> <view class="page-container">
<block wx:if="{{userInfo.ExclusiveDoctorId}}"> <block wx:if="{{userInfo.ExclusiveDoctorId}}">
<view class="module-title">
<view class="title">我的医生</view>
</view>
<view class="doctor" bind:tap="routerTo" data-url="/pages/interactivePatient/index"> <view class="doctor" bind:tap="routerTo" data-url="/pages/interactivePatient/index">
<view <view
class="container" class="container"
@ -179,7 +211,6 @@
data-url="/pages/doctor/index" data-url="/pages/doctor/index"
></image> ></image>
</view> </view>
</view> </view>
<view class="reg" wx:if="{{regGuide && anyWhere && userInfo.UserType==1}}" bind:tap="handleReg"> <view class="reg" wx:if="{{regGuide && anyWhere && userInfo.UserType==1}}" bind:tap="handleReg">

35
src/pages/interactivePatient/index.scss

@ -68,6 +68,7 @@ page {
padding: 15rpx 30rpx; padding: 15rpx 30rpx;
display: flex; display: flex;
.avatar { .avatar {
position: relative;
padding-right: 16rpx; padding-right: 16rpx;
flex-shrink: 0; flex-shrink: 0;
.a-img { .a-img {
@ -75,6 +76,19 @@ page {
height: 80rpx; height: 80rpx;
border-radius: 50%; border-radius: 50%;
} }
.ai {
position: absolute;
top: 60rpx;
left: 6rpx;
font-size: 16rpx;
color: #ffffff;
width: 64rpx;
height: 24rpx;
line-height: 24rpx;
text-align: center;
background: linear-gradient( 94deg, #0EB66D 0%, #00D277 100%);
border-radius: 120rpx 120rpx 120rpx 120rpx;
}
} }
.d-container { .d-container {
flex: 1; flex: 1;
@ -89,9 +103,8 @@ page {
background: rgba(248, 248, 248, 1); background: rgba(248, 248, 248, 1);
border: 2rpx solid #ffffff; border: 2rpx solid #ffffff;
.title { .title {
font-size: 40rpx; font-size: 36rpx;
color: rgba(33, 33, 32, 1); color: rgba(33, 33, 32, 1);
font-weight: bold;
} }
.list { .list {
.l-item { .l-item {
@ -282,7 +295,7 @@ page {
background-color: #fff; background-color: #fff;
} }
&.expend { &.expend {
height: 45vh; height: 60vh;
background-color: #f6f6f6; background-color: #f6f6f6;
&.min-expend { &.min-expend {
height: 32vh; height: 32vh;
@ -327,11 +340,11 @@ page {
flex: 1; flex: 1;
width: 192rpx; width: 192rpx;
height: 96rpx; height: 96rpx;
background: rgba(237, 247, 243, 1); background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%);
border-radius: 16rpx; border-radius: 16rpx;
border: 2rpx solid #f6f8f9; border: 2rpx solid #f6f8f9;
font-size: 32rpx; font-size: 32rpx;
color: rgba(14, 182, 109, 1); color: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@ -345,14 +358,14 @@ page {
padding: 24rpx 0; padding: 24rpx 0;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 22rpx; gap: 12rpx;
overflow-x: auto; overflow-x: auto;
&::-webkit-scrollbar { &::-webkit-scrollbar {
display: none; display: none;
} }
.tab { .tab {
flex-shrink: 0; flex-shrink: 0;
padding: 13rpx 44rpx; padding: 13rpx 24rpx;
font-size: 36rpx; font-size: 36rpx;
color: rgba(33, 29, 46, 1); color: rgba(33, 29, 46, 1);
border-radius: 80rpx; border-radius: 80rpx;
@ -384,7 +397,7 @@ page {
} }
} }
.list { .list {
max-height: 35vh; max-height: 45vh;
overflow-y: auto; overflow-y: auto;
.l-item { .l-item {
padding: 32rpx; padding: 32rpx;
@ -507,8 +520,7 @@ page {
#drug-page { #drug-page {
.shortcut { .shortcut {
background-color: rgba(245, 244, 255, 1); background: linear-gradient(270deg, #b384f4 0%, #5956e9 100%);
color: rgba(109, 106, 236, 1);
} }
.tabs { .tabs {
.tab { .tab {
@ -520,6 +532,9 @@ page {
} }
} }
} }
.ai{
background: linear-gradient( 270deg, #B384F4 0%, #5956E9 100%);
}
.list { .list {
.order { .order {
background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%);

2
src/pages/interactivePatient/index.ts

@ -221,7 +221,7 @@ Page({
...this.data.messageList, ...this.data.messageList,
{ {
msgId: '', msgId: '',
msgContentType: '1', msgContentType: '12',
msgContent: res, msgContent: res,
msgVisitTime: '', msgVisitTime: '',
msgFromType: '2', msgFromType: '2',

1
src/pages/interactivePatient/index.wxml

@ -28,6 +28,7 @@
<view class="doctor" wx:if="{{message.msgFromType==='2'}}"> <view class="doctor" wx:if="{{message.msgFromType==='2'}}">
<view class="avatar"> <view class="avatar">
<image class="a-img" mode="aspectFill" src="{{doctorDetail.doctorAvatar}}"></image> <image class="a-img" mode="aspectFill" src="{{doctorDetail.doctorAvatar}}"></image>
<view class="ai" wx:if="{{message.msgContentType==='12'}}">机器人</view>
</view> </view>
<view class="d-container"> <view class="d-container">
<view class="guide" wx:if="{{message.msgContentType==='5'}}"> <view class="guide" wx:if="{{message.msgContentType==='5'}}">

6
src/pages/login/index.scss

@ -10,7 +10,7 @@ pgae {
.container { .container {
position: absolute; position: absolute;
left: 0; left: 0;
top: 300rpx; top: 230rpx;
width: 100%; width: 100%;
.frame { .frame {
display: block; display: block;
@ -19,7 +19,7 @@ pgae {
height: 390rpx; height: 390rpx;
} }
.phone-btn { .phone-btn {
margin: 48rpx 50rpx 0; margin: 168rpx 50rpx 0;
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
text-align: center; text-align: center;
@ -76,7 +76,7 @@ pgae {
} }
.a-content { .a-content {
font-size: 28rpx; font-size: 28rpx;
color: #222222; color: rgba(34, 34, 34, 0.7);
.link { .link {
color: #0eb66d; color: #0eb66d;
} }

9
src/pages/my/index.scss

@ -37,6 +37,7 @@ page {
color: #222222; color: #222222;
.day { .day {
margin: 0 4rpx;
color: #0eb66d; color: #0eb66d;
font-weight: bold; font-weight: bold;
} }
@ -122,11 +123,11 @@ page {
} }
} }
.common-operations { .common-operations {
margin-top: 32rpx; margin-top: 48rpx;
display: flex; display: flex;
.item { .item {
flex: 1; flex: 1;
padding: 30rpx; padding: 40rpx 30rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@ -149,13 +150,13 @@ page {
} }
} }
.options-list { .options-list {
margin-top: 32rpx; margin-top: 48rpx;
padding: 0 28rpx; padding: 0 28rpx;
background: #ffffff; background: #ffffff;
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05);
border-radius: 24rpx; border-radius: 24rpx;
.row { .row {
padding: 30rpx 0; padding: 40rpx 0;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;

6
src/pages/mySave/index.scss

@ -52,12 +52,12 @@
.f-item { .f-item {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 22rpx; font-size: 32rpx;
color: #b6b7ba; color: #b6b7ba;
.icon { .icon {
margin-right: 8rpx; margin-right: 8rpx;
width: 32rpx; width: 38rpx;
height: 32rpx; height: 38rpx;
} }
&.active { &.active {
color: #0eb66d; color: #0eb66d;

6
src/pages/personalInformation/index.scss

@ -43,7 +43,7 @@
} }
&.active { &.active {
border-color: #0eb66d; border-color: #0eb66d;
background: #fff; background: #ecfff7;
.name { .name {
color: #0eb66d; color: #0eb66d;
} }
@ -180,7 +180,7 @@
background: rgba(246, 246, 246, 1); background: rgba(246, 246, 246, 1);
} }
.switch .item.active { .switch .item.active {
background-color: #fff; background-color: rgba(245, 244, 255, 1);
border-color: rgba(89, 86, 233, 1); border-color: rgba(89, 86, 233, 1);
.name { .name {
color: rgba(89, 86, 233, 1); color: rgba(89, 86, 233, 1);
@ -193,7 +193,7 @@
} }
.active { .active {
border-color: rgba(89, 86, 233, 1); border-color: rgba(89, 86, 233, 1);
background-color: #fff; background-color: rgba(245, 244, 255, 1);
color: rgba(89, 86, 233, 1); color: rgba(89, 86, 233, 1);
} }
} }

31
src/pages/personalInformation/index.wxml

@ -90,39 +90,12 @@
≥80岁 ≥80岁
</view> </view>
</view> </view>
<view class="row-title">从首次确诊IgG4相关性疾病,到现在多久了</view> <view class="row-title">患者姓名</view>
<view class="row row-age">
<view
class="age-item {{userInfo.DiagnosisTimeRange == 1 && 'active'}}"
data-key="DiagnosisTimeRange"
data-id="1"
bind:tap="handleRadio"
>
6个月以内
</view>
<view
class="age-item {{userInfo.DiagnosisTimeRange == 2 && 'active'}}"
data-key="DiagnosisTimeRange"
data-id="2"
bind:tap="handleRadio"
>
6个月-3年
</view>
<view
class="age-item {{userInfo.DiagnosisTimeRange == 3 && 'active'}}"
data-key="DiagnosisTimeRange"
data-id="3"
bind:tap="handleRadio"
>
3年以上
</view>
</view>
<view class="row-title">真实姓名</view>
<view class="row"> <view class="row">
<input <input
class="input" class="input"
placeholder-style="color:rgba(34,34,34,0.3)" placeholder-style="color:rgba(34,34,34,0.3)"
placeholder="输入真实姓名" placeholder="输入姓名"
value="{{userInfo.PatientName}}" value="{{userInfo.PatientName}}"
maxlength="{{8}}" maxlength="{{8}}"
bindinput="handleInput" bindinput="handleInput"

7
src/pages/qaForm/index.scss

@ -1,6 +1,12 @@
page { page {
background-color: #f6f6f6; background-color: #f6f6f6;
} }
.page-tip {
padding: 16rpx 32rpx;
font-size: 32rpx;
color: rgba(248, 167, 28, 1);
background-color: rgba(255, 248, 236, 1);
}
.page { .page {
padding: 32rpx 32rpx 80rpx; padding: 32rpx 32rpx 80rpx;
.card { .card {
@ -166,6 +172,7 @@ page {
padding: 26rpx 32rpx; padding: 26rpx 32rpx;
background-color: rgba(248, 248, 248, 1); background-color: rgba(248, 248, 248, 1);
border-radius: 24rpx; border-radius: 24rpx;
font-size: 36rpx;
} }
.place-input { .place-input {
color: rgba(34, 34, 34, 0.4); color: rgba(34, 34, 34, 0.4);

6
src/pages/qaForm/index.ts

@ -272,17 +272,18 @@ Page({
}) })
this.setData({ isSubmitting: true }) this.setData({ isSubmitting: true })
wx.showLoading({ title: '提交中...', mask: true })
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=igg4/health-question/submit-questionnaire', url: '?r=igg4/health-question/submit-questionnaire',
data: { answers }, data: { answers },
loading: true,
}) })
.then(() => { .then(() => {
app.startLogin().then(() => { app.startLogin().then(() => {
app.getUserInfo(this, true, () => { app.getUserInfo(this, true, () => {
app.getTheme().then((res) => { app.getTheme().then((res) => {
this.setData({ theme: res }) this.setData({ theme: res })
wx.hideLoading()
wx.showToast({ title: '提交成功', icon: 'success' }) wx.showToast({ title: '提交成功', icon: 'success' })
const { backPage } = this.data const { backPage } = this.data
if (backPage) { if (backPage) {
@ -294,6 +295,9 @@ Page({
}) })
}) })
}) })
.catch(() => {
wx.hideLoading()
})
.finally(() => { .finally(() => {
this.setData({ isSubmitting: false }) this.setData({ isSubmitting: false })
}) })

1
src/pages/qaForm/index.wxml

@ -1,4 +1,5 @@
<wxs src="../../utils/tools.wxs" module="tools" /> <wxs src="../../utils/tools.wxs" module="tools" />
<view class="page-tip">完善健康档案,记录自身病情变化。可帮助医护更准确了解情况,守护您的身体健康。</view>
<view class="page" id="{{theme === 'DRUG' && 'drug-page'}}"> <view class="page" id="{{theme === 'DRUG' && 'drug-page'}}">
<block wx:for="{{questions}}" wx:for-index="qIndex" wx:key="QuestionNo"> <block wx:for="{{questions}}" wx:for-index="qIndex" wx:key="QuestionNo">
<view class="card" wx:if="{{item.visible}}"> <view class="card" wx:if="{{item.visible}}">

2
src/pages/qaFormDetail/index.scss

@ -80,7 +80,7 @@ page {
justify-content: center; justify-content: center;
background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%);
border-radius: 16rpx; border-radius: 16rpx;
font-size: 40rpx; font-size: 36rpx;
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
} }
} }

12
src/pages/repository/index.scss

@ -131,12 +131,12 @@
.f-item { .f-item {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 22rpx; font-size: 32rpx;
color: #b6b7ba; color: #b6b7ba;
.icon { .icon {
margin-right: 8rpx; margin-right: 8rpx;
width: 32rpx; width: 38rpx;
height: 32rpx; height: 38rpx;
} }
&.active { &.active {
color: #0eb66d; color: #0eb66d;
@ -198,12 +198,12 @@
.f-item { .f-item {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 22rpx; font-size: 32rpx;
color: #b6b7ba; color: #b6b7ba;
.icon { .icon {
margin-right: 8rpx; margin-right: 8rpx;
width: 36rpx; width: 38rpx;
height: 36rpx; height: 38rpx;
} }
&.active { &.active {
color: #0eb66d; color: #0eb66d;

10
src/pages/repositoryDetail/index.scss

@ -89,15 +89,15 @@
.f-item { .f-item {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 22rpx; font-size: 32rpx;
color: #b6b7ba; color: #b6b7ba;
.icon { .icon {
margin-right: 8rpx; margin-right: 8rpx;
width: 32rpx; width: 38rpx;
height: 32rpx; height: 38rpx;
} }
&.active { &.active {
color: rgba(249, 163, 14, 1); color: #0eb66d;
} }
&:not(:last-of-type)::after { &:not(:last-of-type)::after {
margin: 18rpx; margin: 18rpx;
@ -175,7 +175,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 6rpx; gap: 6rpx;
font-size: 30rpx; font-size: 32rpx;
color: rgba(34, 34, 34, 0.7); color: rgba(34, 34, 34, 0.7);
margin: 0; margin: 0;
padding: 0; padding: 0;

Loading…
Cancel
Save