Browse Source

bug处理

2.0
kola-web 1 month ago
parent
commit
254c68e06d
  1. 2
      README.md
  2. 7
      src/app.ts
  3. 30
      src/components/popup/index.scss
  4. 19
      src/components/popup/index.ts
  5. 25
      src/components/popup/index.wxml
  6. 2
      src/components/popupDoctor/index.ts
  7. 1
      src/components/uploadFile/index.scss
  8. 8
      src/doctor/components/doctor-tab-bar/index.ts
  9. 9
      src/doctor/pages/askDoctor/index.ts
  10. 1
      src/doctor/pages/bbmRemark/index.ts
  11. 1
      src/doctor/pages/bbmReport/index.ts
  12. 1
      src/doctor/pages/blood/index.ts
  13. 3
      src/doctor/pages/casesDetail/index.ts
  14. 8
      src/doctor/pages/changeTel/index.ts
  15. 11
      src/doctor/pages/coltStat/index.ts
  16. 16
      src/doctor/pages/coltStat/index.wxml
  17. 43
      src/doctor/pages/course/index.ts
  18. 45
      src/doctor/pages/course/index.wxml
  19. 5
      src/doctor/pages/courseHostipal/index.ts
  20. 2
      src/doctor/pages/file/index.scss
  21. 20
      src/doctor/pages/file/index.ts
  22. 46
      src/doctor/pages/file/index.wxml
  23. 1
      src/doctor/pages/followPlan/index.ts
  24. 2
      src/doctor/pages/followPlan/index.wxml
  25. 10
      src/doctor/pages/index/index.ts
  26. 1
      src/doctor/pages/inhibitorsManageList/index.ts
  27. 1
      src/doctor/pages/knowledge/index.ts
  28. 2
      src/doctor/pages/knowledgeDetail/index.scss
  29. 2
      src/doctor/pages/lastDiagnosisReport/index.ts
  30. 19
      src/doctor/pages/login/index.ts
  31. 6
      src/doctor/pages/login/index.wxml
  32. 4
      src/doctor/pages/my/index.ts
  33. 14
      src/doctor/pages/patientDetail/index.ts
  34. 8
      src/doctor/pages/patientDetail/index.wxml
  35. 10
      src/doctor/pages/poster/index.scss
  36. 7
      src/doctor/pages/preDiagnosisReport/index.ts
  37. 1
      src/doctor/pages/preDiagnosisReport/index.wxml
  38. 1
      src/doctor/pages/revisitRecord/index.ts
  39. 9
      src/doctor/pages/userInfo/index.ts
  40. BIN
      src/images/bg31.png
  41. BIN
      src/images/icon114.png
  42. BIN
      src/images/icon115.png
  43. BIN
      src/images/icon116.png
  44. BIN
      src/images/none2.png
  45. BIN
      src/images/star.zip
  46. BIN
      src/images/start.png
  47. BIN
      src/images/title16.png
  48. 4
      src/pages/applyFromResult/index.ts
  49. 2
      src/pages/knowledgeDetail/index.scss
  50. 9
      src/patient/components/patient-tab-bar/index.ts
  51. 18
      src/patient/pages/askPatient/index.ts
  52. 4
      src/patient/pages/askPatient/index.wxml
  53. 7
      src/patient/pages/bbmRemark/index.ts
  54. 8
      src/patient/pages/bbmReport/index.ts
  55. 11
      src/patient/pages/bindDoctor/index.scss
  56. 7
      src/patient/pages/bindDoctor/index.ts
  57. 3
      src/patient/pages/bindDoctor/index.wxml
  58. 2
      src/patient/pages/blood/index.ts
  59. 3
      src/patient/pages/bloodAdd/index.ts
  60. 4
      src/patient/pages/bloodDetail/index.ts
  61. 13
      src/patient/pages/casesAdd/index.ts
  62. 2
      src/patient/pages/casesAdd/index.wxml
  63. 8
      src/patient/pages/changeTel/index.ts
  64. 11
      src/patient/pages/coltStat/index.ts
  65. 16
      src/patient/pages/coltStat/index.wxml
  66. 37
      src/patient/pages/course/index.ts
  67. 10
      src/patient/pages/course/index.wxml
  68. 12
      src/patient/pages/doctorList/index.scss
  69. 2
      src/patient/pages/doctorList/index.ts
  70. 5
      src/patient/pages/doctorList/index.wxml
  71. 9
      src/patient/pages/entryInfo/index.ts
  72. 8
      src/patient/pages/entryInfo/index.wxml
  73. 1
      src/patient/pages/family/index.ts
  74. 2
      src/patient/pages/familyList/index.ts
  75. 2
      src/patient/pages/file/index.scss
  76. 26
      src/patient/pages/file/index.ts
  77. 40
      src/patient/pages/file/index.wxml
  78. 3
      src/patient/pages/followPlan/index.ts
  79. 2
      src/patient/pages/followPlan/index.wxml
  80. 71
      src/patient/pages/index/index.scss
  81. 114
      src/patient/pages/index/index.ts
  82. 35
      src/patient/pages/index/index.wxml
  83. 2
      src/patient/pages/inhibitorsManage/index.ts
  84. 2
      src/patient/pages/inhibitorsManageDetail/index.ts
  85. 9
      src/patient/pages/inhibitorsManageList/index.ts
  86. 2
      src/patient/pages/inhibitorsManageList/index.wxml
  87. 8
      src/patient/pages/injectDate/index.ts
  88. 2
      src/patient/pages/knowledge/index.ts
  89. 2
      src/patient/pages/knowledgeDetail/index.scss
  90. 29
      src/patient/pages/lastDiagnosisReport/index.ts
  91. 7
      src/patient/pages/lastDiagnosisReport/index.wxml
  92. 2
      src/patient/pages/login/index.scss
  93. 36
      src/patient/pages/login/index.ts
  94. 28
      src/patient/pages/login/index.wxml
  95. 2
      src/patient/pages/loginOut/index.ts
  96. 10
      src/patient/pages/my/index.ts
  97. 6
      src/patient/pages/my/index.wxml
  98. 19
      src/patient/pages/preDiagnosisReport/index.ts
  99. 14
      src/patient/pages/preDiagnosisReport/index.wxml
  100. 2
      src/patient/pages/revisitRecord/index.ts
  101. Some files were not shown because too many files have changed in this diff Show More

2
README.md

@ -6,7 +6,7 @@ svn://39.106.86.127:28386/projects/wutian_xueyoubing_b/proj_src/shop/frontend/we
### vscode ### vscode
(/images/)(\S\*(?=["|'])) (/images/)(\S*(?=["|']))
{{imageUrl}}$2?t={{Timestamp}} {{imageUrl}}$2?t={{Timestamp}}
### neovim ### neovim

7
src/app.ts

@ -154,9 +154,14 @@ App<IAppOption>({
return true return true
}, },
mpBehavior(data: { PageName: string }) { mpBehavior(data: { PageName: string }) {
const { loginType } = this.globalData.initLoginInfo
const url = {
1: '?r=wtx/mp-behavior/add',
2: '?r=wtx/doctor/mp-behavior/add',
}[loginType as 1 | 2]
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=wtx/mp-behavior/add', url,
data: data, data: data,
loading: false, loading: false,
showMsg: false, showMsg: false,

30
src/components/popup/index.scss

@ -1121,6 +1121,36 @@
} }
} }
.popup18 {
.container {
padding: 54rpx 32rpx 32rpx;
width: 590rpx;
height: 688rpx;
background: linear-gradient(5deg, #ffffff 0%, #ffe7e2 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
box-sizing: border-box;
.title {
display: block;
margin: 0 auto;
width: 287rpx;
height: 98rpx;
}
.code-wrap {
margin: 40rpx auto 0;
padding-top: 60rpx;
width: 382rpx;
height: 430rpx;
.code {
margin: 0 auto;
display: block;
width: 296rpx;
height: 296rpx;
border-radius: 36rpx;
}
}
}
}
.close { .close {
margin: 32rpx auto 0; margin: 32rpx auto 0;
display: block; display: block;

19
src/components/popup/index.ts

@ -27,13 +27,15 @@ Component({
}) })
} }
if (this.data.type === 'inhibitors') { if (this.data.type === 'inhibitors') {
console.log(this.data.params)
this.setData({ this.setData({
inhibitorsId: this.data.params.drugId || '', inhibitorsId: this.data.params.drugId || '',
inhibitorsName: this.data.params.drugName || '', inhibitorsName: this.data.params.drugName || '',
inhibitorsContent: this.data.params.content || '', inhibitorsContent: this.data.params.content || '',
}) })
} }
if (this.data.type === 'publicCard') {
this.getCodeImg()
}
} }
}, },
}, },
@ -49,6 +51,8 @@ Component({
selectDoctorId: '', selectDoctorId: '',
codeImg: '',
imageUrl: app.globalData.imageUrl, imageUrl: app.globalData.imageUrl,
Timestamp: app.globalData.Timestamp, Timestamp: app.globalData.Timestamp,
}, },
@ -144,5 +148,18 @@ Component({
inhibitorsName: name, inhibitorsName: name,
}) })
}, },
getCodeImg() {
wx.ajax({
method: 'GET',
url: '?r=wtx/common/get-channel-wx-code',
data: {
ChannelType: 2,
},
}).then((res) => {
this.setData({
codeImg: res,
})
})
},
}, },
}) })

25
src/components/popup/index.wxml

@ -300,9 +300,19 @@
<view class="container"> <view class="container">
<image class="title" src="{{imageUrl}}title12.png?t={{Timestamp}}"></image> <image class="title" src="{{imageUrl}}title12.png?t={{Timestamp}}"></image>
<view class="list"> <view class="list">
<view class="list-item" wx:for="{{params.list}}" wx:key="index" bind:tap="handleSelectDoctor" data-id="{{item.doctorId}}"> <view
class="list-item"
wx:for="{{params.list}}"
wx:key="index"
bind:tap="handleSelectDoctor"
data-id="{{item.doctorId}}"
>
<view class="radio"> <view class="radio">
<image wx:if="{{selectDoctorId == item.doctorId}}" class="r-icon" src="{{imageUrl}}icon34.png?t={{Timestamp}}"></image> <image
wx:if="{{selectDoctorId == item.doctorId}}"
class="r-icon"
src="{{imageUrl}}icon34.png?t={{Timestamp}}"
></image>
</view> </view>
<image class="avatar" src="{{item.doctorAvatar}}"></image> <image class="avatar" src="{{item.doctorAvatar}}"></image>
<view class="wrap"> <view class="wrap">
@ -332,6 +342,17 @@
</view> </view>
</view> </view>
</view> </view>
<view class="popup18" wx:elif="{{type==='publicCard'}}">
<view class="container">
<image class="title" src="{{imageUrl}}title16.png?t={{Timestamp}}"></image>
<view
class="code-wrap"
style="background:url('{{imageUrl}}bg31.png?t={{Timestamp}}') no-repeat top center/382rpx 430rpx"
>
<image class="code" src="{{codeImg}}" show-menu-by-longpress></image>
</view>
</view>
</view>
<image <image
wx:if="{{params.close}}" wx:if="{{params.close}}"
class="close" class="close"

2
src/components/popupDoctor/index.ts

@ -39,7 +39,7 @@ Component({
const { did } = this.data const { did } = this.data
wx.showModal({ wx.showModal({
title: '确认解绑?', title: '确认解绑?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

1
src/components/uploadFile/index.scss

@ -64,3 +64,4 @@
} }
} }
} }

8
src/doctor/components/doctor-tab-bar/index.ts

@ -11,18 +11,21 @@ Component({
{ {
pagePath: '/doctor/pages/index/index', pagePath: '/doctor/pages/index/index',
text: '基因疗法', text: '基因疗法',
pageName: 'BTN_HOME_NAV_CLICK',
icon: 'tabbar3-1', icon: 'tabbar3-1',
iconActive: 'tabbar3-1-active', iconActive: 'tabbar3-1-active',
}, },
{ {
pagePath: '/doctor/pages/knowledge/index', pagePath: '/doctor/pages/knowledge/index',
text: '小助手', text: '小助手',
pageName: 'BTN_ASSISTANT_NAV_CLICK',
icon: 'tabbar3-3', icon: 'tabbar3-3',
iconActive: 'tabbar3-3-active', iconActive: 'tabbar3-3-active',
}, },
{ {
pagePath: '/doctor/pages/my/index', pagePath: '/doctor/pages/my/index',
text: '我的', text: '我的',
pageName: 'BTN_MY_NAV_CLICK',
icon: 'tabbar3-2', icon: 'tabbar3-2',
iconActive: 'tabbar3-2-active', iconActive: 'tabbar3-2-active',
}, },
@ -44,7 +47,10 @@ Component({
handleNav(e) { handleNav(e) {
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const { list } = this.data const { list } = this.data
const pagePath = list[index].pagePath const { pagePath, pageName } = list[index]
if (pageName) {
app.mpBehavior({ PageName: pageName })
}
wx.reLaunch({ wx.reLaunch({
url: pagePath, url: pagePath,
}) })

9
src/doctor/pages/askDoctor/index.ts

@ -68,6 +68,7 @@ Page({
patientId: options.id || '', patientId: options.id || '',
}) })
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_CONSULTDOCTOR_VISIT' })
app.getUserInfo(2).then((userInfo) => { app.getUserInfo(2).then((userInfo) => {
this.setData({ this.setData({
userInfo, userInfo,
@ -221,6 +222,7 @@ Page({
}) })
}, },
handleSendShow() { handleSendShow() {
app.mpBehavior({ PageName: 'BTN_SEND_MESSAGE_CLICK' })
this.setData({ this.setData({
messageListShow: true, messageListShow: true,
}) })
@ -268,6 +270,7 @@ Page({
}) })
}, },
handleSendDate() { handleSendDate() {
app.mpBehavior({ PageName: 'BTN_DOCVISITTIME_CLICK' })
const { const {
messageList, messageList,
userInfo: { doctorName, doctorAvatar, clinic, clinicType }, userInfo: { doctorName, doctorAvatar, clinic, clinicType },
@ -282,7 +285,7 @@ Page({
wx.showModal({ wx.showModal({
title: '提示', title: '提示',
content: '将您的出诊时间发送给患者?', content: '将您的出诊时间发送给患者?',
confirmColor: 'rgba(29, 107, 255, 1)', confirmColor: '#1D6BFF',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
this.setData({ this.setData({
@ -319,12 +322,13 @@ Page({
}) })
}, },
handleReferral() { handleReferral() {
app.mpBehavior({ PageName: 'BTN_FOLLOWUP_REMINDER_CLICK' })
const { userInfo } = this.data const { userInfo } = this.data
wx.showModal({ wx.showModal({
title: '', title: '',
content: '您将给患者发送复诊提醒卡片?', content: '您将给患者发送复诊提醒卡片?',
confirmText: '发送', confirmText: '发送',
confirmColor: 'rgba(29, 107, 255, 1)', confirmColor: '#1D6BFF',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({
@ -378,6 +382,7 @@ Page({
}) })
}, },
handleFile() { handleFile() {
app.mpBehavior({ PageName: 'BTN_DOC_VIEW_RECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/file/index?id=${this.data.patientId}`, url: `/doctor/pages/file/index?id=${this.data.patientId}`,
}) })

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

@ -12,6 +12,7 @@ Page({
patientId: options.id || '', patientId: options.id || '',
}) })
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_DOCINFUSIONFEELINGLOG_VISIT' })
this.getDetail() this.getDetail()
}) })
}, },

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

@ -16,6 +16,7 @@ Page({
patientId: options.id || '', patientId: options.id || '',
}) })
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_DOCBBMH901INFUSIONLOG_VISIT' })
this.getDetail() this.getDetail()
}) })
}, },

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

@ -22,6 +22,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_DOCBLEEDINGMANAGEMENT_VISIT' })
this.getList() this.getList()
}) })
}, },

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

@ -9,8 +9,9 @@ Page({
}, },
}, },
onLoad(options) { onLoad(options) {
console.log("DEBUGPRINT[122]: index.ts:11: options=", options) console.log('DEBUGPRINT[122]: index.ts:11: options=', options)
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_MEDICALHISTORY_VISIT' })
this.getDetail(options.id) this.getDetail(options.id)
}) })
}, },

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

@ -9,6 +9,12 @@ Page({
codeText: '发送验证码', codeText: '发送验证码',
}, },
onLoad() {}, onLoad() {},
onUnload() {
if (timer) {
clearInterval(timer as number)
timer = null
}
},
getCode() { getCode() {
if (timer) return if (timer) return
const mobile = this.data.mobile const mobile = this.data.mobile
@ -58,7 +64,7 @@ Page({
handleSubmit() { handleSubmit() {
wx.showModal({ wx.showModal({
title: '确定修改此手机号?', title: '确定修改此手机号?',
confirmColor: 'rgba(29, 107, 255, 1)', confirmColor: '#1D6BFF',
success: (res) => { success: (res) => {
if (!res.confirm) return if (!res.confirm) return
const { mobile, code } = this.data const { mobile, code } = this.data

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

@ -42,7 +42,7 @@ Page({
beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'), beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD'), endDate: dayjs().format('YYYY-MM-DD'),
tabActve: 2, tabActve: 3,
iDays: '', iDays: '',
list2: [] as any[], list2: [] as any[],
@ -66,7 +66,10 @@ Page({
this.setData({ this.setData({
patientId: options.id || '', patientId: options.id || '',
}) })
app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_VIEWHEALTHCHANGE_VISIT' })
this.ecDataTrendComponent = this.selectComponent('#mychart-dom-bar') this.ecDataTrendComponent = this.selectComponent('#mychart-dom-bar')
})
}, },
handleUpdate() { handleUpdate() {
this.getDetail() this.getDetail()
@ -506,13 +509,17 @@ Page({
}, },
handleTab(e: any) { handleTab(e: any) {
const { active } = e.currentTarget.dataset const { active, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
this.setData({ this.setData({
tabActve: active, tabActve: active,
}) })
this.getList(1) this.getList(1)
}, },
handleFile() { handleFile() {
app.mpBehavior({ PageName: 'BTN_VIEW_RECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/file/index?id=${this.data.patientId}`, url: `/doctor/pages/file/index?id=${this.data.patientId}`,
}) })

16
src/doctor/pages/coltStat/index.wxml

@ -79,11 +79,11 @@
</view> </view>
</view> </view>
<view class="tabs"> <view class="tabs">
<view class="tab {{tabActve===2 && 'active'}}" bind:tap="handleTab" data-active="{{2}}">凝血因子</view> <view class="tab {{tabActve===3 && 'active'}}" bind:tap="handleTab" data-active="{{3}}" data-name="BTN_COAGULATION_FACTORTAB_CLICK">凝血因子</view>
<view class="tab {{tabActve===3 && 'active'}}" bind:tap="handleTab" data-active="{{3}}">生化检查</view> <view class="tab {{tabActve===2 && 'active'}}" bind:tap="handleTab" data-active="{{2}}" data-name="BTN_BIOCHEMICAL_TESTTAB_CLICK">生化检查</view>
</view> </view>
<view class="doc"> <view class="doc">
<view class="total" wx:if="{{tabActve===3}}"> <view class="total" wx:if="{{tabActve===2}}">
已记录 已记录
<text class="num">{{pagination2.count}}</text> <text class="num">{{pagination2.count}}</text>
@ -93,7 +93,7 @@
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
</view> </view>
<view class="tab1" wx:if="{{tabActve===2}}"> <view class="tab1" wx:if="{{tabActve===3}}">
<view class="tab1-module"> <view class="tab1-module">
<view class="item"> <view class="item">
<view class="icon"> <view class="icon">
@ -102,7 +102,7 @@
<view class="wrap"> <view class="wrap">
<view class="name">因子检查</view> <view class="name">因子检查</view>
<view class="num"> <view class="num">
{{pagination2.count}} {{pagination3.count}}
<text class="sub">次</text> <text class="sub">次</text>
</view> </view>
</view> </view>
@ -121,7 +121,7 @@
</view> </view>
</view> </view>
<view class="tab1-list"> <view class="tab1-list">
<view class="list-item" wx:for="{{list2}}" wx:key="index"> <view class="list-item" wx:for="{{list3}}" wx:key="index">
<view class="aside"> <view class="aside">
<view class="order"></view> <view class="order"></view>
<view class="line"></view> <view class="line"></view>
@ -138,9 +138,9 @@
</view> </view>
</view> </view>
</view> </view>
<view class="tab2" wx:elif="{{tabActve===3}}"> <view class="tab2" wx:elif="{{tabActve===2}}">
<view class="tab2-list"> <view class="tab2-list">
<view class="list-item" wx:for="{{list3}}" wx:key="index"> <view class="list-item" wx:for="{{list2}}" wx:key="index">
<view class="aside"> <view class="aside">
<view class="order"></view> <view class="order"></view>
<view class="line"></view> <view class="line"></view>

43
src/doctor/pages/course/index.ts

@ -22,7 +22,7 @@ Page({
}, },
onLoad(options) { onLoad(options) {
this.setData({ this.setData({
current: Number(options.current), current: Number(options.current) || 0,
patientId: options.id, patientId: options.id,
}) })
}, },
@ -30,7 +30,20 @@ Page({
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
this.handleUpdate() this.handleUpdate()
this.getDetail() this.getDetail()
}) this.handleViewBehavior()
})
},
handleViewBehavior() {
const { current } = this.data
const PageName = {
0: 'PG_DOCTREATMENTPROCESS1_VISIT',
1: 'PG_DOCTREATMENTPROCESS2_VISIT',
2: 'PG_DOCTREATMENTPROCESS3_VISIT',
3: 'PG_DOCTREATMENTPROCESS4_VISIT',
}[current]
if (PageName) {
app.mpBehavior({ PageName })
}
}, },
getDetail() { getDetail() {
wx.ajax({ wx.ajax({
@ -65,13 +78,20 @@ Page({
}) })
}, },
handleSwiperChange(e) { handleSwiperChange(e) {
const { current } = this.data
this.setData({ this.setData({
current: e.detail.current, current: e.detail.current,
}) })
this.handleUpdate() this.handleUpdate()
if (current != e.detail.current) {
this.handleViewBehavior()
}
}, },
handleSelectHostipal(e) { handleSelectHostipal(e) {
const { period } = e.currentTarget.dataset const { period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
const id = this.data[`periodInfo${period}`].hospitalId const id = this.data[`periodInfo${period}`].hospitalId
if (!id) { if (!id) {
wx.showToast({ wx.showToast({
@ -85,6 +105,7 @@ Page({
}) })
}, },
handleCasesAdd() { handleCasesAdd() {
app.mpBehavior({ PageName: 'BTN_MEDICAL_HISTORY_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/casesDetail/index?id=${this.data.patientId}`, url: `/doctor/pages/casesDetail/index?id=${this.data.patientId}`,
}) })
@ -97,44 +118,56 @@ Page({
}) })
}, },
handlePreDiagnosisReport(e: any) { handlePreDiagnosisReport(e: any) {
const { period } = e.currentTarget.dataset const { period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
const { examId } = this.data[`periodInfo${period}`] const { examId } = this.data[`periodInfo${period}`]
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/preDiagnosisReport/index?examid=${examId}&period=${period}&id=${this.data.patientId}`, url: `/doctor/pages/preDiagnosisReport/index?examid=${examId}&period=${period}&id=${this.data.patientId}`,
}) })
}, },
handleBbmReport() { handleBbmReport() {
app.mpBehavior({ PageName: 'BTN_BBMH901_INFUSIONLOG_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/bbmReport/index?id=${this.data.patientId}`, url: `/doctor/pages/bbmReport/index?id=${this.data.patientId}`,
}) })
}, },
handleBbmRemark() { handleBbmRemark() {
app.mpBehavior({ PageName: 'BTN_INFUSION_FEELINGLOG_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/bbmRemark/index?id=${this.data.patientId}`, url: `/doctor/pages/bbmRemark/index?id=${this.data.patientId}`,
}) })
}, },
handleInhibitorsManage(e: any) { handleInhibitorsManage(e: any) {
const { period } = e.currentTarget.dataset const { period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/inhibitorsManageList/index?period=${period}&id=${this.data.patientId}`, url: `/doctor/pages/inhibitorsManageList/index?period=${period}&id=${this.data.patientId}`,
}) })
}, },
handleFollowPlan() { handleFollowPlan() {
app.mpBehavior({ PageName: 'BTN_VIEW_FOLLOWUPPLAN_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/followPlan/index?id=${this.data.patientId}`, url: `/doctor/pages/followPlan/index?id=${this.data.patientId}`,
}) })
}, },
handleLastDiagnosisReport() { handleLastDiagnosisReport() {
app.mpBehavior({ PageName: 'BTN_LATEST_FOLLOWUPRECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/revisitRecord/index?period=4&id=${this.data.patientId}`, url: `/doctor/pages/revisitRecord/index?period=4&id=${this.data.patientId}`,
}) })
}, },
handleColtStat() { handleColtStat() {
app.mpBehavior({ PageName: 'BTN_VIEW_HEALTHCHANGE_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/coltStat/index?id=${this.data.patientId}`, url: `/doctor/pages/coltStat/index?id=${this.data.patientId}`,
}) })
}, },
handleBlood() { handleBlood() {
app.mpBehavior({ PageName: 'BTN_BLEEDING_RECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/blood/index?id=${this.data.patientId}`, url: `/doctor/pages/blood/index?id=${this.data.patientId}`,
}) })

45
src/doctor/pages/course/index.wxml

@ -28,7 +28,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handleSelectHostipal" data-period="1"> <view class="row" bind:tap="handleSelectHostipal" data-period="1" data-name="BTN_DESIGNATED_HOSPITAL_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -70,7 +70,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handlePreDiagnosisReport" data-period="1"> <view class="row" bind:tap="handlePreDiagnosisReport" data-period="1" data-name="BTN_PREEXAM_REPORT_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -122,7 +122,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handleSelectHostipal" data-period="2"> <view class="row" bind:tap="handleSelectHostipal" data-period="2" data-name="BTN_TREATMENT_CENTER_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -144,7 +144,7 @@
<view class="c-footer"></view> <view class="c-footer"></view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handlePreDiagnosisReport" data-period="2"> <view class="row" bind:tap="handlePreDiagnosisReport" data-period="2" data-name="BTN_EXAM_REPORT_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -217,7 +217,12 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handleInhibitorsManage" data-period="3"> <view
class="row"
bind:tap="handleInhibitorsManage"
data-period="3"
data-name="BTN_IMMUNOSUPPRESSANT_LOG_CLICK"
>
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -365,7 +370,7 @@
第{{periodInfo4.followUpWeekInfo.iYearDay}}天 第{{periodInfo4.followUpWeekInfo.iYearDay}}天
</block> </block>
</block> </block>
<block wx:if="{{periodInfo4.followUpWeekInfo.iWeek}}"> <block wx:elif="{{periodInfo4.followUpWeekInfo.iWeek}}">
第{{periodInfo4.followUpWeekInfo.iWeek}}周 第{{periodInfo4.followUpWeekInfo.iWeek}}周
</block> </block>
</view> </view>
@ -415,7 +420,12 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handleInhibitorsManage" data-period="4"> <view
class="row"
bind:tap="handleInhibitorsManage"
data-period="4"
data-name="BTN_IMMUNOSUPPRESSANT_RECORD_CLICK"
>
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -474,27 +484,6 @@
</view> </view>
</view> </view>
<image
class="guide1"
wx:if="{{current==0 && periodInfo1.isEnterPeriod==2}}"
src="{{imageUrl}}gif1.gif?t={{Timestamp}}"
></image>
<image
class="guide2"
wx:if="{{current==1 && periodInfo2.isEnterPeriod==2}}"
src="{{imageUrl}}gif1.gif?t={{Timestamp}}"
></image>
<image
class="guide3"
wx:if="{{current==2 && periodInfo3.isEnterPeriod==2}}"
src="{{imageUrl}}gif1.gif?t={{Timestamp}}"
></image>
<image
class="guide4"
wx:if="{{current==3 && periodInfo4.isEnterPeriod==2}}"
src="{{imageUrl}}gif1.gif?t={{Timestamp}}"
></image>
<popup <popup
show="{{popupShow}}" show="{{popupShow}}"
type="{{popupType}}" type="{{popupType}}"

5
src/doctor/pages/courseHostipal/index.ts

@ -11,6 +11,11 @@ Page({
}) })
} }
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
const name = {
1: 'PG_DESIGNATEDHOSPITAL_VISIT',
2: 'PG_TREATMENTCENTER_VISIT',
}[options.period]
app.mpBehavior({ PageName: name })
this.getDetail(options.id) this.getDetail(options.id)
}) })
}, },

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

@ -512,7 +512,7 @@ page {
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx 32rpx; padding: 24rpx 32rpx;
.title { .title {
font-size: 32rpx; font-size: 28rpx;
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
font-weight: bold; font-weight: bold;
} }

20
src/doctor/pages/file/index.ts

@ -38,7 +38,7 @@ Page({
autoChoosedWhenJump: true, autoChoosedWhenJump: true,
firstDayOfWeek: 'Mon', firstDayOfWeek: 'Mon',
theme: 'geneb_doctor', theme: 'geneb_doctor',
takeoverTap: false, takeoverTap: true,
highlightToday: true, highlightToday: true,
onlyShowCurrentMonth: true, onlyShowCurrentMonth: true,
disableMode: { disableMode: {
@ -54,6 +54,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_MEDICALRECORD_VISIT' })
this.getPatientInfo() this.getPatientInfo()
this.getInfo() this.getInfo()
}) })
@ -76,7 +77,10 @@ Page({
}) })
}, },
handleNav(e) { handleNav(e) {
const { nav } = e.currentTarget.dataset const { nav, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
this.setData({ this.setData({
nav, nav,
}) })
@ -218,23 +222,31 @@ Page({
}) })
}, },
handleRevisitAll() { handleRevisitAll() {
app.mpBehavior({ PageName: 'BTN_VIEW_ALL_FOLLOWUP_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/revisitRecord/index?id=${this.data.id}`, url: `/doctor/pages/revisitRecord/index?id=${this.data.id}`,
}) })
}, },
handleCourse(e: any) { handleCourse(e: any) {
const { progress } = e.currentTarget.dataset const { progress, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/course/index?current=${progress}&id=${this.data.id}`, url: `/doctor/pages/course/index?current=${progress}&id=${this.data.id}`,
}) })
}, },
handleBbmDetail() { handleBbmDetail() {
app.mpBehavior({ PageName: 'BTN_VIEW_INJECTION_DETAIL_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/bbmReport/index?id=${this.data.id}`, url: `/doctor/pages/bbmReport/index?id=${this.data.id}`,
}) })
}, },
handlePreDiagnosisReport(e) { handlePreDiagnosisReport(e) {
const { id, period } = e.currentTarget.dataset const { id, period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/preDiagnosisReport/index?examid=${id}&period=${period}&id=${this.data.id}`, url: `/doctor/pages/preDiagnosisReport/index?examid=${id}&period=${period}&id=${this.data.id}`,
}) })

46
src/doctor/pages/file/index.wxml

@ -27,9 +27,25 @@
</view> </view>
</view> </view>
<view class="navbar"> <view class="navbar">
<view class="nav {{nav==0 && 'active'}}" bindtap="handleNav" data-nav="0">治疗档案</view> <view
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1">病史档案</view> class="nav {{nav==0 && 'active'}}"
<view class="nav {{nav==2 && 'active'}}" bindtap="handleNav" data-nav="2">随访日历</view> bindtap="handleNav"
data-nav="0"
data-name="BTN_TREATMENT_RECORD_TAB_CLICK"
>
治疗档案
</view>
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1" data-name="BTN_MEDICAL_HISTORY_TAB_CLICK">
病史档案
</view>
<view
class="nav {{nav==2 && 'active'}}"
bindtap="handleNav"
data-nav="2"
data-name="BTN_FOLLOWUP_CALENDAR_TAB_CLICK"
>
随访日历
</view>
</view> </view>
<view class="container0" wx:if="{{nav==0}}"> <view class="container0" wx:if="{{nav==0}}">
<view class="card1" wx:if="{{periodFour.length}}"> <view class="card1" wx:if="{{periodFour.length}}">
@ -103,7 +119,7 @@
</view> </view>
</view> </view>
<view class="options"> <view class="options">
<view class="item" bind:tap="handleCourse" data-progress="2"> <view class="item" bind:tap="handleCourse" data-progress="2" data-name="BTN_INJECTION_PHASE_DETAIL_CLICK">
诊疗阶段详情 诊疗阶段详情
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -130,6 +146,7 @@
<view>{{item.beginDate}}~</view> <view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view> <view>{{item.endDate}}</view>
</view> </view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>未填写</view> <view class="content" wx:else>未填写</view>
</view> </view>
<view class="row"> <view class="row">
@ -141,7 +158,12 @@
<view class="content">{{item.totalNum}}/{{item.allNum}}</view> <view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view> </view>
<view class="options"> <view class="options">
<view class="item" bind:tap="handleCourse" data-progress="1"> <view
class="item"
bind:tap="handleCourse"
data-progress="1"
data-name="BTN_GENE_THERAPY_PHASE_DETAIL_CLICK"
>
诊疗阶段详情 诊疗阶段详情
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -150,6 +172,7 @@
bind:tap="handlePreDiagnosisReport" bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}" data-id="{{item.examId}}"
data-period="{{item.period}}" data-period="{{item.period}}"
data-name="BTN_VIEW_GENE_THERAPY_DETAIL_CLICK"
> >
查看详情 查看详情
<van-icon name="arrow" /> <van-icon name="arrow" />
@ -173,6 +196,7 @@
<view>{{item.beginDate}}~</view> <view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view> <view>{{item.endDate}}</view>
</view> </view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>未填写</view> <view class="content" wx:else>未填写</view>
</view> </view>
<view class="row"> <view class="row">
@ -184,7 +208,12 @@
<view class="content">{{item.totalNum}}/{{item.allNum}}</view> <view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view> </view>
<view class="options"> <view class="options">
<view class="item" bind:tap="handleCourse" data-progress="0"> <view
class="item"
bind:tap="handleCourse"
data-progress="0"
data-name="BTN_PRE_SCREENING_PHASE_DETAIL_CLICK"
>
诊疗阶段详情 诊疗阶段详情
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -193,6 +222,7 @@
bind:tap="handlePreDiagnosisReport" bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}" data-id="{{item.examId}}"
data-period="{{item.period}}" data-period="{{item.period}}"
data-name="BTN_VIEW_PRE_SCREENING_DETAIL_CLICK"
> >
查看详情 查看详情
<van-icon name="arrow" /> <van-icon name="arrow" />
@ -309,12 +339,14 @@
<view class="title">{{followExam.tipsInfo}}</view> <view class="title">{{followExam.tipsInfo}}</view>
<view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view> <view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view>
<view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view> <view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view>
<!-- 绿叶 -->
<image <image
wx:if="{{followExam.examDiffPassMonth==1}}" wx:if="{{followExam.examDiffPassMonth==1}}"
class="badge" class="badge"
src="{{imageUrl}}icon94.png?t={{Timestamp}}" src="{{imageUrl}}icon94.png?t={{Timestamp}}"
></image> ></image>
<image wxx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image> <!-- 红花 -->
<image wx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image>
</view> </view>
<view class="card"> <view class="card">
<view <view

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

@ -14,6 +14,7 @@ Page({
patientId: options.id, patientId: options.id,
}) })
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_VIEWFOLLOWUPPLAN_VISIT' })
this.getDetail() this.getDetail()
}) })
}, },

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

@ -70,7 +70,7 @@
<view>输注后</view> <view>输注后</view>
<view>第1年~第2年内</view> <view>第1年~第2年内</view>
</view> </view>
<view class="td">每1次</view> <view class="td">每3个月1次</view>
</view> </view>
<view class="tr {{stage === 6 && 'current'}} {{stage > 6 && 'active'}}"> <view class="tr {{stage === 6 && 'current'}} {{stage > 6 && 'active'}}">
<view class="aside"> <view class="aside">

10
src/doctor/pages/index/index.ts

@ -3,11 +3,12 @@ const app = getApp<IAppOption>()
Page({ Page({
data: { data: {
userInfo: {}, userInfo: {},
knowledgeList: [], knowledgeList: [] as any,
patientList: [], patientList: [] as any,
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_DOCTORHOME_VISIT' })
this.getPatientList() this.getPatientList()
this.getKnowledge() this.getKnowledge()
app.getUserInfo(2).then((userInfo) => { app.getUserInfo(2).then((userInfo) => {
@ -40,6 +41,7 @@ Page({
}) })
}, },
handleInfoDetail(e) { handleInfoDetail(e) {
app.mpBehavior({ PageName: 'BTN_HOMEASSISTANT_CARD_CLICK' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const params = this.data.knowledgeList[index] const params = this.data.knowledgeList[index]
if (params.Type == 1) { if (params.Type == 1) {
@ -53,22 +55,26 @@ Page({
}) })
}, },
handleCalculator() { handleCalculator() {
app.mpBehavior({ PageName: 'BTN_MEDCALCULATOR_CARD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/calculator/index', url: '/doctor/pages/calculator/index',
}) })
}, },
handlePatientDetail(e) { handlePatientDetail(e) {
app.mpBehavior({ PageName: 'BTN_PATIENT_CARD_CLICK' })
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/patientDetail/index?id=${id}`, url: `/doctor/pages/patientDetail/index?id=${id}`,
}) })
}, },
handlePoster() { handlePoster() {
app.mpBehavior({ PageName: 'BTN_POSTER_BUTTON_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/poster/index', url: '/doctor/pages/poster/index',
}) })
}, },
handleInfoMore() { handleInfoMore() {
app.mpBehavior({ PageName: 'BTN_HOMEASSISTANT_ALL_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/knowledge/index', url: '/doctor/pages/knowledge/index',
}) })

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

@ -21,6 +21,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_DOCIMMUNOSUPPRESSANTLOG_VISIT' })
this.getList() this.getList()
}) })
}, },

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

@ -13,6 +13,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_ASSISTANT_LIST_VISIT' })
this.getList() this.getList()
}) })
}, },

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

@ -50,7 +50,7 @@
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #fff; background-color: rgba(255,255,255, 0.93);
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
.btn { .btn {
flex: 1; flex: 1;

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

@ -218,7 +218,7 @@ Page({
const { examId } = this.data const { examId } = this.data
wx.showModal({ wx.showModal({
title: '确认删除?', title: '确认删除?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

19
src/doctor/pages/login/index.ts

@ -12,7 +12,17 @@ Page({
check1: false, check1: false,
check2: false, check2: false,
}, },
onLoad() {}, onLoad() {
app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_DOCLOG' })
})
},
onUnload() {
if (timer) {
clearInterval(timer as number)
timer = null
}
},
getCode() { getCode() {
if (timer) return if (timer) return
const mobile = this.data.mobile const mobile = this.data.mobile
@ -60,6 +70,7 @@ Page({
}, },
handleDocRule() { handleDocRule() {
const { check1, check2 } = this.data const { check1, check2 } = this.data
app.mpBehavior({ PageName: 'BTN_DOCMOBILEONECLICKLOGIN' })
return new Promise((resolve) => { return new Promise((resolve) => {
if (check1 && check2) { if (check1 && check2) {
return resolve(true) return resolve(true)
@ -73,6 +84,7 @@ Page({
async handleSubmit() { async handleSubmit() {
await this.handleDocRule() await this.handleDocRule()
const { mobile, code } = this.data const { mobile, code } = this.data
app.mpBehavior({ PageName: 'BTN_DOCLOGINCLICK' })
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=wtx/doctor/login/reg-login', url: '?r=wtx/doctor/login/reg-login',
@ -85,6 +97,7 @@ Page({
}) })
}, },
handleWxSubmit(e: WechatMiniprogram.CustomEvent) { handleWxSubmit(e: WechatMiniprogram.CustomEvent) {
app.mpBehavior({ PageName: 'BTN_DOCMOBILEONECLICKLOGIN' })
const { iv, encryptedData } = e.detail const { iv, encryptedData } = e.detail
if (iv && encryptedData) { if (iv && encryptedData) {
wx.ajax({ wx.ajax({
@ -117,6 +130,10 @@ Page({
url, url,
}) })
}, },
handleCheck(e) {
const { name } = e.currentTarget.dataset
app.mpBehavior({ PageName: name })
},
handleBack() { handleBack() {
wx.navigateBack() wx.navigateBack()
}, },

6
src/doctor/pages/login/index.wxml

@ -21,7 +21,7 @@
<view class="form-row"> <view class="form-row">
<input <input
class="input" class="input"
medal:value="{{code}}" model:value="{{code}}"
placeholder-class="place-input" placeholder-class="place-input"
type="number" type="number"
maxlength="6" maxlength="6"
@ -45,14 +45,14 @@
<view class="signature"> <view class="signature">
<view class="row"> <view class="row">
<checkbox model:checked="{{check1}}" class="checkbox" color="#fff"></checkbox> <checkbox model:checked="{{check1}}" class="checkbox" color="#fff" bind:tap="handleCheck" data-name="BTN_DOCLOGCHECKAGREEMENT"></checkbox>
<view class="r-content"> <view class="r-content">
我已阅读并同意 我已阅读并同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私协议政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私协议政策》</text>
</view> </view>
</view> </view>
<view class="row"> <view class="row">
<checkbox model:checked="{{check2}}" class="checkbox" color="#fff"></checkbox> <checkbox model:checked="{{check2}}" class="checkbox" color="#fff" bind:tap="handleCheck" data-name="BTN_DOCLOGCHECKAGREEMENT2"></checkbox>
<view class="r-content"> <view class="r-content">
我已阅读并同意 我已阅读并同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私协议政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私协议政策》</text>

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

@ -11,6 +11,7 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_MY_PAGE_VISIT' })
app.getUserInfo(2).then((userInfo) => { app.getUserInfo(2).then((userInfo) => {
this.setData({ this.setData({
userInfo, userInfo,
@ -70,16 +71,19 @@ Page({
}) })
}, },
handleUserInfo() { handleUserInfo() {
app.mpBehavior({ PageName: 'BTN_ACCOUNT_MANAGEMENT_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/userInfo/index', url: '/doctor/pages/userInfo/index',
}) })
}, },
handlePoster() { handlePoster() {
app.mpBehavior({ PageName: 'BTN_MY_POSTER_BUTTON_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/poster/index', url: '/doctor/pages/poster/index',
}) })
}, },
handleDoc() { handleDoc() {
app.mpBehavior({ PageName: 'BTN_PRIVACY_POLICY_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doc/pages/doc5/index', url: '/doc/pages/doc5/index',
}) })

14
src/doctor/pages/patientDetail/index.ts

@ -20,6 +20,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTDETAIL_VISIT' })
this.getDetail() this.getDetail()
this.getMessageCount() this.getMessageCount()
}) })
@ -62,18 +63,26 @@ Page({
}) })
}, },
handleAsk() { handleAsk() {
app.mpBehavior({ PageName: 'BTN_CARETEAM_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/askDoctor/index?id=${this.data.id}`, url: `/doctor/pages/askDoctor/index?id=${this.data.id}`,
}) })
}, },
handleFile() { handleFile(e) {
const { name } = e.currentTarget.dataset
const { patientInfo } = this.data const { patientInfo } = this.data
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/file/index?id=${patientInfo.patientId}`, url: `/doctor/pages/file/index?id=${patientInfo.patientId}`,
}) })
}, },
handleCourse(e) { handleCourse(e) {
const { period } = e.currentTarget.dataset const { period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/course/index?id=${this.data.id}&current=${period}`, url: `/doctor/pages/course/index?id=${this.data.id}&current=${period}`,
}) })
@ -85,6 +94,7 @@ Page({
}) })
}, },
handleStat() { handleStat() {
app.mpBehavior({ PageName: 'BTN_VIEW_HEALTH_CHANGES_CLICK' })
const { patientInfo } = this.data const { patientInfo } = this.data
wx.navigateTo({ wx.navigateTo({
url: `/doctor/pages/coltStat/index?id=${patientInfo.patientId}`, url: `/doctor/pages/coltStat/index?id=${patientInfo.patientId}`,

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

@ -29,7 +29,7 @@
</view> </view>
<view class="w-footer"> <view class="w-footer">
<view class="content">入组时间:{{patientInfo.createTimeName}}</view> <view class="content">入组时间:{{patientInfo.createTimeName}}</view>
<view class="doc" bind:tap="handleFile"> <view class="doc" bind:tap="handleFile" data-name="BTN_PATIENTDETAILS_VIEW_RECORD_CLICK">
查看档案 查看档案
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -69,6 +69,7 @@
class="card {{patientArchiveInfo.periodOneStatus==2 && 'current'}} {{patientArchiveInfo.periodOneStatus==3 && 'finish'}}" class="card {{patientArchiveInfo.periodOneStatus==2 && 'current'}} {{patientArchiveInfo.periodOneStatus==3 && 'finish'}}"
bind:tap="handleCourse" bind:tap="handleCourse"
data-period="0" data-period="0"
data-name="BTN_PRESCREENING_STAGE_CLICK"
> >
<view class="c-aside"> <view class="c-aside">
<view class="num">1</view> <view class="num">1</view>
@ -115,6 +116,7 @@
class="card {{patientArchiveInfo.periodTwoStatus==2 && 'current'}} {{patientArchiveInfo.periodTwoStatus==3 && 'finish'}}" class="card {{patientArchiveInfo.periodTwoStatus==2 && 'current'}} {{patientArchiveInfo.periodTwoStatus==3 && 'finish'}}"
bind:tap="handleCourse" bind:tap="handleCourse"
data-period="1" data-period="1"
data-name="BTN_PREINJECTION_STAGE_CLICK"
> >
<view class="c-aside"> <view class="c-aside">
<view class="num">2</view> <view class="num">2</view>
@ -161,6 +163,7 @@
class="card {{patientArchiveInfo.periodThreeStatus==2 && 'current'}} {{patientArchiveInfo.periodThreeStatus==3 && 'finish'}}" class="card {{patientArchiveInfo.periodThreeStatus==2 && 'current'}} {{patientArchiveInfo.periodThreeStatus==3 && 'finish'}}"
bind:tap="handleCourse" bind:tap="handleCourse"
data-period="2" data-period="2"
data-name="BTN_INJECTIONDAY_STAGE_CLICK"
> >
<view class="c-aside"> <view class="c-aside">
<view class="num">3</view> <view class="num">3</view>
@ -199,6 +202,7 @@
class="card {{patientArchiveInfo.periodFourStatus==2 && 'current'}} {{patientArchiveInfo.periodFourStatus==3 && 'finish'}}" class="card {{patientArchiveInfo.periodFourStatus==2 && 'current'}} {{patientArchiveInfo.periodFourStatus==3 && 'finish'}}"
bind:tap="handleCourse" bind:tap="handleCourse"
data-period="3" data-period="3"
data-name="BTN_FOLLOWUP_STAGE_CLICK"
> >
<view class="c-aside"> <view class="c-aside">
<view class="num">4</view> <view class="num">4</view>
@ -232,7 +236,7 @@
</view> </view>
</view> </view>
<view class="kkd"> <view class="kkd">
<view class="k-item" bind:tap="handleFile"> <view class="k-item" bind:tap="handleFile" data-name="BTN_FULL_MEDICALRECORD_CLICK">
<image class="icon" src="{{imageUrl}}icon73.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon73.png?t={{Timestamp}}"></image>
<view class="wrap"> <view class="wrap">
<view class="title">他的全部</view> <view class="title">他的全部</view>

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

@ -10,8 +10,8 @@ page {
height: 100vh; height: 100vh;
} }
.btn { .btn {
position: absolute; position: fixed;
bottom: 220rpx; bottom: 40rpx;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
margin: 36rpx auto; margin: 36rpx auto;
@ -22,9 +22,9 @@ page {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: rgba(255, 255, 255, 1); color: rgba(28, 107, 255, 1);
border-radius: 64rpx 64rpx 64rpx 64rpx; border-radius: 64rpx;
border: 1px solid rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
box-sizing: border-box; box-sizing: border-box;
} }
} }

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

@ -119,8 +119,8 @@ Page({
} }
}, },
onShow() { onShow() {
const { formKeys, period } = this.data
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PREEXAMREPORT_VISIT' })
this.getDict() this.getDict()
this.getDetail() this.getDetail()
}) })
@ -145,6 +145,11 @@ Page({
} else { } else {
num = num.slice(0, integerLimit) num = num.slice(0, integerLimit)
} }
// 限制小数位位数
const decimalIndex = num.indexOf('.')
if (decimalIndex !== -1) {
num = num.slice(0, decimalIndex + 3)
}
return num return num
}, },
getDict() { getDict() {

1
src/doctor/pages/preDiagnosisReport/index.wxml

@ -5,6 +5,7 @@
<image class="icon" src="{{imageUrl}}icon110.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon110.png?t={{Timestamp}}"></image>
<view class="label">检查时间</view> <view class="label">检查时间</view>
<view class="content" wx:if="{{beginDate && endDate}}">{{beginDate}}至{{endDate}}</view> <view class="content" wx:if="{{beginDate && endDate}}">{{beginDate}}至{{endDate}}</view>
<view class="content" wx:elif="{{beginDate || endDate}}">{{beginDate || endDate}}</view>
<view class="content" wx:else>--</view> <view class="content" wx:else>--</view>
</view> </view>
</view> </view>

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

@ -22,6 +22,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 2 }).then(() => { app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_LATESTFOLLOWUPRECORDLIST_VISIT' })
this.getList() this.getList()
}) })
}, },

9
src/doctor/pages/userInfo/index.ts

@ -2,16 +2,21 @@ const app = getApp<IAppOption>()
Page({ Page({
data: {}, data: {},
onLoad() {}, onLoad() {
app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_ACCOUNT_MANAGEMENT_VISIT' })
})
},
handleChanegTel() { handleChanegTel() {
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/changeTel/index', url: '/doctor/pages/changeTel/index',
}) })
}, },
handleLoginOut() { handleLoginOut() {
app.mpBehavior({ PageName: 'BTN_LOGOUT_CLICK' })
wx.showModal({ wx.showModal({
title: '确定退出登录吗?', title: '确定退出登录吗?',
confirmColor: 'rgba(29, 107, 255, 1)', confirmColor: '#1D6BFF',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

BIN
src/images/bg31.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
src/images/icon114.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

BIN
src/images/icon115.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/images/icon116.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

BIN
src/images/none2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
src/images/star.zip

Binary file not shown.

BIN
src/images/start.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 MiB

After

Width:  |  Height:  |  Size: 4.9 MiB

BIN
src/images/title16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

4
src/pages/applyFromResult/index.ts

@ -14,7 +14,9 @@ Page({
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
url: '?r=wtx/common/get-channel-wx-code', url: '?r=wtx/common/get-channel-wx-code',
data: {}, data: {
ChannelType: 1,
},
}).then((res) => { }).then((res) => {
this.setData({ this.setData({
codeImg: res, codeImg: res,

2
src/pages/knowledgeDetail/index.scss

@ -50,7 +50,7 @@
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #fff; background-color: rgba(255,255,255, 0.93);
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
.btn { .btn {
flex: 1; flex: 1;

9
src/patient/components/patient-tab-bar/index.ts

@ -11,24 +11,28 @@ Component({
{ {
pagePath: '/patient/pages/index/index', pagePath: '/patient/pages/index/index',
text: '首页', text: '首页',
pageName: 'BTN_PATHOMENAV',
icon: 'tabbar2-1', icon: 'tabbar2-1',
iconActive: 'tabbar2-1-active', iconActive: 'tabbar2-1-active',
}, },
{ {
pagePath: '/patient/pages/knowledge/index', pagePath: '/patient/pages/knowledge/index',
text: '知识库', text: '知识库',
pageName: 'BTN_KNOWLEDGEBASE_CLICK',
icon: 'tabbar2-2', icon: 'tabbar2-2',
iconActive: 'tabbar2-2-active', iconActive: 'tabbar2-2-active',
}, },
{ {
pagePath: '/patient/pages/file/index', pagePath: '/patient/pages/file/index',
text: '档案', text: '档案',
pageName: 'BTN_PROFILE_CLICK',
icon: 'tabbar2-3', icon: 'tabbar2-3',
iconActive: 'tabbar2-3-active', iconActive: 'tabbar2-3-active',
}, },
{ {
pagePath: '/patient/pages/my/index', pagePath: '/patient/pages/my/index',
text: '我的', text: '我的',
pageName: 'BTN_MY_CLICK',
icon: 'tabbar2-4', icon: 'tabbar2-4',
iconActive: 'tabbar2-4-active', iconActive: 'tabbar2-4-active',
}, },
@ -50,7 +54,10 @@ Component({
handleNav(e) { handleNav(e) {
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const { list } = this.data const { list } = this.data
const pagePath = list[index].pagePath const { pagePath, pageName } = list[index]
if (pageName) {
app.mpBehavior({ PageName: pageName })
}
wx.reLaunch({ wx.reLaunch({
url: pagePath, url: pagePath,
}) })

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

@ -28,7 +28,7 @@ Page({
scrollTop: 0, scrollTop: 0,
scrollIntoView: '', scrollIntoView: '',
doctorDetail: {} as any, doctorDetail: {} as any,
doctorList: {}, doctorList: [],
questionActive: 0, questionActive: 0,
questionList: [] as any, questionList: [] as any,
@ -59,6 +59,7 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_ASKDOCTOR_VISIT' })
app.getUserInfo().then((userInfo) => { app.getUserInfo().then((userInfo) => {
this.setData({ this.setData({
userInfo, userInfo,
@ -160,7 +161,10 @@ Page({
}) })
}, },
handleQuestion(e: any) { handleQuestion(e: any) {
const { id, name } = e.currentTarget.dataset const { id, name, pname } = e.currentTarget.dataset
if (pname) {
app.mpBehavior({ PageName: pname })
}
this.handleSendQuestion(name) this.handleSendQuestion(name)
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
@ -282,6 +286,7 @@ Page({
}) })
}, },
handleSendDate() { handleSendDate() {
app.mpBehavior({ PageName: 'BTN_VISITTIME_CLICK' })
const { doctorList } = this.data const { doctorList } = this.data
console.log('DEBUGPRINT[130]: index.ts:285: doctorList=', doctorList) console.log('DEBUGPRINT[130]: index.ts:285: doctorList=', doctorList)
if (doctorList.length == 1) { if (doctorList.length == 1) {
@ -344,6 +349,7 @@ Page({
}) })
}, },
handleFooter() { handleFooter() {
app.mpBehavior({ PageName: 'BTN_ASKQUESTION_CLICK' })
this.setData({ this.setData({
expend: !this.data.expend, expend: !this.data.expend,
}) })
@ -354,13 +360,21 @@ Page({
} }
}, },
handleDoctorList() { handleDoctorList() {
app.mpBehavior({ PageName: 'BTN_VIEWDOCTORINFO_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/doctorList/index', url: '/patient/pages/doctorList/index',
}) })
}, },
handleCard() {
wx.navigateTo({
url: '/patient/pages/file/index?nav=2',
})
},
handlePopupOk(e) { handlePopupOk(e) {
const { popupType } = this.data const { popupType } = this.data
if (popupType === 'selectDoctor') { if (popupType === 'selectDoctor') {
console.log(e.detail)
this.handleSendDateMessage(e.detail.id) this.handleSendDateMessage(e.detail.id)
this.handlePopupCancel() this.handlePopupCancel()
} }

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

@ -45,6 +45,7 @@
bind:tap="handleQuestion" bind:tap="handleQuestion"
data-id="{{item.questionId}}" data-id="{{item.questionId}}"
data-name="{{item.question}}" data-name="{{item.question}}"
data-pname="BTN_TOPQUESTION_CLICK"
> >
{{item.question}} {{item.question}}
</view> </view>
@ -73,6 +74,7 @@
class="card1" class="card1"
style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100%" style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100%"
wx:elif="{{message.msgContentType==='4'}}" wx:elif="{{message.msgContentType==='4'}}"
bind:tap="handleCard"
> >
<view class="content"> <view class="content">
{{message.msgContent.weekInfo}} {{message.msgContent.weekInfo}}
@ -81,10 +83,12 @@
</view> </view>
<view class="btn">点击查看</view> <view class="btn">点击查看</view>
</view> </view>
<!-- 复诊提醒 -->
<view <view
class="card1" class="card1"
style="background: url('{{imageUrl}}bg16.png?t={{Timestamp}}') no-repeat top center/100%" style="background: url('{{imageUrl}}bg16.png?t={{Timestamp}}') no-repeat top center/100%"
wx:elif="{{message.msgContentType==='5'}}" wx:elif="{{message.msgContentType==='5'}}"
bind:tap="handleCard"
> >
<view class="content"> <view class="content">
{{message.msgContent.weekInfo}} {{message.msgContent.weekInfo}}

7
src/patient/pages/bbmRemark/index.ts

@ -7,6 +7,7 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_INFUSIONFEELINGLOG_VISIT' })
this.getDetail() this.getDetail()
}) })
}, },
@ -28,10 +29,11 @@ Page({
}) })
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_SENSATIONJOURNAL_SUBMITBUTTON_CLICK' })
const { injectionFeel, injectionRemark } = this.data const { injectionFeel, injectionRemark } = this.data
if (!injectionFeel && !injectionRemark) { if (!injectionFeel && !injectionRemark) {
wx.showToast({ wx.showToast({
title: '请选择注射感受或者填写备注', title: '请选择治疗过程感受或者填写备注',
icon: 'none', icon: 'none',
}) })
return return
@ -44,10 +46,11 @@ Page({
injectionRemark, injectionRemark,
}, },
}).then((res) => { }).then((res) => {
this.handleBack() wx.navigateBack()
}) })
}, },
handleBack() { handleBack() {
app.mpBehavior({ PageName: 'BTN_SENSATIONJOURNAL_CANCELBUTTON_CLICK' })
wx.navigateBack() wx.navigateBack()
}, },
}) })

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

@ -11,6 +11,7 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_BBMH901INFUSIONLOG_VISIT' })
this.getDetail() this.getDetail()
}) })
}, },
@ -34,6 +35,11 @@ Page({
} else { } else {
num = num.slice(0, integerLimit) num = num.slice(0, integerLimit)
} }
// 限制小数位位数
const decimalIndex = num.indexOf('.')
if (decimalIndex !== -1) {
num = num.slice(0, decimalIndex + 3)
}
return num return num
}, },
handleWeight(e) { handleWeight(e) {
@ -72,9 +78,11 @@ Page({
}) })
}, },
handleBack() { handleBack() {
app.mpBehavior({ PageName: 'BTN_BBMH901INFUSIONLOG_CANCELBUTTON_CLICK' })
wx.navigateBack() wx.navigateBack()
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_SUBMITBUTTON_CLICK' })
const { injectionDate, injectionWeight } = this.data const { injectionDate, injectionWeight } = this.data
if (!injectionDate) { if (!injectionDate) {
wx.showToast({ wx.showToast({

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

@ -8,9 +8,14 @@
} }
.title { .title {
margin: 54rpx auto 0; margin: 54rpx auto 0;
display: block; font-size: 40rpx;
width: 342rpx; font-weight: bold;
height: 44rpx; text-align: center;
color: transparent;
transform: skew(-10deg);
background-clip: text;
-webkit-background-clip: text;
background-image: linear-gradient(90deg, rgba(225, 36, 42, 1) 0%, rgba(255, 116, 64, 1) 100%);
} }
.content { .content {
margin-top: 28rpx; margin-top: 28rpx;

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

@ -12,8 +12,13 @@ Page({
popupType: 'conformBindDoctorConform', // 注册后绑定医生码 popupType: 'conformBindDoctorConform', // 注册后绑定医生码
popupParams: {}, popupParams: {},
}, },
onLoad() {}, onLoad() {
app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_PATIENTBINDING_VISIT' })
})
},
handleBindDoctor() { handleBindDoctor() {
app.mpBehavior({ PageName: 'BTN_CONTINUEBINDING_CLICK' })
wx.scanCode({ wx.scanCode({
scanType: ['wxCode'], scanType: ['wxCode'],
success: (res) => { success: (res) => {

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

@ -7,7 +7,8 @@
style="padding-top:{{pageTop+100}}px;background:url('{{imageUrl}}bg13.png?t={{Timestamp}}') no-repeat top center/100% 666rpx" style="padding-top:{{pageTop+100}}px;background:url('{{imageUrl}}bg13.png?t={{Timestamp}}') no-repeat top center/100% 666rpx"
> >
<image class="badge" src="{{imageUrl}}icon71.png?t={{Timestamp}}"></image> <image class="badge" src="{{imageUrl}}icon71.png?t={{Timestamp}}"></image>
<image class="title" src="{{imageUrl}}title9.png?t={{Timestamp}}"></image> <!-- <image class="title" src="{{imageUrl}}title9.png?t={{Timestamp}}"></image> -->
<view class="title">为什么要绑定医生?</view>
<view class="content"> <view class="content">
绑定医生后 绑定医生后
<view></view> <view></view>

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

@ -15,6 +15,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_BLEEDINGMANAGEMENT_VISIT' })
this.getList() this.getList()
this.addVisitRecord() this.addVisitRecord()
}) })
@ -77,6 +78,7 @@ Page({
}) })
}, },
handleAdd() { handleAdd() {
app.mpBehavior({ PageName: 'BTN_HEMORRHAGE_PLUSBUTTON_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/bloodAdd/index', url: '/patient/pages/bloodAdd/index',
}) })

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

@ -98,6 +98,7 @@ Page({
recordId: options.id, recordId: options.id,
}) })
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_BLEEDINGRECORD_VISIT' })
this.getDict() this.getDict()
this.getDetail() this.getDetail()
}) })
@ -115,7 +116,7 @@ Page({
const bleedingParts = res.bleedingPartList.map((item) => { const bleedingParts = res.bleedingPartList.map((item) => {
parts[item.bleedingPart - 1].active = true parts[item.bleedingPart - 1].active = true
return { return {
id: item.bleedingParts, id: item.bleedingPart,
name: item.bleedingPartName, name: item.bleedingPartName,
} }
}) })

4
src/patient/pages/bloodDetail/index.ts

@ -10,6 +10,8 @@ Page({
this.setData({ this.setData({
recordId: options.id, recordId: options.id,
}) })
},
onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
this.getDetail() this.getDetail()
}) })
@ -37,7 +39,7 @@ Page({
const { recordId } = this.data const { recordId } = this.data
wx.showModal({ wx.showModal({
title: '确认删除?', title: '确认删除?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

13
src/patient/pages/casesAdd/index.ts

@ -143,6 +143,7 @@ Page({
onShow() { onShow() {
const casesCache = wx.getStorageSync('casesCache') const casesCache = wx.getStorageSync('casesCache')
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_SUPPLEMENTMEDICALHISTORY_VISIT' })
this.getDict() this.getDict()
if (casesCache) { if (casesCache) {
const { formKeys } = this.data const { formKeys } = this.data
@ -184,6 +185,11 @@ Page({
} else { } else {
num = num.slice(0, integerLimit) num = num.slice(0, integerLimit)
} }
// 限制小数位位数
const decimalIndex = num.indexOf('.')
if (decimalIndex !== -1) {
num = num.slice(0, decimalIndex + 3)
}
return num return num
}, },
getDict() { getDict() {
@ -284,6 +290,7 @@ Page({
}) })
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_FINISH_CLICK' })
const { formKeys, ...reset } = this.data const { formKeys, ...reset } = this.data
const empty = formKeys.every((key) => { const empty = formKeys.every((key) => {
if (licia.isObj(reset[key])) { if (licia.isObj(reset[key])) {
@ -307,6 +314,10 @@ Page({
currentPage.handleUpdate() currentPage.handleUpdate()
} }
}, },
handleCancel() {
app.mpBehavior({ PageName: 'BTN_CANCEL_CLICK' })
wx.navigateBack()
},
handleBack() { handleBack() {
wx.navigateBack() wx.navigateBack()
}, },
@ -316,12 +327,14 @@ Page({
}) })
}, },
handlePrev(e) { handlePrev(e) {
app.mpBehavior({ PageName: 'BTN_PREVIOUS_CLICK' })
const { value } = e.currentTarget.dataset const { value } = e.currentTarget.dataset
this.setData({ this.setData({
current: value, current: value,
}) })
}, },
handleNext(e) { handleNext(e) {
app.mpBehavior({ PageName: 'BTN_NEXT_CLICK' })
const { value } = e.currentTarget.dataset const { value } = e.currentTarget.dataset
this.setData({ this.setData({
current: value, current: value,

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

@ -123,7 +123,7 @@
</view> </view>
</scroll-view> </scroll-view>
<view class="footer"> <view class="footer">
<view class="cancel" bind:tap="handleBack">取消</view> <view class="cancel" bind:tap="handleCancel">取消</view>
<view class="submit" bind:tap="handleNext" data-value="{{1}}">下一步</view> <view class="submit" bind:tap="handleNext" data-value="{{1}}">下一步</view>
</view> </view>
</swiper-item> </swiper-item>

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

@ -9,6 +9,12 @@ Page({
codeText: '发送验证码', codeText: '发送验证码',
}, },
onLoad() {}, onLoad() {},
onUnload() {
if (timer) {
clearInterval(timer as number)
timer = null
}
},
getCode() { getCode() {
if (timer) return if (timer) return
const mobile = this.data.mobile const mobile = this.data.mobile
@ -58,7 +64,7 @@ Page({
handleSubmit() { handleSubmit() {
wx.showModal({ wx.showModal({
title: '确定修改此手机号?', title: '确定修改此手机号?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (!res.confirm) return if (!res.confirm) return
const { mobile, code } = this.data const { mobile, code } = this.data

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

@ -40,7 +40,7 @@ Page({
beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'), beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD'), endDate: dayjs().format('YYYY-MM-DD'),
tabActve: 2, tabActve: 3,
iDays: '', iDays: '',
list2: [] as any[], list2: [] as any[],
@ -61,7 +61,10 @@ Page({
}, },
ecDataTrendComponent: null as any, ecDataTrendComponent: null as any,
onLoad() { onLoad() {
app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_MYHEALTHCHANGE_VISIT' })
this.ecDataTrendComponent = this.selectComponent('#mychart-dom-bar') this.ecDataTrendComponent = this.selectComponent('#mychart-dom-bar')
})
}, },
handleUpdate() { handleUpdate() {
this.getDetail() this.getDetail()
@ -510,13 +513,17 @@ Page({
}, },
handleTab(e: any) { handleTab(e: any) {
const { active } = e.currentTarget.dataset const { active, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
this.setData({ this.setData({
tabActve: active, tabActve: active,
}) })
this.getList(1) this.getList(1)
}, },
handleFile() { handleFile() {
app.mpBehavior({ PageName: 'BTN_VIEWARCHIVE_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/file/index', url: '/patient/pages/file/index',
}) })

16
src/patient/pages/coltStat/index.wxml

@ -79,11 +79,11 @@
</view> </view>
</view> </view>
<view class="tabs"> <view class="tabs">
<view class="tab {{tabActve===2 && 'active'}}" bind:tap="handleTab" data-active="{{2}}">凝血因子</view> <view class="tab {{tabActve===3 && 'active'}}" bind:tap="handleTab" data-active="{{3}}" data-name="BTN_COAGULATIONFACTORTAB_CLICK">凝血因子</view>
<view class="tab {{tabActve===3 && 'active'}}" bind:tap="handleTab" data-active="{{3}}">生化检查</view> <view class="tab {{tabActve===2 && 'active'}}" bind:tap="handleTab" data-active="{{2}}" data-name="BTN_BIOCHEMICALTESTTAB_CLICK">生化检查</view>
</view> </view>
<view class="doc"> <view class="doc">
<view class="total" wx:if="{{tabActve===3}}"> <view class="total" wx:if="{{tabActve===2}}">
已记录 已记录
<text class="num">{{pagination2.count}}</text> <text class="num">{{pagination2.count}}</text>
@ -93,7 +93,7 @@
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
</view> </view>
<view class="tab1" wx:if="{{tabActve===2}}"> <view class="tab1" wx:if="{{tabActve===3}}">
<view class="tab1-module"> <view class="tab1-module">
<view class="item"> <view class="item">
<view class="icon"> <view class="icon">
@ -102,7 +102,7 @@
<view class="wrap"> <view class="wrap">
<view class="name">因子检查</view> <view class="name">因子检查</view>
<view class="num"> <view class="num">
{{pagination2.count}} {{pagination3.count}}
<text class="sub">次</text> <text class="sub">次</text>
</view> </view>
</view> </view>
@ -121,7 +121,7 @@
</view> </view>
</view> </view>
<view class="tab1-list"> <view class="tab1-list">
<view class="list-item" wx:for="{{list2}}" wx:key="index"> <view class="list-item" wx:for="{{list3}}" wx:key="index">
<view class="aside"> <view class="aside">
<view class="order"></view> <view class="order"></view>
<view class="line"></view> <view class="line"></view>
@ -138,9 +138,9 @@
</view> </view>
</view> </view>
</view> </view>
<view class="tab2" wx:elif="{{tabActve===3}}"> <view class="tab2" wx:elif="{{tabActve===2}}">
<view class="tab2-list"> <view class="tab2-list">
<view class="list-item" wx:for="{{list3}}" wx:key="index"> <view class="list-item" wx:for="{{list2}}" wx:key="index">
<view class="aside"> <view class="aside">
<view class="order"></view> <view class="order"></view>
<view class="line"></view> <view class="line"></view>

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

@ -27,12 +27,25 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
this.handleViewBehavior()
this.handleUpdate() this.handleUpdate()
}) })
}, },
handleUpdate() { handleUpdate() {
this.getPeriodInfo(this.data.current + 1, `periodInfo${this.data.current + 1}`) this.getPeriodInfo(this.data.current + 1, `periodInfo${this.data.current + 1}`)
}, },
handleViewBehavior() {
const { current } = this.data
const PageName = {
0: 'PG_TREATMENTPROCESS1_VISIT',
1: 'PG_TREATMENTPROCESS2_VISIT',
2: 'PG_TREATMENTPROCESS3_VISIT',
3: 'PG_TREATMENTPROCESS4_VISIT',
}[current]
if (PageName) {
app.mpBehavior({ PageName })
}
},
getPeriodInfo(period: number, key: string) { getPeriodInfo(period: number, key: string) {
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
@ -47,18 +60,24 @@ Page({
}) })
}, },
handleSwiperChange(e) { handleSwiperChange(e) {
const { current } = this.data
this.setData({ this.setData({
current: e.detail.current, current: e.detail.current,
}) })
this.handleUpdate() this.handleUpdate()
if (current != e.detail.current) {
this.handleViewBehavior()
}
}, },
handleSelectHostipal() { handleSelectHostipal() {
const { periodInfo1 } = this.data const { periodInfo1 } = this.data
app.mpBehavior({ PageName: 'BTN_MYDESIGNATEDHOSPITAL_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/selectHostipal/index?id=${periodInfo1.hospitalId}`, url: `/patient/pages/selectHostipal/index?id=${periodInfo1.hospitalId}`,
}) })
}, },
handleCasesAdd() { handleCasesAdd() {
app.mpBehavior({ PageName: 'BTN_SUPPLEMENTMEDICALHISTORY_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/casesAdd/index', url: '/patient/pages/casesAdd/index',
}) })
@ -71,6 +90,7 @@ Page({
}) })
}, },
handleTCenter() { handleTCenter() {
app.mpBehavior({ PageName: 'BTN_TREATMENTCENTER_CLICK' })
const { periodInfo2 } = this.data const { periodInfo2 } = this.data
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
@ -88,8 +108,11 @@ Page({
}) })
}, },
handlePreDiagnosisReport(e: any) { handlePreDiagnosisReport(e: any) {
const { period } = e.currentTarget.dataset const { period, name } = e.currentTarget.dataset
const { examId } = this.data[`periodInfo${period}`] const { examId } = this.data[`periodInfo${period}`]
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/preDiagnosisReport/index?examid=${examId}&period=${period}`, url: `/patient/pages/preDiagnosisReport/index?examid=${examId}&period=${period}`,
}) })
@ -100,43 +123,53 @@ Page({
}) })
}, },
handleBbmReport() { handleBbmReport() {
app.mpBehavior({ PageName: 'BTN_BBMH901INFUSIONLOG_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/bbmReport/index', url: '/patient/pages/bbmReport/index',
}) })
}, },
handleBbmRemark() { handleBbmRemark() {
app.mpBehavior({ PageName: 'BTN_INFUSIONFEELINGLOG_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/bbmRemark/index', url: '/patient/pages/bbmRemark/index',
}) })
}, },
hadnleInjectDate() { hadnleInjectDate() {
app.mpBehavior({ PageName: 'BTN_INJECTIONDAY_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/injectDate/index', url: '/patient/pages/injectDate/index',
}) })
}, },
handleInhibitorsManage(e) { handleInhibitorsManage(e) {
const { period } = e.currentTarget.dataset const { period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/inhibitorsManageList/index?period=${period}`, url: `/patient/pages/inhibitorsManageList/index?period=${period}`,
}) })
}, },
handleFollowPlan(e) { handleFollowPlan(e) {
app.mpBehavior({ PageName: 'BTN_MYFOLLOWUPPLAN_CLICK' })
const { period } = e.currentTarget.dataset const { period } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/followPlan/index?period=${period}`, url: `/patient/pages/followPlan/index?period=${period}`,
}) })
}, },
handleLastDiagnosisReport() { handleLastDiagnosisReport() {
app.mpBehavior({ PageName: 'BTN_LATESTRECHECKRECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/revisitRecord/index?period=4`, url: `/patient/pages/revisitRecord/index?period=4`,
}) })
}, },
handleColtStat() { handleColtStat() {
app.mpBehavior({ PageName: 'BTN_MYHEALTHCHANGE_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/coltStat/index', url: '/patient/pages/coltStat/index',
}) })
}, },
handleBlood() { handleBlood() {
app.mpBehavior({ PageName: 'BTN_MYBLEEDINGRECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/blood/index', url: '/patient/pages/blood/index',
}) })

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

@ -70,7 +70,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handlePreDiagnosisReport" data-period="1"> <view class="row" bind:tap="handlePreDiagnosisReport" data-period="1" data-name="BTN_MYPREDIAGNOSISREPORT_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -144,7 +144,7 @@
<view class="c-footer"></view> <view class="c-footer"></view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handlePreDiagnosisReport" data-period="2"> <view class="row" bind:tap="handlePreDiagnosisReport" data-period="2" data-name="BTN_MYEXAMREPORT_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -219,7 +219,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handleInhibitorsManage" data-period="3"> <view class="row" bind:tap="handleInhibitorsManage" data-period="3" data-name="BTN_IMMUNOSUPPRESSANTLOG_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image
@ -367,7 +367,7 @@
第{{periodInfo4.followUpWeekInfo.iYearDay}}天 第{{periodInfo4.followUpWeekInfo.iYearDay}}天
</block> </block>
</block> </block>
<block wx:if="{{periodInfo4.followUpWeekInfo.iWeek}}"> <block wx:elif="{{periodInfo4.followUpWeekInfo.iWeek}}">
第{{periodInfo4.followUpWeekInfo.iWeek}}周 第{{periodInfo4.followUpWeekInfo.iWeek}}周
</block> </block>
</view> </view>
@ -417,7 +417,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="row" bind:tap="handleInhibitorsManage" data-period="4"> <view class="row" bind:tap="handleInhibitorsManage" data-period="4" data-name="BTN_IMMUNOSUPPRESSANTRECORD_CLICK">
<view class="aside"> <view class="aside">
<view class="slow-line"></view> <view class="slow-line"></view>
<image <image

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

@ -60,6 +60,18 @@ page {
line-height: 40rpx; line-height: 40rpx;
} }
} }
.none{
margin: 200rpx auto 0;
display: block;
width: 533rpx;
height: 339rpx;
}
.empty-tip {
margin-top: 20rpx;
text-align: center;
font-size: 32rpx;
color: rgba(161, 164, 172, 1);
}
.add { .add {
position: fixed; position: fixed;

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

@ -31,7 +31,7 @@ Page({
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
wx.showModal({ wx.showModal({
title: '确认解绑?', title: '确认解绑?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

5
src/patient/pages/doctorList/index.wxml

@ -20,7 +20,10 @@
<view class="content">{{item.introduce}}</view> <view class="content">{{item.introduce}}</view>
</view> </view>
<pagination pagination="{{pagination}}"></pagination> <block wx:if="{{pagination.count==0}}">
<image class="none" src="{{imageUrl}}none2.png?t={{Timestamp}}"></image>
<view class="empty-tip">您还没有绑定医生</view>
</block>
<image class="add" src="{{imageUrl}}icon53.png?t={{Timestamp}}" bind:tap="handleAdd"></image> <image class="add" src="{{imageUrl}}icon53.png?t={{Timestamp}}" bind:tap="handleAdd"></image>
</view> </view>

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

@ -11,12 +11,14 @@ Page({
cityId: '', cityId: '',
endDate: dayjs().format('YYYY-MM'), endDate: dayjs().format('YYYY-MM'),
birthMonthName: '',
provinceName: '', provinceName: '',
cityName: '', cityName: '',
}, },
onLoad(options) { onLoad(options) {
const { aid } = options const { aid } = options
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATPERSONALINFO' })
if (aid && aid !== '0') { if (aid && aid !== '0') {
this.getDetail(aid) this.getDetail(aid)
} }
@ -35,6 +37,7 @@ Page({
name: res.UserName, name: res.UserName,
relationType: res.Relation, relationType: res.Relation,
birthMonth: res.BirthMonth, birthMonth: res.BirthMonth,
birthMonthName: dayjs(res.BirthMonth).format('YYYY年MM月'),
provinceId: res.ProvinceId, provinceId: res.ProvinceId,
cityId: res.CityId, cityId: res.CityId,
@ -58,7 +61,13 @@ Page({
cityName: value[1] ? value[1].label : '', cityName: value[1] ? value[1].label : '',
}) })
}, },
handleBirthChange(e) {
this.setData({
birthMonthName: dayjs(e.detail.value).format('YYYY年MM月'),
})
},
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_PATJOINNOW' })
const { relationType, name, birthMonth, provinceId, cityId } = this.data const { relationType, name, birthMonth, provinceId, cityId } = this.data
let toast = '' let toast = ''
if (!provinceId) { if (!provinceId) {

8
src/patient/pages/entryInfo/index.wxml

@ -28,14 +28,14 @@
model:value="{{name}}" model:value="{{name}}"
placeholder-class="place-input" placeholder-class="place-input"
type="text" type="text"
placeholder="请输入{{relationType == 2 ? '亲友' : '您'}}的姓名" placeholder="请输入{{relationType == 2 ? '患者' : '您'}}的姓名"
/> />
</view> </view>
</view> </view>
<view class="form-row"> <view class="form-row">
<picker mode="date" end="{{endDate}}" model:value="{{birthMonth}}" fields="month"> <picker mode="date" end="{{endDate}}" model:value="{{birthMonth}}" fields="month" bind:change="handleBirthChange">
<view class="picker-content"> <view class="picker-content">
<view class="value" data-place="请选择{{relationType == 2 ? '亲友' : '您'}}的出生年月">{{birthMonth}}</view> <view class="value" data-place="请选择{{relationType == 2 ? '患者' : '您'}}的出生年月">{{birthMonthName}}</view>
<view class="tril"></view> <view class="tril"></view>
</view> </view>
</picker> </picker>
@ -44,7 +44,7 @@
<pickerArea mode="region" value="{{CityId}}" level="city" level="{{2}}" bind:change="handleAreaChange"> <pickerArea mode="region" value="{{CityId}}" level="city" level="{{2}}" bind:change="handleAreaChange">
<view class="picker-content"> <view class="picker-content">
<!-- prettier-ignore --> <!-- prettier-ignore -->
<view class="value" data-place="请选择{{relationType == 2 ? '亲友' : '您'}}的所住地">{{provinceName ? provinceName+ '/' : provinceName }}{{cityName}}</view> <view class="value" data-place="请选择{{relationType == 2 ? '患者' : '您'}}的所住地">{{provinceName ? provinceName+ '/' : provinceName }}{{cityName}}</view>
<view class="tril"></view> <view class="tril"></view>
</view> </view>
</pickerArea> </pickerArea>

1
src/patient/pages/family/index.ts

@ -7,6 +7,7 @@ Page({
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_MYRELATIVES_VISIT' })
this.getMpInfo() this.getMpInfo()
this.getQrCode() this.getQrCode()
}) })

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

@ -30,7 +30,7 @@ Page({
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
wx.showModal({ wx.showModal({
title: '确认解绑?', title: '确认解绑?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
this.handleUnbinOk(id) this.handleUnbinOk(id)

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

@ -506,7 +506,7 @@ page {
box-sizing: border-box; box-sizing: border-box;
padding: 24rpx 32rpx; padding: 24rpx 32rpx;
.title { .title {
font-size: 32rpx; font-size: 28rpx;
color: rgba(255, 255, 255, 1); color: rgba(255, 255, 255, 1);
font-weight: bold; font-weight: bold;
} }

26
src/patient/pages/file/index.ts

@ -37,7 +37,7 @@ Page({
autoChoosedWhenJump: true, autoChoosedWhenJump: true,
firstDayOfWeek: 'Mon', firstDayOfWeek: 'Mon',
theme: 'geneb', theme: 'geneb',
takeoverTap: false, takeoverTap: true,
highlightToday: true, highlightToday: true,
onlyShowCurrentMonth: true, onlyShowCurrentMonth: true,
disableMode: { disableMode: {
@ -54,6 +54,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_PROFILE_VISIT' })
this.getInfo() this.getInfo()
app.getUserInfo(1).then((userInfo) => { app.getUserInfo(1).then((userInfo) => {
this.setData({ this.setData({
@ -66,7 +67,10 @@ Page({
}) })
}, },
handleNav(e) { handleNav(e) {
const { nav } = e.currentTarget.dataset const { nav, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
this.setData({ this.setData({
nav, nav,
}) })
@ -195,7 +199,11 @@ Page({
}) })
console.log(this.data[fold]) console.log(this.data[fold])
}, },
handleRevisitRecord() { handleRevisitRecord(e) {
const { name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/lastDiagnosisReport/index?period=4', url: '/patient/pages/lastDiagnosisReport/index?period=4',
}) })
@ -207,24 +215,32 @@ Page({
}) })
}, },
handleRevisitAll(e) { handleRevisitAll(e) {
app.mpBehavior({ PageName: 'BTN_VIEWALLFOLLOWUP_CLICK' })
const { period } = e.currentTarget.dataset const { period } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/revisitRecord/index?period=${period}`, url: `/patient/pages/revisitRecord/index?period=${period}`,
}) })
}, },
handleCourse(e: any) { handleCourse(e: any) {
const { progress } = e.currentTarget.dataset const { progress, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/course/index?current=${progress}`, url: `/patient/pages/course/index?current=${progress}`,
}) })
}, },
handleBbmDetail() { handleBbmDetail() {
app.mpBehavior({ PageName: 'BTN_VIEWINJECTIONDETAIL_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/bbmReport/index', url: '/patient/pages/bbmReport/index',
}) })
}, },
handlePreDiagnosisReport(e) { handlePreDiagnosisReport(e) {
const { id, period } = e.currentTarget.dataset const { id, period, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/preDiagnosisReport/index?examid=${id}&period=${period}`, url: `/patient/pages/preDiagnosisReport/index?examid=${id}&period=${period}`,
}) })

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

@ -24,9 +24,25 @@
</view> </view>
</view> </view>
<view class="navbar"> <view class="navbar">
<view class="nav {{nav==0 && 'active'}}" bindtap="handleNav" data-nav="0">治疗档案</view> <view
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1">病史档案</view> class="nav {{nav==0 && 'active'}}"
<view class="nav {{nav==2 && 'active'}}" bindtap="handleNav" data-nav="2">随访日历</view> bindtap="handleNav"
data-nav="0"
data-name="BTN_TREATMENTARCHIVE_TAB_CLICK"
>
治疗档案
</view>
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1" data-name="BTN_MEDICALHISTORY_TAB_CLICK">
病史档案
</view>
<view
class="nav {{nav==2 && 'active'}}"
bindtap="handleNav"
data-nav="2"
data-name="BTN_FOLLOWUPCALENDAR_TAB_CLICK"
>
随访日历
</view>
</view> </view>
<view class="container0" wx:if="{{nav==0}}"> <view class="container0" wx:if="{{nav==0}}">
<view class="card1" wx:if="{{periodFour.length}}"> <view class="card1" wx:if="{{periodFour.length}}">
@ -35,7 +51,7 @@
<view class="title">随访期</view> <view class="title">随访期</view>
<image class="fold-icon {{fold1 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image> <image class="fold-icon {{fold1 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view> </view>
<view class="btn" bind:tap="handleRevisitRecord">添加随访记录</view> <view class="btn" bind:tap="handleRevisitRecord" data-name="BTN_ADDFOLLOWUPRECORD_CLICK">添加随访记录</view>
</view> </view>
<view class="{{fold1 && 'fold'}}"> <view class="{{fold1 && 'fold'}}">
<view <view
@ -101,7 +117,7 @@
</view> </view>
</view> </view>
<view class="options"> <view class="options">
<view class="item" bind:tap="handleCourse" data-progress="2"> <view class="item" bind:tap="handleCourse" data-progress="2" data-name="BTN_INJECTIONDAY_DETAIL_CLICK">
诊疗阶段详情 诊疗阶段详情
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -128,6 +144,7 @@
<view>{{item.beginDate}}~</view> <view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view> <view>{{item.endDate}}</view>
</view> </view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>未填写</view> <view class="content" wx:else>未填写</view>
</view> </view>
<view class="row"> <view class="row">
@ -139,7 +156,7 @@
<view class="content">{{item.totalNum}}/{{item.allNum}}</view> <view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view> </view>
<view class="options"> <view class="options">
<view class="item" bind:tap="handleCourse" data-progress="1"> <view class="item" bind:tap="handleCourse" data-progress="1" data-name="BTN_GENETHERAPYCENTER_DETAIL_CLICK">
诊疗阶段详情 诊疗阶段详情
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -148,6 +165,7 @@
bind:tap="handlePreDiagnosisReport" bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}" data-id="{{item.examId}}"
data-period="{{item.period}}" data-period="{{item.period}}"
data-name="BTN_VIEWGENETHERAPYDETAIL_CLICK"
> >
查看详情 查看详情
<van-icon name="arrow" /> <van-icon name="arrow" />
@ -171,6 +189,7 @@
<view>{{item.beginDate}}~</view> <view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view> <view>{{item.endDate}}</view>
</view> </view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>未填写</view> <view class="content" wx:else>未填写</view>
</view> </view>
<view class="row"> <view class="row">
@ -182,7 +201,7 @@
<view class="content">{{item.totalNum}}/{{item.allNum}}</view> <view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view> </view>
<view class="options"> <view class="options">
<view class="item" bind:tap="handleCourse" data-progress="0"> <view class="item" bind:tap="handleCourse" data-progress="0" data-name="BTN_PRESCREENING_DETAIL_CLICK">
诊疗阶段详情 诊疗阶段详情
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
@ -191,6 +210,7 @@
bind:tap="handlePreDiagnosisReport" bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}" data-id="{{item.examId}}"
data-period="{{item.period}}" data-period="{{item.period}}"
data-name="BTN_VIEWPRESCREENINGDETAIL_CLICK"
> >
查看详情 查看详情
<van-icon name="arrow" /> <van-icon name="arrow" />
@ -308,12 +328,14 @@
<view class="title">{{followExam.tipsInfo}}</view> <view class="title">{{followExam.tipsInfo}}</view>
<view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view> <view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view>
<view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view> <view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view>
<!-- 绿叶 -->
<image <image
wx:if="{{followExam.examDiffPassMonth==1}}" wx:if="{{followExam.examDiffPassMonth==1}}"
class="badge" class="badge"
src="{{imageUrl}}icon94.png?t={{Timestamp}}" src="{{imageUrl}}icon94.png?t={{Timestamp}}"
></image> ></image>
<image wxx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image> <!-- 红花 -->
<image wx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image>
</view> </view>
<view class="card"> <view class="card">
<view <view
@ -343,7 +365,7 @@
</view> </view>
<view class="c-sub-card"></view> <view class="c-sub-card"></view>
</view> </view>
<view class="btn" bind:tap="handleRevisitRecord">添加复诊检查记录</view> <view class="btn" bind:tap="handleRevisitRecord" data-name="BTN_CARD_ADDRECHECKRECORD_CLICK">添加复诊检查记录</view>
</view> </view>
</view> </view>

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

@ -14,6 +14,7 @@ Page({
period: options.period || '', period: options.period || '',
}) })
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_MYFOLLOWUPPLAN_VISIT' })
this.getDetail() this.getDetail()
this.addVisitRecord() this.addVisitRecord()
}) })
@ -41,11 +42,13 @@ Page({
}) })
}, },
handleClander() { handleClander() {
app.mpBehavior({ PageName: 'BTN_MYFOLLOWUPCALENDAR_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/file/index?nav=2', url: '/patient/pages/file/index?nav=2',
}) })
}, },
handleLastDiagnosisReport() { handleLastDiagnosisReport() {
app.mpBehavior({ PageName: 'BTN_ADDRECHECKRECORD_CLICK' })
wx.navigateTo({ wx.navigateTo({
// url: '/patient/pages/lastDiagnosisReport/index', // url: '/patient/pages/lastDiagnosisReport/index',
url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}`, url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}`,

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

@ -70,7 +70,7 @@
<view>输注后</view> <view>输注后</view>
<view>第1年~第2年内</view> <view>第1年~第2年内</view>
</view> </view>
<view class="td">每1次</view> <view class="td">每3个月1次</view>
</view> </view>
<view class="tr {{stage === 6 && 'current'}} {{stage > 6 && 'active'}}"> <view class="tr {{stage === 6 && 'current'}} {{stage > 6 && 'active'}}">
<view class="aside"> <view class="aside">

71
src/patient/pages/index/index.scss

@ -14,11 +14,16 @@ page {
align-items: center; align-items: center;
.avatar { .avatar {
flex-shrink: 0; flex-shrink: 0;
padding: 0;
margin: 0;
border: 2px solid #fff; border: 2px solid #fff;
border-radius: 50%; border-radius: 50%;
width: 98rpx; width: 98rpx;
height: 98rpx; height: 98rpx;
background-color: #fff; background-color: #fff;
&::after {
border: none;
}
.avatar-img { .avatar-img {
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -289,7 +294,7 @@ page {
display: flex; display: flex;
align-items: baseline; align-items: baseline;
.num { .num {
font-size: 64rpx; font-size: 40rpx;
color: rgba(1, 1, 5, 1); color: rgba(1, 1, 5, 1);
font-weight: bold; font-weight: bold;
&:empty::after { &:empty::after {
@ -302,26 +307,27 @@ page {
.tip { .tip {
margin-top: 14rpx; margin-top: 14rpx;
display: flex; display: flex;
align-items: center;
gap: 10rpx; gap: 10rpx;
font-size: 24rpx; font-size: 24rpx;
color: rgba(255, 163, 112, 1); color: rgba(255, 163, 112, 1);
background-color: rgba(255, 244, 228, 1); background-color: rgba(255, 244, 228, 1);
border-radius: 78rpx; border-radius: 12rpx;
padding: 0 10rpx; padding: 4rpx 10rpx;
.icon { .icon {
margin-top: 6rpx;
flex-shrink: 0;
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
} }
} }
} }
.line { .line {
margin: 0 40rpx; margin: 0 20rpx;
flex-shrink: 0; flex-shrink: 0;
border-right: 1px dashed rgba(207, 209, 213, 1); border-right: 1px dashed rgba(207, 209, 213, 1);
} }
.item2 { .item2 {
min-width: 200rpx; min-width: 160rpx;
.title { .title {
font-size: 28rpx; font-size: 28rpx;
color: rgba(161, 164, 172, 1); color: rgba(161, 164, 172, 1);
@ -329,14 +335,14 @@ page {
align-items: baseline; align-items: baseline;
gap: 20rpx; gap: 20rpx;
.num { .num {
font-size: 64rpx; font-size: 40rpx;
color: rgba(1, 1, 5, 1); color: rgba(1, 1, 5, 1);
font-weight: bold; font-weight: bold;
} }
} }
.content { .content {
margin-top: 10rpx; margin-top: 10rpx;
font-size: 28rpx; font-size: 24rpx;
color: rgba(161, 164, 172, 1); color: rgba(161, 164, 172, 1);
} }
} }
@ -486,6 +492,55 @@ page {
} }
} }
.public-card {
padding: 30rpx 40rpx;
width: calc(100vw - 60rpx);
box-sizing: border-box;
position: fixed;
left: 30rpx;
bottom: 200rpx;
display: flex;
align-items: center;
justify-content: space-between;
background: linear-gradient(346deg, #ffffff 0%, #ffdcd8 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #ffffff;
box-shadow: 0 4rpx 32rpx 0 rgba(55, 14, 26, 0.2);
.close {
position: absolute;
top: -18rpx;
left: -18rpx;
width: 36rpx;
height: 36rpx;
}
.icon {
flex-shrink: 0;
width: 38rpx;
height: 44rpx;
}
.title {
font-size: 28rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.btn {
display: flex;
align-items: center;
justify-content: center;
gap: 10rpx;
font-size: 28rpx;
color: rgba(246, 74, 58, 1);
width: 140rpx;
height: 48rpx;
border-radius: 140rpx 140rpx 140rpx 140rpx;
border: 2rpx solid #f64a3a;
.arrow {
width: 12rpx;
height: 20rpx;
}
}
}
.preview { .preview {
position: fixed; position: fixed;
width: 100vw; width: 100vw;

114
src/patient/pages/index/index.ts

@ -3,12 +3,14 @@ const app = getApp<IAppOption>()
Page({ Page({
data: { data: {
popupShow: false, popupShow: false,
popupType: '',
// popupType: 'selectIdentity', // 选择您的身份 // popupType: 'selectIdentity', // 选择您的身份
// popupType: 'bindDoctorReject', // 绑定失败 // popupType: 'bindDoctorReject', // 绑定失败
// popupType: 'bindDoctor', // 绑定成功 // popupType: 'bindDoctor', // 绑定成功
// popupType: 'bindDoctorQuestion', // 为什么绑定医生 // popupType: 'bindDoctorQuestion', // 为什么绑定医生
// popupType: 'conformBindDoctorQuestion', // 确认绑定曾经扫码医生 // popupType: 'conformBindDoctorQuestion', // 确认绑定曾经扫码医生
ptrueopupType: 'conformBindDoctorConform', // 注册后绑定医生码 // ptrueopupType: 'conformBindDoctorConform', // 注册后绑定医生码
// popupType: 'publicCard', // 关注公众号
popupParams: {}, popupParams: {},
doctorList: [], doctorList: [],
@ -32,9 +34,12 @@ Page({
guide: 0, guide: 0,
guideShow: false, guideShow: false,
guideList: ['1', '2', '3'], guideList: ['1', '2', '3'],
isPublicCard: false,
}, },
onLoad() { onLoad() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_PATHOME' })
app.getUserInfo(1).then((userInfo) => { app.getUserInfo(1).then((userInfo) => {
this.setData({ this.setData({
userInfo, userInfo,
@ -47,6 +52,7 @@ Page({
this.getKnowledge() this.getKnowledge()
this.getBindDoctorList() this.getBindDoctorList()
this.getTeratmentInfo() this.getTeratmentInfo()
this.getPublicCard()
const waitBindDoctorId = app.globalData.waitBindDoctorId const waitBindDoctorId = app.globalData.waitBindDoctorId
if (waitBindDoctorId) { if (waitBindDoctorId) {
this.handleWaitBindDoctor(waitBindDoctorId) this.handleWaitBindDoctor(waitBindDoctorId)
@ -57,12 +63,26 @@ Page({
}) })
}, },
onShow() { onShow() {
this.handleSwiperChange({ detail: { current: 0 } })
if (this.data.isLoad) { if (this.data.isLoad) {
this.getBindDoctorList() this.getBindDoctorList()
this.getTeratmentInfo() this.getTeratmentInfo()
this.handleSwiperChange({ detail: { current: this.data.progress } }) this.getPublicCard()
} }
}, },
getPublicCard() {
wx.ajax({
method: 'GET',
url: '?r=wtx/popup/get-user-record',
data: {
type: 2,
},
}).then((res) => {
this.setData({
isPublicCard: res == 2,
})
})
},
getBindDoctorList() { getBindDoctorList() {
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
@ -84,6 +104,7 @@ Page({
treatment: res, treatment: res,
progress: res.period - 1, progress: res.period - 1,
}) })
this.handleSwiperChange({ detail: { current: res.period - 1 } })
}) })
}, },
getKnowledge() { getKnowledge() {
@ -97,12 +118,53 @@ Page({
}) })
}) })
}, },
onChooseAvatar(e) {
const { avatarUrl } = e.detail
const url = `${app.globalData.upFileUrl}?r=file-service/upload-img`
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url,
filePath: avatarUrl,
name: 'file',
success: (res) => {
const data = JSON.parse(res.data)
const avatarUrl = data.data.Url
wx.ajax({
method: 'POST',
url: '?r=wtx/user/update-avatar',
data: {
Avatar: avatarUrl,
},
})
.then(() => {
wx.hideLoading()
wx.showToast({
title: '头像更新成功!',
icon: 'none',
})
this.setData({
'userInfo.Avatar': avatarUrl,
})
})
.catch(() => {
wx.hideLoading()
})
},
fail() {
wx.hideLoading()
},
})
},
handleInfoMore() { handleInfoMore() {
app.mpBehavior({ PageName: 'BTN_PATKNOWLEDGEBASECARDALL' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/knowledge/index', url: '/patient/pages/knowledge/index',
}) })
}, },
handleInfoDetail(e) { handleInfoDetail(e) {
app.mpBehavior({ PageName: 'BTN_PATKNOWLEDGEBASECARD' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const params = this.data.knowledgeList[index] const params = this.data.knowledgeList[index]
if (params.Type == 1) { if (params.Type == 1) {
@ -120,7 +182,6 @@ Page({
query.select(`#process${e.detail.current}`).boundingClientRect() query.select(`#process${e.detail.current}`).boundingClientRect()
query.exec((res) => { query.exec((res) => {
this.setData({ this.setData({
progress: e.detail.current,
swiperHeight: res[0].height + 22, swiperHeight: res[0].height + 22,
}) })
}) })
@ -183,37 +244,59 @@ Page({
}) })
}, },
handleBindDoctor() { handleBindDoctor() {
app.mpBehavior({ PageName: 'BTN_PATSCANBIND' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/bindDoctor/index', url: '/patient/pages/bindDoctor/index',
}) })
}, },
handleProgress(e: any) {
const { index } = e.currentTarget.dataset
this.setData({
progress: index,
})
},
handleAskPatient() { handleAskPatient() {
app.mpBehavior({ PageName: 'BTN_PATASKDOCTOR' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/askPatient/index', url: '/patient/pages/askPatient/index',
}) })
}, },
handleCourse() { handleCourse(e) {
const { progress } = this.data const { current } = e.currentTarget.dataset
app.mpBehavior({ PageName: 'BTN_PATTREATMENTPROCESS' })
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/course/index?current=${progress}`, url: `/patient/pages/course/index?current=${current}`,
}) })
}, },
handleColtStat() { handleColtStat() {
app.mpBehavior({ PageName: 'BTN_PATCLOTTINGFACTORCARD' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/coltStat/index', url: '/patient/pages/coltStat/index',
}) })
}, },
handleBleed() { handleBleed() {
app.mpBehavior({ PageName: 'BTN_PATBLEEDINGCARD' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/blood/index', url: '/patient/pages/blood/index',
}) })
}, },
handlePublicCard() {
this.setData({
popupShow: true,
popupType: 'publicCard',
popupParams: {
close: true,
},
})
this.handleClosePublicCard()
},
handleClosePublicCard() {
wx.ajax({
method: 'POST',
url: '?r=wtx/popup/add-visit-record',
data: {
type: 2,
},
}).then(() => {
this.setData({
isPublicCard: false,
})
})
},
handlePopupOk() { handlePopupOk() {
const { popupType, userInfo } = this.data const { popupType, userInfo } = this.data
if (popupType === 'bindDoctorReject') { if (popupType === 'bindDoctorReject') {
@ -244,6 +327,13 @@ Page({
data: {}, data: {},
}) })
} }
if (popupType === 'publicCard') {
this.setData({
popupShow: false,
popupType: '',
popupParams: {},
})
}
this.setData({ this.setData({
popupShow: false, popupShow: false,
popupType: '', popupType: '',

35
src/patient/pages/index/index.wxml

@ -6,9 +6,9 @@
style="padding-top:{{pageTop}}px;background:url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center/100% 666rpx" style="padding-top:{{pageTop}}px;background:url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center/100% 666rpx"
> >
<view class="user"> <view class="user">
<view class="avatar"> <button class="avatar" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
<image class="avatar-img" src="{{userInfo.Avatar}}"></image> <image class="avatar-img" src="{{userInfo.Avatar}}"></image>
</view> </button>
<view class="wrap"> <view class="wrap">
<view class="name"> <view class="name">
Hi!{{userInfo.PatientName}} Hi!{{userInfo.PatientName}}
@ -71,7 +71,7 @@
<view class="content">了解您筛查全部流程和注意事项</view> <view class="content">了解您筛查全部流程和注意事项</view>
</view> </view>
</view> </view>
<view class="btn" bind:tap="handleCourse">查看我的诊疗计划</view> <view class="btn" bind:tap="handleCourse" data-current="0">查看我的诊疗计划</view>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
@ -94,7 +94,7 @@
<view class="content">做好每一步检查,向美好生活继续!</view> <view class="content">做好每一步检查,向美好生活继续!</view>
</view> </view>
</view> </view>
<view class="btn" bind:tap="handleCourse">查看我的诊疗计划</view> <view class="btn" bind:tap="handleCourse" data-current="1">查看我的诊疗计划</view>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
@ -117,7 +117,7 @@
<view class="content">重要的日子终于到来了~</view> <view class="content">重要的日子终于到来了~</view>
</view> </view>
</view> </view>
<view class="btn" bind:tap="handleCourse">查看我的诊疗计划</view> <view class="btn" bind:tap="handleCourse" data-current="2">查看我的诊疗计划</view>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
@ -146,7 +146,7 @@
<view class="item1"> <view class="item1">
<view class="title"> <view class="title">
注射后 注射后
<block wx:if="{{treatment.followUpWeekInfo.iYear || treatment.followUpWeekInfo.iYearDay}}"> <block wx:if="{{treatment.followUpWeekInfo.iYear}}">
<block wx:if="{{treatment.followUpWeekInfo.iYear}}"> <block wx:if="{{treatment.followUpWeekInfo.iYear}}">
<view class="num">{{treatment.followUpWeekInfo.iYear}}</view> <view class="num">{{treatment.followUpWeekInfo.iYear}}</view>
@ -175,7 +175,7 @@
<view class="content">最近一次复诊</view> <view class="content">最近一次复诊</view>
</view> </view>
</view> </view>
<view class="btn" bind:tap="handleCourse">查看我的诊疗计划</view> <view class="btn" bind:tap="handleCourse" data-current="3">查看我的诊疗计划</view>
</view> </view>
<view class="container1" wx:else> <view class="container1" wx:else>
<view class="c-header"> <view class="c-header">
@ -185,7 +185,7 @@
<view class="content">我们一直陪伴您,全程参与您的健康之旅</view> <view class="content">我们一直陪伴您,全程参与您的健康之旅</view>
</view> </view>
</view> </view>
<view class="btn" bind:tap="handleCourse">查看我的诊疗计划</view> <view class="btn" bind:tap="handleCourse" data-current="3">查看我的诊疗计划</view>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
@ -205,7 +205,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="module2" wx:if="{{treatment.clottingFactorInfo.clottingFactor || treatment.bleedInfo.diffDays}}"> <view class="module2">
<view class="m-header"> <view class="m-header">
<view class="title">向往的生活记录</view> <view class="title">向往的生活记录</view>
</view> </view>
@ -215,7 +215,7 @@
<view class="num"> <view class="num">
{{treatment.clottingFactorInfo.clottingFactor}}<text class="sub" style="color:rgba(246, 74, 58, 1)">%</text> {{treatment.clottingFactorInfo.clottingFactor}}<text class="sub" style="color:rgba(246, 74, 58, 1)">%</text>
</view> </view>
<view class="content">上次凝血因子水平(IX)</view> <view class="content">最近一次凝血因子水平(IX)</view>
<view class="footer"> <view class="footer">
<view class="date">{{treatment.clottingFactorInfo.clottingFactorDate || ''}}</view> <view class="date">{{treatment.clottingFactorInfo.clottingFactorDate || ''}}</view>
</view> </view>
@ -245,6 +245,21 @@
</view> </view>
</view> </view>
<view class="public-card" wx:if="{{isPublicCard}}" bind:tap="handlePublicCard">
<image
class="close"
mode="aspectFit"
src="{{imageUrl}}icon114.png?t={{Timestamp}}"
catchtap="handleClosePublicCard"
></image>
<image class="icon" src="{{imageUrl}}icon115.png?t={{Timestamp}}"></image>
<view class="title">关注公众号重要提醒不丢失~</view>
<view class="btn">
关注
<image class="arrow" src="{{imageUrl}}icon116.png?t={{Timestamp}}"></image>
</view>
</view>
<view wx:if="{{guideShow}}" class="preview" bind:touchmove="touchmovePreview" bind:tap="handleTapPreview"> <view wx:if="{{guideShow}}" class="preview" bind:touchmove="touchmovePreview" bind:tap="handleTapPreview">
<image <image
class="img {{index==guide && 'show'}}" class="img {{index==guide && 'show'}}"

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

@ -135,7 +135,7 @@ Page({
const { recordId } = this.data const { recordId } = this.data
wx.showModal({ wx.showModal({
title: '确定删除吗?', title: '确定删除吗?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

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

@ -68,7 +68,7 @@ Page({
const { recordId } = this.data const { recordId } = this.data
wx.showModal({ wx.showModal({
title: '确定删除吗?', title: '确定删除吗?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

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

@ -28,6 +28,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_IMMUNOSUPPRESSANTLOG_VISIT' })
this.getList() this.getList()
this.addVisitRecord() this.addVisitRecord()
}) })
@ -64,7 +65,15 @@ Page({
url: `/patient/pages/inhibitorsManageDetail/index?id=${id}&peroid=${period}`, url: `/patient/pages/inhibitorsManageDetail/index?id=${id}&peroid=${period}`,
}) })
}, },
handleAddEmpty() {
app.mpBehavior({ PageName: 'BTN_ENTERIMMUNODOSAGE_CLICK' })
const { period } = this.data
wx.navigateTo({
url: `/patient/pages/inhibitorsManage/index?period=${period}`,
})
},
handleAdd() { handleAdd() {
app.mpBehavior({ PageName: 'BTN_IMMUNOSUPPRESSANT_PLUSBUTTON_CLICK' })
const { period } = this.data const { period } = this.data
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/inhibitorsManage/index?period=${period}`, url: `/patient/pages/inhibitorsManage/index?period=${period}`,

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

@ -35,6 +35,6 @@
<view class="empty" wx:else> <view class="empty" wx:else>
<image class="none-img" src="{{imageUrl}}none1.png?t={{Timestamp}}"></image> <image class="none-img" src="{{imageUrl}}none1.png?t={{Timestamp}}"></image>
<view class="title">您的免疫抑制剂的使用剂量是多少?</view> <view class="title">您的免疫抑制剂的使用剂量是多少?</view>
<view class="add" bind:tap="handleAdd">录入我的免疫制剂剂量信息</view> <view class="add" bind:tap="handleAddEmpty">录入我的免疫制剂剂量信息</view>
</view> </view>
</view> </view>

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

@ -28,6 +28,7 @@ Page({
onLoad() { onLoad() {
this.loadGifImage() this.loadGifImage()
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_INJECTIONDAY_VISIT' })
this.getDetail() this.getDetail()
}) })
}, },
@ -40,6 +41,11 @@ Page({
if (res.injectionDate) { if (res.injectionDate) {
const [year, month, date] = dayjs(res.injectionDate).format('YYYY-MM-DD').split('-') const [year, month, date] = dayjs(res.injectionDate).format('YYYY-MM-DD').split('-')
const calendar = this.selectComponent('#calendar').calendar const calendar = this.selectComponent('#calendar').calendar
calendar.jump({
year: year,
month: month,
date: 1,
})
calendar.setSelectedDates([ calendar.setSelectedDates([
{ {
year, year,
@ -93,9 +99,11 @@ Page({
}) })
}, },
handleBack() { handleBack() {
app.mpBehavior({ PageName: 'BTN_INJECTIONDAY_CANCELBUTTON_CLICK' })
wx.navigateBack() wx.navigateBack()
}, },
handleSubmit() { handleSubmit() {
app.mpBehavior({ PageName: 'BTN_COMPLETEBUTTON_CLICK' })
const { injectionDate } = this.data const { injectionDate } = this.data
if (!injectionDate) { if (!injectionDate) {

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

@ -13,7 +13,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_EDUCATION' }) app.mpBehavior({ PageName: 'PG_KNOWLEDGELIST_VISIT' })
this.getList() this.getList()
}) })
}, },

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

@ -50,7 +50,7 @@
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #fff; background-color: rgba(255,255,255, 0.93);
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
.btn { .btn {
flex: 1; flex: 1;

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

@ -61,6 +61,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_LATESTRECHECKRECORD_VISIT' })
this.getDict() this.getDict()
this.getDetail() this.getDetail()
}) })
@ -85,8 +86,19 @@ Page({
} else { } else {
num = num.slice(0, integerLimit) num = num.slice(0, integerLimit)
} }
// 限制小数位位数
const decimalIndex = num.indexOf('.')
if (decimalIndex !== -1) {
num = num.slice(0, decimalIndex + 3)
}
return num return num
}, },
handleStartDate() {
app.mpBehavior({ PageName: 'BTN_LATEST_SELECTSTARTTIME_CLICK' })
},
handleEndDate() {
app.mpBehavior({ PageName: 'BTN_LATEST_SELECTENDTIME_CLICK' })
},
getDict() { getDict() {
wx.ajax({ wx.ajax({
method: 'GET', method: 'GET',
@ -122,6 +134,7 @@ Page({
}) })
}, },
handleSelectHospital() { handleSelectHospital() {
app.mpBehavior({ PageName: 'BTN_LATEST_SELECTHOSPITAL_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/selectHostipal/index?select=1&id=${this.data.hospitalId}`, url: `/patient/pages/selectHostipal/index?select=1&id=${this.data.hospitalId}`,
events: { events: {
@ -142,6 +155,7 @@ Page({
}) })
}, },
handleToggleCheck(e: any) { handleToggleCheck(e: any) {
app.mpBehavior({ PageName: 'BTN_LATEST_CHECKED_CLICK' })
const { check, fold } = e.currentTarget.dataset const { check, fold } = e.currentTarget.dataset
let foldValue = this.data[fold] let foldValue = this.data[fold]
if (this.data[check] == 2) { if (this.data[check] == 2) {
@ -159,6 +173,13 @@ Page({
const { back } = (e as any).currentTarget.dataset const { back } = (e as any).currentTarget.dataset
isBack = back == 1 isBack = back == 1
} }
if (isBack && !this.data.beginDate && !this.data.endDate) {
wx.showToast({
title: '请选择开始和结束日期',
icon:"none"
})
return
}
const { formKeys, period, examId, ...reset } = this.data const { formKeys, period, examId, ...reset } = this.data
const form = formKeys.reduce((pre, cur) => { const form = formKeys.reduce((pre, cur) => {
pre[cur] = reset[cur] pre[cur] = reset[cur]
@ -181,6 +202,9 @@ Page({
} }
}) })
}, },
handleUploadTap() {
app.mpBehavior({ PageName: 'BTN_LATEST_UPLOADFILE_CLICK' })
},
setFile(e: any) { setFile(e: any) {
const { type, key } = e.currentTarget.dataset const { type, key } = e.currentTarget.dataset
const { examId, period } = this.data const { examId, period } = this.data
@ -202,8 +226,9 @@ Page({
}) })
Promise.all(apiArr).then((res) => { Promise.all(apiArr).then((res) => {
const fileList = this.data[key] || [] const fileList = this.data[key] || []
const sortRes = res.sort((a, b) => a.attachmentId - b.attachmentId)
this.setData({ this.setData({
[key]: fileList.concat(res), [key]: fileList.concat(sortRes),
}) })
}) })
}, },
@ -240,7 +265,7 @@ Page({
const { examId } = this.data const { examId } = this.data
wx.showModal({ wx.showModal({
title: '确认删除?', title: '确认删除?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

7
src/patient/pages/lastDiagnosisReport/index.wxml

@ -5,14 +5,14 @@
<view class="label">检查时间</view> <view class="label">检查时间</view>
</view> </view>
<view class="range"> <view class="range">
<picker class="picker" end="{{endDate}}" model:value="{{beginDate}}" mode="date" bind:change="updateSave"> <picker class="picker" end="{{endDate}}" model:value="{{beginDate}}" mode="date" bind:change="updateSave" bind:tap="handleStartDate">
<view class="picker-content"> <view class="picker-content">
<view class="content" data-place="开始时间">{{beginDate}}</view> <view class="content" data-place="开始时间">{{beginDate}}</view>
<view class="tril"></view> <view class="tril"></view>
</view> </view>
</picker> </picker>
<picker class="picker" start="{{beginDate}}" model:value="{{endDate}}" mode="date" bind:change="updateSave"> <picker class="picker" start="{{beginDate}}" model:value="{{endDate}}" mode="date" bind:change="updateSave" bind:tap="handleEndDate">
<view class="picker-content"> <view class="picker-content">
<view class="content" data-place="结束时间">{{endDate}}</view> <view class="content" data-place="结束时间">{{endDate}}</view>
<view class="tril"></view> <view class="tril"></view>
@ -113,6 +113,7 @@
<view class="m-title">请上传您的检查报告</view> <view class="m-title">请上传您的检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList2}}" fileList="{{attachmentList2}}"
@ -170,6 +171,7 @@
<view class="m-title">请上传您的检查报告</view> <view class="m-title">请上传您的检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList3}}" fileList="{{attachmentList3}}"
@ -220,6 +222,7 @@
<view class="m-title">提交您的检测报告</view> <view class="m-title">提交您的检测报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList10}}" fileList="{{attachmentList10}}"

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

@ -119,7 +119,7 @@
.family-tip { .family-tip {
margin-top: 58rpx; margin-top: 58rpx;
font-size: 28rpx; font-size: 28rpx;
color: rgba(246, 74, 58, 1); color: rgba(161, 164, 172, 1);
text-align: center; text-align: center;
} }
} }

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

@ -19,6 +19,15 @@ Page({
this.setData({ this.setData({
backPage: options.back === '1', backPage: options.back === '1',
}) })
app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PATIENT_LOGIN' })
})
},
onUnload() {
if (timer) {
clearInterval(timer as number)
timer = null
}
}, },
getCode() { getCode() {
if (timer) return if (timer) return
@ -66,6 +75,7 @@ Page({
}) })
}, },
handleDocRule() { handleDocRule() {
app.mpBehavior({ PageName: 'TN_PATMOBILEONECLICKLOGIN' })
const { check1, check2, check3 } = this.data const { check1, check2, check3 } = this.data
return new Promise((resolve) => { return new Promise((resolve) => {
if (check1 && check2 && check3) { if (check1 && check2 && check3) {
@ -78,6 +88,7 @@ Page({
}) })
}, },
async handleSubmit() { async handleSubmit() {
app.mpBehavior({ PageName: 'BTN_PATLOGINCLICK' })
await this.handleDocRule() await this.handleDocRule()
const { mobile, code } = this.data const { mobile, code } = this.data
wx.ajax({ wx.ajax({
@ -92,6 +103,7 @@ Page({
}) })
}, },
handleWxSubmit(e: WechatMiniprogram.CustomEvent) { handleWxSubmit(e: WechatMiniprogram.CustomEvent) {
app.mpBehavior({ PageName: 'TN_PATMOBILEONECLICKLOGIN' })
const { iv, encryptedData } = e.detail const { iv, encryptedData } = e.detail
if (iv && encryptedData) { if (iv && encryptedData) {
wx.ajax({ wx.ajax({
@ -124,6 +136,7 @@ Page({
}) })
}, },
handleShowTel() { handleShowTel() {
app.mpBehavior({ PageName: 'BTN_PATMOBILEVERIFYLOGIN' })
this.setData({ this.setData({
showTel: !this.data.showTel, showTel: !this.data.showTel,
}) })
@ -134,6 +147,29 @@ Page({
url, url,
}) })
}, },
handleCheck(e) {
const { name } = e.currentTarget.dataset
app.mpBehavior({ PageName: name })
},
handleFamily() {
wx.scanCode({
scanType: ['wxCode'],
success: (res) => {
console.log('DEBUGPRINT[140]: index.ts:157: res=', res)
const path = res.path
if (res.errMsg !== 'scanCode:ok' || !path || !path.includes('?scene=pId')) {
wx.showToast({
icon: 'none',
title: '扫码失败,请重试',
})
return
}
wx.reLaunch({
url: `/${res.path}`,
})
},
})
},
handleBack() { handleBack() {
wx.navigateBack() wx.navigateBack()
}, },

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

@ -37,7 +37,7 @@
<view class="form-row"> <view class="form-row">
<input <input
class="input" class="input"
medal:value="{{code}}" model:value="{{code}}"
placeholder-class="place-input" placeholder-class="place-input"
type="number" type="number"
maxlength="6" maxlength="6"
@ -49,7 +49,13 @@
</view> </view>
<view class="signature"> <view class="signature">
<view class="row"> <view class="row">
<checkbox model:checked="{{check1}}" class="checkbox" color="#fff"></checkbox> <checkbox
model:checked="{{check1}}"
class="checkbox"
color="#fff"
bind:tap="handleCheck"
data-name="BTN_PATCHECKAGREEMENT1"
></checkbox>
<view class="r-content"> <view class="r-content">
我特此同意 我特此同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc3/index">《个人信息及隐私协议政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/doc3/index">《个人信息及隐私协议政策》</text>
@ -57,7 +63,13 @@
</view> </view>
</view> </view>
<view class="row"> <view class="row">
<checkbox model:checked="{{check2}}" class="checkbox" color="#fff"></checkbox> <checkbox
model:checked="{{check2}}"
class="checkbox"
color="#fff"
bind:tap="handleCheck"
data-name="BTN_PATCHECKAGREEMENT2"
></checkbox>
<view class="r-content"> <view class="r-content">
我特此同意 我特此同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc4/index">《用户协议》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/doc4/index">《用户协议》</text>
@ -65,7 +77,13 @@
</view> </view>
</view> </view>
<view class="row"> <view class="row">
<checkbox model:checked="{{check3}}" class="checkbox" color="#fff"></checkbox> <checkbox
model:checked="{{check3}}"
class="checkbox"
color="#fff"
bind:tap="handleCheck"
data-name="BTN_PATCHECKAGREEMENT3"
></checkbox>
<view class="r-content"> <view class="r-content">
我特此同意 我特此同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc2/index">《个人信息共享知情同意书》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/doc2/index">《个人信息共享知情同意书》</text>
@ -73,5 +91,5 @@
</view> </view>
</view> </view>
</view> </view>
<view class="family-tip">已经有亲友注册?扫描亲友邀约码绑定</view> <view class="family-tip" bind:tap="handleFamily">已经有亲友注册?扫描亲友邀约码绑定</view>
</view> </view>

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

@ -6,7 +6,7 @@ Page({
handleLoginOut() { handleLoginOut() {
wx.showModal({ wx.showModal({
title: '确定注销吗?', title: '确定注销吗?',
confirmColor: 'rgba(246, 74, 58, 1)', confirmColor: '#F64A3A',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({

10
src/patient/pages/my/index.ts

@ -11,6 +11,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_MYPAGE_VISIT' })
app.getUserInfo(1).then((userInfo) => { app.getUserInfo(1).then((userInfo) => {
this.setData({ this.setData({
userInfo, userInfo,
@ -64,23 +65,26 @@ Page({
popupShow: false, popupShow: false,
}) })
}, },
routerTo(e) { handleFile() {
const { url } = e.currentTarget.dataset app.mpBehavior({ PageName: 'BTN_VIEWHEALTHARCHIVE_CLICK' })
wx.navigateTo({ wx.navigateTo({
url, url: '/patient/pages/file/index',
}) })
}, },
handleUserInfo() { handleUserInfo() {
app.mpBehavior({ PageName: 'BTN_PERSONALINFO_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/userInfo/index', url: '/patient/pages/userInfo/index',
}) })
}, },
handleDoctor() { handleDoctor() {
app.mpBehavior({ PageName: 'BTN_IAMDOCTOR_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/doctor/pages/login/index', url: '/doctor/pages/login/index',
}) })
}, },
handleFamily() { handleFamily() {
app.mpBehavior({ PageName: 'BTN_MYRELATIVES_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: '/patient/pages/family/index', url: '/patient/pages/family/index',
}) })

6
src/patient/pages/my/index.wxml

@ -8,7 +8,9 @@
</button> </button>
<view class="wrap"> <view class="wrap">
<view class="name"> <view class="name">
<text class="nickname">{{userInfo.PatientName}}<block wx:if="{{userInfo.RelationType == 2}}">亲友</block></text> <view class="nickname">
{{userInfo.PatientName}} <block wx:if="{{userInfo.RelationType == 2}}">亲友</block>
</view>
</view> </view>
<view class="day"> <view class="day">
今天是陪伴您的第 今天是陪伴您的第
@ -16,7 +18,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="apply" bind:tap="routerTo" data-url="/patient/pages/file/index"> <view class="apply" bind:tap="handleFile">
<image class="a-img" src="{{imageUrl}}index-apply.png?t={{Timestamp}}"></image> <image class="a-img" src="{{imageUrl}}index-apply.png?t={{Timestamp}}"></image>
<view class="content">查看我的健康档案</view> <view class="content">查看我的健康档案</view>
</view> </view>

19
src/patient/pages/preDiagnosisReport/index.ts

@ -120,6 +120,7 @@ Page({
const { formKeys, period } = this.data const { formKeys, period } = this.data
const examinationCache = wx.getStorageSync(`examinationCache${period}`) const examinationCache = wx.getStorageSync(`examinationCache${period}`)
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_MYPREDIAGNOSISREPORT_VISIT' })
this.getDict() this.getDict()
if (examinationCache) { if (examinationCache) {
const reset = formKeys.reduce((pre, cur) => { const reset = formKeys.reduce((pre, cur) => {
@ -161,6 +162,11 @@ Page({
} else { } else {
num = num.slice(0, integerLimit) num = num.slice(0, integerLimit)
} }
// 限制小数位位数
const decimalIndex = num.indexOf('.')
if (decimalIndex !== -1) {
num = num.slice(0, decimalIndex + 3)
}
return num return num
}, },
getDict() { getDict() {
@ -211,6 +217,7 @@ Page({
}) })
}, },
handleToggleCheck(e: any) { handleToggleCheck(e: any) {
app.mpBehavior({ PageName: 'BTN_CHECKED_CLICK' })
const { check, fold } = e.currentTarget.dataset const { check, fold } = e.currentTarget.dataset
let foldValue = this.data[fold] let foldValue = this.data[fold]
if (this.data[check] == 2 || !this.data[check]) { if (this.data[check] == 2 || !this.data[check]) {
@ -292,8 +299,9 @@ Page({
}) })
Promise.all(apiArr).then((res) => { Promise.all(apiArr).then((res) => {
const fileList = this.data[key] || [] const fileList = this.data[key] || []
const sortRes = res.sort((a, b) => a.attachmentId - b.attachmentId)
this.setData({ this.setData({
[key]: fileList.concat(res), [key]: fileList.concat(sortRes),
}) })
}) })
}, },
@ -326,6 +334,15 @@ Page({
[key]: newFileList, [key]: newFileList,
}) })
}, },
handleStartDate() {
app.mpBehavior({ PageName: 'BTN_SELECTSTARTTIME_CLICK' })
},
handleEndDate() {
app.mpBehavior({ PageName: 'BTN_SELECTENDTIME_CLICK' })
},
handleUploadTap() {
app.mpBehavior({ PageName: 'BTN_UPLOADFILE_CLICK' })
},
}) })
export {} export {}

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

@ -5,14 +5,14 @@
<view class="label">检查时间</view> <view class="label">检查时间</view>
</view> </view>
<view class="range"> <view class="range">
<picker class="picker" end="{{endDate}}" model:value="{{beginDate}}" mode="date" bind:change="updateSave"> <picker class="picker" end="{{endDate}}" model:value="{{beginDate}}" mode="date" bind:change="updateSave" bind:tap="handleStartDate">
<view class="picker-content"> <view class="picker-content">
<view class="content" data-place="开始时间">{{beginDate}}</view> <view class="content" data-place="开始时间">{{beginDate}}</view>
<view class="tril"></view> <view class="tril"></view>
</view> </view>
</picker> </picker>
<picker class="picker" start="{{beginDate}}" model:value="{{endDate}}" mode="date" bind:change="updateSave"> <picker class="picker" start="{{beginDate}}" model:value="{{endDate}}" mode="date" bind:change="updateSave" bind:tap="handleEndDate">
<view class="picker-content"> <view class="picker-content">
<view class="content" data-place="结束时间">{{endDate}}</view> <view class="content" data-place="结束时间">{{endDate}}</view>
<view class="tril"></view> <view class="tril"></view>
@ -61,6 +61,7 @@
<view class="m-title">请上传您的检查报告</view> <view class="m-title">请上传您的检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList1}}" fileList="{{attachmentList1}}"
@ -156,6 +157,7 @@
<view class="m-title">请上传您的检查报告</view> <view class="m-title">请上传您的检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList2}}" fileList="{{attachmentList2}}"
@ -213,6 +215,7 @@
<view class="m-title">请上传您的检查报告</view> <view class="m-title">请上传您的检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList3}}" fileList="{{attachmentList3}}"
@ -267,6 +270,7 @@
<view class="m-title">可上传您的抑制物检查结果</view> <view class="m-title">可上传您的抑制物检查结果</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList4}}" fileList="{{attachmentList4}}"
@ -335,6 +339,7 @@
<view class="m-title">请上传乙型肝炎检查报告</view> <view class="m-title">请上传乙型肝炎检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList5}}" fileList="{{attachmentList5}}"
@ -403,6 +408,7 @@
<view class="m-title">请上传丙型肝炎检查报告</view> <view class="m-title">请上传丙型肝炎检查报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList6}}" fileList="{{attachmentList6}}"
@ -459,6 +465,7 @@
<view class="m-title">提交您的HIV检测报告</view> <view class="m-title">提交您的HIV检测报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList7}}" fileList="{{attachmentList7}}"
@ -516,6 +523,7 @@
<view class="m-title">提交您的AFP 检测报告</view> <view class="m-title">提交您的AFP 检测报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList8}}" fileList="{{attachmentList8}}"
@ -572,6 +580,7 @@
<view class="m-title">提交您的AAV检测报告</view> <view class="m-title">提交您的AAV检测报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList9}}" fileList="{{attachmentList9}}"
@ -621,6 +630,7 @@
<view class="m-title">提交您的检测报告</view> <view class="m-title">提交您的检测报告</view>
<view class="file-list"> <view class="file-list">
<uploadFile <uploadFile
bind:tap="handleUploadTap"
bind:setData="setFile" bind:setData="setFile"
bind:deleteFile="delFile" bind:deleteFile="delFile"
fileList="{{attachmentList10}}" fileList="{{attachmentList10}}"

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

@ -20,6 +20,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: 1 }).then(() => { app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_LATESTRECHECKLIST_VISIT' })
this.getList() this.getList()
}) })
}, },
@ -57,6 +58,7 @@ Page({
}) })
}, },
handleAdd() { handleAdd() {
app.mpBehavior({ PageName: 'BTN_LATEST_PLUSBUTTON_CLICK' })
wx.navigateTo({ wx.navigateTo({
url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}`, url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}`,
}) })

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

Loading…
Cancel
Save