From fda038af276437b428f65843b1ee4e93cb8ad794 Mon Sep 17 00:00:00 2001 From: kola-web Date: Tue, 10 Feb 2026 18:57:52 +0800 Subject: [PATCH] 2.2.2 stash --- src/components/popup/index.wxml | 2 +- src/components/toast/index.scss | 2 + src/components/toast/index.wxml | 2 +- src/pages/d_patientDetail/index.scss | 4 +- src/pages/d_patientDetail/index.wxml | 25 ++-- src/pages/d_qolDetail/index.scss | 25 +++- src/pages/d_qolDetail/index.wxml | 139 ++++++++++++++++++--- src/patient/pages/doctor/index.scss | 92 +++++++------- src/patient/pages/doctor/index.wxml | 18 +-- src/patient/pages/hospital/index.scss | 4 +- src/patient/pages/index/index.scss | 68 ++++++----- src/patient/pages/index/index.ts | 26 +++- src/patient/pages/index/index.wxml | 44 ++----- src/patient/pages/liveDetail/index.scss | 2 +- src/patient/pages/liveDetail/index.wxml | 6 +- src/patient/pages/liveResult/index.scss | 41 ++----- src/patient/pages/liveResult/index.wxml | 8 +- src/patient/pages/medical/index.json | 3 +- src/patient/pages/medical/index.scss | 96 ++++++++++++++- src/patient/pages/medical/index.ts | 167 +++++++++++++++++++++++++- src/patient/pages/medical/index.wxml | 67 +++++++++-- src/patient/pages/medicalDetail/index.scss | 17 +-- src/patient/pages/medicalDetail/index.ts | 19 ++- src/patient/pages/qolReport/index.ts | 34 +++++- src/patient/pages/repositoryDetail/index.scss | 2 + 25 files changed, 686 insertions(+), 227 deletions(-) diff --git a/src/components/popup/index.wxml b/src/components/popup/index.wxml index 89dbe4d..6a7a424 100644 --- a/src/components/popup/index.wxml +++ b/src/components/popup/index.wxml @@ -126,7 +126,7 @@ - 了解双通道临采/院内用药 + 了解双通道/临采/院内用药 什么是“双通道”? diff --git a/src/components/toast/index.scss b/src/components/toast/index.scss index 00d3985..e8d9a0a 100644 --- a/src/components/toast/index.scss +++ b/src/components/toast/index.scss @@ -2641,6 +2641,7 @@ } .popup-medical-guide { + margin-bottom: -120rpx; .popup-container { .container { padding: 424rpx 0 0; @@ -2681,6 +2682,7 @@ color: #b982ff; line-height: 48rpx; text-align: center; + font-weight: bold; } .scroll { margin-top: 32rpx; diff --git a/src/components/toast/index.wxml b/src/components/toast/index.wxml index 8be9046..3490997 100644 --- a/src/components/toast/index.wxml +++ b/src/components/toast/index.wxml @@ -800,7 +800,7 @@ - 生活质量自评 + {{params.title}} {{params.content}} diff --git a/src/pages/d_patientDetail/index.scss b/src/pages/d_patientDetail/index.scss index b83038f..2bf91a9 100644 --- a/src/pages/d_patientDetail/index.scss +++ b/src/pages/d_patientDetail/index.scss @@ -248,7 +248,7 @@ page { } } .k-footer { - margin-top: 34rpx; + margin-top: 24rpx; display: flex; align-items: center; justify-content: space-between; @@ -330,7 +330,7 @@ page { } } .k-footer { - margin-top: 34rpx; + margin-top: 24rpx; display: flex; align-items: center; justify-content: space-between; diff --git a/src/pages/d_patientDetail/index.wxml b/src/pages/d_patientDetail/index.wxml index a565f50..e42130f 100644 --- a/src/pages/d_patientDetail/index.wxml +++ b/src/pages/d_patientDetail/index.wxml @@ -31,7 +31,7 @@ src="{{imageUrl}}icon62.png?t={{Timestamp}}" > - 注册时间:{{detail.BecomePatientTime}} + 邀约时间:{{detail.InviteTime}} 备注 发消息 @@ -74,7 +74,9 @@ 生活质量自评 - + {{qolDetail.TotalScore}} @@ -93,11 +95,19 @@ 视觉功能 - {{qolDetail.VisionScore}}分 + + {{qolDetail.VisionScore}}分 + 外观影响 - {{qolDetail.AppearanceScore}}分 + + {{qolDetail.AppearanceScore}}分 + @@ -136,9 +146,8 @@ - 指标趋势 - - 生活质量评分 + + 生活质量评分趋势 {{typeName}} @@ -183,7 +192,7 @@ - 激素周用量记录曲线 + 激素用量趋势 {{item.CreateDate}} {{item.TotalScore}} - {{item.changeTotalScore}} + {{item.changeTotalScore}} {{item.VisionScore}} - {{item.changeVisionScore}} + {{item.changeVisionScore}} {{item.AppearanceScore}} - {{item.changeAppearanceScore}} + + {{item.changeAppearanceScore}} + @@ -46,7 +48,7 @@ {{detail.Name}}的GO-QOL生活质量评测详情 - + 类型 @@ -120,56 +122,153 @@ - {{qolList[0].answerList[item.Question1]}} + + {{qolList[0].answerList[item.Question1]}}({{item.Question1>=4?3:item.Question1}}分) + - {{qolList[1].answerList[item.Question2]}} + + {{qolList[1].answerList[item.Question2]}}({{item.Question2>=4?3:item.Question2}}分) + - {{qolList[2].answerList[item.Question3]}} + + {{qolList[2].answerList[item.Question3]}}({{item.Question3>=4?3:item.Question3}}分) + - {{qolList[3].answerList[item.Question4]}} + + {{qolList[3].answerList[item.Question4]}}({{item.Question4>=4?3:item.Question4}}分) + - {{qolList[4].answerList[item.Question5]}} + + {{qolList[4].answerList[item.Question5]}}({{item.Question5>=4?3:item.Question5}}分) + - {{qolList[5].answerList[item.Question6]}} + + {{qolList[5].answerList[item.Question6]}}({{item.Question6>=4?3:item.Question6}}分) + - {{qolList[6].answerList[item.Question7]}} + + {{qolList[6].answerList[item.Question7]}}({{item.Question7>=4?3:item.Question7}}分) + - {{qolList[7].answerList[item.Question8]}} + + {{qolList[7].answerList[item.Question8]}}({{item.Question8>=4?3:item.Question8}}分) + - {{qolList[8].answerList[item.Question9]}} + + {{qolList[8].answerList[item.Question9]}}({{item.Question9>=4?3:item.Question9}}分) + - {{qolList[9].answerList[item.Question10]}} + + {{qolList[9].answerList[item.Question10]}}({{item.Question10>=4?3:item.Question10}}分) + - {{qolList[10].answerList[item.Question11]}} + + {{qolList[10].answerList[item.Question11]}}({{item.Question11>=4?3:item.Question11}}分) + - {{qolList[11].answerList[item.Question12]}} + + {{qolList[11].answerList[item.Question12]}}({{item.Question12>=4?3:item.Question12}}分) + - {{qolList[12].answerList[item.Question13]}} + + {{qolList[12].answerList[item.Question13]}}({{item.Question13>=4?3:item.Question13}}分) + - {{qolList[13].answerList[item.Question14]}} + + {{qolList[13].answerList[item.Question14]}}({{item.Question14>=4?3:item.Question14}}分) + - {{qolList[14].answerList[item.Question15]}} + + {{qolList[14].answerList[item.Question15]}}({{item.Question15>=4?3:item.Question15}}分) + - {{qolList[15].answerList[item.Question16]}} + + {{qolList[15].answerList[item.Question16]}}({{item.Question16>=4?3:item.Question16}}分) + + diff --git a/src/patient/pages/doctor/index.scss b/src/patient/pages/doctor/index.scss index 30c5fd1..75fcb7b 100644 --- a/src/patient/pages/doctor/index.scss +++ b/src/patient/pages/doctor/index.scss @@ -136,9 +136,9 @@ page { flex-shrink: 0; display: inline-block; vertical-align: 2rpx; - padding: 6rpx 12rpx; - font-size: 22rpx; - line-height: 1; + padding: 2rpx 12rpx; + font-size: 24rpx; + line-height: 32rpx; color: #ffffff; background: linear-gradient(90deg, #ffd650 0%, #f8a61a 100%); border-radius: 6rpx; @@ -167,49 +167,55 @@ page { height: 36rpx; } } - .tag { - margin-right: 22rpx; - display: inline-block; - padding: 4rpx 16rpx 4rpx 16rpx; - line-height: 1; - font-size: 24rpx; - color: #b982ff; - border-radius: 6rpx; - border: 1px solid #b982ff; - } - .medical { - margin-right: 22rpx; - vertical-align: bottom; - padding: 4rpx 8rpx; - line-height: 1; - font-size: 24rpx; - color: #ffffff; - border-radius: 6rpx; - display: inline-flex; + .tags { + margin-top: 10rpx; + display: flex; align-items: center; - gap: 2rpx; - background: linear-gradient(210deg, #1ec580 0%, #4feaaa 100%); - .m-icon { - width: 28rpx; - height: 28rpx; + .tag { + margin-right: 22rpx; + padding: 0 12rpx; + font-size: 24rpx; + color: #b982ff; + line-height: 32rpx; + border-radius: 6rpx; + border: 1px solid #b982ff; + box-sizing: border-box; } - } - .drug { - vertical-align: middle; - padding-right: 8rpx; - display: inline-block; - font-size: 22rpx; - color: #b982ff; - line-height: 1; - border-radius: 8rpx; - background-color: #f5dfe6; - .drug-icon { + .medical { + margin-right: 22rpx; + box-sizing: border-box; + padding: 0 12rpx 0 8rpx; + font-size: 24rpx; + line-height: 36rpx; + color: #ffffff; + border-radius: 6rpx; + display: flex; + align-items: center; + gap: 2rpx; + background: linear-gradient(210deg, #1ec580 0%, #4feaaa 100%); + .m-icon { + width: 28rpx; + height: 28rpx; + } + } + .drug { + padding-right: 8rpx; + display: inline-flex; + align-items: center; + gap: 8rpx; + font-size: 24rpx; + color: #b982ff; + line-height: 1; border-radius: 8rpx; - vertical-align: middle; - padding: 8rpx 10rpx; - width: 16rpx; - height: 20rpx; - background-color: #b982ff; + height: 36rpx; + background-color: #f5dfe6; + .drug-icon { + border-radius: 8rpx; + padding: 8rpx 10rpx; + width: 16rpx; + height: 20rpx; + background-color: #b982ff; + } } } } diff --git a/src/patient/pages/doctor/index.wxml b/src/patient/pages/doctor/index.wxml index f6db1b7..7a2b211 100644 --- a/src/patient/pages/doctor/index.wxml +++ b/src/patient/pages/doctor/index.wxml @@ -84,14 +84,16 @@ src="{{imageUrl}}icon90.png?t={{Timestamp}}" > - {{item.DoctorNum}}名医生 - - - 医保 - - - - 院内有药 + + {{item.DoctorNum}}名医生 + + + 医保 + + + + 院内有药 + diff --git a/src/patient/pages/hospital/index.scss b/src/patient/pages/hospital/index.scss index d1b442a..8f7cd84 100644 --- a/src/patient/pages/hospital/index.scss +++ b/src/patient/pages/hospital/index.scss @@ -71,11 +71,11 @@ page { display: flex; align-items: flex-start; .icon { + margin-top: 6rpx; flex-shrink: 0; margin-right: 10rpx; width: 36rpx; height: 36rpx; - vertical-align: -8rpx; } } .site-num { @@ -144,7 +144,7 @@ page { .module-container { background: linear-gradient(180deg, #f5eeff 0%, #ffffff 8.38%, #ffffff 100%); box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); - border: 1rpx solid #ebecee; + border: 1px solid #FFFFFF; border-radius: 24rpx; .m-header { padding: 38rpx 32rpx 0; diff --git a/src/patient/pages/index/index.scss b/src/patient/pages/index/index.scss index d4441b6..812f33b 100644 --- a/src/patient/pages/index/index.scss +++ b/src/patient/pages/index/index.scss @@ -106,7 +106,7 @@ page { grid-template-columns: repeat(2, 1fr); gap: 30rpx; .k-qol { - padding: 48rpx 32rpx 22rpx; + padding: 48rpx 0rpx 22rpx 32rpx; background: linear-gradient( 180deg, rgba(239, 226, 255, 0.52) 0%, @@ -129,22 +129,24 @@ page { } } .none { - margin: 30rpx -32rpx -100rpx; + margin: 30rpx -32rpx -70rpx; width: 318rpx; height: 170rpx; display: block; } .content { - margin-top: 12rpx; - height: 96rpx; + height: 128rpx; display: flex; align-self: baseline; justify-content: space-between; .num { + padding-top: 22rpx; white-space: nowrap; - font-size: 62rpx; - color: #ffa300; + font-size: 60rpx; + color: transparent; font-weight: bold; + background-clip: text; + -webkit-background-clip: text; .sub { font-size: 28rpx; color: #69686e; @@ -152,21 +154,22 @@ page { } } .status1 { - color: #ef3939; + background-image: linear-gradient(to bottom, #ffa0a0 0%, #ff7a7a 100%); } .status2 { - color: #ffa300; + background-image: linear-gradient(to bottom, #ffbe4a 0%, #ffa300 100%); } .status3 { - color: #1ec580; + background-image: linear-gradient(to bottom, #69e7b3 0%, #59cc9c 100%); } .icon { - width: 96rpx; - height: 96rpx; + margin-left: -20rpx; + width: 128rpx; + height: 128rpx; } } .k-footer { - margin-top: 34rpx; + margin-top: 28rpx; display: flex; align-items: center; justify-content: space-between; @@ -179,19 +182,20 @@ page { color: rgba(76, 66, 107, 0.51); } .add { + margin-right: 16rpx; flex-shrink: 0; - width: 76rpx; - height: 76rpx; + width: 64rpx; + height: 64rpx; } } } .k-hormones { position: relative; - padding: 48rpx 32rpx 22rpx; + padding: 48rpx 0rpx 22rpx 32rpx; background: linear-gradient( 180deg, - rgba(239, 226, 255, 0.52) 0%, - rgba(255, 255, 255, 0.96) 26.03%, + rgba(255, 227, 253, 0.52) 0%, + rgba(255, 255, 255, 0.96) 25.17%, #ffffff 100% ); border-radius: 32rpx 32rpx 32rpx 32rpx; @@ -219,21 +223,24 @@ page { } } .none { - margin: 30rpx -32rpx -100rpx; + margin: 30rpx -32rpx -70rpx; width: 318rpx; height: 170rpx; display: block; } .content { - margin-top: 12rpx; - height: 96rpx; + height: 128rpx; display: flex; align-self: baseline; justify-content: space-between; .num { + padding-top: 22rpx; white-space: nowrap; font-size: 62rpx; - color: #b982ff; + background-image: linear-gradient(to bottom, #e98ff8 0%, #b073ff 100%); + background-clip: text; + -webkit-background-clip: text; + color: transparent; font-weight: bold; .sub { font-size: 28rpx; @@ -244,7 +251,7 @@ page { } } .k-footer { - margin-top: 34rpx; + margin-top: 28rpx; display: flex; align-items: center; justify-content: space-between; @@ -257,9 +264,10 @@ page { color: rgba(76, 66, 107, 0.51); } .add { + margin-right: 16rpx; flex-shrink: 0; - width: 76rpx; - height: 76rpx; + width: 64rpx; + height: 64rpx; } } } @@ -271,20 +279,20 @@ page { gap: 30rpx; .k-item { flex: 1; - background: linear-gradient(0, #ffffff 0%, #f8f3ff 100%); - border-radius: 32rpx 32rpx 32rpx 32rpx; - border: 2rpx solid #ffffff; .wrap { - padding: 28rpx 0 40rpx 26rpx; + padding: 40rpx 0 40rpx 24rpx; + height: 168rpx; + box-sizing: border-box; + border-radius: 32rpx 32rpx 32rpx 32rpx; .title { font-size: 36rpx; - color: #b982ff; + color: #fff; font-weight: bold; } .content { margin-top: 8rpx; font-size: 28rpx; - color: rgba(76, 66, 107, 0.51); + color: rgba(255, 255, 255, 0.6); } } .icon { diff --git a/src/patient/pages/index/index.ts b/src/patient/pages/index/index.ts index 14c7730..3aac1d6 100644 --- a/src/patient/pages/index/index.ts +++ b/src/patient/pages/index/index.ts @@ -46,7 +46,7 @@ Page({ toastShow: false, toastType: '', - toastParams: {} as any, + toastParams: {close:true} as any, sliderTop: 0, @@ -143,7 +143,7 @@ Page({ this.setData({ toastShow: data3.showAlert, toastType: 'medical-guide', - toastParams: {}, + toastParams: { close: true }, }) } @@ -395,6 +395,19 @@ Page({ }, }) }, + handleHormone() { + const { hormoneDetail } = this.data + if (hormoneDetail.recordId > 0) { + wx.navigateTo({ + url: `/patient/pages/hormones/index?id=${hormoneDetail.recordId}`, + }) + } + else { + wx.navigateTo({ + url: '/patient/pages/hormonesStart/index', + }) + } + }, handleReg() { app.zdPermissionVerification(3, 0, '') }, @@ -560,7 +573,14 @@ Page({ toastShow: true, toastType: 'question-toast', toastParams: { - content: { 1: '???', 2: '???' }[type], + title: { + 1: '生活质量自评', + 2: '激素记录', + }[type], + content: { + 1: 'GO-QOL生活质量量表,是《中国甲状腺相关眼病诊断和治疗指南(2022年)》中提及的唯一可居家自测的甲状腺眼病评估量表,反映了疾病对患者生活质量的影响。得分越低影响越大,让患者主观感受清晰可见。', + 2: '激素治疗不是“越多越好”。《中国甲状腺相关眼病诊断和治疗指南(2022年)》指出,剂量越高短期效果可能越好,但不良反应也会更大,并且同一疗程需严格控制累积剂量。 激素相关风险包括肝损伤、血压升高、血糖升高、电解质紊乱、消化道出血和感染等,且风险与用药剂量和用药时间相关。 规范记录每次用药时间、剂量与不适反应,可帮助及时发现风险线索,便于医生综合评估疗效与安全性并调整方案;这是用药安全管理的关键一步。', + }[type], close: true, }, }) diff --git a/src/patient/pages/index/index.wxml b/src/patient/pages/index/index.wxml index 284110f..f7b5a28 100644 --- a/src/patient/pages/index/index.wxml +++ b/src/patient/pages/index/index.wxml @@ -36,13 +36,15 @@ - + 生活质量自评 - + {{qolDetail.TotalScore}} @@ -64,10 +66,10 @@ 最近 {{qolDetail.CreateDate}} 记录主观感受 - + - + 最近 {{hormoneDetail.createTime}} - 关注不良反应 - - + 遵医嘱安全用药 + - - + + 就诊地图 附近的医院 @@ -135,10 +116,7 @@ data-status="{{medicalInsuranceJump}}" data-url="/patient/pages/medical/index" > - + 医保查询 政策轻松查询 diff --git a/src/patient/pages/liveDetail/index.scss b/src/patient/pages/liveDetail/index.scss index 1a22126..5b5b77b 100644 --- a/src/patient/pages/liveDetail/index.scss +++ b/src/patient/pages/liveDetail/index.scss @@ -300,7 +300,7 @@ position: fixed; z-index: 2; right: 14rpx; - bottom: 264rpx; + bottom: 364rpx; width: 84rpx; height: 84rpx; box-shadow: 0 4rpx 24rpx 0 rgba(51, 5, 109, 0.17); diff --git a/src/patient/pages/liveDetail/index.wxml b/src/patient/pages/liveDetail/index.wxml index 12b949c..1c23ab0 100644 --- a/src/patient/pages/liveDetail/index.wxml +++ b/src/patient/pages/liveDetail/index.wxml @@ -1,9 +1,9 @@ + + - - {{detail.BeginTime}} - + {{detail.ShareNum}} diff --git a/src/patient/pages/liveResult/index.scss b/src/patient/pages/liveResult/index.scss index 1d05f25..37a32f5 100644 --- a/src/patient/pages/liveResult/index.scss +++ b/src/patient/pages/liveResult/index.scss @@ -7,16 +7,16 @@ page { background: linear-gradient(180deg, #ece4fa 0%, #f6f8f9 100%) no-repeat top center/100% 412rpx; .page-container { .card { - margin: 0 34rpx 0; + margin: 0 40rpx 0; display: flex; justify-content: center; + align-items: center; gap: 24rpx; .icon { width: 148rpx; height: 148rpx; } .wrap { - padding-top: 18rpx; .status { font-size: 48rpx; color: #b982ff; @@ -31,14 +31,14 @@ page { color: #b982ff; font-weight: bold; } - .h1{ + .h1 { margin-left: 10rpx; } } } } .container { - margin: 52rpx 34rpx 0; + margin: 52rpx 40rpx 0; padding: 50rpx 0 66rpx; background: linear-gradient(180deg, rgba(244, 235, 255, 0.77) 0%, #ffffff 35.06%, #ffffff 100%); box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(70, 67, 81, 0.04); @@ -90,36 +90,9 @@ page { } } .qol { - margin: 32rpx 34rpx 0; - position: relative; - height: 202rpx; + margin: 32rpx 40rpx 0; box-shadow: 0 4rpx 12rpx rgba(70, 67, 81, 0.04); - .title { - padding-top: 2rpx; - padding-left: 46rpx; - font-size: 28rpx; - color: #ffffff; - width: 208rpx; - text-align: center; - } - .content { - padding: 88rpx 0 0 40rpx; - font-size: 28rpx; - color: #827f8c; - } - .btn { - position: absolute; - top: 86rpx; - right: 40rpx; - width: 190rpx; - height: 64rpx; - font-size: 32rpx; - color: #ffffff; - line-height: 64rpx; - text-align: center; - background: linear-gradient(351deg, #ffd300 0%, #ec7c2f 100%); - border-radius: 56rpx 56rpx 56rpx 56rpx; - } + height: 228rpx; } .go-live { position: fixed; @@ -148,7 +121,7 @@ page { white-space: nowrap; justify-content: center; border-radius: 122rpx; - box-shadow: 0 4rpx 12rpx rgba(70, 67, 81, 0.4); + box-shadow: 0 4rpx 12rpx rgba(70, 67, 81, 0.12); background: linear-gradient(0deg, #ffffff 0%, #e8d6ff 100%); border: 1px solid #ffffff; outline: none; diff --git a/src/patient/pages/liveResult/index.wxml b/src/patient/pages/liveResult/index.wxml index 73c6345..b3f699a 100644 --- a/src/patient/pages/liveResult/index.wxml +++ b/src/patient/pages/liveResult/index.wxml @@ -38,13 +38,9 @@ - 2022年指南推荐 - 分数越高,生活质量越高 - 立即测试 - + > 立即进入直播间 diff --git a/src/patient/pages/medical/index.json b/src/patient/pages/medical/index.json index 5c3ccc3..c09ca66 100644 --- a/src/patient/pages/medical/index.json +++ b/src/patient/pages/medical/index.json @@ -1,6 +1,7 @@ { "usingComponents": { "navbar": "/components/navbar/index", - "pickerArea": "/components/pickerArea/index" + "pickerArea": "/components/pickerArea/index", + "van-popup": "@vant/weapp/popup/index" } } diff --git a/src/patient/pages/medical/index.scss b/src/patient/pages/medical/index.scss index bf61037..75428fe 100644 --- a/src/patient/pages/medical/index.scss +++ b/src/patient/pages/medical/index.scss @@ -56,7 +56,7 @@ page { justify-content: space-between; color: #adacb2; font-size: 36rpx; - .disable{ + .disable { position: absolute; top: 0; left: 0; @@ -111,3 +111,97 @@ page { } } } + +.select-hostipal { + background-color: #f6f8f9; + position: relative; + .s-header { + background: linear-gradient(180deg, #f1e6ff 0%, #f6f8f9 29.75%, #f6f8f9 100%); + padding-bottom: 34rpx; + .title { + padding: 48rpx 40rpx 0; + font-size: 40rpx; + color: #211d2e; + font-weight: bold; + } + .search { + margin: 30rpx 40rpx 0; + padding: 0 30rpx; + display: flex; + align-items: center; + background: #ffffff; + border-radius: 98rpx 98rpx 98rpx 98rpx; + .icon { + width: 40rpx; + height: 40rpx; + } + .input { + flex: 1; + padding-left: 12rpx; + font-size: 32rpx; + color: #211d2e; + height: 80rpx; + line-height: 80rpx; + } + .input-place { + color: #adacb2; + } + } + } + .s-list { + padding: 0 40rpx 200rpx; + height: 45vh; + overflow-y: auto; + .s-item { + margin-bottom: 24rpx; + padding: 30rpx 32rpx; + font-size: 36rpx; + color: #211d2e; + line-height: 48rpx; + background-color: #ffffff; + border-radius: 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12rpx; + border: 1px solid #fff; + .icon { + opacity: 0; + width: 48rpx; + height: 48rpx; + } + &.active { + color: #b982ff; + background: linear-gradient(180deg, #f9f4ff 0%, #f9f4ff 100%); + .icon { + opacity: 1; + } + } + } + .s-none { + display: block; + margin: 0 auto; + width: 80%; + } + } + .s-footer { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + box-sizing: border-box; + padding: 30rpx 40rpx 64rpx; + background: #ffffff; + box-shadow: 0rpx -2rpx 26rpx 0rpx rgba(0, 0, 0, 0.08); + .btn { + height: 88rpx; + font-size: 32rpx; + color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(344deg, #ffbcf9 0%, #b982ff 100%); + border-radius: 100rpx 100rpx 100rpx 100rpx; + } + } +} diff --git a/src/patient/pages/medical/index.ts b/src/patient/pages/medical/index.ts index 9281c23..dbe56af 100644 --- a/src/patient/pages/medical/index.ts +++ b/src/patient/pages/medical/index.ts @@ -4,19 +4,124 @@ Page({ data: { bannerList: [], + LNG: '' as number | string, + LAT: '' as number | string, + provinceName: '', provinceId: '', cityName: '', cityId: '', + searchName: '', hostipalName: '', hostipalId: '', hospitalPolicyId: '', hostipalList: [] as any[], + selectHostipalList: [] as any[], + hIndex: '', + + show: false, }, onLoad() { app.waitLogin({ type: [1] }).then(() => { + app.mpBehavior({ PageName: 'PG_PatientMedicalInsuranceInquiry' }) this.getBanner() + this.handleToggleSite() + }) + }, + handleToggleSite() { + if (!this.data.LNG) { + wx.getSetting({ + success: (res) => { + if ( + res.authSetting['scope.userFuzzyLocation'] != undefined + && res.authSetting['scope.userFuzzyLocation'] == true + ) { + // 获取当前位置 + this.getFuzzyLocation() + } + else if (res.authSetting['scope.userFuzzyLocation'] == undefined) { + // 获取当前位置 + this.getFuzzyLocation() + } + else { + wx.showModal({ + title: '请求授权当前位置', + content: '需要获取您的地理位置,请确认授权', + confirmColor: '#8c75d0', + success: (res) => { + if (res.cancel) { + // 取消授权 + wx.showToast({ + title: '拒绝授权', + icon: 'none', + duration: 1000, + }) + } + else if (res.confirm) { + // 确定授权,通过wx.openSetting发起授权请求 + wx.openSetting({ + success: (res) => { + if (res.authSetting['scope.userFuzzyLocation'] == true) { + wx.showToast({ + title: '授权成功', + icon: 'success', + duration: 1000, + }) + // 再次授权,调用wx.getLocation的API + this.getFuzzyLocation() + } + else { + wx.showToast({ + title: '授权失败', + icon: 'none', + duration: 1000, + }) + } + }, + }) + } + }, + }) + } + }, + }) + } + else { + this.setData({ + LNG: '', + LAT: '', + }) + this.getLocationInfo() + } + }, + getFuzzyLocation() { + wx.getFuzzyLocation({ + success: (res) => { + this.setData({ + LNG: res.longitude, + LAT: res.latitude, + }) + this.getLocationInfo() + }, + }) + }, + getLocationInfo() { + wx.ajax({ + method: 'GET', + url: '?r=zd/hospital/location-info', + data: { + lng: this.data.LNG, + lat: this.data.LAT, + }, + }).then((res) => { + this.setData({ + provinceId: res.ProvinceId, + provinceName: res.ProvinceName, + cityId: res.CityId, + cityName: res.CityName, + }) + this.getHosList() }) }, getBanner() { @@ -30,6 +135,9 @@ Page({ }) }) }, + handleSite() { + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsuranceInquirySelectCity' }) + }, handleChangeSite(e: WechatMiniprogram.CustomEvent) { const detail = e.detail this.setData({ @@ -41,6 +149,13 @@ Page({ hostipalName: '', hospitalPolicyId: '', }) + if (!detail.ProvinceId) { + wx.showToast({ + icon: 'none', + title: '请选择省份', + }) + return + } this.getHosList() }, getHosList() { @@ -53,24 +168,65 @@ Page({ cityId, }, }).then((res) => { + if (res.length == 0) { + wx.showToast({ + title: `该${cityId ? '城市' : '省份'}暂无医保医院信息`, + icon: 'none', + }) + } this.setData({ - hostipalList: res.map((item) => { - return { id: item.hospitalId, name: item.hospitalName, pId: item.hospitalPolicyId } + hostipalList: res.map((item, index) => { + return { id: item.hospitalId, name: item.hospitalName, pId: item.hospitalPolicyId, index } }), }) }) }, - handleChange(e) { - const { hostipalList } = this.data - const hItem = hostipalList[e.detail.value] + handleSearch() { + const { searchName, hostipalList } = this.data + this.setData({ + selectHostipalList: hostipalList.filter(item => !searchName || item.name.includes(searchName)), + }) + }, + handleHostipal() { + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsuranceInquirySelectHospital' }) + this.setData({ + show: true, + searchName: '', + hIndex: '', + selectHostipalList: [...this.data.hostipalList], + }) + }, + handleSelectHos(e) { + const { index } = e.currentTarget.dataset this.setData({ + hIndex: index, + }) + }, + handleHosSure() { + const { hostipalList, hIndex } = this.data + if (!hIndex) { + wx.showToast({ + icon: 'none', + title: '请选择医院', + }) + } + const hItem = hostipalList[hIndex] + this.setData({ + show: false, hostipalName: hItem.name, hostipalId: hItem.id, hospitalPolicyId: hItem.pId, }) }, + onHosClose() { + this.setData({ + show: false, + hIndex: '', + }) + }, handleHostipalDisable() { const { provinceId, hostipalList } = this.data + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsuranceInquirySelectHospital' }) if (provinceId && !hostipalList.length) { wx.showToast({ title: '暂无医院', @@ -84,6 +240,7 @@ Page({ }) }, handleSubmit() { + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsuranceInquirySearch' }) if (!this.data.hostipalId) { wx.showToast({ icon: 'none', diff --git a/src/patient/pages/medical/index.wxml b/src/patient/pages/medical/index.wxml index 93f2541..7683374 100644 --- a/src/patient/pages/medical/index.wxml +++ b/src/patient/pages/medical/index.wxml @@ -1,3 +1,5 @@ + + @@ -21,10 +23,9 @@ pid="{{provinceId}}" cid="{{cityId}}" cname="{{cityName}}" - required="{{true}}" bind:ok="handleChangeSite" > - + {{provinceName}}{{provinceName == cityName ? '' : cityName}} 选择省份城市 @@ -36,14 +37,12 @@ 我就诊的医院 - - - {{hostipalName}} - 选择就诊医院 - - - - + + {{hostipalName}} + 选择就诊医院 + + + 医保查询 @@ -64,3 +63,51 @@ > + + + + + 选择医院 + + + + + + + + {{item.name}} + + + + + + 确认 + + + diff --git a/src/patient/pages/medicalDetail/index.scss b/src/patient/pages/medicalDetail/index.scss index 408acca..74bb436 100644 --- a/src/patient/pages/medicalDetail/index.scss +++ b/src/patient/pages/medicalDetail/index.scss @@ -98,12 +98,13 @@ page { .row { margin-top: 32rpx; .r-title { - font-size: 32rpx; + font-size: 36rpx; color: #211d2e; font-weight: bold; display: flex; align-items: center; gap: 12rpx; + line-height: 44rpx; &::before { content: ''; width: 6rpx; @@ -115,9 +116,9 @@ page { .r-content { margin-top: 24rpx; padding-bottom: 32rpx; - font-size: 32rpx; + font-size: 36rpx; color: #211d2e; - line-height: 40rpx; + line-height: 64rpx; white-space: pre-line; word-break: break-all; border-bottom: 1px solid #f6f8f9; @@ -125,17 +126,19 @@ page { } .tip { margin-top: 32rpx; - font-size: 32rpx; + font-size: 36rpx; color: #b982ff; } .feedback { - margin: 24rpx 0 0; - font-size: 32rpx; + margin: 48rpx 0 0; + font-size: 36rpx; color: #b982ff; display: flex; align-items: center; justify-content: center; gap: 12rpx; + text-decoration: underline; + text-underline-offset: 6rpx; .icon { width: 44rpx; height: 44rpx; @@ -154,7 +157,7 @@ page { align-items: center; justify-content: space-between; gap: 22rpx; - box-shadow: 0 -10rpx 10rpx #f6f8f9; + box-shadow: 0 -6rpx 34rpx rgba(0, 0, 0, 0.1); .btn { height: 88rpx; text-align: center; diff --git a/src/patient/pages/medicalDetail/index.ts b/src/patient/pages/medicalDetail/index.ts index e551c1f..6918072 100644 --- a/src/patient/pages/medicalDetail/index.ts +++ b/src/patient/pages/medicalDetail/index.ts @@ -20,6 +20,7 @@ Page({ id: options.id, }) app.waitLogin({ type: [1] }).then(() => { + app.mpBehavior({ PageName: 'PG_PatientMedicalInsurancePolicy' }) this.getDetail() }) }, @@ -45,12 +46,14 @@ Page({ return medicationMethodList.map(item => item.medicationMethodName).join('、') }, handleInfo() { + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsurancePolicyMedication' }) this.setData({ popupShow: true, popupType: 'popup13', }) }, handleFeedback() { + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsurancePolicyError' }) wx.ajax({ method: 'POST', url: '?r=xd/hospital-policy/add-feedback', @@ -65,9 +68,15 @@ Page({ }) }, handleConsult() { - this.setData({ - show: true, - }) + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsurancePolicyConsult' }) + if (this.data.detail.telephone) { + this.setData({ + show: true, + }) + } + else { + this.handleCustomerService() + } }, onClose() { this.setData({ @@ -86,6 +95,7 @@ Page({ this.onClose() }, handleCustomerService() { + app.mpBehavior({ PageName: 'PG_PatientMedicalInsurancePolicyCustomerService' }) this.setData({ popupShow: true, popupType: 'popup12', @@ -99,6 +109,7 @@ Page({ this.onClose() }, handleHostipal() { + app.mpBehavior({ PageName: 'BTN_PatientMedicalInsurancePolicyHospital' }) wx.navigateTo({ url: `/patient/pages/hospital/index?id=${this.data.detail.hospitalId || ''}`, }) @@ -107,7 +118,7 @@ Page({ const { popupType } = this.data if (popupType === 'popup13') { wx.navigateTo({ - url:`/patient/pages/repositoryDetail/index?id=${this.data.detail.picTextId}`, + url: `/patient/pages/repositoryDetail/index?id=${this.data.detail.picTextId}`, }) } this.handlePopupCancel() diff --git a/src/patient/pages/qolReport/index.ts b/src/patient/pages/qolReport/index.ts index f7773a9..8cbbe47 100644 --- a/src/patient/pages/qolReport/index.ts +++ b/src/patient/pages/qolReport/index.ts @@ -7,6 +7,7 @@ Page({ data: { footerBtnShow: false, hormoneDetail: { recordId: '' }, + qolDetail: {} as any, // 默认月度 type: '2', @@ -47,12 +48,28 @@ Page({ app.waitLogin({ type: [1] }).then(() => { this.handleChangeType() this.getList() + this.getQol() this.getHormone() if (options.scrollId) { this.scrollPoint(`#${options.scrollId}`) } }) }, + getQol() { + wx.ajax({ + method: 'GET', + url: '?r=xd/qol/index', + data: {}, + }).then((res) => { + this.setData({ + qolDetail: { + ...res.newRecord, + isTodayRecord: res.isTodayRecord, + CreateDate: dayjs(res.newRecord.CreateTime).format('MM-DD'), + }, + }) + }) + }, getHormone() { wx.ajax({ method: 'GET', @@ -546,8 +563,21 @@ Page({ }, handleQol() { this.handleHideFooterBtn() - wx.navigateTo({ - url: '/patient/pages/qol/index', + const { qolDetail } = this.data + const url + = qolDetail.Id && qolDetail.isTodayRecord + ? `/patient/pages/qolAdd/index?id=${qolDetail.Id}&edit=1` + : `/patient/pages/qol/index` + wx.redirectTo({ + url, + success() { + if (qolDetail.isTodayRecord) { + wx.showToast({ + icon: 'none', + title: '每日仅录入1次,您可修改选项', + }) + } + }, }) }, handleHormoneDetail(e) { diff --git a/src/patient/pages/repositoryDetail/index.scss b/src/patient/pages/repositoryDetail/index.scss index d142c03..5d10cd7 100644 --- a/src/patient/pages/repositoryDetail/index.scss +++ b/src/patient/pages/repositoryDetail/index.scss @@ -3,6 +3,8 @@ box-sizing: border-box; margin-top: -20rpx; padding: 40rpx 30rpx 200rpx; + max-width: 100vw; + overflow-x: hidden; .banner { .title {