Browse Source

众测问题处理

qol
kola-web 21 hours ago
parent
commit
2786eb842f
  1. 4
      src/app.scss
  2. 7
      src/app.ts
  3. 4
      src/doc/pages/doc2/index.scss
  4. 2
      src/doc/pages/doc2/index.ts
  5. 18
      src/doc/pages/doc2/index.wxml
  6. BIN
      src/images/bg18.png
  7. BIN
      src/images/icon73.png
  8. 6
      src/pages/d_interactive/index.ts
  9. 8
      src/pages/d_interactiveDoctor/index.ts
  10. 2
      src/pages/d_interactiveDoctor/index.wxml
  11. 2
      src/pages/d_invite/index.ts
  12. 8
      src/pages/d_patient/index.ts
  13. 2
      src/pages/d_patientDetail/index.scss
  14. 15
      src/pages/d_patientDetail/index.ts
  15. 2
      src/pages/d_userInfo/index.ts
  16. 35
      src/pages/home/index.ts
  17. 13
      src/pages/home/index.wxml
  18. 6
      src/pages/information/index.ts
  19. 4
      src/pages/informationDetail/index.ts
  20. 12
      src/pages/login/index.ts
  21. 6
      src/pages/my/index.ts
  22. 2
      src/patient/pages/doctorDetail/index.scss
  23. 2
      src/patient/pages/doctorDetail/index.wxml
  24. 22
      src/patient/pages/index/index.scss
  25. 8
      src/patient/pages/index/index.wxml
  26. 2
      src/patient/pages/interactivePatient/index.wxml
  27. 2
      src/patient/pages/live/index.scss
  28. 14
      src/patient/pages/personalInformation/index.scss
  29. 18
      src/patient/pages/personalInformation/index.wxml
  30. 8
      src/patient/pages/qol/index.scss
  31. 8
      src/patient/pages/qol/index.ts
  32. 18
      src/patient/pages/qol/index.wxml
  33. 4
      src/patient/pages/qolAdd/index.scss
  34. 17
      src/patient/pages/qolAdd/index.ts
  35. 6
      src/patient/pages/qolAdd/index.wxml
  36. 32
      src/patient/pages/qolReport/index.scss
  37. 21
      src/patient/pages/qolReport/index.ts
  38. 12
      src/patient/pages/qolReport/index.wxml
  39. 9
      src/patient/pages/qolResult/index.scss
  40. 9
      src/patient/pages/qolResult/index.ts
  41. 22
      src/patient/pages/qolResult/index.wxml
  42. 12
      src/patient/pages/repositoryDetail/index.scss
  43. 2
      typings/index.d.ts

4
src/app.scss

@ -1 +1,5 @@
/**app.wxss**/ /**app.wxss**/
view {
--nav-bar-title-font-size: 36rpx;
}

7
src/app.ts

@ -233,9 +233,12 @@ App<IAppOption>({
data: {}, data: {},
}) as Promise<never> }) as Promise<never>
}, },
mpBehavior(data: { PageName: string }) { mpBehavior(data: { doctor?: boolean; PageName: string }) {
console.log(data)
let url = '?r=zd/mp-behavior/add' let url = '?r=zd/mp-behavior/add'
if (data.doctor) {
url = '?r=zd/doctor/mp-behavior/add'
delete data.doctor
}
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url, url,

4
src/doc/pages/doc2/index.scss

@ -1,3 +1,3 @@
.page{ .mp-html{
padding: 0 40rpx; padding: 20rpx 40rpx;
} }

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

File diff suppressed because one or more lines are too long

18
src/doc/pages/doc2/index.wxml

@ -1,5 +1,17 @@
<van-tabs active="{{ active }}" color="#B982FF" sticky swipeable bind:change="onChange"> <van-tabs active="{{ active }}" color="#B982FF" sticky swipeable bind:change="onChange">
<van-tab title="隐私政策"><mp-html content="{{doc1}}"></mp-html></van-tab> <van-tab title="隐私政策">
<van-tab title="用户协议"><mp-html content="{{doc2}}"></mp-html></van-tab> <view class="mp-html">
<van-tab title="个人信息共享知情同意书"><mp-html content="{{doc3}}"></mp-html></van-tab> <mp-html content="{{doc1}}"></mp-html>
</view>
</van-tab>
<van-tab title="用户协议">
<view class="mp-html">
<mp-html content="{{doc2}}"></mp-html>
</view>
</van-tab>
<van-tab title="个人信息共享知情同意书">
<view class="mp-html">
<mp-html content="{{doc3}}"></mp-html>
</view>
</van-tab>
</van-tabs> </van-tabs>

BIN
src/images/bg18.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

BIN
src/images/icon73.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

6
src/pages/d_interactive/index.ts

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

8
src/pages/d_interactiveDoctor/index.ts

@ -54,7 +54,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: [2] }).then((_res) => { app.waitLogin({ type: [2] }).then((_res) => {
app.mpBehavior({ PageName: 'PG_DoctorIMDetail' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorIMDetail' })
this.getDoctorDetail() this.getDoctorDetail()
this.getPatientDetail() this.getPatientDetail()
this.getMessageList() this.getMessageList()
@ -168,7 +168,7 @@ Page({
}) })
}, },
handleSendDate() { handleSendDate() {
app.mpBehavior({ PageName: 'BTN_DoctorIMDetailClinicHours' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorIMDetailClinicHours' })
const { const {
messageList, messageList,
doctor: { Clinic }, doctor: { Clinic },
@ -223,7 +223,7 @@ Page({
}) })
}, },
handleSendShow() { handleSendShow() {
app.mpBehavior({ PageName: 'BTN_DoctorIMDetailSendMessage' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorIMDetailSendMessage' })
this.setData({ this.setData({
messageListShow: true, messageListShow: true,
}) })
@ -360,7 +360,7 @@ Page({
}) })
}, },
handlePatientDetail() { handlePatientDetail() {
app.mpBehavior({ PageName: 'BTN_DoctorIMDetailPatient' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorIMDetailPatient' })
wx.navigateTo({ wx.navigateTo({
url: `/pages/d_patientDetail/index?id=${this.data.patientId}`, url: `/pages/d_patientDetail/index?id=${this.data.patientId}`,
}) })

2
src/pages/d_interactiveDoctor/index.wxml

@ -97,7 +97,7 @@
<view class="title">GO-QOL生活质量评分</view> <view class="title">GO-QOL生活质量评分</view>
<view class="sub-title">可从主观感受变化反馈治疗效果,建议您每月定期测评</view> <view class="sub-title">可从主观感受变化反馈治疗效果,建议您每月定期测评</view>
<view class="btn">点击开始自评</view> <view class="btn">点击开始自评</view>
<image class="photo" src="/images/bg17.png"></image> <image class="photo" src="{{imageUrl}}bg17.png?t={{Timestamp}}"></image>
</view> </view>
<view <view
class="audio" class="audio"

2
src/pages/d_invite/index.ts

@ -18,7 +18,7 @@ Page({
}) })
} }
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ PageName: 'PG_DoctorCode' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorCode' })
wx.showLoading({ wx.showLoading({
title: '加载中', title: '加载中',
}) })

8
src/pages/d_patient/index.ts

@ -59,7 +59,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin().then((_res) => { app.waitLogin().then((_res) => {
app.mpBehavior({ PageName: 'PG_DoctorPatientList' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorPatientList' })
this.getList() this.getList()
app.getUserInfo(2).then((userInfo) => { app.getUserInfo(2).then((userInfo) => {
this.setData({ this.setData({
@ -99,7 +99,7 @@ Page({
this.getList() this.getList()
}, },
handleTapSearch() { handleTapSearch() {
app.mpBehavior({ PageName: 'BTN_DoctorPatientListSearch' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorPatientListSearch' })
}, },
handleNav(e) { handleNav(e) {
const { active } = e.currentTarget.dataset const { active } = e.currentTarget.dataset
@ -185,7 +185,7 @@ Page({
}) })
}, },
handleDetail(e: any) { handleDetail(e: any) {
app.mpBehavior({ PageName: 'BTN_DoctorPatientList' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorPatientList' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const item = this.data.list[index] const item = this.data.list[index]
@ -194,7 +194,7 @@ Page({
}) })
}, },
handleSend(e) { handleSend(e) {
app.mpBehavior({ PageName: 'BTN_DoctorPatientListSendMessage' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorPatientListSendMessage' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/pages/d_interactiveDoctor/index?patientId=${this.data.list[index].PatientId}`, url: `/pages/d_interactiveDoctor/index?patientId=${this.data.list[index].PatientId}`,

2
src/pages/d_patientDetail/index.scss

@ -389,7 +389,7 @@ page {
} }
} }
.chart-list { .chart-list {
padding: 32rpx 40rpx 0; padding: 48rpx 40rpx 0;
.chart-title { .chart-title {
font-size: 36rpx; font-size: 36rpx;
color: #211d2e; color: #211d2e;

15
src/pages/d_patientDetail/index.ts

@ -175,7 +175,7 @@ Page({
}) })
app.waitLogin({ type: [2] }).then(async (_res) => { app.waitLogin({ type: [2] }).then(async (_res) => {
app.mpBehavior({ PageName: 'PG_DoctorPatientDetail' }) app.mpBehavior({ doctor: true, PageName: 'PG_DoctorPatientDetail' })
this.getDoctorDetail() this.getDoctorDetail()
this.handleTypeChange() this.handleTypeChange()
await this.getDetail() await this.getDetail()
@ -223,10 +223,13 @@ Page({
}) })
}) })
}, },
handleTypeChange(e) { handleChange() {
this.getGraph()
},
handleTypeChange(e = '') {
let index = 0 let index = 0
if (e) { if (e) {
index = e.detail.value index = (e as any).detail.value
} }
const { typeRange } = this.data const { typeRange } = this.data
const type = typeRange[index].id const type = typeRange[index].id
@ -308,7 +311,7 @@ Page({
backgroundColor: 'rgba(0, 0, 0, 0.5)', backgroundColor: 'rgba(0, 0, 0, 0.5)',
textStyle: { textStyle: {
color: '#fff', color: '#fff',
fontSize: 10, fontSize: 14,
}, },
order: 'seriesDesc', order: 'seriesDesc',
}, },
@ -525,7 +528,7 @@ Page({
wx.navigateBack() wx.navigateBack()
}, },
handleSend() { handleSend() {
app.mpBehavior({ PageName: 'BTN_DoctorPatientDetailSendMessage' }) app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorPatientDetailSendMessage' })
wx.navigateTo({ wx.navigateTo({
url: `/pages/d_interactiveDoctor/index?patientId=${this.data.detail.PatientId}`, url: `/pages/d_interactiveDoctor/index?patientId=${this.data.detail.PatientId}`,
}) })
@ -591,7 +594,7 @@ Page({
}) })
}, },
handleEDC() { handleEDC() {
app.mpBehavior({ PageName: 'BTN_DoctorPatientDetailEDC' }) app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorPatientDetailEDC' })
wx.ajax({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=zd/doctor/patient/set-edc', url: '?r=zd/doctor/patient/set-edc',

2
src/pages/d_userInfo/index.ts

@ -57,7 +57,7 @@ Page({
onLoad() {}, onLoad() {},
onShow() { onShow() {
app.waitLogin({ type: [2] }).then((_res) => { app.waitLogin({ type: [2] }).then((_res) => {
app.mpBehavior({ PageName: 'PG_DoctorInfoDetails' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorInfoDetails' })
this.getDetail() this.getDetail()
}) })
}, },

35
src/pages/home/index.ts

@ -41,7 +41,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: [2] }).then(() => { app.waitLogin({ type: [2] }).then(() => {
app.mpBehavior({ PageName: 'PG_DoctorHome' }) app.mpBehavior({ doctor: true, PageName: 'PG_DoctorHome' })
this.getNotice() this.getNotice()
this.getBanner() this.getBanner()
this.getList() this.getList()
@ -54,7 +54,7 @@ Page({
this.getBriefingList() this.getBriefingList()
this.getSopList() this.getSopList()
if (userInfo.IsEDC === '1') { if (userInfo.IsEDC === '1') {
app.mpBehavior({ PageName: 'PG_DoctorHomeNotice' }) app.mpBehavior({ doctor: true, PageName: 'PG_DoctorHomeNotice' })
} }
}) })
}) })
@ -123,7 +123,7 @@ Page({
}) })
}, },
handleNoticeDetail(e) { handleNoticeDetail(e) {
app.mpBehavior({ PageName: 'BTN_DoctorHomeNotice' }) app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorHomeNotice' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const { Id, Url } = this.data.notice[index] const { Id, Url } = this.data.notice[index]
app.oldMpBehavior({ PositionId: '4', OperateType: '1', OperateId: Id }) app.oldMpBehavior({ PositionId: '4', OperateType: '1', OperateId: Id })
@ -193,7 +193,7 @@ Page({
briefingList: res.list, briefingList: res.list,
}) })
if (res.list.length && this.data.userInfo.IsEDC === '1') { if (res.list.length && this.data.userInfo.IsEDC === '1') {
app.mpBehavior({ PageName: 'PG_DoctorHomeBrief' }) app.mpBehavior({ doctor: true, PageName: 'PG_DoctorHomeBrief' })
} }
}) })
}, },
@ -213,7 +213,7 @@ Page({
sopList: res.list, sopList: res.list,
}) })
if (res.list.length && this.data.userInfo.IsEDC === '1') { if (res.list.length && this.data.userInfo.IsEDC === '1') {
app.mpBehavior({ PageName: 'PG_DoctorHomeSop' }) app.mpBehavior({ doctor: true, PageName: 'PG_DoctorHomeSop' })
} }
}) })
}, },
@ -234,19 +234,19 @@ Page({
list: res.list, list: res.list,
}) })
if (res.list.length) { if (res.list.length) {
app.mpBehavior({ PageName: 'PG_DoctorHomeLibrary' }) app.mpBehavior({ doctor: true, PageName: 'PG_DoctorHomeLibrary' })
} }
}) })
}, },
handleBriefingDetail(e: any) { handleBriefingDetail(e: any) {
app.mpBehavior({ PageName: 'BTN_DoctorHomeBrief' }) app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorHomeBrief' })
const { id } = e.currentTarget.dataset const { id } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({
url: `/pages/informationDetail/index?id=${id}`, url: `/pages/informationDetail/index?id=${id}`,
}) })
}, },
handleSop(e) { handleSop(e) {
app.mpBehavior({ PageName: 'BTN_DoctorHomeSop' }) app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorHomeSop' })
const { index } = e.currentTarget.dataset const { index } = e.currentTarget.dataset
const { Id, FileList } = this.data.sopList[index] const { Id, FileList } = this.data.sopList[index]
const params: any = FileList[0] const params: any = FileList[0]
@ -261,7 +261,7 @@ Page({
this.handleFile(params) this.handleFile(params)
}, },
handleDetail(e: any) { handleDetail(e: any) {
app.mpBehavior({ PageName: 'BTN_DoctorHomeLibrary' }) app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorHomeLibrary' })
const { id, index } = e.currentTarget.dataset const { id, index } = e.currentTarget.dataset
const params = this.data.list[index] const params = this.data.list[index]
if (params.ContentType === '5' && params.FileList[0]) { if (params.ContentType === '5' && params.FileList[0]) {
@ -346,7 +346,22 @@ Page({
}, },
handleMpBehavior(e) { handleMpBehavior(e) {
const { code } = e.currentTarget.dataset const { code } = e.currentTarget.dataset
app.mpBehavior({ PageName: code }) app.mpBehavior({ doctor: true, PageName: code })
},
handleQuestion(e) {
const { question } = e.currentTarget.dataset
const content = {
1: '???',
2: '???',
3: '???',
4: '???',
}[question]
wx.showModal({
content: content,
confirmColor: '#8c75d0',
showCancel: false,
confirmText: '知道了',
})
}, },
onShareAppMessage(e) { onShareAppMessage(e) {
if (e.from === 'button') { if (e.from === 'button') {

13
src/pages/home/index.wxml

@ -145,13 +145,16 @@
</view> </view>
<view class="stat" bind:tap="handlePatient"> <view class="stat" bind:tap="handlePatient">
<view class="s-header"> <view class="s-header">
<view class="title">统计数据截止到昨天 <text class="sub">每天00:05更新</text></view> <view class="title">
统计数据截止到昨天
<text class="sub">每天00:05更新</text>
</view>
</view> </view>
<view class="s-container"> <view class="s-container">
<view class="card" bind:tap="handleMpBehavior" data-code="BTN_DoctorHomeTotalPatient"> <view class="card" bind:tap="handleMpBehavior" data-code="BTN_DoctorHomeTotalPatient">
<image class="icon" src="{{imageUrl}}icon52.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon52.png?t={{Timestamp}}"></image>
<view class="content"> <view class="content">
<view class="text"> <view class="text" catch:tap="handleQuestion" data-question="1">
累计邀约 累计邀约
<image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image> <image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image>
</view> </view>
@ -164,7 +167,7 @@
<view class="card" bind:tap="handleMpBehavior" data-code="BTN_DoctorHomeNewPatient"> <view class="card" bind:tap="handleMpBehavior" data-code="BTN_DoctorHomeNewPatient">
<image class="icon" src="{{imageUrl}}icon53.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon53.png?t={{Timestamp}}"></image>
<view class="content"> <view class="content">
<view class="text"> <view class="text" catch:tap="handleQuestion" data-question="2">
本月新增 本月新增
<image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image> <image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image>
</view> </view>
@ -177,7 +180,7 @@
<view class="card" wx:if="{{userInfo.IsEDC==='1'}}"> <view class="card" wx:if="{{userInfo.IsEDC==='1'}}">
<image class="icon" src="{{imageUrl}}icon45.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon45.png?t={{Timestamp}}"></image>
<view class="content"> <view class="content">
<view class="text"> <view class="text" catch:tap="handleQuestion" data-question="3">
EDC参与 EDC参与
<image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image> <image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image>
</view> </view>
@ -190,7 +193,7 @@
<view class="card" wx:if="{{userInfo.IsEDC==='1'}}"> <view class="card" wx:if="{{userInfo.IsEDC==='1'}}">
<image class="icon" src="{{imageUrl}}icon68.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon68.png?t={{Timestamp}}"></image>
<view class="content"> <view class="content">
<view class="text"> <view class="text" catch:tap="handleQuestion" data-question="4">
需随访 需随访
<image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image> <image class="question" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image>
</view> </view>

6
src/pages/information/index.ts

@ -22,7 +22,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: [2] }).then(() => { app.waitLogin({ type: [2] }).then(() => {
app.mpBehavior({ PageName: 'PG_LibraryList' }) app.mpBehavior({ doctor:true, PageName: 'PG_LibraryList' })
this.getList() this.getList()
}) })
}, },
@ -58,7 +58,7 @@ Page({
} }
}, },
handleDetail(e) { handleDetail(e) {
app.mpBehavior({ PageName: 'BTN_LibraryListContent' }) app.mpBehavior({ doctor:true, PageName: 'BTN_LibraryListContent' })
const { id, index } = e.currentTarget.dataset const { id, index } = e.currentTarget.dataset
const params = this.data.list[index] const params = this.data.list[index]
if (params.ContentType === '5' && params.FileList[0]) { if (params.ContentType === '5' && params.FileList[0]) {
@ -109,7 +109,7 @@ Page({
}, },
onShareAppMessage(e) { onShareAppMessage(e) {
if (e.from === 'button') { if (e.from === 'button') {
app.mpBehavior({ PageName: 'BTN_LibraryListShare' }) app.mpBehavior({ doctor:true, PageName: 'BTN_LibraryListShare' })
const { Title, CoverImgUrl, Id } = e.target.dataset.params const { Title, CoverImgUrl, Id } = e.target.dataset.params
app.oldMpBehavior({ PositionId: '2', OperateType: '3', OperateId: Id }) app.oldMpBehavior({ PositionId: '2', OperateType: '3', OperateId: Id })
return { return {

4
src/pages/informationDetail/index.ts

@ -40,7 +40,7 @@ Page({
id: options.id, id: options.id,
}) })
app.waitLogin({ type: [2] }).then(() => { app.waitLogin({ type: [2] }).then(() => {
app.mpBehavior({ PageName: 'PG_LibraryDetails' }) app.mpBehavior({ doctor:true, PageName: 'PG_LibraryDetails' })
app.oldMpBehavior({ PositionId: '1', OperateType: '1', OperateId: options.id as string }) app.oldMpBehavior({ PositionId: '1', OperateType: '1', OperateId: options.id as string })
this.getDetail() this.getDetail()
}) })
@ -161,7 +161,7 @@ Page({
}, },
onShareAppMessage() { onShareAppMessage() {
app.mpBehavior({ PageName: 'BTN_LibraryDetailsShare' }) app.mpBehavior({ doctor:true, PageName: 'BTN_LibraryDetailsShare' })
const { Title, CoverImgUrl, Id } = this.data.detail const { Title, CoverImgUrl, Id } = this.data.detail
app.oldMpBehavior({ PositionId: '1', OperateType: '3', OperateId: Id as string }) app.oldMpBehavior({ PositionId: '1', OperateType: '3', OperateId: Id as string })
return { return {

12
src/pages/login/index.ts

@ -24,7 +24,7 @@ Page({
back: options.back, back: options.back,
}) })
app.waitLogin().then(() => { app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_DoctorLogin' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorLogin' })
}) })
}, },
getCode() { getCode() {
@ -73,7 +73,7 @@ Page({
}) })
}, },
handleCheck() { handleCheck() {
app.mpBehavior({ PageName: 'BTN_DoctorPrivacyAgree' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorPrivacyAgree' })
this.setData({ this.setData({
check1: !this.data.check1, check1: !this.data.check1,
}) })
@ -91,7 +91,7 @@ Page({
}) })
}, },
async handleSubmit() { async handleSubmit() {
app.mpBehavior({ PageName: 'BTN_DoctorLogin' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorLogin' })
await this.handleDocRule() await this.handleDocRule()
const { mobile, code } = this.data const { mobile, code } = this.data
if (!mobile) { if (!mobile) {
@ -132,11 +132,11 @@ Page({
}) })
}, },
handleNoDoc() { handleNoDoc() {
app.mpBehavior({ PageName: 'BTN_DoctorQuickLogin' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorQuickLogin' })
this.handleDocRule() this.handleDocRule()
}, },
handleWxSubmit(e: WechatMiniprogram.CustomEvent) { handleWxSubmit(e: WechatMiniprogram.CustomEvent) {
app.mpBehavior({ PageName: 'BTN_DoctorQuickLogin' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorQuickLogin' })
const { iv, encryptedData } = e.detail const { iv, encryptedData } = e.detail
if (iv && encryptedData) { if (iv && encryptedData) {
wx.ajax({ wx.ajax({
@ -191,7 +191,7 @@ Page({
}) })
}, },
handleShowPopup() { handleShowPopup() {
app.mpBehavior({ PageName: 'PG_DoctorLoginFail' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorLoginFail' })
this.setData({ this.setData({
popupShow: true, popupShow: true,
popupType: 'popup4', popupType: 'popup4',

6
src/pages/my/index.ts

@ -15,7 +15,7 @@ Page({
}, },
onShow() { onShow() {
app.waitLogin({ type: [2] }).then(() => { app.waitLogin({ type: [2] }).then(() => {
app.mpBehavior({ PageName: 'PG_DoctorPersonalCenter' }) app.mpBehavior({ doctor:true, PageName: 'PG_DoctorPersonalCenter' })
this.getUserInfo() this.getUserInfo()
}) })
}, },
@ -120,7 +120,7 @@ Page({
}) })
}, },
handleUserInfo() { handleUserInfo() {
app.mpBehavior({ PageName: 'BTN_DoctorPersonalCenterInfo' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorPersonalCenterInfo' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/d_userInfo/index', url: '/pages/d_userInfo/index',
}) })
@ -131,7 +131,7 @@ Page({
}) })
}, },
handleInvite() { handleInvite() {
app.mpBehavior({ PageName: 'BTN_DoctorPersonalCenterCode' }) app.mpBehavior({ doctor:true, PageName: 'BTN_DoctorPersonalCenterCode' })
wx.navigateTo({ wx.navigateTo({
url: '/pages/d_invite/index', url: '/pages/d_invite/index',
}) })

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

@ -60,6 +60,7 @@ page {
padding-top: 32rpx; padding-top: 32rpx;
border-top: 1px solid rgba(246, 248, 249, 1); border-top: 1px solid rgba(246, 248, 249, 1);
.c-row { .c-row {
margin-bottom: 10rpx;
display: flex; display: flex;
gap: 16rpx; gap: 16rpx;
font-size: 28rpx; font-size: 28rpx;
@ -71,6 +72,7 @@ page {
} }
.site-num { .site-num {
margin-top: 10rpx; margin-top: 10rpx;
display: inline;
flex-shrink: 0; flex-shrink: 0;
font-size: 24rpx; font-size: 24rpx;
color: #9b9ea6; color: #9b9ea6;

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

@ -32,7 +32,7 @@
<image class="icon" src="{{imageUrl}}icon41.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon41.png?t={{Timestamp}}"></image>
<view> <view>
{{detail.hospital.ProvinceName}}{{detail.hospital.CityName}}{{detail.hospital.CountyName}}{{detail.hospital.Address}} {{detail.hospital.ProvinceName}}{{detail.hospital.CityName}}{{detail.hospital.CountyName}}{{detail.hospital.Address}}
<view class="site-num">{{detail.hospital.dist}}</view> <!-- <view class="site-num">{{detail.hospital.dist}}</view> -->
</view> </view>
</view> </view>
<view class="c-row" bind:tap="handlePhone" wx:if="{{ detail.Telephone }}"> <view class="c-row" bind:tap="handlePhone" wx:if="{{ detail.Telephone }}">

22
src/patient/pages/index/index.scss

@ -21,6 +21,7 @@ page {
background: linear-gradient(195deg, #ffe3fc 0%, #ecddff 100%); background: linear-gradient(195deg, #ffe3fc 0%, #ecddff 100%);
.container { .container {
display: flex; display: flex;
align-items: center;
justify-content: space-between; justify-content: space-between;
border-radius: 21rpx; border-radius: 21rpx;
.avatar { .avatar {
@ -134,13 +135,30 @@ page {
width: 368rpx; width: 368rpx;
height: 48rpx; height: 48rpx;
font-size: 28rpx; font-size: 28rpx;
color: #B982FF; color: #b982ff;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background: #ffffff; background: #ffffff;
border-radius: 48rpx 48rpx 48rpx 48rpx; border-radius: 48rpx 48rpx 48rpx 48rpx;
} }
.btn {
width: 200rpx;
height: 48rpx;
font-size: 28rpx;
color: #b982ff;
display: flex;
align-items: center;
justify-content: center;
gap: 8rpx;
background: linear-gradient(98deg, #ffffff 0%, #f7f1ff 100%);
border-radius: 48rpx 48rpx 48rpx 48rpx;
border: 1rpx solid #ffffff;
.icon {
width: 32rpx;
height: 32rpx;
}
}
} }
.banner { .banner {
margin: $page-margin; margin: $page-margin;
@ -288,7 +306,7 @@ page {
color: rgba(105, 104, 110, 1); color: rgba(105, 104, 110, 1);
} }
.btn { .btn {
min-width: 128rpx; min-width: 90rpx;
padding: 0 18rpx; padding: 0 18rpx;
height: 48rpx; height: 48rpx;
display: flex; display: flex;

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

@ -78,11 +78,15 @@
<view <view
class="qol" class="qol"
wx:if="{{card.code == 'adl' && card.showStatus == 1}}" wx:if="{{card.code == 'adl' && card.showStatus == 1}}"
style="background: url('/images/bg14.png') no-repeat top center/100%" style="background: url('{{imageUrl}}bg14.png?t={{Timestamp}}') no-repeat top center/100%"
bind:tap="routerTo" bind:tap="routerTo"
data-url="/patient/pages/qol/index" data-url="/patient/pages/qolReport/index"
> >
<view class="date" wx:if="{{qolDetail.CreateTime}}">最近一次评测 {{qolDetail.CreateDate}}</view> <view class="date" wx:if="{{qolDetail.CreateTime}}">最近一次评测 {{qolDetail.CreateDate}}</view>
<view class="btn" wx:else catch:tap="routerTo" data-url="/patient/pages/qol/index">
立即自测
<image class="icon" src="{{imageUrl}}icon73.png?t={{Timestamp}}"></image>
</view>
</view> </view>
<view class="live-up-new" wx:if="{{card.code == 'activity2' && card.showStatus == 1 }}"> <view class="live-up-new" wx:if="{{card.code == 'activity2' && card.showStatus == 1 }}">
<view class="header" wx:if="{{card.name}}"> <view class="header" wx:if="{{card.name}}">

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

@ -70,7 +70,7 @@
<view class="title">GO-QOL生活质量评分</view> <view class="title">GO-QOL生活质量评分</view>
<view class="sub-title">可从主观感受变化反馈治疗效果,建议您每月定期测评</view> <view class="sub-title">可从主观感受变化反馈治疗效果,建议您每月定期测评</view>
<view class="btn">点击开始自评</view> <view class="btn">点击开始自评</view>
<image class="photo" src="/images/bg17.png"></image> <image class="photo" src="{{imageUrl}}bg17.png?t={{Timestamp}}"></image>
</view> </view>
<view <view
class="audio" class="audio"

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

@ -153,7 +153,7 @@ page {
margin-left: 10rpx; margin-left: 10rpx;
flex-shrink: 0; flex-shrink: 0;
padding: 18rpx 36rpx; padding: 18rpx 36rpx;
font-size: 30rpx; font-size: 28rpx;
line-height: 1; line-height: 1;
color: #ffffff; color: #ffffff;
background: linear-gradient(to right, #c690fd, #d79ffc); background: linear-gradient(to right, #c690fd, #d79ffc);

14
src/patient/pages/personalInformation/index.scss

@ -48,6 +48,11 @@
&.radio-btns3 { &.radio-btns3 {
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
} }
&.gender {
.btn {
padding: 11rpx 24rpx;
}
}
.btn { .btn {
padding: 24rpx; padding: 24rpx;
font-size: 32rpx; font-size: 32rpx;
@ -57,10 +62,17 @@
border-radius: 116rpx; border-radius: 116rpx;
border: 1px solid rgba(246, 248, 249, 1); border: 1px solid rgba(246, 248, 249, 1);
background-color: rgba(246, 248, 249, 1); background-color: rgba(246, 248, 249, 1);
display: flex;
align-items: center;
justify-content: center;
&.active { &.active {
color: rgba(185, 130, 255, 1); color: rgba(185, 130, 255, 1);
border-color: rgba(185, 130, 255, 1); border-color: rgba(185, 130, 255, 1);
background-color: #FAF6FF; background-color: #faf6ff;
}
.icon {
width: 66rpx;
height: 66rpx;
} }
} }
} }

18
src/patient/pages/personalInformation/index.wxml

@ -42,7 +42,7 @@
<view class="label">性别</view> <view class="label">性别</view>
</view> </view>
<view class="row-content"> <view class="row-content">
<view class="radio-btns"> <view class="radio-btns gender">
<view <view
class="btn {{ zdUserInfo.Gender === item.id && 'active'}}" class="btn {{ zdUserInfo.Gender === item.id && 'active'}}"
wx:for="{{GenderList}}" wx:for="{{GenderList}}"
@ -51,7 +51,17 @@
data-key="Gender" data-key="Gender"
data-id="{{item.id}}" data-id="{{item.id}}"
> >
{{item.value}} <image
wx:if="{{item.id==2}}"
class="icon"
src="{{imageUrl}}{{zdUserInfo.Gender==2 ? 'icon57' : 'icon55'}}.png?t={{Timestamp}}"
></image>
<image
wx:if="{{item.id==1}}"
class="icon"
src="{{imageUrl}}{{zdUserInfo.Gender==2 ? 'icon58' : 'icon56'}}.png?t={{Timestamp}}"
></image>
{{item.value}}{{item.id}}
</view> </view>
</view> </view>
</view> </view>
@ -80,7 +90,7 @@
<view class="label">是否有Graves病病史</view> <view class="label">是否有Graves病病史</view>
</view> </view>
<view class="row-content"> <view class="row-content">
<view class="radio-btns"> <view class="radio-btns radio-btns3">
<view <view
class="btn {{zdUserInfo.IsGraves==index && 'active'}}" class="btn {{zdUserInfo.IsGraves==index && 'active'}}"
wx:for="{{dict.IsGraves}}" wx:for="{{dict.IsGraves}}"
@ -99,7 +109,7 @@
<view class="label">是否有TED(甲状腺眼突)及其相关眼部手术史</view> <view class="label">是否有TED(甲状腺眼突)及其相关眼部手术史</view>
</view> </view>
<view class="row-content"> <view class="row-content">
<view class="radio-btns"> <view class="radio-btns radio-btns3">
<view <view
class="btn {{zdUserInfo.HasTedSurgery==index && 'active'}}" class="btn {{zdUserInfo.HasTedSurgery==index && 'active'}}"
wx:for="{{dict.HasTedSurgery}}" wx:for="{{dict.HasTedSurgery}}"

8
src/patient/pages/qol/index.scss

@ -4,7 +4,7 @@ page {
.page { .page {
min-height: 100vh; min-height: 100vh;
padding-bottom: 240rpx; padding-bottom: 300rpx;
.reference { .reference {
font-size: 24rpx; font-size: 24rpx;
color: #69686e; color: #69686e;
@ -97,7 +97,7 @@ page {
margin-top: 26rpx; margin-top: 26rpx;
font-size: 32rpx; font-size: 32rpx;
color: #69686e; color: #69686e;
text-align: center; text-align: right;
.num { .num {
font-size: 44rpx; font-size: 44rpx;
color: #b982ff; color: #b982ff;
@ -126,7 +126,7 @@ page {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
padding: 20rpx 40rpx calc(20rpx + env(safe-area-inset-bottom)); padding: 20rpx 40rpx calc(50rpx + env(safe-area-inset-bottom));
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
@ -156,7 +156,7 @@ page {
.btn { .btn {
flex: 1; flex: 1;
height: 88rpx; height: 88rpx;
font-size: 32rpx; font-size: 36rpx;
color: #ffffff; color: #ffffff;
display: flex; display: flex;
align-items: center; align-items: center;

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

@ -11,7 +11,13 @@ Page({
}) })
}, },
handleBack() { handleBack() {
wx.navigateBack() wx.navigateBack({
fail() {
wx.reLaunch({
url: '/patient/pages/index/index',
})
},
})
}, },
}) })

18
src/patient/pages/qol/index.wxml

@ -3,12 +3,12 @@
</navbar> </navbar>
<view <view
class="page" class="page"
style="background: url('/images/bg15.png') no-repeat top center/100% 518rpx;padding-top:{{pageTop}}px;" style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100% 518rpx;padding-top:{{pageTop}}px;"
> >
<view class="module1" style="background: url('/images/bg16.png') no-repeat top center/cover"> <view class="module1" style="background: url('{{imageUrl}}bg16.png?t={{Timestamp}}') no-repeat top center/cover">
<view class="content"> <view class="content">
<view> <view>
研究表明,GO-QOL生活质量评估能敏锐反映患者的主观感受变化,是评估治疗效果的重要工具 研究表明,GO-QOL生活质量评估能敏锐反映患者的主观感受变化,是评估治疗效果的重要工具
<text class="reference">[1]</text> <text class="reference">[1]</text>
</view> </view>
<view>它不仅能帮你看清自己“主观世界”的变化还能成为你和医生沟通的重要桥梁。</view> <view>它不仅能帮你看清自己“主观世界”的变化还能成为你和医生沟通的重要桥梁。</view>
@ -23,7 +23,7 @@
<view class="line"></view> <view class="line"></view>
</view> </view>
<view class="r-content"> <view class="r-content">
<text class="name">初诊时</text> <text class="name">初诊时</text>
了解疾病对你生活造成了多大影响,作为基线记录。 了解疾病对你生活造成了多大影响,作为基线记录。
<text class="reference">[3]</text> <text class="reference">[3]</text>
</view> </view>
@ -35,8 +35,8 @@
<view class="line"></view> <view class="line"></view>
</view> </view>
<view class="r-content"> <view class="r-content">
<text class="name">治疗过程中</text> <text class="name">治疗过程中</text>
分数上升说明你的主观感受得到改善,让你不再怀疑是不是治疗白做了?" 分数上升说明你的主观感受得到改善,让你不再怀疑"是不是治疗白做了?"
<text class="reference">[4]</text> <text class="reference">[4]</text>
</view> </view>
</view> </view>
@ -47,7 +47,7 @@
<view class="line"></view> <view class="line"></view>
</view> </view>
<view class="r-content"> <view class="r-content">
<text class="name">病情稳定期</text> <text class="name">病情稳定期</text>
判断是否还需要心理支持或功能康复训练。 判断是否还需要心理支持或功能康复训练。
<text class="reference">[2-3]</text> <text class="reference">[2-3]</text>
</view> </view>
@ -56,7 +56,7 @@
</view> </view>
<view class="tip"> <view class="tip">
<text class="num">26</text> <text class="num">16</text>
题,可能会占用您3分钟 题,可能会占用您3分钟
</view> </view>
</view> </view>
@ -83,7 +83,7 @@
</view> </view>
<view class="footer"> <view class="footer">
<button class="share" open-type="share"> <button class="share" open-type="share">
<image class="icon" src="/images/icon69.png"></image> <image class="icon" src="{{imageUrl}}icon69.png?t={{Timestamp}}"></image>
<view class="name">分享</view> <view class="name">分享</view>
</button> </button>
<view class="btn" bind:tap="handleAdd">开始评测</view> <view class="btn" bind:tap="handleAdd">开始评测</view>

4
src/patient/pages/qolAdd/index.scss

@ -110,7 +110,7 @@ page {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
height: 88rpx; height: 88rpx;
font-size: 32rpx; font-size: 36rpx;
color: #ffffff; color: #ffffff;
background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%); background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx; border-radius: 100rpx 100rpx 100rpx 100rpx;
@ -119,7 +119,7 @@ page {
margin-top: 20rpx; margin-top: 20rpx;
padding: 20rpx; padding: 20rpx;
text-align: center; text-align: center;
font-size: 32rpx; font-size: 36rpx;
color: #69686e; color: #69686e;
} }
} }

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

@ -121,9 +121,9 @@ Page({
title: '13. 您是否感觉到甲状腺相关眼病影响您结交新朋友?', title: '13. 您是否感觉到甲状腺相关眼病影响您结交新朋友?',
answer: '', answer: '',
answerList: { answerList: {
3: '无影响', 3: '不,没有',
2: '有点影响', 2: '是的,有点',
1: '严重影响', 1: '是的,严重',
}, },
}, },
{ {
@ -233,7 +233,7 @@ Page({
...form, ...form,
}, },
}).then((res) => { }).then((res) => {
wx.navigateTo({ wx.redirectTo({
url: `/patient/pages/qolResult/index?id=${res.Id}`, url: `/patient/pages/qolResult/index?id=${res.Id}`,
}) })
}) })
@ -243,6 +243,15 @@ Page({
step: 0, step: 0,
}) })
}, },
handleBack() {
wx.navigateBack({
fail() {
wx.reLaunch({
url: '/patient/pages/index/index',
})
},
})
},
}) })
export {} export {}

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

@ -1,8 +1,10 @@
<navbar custom-style="background:{{background}}" fixed></navbar> <navbar custom-style="background:{{background}}" fixed>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view class="page"> <view class="page">
<view <view
class="page-header" class="page-header"
style="background: #f6f8f9 url('/images/bg15.png') no-repeat top center/100% 518rpx;padding-top:{{pageTop+20}}px;" style="background: url('{{imageUrl}}bg18.png?t={{Timestamp}}') no-repeat top center/100% 412rpx;padding-top:{{pageTop+20}}px;"
> >
<view class="progress"> <view class="progress">
<view class="p-item active"> <view class="p-item active">

32
src/patient/pages/qolReport/index.scss

@ -6,11 +6,14 @@ page {
padding-bottom: 200rpx; padding-bottom: 200rpx;
.page-header { .page-header {
background-color: #fff; background-color: #fff;
.tab-class {
font-size: 32rpx;
}
.form { .form {
padding: 0 18rpx;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
.date { .date {
padding: 18rpx;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 10rpx; gap: 10rpx;
@ -21,6 +24,10 @@ page {
font-size: 20rpx; font-size: 20rpx;
color: #adacb2; color: #adacb2;
} }
.start,
.end {
padding: 18rpx 0;
}
} }
} }
} }
@ -106,7 +113,7 @@ page {
border-bottom: 1px dashed rgba(33, 29, 46, 0.05); border-bottom: 1px dashed rgba(33, 29, 46, 0.05);
.num { .num {
font-size: 104rpx; font-size: 104rpx;
color: #1ec580; color: var(--color);
font-weight: bold; font-weight: bold;
line-height: 1; line-height: 1;
} }
@ -118,7 +125,7 @@ page {
font-size: 28rpx; font-size: 28rpx;
color: #ffffff; color: #ffffff;
line-height: 36rpx; line-height: 36rpx;
background: linear-gradient(330deg, #1ec580 0%, #4feaaa 100%); background: var(--label-background);
} }
.name { .name {
margin-top: 12rpx; margin-top: 12rpx;
@ -152,6 +159,7 @@ page {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: 100000;
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 20rpx 40rpx calc(20rpx + env(safe-area-inset-bottom)); padding: 20rpx 40rpx calc(20rpx + env(safe-area-inset-bottom));
@ -159,7 +167,7 @@ page {
box-shadow: 0 8rpx 32rpx rgba(25, 0, 57, 0.07); box-shadow: 0 8rpx 32rpx rgba(25, 0, 57, 0.07);
.btn { .btn {
height: 88rpx; height: 88rpx;
font-size: 32rpx; font-size: 38rpx;
color: #ffffff; color: #ffffff;
display: flex; display: flex;
align-items: center; align-items: center;
@ -169,3 +177,19 @@ page {
} }
} }
} }
.status1 {
--color: #ef3939;
--background: #ffdddd;
--label-background: linear-gradient(177deg, #ff9090 0%, #ef3939 100%);
}
.status2 {
--color: #ffa300;
--background: #fff4e0;
--label-background: linear-gradient(153deg, #ffd48b 0%, #ffa300 100%);
}
.status3 {
--color: #1ec580;
--background: #dafdee;
--label-background: linear-gradient(330deg, #1ec580 0%, #4feaaa 100%);
}

21
src/patient/pages/qolReport/index.ts

@ -8,6 +8,12 @@ Page({
BeginMonth: '', BeginMonth: '',
EndMonth: '', EndMonth: '',
fields: {
1: 'day',
2: 'month',
3: 'year',
},
list: [], list: [],
pagination: { pagination: {
page: 1, page: 1,
@ -51,13 +57,16 @@ Page({
} }
this.setData({ this.setData({
page: 0, page: 0,
Type: type, type: type,
Num: '5', Num: '5',
EndMonth, EndMonth,
BeginMonth, BeginMonth,
}) })
this.getChatData() this.getChatData()
}, },
handleChange() {
this.getChatData()
},
getChatData() { getChatData() {
const { type, BeginMonth, EndMonth } = this.data const { type, BeginMonth, EndMonth } = this.data
wx.ajax({ wx.ajax({
@ -188,6 +197,7 @@ Page({
show: true, show: true,
position: 'top', position: 'top',
color: '#B982FF', color: '#B982FF',
fontSize: 14,
}, },
type: 'line', type: 'line',
symbolSize: 4, symbolSize: 4,
@ -278,6 +288,7 @@ Page({
const { list } = this.data const { list } = this.data
wx.showModal({ wx.showModal({
title: '确认删除吗?', title: '确认删除吗?',
confirmColor: '#8c75d0',
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
wx.ajax({ wx.ajax({
@ -307,7 +318,13 @@ Page({
}) })
}, },
handleBack() { handleBack() {
wx.navigateBack() wx.navigateBack({
fail() {
wx.reLaunch({
url: '/patient/pages/index/index',
})
},
})
}, },
}) })

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

@ -1,10 +1,8 @@
<navbar custom-style="background:{{background}}" fixed>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view class="page"> <view class="page">
<view class="page-header"> <view class="page-header">
<van-tabs <van-tabs
active="{{ active }}" active="{{ active }}"
tab-class="tab-class"
color="#B982FF" color="#B982FF"
line-width="60rpx" line-width="60rpx"
line-height="8rpx" line-height="8rpx"
@ -22,17 +20,17 @@
bindchange="handleChange" bindchange="handleChange"
class="start" class="start"
end="{{EndMonth}}" end="{{EndMonth}}"
fields="day" fields="{{fields[type]}}"
mode="date" mode="date"
model:value="{{BeginMonth}}" model:value="{{BeginMonth}}"
> >
{{BeginMonth}} {{BeginMonth}}
</picker> </picker>
<view class="line">-</view> <view class="line">~</view>
<picker <picker
bindchange="handleChange" bindchange="handleChange"
class="end" class="end"
fields="day" fields="{{fields[type]}}"
mode="date" mode="date"
model:value="{{EndMonth}}" model:value="{{EndMonth}}"
start="{{BeginMonth}}" start="{{BeginMonth}}"
@ -69,7 +67,7 @@
<view class="list-title">我的历史测评报告</view> <view class="list-title">我的历史测评报告</view>
<view class="list-container"> <view class="list-container">
<view <view
class="row" class="row {{item.TotalScore>=0 && 'status1'}} {{item.TotalScore>=40 && 'status2'}} {{item.TotalScore>=80 && 'status3'}}"
wx:for="{{list}}" wx:for="{{list}}"
wx:key="index" wx:key="index"
bind:tap="handleDetail" bind:tap="handleDetail"

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

@ -18,6 +18,7 @@ page {
.w-header { .w-header {
display: flex; display: flex;
align-items: flex-end; align-items: flex-end;
gap: 10rpx;
line-height: 1; line-height: 1;
.num { .num {
font-size: 128rpx; font-size: 128rpx;
@ -109,11 +110,10 @@ page {
.progress { .progress {
position: relative; position: relative;
margin-top: 38rpx; margin-top: 38rpx;
display: flex; display: grid;
align-items: center; grid-template-columns: 4fr 4fr 2fr;
gap: 4rpx; gap: 4rpx;
.p-item { .p-item {
flex: 1;
.title { .title {
display: flex; display: flex;
align-items: center; align-items: center;
@ -140,6 +140,7 @@ page {
.slide { .slide {
position: absolute; position: absolute;
top: 30rpx; top: 30rpx;
transform: translateX(-50%);
.circle { .circle {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;
@ -180,7 +181,7 @@ page {
.page-effect { .page-effect {
font-size: 32rpx; font-size: 32rpx;
color: var(--color); color: var(--color);
line-height: 1; line-height: 44rpx;
padding: 8rpx 42rpx; padding: 8rpx 42rpx;
background: var(--background); background: var(--background);
border-radius: 96rpx 96rpx 96rpx 96rpx; border-radius: 96rpx 96rpx 96rpx 96rpx;

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

@ -31,6 +31,15 @@ Page({
url: '/patient/pages/qolReport/index', url: '/patient/pages/qolReport/index',
}) })
}, },
handleBack() {
wx.navigateBack({
fail() {
wx.reLaunch({
url: '/patient/pages/index/index',
})
},
})
},
}) })
export {} export {}

22
src/patient/pages/qolResult/index.wxml

@ -1,7 +1,9 @@
<navbar custom-style="background:{{background}}" fixed></navbar> <navbar custom-style="background:{{background}}" fixed>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view <view
class="page {{detail.TotalScore>0 && 'status1'}} {{detail.TotalScore>=40 && 'status2'}} {{detail.TotalScore>=80 && 'status3'}}" class="page {{detail.TotalScore>=0 && 'status1'}} {{detail.TotalScore>=40 && 'status2'}} {{detail.TotalScore>=80 && 'status3'}}"
style="background: url('/images/bg15.png') no-repeat top center/100% 518rpx;padding-top:{{pageTop+20}}px;" style="background: url('{{imageUrl}}bg15.png?t={{Timestamp}}') no-repeat top center/100% 518rpx;padding-top:{{pageTop+20}}px;"
> >
<view class="container"> <view class="container">
<view class="info"> <view class="info">
@ -14,12 +16,12 @@
</view> </view>
<view class="tip">本次TED生活质量评分</view> <view class="tip">本次TED生活质量评分</view>
</view> </view>
<image class="status" wx:if="{{detail.TotalScore >= 80}}" src="/images/icon72.png"></image> <image class="status" wx:if="{{detail.TotalScore >= 80}}" src="{{imageUrl}}icon72.png?t={{Timestamp}}"></image>
<image class="status" wx:elif="{{detail.TotalScore >= 40}}" src="/images/icon71.png"></image> <image class="status" wx:elif="{{detail.TotalScore >= 40}}" src="{{imageUrl}}icon71.png?t={{Timestamp}}"></image>
<image class="status" wx:else src="/images/icon70.png"></image> <image class="status" wx:else src="{{imageUrl}}icon70.png?t={{Timestamp}}"></image>
</view> </view>
<view class="c-line"></view> <view class="c-line"></view>
<view class="card"> <view class="card {{detail.VisionScore>=0 && 'status1'}} {{detail.VisionScore>=40 && 'status2'}} {{detail.VisionScore>=80 && 'status3'}}">
<view class="c-header"> <view class="c-header">
<view class="skew"></view> <view class="skew"></view>
视觉功能 视觉功能
@ -52,13 +54,13 @@
</view> </view>
<view class="line3"></view> <view class="line3"></view>
</view> </view>
<view class="slide" style="left:{{detail.VisionScore - 5}}%"> <view class="slide" style="left:{{detail.VisionScore}}%">
<view class="circle"></view> <view class="circle"></view>
<view class="num">{{detail.VisionScore}}</view> <view class="num">{{detail.VisionScore}}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="card"> <view class="card {{detail.AppearanceScore>=0 && 'status1'}} {{detail.AppearanceScore>=40 && 'status2'}} {{detail.AppearanceScore>=80 && 'status3'}}">
<view class="c-header"> <view class="c-header">
<view class="skew"></view> <view class="skew"></view>
外观 外观
@ -91,7 +93,7 @@
</view> </view>
<view class="line3"></view> <view class="line3"></view>
</view> </view>
<view class="slide" style="left:{{detail.AppearanceScore - 5}}%"> <view class="slide" style="left:{{detail.AppearanceScore}}%">
<view class="circle"></view> <view class="circle"></view>
<view class="num">{{detail.AppearanceScore}}</view> <view class="num">{{detail.AppearanceScore}}</view>
</view> </view>

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

@ -124,8 +124,8 @@
color: #b6b7ba; color: #b6b7ba;
.icon { .icon {
margin-right: 8rpx; margin-right: 8rpx;
width: 32rpx; width: 28rpx;
height: 32rpx; height: 28rpx;
} }
&:not(:last-of-type)::after { &:not(:last-of-type)::after {
margin: 18rpx; margin: 18rpx;
@ -203,7 +203,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 32rpx; font-size: 32rpx;
color: #211D2E; color: #211d2e;
margin: 0; margin: 0;
background: transparent; background: transparent;
&::after { &::after {
@ -212,15 +212,15 @@
} }
.icon { .icon {
margin-right: 6rpx; margin-right: 6rpx;
width: 56rpx; width: 44rpx;
height: 56rpx; height: 44rpx;
} }
.icon-active { .icon-active {
@extend .icon; @extend .icon;
display: none; display: none;
} }
&.active { &.active {
color: #B982FF; color: #b982ff;
.icon { .icon {
display: none; display: none;
} }

2
typings/index.d.ts vendored

@ -39,7 +39,7 @@ interface IAppOption {
checkLoginType: (type: pageType[] | 'any', backPath?: string) => boolean checkLoginType: (type: pageType[] | 'any', backPath?: string) => boolean
getMenuInfo: (arg0: WechatMiniprogram.Page.Instance<any, any>) => void getMenuInfo: (arg0: WechatMiniprogram.Page.Instance<any, any>) => void
getUserInfo: (type: 0 | 1 | 2) => Promise<never> getUserInfo: (type: 0 | 1 | 2) => Promise<never>
mpBehavior: (data: { PageName: string }) => void mpBehavior: (data: { doctor?: boolean; PageName: string }) => void
oldMpBehavior: (data: { PositionId: string; OperateType: string; OperateId: string }) => void oldMpBehavior: (data: { PositionId: string; OperateType: string; OperateId: string }) => void
zdMpBehavior: (data: { PageName: string; doctor?: boolean }) => void zdMpBehavior: (data: { PageName: string; doctor?: boolean }) => void
zdGetTheme: () => Promise<'PATIENT'> zdGetTheme: () => Promise<'PATIENT'>

Loading…
Cancel
Save