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. 41
      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 @@ @@ -48,7 +48,8 @@
"pages/infusionCenter/index",
"pages/interactivePatient/index",
"pages/referral/index",
"pages/qaForm/index"
"pages/qaForm/index",
"pages/qaFormDetail/index"
],
"subpackages": [
{

38
src/app.ts

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

148
src/components/freeAudio/index.js

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

11
src/components/freeAudio/index.scss

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

8
src/components/freeAudio/index.wxml

@ -8,14 +8,14 @@ @@ -8,14 +8,14 @@
<view
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
active
activeColor="#E04775"
backgroundColor="#E04775"
activeColor="#F6F6F6"
backgroundColor="#fff"
bind:changing="handleAuthChangeimg"
bindchange="handleAuthChange"
block-color="#E04775"
block-color="rgba(34, 34, 34, 1)"
block-size="12"
class="progress"
value="{{progress}}"

19
src/components/toast/index.scss

@ -2349,16 +2349,6 @@ @@ -2349,16 +2349,6 @@
background: linear-gradient(to right, rgba(14, 182, 109, 1), rgba(0, 210, 119, 1));
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 {
margin: 68rpx auto 0;
@ -2368,8 +2358,13 @@ @@ -2368,8 +2358,13 @@
}
&.drug {
.popup-container {
.content {
.high {
color: rgba(22, 121, 203, 1);
}
}
.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 @@ @@ -2456,7 +2451,7 @@
width: 670rpx;
box-sizing: border-box;
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 {
font-size: 36rpx;
color: rgba(34, 34, 34, 1);

2
src/components/toast/index.ts

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

5
src/components/toast/index.wxml

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

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

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

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

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

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

@ -1,4 +1,4 @@ @@ -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">
<view class="tab-item" wx:if="{{item.custom && theme === 'DRUG'}}" bind:tap="handleNav" data-index="{{index}}">
<view class="circle">

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

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
bottom: 0;
left: 0;
width: 100%;
z-index: 10000;
padding: 0 0 calc(env(safe-area-inset-bottom) + 12rpx);
display: flex;
justify-content: space-between;
@ -64,7 +65,7 @@ @@ -64,7 +65,7 @@
}
}
.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({ @@ -105,7 +105,6 @@ Page({
btn = e?.currentTarget?.dataset?.btn
}
if (btn == 1) {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_REFRESH' })
}
return wx
@ -143,7 +142,6 @@ Page({ @@ -143,7 +142,6 @@ Page({
})
},
handleReset() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_CLEAR' })
wx.showModal({
title: '确认清空选项吗',
confirmColor: 'rgba(22, 121, 203, 1)',
@ -233,11 +231,9 @@ Page({ @@ -233,11 +231,9 @@ Page({
})
},
handleCancel() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_CANCEL' })
wx.navigateBack()
},
async handleNext() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE1_NEXT' })
const anyValueKeys = [
'Search',
'HasAdl',
@ -291,12 +287,10 @@ Page({ @@ -291,12 +287,10 @@ Page({
})
},
handlePrevStep() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE2_PREV' })
this.setData({ step: 1 })
this.handleViewMp()
},
handleSubmit() {
app.mpBehavior({ doctor: true, PageName: 'BTN_NEWMESSAGEPAGE2_SUBMIT' })
const {
Search,
HasAdl,
@ -408,10 +402,5 @@ Page({ @@ -408,10 +402,5 @@ Page({
wx.navigateBack()
},
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({ @@ -16,7 +16,6 @@ Page({
id: options.id,
})
app.waitLogin().then(() => {
app.mpBehavior({ doctor: true, PageName: 'PAGE_DOCTORADLREPORT' })
this.getList()
})
},

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

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

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

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

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

@ -20,12 +20,16 @@ page { @@ -20,12 +20,16 @@ page {
font-weight: bold;
}
.site {
.site-content {
margin-right: 10rpx;
display: inline-block;
font-size: 32rpx;
color: rgba(33, 33, 32, 0.4);
}
.tag {
vertical-align: 2rpx;
display: inline-block;
padding: 0 12rpx;
padding: 4rpx 12rpx;
font-size: 22rpx;
color: #fff;
border-radius: 8rpx;
@ -37,7 +41,7 @@ page { @@ -37,7 +41,7 @@ page {
}
}
.new-banner {
margin: 40rpx 40rpx 0;
margin: 60rpx 40rpx 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24rpx 26rpx;
@ -80,11 +84,36 @@ page { @@ -80,11 +84,36 @@ page {
.page-container {
margin: 0 30rpx;
.card {
margin: 24rpx 0 0;
margin: 44rpx 0 0;
padding-top: 15px;
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 {
margin-top: 48rpx;
padding: 32rpx 0;
border: 2rpx solid #f2f4f5;
border-radius: 12rpx;
@ -110,9 +139,9 @@ page { @@ -110,9 +139,9 @@ page {
}
}
.chart-container {
padding: 15rpx 30rpx 0;
padding: 15rpx 30rpx 20rpx;
width: 100%;
height: 546rpx;
height: 586rpx;
box-sizing: border-box;
}
}

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

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

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

@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
<view class="wrap">
<view class="name">{{doctor.Name}}</view>
<view class="site">
{{hospital.Name}}
<view class="tag">{{hospital.HospitalClassificationName}}{{hospital.HospitalLevelName}}</view>
<div class="site-content">{{hospital.Name}}</div>
<view wx:if="{{hospital.HospitalClassificationName || hospital.HospitalLevelName}}" class="tag">{{hospital.HospitalClassificationName}}{{hospital.HospitalLevelName}}</view>
</view>
</view>
</view>
@ -41,6 +41,9 @@ @@ -41,6 +41,9 @@
</view>
<view class="page-container">
<view class="card">
<view class="card-title">
<view class="title">月度邀约患者数</view>
</view>
<view class="chart">
<view class="chart-header">
<picker
@ -58,7 +61,8 @@ @@ -58,7 +61,8 @@
<view class="tip">统计数据截止昨天</view>
</view>
<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>

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

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

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

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

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

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

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

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

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

@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
</block>
</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>
</view>
</view>

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

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

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

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

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

@ -1,4 +1,4 @@ @@ -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>
<view class="btn" bind:tap="handleDownload">长按图片保存</view>
</view>

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

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

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

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

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

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

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

@ -20,7 +20,6 @@ Page({ @@ -20,7 +20,6 @@ Page({
},
onShow() {
app.waitLogin().then((_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORMY' })
this.getDetail()
})
},
@ -53,12 +52,6 @@ Page({ @@ -53,12 +52,6 @@ Page({
},
handleRouter(e) {
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({
url,
})

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

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

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

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
<wxs src="./index.wxs" module="tools" />
<wxs src="../../../utils/tools.wxs" module="tools" />
<view class="page">
<view class="page-header">
<view class="search">
@ -15,8 +15,8 @@ @@ -15,8 +15,8 @@
/>
</view>
<view class="navbar">
<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===0 && 'active'}}" bind:tap="handleNav" data-active="{{0}}">全部</view>
<view class="nav {{active===1 && 'active'}}" bind:tap="handleNav" data-active="{{1}}">确诊IgG4-RD</view>
</view>
</view>
<view class="list">
@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
<view class="name">{{item.Name}}</view>
<view class="disease">病程{{item.DiagnosisTimeRange == 1 ? '<1年' : item.DiagnosisTimeRange == 2 ? '1-3年' : '>3年'}}</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>
</view>

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

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

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

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

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

@ -16,7 +16,6 @@ Page({ @@ -16,7 +16,6 @@ Page({
id: '',
remark: '',
detail: {} as any,
userInfo: {},
popupRemarkShow: false,
remarkFocus: false,
@ -107,21 +106,12 @@ Page({ @@ -107,21 +106,12 @@ Page({
2: '6个月-3年',
3: '3年以上',
},
adlList: [] as any,
pagination: {
page: 1,
pages: 1,
count: 1,
},
},
onLoad(option) {
this.setData({
id: option.id,
})
app.waitLogin().then(async (_res) => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORPATIENTDETAIL' })
this.getDoctorDetail()
await this.getDetail()
})
@ -180,620 +170,13 @@ Page({ @@ -180,620 +170,13 @@ Page({
this.setData({
detail: {
...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() {
// 合并两个数组中相同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({
popupRemarkShow: true,
remark: this.data.detail.DoctorRemark,
@ -833,7 +216,6 @@ Page({ @@ -833,7 +216,6 @@ Page({
},
handleEditUser() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILEDIT' })
this.setData({
popupEditShow: true,
})
@ -859,12 +241,12 @@ Page({ @@ -859,12 +241,12 @@ Page({
method: 'POST',
url: '?r=igg4/doctor/patient/update',
data: {
PatientId: detail.PatientId, //患者Id
AntibodyType: detail.AntibodyType, //抗体类型 1:AChR 2:Musk 3:LRP4 4:RYR
ThyroidAbnormal: detail.ThyroidAbnormal, //胸腺异常 1:是 2:否
PreviousConvulsion: detail.PreviousConvulsion, //既往发生危象 1:是 2:否
TraditionalImmunosuppressant: detail.TraditionalImmunosuppressant, //传统免疫抑制剂 1:特克莫苏 2:硫唑嘌呤 3:马替麦考酚酯 4:其他
MedicalInsuranceType: detail.MedicalInsuranceType, //医保类型 1:城市职工 2:城市居民 3:新农合
PatientId: detail.PatientId,
AntibodyType: detail.AntibodyType,
ThyroidAbnormal: detail.ThyroidAbnormal,
PreviousConvulsion: detail.PreviousConvulsion,
TraditionalImmunosuppressant: detail.TraditionalImmunosuppressant,
MedicalInsuranceType: detail.MedicalInsuranceType,
},
}).then(() => {
wx.showToast({
@ -874,81 +256,17 @@ Page({ @@ -874,81 +256,17 @@ Page({
this.getDetail()
})
},
handleBack() {
wx.navigateBack()
},
handleSend() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTDETAILMESSAGE' })
wx.navigateTo({
url: `/doctor/pages/d_interactiveDoctor/index?patientId=${this.data.detail.PatientId}`,
})
},
handleNav(e, mp = true) {
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
handleToggleTel() {
this.setData({
[`adlList[${index}].fold`]: !this.data.adlList[index].fold,
showTel: !this.data.showTel,
})
},
handleAdlDetail() {},
handleToastOk() {
this.setData({
toastShow: false,
@ -957,10 +275,4 @@ Page({ @@ -957,10 +275,4 @@ Page({
handleToastCancel() {
wx.navigateBack()
},
handleToggleTel() {
console.log(11111)
this.setData({
showTel: !this.data.showTel,
})
},
})

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

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

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

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
<wxs src="../../../utils/tools.wxs" module="tools" />
<view class="page">
<navBar background="{{background}}" title="{{navTitle}}" back bind:back="handleBack"></navBar>
<view class="total-line">
@ -19,7 +20,7 @@ @@ -19,7 +20,7 @@
<view class="name">{{item.Name}}</view>
<view class="disease">病程{{item.DiagnosisTimeRange == 1 ? '<1年' : item.DiagnosisTimeRange == 2 ? '1-3年' : '>3年'}}</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>
</view>

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

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

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

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
<view
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="submit" bind:tap="handleBackHome">回到医生端</view>
<view class="tip">

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

@ -23,7 +23,6 @@ Page({ @@ -23,7 +23,6 @@ Page({
},
onLoad() {
app.waitLogin().then(() => {
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORRECOMMENDEDREFERRAL' })
this.getList()
})
},
@ -71,7 +70,6 @@ Page({ @@ -71,7 +70,6 @@ Page({
})
},
handlePopup() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORRECOMMENDEDREFERRALPAGEFASTFINDDR' })
this.setData({
show: true,
})
@ -81,7 +79,6 @@ Page({ @@ -81,7 +79,6 @@ Page({
const { index } = e.currentTarget.dataset
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}`
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORRECOMMENDEDREFERRALPAGERECOMMENDCODE' })
this.setData({
toastShow: true,
toastType: 'transferCode',
@ -101,7 +98,6 @@ Page({ @@ -101,7 +98,6 @@ Page({
wx.navigateBack()
},
handleLog() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DOCTORRECOMMENDEDREFERRALPAGEMYRECORD' })
wx.navigateTo({
url: '/doctor/pages/d_transferLog/index',
})

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

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
<wxs src="../../../utils/tools.wxs" module="tools" />
<page-meta page-style="{{ toastShow ? 'overflow: hidden;' : '' }}" />
<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>
@ -17,7 +18,7 @@ @@ -17,7 +18,7 @@
<view class="hostipal">{{item.hospitalName}}</view>
</view>
<view class="site">
{{item.hospitalProvinceName}}{{item.hospitalCityName}}{{item.hospitalCountyName}}{{item.hospitalAreaName}}
{{tools.formatArea(item.hospitalProvinceName, item.hospitalCityName)}}{{item.hospitalCountyName}}{{item.hospitalAreaName}}
</view>
<view class="footer">
<view class="btn" bind:tap="handleCode" data-index="{{index}}">
@ -37,7 +38,7 @@ @@ -37,7 +38,7 @@
</view>
<view class="btn" wx:if="{{ProvinceName}}">
<text>{{ProvinceName}}</text>
<text>{{ProvinceName == CityName ? '' : CityName}}</text>
<text wx:if="{{ProvinceName != CityName}}">{{CityName}}</text>
</view>
<view class="btn" wx:else>点击一键找医生</view>
</view>

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

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

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

@ -1,11 +1,5 @@ @@ -1,11 +1,5 @@
<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>
<view class="page-container">
<van-tabs
class="tabs"
@ -89,7 +83,6 @@ @@ -89,7 +83,6 @@
bind:tap="handleDetail"
data-type="2"
data-id="{{item.doctorId}}"
data-code="BTN_DOCTORRECOMMENDEDRECORDPAGE_RECOMMENDEDTOMElist"
>
<view class="td1">
<image class="avatar" mode="aspectFill" src="{{item.doctorImg}}"></image>

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

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

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

@ -116,7 +116,6 @@ Page({ @@ -116,7 +116,6 @@ Page({
app.waitLogin().then(() => {
// 强制疾病患者以上身份
app.permissionVerification(3, 0, `/gift/pages/myHealthRecord/index`).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTHEALTHRECORD' })
app.getUserInfo(this, true, (res) => {
if (res.UserType != 4) {
this.setData({
@ -214,25 +213,14 @@ Page({ @@ -214,25 +213,14 @@ Page({
let EndMonth = ''
let BeginMonth = ''
if (type == '1') {
if (e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDDAILYCURVE' })
}
EndMonth = dayjs().format('YYYY-MM-DD')
BeginMonth = dayjs().subtract(6, 'd').format('YYYY-MM-DD')
} else if (type == '2') {
if (e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMONTHLYCURVE' })
}
EndMonth = dayjs().format('YYYY-MM')
BeginMonth = dayjs().subtract(1, 'M').format('YYYY-MM')
} else if (type == '3') {
if (e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDYEARLYCURVE' })
}
EndMonth = dayjs().format('YYYY')
BeginMonth = dayjs().subtract(1, 'y').format('YYYY')
} else if (type == '4' && e) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDTIMECURVE' })
}
this.setData({
page: 0,
@ -253,15 +241,6 @@ Page({ @@ -253,15 +241,6 @@ Page({
this.setData({
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()
},
handleTabCallBack() {
@ -965,12 +944,6 @@ Page({ @@ -965,12 +944,6 @@ Page({
if (isi == 1) {
return
}
if (tab == 1) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDREPORTLIST' })
}
if (tab == 2) {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDNOTESLIST' })
}
wx.navigateTo({
url: `/pages/adlResult/index?id=${id}`,
@ -1001,13 +974,11 @@ Page({ @@ -1001,13 +974,11 @@ Page({
})
},
handleAdd() {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDASSESSMENT' })
wx.navigateTo({
url: '/pages/adl/index',
})
},
handleAddDrug() {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMEDICATION' })
wx.navigateTo({
url: '/pages/drugRecord/index',
})
@ -1026,7 +997,6 @@ Page({ @@ -1026,7 +997,6 @@ Page({
},
handleDetailDrug(e) {
const { id, isi } = e.currentTarget.dataset
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDMEDICATIONLIST' })
if (isi == 1) {
return
}
@ -1063,7 +1033,6 @@ Page({ @@ -1063,7 +1033,6 @@ Page({
})
},
handleShare() {
app.mpBehavior({ PageName: 'BTN_PATIENTHEALTHRECORDSHAREDUALCOMPLIANCEPOSTER' })
wx.navigateTo({
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 @@ @@ -37,7 +37,7 @@
#drug-page {
.btn {
color: rgba(22, 121, 203, 1);
color: #5956e9;
}
.submit {
background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%);

5
src/pages/doctor/index.ts

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

7
src/pages/doctor/index.wxml

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

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

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

6
src/pages/doctorDetail/index.scss

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

3
src/pages/doctorDetail/index.ts

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

3
src/pages/doctorDetailBak/index.ts

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

3
src/pages/doctorDetailBak/index.wxml

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<view
class="page"
id="{{theme === 'DRUG' && 'drug-page'}}"
@ -22,7 +23,7 @@ @@ -22,7 +23,7 @@
<view class="content">
<view class="inner">
<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 class="site-num">{{detail.hospital.dist}}</view>
</view>

20
src/pages/enterInfo/index.scss

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

2
src/pages/enterInfo/index.ts

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

10
src/pages/enterInfo/index.wxml

@ -29,11 +29,11 @@ @@ -29,11 +29,11 @@
<view class="row-title">患者年龄</view>
<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==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==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==6 && 'active'}}" data-id="6" bind:tap="handleSelectAge">{{"≥80 岁"}}</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==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==6 && 'active'}}" data-id="6" bind:tap="handleSelectAge">{{"≥80岁"}}</view>
</view>
<view class="row-title">输入真实姓名,便于医生识别随访</view>
<view class="row">

4
src/pages/family/index.ts

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

1
src/pages/familyList/index.ts

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

3
src/pages/hospital/index.ts

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

3
src/pages/hospital/index.wxml

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

32
src/pages/index/index.scss

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

56
src/pages/index/index.ts

@ -52,7 +52,6 @@ Page({ @@ -52,7 +52,6 @@ Page({
},
onShow() {
app.waitLogin({}).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTHOME' })
this.setData({
anyWhere: app.globalData.anyWhere,
})
@ -106,8 +105,12 @@ Page({ @@ -106,8 +105,12 @@ Page({
},
updateNextVisitDays(userInfo: any) {
if (userInfo.NextVisitDate) {
const diff = dayjs(userInfo.NextVisitDate).diff(dayjs(), 'day')
this.setData({ nextVisitDays: diff >= 0 ? diff : 0 })
const diffMs = dayjs(userInfo.NextVisitDate).diff(dayjs())
if (diffMs <= 0) {
this.setData({ nextVisitDays: 0 })
} else {
this.setData({ nextVisitDays: Math.ceil(diffMs / (24 * 60 * 60 * 1000)) })
}
} else {
this.setData({ nextVisitDays: '--' })
}
@ -293,45 +296,6 @@ Page({ @@ -293,45 +296,6 @@ Page({
routerTo(e) {
let { url, active, code } = e.currentTarget.dataset
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')) {
url = url + encodeURIComponent(app.globalData.loginState)
@ -414,14 +378,6 @@ Page({ @@ -414,14 +378,6 @@ Page({
toastParams: '',
})
},
handleMp(e: any) {
const { code } = e.currentTarget.dataset
const PageName = {
spread1: 'BTN_PATIENTHOMEBANNER1',
spread2: 'BTN_PATIENTHOMEBANNER2',
}[code]
app.mpBehavior({ PageName })
},
handleRegClose() {
this.setData({
regGuide: false,

9
src/pages/index/index.wxml

@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
style="background: url('{{imageUrl}}{{theme === 'DRUG' ? 'bg22' : 'bg15'}}.png?t={{Timestamp}}') no-repeat top center/100%"
>
<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>
@ -65,7 +65,7 @@ @@ -65,7 +65,7 @@
</view>
</view>
</block>
<view class="banner" wx:if="{{bannerList.length}}" bind:tap="handleMp" data-code="spread1">
<view class="banner" wx:if="{{bannerList.length}}">
<swiper
class="swiper"
indicator-active-color="rgba(39, 58, 101, 0.5)"
@ -142,7 +142,6 @@ @@ -142,7 +142,6 @@
>
<view class="cover">
<image class="photo" mode="aspectFill" src="{{item.TitlePicLink}}"></image>
<view class="label" wx:if="{{item.CateName}}">{{item.CateName}}</view>
</view>
<view class="content">
<view class="title">{{item.Title}}</view>
@ -160,7 +159,7 @@ @@ -160,7 +159,7 @@
<image
class="action-icon"
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>
<block wx:if="{{~~item.CollectionPeopleNum}}">{{item.CollectionPeopleNum}}</block>
</view>

3
src/pages/infusionCenter/index.ts

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

3
src/pages/infusionCenter/index.wxml

@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
<wxs src="../../utils/tools.wxs" module="tools" />
<view class="page" id="{{theme === 'DRUG' && 'drug-page'}}">
<image class="banner" mode="widthFix" src="{{imageUrl}}/bg6.png"></image>
<view class="container">
@ -16,7 +17,7 @@ @@ -16,7 +17,7 @@
</view>
<view class="content">
<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>
<view class="options">

10
src/pages/interactivePatient/index.ts

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

4
src/pages/interactivePatient/index.wxml

@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
<view class="name">{{doctorDetail.doctorName}}</view>
<view class="content">
<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>
@ -63,7 +63,7 @@ @@ -63,7 +63,7 @@
</block>
</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>
</view>
</view>

2
src/pages/live/index.ts

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

9
src/pages/liveDetail/index.ts

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

1
src/pages/login/index.scss

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

4
src/pages/login/index.ts

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

2
src/pages/login/index.wxml

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

2
src/pages/my/index.scss

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

37
src/pages/my/index.ts

@ -29,7 +29,6 @@ Page({ @@ -29,7 +29,6 @@ Page({
},
onShow() {
app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTMY' })
app.getUserInfo(this, true, () => {})
this.getScore()
})
@ -46,7 +45,6 @@ Page({ @@ -46,7 +45,6 @@ Page({
})
},
handleMyHealthRecord(e) {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEHEALTHRECORD' })
const { url } = e.currentTarget.dataset
app.permissionVerification(3, 0, url).then(() => {
wx.navigateTo({
@ -55,7 +53,6 @@ Page({ @@ -55,7 +53,6 @@ Page({
})
},
handleFamily(e) {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGEFAMILYMEMBERS' })
const { url } = e.currentTarget.dataset
app.permissionVerification(3, 0, url).then(() => {
wx.navigateTo({
@ -64,9 +61,6 @@ Page({ @@ -64,9 +61,6 @@ Page({
})
},
handleAdlChaneg(e) {
if (!e.detail) {
app.mpBehavior({ PageName: 'BTN_PATIENTMYPAGECLOSEADLREMINDER' })
}
wx.ajax({
method: 'POST',
url: '?r=igg4/account/update-adl-notify-switch',
@ -85,22 +79,29 @@ Page({ @@ -85,22 +79,29 @@ Page({
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({
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() {
const { UseDrugsAuditStatus, UserType } = this.data.userInfo
if (!UserType) {

6
src/pages/my/index.wxml

@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
</view>
</view>
<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>
<view class="name">健康档案</view>
</view>
@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
<van-icon name="arrow" />
</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">
<image class="icon" src="{{imageUrl}}icon38.png?t={{Timestamp}}"></image>
我报名的活动
@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
<view class="more">
<van-icon name="arrow" />
</view>
</view>
</view> -->
<view bind:tap="routerTo" class="row" data-url="/pages/personalInformation/index">
<view class="col">
<image class="icon" src="{{imageUrl}}icon39.png?t={{Timestamp}}"></image>

19
src/pages/myLive/index.ts

@ -52,15 +52,6 @@ Page({ @@ -52,15 +52,6 @@ Page({
},
getList(newPage = 1) {
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({
method: 'GET',
url: '?r=igg4/activity/sign-up-list',
@ -101,16 +92,6 @@ Page({ @@ -101,16 +92,6 @@ Page({
},
handleDetail(e) {
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({
url: `/pages/liveDetail/index?id=${id}`,
})

5
src/pages/mySave/index.scss

@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
height: 32rpx;
}
&.active {
color: rgba(249, 163, 14, 1);
color: #0eb66d;
}
}
}
@ -74,4 +74,7 @@ @@ -74,4 +74,7 @@
color: #fff;
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({ @@ -26,7 +26,6 @@ Page({
},
getList() {
this.getInfoList()
app.mpBehavior({ PageName: 'PG_PATIENTMYFAVORITES_KNOWLEDGEBASE' })
},
getInfoList(newPage = 1) {
wx.ajax({

2
src/pages/mySave/index.wxml

@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
<image
class="icon"
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 class="icon" wx:else src="{{imageUrl}}1/save.png?t={{Timestamp}}"></image>
<block wx:if="{{~~item.CollectionPeopleNum}}">{{item.CollectionPeopleNum}}</block>

6
src/pages/personalInformation/index.ts

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

20
src/pages/personalInformation/index.wxml

@ -55,7 +55,7 @@ @@ -55,7 +55,7 @@
data-id="2"
bind:tap="handleRadio"
>
40 - 49
40-49岁
</view>
<view
class="age-item {{userInfo.AgeRange == 3 && 'active'}}"
@ -63,7 +63,7 @@ @@ -63,7 +63,7 @@
data-id="3"
bind:tap="handleRadio"
>
50 - 59
50-59岁
</view>
<view
class="age-item {{userInfo.AgeRange == 4 && 'active'}}"
@ -71,7 +71,7 @@ @@ -71,7 +71,7 @@
data-id="4"
bind:tap="handleRadio"
>
60 - 69
60-69岁
</view>
<view
class="age-item {{userInfo.AgeRange == 5 && 'active'}}"
@ -79,7 +79,7 @@ @@ -79,7 +79,7 @@
data-id="5"
bind:tap="handleRadio"
>
70 - 79
70-79岁
</view>
<view
class="age-item {{userInfo.AgeRange == 6 && 'active'}}"
@ -87,7 +87,7 @@ @@ -87,7 +87,7 @@
data-id="6"
bind:tap="handleRadio"
>
≥80
≥80岁
</view>
</view>
<view class="row-title">从首次确诊IgG4相关性疾病,到现在多久了</view>
@ -130,11 +130,11 @@ @@ -130,11 +130,11 @@
bindblur="updateUserInfo"
/>
</view>
<view class="row-title">手机号</view>
<view class="row row-phone">
<input class="input phone-input" disabled value="{{userInfo.Telephone}}" />
<view class="change-phone" bind:tap="handleChangeTel">修改</view>
</view>
<!-- <view class="row-title">手机号</view> -->
<!-- <view class="row row-phone"> -->
<!-- <input class="input phone-input" disabled value="{{userInfo.Telephone}}" /> -->
<!-- <view class="change-phone" bind:tap="handleChangeTel">修改</view> -->
<!-- </view> -->
</view>
<view class="bottom-actions">
<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({ @@ -36,7 +36,6 @@ Page({
this.handleTimeOut()
},
onShow() {
app.mpBehavior({ PageName: 'PG_PATIENTSTORYDETAILS' })
if (this.data.sendShare) {
this.setData({
sendShare: false,
@ -99,7 +98,6 @@ Page({ @@ -99,7 +98,6 @@ Page({
})
},
handleStar() {
app.mpBehavior({ PageName: 'BTN_PATIENTSTORYDETAILSLIKE' })
this.setData({
starShow: true,
})
@ -174,7 +172,6 @@ Page({ @@ -174,7 +172,6 @@ Page({
})
},
handleTapShare() {
app.mpBehavior({ PageName: 'BTN_PATIENTSTORYDETAILSSHARE' })
},
onShareAppMessage() {
const { Title, ListPicLink } = this.data.detail

4
src/pages/qaForm/index.scss

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

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

Loading…
Cancel
Save