Browse Source

众测 问题处理

master
kola-web 3 weeks ago
parent
commit
fd7bedd925
  1. 3
      src/app.json
  2. 38
      src/app.ts
  3. 148
      src/components/freeAudio/index.js
  4. 11
      src/components/freeAudio/index.scss
  5. 8
      src/components/freeAudio/index.wxml
  6. 19
      src/components/toast/index.scss
  7. 2
      src/components/toast/index.ts
  8. 5
      src/components/toast/index.wxml
  9. 4
      src/custom-tab-bar/index.scss
  10. 5
      src/custom-tab-bar/index.ts
  11. 2
      src/custom-tab-bar/index.wxml
  12. 3
      src/doctor/components/tabbar/index.scss
  13. 11
      src/doctor/pages/d_createTask/index.ts
  14. 1
      src/doctor/pages/d_customExport/index.ts
  15. 2
      src/doctor/pages/d_exportList/index.ts
  16. 1
      src/doctor/pages/d_home/index.json
  17. 45
      src/doctor/pages/d_home/index.scss
  18. 17
      src/doctor/pages/d_home/index.ts
  19. 10
      src/doctor/pages/d_home/index.wxml
  20. 4
      src/doctor/pages/d_interactive/index.scss
  21. 3
      src/doctor/pages/d_interactive/index.ts
  22. 2
      src/doctor/pages/d_interactiveDoctor/index.scss
  23. 4
      src/doctor/pages/d_interactiveDoctor/index.ts
  24. 2
      src/doctor/pages/d_interactiveDoctor/index.wxml
  25. 2
      src/doctor/pages/d_invite/index.scss
  26. 1
      src/doctor/pages/d_invite/index.ts
  27. 2
      src/doctor/pages/d_invite/index.wxml
  28. 4
      src/doctor/pages/d_login/index.scss
  29. 4
      src/doctor/pages/d_login/index.ts
  30. 4
      src/doctor/pages/d_login/index.wxml
  31. 7
      src/doctor/pages/d_my/index.ts
  32. 6
      src/doctor/pages/d_patient/index.ts
  33. 8
      src/doctor/pages/d_patient/index.wxml
  34. 1
      src/doctor/pages/d_patientDetail/index.json
  35. 7
      src/doctor/pages/d_patientDetail/index.scss
  36. 708
      src/doctor/pages/d_patientDetail/index.ts
  37. 5
      src/doctor/pages/d_patientDetail/index.wxml
  38. 3
      src/doctor/pages/d_patientList/index.wxml
  39. 3
      src/doctor/pages/d_taskList/index.ts
  40. 2
      src/doctor/pages/d_trans/index.wxml
  41. 4
      src/doctor/pages/d_transfer/index.ts
  42. 5
      src/doctor/pages/d_transfer/index.wxml
  43. 12
      src/doctor/pages/d_transferLog/index.ts
  44. 9
      src/doctor/pages/d_transferLog/index.wxml
  45. 3
      src/doctor/pages/d_userInfo/index.ts
  46. 31
      src/gift/pages/myHealthRecord/index.ts
  47. BIN
      src/images/1/audio-pause.png
  48. BIN
      src/images/1/audio-play.png
  49. BIN
      src/images/1/drug-save-active.png
  50. BIN
      src/images/1/drug-share-active.png
  51. BIN
      src/images/1/drug-star-active.png
  52. BIN
      src/images/1/drug-view-active.png
  53. BIN
      src/images/1/firee-audio-bg.png
  54. BIN
      src/images/1/save-active-plan.png
  55. BIN
      src/images/1/save.png
  56. BIN
      src/images/1/share-active.png
  57. BIN
      src/images/1/share.png
  58. BIN
      src/images/1/star-active.png
  59. BIN
      src/images/1/star.png
  60. BIN
      src/images/1/view-active.png
  61. BIN
      src/images/1/view.png
  62. BIN
      src/images/bg35.png
  63. 2
      src/pages/changePhone/index.scss
  64. 5
      src/pages/doctor/index.ts
  65. 7
      src/pages/doctor/index.wxml
  66. 1
      src/pages/doctor/siteShare/index.ts
  67. 6
      src/pages/doctorDetail/index.scss
  68. 3
      src/pages/doctorDetail/index.ts
  69. 3
      src/pages/doctorDetailBak/index.ts
  70. 3
      src/pages/doctorDetailBak/index.wxml
  71. 20
      src/pages/enterInfo/index.scss
  72. 2
      src/pages/enterInfo/index.ts
  73. 10
      src/pages/enterInfo/index.wxml
  74. 4
      src/pages/family/index.ts
  75. 1
      src/pages/familyList/index.ts
  76. 3
      src/pages/hospital/index.ts
  77. 3
      src/pages/hospital/index.wxml
  78. 32
      src/pages/index/index.scss
  79. 56
      src/pages/index/index.ts
  80. 9
      src/pages/index/index.wxml
  81. 3
      src/pages/infusionCenter/index.ts
  82. 3
      src/pages/infusionCenter/index.wxml
  83. 10
      src/pages/interactivePatient/index.ts
  84. 4
      src/pages/interactivePatient/index.wxml
  85. 2
      src/pages/live/index.ts
  86. 9
      src/pages/liveDetail/index.ts
  87. 1
      src/pages/login/index.scss
  88. 4
      src/pages/login/index.ts
  89. 2
      src/pages/login/index.wxml
  90. 2
      src/pages/my/index.scss
  91. 37
      src/pages/my/index.ts
  92. 6
      src/pages/my/index.wxml
  93. 19
      src/pages/myLive/index.ts
  94. 5
      src/pages/mySave/index.scss
  95. 1
      src/pages/mySave/index.ts
  96. 2
      src/pages/mySave/index.wxml
  97. 6
      src/pages/personalInformation/index.ts
  98. 20
      src/pages/personalInformation/index.wxml
  99. 3
      src/pages/publishStoryDetail/index.ts
  100. 4
      src/pages/qaForm/index.scss
  101. Some files were not shown because too many files have changed in this diff Show More

3
src/app.json

@ -48,7 +48,8 @@
"pages/infusionCenter/index", "pages/infusionCenter/index",
"pages/interactivePatient/index", "pages/interactivePatient/index",
"pages/referral/index", "pages/referral/index",
"pages/qaForm/index" "pages/qaForm/index",
"pages/qaFormDetail/index"
], ],
"subpackages": [ "subpackages": [
{ {

38
src/app.ts

@ -47,7 +47,7 @@ App<IAppOption>({
WorkerId: '', WorkerId: '',
loginType: '', // 1:患者 2:医生 loginType: '', // 1:患者 2:医生
first: true, first: false,
anyWhere: false, anyWhere: false,
doctorUnReadCount: 0, doctorUnReadCount: 0,
@ -134,7 +134,11 @@ App<IAppOption>({
this.globalData.anyWhere = false this.globalData.anyWhere = false
this.globalData.scene = parseScene(options.query.scene) as { workerId: string } this.globalData.scene = parseScene(options.query.scene) as { workerId: string }
} }
this.startLogin() this.startLogin().then(() => {
if (this.globalData.loginType === 1) {
this.mpBehavior({ PageName: 'MINI_PROGRAM_VISIT' })
}
})
}, },
startLogin(): Promise<void> { startLogin(): Promise<void> {
const that = this const that = this
@ -153,7 +157,7 @@ App<IAppOption>({
that.globalData.isLogin = res.isLogin that.globalData.isLogin = res.isLogin
that.globalData.loginType = res.loginType that.globalData.loginType = res.loginType
if (!Object.keys(that.globalData.scene)?.length) { if (!Object.keys(that.globalData.scene)?.length) {
that.globalData.anyWhere = res.anyWhere // that.globalData.anyWhere = res.anyWhere
} }
that.getUserInfo(null, true, () => { that.getUserInfo(null, true, () => {
resolve() resolve()
@ -413,20 +417,20 @@ App<IAppOption>({
}) })
}, },
mpBehavior(data: { PageName: string; doctor?: boolean }) { mpBehavior(data: { PageName: string; doctor?: boolean }) {
// let url = '?r=igg4/mp-behavior/add' let url = '?r=igg4/mp-behavior/add'
// if (data.doctor) { if (data.doctor) {
// url = '?r=igg4/doctor/mp-behavior/add' url = '?r=igg4/doctor/mp-behavior/add'
// } }
// delete data.doctor delete data.doctor
// wx.ajax({ wx.ajax({
// method: 'POST', method: 'POST',
// url, url,
// data: data, data: data,
// loading: false, loading: false,
// showMsg: false, showMsg: false,
// }).then((res) => { }).then((res) => {
// console.log('res: ', res) console.log('res: ', res)
// }) })
}, },
// 更新用户信息 // 更新用户信息

148
src/components/freeAudio/index.js

@ -1,25 +1,29 @@
const app = getApp(); const app = getApp()
import dayjs from "dayjs"; import dayjs from 'dayjs'
Component({ Component({
behaviors: [], behaviors: [],
properties: { properties: {
audio: { audio: {
type: Object, type: Object,
observer(val) { observer(val) {
if (val && this._currentAudioUrl && val.url === this._currentAudioUrl) {
return
}
this._currentAudioUrl = val ? val.url : ''
if (this.audioContext) { if (this.audioContext) {
const { play } = this.data; const { play } = this.data
if (play) { if (play) {
this.audioContext.pause(); this.audioContext.pause()
this.setData({ this.setData({
play: false, play: false,
progress: 0, progress: 0,
time: "00", time: '00',
}); })
} }
this.audioContext.destroy(); this.audioContext.destroy()
} }
if (val) { if (val) {
this.audioAddEventListener(val); this.audioAddEventListener(val)
} }
}, },
}, },
@ -27,8 +31,8 @@ Component({
data: { data: {
Timestamp: app.globalData.Timestamp, Timestamp: app.globalData.Timestamp,
progress: 0, progress: 0,
time: "00", time: '00',
duration: "00", duration: '00',
play: false, play: false,
loading: true, loading: true,
@ -36,141 +40,147 @@ Component({
progressimg: true, progressimg: true,
}, },
lifetimes: { lifetimes: {
created() {}, created() {
app.getTheme().then((res) => {
this.setData({
theme: res,
})
})
},
async attached() {}, async attached() {},
moved() {}, moved() {},
detached() { detached() {
if (this.audioContext) { if (this.audioContext) {
const { play } = this.data; const { play } = this.data
if (play) { if (play) {
this.audioContext.pause(); this.audioContext.pause()
} }
this.audioContext.destroy(); this.audioContext.destroy()
} }
this.audioAddEventListener = null; this.audioAddEventListener = null
this.setData({ this.setData({
play: false, play: false,
progress: 0, progress: 0,
time: "00", time: '00',
}); })
}, },
}, },
pageLifetimes: { pageLifetimes: {
// 组件所在页面的生命周期函数 // 组件所在页面的生命周期函数
show: function () {}, show: function () {},
hide: function () { hide: function () {
const { play } = this.data; const { play } = this.data
if (play) { if (play) {
this.audioContext.pause(); this.audioContext.pause()
} }
}, },
resize: function () {}, resize: function () {},
}, },
methods: { methods: {
togglePlay() { togglePlay() {
const { play, loading } = this.data; const { play, loading } = this.data
if (loading) { if (loading) {
wx.showToast({ wx.showToast({
title: "音频加载中", title: '音频加载中',
icon: "none", icon: 'none',
}); })
return; return
} }
if (play) { if (play) {
this.audioContext.pause(); this.audioContext.pause()
} else { } else {
this.audioContext.play(); this.audioContext.play()
} }
}, },
formatTime(time) { formatTime(time) {
let m = parseInt(time / 60); let m = parseInt(time / 60)
let s = parseInt(time % 60); let s = parseInt(time % 60)
return this.towNum(m) + ":" + this.towNum(s); return this.towNum(m) + ':' + this.towNum(s)
}, },
towNum(num) { towNum(num) {
if (num >= 10) { if (num >= 10) {
return num; return num
} else { } else {
return "0" + num; return '0' + num
} }
}, },
audioAddEventListener(val) { audioAddEventListener(val) {
const that = this; const that = this
this.setData({ this.setData({
duration: this.formatTime(val.size), duration: this.formatTime(val.size),
}); })
that.audioContext = wx.createInnerAudioContext(); that.audioContext = wx.createInnerAudioContext()
that.audioContext.src = val.url; that.audioContext.src = val.url
that.setData({ that.setData({
loading: false, loading: false,
}); })
that.audioContext.onError(({ errCode, ...reset }) => { that.audioContext.onError(({ errCode, ...reset }) => {
console.log("reset: ", reset); console.log('reset: ', reset)
console.log("errCode: ", errCode); console.log('errCode: ', errCode)
if (errCode === 10004 || errCode == 10001 || errCode == -1) { if (errCode === 10004 || errCode == 10001 || errCode == -1) {
that.audioContext.destroy(); that.audioContext.destroy()
that.setData({ that.setData({
loading: true, loading: true,
}); })
setTimeout(() => { setTimeout(() => {
that.audioAddEventListener(val); that.audioAddEventListener(val)
}, 300); }, 300)
} }
}); })
that.audioContext.onPlay(() => { that.audioContext.onPlay(() => {
that.setData({ that.setData({
play: true, play: true,
}); })
}); })
that.audioContext.onPause(() => { that.audioContext.onPause(() => {
console.log(1111111); console.log(1111111)
that.setData({ that.setData({
play: false, play: false,
}); })
}); })
that.audioContext.onEnded(() => { that.audioContext.onEnded(() => {
that.audioContext.seek(0); that.audioContext.seek(0)
that.setData({ that.setData({
play: false, play: false,
progress: 0, progress: 0,
time: "00", time: '00',
}); })
}); })
that.audioContext.onTimeUpdate(() => { that.audioContext.onTimeUpdate(() => {
const duration = that.audioContext.duration || 0; const duration = that.audioContext.duration || 0
const currentTime = that.audioContext.currentTime || 0; const currentTime = that.audioContext.currentTime || 0
const progress = (currentTime / duration) * 100; const progress = (currentTime / duration) * 100
if (duration == Infinity) { if (duration == Infinity) {
return; return
} }
that.setData({ that.setData({
play: true, play: true,
duration: that.formatTime(duration), duration: that.formatTime(duration),
time: that.formatTime(currentTime), time: that.formatTime(currentTime),
}); })
if (that.data.progressimg) { if (that.data.progressimg) {
this.setData({ this.setData({
progress: progress, progress: progress,
}); })
} }
}); })
}, },
handleAuthChangeimg() { handleAuthChangeimg() {
console.log(11111); console.log(11111)
this.setData({ this.setData({
progressimg: false, progressimg: false,
}); })
}, },
handleAuthChange(e) { handleAuthChange(e) {
console.log(22222222222); console.log(22222222222)
let { duration } = this.data; let { duration } = this.data
const secods = this.audioContext.duration || duration.split(":")[0] * 60 + duration.split(":")[1] * 1; const secods = this.audioContext.duration || duration.split(':')[0] * 60 + duration.split(':')[1] * 1
const progress = e.detail.value; const progress = e.detail.value
let seek = ((secods / 100) * progress).toFixed(3) * 1; let seek = ((secods / 100) * progress).toFixed(3) * 1
this.audioContext.seek(seek); this.audioContext.seek(seek)
this.setData({ this.setData({
progressimg: true, progressimg: true,
}); })
}, },
}, },
}); })

11
src/components/freeAudio/index.scss

@ -12,14 +12,15 @@
left: 0; left: 0;
top: 0; top: 0;
width: 100%; width: 100%;
padding: 14rpx 26rpx 12rpx; padding: 18rpx 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
background: rgba(174, 182, 205, 0.1); background: rgba(255, 255, 255, 1);
border-radius: 50rpx 50rpx 50rpx 50rpx; border-radius: 24rpx;
border: 1rpx solid rgba(181, 205, 255, 0.1); border: 1px solid rgba(244, 243, 243, 1);
box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.08);
.icon { .icon {
width: 60rpx; width: 60rpx;
height: 60rpx; height: 60rpx;
@ -48,7 +49,7 @@
.time { .time {
flex-shrink: 0; flex-shrink: 0;
font-size: 24rpx; font-size: 24rpx;
color: #e04775; color: #222;
} }
} }
} }

8
src/components/freeAudio/index.wxml

@ -8,14 +8,14 @@
<view <view
class="center" class="center"
> >
<image class="progress-bg" mode="aspectFill" src="https://m.zd.hbraas.com/zd/1/firee-audio-bg.png?t=1689998782161"></image> <image class="progress-bg" mode="aspectFill" src="{{imageUrl}}1/firee-audio-bg.png?t=1689998782161"></image>
<slider <slider
active active
activeColor="#E04775" activeColor="#F6F6F6"
backgroundColor="#E04775" backgroundColor="#fff"
bind:changing="handleAuthChangeimg" bind:changing="handleAuthChangeimg"
bindchange="handleAuthChange" bindchange="handleAuthChange"
block-color="#E04775" block-color="rgba(34, 34, 34, 1)"
block-size="12" block-size="12"
class="progress" class="progress"
value="{{progress}}" value="{{progress}}"

19
src/components/toast/index.scss

@ -2349,16 +2349,6 @@
background: linear-gradient(to right, rgba(14, 182, 109, 1), rgba(0, 210, 119, 1)); background: linear-gradient(to right, rgba(14, 182, 109, 1), rgba(0, 210, 119, 1));
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
} }
&.durg {
.content {
.high {
color: rgba(22, 121, 203, 1);
}
}
.btn {
background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%);
}
}
} }
.close { .close {
margin: 68rpx auto 0; margin: 68rpx auto 0;
@ -2368,8 +2358,13 @@
} }
&.drug { &.drug {
.popup-container { .popup-container {
.content {
.high {
color: rgba(22, 121, 203, 1);
}
}
.btn { .btn {
background-color: rgba(37, 217, 200, 1); background: linear-gradient(90deg, rgba(41, 59, 159, 1) 0%, rgba(22, 121, 203, 1) 100%);
} }
} }
} }
@ -2456,7 +2451,7 @@
width: 670rpx; width: 670rpx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 24rpx; border-radius: 24rpx;
background: linear-gradient(180deg, #e5fff4 0%, #ffffff 22.89%, #ffffff 100%); background: linear-gradient(180deg, #E6F4FF 0%, #FFFFFF 22.89%, #FFFFFF 100%);
.content { .content {
font-size: 36rpx; font-size: 36rpx;
color: rgba(34, 34, 34, 1); color: rgba(34, 34, 34, 1);

2
src/components/toast/index.ts

@ -42,7 +42,7 @@ Component({
if (['storyLead', 'storyStar', 'storyShare'].includes(this.data.type)) { if (['storyLead', 'storyStar', 'storyShare'].includes(this.data.type)) {
this.getSettingInfo() this.getSettingInfo()
} }
if (this.data.type === 'feedback') { if (this.data.type === 'feedback' || this.data.type === 'doctor-feedback') {
this.getFeedbackCode() this.getFeedbackCode()
} }
if (this.data.type === 'follow') { if (this.data.type === 'follow') {

5
src/components/toast/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<van-popup <van-popup
bind:click-overlay="handleCancel" bind:click-overlay="handleCancel"
custom-style="background: transparent;" custom-style="background: transparent;"
@ -706,7 +707,7 @@
<image class="badge" src="{{imageUrl}}icon80.png?t={{Timestamp}}"></image> <image class="badge" src="{{imageUrl}}icon80.png?t={{Timestamp}}"></image>
<view class="popup-container"> <view class="popup-container">
<view class="content"> <view class="content">
以下内容涉及患者个人信息,仅用于{{params.HospitalName}}{{params.Name}}医生进行患者随访管理,请在安全环境下查看,不截图,不转发 以下内容涉及患者个人信息,仅用于{{params.HospitalName}}{{params.Name}}医生进行患者随访管理,请在安全环境下查看,不截图,不转发
</view> </view>
<view class="btn" bind:tap="handleOk">确定</view> <view class="btn" bind:tap="handleOk">确定</view>
</view> </view>
@ -735,7 +736,7 @@
<image class="badge" src="{{imageUrl}}icon4.png?t={{Timestamp}}"></image> <image class="badge" src="{{imageUrl}}icon4.png?t={{Timestamp}}"></image>
<view class="popup-container"> <view class="popup-container">
<view class="title">您已选择</view> <view class="title">您已选择</view>
<view class="content">{{params.ProvinceName}}{{params.CityName ? '—' + params.CityName : ''}}</view> <view class="content">{{tools.formatArea(params.ProvinceName, params.CityName)}}</view>
<view class="footer"> <view class="footer">
<view bind:tap="handleCancel" class="cancel">取消</view> <view bind:tap="handleCancel" class="cancel">取消</view>
<button bind:tap="handleOk" open-type="share" class="submit">分享</button> <button bind:tap="handleOk" open-type="share" class="submit">分享</button>

4
src/custom-tab-bar/index.scss

@ -22,8 +22,8 @@
.tab-item { .tab-item {
.icon { .icon {
width: 50rpx; width: 60rpx;
height: 50rpx; height: 60rpx;
} }
.name { .name {
margin-top: 4rpx; margin-top: 4rpx;

5
src/custom-tab-bar/index.ts

@ -66,6 +66,11 @@ Component({
this.setData({ this.setData({
anyWhere: app.globalData.anyWhere, anyWhere: app.globalData.anyWhere,
}) })
app.getTheme().then((res) => {
this.setData({
theme: res,
})
})
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
url: '?r=igg4/common/get-config', url: '?r=igg4/common/get-config',

2
src/custom-tab-bar/index.wxml

@ -1,4 +1,4 @@
<van-tabbar active="{{ active }}" active-color="rgba(14, 182, 109, 1)" bind:change="onChange" inactive-color="#CCCCCC"> <van-tabbar active="{{ active }}" active-color="{{theme === 'DRUG' ? 'rgba(89, 86, 233, 1)' : 'rgba(14, 182, 109, 1)'}}" bind:change="onChange" inactive-color="#CCCCCC">
<block wx:for="{{list}}" wx:key="*this"> <block wx:for="{{list}}" wx:key="*this">
<view class="tab-item" wx:if="{{item.custom && theme === 'DRUG'}}" bind:tap="handleNav" data-index="{{index}}"> <view class="tab-item" wx:if="{{item.custom && theme === 'DRUG'}}" bind:tap="handleNav" data-index="{{index}}">
<view class="circle"> <view class="circle">

3
src/doctor/components/tabbar/index.scss

@ -3,6 +3,7 @@
bottom: 0; bottom: 0;
left: 0; left: 0;
width: 100%; width: 100%;
z-index: 10000;
padding: 0 0 calc(env(safe-area-inset-bottom) + 12rpx); padding: 0 0 calc(env(safe-area-inset-bottom) + 12rpx);
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -64,7 +65,7 @@
} }
} }
.name { .name {
color: rgba(98, 190, 208, 1); color: rgba(22, 121, 203, 1);
} }
} }
} }

11
src/doctor/pages/d_createTask/index.ts

@ -105,7 +105,6 @@ Page({
btn = e?.currentTarget?.dataset?.btn btn = e?.currentTarget?.dataset?.btn
} }
if (btn == 1) { if (btn == 1) {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_REFRESH' })
} }
return wx return wx
@ -143,7 +142,6 @@ Page({
}) })
}, },
handleReset() { handleReset() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_CLEAR' })
wx.showModal({ wx.showModal({
title: '确认清空选项吗', title: '确认清空选项吗',
confirmColor: 'rgba(22, 121, 203, 1)', confirmColor: 'rgba(22, 121, 203, 1)',
@ -233,11 +231,9 @@ Page({
}) })
}, },
handleCancel() { handleCancel() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_CANCEL' })
wx.navigateBack() wx.navigateBack()
}, },
async handleNext() { async handleNext() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_NEXT' })
const anyValueKeys = [ const anyValueKeys = [
'Search', 'Search',
'HasAdl', 'HasAdl',
@ -291,12 +287,10 @@ Page({
}) })
}, },
handlePrevStep() { handlePrevStep() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE2_PREV' })
this.setData({ step: 1 }) this.setData({ step: 1 })
this.handleViewMp() this.handleViewMp()
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE2_SUBMIT' })
const { const {
Search, Search,
HasAdl, HasAdl,
@ -408,10 +402,5 @@ Page({
wx.navigateBack() wx.navigateBack()
}, },
handleViewMp() { handleViewMp() {
if (this.data.step === 2) {
app.mpBehavior({ doctor: true, PageName: 'PG_NEWMESSAGEPAGE1' })
} else if (this.data.step === 2) {
app.mpBehavior({ doctor: true, PageName: 'PG_NEWMESSAGEPAGE2' })
}
}, },
}) })

1
src/doctor/pages/d_customExport/index.ts

@ -16,7 +16,6 @@ Page({
id: options.id, id: options.id,
}) })
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ doctor: true, PageName: 'PAGE_DOCTORADLREPORT' })
this.getList() this.getList()
}) })
}, },

2
src/doctor/pages/d_exportList/index.ts

@ -22,7 +22,6 @@ Page({
download: null as null | WechatMiniprogram.DownloadTask, download: null as null | WechatMiniprogram.DownloadTask,
onLoad() { onLoad() {
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PAGE_DOCTORADLREPORTLIST' })
this.getList() this.getList()
}) })
}, },
@ -57,7 +56,6 @@ Page({
}, },
handleCustomExport(e) { handleCustomExport(e) {
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORADLREPORTLIST' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/d_customExport/index?id=${id}`, url: `/doctor/pages/d_customExport/index?id=${id}`,
}) })

1
src/doctor/pages/d_home/index.json

@ -4,6 +4,7 @@
"usingComponents": { "usingComponents": {
"pageNavbar": "/components/pageNavbar/index", "pageNavbar": "/components/pageNavbar/index",
"ec-canvas": "/components/ec-canvas/ec-canvas", "ec-canvas": "/components/ec-canvas/ec-canvas",
"pagination": "/components/pagination/index",
"van-icon": "@vant/weapp/icon/index", "van-icon": "@vant/weapp/icon/index",
"van-dialog": "@vant/weapp/dialog/index", "van-dialog": "@vant/weapp/dialog/index",
"tabbar": "../../components/tabbar/index" "tabbar": "../../components/tabbar/index"

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

@ -20,12 +20,16 @@ page {
font-weight: bold; font-weight: bold;
} }
.site { .site {
font-size: 32rpx; .site-content {
color: rgba(33, 33, 32, 0.4); margin-right: 10rpx;
display: inline-block;
font-size: 32rpx;
color: rgba(33, 33, 32, 0.4);
}
.tag { .tag {
vertical-align: 2rpx; vertical-align: 2rpx;
display: inline-block; display: inline-block;
padding: 0 12rpx; padding: 4rpx 12rpx;
font-size: 22rpx; font-size: 22rpx;
color: #fff; color: #fff;
border-radius: 8rpx; border-radius: 8rpx;
@ -37,7 +41,7 @@ page {
} }
} }
.new-banner { .new-banner {
margin: 40rpx 40rpx 0; margin: 60rpx 40rpx 0;
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
gap: 24rpx 26rpx; gap: 24rpx 26rpx;
@ -80,11 +84,36 @@ page {
.page-container { .page-container {
margin: 0 30rpx; margin: 0 30rpx;
.card { .card {
margin: 24rpx 0 0; margin: 44rpx 0 0;
padding-top: 15px; padding-top: 15px;
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
.card-title {
display: flex;
align-items: center;
justify-content: space-between;
.title {
margin-bottom: 42rpx;
font-size: 40rpx;
color: #222222;
font-weight: bold;
display: flex;
align-items: center;
gap: 14rpx;
&::before {
content: '';
width: 10rpx;
height: 40rpx;
background: rgba(39, 66, 164, 1);
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
.more {
font-weight: normal;
font-size: 32rpx;
color: rgba(34, 34, 34, 0.7);
}
}
.chart { .chart {
margin-top: 48rpx;
padding: 32rpx 0; padding: 32rpx 0;
border: 2rpx solid #f2f4f5; border: 2rpx solid #f2f4f5;
border-radius: 12rpx; border-radius: 12rpx;
@ -110,9 +139,9 @@ page {
} }
} }
.chart-container { .chart-container {
padding: 15rpx 30rpx 0; padding: 15rpx 30rpx 20rpx;
width: 100%; width: 100%;
height: 546rpx; height: 586rpx;
box-sizing: border-box; box-sizing: border-box;
} }
} }

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

@ -20,6 +20,8 @@ Page({
detail: {}, detail: {},
year1: dayjs().format('YYYY'), year1: dayjs().format('YYYY'),
chartEmpty: false,
chartPagination: { count: 0, page: 1, pages: 1 },
}, },
ecDataTrendComponent1_1: null as any, ecDataTrendComponent1_1: null as any,
async onLoad() { async onLoad() {
@ -33,7 +35,6 @@ Page({
} }
echarts = await require.async('../../../resource/components/echart/echarts.js') echarts = await require.async('../../../resource/components/echart/echarts.js')
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORHOME' })
this.getDoctorInfo() this.getDoctorInfo()
this.getDetail() this.getDetail()
this.getList1_1() this.getList1_1()
@ -74,7 +75,13 @@ Page({
statYear: this.data.year1, statYear: this.data.year1,
}, },
}).then(async (res) => { }).then(async (res) => {
this.initChart1_1(res.list) const list = res.list || []
if (!list.length) {
this.setData({ chartEmpty: true })
return
}
this.setData({ chartEmpty: false })
this.initChart1_1(list)
}) })
}, },
initChart1_1(list: any[]) { initChart1_1(list: any[]) {
@ -113,7 +120,7 @@ Page({
top: '10%', top: '10%',
left: '3%', left: '3%',
right: '4%', right: '4%',
bottom: '30', bottom: '0',
containLabel: true, containLabel: true,
}, },
xAxis: [ xAxis: [
@ -183,8 +190,8 @@ Page({
title: '累计邀约', title: '累计邀约',
}, },
2: { 2: {
content: `当月新增患者数`, content: `当月活跃患者数`,
title: '当月新增', title: '当月活跃',
}, },
}[id] }[id]
Dialog.alert({ Dialog.alert({

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

@ -5,8 +5,8 @@
<view class="wrap"> <view class="wrap">
<view class="name">{{doctor.Name}}</view> <view class="name">{{doctor.Name}}</view>
<view class="site"> <view class="site">
{{hospital.Name}} <div class="site-content">{{hospital.Name}}</div>
<view 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> </view>
@ -41,6 +41,9 @@
</view> </view>
<view class="page-container"> <view class="page-container">
<view class="card"> <view class="card">
<view class="card-title">
<view class="title">月度邀约患者数</view>
</view>
<view class="chart"> <view class="chart">
<view class="chart-header"> <view class="chart-header">
<picker <picker
@ -58,7 +61,8 @@
<view class="tip">统计数据截止昨天</view> <view class="tip">统计数据截止昨天</view>
</view> </view>
<view class="chart-container"> <view class="chart-container">
<ec-canvas id="chart1_1" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> <ec-canvas wx:if="{{!chartEmpty}}" id="chart1_1" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
<pagination wx:else pagination="{{chartPagination}}" emptyTitle="暂无数据"></pagination>
</view> </view>
</view> </view>
</view> </view>

4
src/doctor/pages/d_interactive/index.scss

@ -9,13 +9,13 @@ page {
top: 0; top: 0;
padding: 32rpx 40rpx; padding: 32rpx 40rpx;
z-index: 10; z-index: 10;
background-color: rgba(246, 248, 249, 1); background-color: #fff;
.wrap { .wrap {
display: flex; display: flex;
align-items: center; align-items: center;
.search { .search {
flex: 1; flex: 1;
padding: 12rpx 32rpx; padding: 16rpx 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 16rpx; gap: 16rpx;

3
src/doctor/pages/d_interactive/index.ts

@ -14,13 +14,11 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DoctorIMList' })
this.getList() this.getList()
app.setTabbarNoticeMessage() app.setTabbarNoticeMessage()
}) })
}, },
handleTapSearch() { handleTapSearch() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorIMListSearch' })
}, },
handleSearch() { handleSearch() {
this.setData({ this.setData({
@ -69,7 +67,6 @@ Page({
} }
}, },
handleDetail(e) { handleDetail(e) {
app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorIMList' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const { list } = this.data const { list } = this.data
const listItem: any = list[index] const listItem: any = list[index]

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

@ -251,7 +251,7 @@ page {
background-color: #fff; background-color: #fff;
.send { .send {
flex: 1; flex: 1;
padding: 8rpx 8rpx 8rpx 32rpx; padding: 8rpx 12rpx 8rpx 32rpx;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
align-items: center; align-items: center;

4
src/doctor/pages/d_interactiveDoctor/index.ts

@ -66,7 +66,6 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DoctorIMDetail' })
this.getDoctorDetail() this.getDoctorDetail()
this.getPatientDetail() this.getPatientDetail()
this.getMessageList() this.getMessageList()
@ -170,7 +169,6 @@ Page({
}) })
}, },
handleSendDate() { handleSendDate() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorIMDetailClinicHours' })
const { const {
messageList, messageList,
doctor: { Clinic }, doctor: { Clinic },
@ -225,7 +223,6 @@ Page({
}) })
}, },
handleSendShow() { handleSendShow() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorIMDetailSendMessage' })
this.setData({ this.setData({
messageListShow: true, messageListShow: true,
}) })
@ -322,7 +319,6 @@ Page({
}) })
}, },
handlePatientDetail() { handlePatientDetail() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorIMDetailPatient' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/d_patientDetail/index?id=${this.data.patientId}`, url: `/doctor/pages/d_patientDetail/index?id=${this.data.patientId}`,
}) })

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

@ -64,7 +64,7 @@
</block> </block>
</view> </view>
</view> </view>
<view class="adl" wx:elif="{{message.msgContentType==='10'}}"> <view class="adl" wx:elif="{{message.msgContentType==='13'}}">
<image class="adl-img" src="{{imageUrl}}bg20.png?t={{Timestamp}}"></image> <image class="adl-img" src="{{imageUrl}}bg20.png?t={{Timestamp}}"></image>
</view> </view>
</view> </view>

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

@ -1,5 +1,5 @@
page{ page{
background-color: #3059C2; background-color: #315BC3;
} }
.page { .page {
position: relative; position: relative;

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

@ -21,7 +21,6 @@ Page({
wx.showLoading({ wx.showLoading({
title: '加载中', title: '加载中',
}) })
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORINVITEPATIENT' })
this.getDetail() this.getDetail()
}) })
}, },

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

@ -1,4 +1,4 @@
<view class="page"> <view class="page" style="background: url('{{imageUrl}}bg35.png?t={{Timestamp}}');">
<image class="poster" show-menu-by-longpress src="{{posterUrl}}"></image> <image class="poster" show-menu-by-longpress src="{{posterUrl}}"></image>
<view class="btn" bind:tap="handleDownload">长按图片保存</view> <view class="btn" bind:tap="handleDownload">长按图片保存</view>
</view> </view>

4
src/doctor/pages/d_login/index.scss

@ -57,8 +57,8 @@
} }
} }
.form { .form {
margin-top: 58rpx; margin-top: 48rpx;
padding: 0 60rpx; padding: 0 48rpx;
.row { .row {
margin-bottom: 32rpx; margin-bottom: 32rpx;
display: flex; display: flex;

4
src/doctor/pages/d_login/index.ts

@ -23,7 +23,6 @@ Page({
back: true, back: true,
}) })
} }
app.mpBehavior({ PageName: 'PG_DOCTORLOGIN' })
}, },
getCode() { getCode() {
if (timer) return if (timer) return
@ -88,7 +87,6 @@ Page({
}) })
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_DOCTORLOGIN' })
if (!this.data.mobile) { if (!this.data.mobile) {
wx.showToast({ wx.showToast({
icon: 'none', icon: 'none',
@ -119,7 +117,6 @@ Page({
}) })
}, },
handleWxSubmit(e: WechatMiniprogram.CustomEvent) { handleWxSubmit(e: WechatMiniprogram.CustomEvent) {
app.mpBehavior({ PageName: 'BTN_DOCTORQUICKPATIENTLOGIN' })
this.handlePopupCancel() this.handlePopupCancel()
const { iv, encryptedData } = e.detail const { iv, encryptedData } = e.detail
if (iv && encryptedData) { if (iv && encryptedData) {
@ -136,7 +133,6 @@ Page({
} }
}, },
handleNoDoc() { handleNoDoc() {
app.mpBehavior({ PageName: 'BTN_DOCTORQUICKPATIENTLOGIN' })
this.handleDocRule() this.handleDocRule()
}, },
submitCallback() { submitCallback() {

4
src/doctor/pages/d_login/index.wxml

@ -2,7 +2,9 @@
<view class="container"> <view class="container">
<image class="page-logo" src="{{imageUrl}}bg19.png?t={{Timestamp}}"></image> <image class="page-logo" src="{{imageUrl}}bg19.png?t={{Timestamp}}"></image>
<view class="c-title">尊敬的医生您好</view> <view class="c-title">尊敬的医生您好</view>
<view class="content">“愈见昕生”是北京白求恩公益基金会发起的 IgG4-RD 患者健康管理平台。</view> <view class="content">“愈见昕生”是北京白求恩公益基金会发起的
<view></view>
IgG4相关性疾病 患者健康管理平台。</view>
<view class="content"> <view class="content">
加入平台前,请您仔细阅读 加入平台前,请您仔细阅读
<text class="link" bind:tap="handleLink">《隐私保护协议》</text> <text class="link" bind:tap="handleLink">《隐私保护协议》</text>

7
src/doctor/pages/d_my/index.ts

@ -20,7 +20,6 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORMY' })
this.getDetail() this.getDetail()
}) })
}, },
@ -53,12 +52,6 @@ Page({
}, },
handleRouter(e) { handleRouter(e) {
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
if (url === '/doctor/pages/d_invite/index') {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORMYPAGEINVITEDPATIENTS' })
}
if (url === '/doctor/pages/d_userInfo/index') {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORMYPAGEPERSONALINFO' })
}
wx.navigateTo({ wx.navigateTo({
url, url,
}) })

6
src/doctor/pages/d_patient/index.ts

@ -57,7 +57,6 @@ Page({
IsThisWeekAdl: Number(options.IsThisWeekAdl || ''), IsThisWeekAdl: Number(options.IsThisWeekAdl || ''),
}) })
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORPATIENTLIST' })
this.getList() this.getList()
}) })
}, },
@ -97,7 +96,6 @@ Page({
this.getList() this.getList()
}, },
handleTapSearch() { handleTapSearch() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTLISTSEARCH' })
}, },
handleNav(e) { handleNav(e) {
const { active } = e.currentTarget.dataset const { active } = e.currentTarget.dataset
@ -118,7 +116,7 @@ Page({
} }
if (active === 0) { if (active === 0) {
} else if (active === 1) { } else if (active === 1) {
params.IsPreviousConvulsion = 1 params.IsDiagnose = 1
} }
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
@ -182,7 +180,6 @@ Page({
}) })
}, },
handleDetail(e: any) { handleDetail(e: any) {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTLISTVIEW' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const item = this.data.list[index] const item = this.data.list[index]
@ -197,7 +194,6 @@ Page({
}) })
}, },
handleSendGroup() { handleSendGroup() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTLISTMASSMESSAGE' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/d_taskList/index', url: '/doctor/pages/d_taskList/index',
}) })

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

@ -1,4 +1,4 @@
<wxs src="./index.wxs" module="tools" /> <wxs src="../../../utils/tools.wxs" module="tools" />
<view class="page"> <view class="page">
<view class="page-header"> <view class="page-header">
<view class="search"> <view class="search">
@ -15,8 +15,8 @@
/> />
</view> </view>
<view class="navbar"> <view class="navbar">
<view class="nav {{active===0 && 'active'}}" bind:tap="handleNav" data-active="{{0}}">疾病基础</view> <view class="nav {{active===0 && 'active'}}" bind:tap="handleNav" data-active="{{0}}">全部</view>
<view class="nav {{active===1 && 'active'}}" bind:tap="handleNav" data-active="{{1}}">复发/活动期</view> <view class="nav {{active===1 && 'active'}}" bind:tap="handleNav" data-active="{{1}}">确诊IgG4-RD</view>
</view> </view>
</view> </view>
<view class="list"> <view class="list">
@ -29,7 +29,7 @@
<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 ? '<1年' : item.DiagnosisTimeRange == 2 ? '1-3年' : '>3年'}}</view>
</view> </view>
<view class="replay-date">邀约时间:{{item.InviteTime}}</view> <view class="replay-date">邀约时间:{{tools.formatDate(item.InviteTime)}}</view>
<view class="remark">备注:{{item.DoctorRemark || '无'}}</view> <view class="remark">备注:{{item.DoctorRemark || '无'}}</view>
</view> </view>
</view> </view>

1
src/doctor/pages/d_patientDetail/index.json

@ -3,7 +3,6 @@
"usingComponents": { "usingComponents": {
"van-icon": "@vant/weapp/icon/index", "van-icon": "@vant/weapp/icon/index",
"van-popup": "@vant/weapp/popup/index", "van-popup": "@vant/weapp/popup/index",
"ec-canvas": "/components/ec-canvas/ec-canvas",
"toast": "/components/toast/index" "toast": "/components/toast/index"
} }
} }

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

@ -12,6 +12,7 @@ page {
background: #ffffff; background: #ffffff;
border-radius: 12rpx 12rpx 12rpx 12rpx; border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 1px solid #f4f3f3; border: 1px solid #f4f3f3;
box-shadow: 0 4rpx 32rpx 0 rgba(0, 0, 0, 0.08);
.avatar { .avatar {
flex-shrink: 0; flex-shrink: 0;
.avatar-img { .avatar-img {
@ -114,7 +115,7 @@ page {
.title { .title {
display: flex; display: flex;
justify-content: center; justify-content: center;
font-size: 36rpx; font-size: 40rpx;
color: rgba(40, 48, 49, 1); color: rgba(40, 48, 49, 1);
font-weight: bold; font-weight: bold;
} }
@ -127,7 +128,7 @@ page {
background: #f7f8f9; background: #f7f8f9;
border-radius: 24rpx 24rpx 24rpx 24rpx; border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #f8f9f9; border: 2rpx solid #f8f9f9;
font-size: 32rx; font-size: 36rx;
} }
.submit { .submit {
margin-top: 32rpx; margin-top: 32rpx;
@ -135,7 +136,7 @@ page {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
background: linear-gradient( 90deg, #293B9F 0%, #1679CB 100%); background: linear-gradient(90deg, #293b9f 0%, #1679cb 100%);
font-size: 36rpx; font-size: 36rpx;
color: #fff; color: #fff;
border-radius: 12rpx; border-radius: 12rpx;

708
src/doctor/pages/d_patientDetail/index.ts

@ -16,7 +16,6 @@ Page({
id: '', id: '',
remark: '', remark: '',
detail: {} as any, detail: {} as any,
userInfo: {},
popupRemarkShow: false, popupRemarkShow: false,
remarkFocus: false, remarkFocus: false,
@ -107,21 +106,12 @@ Page({
2: '6个月-3年', 2: '6个月-3年',
3: '3年以上', 3: '3年以上',
}, },
adlList: [] as any,
pagination: {
page: 1,
pages: 1,
count: 1,
},
}, },
onLoad(option) { onLoad(option) {
this.setData({ this.setData({
id: option.id, id: option.id,
}) })
app.waitLogin().then(async (_res) => { app.waitLogin().then(async (_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORPATIENTDETAIL' })
this.getDoctorDetail() this.getDoctorDetail()
await this.getDetail() await this.getDetail()
}) })
@ -180,620 +170,13 @@ Page({
this.setData({ this.setData({
detail: { detail: {
...res, ...res,
hideName: res.Name.replace(/^(.)(.*)$/, (_, first, rest) => first + '*'.repeat(rest.length)), hideName: res.Name.length <= 2 ? res.Name.charAt(0) + '*' : res.Name.charAt(0) + '*' + res.Name.charAt(res.Name.length - 1),
hideTelephone: res.Telephone ? res.Telephone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') : '',
}, },
}) })
}) })
}, },
handleRemark() { handleRemark() {
// 合并两个数组中相同Date字段的对象
const mergedArray: any[] = []
const mergedMap = new Map()
array1.concat(array2).forEach((obj) => {
const date = obj.Date
if (mergedMap.has(date)) {
mergedMap.get(date).push(obj)
} else {
mergedMap.set(date, [obj])
}
})
mergedMap.forEach((objs: any) => {
if (objs.length === 1) {
mergedArray.push(objs[0])
} else {
const mergedObj = objs.reduce((acc, cur) => ({ ...acc, ...cur }))
mergedArray.push(mergedObj)
}
})
// 按照Date字段对合并后的数组进行排序
mergedArray.sort((a, b) => {
return a.Date.localeCompare(b.Date)
})
return mergedArray
},
initChart1(adlSummary = {}) {
this.ecDataTrendComponent1.init((canvas, width, height, dpr) => {
const chart = echarts.init(canvas, null, {
width,
height,
devicePixelRatio: dpr, // new
})
canvas.setChart(chart)
const option = {
tooltip: {
trigger: 'item',
formatter: '{b} \n {c}次,{d}%',
},
legend: {
show: false,
},
color: ['rgba(226, 219, 65, 1)', 'rgba(215, 108, 108, 1)', 'rgba(98, 190, 208, 1)'],
series: [
{
name: '全部患者',
type: 'pie',
radius: ['40%', '60%'],
center: ['50%', '50%'],
label: {
show: true,
width: 80,
alignTo: 'edge',
minMargin: 5,
edgeDistance: 10,
lineHeight: 15,
formatter: '{b} \n{time|{d}%}',
rich: {
time: {
fontSize: 10,
color: '#999',
},
},
},
labelLine: {
length: 15,
length2: 0,
maxSurfaceAngle: 80,
},
labelLayout(params) {
const isLeft = params.labelRect.x < chart.getWidth() / 2
const points = params.labelLinePoints
// Update the end point.
points[2][0] = isLeft ? params.labelRect.x : params.labelRect.x + params.labelRect.width
return {
labelLinePoints: points,
}
},
data: [
{ value: adlSummary.adlNearNum, name: 'ADL接近达标' },
{ value: adlSummary.adlUnStandardNum, name: 'ADL未达标' },
{ value: adlSummary.adlStandardNum, name: 'ADL达标' },
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)',
},
},
},
],
}
chart.setOption(option)
return chart
})
},
initChart2(adlSummary = {}) {
this.ecDataTrendComponent2.init((canvas, width, height, dpr) => {
const chart = echarts.init(canvas, null, {
width,
height,
devicePixelRatio: dpr, // new
})
canvas.setChart(chart)
const option = {
tooltip: {
trigger: 'item',
formatter: '{b} \n {c}次,{d}%',
},
legend: {
show: false,
},
color: ['rgba(215, 108, 108, 1)', 'rgba(98, 190, 208, 1)'],
series: [
{
name: '全部患者',
type: 'pie',
radius: ['40%', '60%'],
center: ['50%', '50%'],
label: {
show: true,
width: 80,
alignTo: 'edge',
minMargin: 5,
edgeDistance: 10,
lineHeight: 15,
formatter: '{b} \n{time|{d}%}',
rich: {
time: {
fontSize: 10,
color: '#999',
},
},
},
labelLine: {
length: 15,
length2: 0,
maxSurfaceAngle: 80,
},
labelLayout(params) {
const isLeft = params.labelRect.x < chart.getWidth() / 2
const points = params.labelLinePoints
// Update the end point.
points[2][0] = isLeft ? params.labelRect.x : params.labelRect.x + params.labelRect.width
return {
labelLinePoints: points,
}
},
data: [
{ value: adlSummary.SteroidDailyDoseUnStandardNum, name: '激素未达标' },
{ value: adlSummary.SteroidDailyDoseStandardNum, name: '激素达标' },
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)',
},
},
},
],
}
chart.setOption(option)
return chart
})
},
initChart3(defaultList = []) {
const { userInfo } = this.data
const list: any = defaultList
return new Promise((reslove) => {
this.ecDataTrendComponent3.init((canvas, width, height, dpr) => {
const chart = echarts.init(canvas, null, {
width,
height,
devicePixelRatio: dpr, // new
})
canvas.setChart(chart)
const option: any = {
tooltip: {
show: false,
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
confine: true,
backgroundColor: 'rgba(0, 0, 0, 0.5)',
textStyle: {
color: '#fff',
fontSize: 10,
},
order: 'seriesDesc',
},
grid: {
top: '30',
left: '0',
right: '0',
bottom: '10',
containLabel: true,
},
xAxis: [
{
type: 'category',
axisTick: {
show: true,
inside: true,
length: 1,
alignWithLabel: true,
lineStyle: {
type: 'dotted',
color: '#D8D8D8',
width: 4,
cap: 'round',
},
},
axisLine: {
lineStyle: {
color: '#8C8C8C',
type: 'dashed',
},
},
data: list.map((item) => dayjs(item.Date).format('MM-DD')),
axisLabel: {
formatter() {
return ''
},
},
},
],
yAxis: [
{
type: 'value',
minInterval: 1,
},
],
series: [
{
name: '总分',
data: list.length ? list.map((item) => item.TotalScore) : [25],
barWidth: '16',
label: {
show: true,
position: 'top',
color: '#CF5375',
},
type: 'line',
symbol: 'circle',
symbolSize: 8,
showSymbol: list.length >= 1,
connectNulls: true,
z: 10,
itemStyle: {
color: '#CF5375',
},
markLine: {
symbol: ['none', 'none'],
data: [
{
name: '达标区(1分)',
yAxis: 1,
label: {
formatter: '{b}',
position: 'insideMiddle',
color: '#24D8C8',
fontSize: '10',
},
lineStyle: {
cap: '',
color: '#34D7C7',
type: 'dashed',
},
},
],
},
markArea: {
itemStyle: {
color: 'rgba(37,217,200,0.19)',
},
data: [
[
{
yAxis: 0,
},
{
yAxis: 1,
},
],
],
},
},
],
dataZoom: {
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
startValue: list.length - 5,
endValue: list.length - 1,
filterMode: 'none',
},
}
if (this.data.detail.UserType === 4) {
const markLineData = list
.filter((item) => item.InjectionBottles)
.map((item) => {
return {
name: '',
xAxis: dayjs(item.Date).format('MM-DD'),
lineStyle: {
color: 'rgba(37, 217, 200,0.5)',
cap: '',
type: 'solid',
},
label: {
formatter: '',
position: 'insideEndBottom',
rotate: 0,
color: '#25D9C8',
offset: [60, 0],
},
}
})
option.series.push({
name: '用药',
data: list.map((item) => (item.InjectionBottles ? 0 : null)),
type: 'line',
symbol:
'image://data:image/png;base64,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',
symbolSize: [11, 16],
symbolOffset: [0, 0],
itemStyle: {
color: '#25D9C8',
},
lineStyle: {
width: 0,
},
tooltip: {
show: false,
},
z: 11,
markLine: {
symbol: ['none', 'none'],
data: markLineData,
},
})
// option.series.push({
// name: "用药时间",
// data: list.map((item: any) => (item.InjectionBottles ? item.TotalScore : 0)),
// type: "line",
// symbol:
// "image://data:image/png;base64,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",
// symbolSize: [11, 16],
// symbolOffset: [0, "100%"],
// itemStyle: {
// color: "#25D9C8",
// },
// tooltip: {
// show: false,
// },
// lineStyle: {
// width: 0,
// },
// z: 1,
// });
}
chart.setOption(option)
reslove(chart)
return chart
})
})
},
initChart4(defaultList = []) {
const { userInfo } = this.data
const list: any = defaultList
return new Promise((reslove) => {
this.ecDataTrendComponent4.init((canvas, width, height, dpr) => {
const chart = echarts.init(canvas, null, {
width,
height,
devicePixelRatio: dpr, // new
})
canvas.setChart(chart)
const option: any = {
tooltip: {
show: false,
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
confine: true,
backgroundColor: 'rgba(0, 0, 0, 0.5)',
textStyle: {
color: '#fff',
fontSize: 10,
},
order: 'seriesDesc',
},
grid: {
top: '30',
left: '0',
right: '0',
bottom: '10',
containLabel: true,
},
xAxis: [
{
type: 'category',
axisTick: {
show: true,
inside: true,
length: 1,
alignWithLabel: true,
lineStyle: {
type: 'dotted',
color: '#D8D8D8',
width: 4,
cap: 'round',
},
},
axisLine: {
lineStyle: {
color: '#8C8C8C',
type: 'dashed',
},
},
data: list.map((item) => dayjs(item.Date).format('MM-DD')),
},
],
yAxis: [
{
type: 'value',
minInterval: 1,
max(value) {
return value.max + 20 > 999 ? 999 : value.max + 20
},
axisLabel: {
// width: 20,
formatter(value: number) {
return value
},
},
},
],
series: [
{
name: '激素用量',
data: list.length ? list.map((item) => item.SteroidDailyDose) : [20],
barWidth: '16',
type: 'line',
symbol: 'circle',
symbolSize: 8,
connectNulls: true,
showSymbol: list.length >= 1,
z: 10,
label: {
show: true,
position: 'top',
color: '#18474e',
z: 11,
formatter({ value }) {
return `${value}mg`
},
},
itemStyle: {
color: '#3192A1',
},
markLine: {
symbol: ['none', 'none'],
data: [
{
name: '达标区(5mg)',
yAxis: 5,
label: {
formatter: '{b}',
position: 'insideMiddle',
color: '#24D8C8',
fontSize: '10',
},
lineStyle: {
cap: '',
color: '#34D7C7',
type: 'dashed',
},
},
{
name: '20',
yAxis: 20,
label: {
formatter: '{b}',
position: 'start',
color: '#D76C6C',
distance: 8,
},
lineStyle: {
cap: '',
color: '#D76C6C',
type: 'dashed',
},
},
],
},
markArea: {
itemStyle: {
color: 'rgba(37,217,200,0.19)',
},
data: [
[
{
yAxis: 0,
},
{
yAxis: 5,
},
],
],
},
},
],
dataZoom: {
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
startValue: list.length - 5,
endValue: list.length - 1,
filterMode: 'none',
},
}
if (this.data.detail.UserType === 4) {
const markLineData = list
.filter((item) => item.InjectionBottles)
.map((item) => {
return {
name: '',
xAxis: dayjs(item.Date).format('MM-DD'),
lineStyle: {
color: 'rgba(37, 217, 200,0.5)',
cap: '',
type: 'solid',
},
label: {
formatter: '',
position: 'insideEndBottom',
rotate: 0,
color: '#25D9C8',
offset: [60, 0],
},
}
})
const maxValue = Math.max(...list.map((item) => item.SteroidDailyDose))
option.series.push({
name: '用药',
data: list.map((item) => (item.InjectionBottles ? 0 : null)),
type: 'line',
symbol:
'image://data:image/png;base64,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',
symbolSize: [11, 16],
symbolOffset: [0, 0],
itemStyle: {
color: '#25D9C8',
},
lineStyle: {
width: 0,
},
tooltip: {
show: false,
},
z: 11,
markLine: {
symbol: ['none', 'none'],
data: markLineData,
},
})
// option.series.push({
// name: "用药时间",
// data: list.map((item: any) => (item.InjectionBottles ? item.TotalScore : 0)),
// type: "line",
// symbol:
// "image://data:image/png;base64,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",
// symbolSize: [11, 16],
// symbolOffset: [0, "100%"],
// itemStyle: {
// color: "#25D9C8",
// },
// tooltip: {
// show: false,
// },
// lineStyle: {
// width: 0,
// },
// z: 1,
// });
}
chart.setOption(option)
reslove(chart)
return chart
})
})
},
handleRemark() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILREMARK' })
this.setData({ this.setData({
popupRemarkShow: true, popupRemarkShow: true,
remark: this.data.detail.DoctorRemark, remark: this.data.detail.DoctorRemark,
@ -833,7 +216,6 @@ Page({
}, },
handleEditUser() { handleEditUser() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILEDIT' })
this.setData({ this.setData({
popupEditShow: true, popupEditShow: true,
}) })
@ -859,12 +241,12 @@ Page({
method: 'POST', method: 'POST',
url: '?r=igg4/doctor/patient/update', url: '?r=igg4/doctor/patient/update',
data: { data: {
PatientId: detail.PatientId, //患者Id PatientId: detail.PatientId,
AntibodyType: detail.AntibodyType, //抗体类型 1:AChR 2:Musk 3:LRP4 4:RYR AntibodyType: detail.AntibodyType,
ThyroidAbnormal: detail.ThyroidAbnormal, //胸腺异常 1:是 2:否 ThyroidAbnormal: detail.ThyroidAbnormal,
PreviousConvulsion: detail.PreviousConvulsion, //既往发生危象 1:是 2:否 PreviousConvulsion: detail.PreviousConvulsion,
TraditionalImmunosuppressant: detail.TraditionalImmunosuppressant, //传统免疫抑制剂 1:特克莫苏 2:硫唑嘌呤 3:马替麦考酚酯 4:其他 TraditionalImmunosuppressant: detail.TraditionalImmunosuppressant,
MedicalInsuranceType: detail.MedicalInsuranceType, //医保类型 1:城市职工 2:城市居民 3:新农合 MedicalInsuranceType: detail.MedicalInsuranceType,
}, },
}).then(() => { }).then(() => {
wx.showToast({ wx.showToast({
@ -874,81 +256,17 @@ Page({
this.getDetail() this.getDetail()
}) })
}, },
handleBack() {
wx.navigateBack()
},
handleSend() { handleSend() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILMESSAGE' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/d_interactiveDoctor/index?patientId=${this.data.detail.PatientId}`, url: `/doctor/pages/d_interactiveDoctor/index?patientId=${this.data.detail.PatientId}`,
}) })
}, },
handleNav(e, mp = true) { handleToggleTel() {
const { index } = e.currentTarget.dataset
if (index == 0 && mp) {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILREPORTGUIDE' })
}
if (index == 1 && mp) {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILNOTEGUIDE' })
}
this.setData({
nav: index,
})
this.handleTypeChange({ detail: { value: '2' } })
},
getAdlList(newPage = 1) {
const { detail, EndDate, StartDate, type } = this.data
wx.ajax({
method: 'GET',
url: '?r=igg4/doctor/patient/adl-list',
data: {
DateType: type,
PatientId: detail.PatientId,
StartDate,
EndDate,
page: newPage,
},
}).then((res) => {
res.list.map((item) => {
let grade = 1
if (item.TotalScore < 5) {
grade = 1
} else if (item.TotalScore >= 5 && item.TotalScore < 15) {
grade = 2
} else {
grade = 3
}
item.grade = grade
item.fold = false
return item
})
const adlList = res.page === 1 ? res.list : [...this.data.adlList, ...res.list]
this.setData({
adlList,
pagination: {
page: res.page,
pages: res.pages,
count: res.count,
},
})
})
},
onReachBottom() {
const { page, pages } = this.data.pagination
const nav = this.data.nav
if (pages > page && nav === '1') {
this.getAdlList(page + 1)
}
},
handleFold(e) {
const { index } = e.currentTarget.dataset
this.setData({ this.setData({
[`adlList[${index}].fold`]: !this.data.adlList[index].fold, showTel: !this.data.showTel,
}) })
}, },
handleAdlDetail() {},
handleToastOk() { handleToastOk() {
this.setData({ this.setData({
toastShow: false, toastShow: false,
@ -957,10 +275,4 @@ Page({
handleToastCancel() { handleToastCancel() {
wx.navigateBack() wx.navigateBack()
}, },
handleToggleTel() {
console.log(11111)
this.setData({
showTel: !this.data.showTel,
})
},
}) })

5
src/doctor/pages/d_patientDetail/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../../utils/tools.wxs" module="tools" />
<view class="page"> <view class="page">
<view class="banner"> <view class="banner">
<view class="avatar"> <view class="avatar">
@ -10,8 +11,8 @@
<image wx:else class="tel-icon" src="{{imageUrl}}/5/eye1.png?t={{Timestamp}}"></image> <image wx:else class="tel-icon" src="{{imageUrl}}/5/eye1.png?t={{Timestamp}}"></image>
</view> </view>
<view class="content"> <view class="content">
<view>{{detail.AgeRangeName}} | {{showTel ? detail.Telephone : '***********'}}</view> <view>{{detail.AgeRangeName}} | {{showTel ? detail.Telephone : detail.hideTelephone}}</view>
<view>邀约时间:{{detail.InviteTime}}</view> <view>邀约时间:{{tools.formatDate(detail.InviteTime)}}</view>
</view> </view>
</view> </view>
</view> </view>

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

@ -1,3 +1,4 @@
<wxs src="../../../utils/tools.wxs" module="tools" />
<view class="page"> <view class="page">
<navBar background="{{background}}" title="{{navTitle}}" back bind:back="handleBack"></navBar> <navBar background="{{background}}" title="{{navTitle}}" back bind:back="handleBack"></navBar>
<view class="total-line"> <view class="total-line">
@ -19,7 +20,7 @@
<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 ? '<1年' : item.DiagnosisTimeRange == 2 ? '1-3年' : '>3年'}}</view>
</view> </view>
<view class="replay-date">邀约时间:{{item.InviteTime}}</view> <view class="replay-date">邀约时间:{{tools.formatDate(item.InviteTime)}}</view>
<view class="remark">备注:{{item.DoctorRemark || '无'}}</view> <view class="remark">备注:{{item.DoctorRemark || '无'}}</view>
</view> </view>
</view> </view>

3
src/doctor/pages/d_taskList/index.ts

@ -32,7 +32,6 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ doctor: true, PageName: 'PG_MASSMESSAGETASKLIST' })
this.getList() this.getList()
}) })
}, },
@ -105,13 +104,11 @@ Page({
}) })
}, },
handleCreate() { handleCreate() {
app.mpBehavior({ doctor: true, PageName: 'BTN_MASSMESSAGETASKLISTADD' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/d_createTask/index', url: '/doctor/pages/d_createTask/index',
}) })
}, },
handleDetail(e) { handleDetail(e) {
app.mpBehavior({ doctor: true, PageName: 'BTN_MASSMESSAGETASKLISTTASK' })
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/d_taskDetail/index?id=${id}`, url: `/doctor/pages/d_taskDetail/index?id=${id}`,

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

@ -1,7 +1,7 @@
<view <view
class="page" class="page"
> >
<image class="logo" src="/images/bg19.png"></image> <image class="logo" src="{{imageUrl}}bg19.png?t={{Timestamp}}"></image>
<view class="back" bind:tap="handleLoginOut">随便看看</view> <view class="back" bind:tap="handleLoginOut">随便看看</view>
<view class="submit" bind:tap="handleBackHome">回到医生端</view> <view class="submit" bind:tap="handleBackHome">回到医生端</view>
<view class="tip"> <view class="tip">

4
src/doctor/pages/d_transfer/index.ts

@ -23,7 +23,6 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORRECOMMENDEDREFERRAL' })
this.getList() this.getList()
}) })
}, },
@ -71,7 +70,6 @@ Page({
}) })
}, },
handlePopup() { handlePopup() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORRECOMMENDEDREFERRALPAGEFASTFINDDR' })
this.setData({ this.setData({
show: true, show: true,
}) })
@ -81,7 +79,6 @@ Page({
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const item: any = list[index] const item: any = list[index]
const url = `${app.globalData.url}?r=igg4/doctor/doctor-recommend/get-rec-code&loginState=${app.globalData.loginState}&recommendDoctorId=${item.doctorId}` const url = `${app.globalData.url}?r=igg4/doctor/doctor-recommend/get-rec-code&loginState=${app.globalData.loginState}&recommendDoctorId=${item.doctorId}`
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORRECOMMENDEDREFERRALPAGERECOMMENDCODE' })
this.setData({ this.setData({
toastShow: true, toastShow: true,
toastType: 'transferCode', toastType: 'transferCode',
@ -101,7 +98,6 @@ Page({
wx.navigateBack() wx.navigateBack()
}, },
handleLog() { handleLog() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORRECOMMENDEDREFERRALPAGEMYRECORD' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/d_transferLog/index', url: '/doctor/pages/d_transferLog/index',
}) })

5
src/doctor/pages/d_transfer/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../../utils/tools.wxs" module="tools" />
<page-meta page-style="{{ toastShow ? 'overflow: hidden;' : '' }}" /> <page-meta page-style="{{ toastShow ? 'overflow: hidden;' : '' }}" />
<view class="page" style="background: url({{imageUrl}}/bg8.png?t={{Timestamp}}) no-repeat top center/100% 640rpx"> <view class="page" style="background: url({{imageUrl}}/bg8.png?t={{Timestamp}}) no-repeat top center/100% 640rpx">
<navBar title="推荐转诊" back background="{{background}}" color="#000" bind:back="handleBack"></navBar> <navBar title="推荐转诊" back background="{{background}}" color="#000" bind:back="handleBack"></navBar>
@ -17,7 +18,7 @@
<view class="hostipal">{{item.hospitalName}}</view> <view class="hostipal">{{item.hospitalName}}</view>
</view> </view>
<view class="site"> <view class="site">
{{item.hospitalProvinceName}}{{item.hospitalCityName}}{{item.hospitalCountyName}}{{item.hospitalAreaName}} {{tools.formatArea(item.hospitalProvinceName, item.hospitalCityName)}}{{item.hospitalCountyName}}{{item.hospitalAreaName}}
</view> </view>
<view class="footer"> <view class="footer">
<view class="btn" bind:tap="handleCode" data-index="{{index}}"> <view class="btn" bind:tap="handleCode" data-index="{{index}}">
@ -37,7 +38,7 @@
</view> </view>
<view class="btn" wx:if="{{ProvinceName}}"> <view class="btn" wx:if="{{ProvinceName}}">
<text>{{ProvinceName}}</text> <text>{{ProvinceName}}</text>
<text>{{ProvinceName == CityName ? '' : CityName}}</text> <text wx:if="{{ProvinceName != CityName}}">{{CityName}}</text>
</view> </view>
<view class="btn" wx:else>点击一键找医生</view> <view class="btn" wx:else>点击一键找医生</view>
</view> </view>

12
src/doctor/pages/d_transferLog/index.ts

@ -41,15 +41,6 @@ Page({
0: '?r=igg4/doctor/doctor-recommend/get-rec-stat-list', 0: '?r=igg4/doctor/doctor-recommend/get-rec-stat-list',
1: '?r=igg4/doctor/doctor-recommend/get-be-rec-stat-list', 1: '?r=igg4/doctor/doctor-recommend/get-be-rec-stat-list',
}[active] }[active]
if (newPage == 1) {
app.mpBehavior({
doctor: true,
PageName: {
0: 'PG_DOCTORRECOMMENDEDRECORDPAGE_MYRECOMMENDLIST',
1: 'PG_DOCTORRECOMMENDEDRECORDPAGE_RECOMMENDEDTOMElist',
}[active] as string,
})
}
if (!url) return if (!url) return
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
@ -77,8 +68,7 @@ Page({
} }
}, },
handleDetail(e) { handleDetail(e) {
const { type, id, code } = e.currentTarget.dataset const { type, id} = e.currentTarget.dataset
app.mpBehavior({ doctor: true, PageName: code })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/d_transferDetail/index?type=${type}&id=${id}`, url: `/doctor/pages/d_transferDetail/index?type=${type}&id=${id}`,
}) })

9
src/doctor/pages/d_transferLog/index.wxml

@ -1,11 +1,5 @@
<view class="page" style="background: url({{imageUrl}}/bg8.png?t={{Timestamp}}) no-repeat top center/100% 640rpx"> <view class="page" style="background: url({{imageUrl}}/bg8.png?t={{Timestamp}}) no-repeat top center/100% 640rpx">
<navBar <navBar title="推荐记录" back background="{{background}}" color="#000" bind:back="handleBack"></navBar>
title="推荐记录"
back
background="{{background}}"
color="#000"
bind:back="handleBack"
></navBar>
<view class="page-container"> <view class="page-container">
<van-tabs <van-tabs
class="tabs" class="tabs"
@ -89,7 +83,6 @@
bind:tap="handleDetail" bind:tap="handleDetail"
data-type="2" data-type="2"
data-id="{{item.doctorId}}" data-id="{{item.doctorId}}"
data-code="BTN_DOCTORRECOMMENDEDRECORDPAGE_RECOMMENDEDTOMElist"
> >
<view class="td1"> <view class="td1">
<image class="avatar" mode="aspectFill" src="{{item.doctorImg}}"></image> <image class="avatar" mode="aspectFill" src="{{item.doctorImg}}"></image>

3
src/doctor/pages/d_userInfo/index.ts

@ -57,7 +57,6 @@ Page({
onLoad() {}, onLoad() {},
onShow() { onShow() {
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORPERSONALINFO' })
this.getDetail() this.getDetail()
}) })
}, },
@ -136,7 +135,6 @@ Page({
}) })
}, },
handleChangePhone() { handleChangePhone() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPERSONALINFOCHANGEPHONE' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/d_changePhone/index', url: '/doctor/pages/d_changePhone/index',
}) })
@ -217,7 +215,6 @@ Page({
this.getDetail() this.getDetail()
}, },
handleSwitch() { handleSwitch() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPERSONALINFOSWITCHACCOUNT' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/d_changeDoctor/index', url: '/doctor/pages/d_changeDoctor/index',
}) })

31
src/gift/pages/myHealthRecord/index.ts

@ -116,7 +116,6 @@ Page({
app.waitLogin().then(() => { app.waitLogin().then(() => {
// 强制疾病患者以上身份 // 强制疾病患者以上身份
app.permissionVerification(3, 0, `/gift/pages/myHealthRecord/index`).then(() => { app.permissionVerification(3, 0, `/gift/pages/myHealthRecord/index`).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTHEALTHRECORD' })
app.getUserInfo(this, true, (res) => { app.getUserInfo(this, true, (res) => {
if (res.UserType != 4) { if (res.UserType != 4) {
this.setData({ this.setData({
@ -214,25 +213,14 @@ Page({
let EndMonth = '' let EndMonth = ''
let BeginMonth = '' let BeginMonth = ''
if (type == '1') { if (type == '1') {
if (e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDDAILYCURVE' })
}
EndMonth = dayjs().format('YYYY-MM-DD') EndMonth = dayjs().format('YYYY-MM-DD')
BeginMonth = dayjs().subtract(6, 'd').format('YYYY-MM-DD') BeginMonth = dayjs().subtract(6, 'd').format('YYYY-MM-DD')
} else if (type == '2') { } else if (type == '2') {
if (e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMONTHLYCURVE' })
}
EndMonth = dayjs().format('YYYY-MM') EndMonth = dayjs().format('YYYY-MM')
BeginMonth = dayjs().subtract(1, 'M').format('YYYY-MM') BeginMonth = dayjs().subtract(1, 'M').format('YYYY-MM')
} else if (type == '3') { } else if (type == '3') {
if (e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDYEARLYCURVE' })
}
EndMonth = dayjs().format('YYYY') EndMonth = dayjs().format('YYYY')
BeginMonth = dayjs().subtract(1, 'y').format('YYYY') BeginMonth = dayjs().subtract(1, 'y').format('YYYY')
} else if (type == '4' && e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDTIMECURVE' })
} }
this.setData({ this.setData({
page: 0, page: 0,
@ -253,15 +241,6 @@ Page({
this.setData({ this.setData({
tab: index, tab: index,
}) })
if (index == 1) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDCOMPREHENSIVEREPORT' })
}
if (index == 2) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDDUALCOMPLIANCENOTES' })
}
if (index == 3) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMEDICATIONRECORD' })
}
this.handleTabCallBack() this.handleTabCallBack()
}, },
handleTabCallBack() { handleTabCallBack() {
@ -965,12 +944,6 @@ Page({
if (isi == 1) { if (isi == 1) {
return return
} }
if (tab == 1) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDREPORTLIST' })
}
if (tab == 2) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDNOTESLIST' })
}
wx.navigateTo({ wx.navigateTo({
url: `/pages/adlResult/index?id=${id}`, url: `/pages/adlResult/index?id=${id}`,
@ -1001,13 +974,11 @@ Page({
}) })
}, },
handleAdd() { handleAdd() {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDASSESSMENT' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/adl/index', url: '/pages/adl/index',
}) })
}, },
handleAddDrug() { handleAddDrug() {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMEDICATION' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/drugRecord/index', url: '/pages/drugRecord/index',
}) })
@ -1026,7 +997,6 @@ Page({
}, },
handleDetailDrug(e) { handleDetailDrug(e) {
const { id, isi } = e.currentTarget.dataset const { id, isi } = e.currentTarget.dataset
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMEDICATIONLIST' })
if (isi == 1) { if (isi == 1) {
return return
} }
@ -1063,7 +1033,6 @@ Page({
}) })
}, },
handleShare() { handleShare() {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDSHAREDUALCOMPLIANCEPOSTER' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/adlShare/index', url: '/pages/adlShare/index',
}) })

BIN
src/images/1/audio-pause.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/images/1/audio-play.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/images/1/drug-share-active.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

BIN
src/images/1/drug-star-active.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/images/1/drug-view-active.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/images/1/firee-audio-bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/images/1/save.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

After

Width:  |  Height:  |  Size: 1019 B

BIN
src/images/1/share.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

After

Width:  |  Height:  |  Size: 917 B

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/images/1/star.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 985 B

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 872 B

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/images/1/view.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/images/bg35.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

2
src/pages/changePhone/index.scss

@ -37,7 +37,7 @@
#drug-page { #drug-page {
.btn { .btn {
color: rgba(22, 121, 203, 1); color: #5956e9;
} }
.submit { .submit {
background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%);

5
src/pages/doctor/index.ts

@ -41,9 +41,7 @@ Page({
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
if (options.es === '201504') { if (options.es === '201504') {
app.globalData.IsAliQiWei = 1 app.globalData.IsAliQiWei = 1
app.mpBehavior({ PageName: 'PG_PATIENTVISITMAP_PAGE' })
} }
app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPLIST' })
app.getUserInfo(this, true) app.getUserInfo(this, true)
if (options.pid) { if (options.pid) {
@ -127,7 +125,6 @@ Page({
}) })
}, },
handleTapSite() { handleTapSite() {
app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPCHANGEAREA' })
}, },
handleChangeSite(e: WechatMiniprogram.CustomEvent) { handleChangeSite(e: WechatMiniprogram.CustomEvent) {
const detail = e.detail const detail = e.detail
@ -140,7 +137,6 @@ Page({
this.getList() this.getList()
}, },
handleTapSearch() { handleTapSearch() {
app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPSEARCHBOX' })
}, },
handleBlur() { handleBlur() {
this.getList() this.getList()
@ -192,7 +188,6 @@ Page({
}, },
handleDetail(e: WechatMiniprogram.CustomEvent) { handleDetail(e: WechatMiniprogram.CustomEvent) {
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPLIST' })
wx.navigateTo({ wx.navigateTo({
url, url,
}) })

7
src/pages/doctor/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<page-meta page-style="{{ areaShow ? 'overflow: hidden;' : '' }}" /> <page-meta page-style="{{ areaShow ? 'overflow: hidden;' : '' }}" />
<view class="page" id="{{theme === 'DRUG' && 'drug-page'}}"> <view class="page" id="{{theme === 'DRUG' && 'drug-page'}}">
@ -16,7 +17,7 @@
<view class="area"> <view class="area">
<image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon68' : 'icon42'}}.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon68' : 'icon42'}}.png?t={{Timestamp}}"></image>
<view class="name" wx:if="{{ProvinceName}}"> <view class="name" wx:if="{{ProvinceName}}">
{{ProvinceName}}{{ProvinceName == CityName ? '' : CityName}} {{tools.formatArea(ProvinceName, CityName)}}
</view> </view>
<view class="name" wx:else>请选择省市</view> <view class="name" wx:else>请选择省市</view>
<view class="triangle"></view> <view class="triangle"></view>
@ -61,7 +62,7 @@
</view> </view>
<view class="content"> <view class="content">
<view class="inner"> <view class="inner">
<view class="site">{{item.ProvinceName}}{{item.CityName}}{{item.CountyName}}{{item.Address}}</view> <view class="site">{{tools.formatArea(item.ProvinceName, item.CityName)}}{{item.CountyName}}{{item.Address}}</view>
</view> </view>
<view class="c-footer"> <view class="c-footer">
<view class="tag" wx:if="{{item.DoctorNum>0}}">{{item.DoctorNum}}名医生</view> <view class="tag" wx:if="{{item.DoctorNum>0}}">{{item.DoctorNum}}名医生</view>
@ -70,7 +71,7 @@
catch:tap="handleOpenMap" catch:tap="handleOpenMap"
data-lat="{{item.LAT}}" data-lat="{{item.LAT}}"
data-lng="{{item.LNG}}" data-lng="{{item.LNG}}"
data-address="{{item.ProvinceName}}{{item.CityName}}{{item.CountyName}}{{item.Address}}" data-address="{{tools.formatArea(item.ProvinceName, item.CityName)}}{{item.CountyName}}{{item.Address}}"
data-name="{{item.Name}}" data-name="{{item.Name}}"
> >
{{item.dist}} {{item.dist}}

1
src/pages/doctor/siteShare/index.ts

@ -215,7 +215,6 @@ Component({
}, },
methods: { methods: {
handleShow() { handleShow() {
app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPDIRECTSHARE' })
this.setData({ this.setData({
show: true, show: true,
ProvinceName: this.data.pname || '', ProvinceName: this.data.pname || '',

6
src/pages/doctorDetail/index.scss

@ -47,10 +47,10 @@ page {
margin-top: 12rpx; margin-top: 12rpx;
display: inline-block; display: inline-block;
flex-shrink: 0; flex-shrink: 0;
padding: 0 12rpx; padding: 6rpx 12rpx;
font-size: 22rpx; font-size: 28rpx;
line-height: 40rpx;
color: #fff; color: #fff;
line-height: 1;
background: linear-gradient(90deg, #ffd650 0%, #f8a61a 100%); background: linear-gradient(90deg, #ffd650 0%, #f8a61a 100%);
border-radius: 8rpx 8rpx 8rpx 8rpx; border-radius: 8rpx 8rpx 8rpx 8rpx;
} }

3
src/pages/doctorDetail/index.ts

@ -1,3 +1,4 @@
import { formatArea } from '@/utils/util'
const app = getApp<IAppOption>() const app = getApp<IAppOption>()
Page({ Page({
@ -143,7 +144,7 @@ Page({
latitude: hospital.LAT, latitude: hospital.LAT,
longitude: hospital.LNG, longitude: hospital.LNG,
name: hospital.Name, name: hospital.Name,
address: `${hospital.ProvinceName}${hospital.CityName}${hospital.AreaName}${hospital.Address}`, address: `${formatArea(hospital.ProvinceName, hospital.CityName)}${hospital.AreaName}${hospital.Address}`,
}) })
}, },
handleBack() { handleBack() {

3
src/pages/doctorDetailBak/index.ts

@ -1,3 +1,4 @@
import { formatArea } from '@/utils/util'
const app = getApp<IAppOption>(); const app = getApp<IAppOption>();
Page({ Page({
@ -134,7 +135,7 @@ Page({
latitude: hospital.LAT, latitude: hospital.LAT,
longitude: hospital.LNG, longitude: hospital.LNG,
name: hospital.Name, name: hospital.Name,
address:`${hospital.ProvinceName}${hospital.CityName}${hospital.AreaName}${hospital.Address}` address:`${formatArea(hospital.ProvinceName, hospital.CityName)}${hospital.AreaName}${hospital.Address}`
}); });
}, },
handleBack() { handleBack() {

3
src/pages/doctorDetailBak/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<view <view
class="page" class="page"
id="{{theme === 'DRUG' && 'drug-page'}}" id="{{theme === 'DRUG' && 'drug-page'}}"
@ -22,7 +23,7 @@
<view class="content"> <view class="content">
<view class="inner"> <view class="inner">
<view class="site"> <view class="site">
{{detail.hospital.ProvinceName}}{{detail.hospital.CityName}}{{detail.hospital.CountyName}}{{detail.hospital.Address}} {{tools.formatArea(detail.hospital.ProvinceName, detail.hospital.CityName)}}{{detail.hospital.CountyName}}{{detail.hospital.Address}}
</view> </view>
<view class="site-num">{{detail.hospital.dist}}</view> <view class="site-num">{{detail.hospital.dist}}</view>
</view> </view>

20
src/pages/enterInfo/index.scss

@ -19,7 +19,7 @@
box-sizing: border-box; box-sizing: border-box;
border-radius: 24rpx; border-radius: 24rpx;
.switch { .switch {
margin-bottom: 50rpx; margin-bottom: 68rpx;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -28,9 +28,9 @@
flex: 1; flex: 1;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f6f8f9; background-color: rgba(246, 246, 246, 1);
border-radius: 16rpx; border-radius: 16rpx;
border: 1px solid #f6f8f9; border: 1px solid rgba(246, 246, 246, 1);
.icon { .icon {
flex-shrink: 0; flex-shrink: 0;
width: 148rpx; width: 148rpx;
@ -43,7 +43,7 @@
} }
&.active { &.active {
border-color: #0eb66d; border-color: #0eb66d;
background: #fff; background-color: #ecfff7;
.name { .name {
color: #0eb66d; color: #0eb66d;
} }
@ -61,7 +61,7 @@
font-weight: bold; font-weight: bold;
} }
.row { .row {
margin-bottom: 56rpx; margin-bottom: 68rpx;
&.row2 { &.row2 {
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
@ -102,23 +102,23 @@
.input { .input {
flex: 1; flex: 1;
padding: 24rpx 32rpx; padding: 24rpx 32rpx;
height: 40rpx; height: 100rpx;
font-size: 36rpx; font-size: 36rpx;
color: #222222; color: #222222;
background: #f6f6f6; background: #f6f6f6;
border-radius: 24rpx; border-radius: 24rpx;
} }
.item { .item {
padding: 12rpx 24rpx; padding: 24rpx 24rpx;
opacity: 1; opacity: 1;
border: 2rpx solid #cccccc; border: 1px solid rgba(246, 246, 246, 1);
font-size: 36rpx; font-size: 36rpx;
color: #999999; color: #999999;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border-radius: 12rpx; border-radius: 12rpx;
background: linear-gradient(90deg, #fff 0%, #f9f9f9 100%); background: rgba(246, 246, 246, 1);
.icon { .icon {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
@ -143,7 +143,7 @@
} }
} }
.age-item { .age-item {
height: 96rpx; height: 114rpx;
white-space: nowrap; white-space: nowrap;
font-size: 36rpx; font-size: 36rpx;
color: rgba(34, 34, 34, 0.7); color: rgba(34, 34, 34, 0.7);

2
src/pages/enterInfo/index.ts

@ -36,7 +36,6 @@ Page({
ageRange: userInfo.AgeRange, ageRange: userInfo.AgeRange,
}) })
}) })
app.mpBehavior({ PageName: 'PG_PATIENTINFOENTRY' })
}) })
}, },
handleRelationType(e: WechatMiniprogram.CustomEvent) { handleRelationType(e: WechatMiniprogram.CustomEvent) {
@ -87,7 +86,6 @@ Page({
}, },
handleSubmit() { handleSubmit() {
if (this.data.submiting) return if (this.data.submiting) return
app.mpBehavior({ PageName: 'BTN_PATIENTINFONEXT' })
const { name, gender, ageRange, relationType } = this.data const { name, gender, ageRange, relationType } = this.data
const { registrationSource, registChannel, regBusinessId, WorkerId } = app.globalData const { registrationSource, registChannel, regBusinessId, WorkerId } = app.globalData
const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene

10
src/pages/enterInfo/index.wxml

@ -29,11 +29,11 @@
<view class="row-title">患者年龄</view> <view class="row-title">患者年龄</view>
<view class="row row-age"> <view class="row row-age">
<view class="age-item {{ageRange==1 && 'active'}}" data-id="1" bind:tap="handleSelectAge">{{"<40岁"}}</view> <view class="age-item {{ageRange==1 && 'active'}}" data-id="1" bind:tap="handleSelectAge">{{"<40岁"}}</view>
<view class="age-item {{ageRange==2 && 'active'}}" data-id="2" bind:tap="handleSelectAge">{{"40 - 49 岁"}}</view> <view class="age-item {{ageRange==2 && 'active'}}" data-id="2" bind:tap="handleSelectAge">{{"40-49岁"}}</view>
<view class="age-item {{ageRange==3 && 'active'}}" data-id="3" bind:tap="handleSelectAge">{{"50 - 59 岁"}}</view> <view class="age-item {{ageRange==3 && 'active'}}" data-id="3" bind:tap="handleSelectAge">{{"50-59岁"}}</view>
<view class="age-item {{ageRange==4 && 'active'}}" data-id="4" bind:tap="handleSelectAge">{{"60 - 69 岁"}}</view> <view class="age-item {{ageRange==4 && 'active'}}" data-id="4" bind:tap="handleSelectAge">{{"60-69岁"}}</view>
<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">

4
src/pages/family/index.ts

@ -19,7 +19,6 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTMYRELATIVES' })
this.getMpInfo() this.getMpInfo()
}) })
}, },
@ -46,9 +45,6 @@ Page({
}, },
routerTo(e) { routerTo(e) {
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
if (url === '/pages/familyList/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTFAMILYMEMBERSVIEW' })
}
wx.navigateTo({ wx.navigateTo({
url, url,
}) })

1
src/pages/familyList/index.ts

@ -12,7 +12,6 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTMYRELATIVESLIST' })
this.getFamilyList(); this.getFamilyList();
app.getUserInfo(this); app.getUserInfo(this);
}); });

3
src/pages/hospital/index.ts

@ -1,3 +1,4 @@
import { formatArea } from '@/utils/util'
const app = getApp<IAppOption>() const app = getApp<IAppOption>()
Page({ Page({
@ -157,7 +158,7 @@ Page({
latitude: detail.LAT, latitude: detail.LAT,
longitude: detail.LNG, longitude: detail.LNG,
name: detail.Name, name: detail.Name,
address: `${detail.ProvinceName}${detail.CityName}${detail.CountyName}${detail.Address}`, address: `${formatArea(detail.ProvinceName, detail.CityName)}${detail.CountyName}${detail.Address}`,
}) })
}, },
handleTimeOut(Id) { handleTimeOut(Id) {

3
src/pages/hospital/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<view class="page" id="{{theme === 'DRUG' && 'drug-page'}}"> <view class="page" id="{{theme === 'DRUG' && 'drug-page'}}">
<view class="banner"> <view class="banner">
<view class="b-header"> <view class="b-header">
@ -13,7 +14,7 @@
<view class="content"> <view class="content">
<view class="row" bind:tap="handleOpenMap"> <view class="row" bind:tap="handleOpenMap">
<image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon68' : 'icon42'}}.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon68' : 'icon42'}}.png?t={{Timestamp}}"></image>
{{detail.ProvinceName}}{{detail.CityName}}{{detail.CountyName}}{{detail.Address}} {{tools.formatArea(detail.ProvinceName, detail.CityName)}}{{detail.CountyName}}{{detail.Address}}
</view> </view>
<view class="row" bind:tap="handlePhone" wx:if="{{detail.Telephone}}"> <view class="row" bind:tap="handlePhone" wx:if="{{detail.Telephone}}">
<image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon70' : 'icon46'}}.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon70' : 'icon46'}}.png?t={{Timestamp}}"></image>

32
src/pages/index/index.scss

@ -16,12 +16,12 @@ page {
.page-header { .page-header {
background: linear-gradient(to bottom, #fff 80%, #f6f6f6 100%) no-repeat top center/100%; background: linear-gradient(to bottom, #fff 80%, #f6f6f6 100%) no-repeat top center/100%;
.user { .user {
margin: 53rpx $page-margin 0; margin: 23rpx $page-margin 40rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.content { .content {
margin-left: 33rpx; margin-right: 10rpx;
.name { .name {
font-size: 48rpx; font-size: 48rpx;
color: #333333; color: #333333;
@ -29,6 +29,7 @@ page {
line-height: 48rpx; line-height: 48rpx;
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: wrap;
.high { .high {
color: #0eb66d; color: #0eb66d;
} }
@ -45,10 +46,9 @@ page {
} }
} }
.day { .day {
padding: 36rpx 0 0; padding: 36rpx 0 20rpx;
width: 220rpx; width: 220rpx;
height: 194rpx; height: 194rpx;
box-sizing: border-box;
text-align: center; text-align: center;
.d-title { .d-title {
font-size: 16rpx; font-size: 16rpx;
@ -56,7 +56,7 @@ page {
line-height: 1; line-height: 1;
} }
.d-content { .d-content {
margin-top: 64rpx; margin-top: 76rpx;
font-size: 26rpx; font-size: 26rpx;
color: rgba(34, 34, 34, 0.7); color: rgba(34, 34, 34, 0.7);
display: flex; display: flex;
@ -81,7 +81,7 @@ page {
margin-top: 0; margin-top: 0;
} }
.kkd { .kkd {
margin: 0 $page-margin 80rpx; margin: 40rpx $page-margin 80rpx;
.k-item { .k-item {
display: block; display: block;
width: 100%; width: 100%;
@ -306,10 +306,10 @@ page {
} }
} }
.book { .book {
margin: 8rpx $page-margin 0; margin: 8rpx $page-margin -40rpx;
.swiper { .swiper {
margin: 0 -40rpx; margin: 0 -40rpx;
height: 700rpx; height: 860rpx;
.swiper-item { .swiper-item {
padding: 32rpx 40rpx; padding: 32rpx 40rpx;
box-sizing: border-box; box-sizing: border-box;
@ -328,8 +328,8 @@ page {
.cover { .cover {
flex-shrink: 0; flex-shrink: 0;
width: 210rpx; width: 190rpx;
height: 140rpx; height: 190rpx;
position: relative; position: relative;
.photo { .photo {
@ -350,8 +350,8 @@ page {
} }
.content { .content {
font-size: 28rpx; font-size: 36rpx;
color: #666666; color: #222;
font-weight: bold; font-weight: bold;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -378,13 +378,16 @@ page {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
} }
&.active {
color: #0eb66d;
}
} }
} }
} }
} }
.card:not(:last-of-type) { .card:not(:last-of-type) {
border-bottom: 1rpx solid rgba(152, 175, 225, 0.5); border-bottom: 1rpx solid rgba(152, 175, 225, 0.1);
} }
} }
} }
@ -509,6 +512,9 @@ page {
background: rgba(89, 86, 233, 1); background: rgba(89, 86, 233, 1);
} }
} }
.action-btn.active {
color: #5956e9;
}
} }
.slidearea { .slidearea {

56
src/pages/index/index.ts

@ -52,7 +52,6 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({}).then(() => { app.waitLogin({}).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTHOME' })
this.setData({ this.setData({
anyWhere: app.globalData.anyWhere, anyWhere: app.globalData.anyWhere,
}) })
@ -106,8 +105,12 @@ Page({
}, },
updateNextVisitDays(userInfo: any) { updateNextVisitDays(userInfo: any) {
if (userInfo.NextVisitDate) { if (userInfo.NextVisitDate) {
const diff = dayjs(userInfo.NextVisitDate).diff(dayjs(), 'day') const diffMs = dayjs(userInfo.NextVisitDate).diff(dayjs())
this.setData({ nextVisitDays: diff >= 0 ? diff : 0 }) if (diffMs <= 0) {
this.setData({ nextVisitDays: 0 })
} else {
this.setData({ nextVisitDays: Math.ceil(diffMs / (24 * 60 * 60 * 1000)) })
}
} else { } else {
this.setData({ nextVisitDays: '--' }) this.setData({ nextVisitDays: '--' })
} }
@ -293,45 +296,6 @@ Page({
routerTo(e) { routerTo(e) {
let { url, active, code } = e.currentTarget.dataset let { url, active, code } = e.currentTarget.dataset
if (!url) return if (!url) return
if (code === 'adl') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEADLMODULE' })
}
if (code === 'drugs') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEMEDICATIONMODULE' })
}
if (code === 'story' && url === '/pages/story/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMESTORIESVIEWALL' })
}
if (code === 'story' && url.includes('/pages/publishStoryDetail/index')) {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMESTORYCLICK' })
}
if (code === 'activity2' && url === '/pages/live/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEONLINEACTIVITIESVIEWALL' })
}
if (code === 'activity2' && url === '/pages/live/index?index=0') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEONLINEACTIVITIESMONTHLYPOSTER' })
}
if (code === 'activity2' && url.includes('/pages/liveDetail/index')) {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEONLINEACTIVITIESCARD' })
}
if (code === 'activity1' && url === '/pages/live/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEOFFLINEACTIVITIESVIEWALL' })
}
if (code === 'activity1' && url.includes('/pages/liveDetail/index')) {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEOFFLINEACTIVITIESCARD' })
}
if (code === 'article' && url === '/pages/repository/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMERECOMMENDEDREADINGVIEWALL' })
}
if (code === 'article' && url.includes('/pages/repositoryDetail/index')) {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMERECOMMENDEDREADINGARTICLE' })
}
if (code === 'serviceConf') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMESERVICE' })
}
if (url === '/pages/interactivePatient/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTHOMEDOCTORCARD' })
}
if (url.includes('loginState')) { if (url.includes('loginState')) {
url = url + encodeURIComponent(app.globalData.loginState) url = url + encodeURIComponent(app.globalData.loginState)
@ -414,14 +378,6 @@ Page({
toastParams: '', toastParams: '',
}) })
}, },
handleMp(e: any) {
const { code } = e.currentTarget.dataset
const PageName = {
spread1: 'BTN_PATIENTHOMEBANNER1',
spread2: 'BTN_PATIENTHOMEBANNER2',
}[code]
app.mpBehavior({ PageName })
},
handleRegClose() { handleRegClose() {
this.setData({ this.setData({
regGuide: false, regGuide: false,

9
src/pages/index/index.wxml

@ -18,8 +18,8 @@
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="d-content">
<view class="num">{{nextVisitDays}}</view> <view class="num">{{nextVisitDays === 0 ? '今天' : nextVisitDays}}</view>
<text wx:if="{{nextVisitDays !== 0}}"></text>
</view> </view>
</view> </view>
</view> </view>
@ -65,7 +65,7 @@
</view> </view>
</view> </view>
</block> </block>
<view class="banner" wx:if="{{bannerList.length}}" bind:tap="handleMp" data-code="spread1"> <view class="banner" wx:if="{{bannerList.length}}">
<swiper <swiper
class="swiper" class="swiper"
indicator-active-color="rgba(39, 58, 101, 0.5)" indicator-active-color="rgba(39, 58, 101, 0.5)"
@ -142,7 +142,6 @@
> >
<view class="cover"> <view class="cover">
<image class="photo" mode="aspectFill" src="{{item.TitlePicLink}}"></image> <image class="photo" mode="aspectFill" src="{{item.TitlePicLink}}"></image>
<view class="label" wx:if="{{item.CateName}}">{{item.CateName}}</view>
</view> </view>
<view class="content"> <view class="content">
<view class="title">{{item.Title}}</view> <view class="title">{{item.Title}}</view>
@ -160,7 +159,7 @@
<image <image
class="action-icon" class="action-icon"
mode="aspectFit" mode="aspectFit"
src="{{imageUrl}}{{item.IsCollect ? '1/save-active-plan.png' : '1/save.png'}}?t={{Timestamp}}" src="{{imageUrl}}{{item.IsCollect ? (theme === 'DRUG' ? '1/drug-save-active.png' : '1/save-active.png') : '1/save.png'}}?t={{Timestamp}}"
></image> ></image>
<block wx:if="{{~~item.CollectionPeopleNum}}">{{item.CollectionPeopleNum}}</block> <block wx:if="{{~~item.CollectionPeopleNum}}">{{item.CollectionPeopleNum}}</block>
</view> </view>

3
src/pages/infusionCenter/index.ts

@ -1,3 +1,4 @@
import { formatArea } from '@/utils/util'
const app = getApp<IAppOption>() const app = getApp<IAppOption>()
Page({ Page({
@ -33,7 +34,7 @@ Page({
latitude: LAT, latitude: LAT,
longitude: LNG, longitude: LNG,
name: Name, name: Name,
address: `${ProvinceName}${CityName}${CountyName}${Address}`, address: `${formatArea(ProvinceName, CityName)}${CountyName}${Address}`,
}) })
}, },
handlePhone() { handlePhone() {

3
src/pages/infusionCenter/index.wxml

@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<view class="page" id="{{theme === 'DRUG' && 'drug-page'}}"> <view class="page" id="{{theme === 'DRUG' && 'drug-page'}}">
<image class="banner" mode="widthFix" src="{{imageUrl}}/bg6.png"></image> <image class="banner" mode="widthFix" src="{{imageUrl}}/bg6.png"></image>
<view class="container"> <view class="container">
@ -16,7 +17,7 @@
</view> </view>
<view class="content"> <view class="content">
<view class="inner"> <view class="inner">
<view class="site">{{detail.ProvinceName}}{{detail.CityName}}{{detail.CountyName}}{{detail.Address}}</view> <view class="site">{{tools.formatArea(detail.ProvinceName, detail.CityName)}}{{detail.CountyName}}{{detail.Address}}</view>
<view class="tel">{{detail.Telephone}}</view> <view class="tel">{{detail.Telephone}}</view>
</view> </view>
<view class="options"> <view class="options">

10
src/pages/interactivePatient/index.ts

@ -57,6 +57,7 @@ Page({
userInfo: {}, userInfo: {},
customMessage: '', customMessage: '',
sending: false,
}, },
onLoad(options) { onLoad(options) {
const systemInfo = wx.getMenuButtonBoundingClientRect() const systemInfo = wx.getMenuButtonBoundingClientRect()
@ -64,7 +65,6 @@ Page({
this.setData({ pageTop }) this.setData({ pageTop })
app.waitLogin({}).then(() => { app.waitLogin({}).then(() => {
app.mpBehavior({ PageName: 'PG_PatientImDetails' })
this.getDoctorDetail() this.getDoctorDetail()
this.getQuestionList() this.getQuestionList()
this.getMessageList() this.getMessageList()
@ -165,10 +165,12 @@ Page({
} }
}, },
handleHot(e) { handleHot(e) {
if (this.data.sending) return
const { index, mindex } = e.currentTarget.dataset const { index, mindex } = e.currentTarget.dataset
const { messageList } = this.data const { messageList } = this.data
const hotList = messageList[mindex].welcomeMsg?.hotQuestion const hotList = messageList[mindex].welcomeMsg?.hotQuestion
const hot = hotList?.[index] const hot = hotList?.[index]
this.setData({ sending: true })
this.setData({ this.setData({
messageList: [ messageList: [
...messageList, ...messageList,
@ -186,9 +188,11 @@ Page({
this.sendQuestion(hot?.questionId) this.sendQuestion(hot?.questionId)
}, },
handleQuestion(e) { handleQuestion(e) {
if (this.data.sending) return
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const { questionActiveList, messageList } = this.data const { questionActiveList, messageList } = this.data
const question = questionActiveList[index] const question = questionActiveList[index]
this.setData({ sending: true })
this.setData({ this.setData({
messageList: [ messageList: [
...messageList, ...messageList,
@ -224,9 +228,12 @@ Page({
msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
}, },
], ],
sending: false,
}) })
this.filterCreateTime() this.filterCreateTime()
this.handleView() this.handleView()
}).catch(() => {
this.setData({ sending: false })
}) })
}, },
formatTime(date: string) { formatTime(date: string) {
@ -295,7 +302,6 @@ Page({
} }
}, },
handleFooter() { handleFooter() {
app.mpBehavior({ PageName: 'BTN_PatientImAsk' })
this.setData({ this.setData({
expend: !this.data.expend, expend: !this.data.expend,
maxTextArea: false, maxTextArea: false,

4
src/pages/interactivePatient/index.wxml

@ -9,7 +9,7 @@
<view class="name">{{doctorDetail.doctorName}}</view> <view class="name">{{doctorDetail.doctorName}}</view>
<view class="content"> <view class="content">
<div class="c-name">{{doctorDetail.hospitalName}}</div> <div class="c-name">{{doctorDetail.hospitalName}}</div>
<view class="tag">{{doctorDetail.hospitalClassificationName}}{{doctorDetail.hospitalLevelName}}</view> <view class="tag" wx:if="{{doctorDetail.hospitalClassificationName || doctorDetail.hospitalLevelName}}">{{doctorDetail.hospitalClassificationName}}{{doctorDetail.hospitalLevelName}}</view>
</view> </view>
</view> </view>
</view> </view>
@ -63,7 +63,7 @@
</block> </block>
</view> </view>
</view> </view>
<view class="adl" wx:elif="{{message.msgContentType==='10'}}" bind:tap="handleQol"> <view class="adl" wx:elif="{{message.msgContentType==='13'}}" bind:tap="handleQol">
<image class="adl-img" src="{{imageUrl}}{{theme === 'DRUG' ? 'bg24' : 'bg20'}}.png?t={{Timestamp}}"></image> <image class="adl-img" src="{{imageUrl}}{{theme === 'DRUG' ? 'bg24' : 'bg20'}}.png?t={{Timestamp}}"></image>
</view> </view>
</view> </view>

2
src/pages/live/index.ts

@ -31,7 +31,6 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTWEDNESDAYLECTURELIST' })
this.getCateList() this.getCateList()
this.getList() this.getList()
app.getUserInfo(this, true) app.getUserInfo(this, true)
@ -102,7 +101,6 @@ Page({
}, },
handleDetail(e) { handleDetail(e) {
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
app.mpBehavior({ PageName: 'BTN_PATIENTWEDNESDAYTALKMEETINGLIST' })
wx.navigateTo({ wx.navigateTo({
url: `/pages/liveDetail/index?id=${id}`, url: `/pages/liveDetail/index?id=${id}`,
}) })

9
src/pages/liveDetail/index.ts

@ -85,12 +85,10 @@ Page({
this.videoContext = wx.createVideoContext('video') this.videoContext = wx.createVideoContext('video')
} }
if (res.Type == 1) { if (res.Type == 1) {
app.mpBehavior({ PageName: 'PG_PATIENTLECTUREDETAILS' })
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
title: '会议详情', title: '会议详情',
}) })
} else { } else {
app.mpBehavior({ PageName: 'PG_PATIENTACTIVITYDETAILS' })
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
title: '活动详情', title: '活动详情',
}) })
@ -136,7 +134,6 @@ Page({
}) })
}, },
handleReplay() { handleReplay() {
app.mpBehavior({ PageName: 'BTN_PATIENTMEETINGDETAILREPLAY' })
this.videoContext.requestFullScreen({}) this.videoContext.requestFullScreen({})
this.videoContext.seek(0) this.videoContext.seek(0)
this.videoContext.play() this.videoContext.play()
@ -173,12 +170,6 @@ Page({
const { Type } = this.data.detail const { Type } = this.data.detail
const { UserType } = this.data.userInfo const { UserType } = this.data.userInfo
if (Type == 1) {
app.mpBehavior({ PageName: 'BTN_PATIENTMEETINGDETAILSIGNUP' })
} else if (Type == 2) {
app.mpBehavior({ PageName: 'BTN_PATIENTACTIVITYDETAILSIGNUP' })
}
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=igg4/activity/sign-up', url: '?r=igg4/activity/sign-up',

1
src/pages/login/index.scss

@ -4,7 +4,6 @@ pgae {
padding-bottom: 80rpx; padding-bottom: 80rpx;
position: relative; position: relative;
height: 100vh; height: 100vh;
background-color: #fafafa;
.bg { .bg {
width: 100%; width: 100%;
} }

4
src/pages/login/index.ts

@ -21,7 +21,6 @@ Page({
page: options.page, page: options.page,
}) })
app.waitLogin({ isReg: false, loginPage: true }).then(() => { app.waitLogin({ isReg: false, loginPage: true }).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTLOGIN' })
}) })
}, },
getCode() { getCode() {
@ -70,7 +69,6 @@ Page({
}) })
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_PATIENTLOGIN' })
const { mobile, code } = this.data const { mobile, code } = this.data
const { registrationSource, registChannel, regBusinessId } = app.globalData const { registrationSource, registChannel, regBusinessId } = app.globalData
wx.ajax({ wx.ajax({
@ -88,7 +86,6 @@ Page({
}) })
}, },
handleWxSubmit(e: WechatMiniprogram.CustomEvent) { handleWxSubmit(e: WechatMiniprogram.CustomEvent) {
app.mpBehavior({ PageName: 'BTN_PATIENTQUICKPATIENTLOGIN' })
const { iv, encryptedData } = e.detail const { iv, encryptedData } = e.detail
const { registrationSource, registChannel, regBusinessId } = app.globalData const { registrationSource, registChannel, regBusinessId } = app.globalData
if (iv && encryptedData) { if (iv && encryptedData) {
@ -144,7 +141,6 @@ Page({
}) })
}, },
handleVisitors() { handleVisitors() {
app.mpBehavior({ PageName: 'BTN_PATIENTLOOKAROUND' })
app.globalData.anyWhere = true app.globalData.anyWhere = true
app.globalData.first = true app.globalData.first = true
app.globalData.loginType = 1 app.globalData.loginType = 1

2
src/pages/login/index.wxml

@ -52,7 +52,7 @@
<view class="a-content"> <view class="a-content">
我同意依照 我同意依照
<text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index">《隐私政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index">《隐私政策》</text>
<text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index?active=2">《个人信息及隐私保护政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index?active=2">《个人信息共享知情同意书》</text>
规定收集和共享我的个人敏感信息 规定收集和共享我的个人敏感信息
</view> </view>
</view> </view>

2
src/pages/my/index.scss

@ -194,7 +194,7 @@ page {
#drug-page { #drug-page {
.day { .day {
color: rgba(34, 34, 34, 0.5); color: rgba(89, 86, 233, 1);
} }
.common-operations { .common-operations {
.item:first-of-type { .item:first-of-type {

37
src/pages/my/index.ts

@ -29,7 +29,6 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTMY' })
app.getUserInfo(this, true, () => {}) app.getUserInfo(this, true, () => {})
this.getScore() this.getScore()
}) })
@ -46,7 +45,6 @@ Page({
}) })
}, },
handleMyHealthRecord(e) { handleMyHealthRecord(e) {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEHEALTHRECORD' })
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
app.permissionVerification(3, 0, url).then(() => { app.permissionVerification(3, 0, url).then(() => {
wx.navigateTo({ wx.navigateTo({
@ -55,7 +53,6 @@ Page({
}) })
}, },
handleFamily(e) { handleFamily(e) {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEFAMILYMEMBERS' })
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
app.permissionVerification(3, 0, url).then(() => { app.permissionVerification(3, 0, url).then(() => {
wx.navigateTo({ wx.navigateTo({
@ -64,9 +61,6 @@ Page({
}) })
}, },
handleAdlChaneg(e) { handleAdlChaneg(e) {
if (!e.detail) {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGECLOSEADLREMINDER' })
}
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=igg4/account/update-adl-notify-switch', url: '?r=igg4/account/update-adl-notify-switch',
@ -85,22 +79,29 @@ Page({
title: '工程师正在努力建设中,敬请期待!', title: '工程师正在努力建设中,敬请期待!',
}) })
} }
if (url === '/pages/mySave/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEFAVORITES' })
}
if (url === '/pages/myLive/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGESIGNEDUPMEETINGS' })
}
if (url === '/pages/personalInformation/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEPERSONALINFO' })
}
if (url === '/pages/storyList/index') {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEMYSTORIES' })
}
wx.navigateTo({ wx.navigateTo({
url, url,
}) })
}, },
handleQaForm() {
wx.ajax({
method: 'GET',
url: '?r=igg4/health-question/get-patient-questionnaire',
data: {},
showMsg: false,
}).then((res: any) => {
const answers = res.questions || []
if (answers.length) {
wx.navigateTo({
url: '/pages/qaFormDetail/index',
})
} else {
wx.navigateTo({
url: '/pages/qaForm/index',
})
}
})
},
routerVipTo() { routerVipTo() {
const { UseDrugsAuditStatus, UserType } = this.data.userInfo const { UseDrugsAuditStatus, UserType } = this.data.userInfo
if (!UserType) { if (!UserType) {

6
src/pages/my/index.wxml

@ -23,7 +23,7 @@
</view> </view>
</view> </view>
<view class="common-operations"> <view class="common-operations">
<view bind:tap="routerTo" class="item" data-url="/pages/qaForm/index"> <view bind:tap="handleQaForm" class="item">
<image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon71' : 'icon62'}}.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}{{theme === 'DRUG' ? 'icon71' : 'icon62'}}.png?t={{Timestamp}}"></image>
<view class="name">健康档案</view> <view class="name">健康档案</view>
</view> </view>
@ -42,7 +42,7 @@
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
</view> </view>
<view bind:tap="handleFamily" class="row" data-url="/pages/myLive/index"> <!-- <view bind:tap="handleFamily" class="row" data-url="/pages/myLive/index">
<view class="col"> <view class="col">
<image class="icon" src="{{imageUrl}}icon38.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon38.png?t={{Timestamp}}"></image>
我报名的活动 我报名的活动
@ -50,7 +50,7 @@
<view class="more"> <view class="more">
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
</view> </view> -->
<view bind:tap="routerTo" class="row" data-url="/pages/personalInformation/index"> <view bind:tap="routerTo" class="row" data-url="/pages/personalInformation/index">
<view class="col"> <view class="col">
<image class="icon" src="{{imageUrl}}icon39.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon39.png?t={{Timestamp}}"></image>

19
src/pages/myLive/index.ts

@ -52,15 +52,6 @@ Page({
}, },
getList(newPage = 1) { getList(newPage = 1) {
const { active } = this.data const { active } = this.data
if (newPage == 1 && active == 0) {
app.mpBehavior({ PageName: 'PG_PATIENTMYEVENTS_ALL' })
}
if (newPage == 1 && active == 1) {
app.mpBehavior({ PageName: 'PG_PATIENTMYEVENTS_ONLINE' })
}
if (newPage == 1 && active == 2) {
app.mpBehavior({ PageName: 'PG_PATIENTMYEVENTS_OFFLINE' })
}
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
url: '?r=igg4/activity/sign-up-list', url: '?r=igg4/activity/sign-up-list',
@ -101,16 +92,6 @@ Page({
}, },
handleDetail(e) { handleDetail(e) {
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
const { active } = this.data
if (active == 0) {
app.mpBehavior({ PageName: 'BTN_PATIENTSIGNEDUPACTIVITIESALLLIST' })
}
if (active == 1) {
app.mpBehavior({ PageName: 'BTN_PATIENTSIGNEDUPACTIVITIESONLINELIST' })
}
if (active == 2) {
app.mpBehavior({ PageName: 'BTN_PATIENTSIGNEDUPACTIVITIESOFFLINELIST' })
}
wx.navigateTo({ wx.navigateTo({
url: `/pages/liveDetail/index?id=${id}`, url: `/pages/liveDetail/index?id=${id}`,
}) })

5
src/pages/mySave/index.scss

@ -60,7 +60,7 @@
height: 32rpx; height: 32rpx;
} }
&.active { &.active {
color: rgba(249, 163, 14, 1); color: #0eb66d;
} }
} }
} }
@ -74,4 +74,7 @@
color: #fff; color: #fff;
background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%);
} }
.info-list .footer .f-item.active {
color: #5956e9;
}
} }

1
src/pages/mySave/index.ts

@ -26,7 +26,6 @@ Page({
}, },
getList() { getList() {
this.getInfoList() this.getInfoList()
app.mpBehavior({ PageName: 'PG_PATIENTMYFAVORITES_KNOWLEDGEBASE' })
}, },
getInfoList(newPage = 1) { getInfoList(newPage = 1) {
wx.ajax({ wx.ajax({

2
src/pages/mySave/index.wxml

@ -29,7 +29,7 @@
<image <image
class="icon" class="icon"
wx:if="{{item.IsCollect == 1}}" wx:if="{{item.IsCollect == 1}}"
src="{{imageUrl}}1/save-active-plan.png?t={{Timestamp}}" src="{{imageUrl}}1/{{theme === 'DRUG' ? 'drug-' : ''}}save-active.png?t={{Timestamp}}"
></image> ></image>
<image class="icon" wx:else src="{{imageUrl}}1/save.png?t={{Timestamp}}"></image> <image class="icon" wx:else src="{{imageUrl}}1/save.png?t={{Timestamp}}"></image>
<block wx:if="{{~~item.CollectionPeopleNum}}">{{item.CollectionPeopleNum}}</block> <block wx:if="{{~~item.CollectionPeopleNum}}">{{item.CollectionPeopleNum}}</block>

6
src/pages/personalInformation/index.ts

@ -31,7 +31,6 @@ Page({
}) })
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTPERSONALINFO' })
const that = this const that = this
app.getUserInfo(that, true, that.formatUserInfo.bind(that)) app.getUserInfo(that, true, that.formatUserInfo.bind(that))
}) })
@ -122,7 +121,6 @@ Page({
}, },
handleChangeTel() { handleChangeTel() {
app.mpBehavior({ PageName: 'PG_PATIENTPERSONALINFO_CHANGEPHONECLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/changePhone/index', url: '/pages/changePhone/index',
}) })
@ -133,7 +131,6 @@ Page({
}) })
}, },
handleLogout() { handleLogout() {
app.mpBehavior({ PageName: 'BTN_PATIENTPERSONALINFOLOGOUT' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/cancellation/index', url: '/pages/cancellation/index',
}) })
@ -143,9 +140,6 @@ Page({
}, },
routerTo(e) { routerTo(e) {
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
if (url.includes('/doctor/pages/d_login/index')) {
app.mpBehavior({ PageName: 'BTN_PATIENTPERSONALINFOSWITCHDOCTORPORTAL' })
}
wx.navigateTo({ wx.navigateTo({
url, url,
}) })

20
src/pages/personalInformation/index.wxml

@ -55,7 +55,7 @@
data-id="2" data-id="2"
bind:tap="handleRadio" bind:tap="handleRadio"
> >
40 - 49 40-49岁
</view> </view>
<view <view
class="age-item {{userInfo.AgeRange == 3 && 'active'}}" class="age-item {{userInfo.AgeRange == 3 && 'active'}}"
@ -63,7 +63,7 @@
data-id="3" data-id="3"
bind:tap="handleRadio" bind:tap="handleRadio"
> >
50 - 59 50-59岁
</view> </view>
<view <view
class="age-item {{userInfo.AgeRange == 4 && 'active'}}" class="age-item {{userInfo.AgeRange == 4 && 'active'}}"
@ -71,7 +71,7 @@
data-id="4" data-id="4"
bind:tap="handleRadio" bind:tap="handleRadio"
> >
60 - 69 60-69岁
</view> </view>
<view <view
class="age-item {{userInfo.AgeRange == 5 && 'active'}}" class="age-item {{userInfo.AgeRange == 5 && 'active'}}"
@ -79,7 +79,7 @@
data-id="5" data-id="5"
bind:tap="handleRadio" bind:tap="handleRadio"
> >
70 - 79 70-79岁
</view> </view>
<view <view
class="age-item {{userInfo.AgeRange == 6 && 'active'}}" class="age-item {{userInfo.AgeRange == 6 && 'active'}}"
@ -87,7 +87,7 @@
data-id="6" data-id="6"
bind:tap="handleRadio" bind:tap="handleRadio"
> >
≥80 ≥80岁
</view> </view>
</view> </view>
<view class="row-title">从首次确诊IgG4相关性疾病,到现在多久了</view> <view class="row-title">从首次确诊IgG4相关性疾病,到现在多久了</view>
@ -130,11 +130,11 @@
bindblur="updateUserInfo" bindblur="updateUserInfo"
/> />
</view> </view>
<view class="row-title">手机号</view> <!-- <view class="row-title">手机号</view> -->
<view class="row row-phone"> <!-- <view class="row row-phone"> -->
<input class="input phone-input" disabled value="{{userInfo.Telephone}}" /> <!-- <input class="input phone-input" disabled value="{{userInfo.Telephone}}" /> -->
<view class="change-phone" bind:tap="handleChangeTel">修改</view> <!-- <view class="change-phone" bind:tap="handleChangeTel">修改</view> -->
</view> <!-- </view> -->
</view> </view>
<view class="bottom-actions"> <view class="bottom-actions">
<view class="action-btn danger" bind:tap="routerTo" data-url="/doctor/pages/d_login/index?back=1"> <view class="action-btn danger" bind:tap="routerTo" data-url="/doctor/pages/d_login/index?back=1">

3
src/pages/publishStoryDetail/index.ts

@ -36,7 +36,6 @@ Page({
this.handleTimeOut() this.handleTimeOut()
}, },
onShow() { onShow() {
app.mpBehavior({ PageName: 'PG_PATIENTSTORYDETAILS' })
if (this.data.sendShare) { if (this.data.sendShare) {
this.setData({ this.setData({
sendShare: false, sendShare: false,
@ -99,7 +98,6 @@ Page({
}) })
}, },
handleStar() { handleStar() {
app.mpBehavior({ PageName: 'BTN_PATIENTSTORYDETAILSLIKE' })
this.setData({ this.setData({
starShow: true, starShow: true,
}) })
@ -174,7 +172,6 @@ Page({
}) })
}, },
handleTapShare() { handleTapShare() {
app.mpBehavior({ PageName: 'BTN_PATIENTSTORYDETAILSSHARE' })
}, },
onShareAppMessage() { onShareAppMessage() {
const { Title, ListPicLink } = this.data.detail const { Title, ListPicLink } = this.data.detail

4
src/pages/qaForm/index.scss

@ -41,7 +41,7 @@ page {
} }
.content { .content {
font-size: 36rpx; font-size: 36rpx;
color: rgba(34, 34, 34, 0.7); color: rgba(34, 34, 34, 0.70);
} }
&.active { &.active {
.radio { .radio {
@ -98,7 +98,7 @@ page {
} }
.content { .content {
font-size: 36rpx; font-size: 36rpx;
color: rgba(34, 34, 34, 1); color: rgba(34, 34, 34, 0.70);
} }
&.active { &.active {
.check { .check {

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save