diff --git a/project.private.config.json b/project.private.config.json index a89a168..219f902 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -26,8 +26,8 @@ "name": "医生-患者量表", "pathName": "pages/d_qolDetail/index", "query": "id=178", - "scene": null, - "launchMode": "default" + "launchMode": "default", + "scene": null }, { "name": "医生-患者详情", diff --git a/src/components/pickerArea/index.ts b/src/components/pickerArea/index.ts index 9ff77e1..3614fc4 100644 --- a/src/components/pickerArea/index.ts +++ b/src/components/pickerArea/index.ts @@ -1,4 +1,4 @@ -const app = getApp(); +const app = getApp() Component({ properties: { @@ -22,10 +22,14 @@ Component({ type: String, value: '', }, + required: { + type: Boolean, + value: false, + }, }, observers: { show(newVal: boolean) { - this.triggerEvent('show', newVal); + this.triggerEvent('show', newVal) }, }, data: { @@ -217,6 +221,7 @@ Component({ handleShow() { this.setData({ show: true, + active: 0, ProvinceName: this.data.pname || '', ProvinceId: this.data.pid || '', CityName: this.data.cname || '', @@ -224,8 +229,8 @@ Component({ scrollIntoView0: this.data.pid || '', scrollIntoView1: this.data.cid || '', - }); - this.getArea(); + }) + this.getArea() }, getArea() { wx.ajax({ @@ -235,78 +240,95 @@ Component({ }).then((res) => { this.setData({ area: res, - }); - this.getRangeList(); - }); + }) + this.getRangeList() + }) }, handleItem(e: any) { - const { code, name } = e.currentTarget.dataset; + const { code, name } = e.currentTarget.dataset this.setData({ ProvinceId: code, ProvinceName: name, CityId: '', CityName: '', - }); - this.getRangeList(); + }) + this.getRangeList() }, handleChangeCity(e: any) { - const { code, name } = e.currentTarget.dataset; + const { code, name } = e.currentTarget.dataset this.setData({ CityId: code, CityName: name, - }); + }) }, handleShare() { + if (this.data.required) { + if (!this.data.ProvinceId) { + wx.showToast({ + icon: 'none', + title: '请选择省份', + }) + return + } + if (!this.data.CityId) { + wx.showToast({ + icon: 'none', + title: '请选择城市', + }) + return + } + } this.setData({ show: false, - }); + }) this.triggerEvent('ok', { ProvinceName: this.data.ProvinceName, ProvinceId: this.data.ProvinceId, CityName: this.data.CityName, CityId: this.data.CityId, - }); + }) }, handleSelect(e) { - const { id } = e.currentTarget.dataset; + const { id } = e.currentTarget.dataset this.setData({ word: id, scrollIntoView0: id, - }); + }) }, getRangeList() { - const { area, ProvinceId } = this.data; - if (!ProvinceId) return; - const range = area.filter((item: any) => item.value == ProvinceId)[0].children; + const { area, ProvinceId } = this.data + if (!ProvinceId) + return + const range = area.filter((item: any) => item.value == ProvinceId)[0].children this.setData({ range, active: 1, scrollIntoView0: '', scrollIntoView1: `id${this.data.CityId}`, - }); + }) }, handleProvince() { this.setData({ active: 0, scrollIntoView0: this.data.word || `id${this.data.ProvinceId}`, scrollIntoView1: '', - }); + }) }, handleCity() { - const { ProvinceId } = this.data; + const { ProvinceId } = this.data if (!ProvinceId) { wx.showToast({ title: '请先选择省份', icon: 'none', - }); - return; + }) + return } - this.getRangeList(); + this.getRangeList() }, handleClose() { this.setData({ show: false, - }); + }) }, }, -}); +}) diff --git a/src/components/popup/index.scss b/src/components/popup/index.scss index 091038d..9a091d7 100644 --- a/src/components/popup/index.scss +++ b/src/components/popup/index.scss @@ -351,12 +351,13 @@ padding: 32rpx 32rpx 32rpx 0; background: #f6f8f9; border-radius: 32rpx 32rpx 32rpx 32rpx; - height: 844rpx; + height: 824rpx; overflow-y: auto; box-sizing: border-box; .s-title { font-size: 36rpx; line-height: 60rpx; + font-weight: bold; padding: 0 32rpx; color: #ffffff; border-radius: 0 32rpx 32rpx 0; @@ -456,7 +457,7 @@ border-radius: 32rpx; background: linear-gradient(180deg, #f1e6ff 0%, #ffffff 29.75%, #ffffff 100%); .title { - font-size: 40rpx; + font-size: 36rpx; color: #211d2e; font-weight: bold; } @@ -465,6 +466,7 @@ font-size: 36rpx; color: #69686e; line-height: 48rpx; + text-align: center; } .btn { margin-top: 56rpx; diff --git a/src/components/popup/index.wxml b/src/components/popup/index.wxml index 49bb444..89dbe4d 100644 --- a/src/components/popup/index.wxml +++ b/src/components/popup/index.wxml @@ -112,10 +112,10 @@ > - - 客服小张 + + {{params.ConsultQwName}} - + 长按识别二维码 diff --git a/src/components/toast/index.scss b/src/components/toast/index.scss index ce8ca91..00d3985 100644 --- a/src/components/toast/index.scss +++ b/src/components/toast/index.scss @@ -2734,7 +2734,7 @@ } } .btn { - margin-top: 32rpx; + margin: 32rpx 30rpx 0; height: 88rpx; line-height: 88rpx; text-align: center; @@ -2745,3 +2745,24 @@ } } } + +.popup-qw { + .popup-container { + width: 630rpx; + height: 788rpx; + overflow: hidden; + .code { + margin: 264rpx auto 0; + display: block; + width: 284rpx; + height: 284rpx; + } + .tip { + margin-top: 48rpx; + font-size: 32rpx; + color: #211d2e; + text-align: center; + line-height: 44rpx; + } + } +} diff --git a/src/components/toast/index.wxml b/src/components/toast/index.wxml index 4e82058..8be9046 100644 --- a/src/components/toast/index.wxml +++ b/src/components/toast/index.wxml @@ -805,19 +805,42 @@ - + - 访问直播活动页需切换至患者端 - 请问是否继续 - 继续 + + 完善个人信息 + + 完善个人信息,可获得 + 【医生】 + 更多关注 + + 确认 - + - 访问直播活动页需切换至患者端 - 请问是否继续 - 继续 + + 完善个人信息 + + 完善个人信息,可获得 + 【医生】 + 更多关注 + + 确认 + + + + + + + 长按识别二维码 + + 添加客服人员 + diff --git a/src/pages/d_patientDetail/index.scss b/src/pages/d_patientDetail/index.scss index 03eea70..b83038f 100644 --- a/src/pages/d_patientDetail/index.scss +++ b/src/pages/d_patientDetail/index.scss @@ -54,6 +54,8 @@ page { .content { margin-top: 12rpx; line-height: 36rpx; + display: flex; + align-items: center; .age { margin-right: 16rpx; padding-right: 16rpx; @@ -103,7 +105,7 @@ page { background: #f6f8f9; border-radius: 24rpx; .row { - padding: 32rpx; + padding: 32rpx 0; display: flex; font-size: 32rpx; color: #211d2e; @@ -196,15 +198,22 @@ page { .num { white-space: nowrap; font-size: 64rpx; - color: #ffa300; font-weight: bold; .sub { - margin-left: -10rpx; font-size: 28rpx; color: #69686e; font-weight: normal; } } + .status1 { + color: #ef3939; + } + .status2 { + color: #ffa300; + } + .status3 { + color: #1ec580; + } .icon { width: 92rpx; height: 92rpx; @@ -226,6 +235,14 @@ page { } .num { font-size: 28rpx; + } + .status1 { + color: #ef3939; + } + .status2 { + color: #ffa300; + } + .status3 { color: #1ec580; } } @@ -246,10 +263,18 @@ page { } } .none { - margin: 80rpx -32rpx 0; - width: 318rpx; - height: 170rpx; - display: block; + margin: 64rpx auto 0; + .n-img { + margin: 0 auto; + display: block; + width: 268rpx; + height: 174rpx; + } + .n-tip { + font-size: 28rpx; + color: #c1bfc9; + text-align: center; + } } } .k-hormones { @@ -320,10 +345,18 @@ page { } } .none { - margin: 80rpx -32rpx 0; - width: 318rpx; - height: 170rpx; - display: block; + margin: 64rpx auto 0; + .n-img { + margin: 0 auto; + display: block; + width: 268rpx; + height: 174rpx; + } + .n-tip { + font-size: 28rpx; + color: #c1bfc9; + text-align: center; + } } } } diff --git a/src/pages/d_patientDetail/index.ts b/src/pages/d_patientDetail/index.ts index 3f750be..282ea45 100644 --- a/src/pages/d_patientDetail/index.ts +++ b/src/pages/d_patientDetail/index.ts @@ -188,7 +188,9 @@ Page({ id: option.id, }) if (option.anchor) { - this.handleAnchor(option.anchor) + setTimeout(() => { + this.handleAnchor(option.anchor) + }, 1000) } app.waitLogin({ type: [2] }).then(async (_res) => { @@ -208,10 +210,10 @@ Page({ }, handleAnchor(anchor) { if (anchor == 'qol') { - wx.pageScrollTo({ scrollTop: 700 }) + wx.pageScrollTo({ selector: '#qol' }) } if (anchor == 'hormone') { - wx.pageScrollTo({ scrollTop: 1550 }) + wx.pageScrollTo({ selector: '#hormone' }) } }, getQolDetail() { @@ -428,6 +430,10 @@ Page({ list6Show, }) + this.chartComponent4 = this.selectComponent('#chart4') + this.chartComponent5 = this.selectComponent('#chart5') + this.chartComponent6 = this.selectComponent('#chart6') + this.initChartHormone(list4, 'chartComponent4', '#1ec580') this.initChartHormone(list5, 'chartComponent5', '#B982FF') this.initChartHormone(list6, 'chartComponent6', '#FFA300') diff --git a/src/pages/d_patientDetail/index.wxml b/src/pages/d_patientDetail/index.wxml index de94919..a565f50 100644 --- a/src/pages/d_patientDetail/index.wxml +++ b/src/pages/d_patientDetail/index.wxml @@ -74,7 +74,7 @@ 生活质量自评 - + {{qolDetail.TotalScore}} @@ -93,18 +93,21 @@ 视觉功能 - {{qolDetail.VisionScore}}分 + {{qolDetail.VisionScore}}分 外观影响 - {{qolDetail.AppearanceScore}}分 + {{qolDetail.AppearanceScore}}分 {{qolDetail.CreateTime}} - + + + 暂无数据 + 激素记录 @@ -125,12 +128,15 @@ {{hormoneDetail.createTime}} - + + + 暂无数据 + - 指标趋势 + 指标趋势 生活质量评分 @@ -177,7 +183,7 @@ - 激素周用量记录曲线 + 激素周用量记录曲线 - 查看生活质量评分趋势 + 查看激素用量趋势 diff --git a/src/pages/d_qolDetail/index.scss b/src/pages/d_qolDetail/index.scss index 3afe864..7dad3c6 100644 --- a/src/pages/d_qolDetail/index.scss +++ b/src/pages/d_qolDetail/index.scss @@ -1,6 +1,11 @@ page { background-color: #f6f8f9; } +.nav-tabs { + view { + --tab-font-size: 28rpx; + } +} .page1 { padding: 16rpx 30rpx 240rpx; @@ -46,6 +51,7 @@ page { font-size: 28rpx; color: #b982ff; line-height: 36rpx; + font-weight: bold; &:last-of-type { border: none; } @@ -62,6 +68,9 @@ page { &:last-of-type { border: none; } + &:nth-of-type(2n) { + background-color: #fdfbff; + } .td { padding: 20rpx; border-right: 1px solid #eee4ff; @@ -115,6 +124,7 @@ page { writing-mode: vertical-lr; background-color: #f7f0ff; border-right: 1px solid #eee4ff; + font-weight: bold; } .tcontainer { background-color: #f7f0ff; @@ -126,6 +136,7 @@ page { font-size: 28rpx; color: #b982ff; line-height: 36rpx; + font-weight: bold; } } .tbody { @@ -149,6 +160,9 @@ page { &:last-of-type { border: none; } + &:nth-of-type(2n) { + background-color: #fdfbff; + } .td { height: 100rpx; box-sizing: border-box; @@ -186,6 +200,7 @@ page { font-size: 30rpx; color: #b982ff; border-left: 1px solid #eee4ff; + font-weight: bold; } .row { border-top: 1px solid #eee4ff; @@ -207,6 +222,9 @@ page { &:last-of-type { border: none; } + &:nth-of-type(2n) { + background-color: #fdfbff; + } .td { padding: 22rpx; width: 200rpx; diff --git a/src/pages/d_qolDetail/index.wxml b/src/pages/d_qolDetail/index.wxml index 21534cb..5a60b51 100644 --- a/src/pages/d_qolDetail/index.wxml +++ b/src/pages/d_qolDetail/index.wxml @@ -1,5 +1,6 @@ {{item.changeTotalScore}} - {{item.AppearanceScore}} - {{item.changeAppearanceScore}} + {{item.VisionScore}} + {{item.changeVisionScore}} {{item.AppearanceScore}} @@ -44,7 +45,7 @@ - xxx的GO-QOL生活质量评测详情 + {{detail.Name}}的GO-QOL生活质量评测详情 diff --git a/src/patient/pages/doctor/index.scss b/src/patient/pages/doctor/index.scss index b441c9b..30c5fd1 100644 --- a/src/patient/pages/doctor/index.scss +++ b/src/patient/pages/doctor/index.scss @@ -175,7 +175,7 @@ page { font-size: 24rpx; color: #b982ff; border-radius: 6rpx; - border: 1rpx solid #b982ff; + border: 1px solid #b982ff; } .medical { margin-right: 22rpx; diff --git a/src/patient/pages/hospital/index.scss b/src/patient/pages/hospital/index.scss index a8ffb46..d1b442a 100644 --- a/src/patient/pages/hospital/index.scss +++ b/src/patient/pages/hospital/index.scss @@ -142,7 +142,7 @@ page { margin-top: 64rpx; padding: 0 30rpx; .module-container { - background: #ffffff; + 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-radius: 24rpx; diff --git a/src/patient/pages/index/index.scss b/src/patient/pages/index/index.scss index 0c14faa..d4441b6 100644 --- a/src/patient/pages/index/index.scss +++ b/src/patient/pages/index/index.scss @@ -72,15 +72,17 @@ page { color: #adacb2; line-height: 36rpx; overflow: hidden; + display: flex; + align-items: center; .h-content { margin-right: 16rpx; display: inline-block; - max-width: 10em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tag { + flex-shrink: 0; display: inline-block; padding: 6rpx 12rpx 4rpx; font-size: 24rpx; @@ -93,6 +95,7 @@ page { } } .more { + flex-shrink: 0; width: 48rpx; height: 48rpx; } @@ -133,6 +136,7 @@ page { } .content { margin-top: 12rpx; + height: 96rpx; display: flex; align-self: baseline; justify-content: space-between; @@ -147,6 +151,15 @@ page { font-weight: normal; } } + .status1 { + color: #ef3939; + } + .status2 { + color: #ffa300; + } + .status3 { + color: #1ec580; + } .icon { width: 96rpx; height: 96rpx; @@ -213,6 +226,7 @@ page { } .content { margin-top: 12rpx; + height: 96rpx; display: flex; align-self: baseline; justify-content: space-between; diff --git a/src/patient/pages/index/index.ts b/src/patient/pages/index/index.ts index 2c92e47..14c7730 100644 --- a/src/patient/pages/index/index.ts +++ b/src/patient/pages/index/index.ts @@ -11,6 +11,9 @@ Page({ hormoneShow: false, medicalInsuranceShow: false, hospitalMapShow: false, + + medicalInsuranceJump: false, + hospitalMapJump: false, configList: [], infoList: [] as any, zdUserInfo: {} as any, @@ -36,7 +39,6 @@ Page({ // toastType: "aldAlert", // toastType:"dedicatedDoctor", // toastType: 'public-toast', - // toastType: 'drug-guide', // toastType: 'medical-guide', // toastType: 'question-toast', // toastType: 'guideEnterInfo', @@ -130,22 +132,6 @@ Page({ return } - const data2 = await wx.ajax({ - method: 'GET', - url: '?r=zd/popup/get-popup', - data: { - type: 1, - }, - }) - if (data2.showAlert) { - this.setData({ - toastShow: data2.showAlert, - toastType: 'drug-guide', - toastParams: {}, - }) - return - } - const data3 = await wx.ajax({ method: 'GET', url: '?r=zd/popup/get-popup', @@ -221,18 +207,24 @@ Page({ hormoneShow: false, medicalInsuranceShow: false, hospitalMapShow: false, + medicalInsuranceJump: false, + hospitalMapJump: false, } // 处理配置项 processedRes.forEach((item: any) => { - const { code, showStatus, configId, showNum } = item + const { code, showStatus, configId, showNum, openStatus } = item // 设置显示状态 if (code === 'medicalInsurance' && showStatus == 1) { statusMap.medicalInsuranceShow = true + if (openStatus == 1) + statusMap.medicalInsuranceJump = true } if (code === 'hospitalMap' && showStatus == 1) { statusMap.hospitalMapShow = true + if (openStatus == 1) + statusMap.hospitalMapJump = true } if (code === 'adl' && showStatus == 1) { statusMap.qolShow = true @@ -344,7 +336,14 @@ Page({ }) }, routerTo(e) { - let { url, active, code } = e.currentTarget.dataset + let { url, active, code, status } = e.currentTarget.dataset + if (status === false) { + wx.showToast({ + icon: 'none', + title: '功能正在建设中,敬请期待', + }) + return + } if (!url) return if (code === 'doctor') { @@ -380,7 +379,10 @@ Page({ }, handleAddQol() { const { qolDetail } = this.data - const url = qolDetail.Id ? `/patient/pages/qolAdd/index?id=${qolDetail.Id}` : `/patient/pages/qol/index` + const url + = qolDetail.Id && qolDetail.isTodayRecord + ? `/patient/pages/qolAdd/index?id=${qolDetail.Id}&edit=1` + : `/patient/pages/qol/index` wx.navigateTo({ url, success() { @@ -424,18 +426,6 @@ Page({ }) this.handleToastCancel(null, false) } - else if (toastType === 'drug-guide') { - wx.ajax({ - method: 'POST', - url: '?r=zd/popup/add-record', - data: { type: 1 }, - }).then(() => { - wx.navigateTo({ - url: '/patient/pages/personalInformation/index?bottom=1&submit=1', - }) - }) - this.handleToastCancel(null, false) - } else if (toastType === 'medical-guide') { wx.ajax({ method: 'POST', @@ -487,13 +477,6 @@ Page({ }, }) } - else if (toastType === 'drug-guide' && sure) { - wx.ajax({ - method: 'POST', - url: '?r=zd/popup/add-record', - data: { type: 1 }, - }) - } else if (toastType === 'medical-guide' && sure) { wx.ajax({ method: 'POST', diff --git a/src/patient/pages/index/index.wxml b/src/patient/pages/index/index.wxml index 0dd8bd1..284110f 100644 --- a/src/patient/pages/index/index.wxml +++ b/src/patient/pages/index/index.wxml @@ -42,7 +42,7 @@ - + {{qolDetail.TotalScore}} @@ -61,7 +61,7 @@ - 最近:{{qolDetail.CreateDate}} + 最近 {{qolDetail.CreateDate}} 记录主观感受 @@ -95,7 +95,7 @@ - 最近:{{hormoneDetail.createTime}} + 最近 {{hormoneDetail.createTime}} 关注不良反应 - + 附近的医院 - + + + - - - 倒计时 - - {{timeData.days}} - 天 - - - {{timeData.hours}} - 时 - - - {{timeData.minutes}} - 分 - - {{timeData.seconds}} - 秒 - - {{detail.Name}} {{detail.BeginTime}} @@ -63,10 +40,10 @@ - - + + - + + + + 倒计时 + + {{timeData.days}} + 天 + + + {{timeData.hours}} + 时 + + + {{timeData.minutes}} + 分 + + {{timeData.seconds}} + 秒 + + 已取消 已删除 看回放 @@ -130,7 +133,7 @@ 提醒我 - 已报名,查看活动码 + 已报名 diff --git a/src/patient/pages/liveResult/index.scss b/src/patient/pages/liveResult/index.scss index 84d60b5..1d05f25 100644 --- a/src/patient/pages/liveResult/index.scss +++ b/src/patient/pages/liveResult/index.scss @@ -1,58 +1,170 @@ page { - background: linear-gradient(180deg, #f9f9f9 0%, #f9f9f9 100%); + background-color: #f6f8f9; } .page { width: 100vw; - overflow-x: hidden; - min-height: 120vh; - position: relative; - padding-bottom: 100rpx; - .bg { - position: absolute; - left: 50%; - top: 0; - transform: translateX(-50%); - background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%); - width: 120vw; - height: 656rpx; - border-radius: 0 0 140rpx 140rpx; - } + padding-bottom: 400rpx; + background: linear-gradient(180deg, #ece4fa 0%, #f6f8f9 100%) no-repeat top center/100% 412rpx; .page-container { - position: absolute; - left: 0; - width: 100%; - .badge { - margin: 0 auto; - display: block; - width: 166rpx; - height: 166rpx; - border-radius: 50%; + .card { + margin: 0 34rpx 0; + display: flex; + justify-content: center; + gap: 24rpx; + .icon { + width: 148rpx; + height: 148rpx; + } + .wrap { + padding-top: 18rpx; + .status { + font-size: 48rpx; + color: #b982ff; + font-weight: bold; + } + .tip { + margin-top: 16rpx; + font-size: 32rpx; + color: #69686e; + display: flex; + .high { + color: #b982ff; + font-weight: bold; + } + .h1{ + margin-left: 10rpx; + } + } + } } - .status { - margin-top: 16rpx; - font-size: 40rpx; - color: #fff; - font-weight: bold; - text-align: center; + .container { + margin: 52rpx 34rpx 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); + border-radius: 24rpx 24rpx 24rpx 24rpx; + border: 2rpx solid #ffffff; + .title { + font-size: 40rpx; + color: transparent; + font-weight: bold; + text-align: center; + background-clip: text; + -webkit-background-clip: text; + background-image: linear-gradient(90.00000244424237deg, #211d2e 0%, #6a5d94 100%); + } + .code-wrap { + margin: 38rpx auto 0; + width: 272rpx; + height: 272rpx; + overflow: hidden; + .code { + display: block; + margin: 20rpx auto 0; + width: 232rpx; + height: 232rpx; + } + } + .tip { + margin-top: 28rpx; + display: flex; + justify-content: center; + .t-content { + position: relative; + font-size: 32rpx; + color: #211d2e; + font-weight: bold; + &::after { + display: block; + position: absolute; + left: 50%; + bottom: -4rpx; + transform: translateX(-50%); + content: ''; + width: 100%; + height: 16rpx; + background: rgba(185, 130, 255, 0.28); + border-radius: 0rpx 0rpx 0rpx 0rpx; + } + } + } } - .tip { - margin-top: 16rpx; - font-size: 32rpx; - color: #fff; - text-align: center; + .qol { + margin: 32rpx 34rpx 0; + position: relative; + height: 202rpx; + 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; + } } .go-live { - margin: 38rpx auto 0; - width: 456rpx; + position: fixed; + bottom: 116rpx; + left: 50%; + transform: translateX(-50%); + width: 670rpx; height: 88rpx; display: flex; align-items: center; justify-content: center; font-size: 40rpx; - color: #B982FF; - background: linear-gradient(to bottom, #ffffff 0%, #e8d6ff 100%); + color: #fff; + box-shadow: 0 4rpx 12rpx rgba(70, 67, 81, 0.4); + background: linear-gradient(344deg, #ffbcf9 0%, #b982ff 100%); border-radius: 48rpx 48rpx 48rpx 48rpx; } + .go-share { + position: fixed; + bottom: 116rpx; + left: 50%; + padding: 0 32rpx 0 12rpx; + transform: translateX(-50%); + display: flex; + align-items: center; + white-space: nowrap; + justify-content: center; + border-radius: 122rpx; + box-shadow: 0 4rpx 12rpx rgba(70, 67, 81, 0.4); + background: linear-gradient(0deg, #ffffff 0%, #e8d6ff 100%); + border: 1px solid #ffffff; + outline: none; + font-size: 40rpx; + color: #b982ff; + gap: 12rpx; + &::after { + background: transparent; + border: none; + } + .icon { + flex-shrink: 0; + width: 72rpx; + height: 72rpx; + } + } .price { margin: 10rpx auto 0; font-size: 56rpx; @@ -94,65 +206,6 @@ page { color: #ffffff; } } - .container { - position: relative; - margin: 12rpx 40rpx 0; - width: calc(100% - 80rpx); - - .c-content { - padding: 40rpx; - position: relative; - top: 20rpx; - left: 0; - background: #fff; - box-shadow: 0rpx 4rpx 40rpx 0rpx rgba(0, 0, 0, 0.06); - border-radius: 24rpx; - box-sizing: border-box; - .banner { - width: 100%; - height: 294rpx; - border-radius: 24rpx; - } - .c-title { - margin-top: 34rpx; - font-size: 40rpx; - color: #333333; - line-height: 1.4; - white-space: pre-line; - font-weight: bold; - } - .date { - margin-top: 16rpx; - font-size: 32rpx; - color: rgba(173, 172, 178, 1); - .icon { - margin-right: 10rpx; - width: 32rpx; - height: 32rpx; - } - } - .btn { - margin-top: 64rpx; - height: 88rpx; - border-radius: 48rpx; - text-align: center; - font-size: 32rpx; - color: rgba(185, 130, 255, 1); - box-sizing: border-box; - border: 1px solid rgba(185, 130, 255, 1); - background-color: transparent; - display: flex; - align-items: center; - justify-content: center; - &.btn2 { - margin-top: 32rpx; - border: none; - background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%); - color: #fff; - } - } - } - } .footer { padding-top: 106rpx; .btn { diff --git a/src/patient/pages/liveResult/index.ts b/src/patient/pages/liveResult/index.ts index 612350d..86f9963 100644 --- a/src/patient/pages/liveResult/index.ts +++ b/src/patient/pages/liveResult/index.ts @@ -11,15 +11,15 @@ Page({ zdUserInfo: {}, codeUrl: '', dateValue: '' as string | number, - rewardScore: 0 as number | undefined, qrCode: '', + qolDetail: {} as any, + entry: '0', }, onLoad(options) { this.setData({ id: options.id, - rewardScore: options.rewardScore, entry: options.entry, }) if (live_time) { @@ -36,6 +36,7 @@ Page({ app.waitLogin({ type: [1] }).then((_res) => { this.getLiveDetail() this.getDetail() + this.getQol() app.getZdUserInfo(this, true) }) }, @@ -49,6 +50,9 @@ Page({ }).then((res) => { res.BeginTime = dayjs(res.BeginTime).format('YYYY-MM-DD HH:mm') res.BeginTimeValue = dayjs(res.BeginTime).valueOf() + res.d_M = dayjs(res.BeginTime).format('M') + res.d_d = dayjs(res.BeginTime).format('D') + res.d_h = dayjs(res.BeginTime).format('HH:mm') this.setData({ detail: res, }) @@ -58,6 +62,21 @@ Page({ this.getQrCode() }) }, + 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'), + }, + }) + }) + }, getQrCode() { wx.ajax({ method: 'GET', @@ -97,6 +116,24 @@ Page({ url: '/patient/pages/index/index', }) }, + handleAddQol() { + 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次,您可修改选项', + }) + } + }, + }) + }, handleBack() { wx.navigateBack({ fail: () => { diff --git a/src/patient/pages/liveResult/index.wxml b/src/patient/pages/liveResult/index.wxml index dcac9ae..73c6345 100644 --- a/src/patient/pages/liveResult/index.wxml +++ b/src/patient/pages/liveResult/index.wxml @@ -7,21 +7,55 @@ bind:tap="handleBack" /> - - - - - - 报名成功 - + + + + + + 报名成功 + + 直播即将开始 + {{detail.d_M}} + 月 + {{detail.d_d}} + 日 + {{detail.d_h}} + + + + + + 欢迎反馈您的提问 + + 医生会在直播中解答 + + + + + + 长按二维码添加企微小助手 + + + + 2022年指南推荐 + 分数越高,生活质量越高 + 立即测试 + 立即进入直播间 - - - 关注公众号,活动提醒不错过 - - 长按识别二维码 - + + + + + + diff --git a/src/patient/pages/medical/index.scss b/src/patient/pages/medical/index.scss index 4ddecba..bf61037 100644 --- a/src/patient/pages/medical/index.scss +++ b/src/patient/pages/medical/index.scss @@ -105,6 +105,7 @@ page { .card { margin: 24rpx 0 0; display: block; + width: 100%; height: 208rpx; border-radius: 24rpx; } diff --git a/src/patient/pages/medical/index.ts b/src/patient/pages/medical/index.ts index 733197d..9281c23 100644 --- a/src/patient/pages/medical/index.ts +++ b/src/patient/pages/medical/index.ts @@ -37,6 +37,9 @@ Page({ provinceName: detail.ProvinceName, cityId: detail.CityId, cityName: detail.CityName, + hostipalId: '', + hostipalName: '', + hospitalPolicyId: '', }) this.getHosList() }, @@ -67,6 +70,14 @@ Page({ }) }, handleHostipalDisable() { + const { provinceId, hostipalList } = this.data + if (provinceId && !hostipalList.length) { + wx.showToast({ + title: '暂无医院', + icon: 'none', + }) + return + } wx.showToast({ title: '请先选择所在城市', icon: 'none', diff --git a/src/patient/pages/medical/index.wxml b/src/patient/pages/medical/index.wxml index b60ea7e..93f2541 100644 --- a/src/patient/pages/medical/index.wxml +++ b/src/patient/pages/medical/index.wxml @@ -17,14 +17,15 @@ 我的医保所在城市 - {{provinceName}}{{cityName}} + {{provinceName}}{{provinceName == cityName ? '' : cityName}} 选择省份城市 @@ -40,7 +41,7 @@ {{hostipalName}} 选择就诊医院 - + diff --git a/src/patient/pages/medicalDetail/index.scss b/src/patient/pages/medicalDetail/index.scss index 6e5f9e6..408acca 100644 --- a/src/patient/pages/medicalDetail/index.scss +++ b/src/patient/pages/medicalDetail/index.scss @@ -162,7 +162,7 @@ page { flex: 1; font-size: 36rpx; color: #ffffff; - background: linear-gradient(344deg, #ffbcf9 0%, #b982ff 100%); + background: linear-gradient(180deg, #ffbcf9 0%, #b982ff 100%); border-radius: 100rpx 100rpx 100rpx 100rpx; } } diff --git a/src/patient/pages/medicalDetail/index.ts b/src/patient/pages/medicalDetail/index.ts index 804a00a..e551c1f 100644 --- a/src/patient/pages/medicalDetail/index.ts +++ b/src/patient/pages/medicalDetail/index.ts @@ -75,9 +75,14 @@ Page({ }) }, handlePhone() { - wx.makePhoneCall({ - phoneNumber: this.data.detail.telephone, - }) + if (this.data.detail.telephone) { + wx.makePhoneCall({ + phoneNumber: this.data.detail.telephone, + }) + } + else { + this.handleCustomerService() + } this.onClose() }, handleCustomerService() { @@ -85,8 +90,9 @@ Page({ popupShow: true, popupType: 'popup12', popupParams: { - imgs: this.data.detail.imgs || [], - consultImg: this.data.detail.consultImg || '', + ConsultQwImg: this.data.detail.consultConfig?.ConsultQwImg || '', + ConsultQwAvatar: this.data.detail.consultConfig?.ConsultQwAvatar || '', + ConsultQwName: this.data.detail.consultConfig?.ConsultQwName || '', close: true, }, }) @@ -100,6 +106,9 @@ Page({ handlePopupOk() { const { popupType } = this.data if (popupType === 'popup13') { + wx.navigateTo({ + url:`/patient/pages/repositoryDetail/index?id=${this.data.detail.picTextId}`, + }) } this.handlePopupCancel() }, diff --git a/src/patient/pages/medicalDetail/index.wxml b/src/patient/pages/medicalDetail/index.wxml index 39a0457..655e48d 100644 --- a/src/patient/pages/medicalDetail/index.wxml +++ b/src/patient/pages/medicalDetail/index.wxml @@ -7,15 +7,20 @@ {{detail.hospitalName || ''}} - 用药方式 + + 用药方式 + {{medicationMethods}} - - 用药方式 + + 医保政策 可报销 @@ -49,7 +54,7 @@ 我要咨询 - 了解就诊医院 + 了解就诊医院 diff --git a/src/patient/pages/personalInformation/index.ts b/src/patient/pages/personalInformation/index.ts index 3a64962..e386ecf 100644 --- a/src/patient/pages/personalInformation/index.ts +++ b/src/patient/pages/personalInformation/index.ts @@ -44,8 +44,6 @@ Page({ dict: {} as any, - DiagnosisTime: '', - HasTedSurgery: '', IsGraves: '', @@ -87,8 +85,7 @@ Page({ app.waitLogin({ type: [1] }).then(() => { app.mpBehavior({ PageName: 'PG_PatientPersonalInfo' }) - const that = this - app.getZdUserInfo(that, true, that.formatUserInfo.bind(that)) + app.getZdUserInfo(null, true, this.formatUserInfo.bind(this)) this.getDict() }) }, @@ -106,12 +103,19 @@ Page({ }, formatUserInfo(res) { + const arrTituyo = res.tituyo + if (Array.isArray(arrTituyo)) { + const tituyo = {} + arrTituyo.forEach((item) => { + tituyo[item] = true + }) + res.tituyo = tituyo + } + this.setData({ + zdUserInfo: res, + }) + this.formatBorn(res.Birth) - this.handleChaneDiagnosisTime({ detail: { value: res.DiagnosisTime } }, false) - const diagnoseTypeValue = this.data.DTList.findIndex(item => item.id == res.DiagnoseType) - this.handleChangeDiagnoseType({ detail: { value: [diagnoseTypeValue] } }) - this.handleDiagnoseTypeSave(false) - // this.handleTapRT(); if (this.data.scrollBottom) { wx.pageScrollTo({ @@ -157,14 +161,6 @@ Page({ this.formatBorn(Birth) this.updateUserInfo() }, - handleChaneDiagnosisTime(e, update = true) { - const DiagnosisTime = e.detail.value - this.setData({ - 'DiagnosisTime': dayjs(DiagnosisTime).format('YYYY年MM月'), - 'zdUserInfo.DiagnosisTime': DiagnosisTime, - }) - this.updateUserInfo(update) - }, handleInput(e) { const { key } = e.currentTarget.dataset @@ -172,76 +168,26 @@ Page({ [`zdUserInfo.${key}`]: e.detail.value, }) }, - handleChangeRT(e, update = true) { - const value = e.detail.value - const id = this.data.RTList.filter((_item, index) => index == value)[0]?.id - this.setData({ - 'rtValue': value, - 'zdUserInfo.RelationType': id, - }) - this.updateUserInfo(update) - }, - handleChangeGender(e, update = true) { - const value = e.detail.value - const id = this.data.GenderList.filter((_item, index) => index == value)[0]?.id - this.setData({ - 'genderValue': value, - 'zdUserInfo.Gender': id, - }) - this.updateUserInfo(update) - }, - handleChangeAgeRange(e, update = true) { - const value = e.detail.value - const id = this.data.dict.AgeRange.filter((_item, index) => index == value)[0]?.id - this.setData({ - 'ageRangeValue': value, - 'zdUserInfo.AgeRange': id, - }) - this.updateUserInfo(update) - }, - handleDiagnoseTypeSave(update = true) { - const rangeIndex = this.data.selectDiagnoseTypeIndex - const id = this.data.DTList.filter((_item, index) => index == rangeIndex)[0]?.id - this.setData({ - 'diagnoseTypeValue': rangeIndex, - 'zdUserInfo.DiagnoseType': id, - }) - if (update) { - this.handleDiagnoseTypeShow() - } - - this.updateUserInfo(update) - }, - handleRadio(e) { - const { id, key } = e.currentTarget.dataset + handleRedioSelect(e) { + const { key, id } = e.currentTarget.dataset this.setData({ [`zdUserInfo.${key}`]: id, }) - this.updateUserInfo(true) - }, - handleDiagnoseTypeShow() { - this.setData({ - diagnoseTypeShow: !this.data.diagnoseTypeShow, - }) - }, - handleChangeDiagnoseType(e) { - const value = e.detail.value[0] - this.setData({ - selectDiagnoseTypeIndex: value, - }) + this.updateUserInfo() }, - handleRedioSelect(e) { + handleCheckSelect(e) { const { key, id } = e.currentTarget.dataset + const zdUserInfo = this.data.zdUserInfo + zdUserInfo[key][id] = !zdUserInfo[key][id] this.setData({ - [`zdUserInfo.${key}`]: id, + zdUserInfo, }) this.updateUserInfo() }, updateUserInfo(update = true) { if (!update) return - const { PatientName, RelationType, Gender, Birth, DiagnosisTime, DiagnoseType, ...zdUserInfo } - = this.data.zdUserInfo + const { PatientName, RelationType, Gender, Birth, DiagnoseType, ...zdUserInfo } = this.data.zdUserInfo wx.ajax({ method: 'POST', url: '?r=zd/account/update-info', @@ -250,7 +196,6 @@ Page({ relationType: RelationType, gender: Gender, birth: Birth, - diagnosisTime: DiagnosisTime, diagnoseType: DiagnoseType, ageRange: zdUserInfo.AgeRange, patientCanFollowUp: zdUserInfo.PatientCanFollowUp, @@ -261,7 +206,11 @@ Page({ medicalInsuranceType: zdUserInfo.MedicalInsuranceType, isKnowTituyo: zdUserInfo.IsKnowTituyo, isUseTituyo: zdUserInfo.IsUseTituyo, + diseaseStage: zdUserInfo.DiseaseStage, + diseasePeriod: zdUserInfo.DiseasePeriod, ...zdUserInfo, + tituyo: Object.keys(zdUserInfo.tituyo).filter(item => zdUserInfo.tituyo[item]), + prescriptionImg: zdUserInfo.PrescriptionImg, }, }) .then((_res) => { @@ -269,14 +218,14 @@ Page({ title: '修改成功', icon: 'none', }) - app.getZdUserInfo(this, true, this.formatUserInfo.bind(this)) + app.getZdUserInfo(null, true, this.formatUserInfo.bind(this)) }) .catch((err) => { wx.showToast({ title: err.data.msg, icon: 'none', }) - app.getZdUserInfo(this, true, this.formatUserInfo.bind(this)) + app.getZdUserInfo(null, true, this.formatUserInfo.bind(this)) }) }, handleNoUpload() { @@ -284,7 +233,7 @@ Page({ }, handleSetData(e) { this.setData({ - 'zdUserInfo.prescriptionImg': e.detail.imgUrl, + 'zdUserInfo.PrescriptionImg': e.detail.imgUrl, }) this.updateUserInfo() }, @@ -298,7 +247,7 @@ Page({ this.setData({ 'popupShow': false, 'popupType': '', - 'zdUserInfo.prescriptionImg': '', + 'zdUserInfo.PrescriptionImg': '', }) this.updateUserInfo() }, @@ -308,17 +257,6 @@ Page({ popupType: '', }) }, - - handleChangeTel() { - wx.navigateTo({ - url: '/patient/pages/changePhone/index', - }) - }, - handleChangeUser() { - wx.navigateTo({ - url: '/patient/pages/changeUser/index', - }) - }, handleLogout() { app.mpBehavior({ PageName: 'BTN_PatientPersonalInfoCancel' }) wx.navigateTo({ diff --git a/src/patient/pages/personalInformation/index.wxml b/src/patient/pages/personalInformation/index.wxml index bb125c7..f4e0e2b 100644 --- a/src/patient/pages/personalInformation/index.wxml +++ b/src/patient/pages/personalInformation/index.wxml @@ -87,6 +87,44 @@ + 您的甲状腺眼病分级 + + + + + {{item}} + + + + + + + 您的甲状腺眼病分期 + + + + + {{item}} + + + + + + 是否有Graves病病史 @@ -123,82 +161,61 @@ - - - - 是否了解替妥尤单抗N01 - - - - - {{item}} - + + + 如何看待新药替妥尤单抗 + + + + + {{item}} + + - 是否有使用替妥尤单抗N01 + 请上传您的处方证明 - - - - {{item}} + 完善个人信息,可获得医生更多关注 + + + + + + + + + + + 审核中... + + + + - + + *审核不通过 + 您可以上传您的诊断处方、住院小结等 - - - - 请上传您的处方证明 - - 处方证明审核通过后,即可享受平台全部服务 - - - - - - - - - - - 审核中... - - - - - - - - *审核不通过 - 您可以上传您的诊断处方、住院小结等 - - @@ -209,32 +226,6 @@ - - - 关闭 - 保存 - - - - {{item.value}} - - - - { if (options.id) { @@ -193,8 +195,8 @@ Page({ }) }, handleSelect(e) { - const { id } = this.data - if (id) + const { id, edit } = this.data + if (id && !edit) return const { list, key, index } = e.currentTarget.dataset this.setData({ @@ -228,7 +230,7 @@ Page({ }) }, handleSubmit() { - const { qolList0, qolList1 } = this.data + const { qolList0, qolList1, edit, id } = this.data const arr = [...qolList0, ...qolList1] const form = {} for (let i = 0; i < arr.length; i++) { @@ -243,10 +245,12 @@ Page({ } form[`Question${order}`] = item.answer } + wx.ajax({ method: 'POST', - url: '?r=xd/qol/create', + url: id && edit ? '?r=xd/qol/edit' : '?r=xd/qol/create', data: { + Id: id, ...form, }, }).then((res) => { diff --git a/src/patient/pages/qolAdd/index.wxml b/src/patient/pages/qolAdd/index.wxml index fc734aa..e829208 100644 --- a/src/patient/pages/qolAdd/index.wxml +++ b/src/patient/pages/qolAdd/index.wxml @@ -59,8 +59,8 @@ - 重新测评 - 提交(2/2) + 提交(2/2) + 提交(2/2) 上一页 diff --git a/src/patient/pages/qolReport/index.scss b/src/patient/pages/qolReport/index.scss index ef02992..048a715 100644 --- a/src/patient/pages/qolReport/index.scss +++ b/src/patient/pages/qolReport/index.scss @@ -255,7 +255,7 @@ page { align-items: center; justify-content: center; line-height: 88rpx; - background: linear-gradient(344deg, #ffbcf9 0%, #b982ff 100%); + background: linear-gradient(180deg, #ffbcf9 0%, #b982ff 100%); border-radius: 104rpx; font-size: 34rpx; color: #ffffff; diff --git a/src/patient/pages/qolReport/index.ts b/src/patient/pages/qolReport/index.ts index e185919..f7773a9 100644 --- a/src/patient/pages/qolReport/index.ts +++ b/src/patient/pages/qolReport/index.ts @@ -110,10 +110,17 @@ Page({ EndMonth, BeginMonth, }) - this.getChatData() - this.getHormoneData() + this.handleChange() }, handleChange() { + this.setData({ + list4Show: true, + list5Show: true, + list6Show: true, + }) + this.chartComponent4 = this.selectComponent('#chart4') + this.chartComponent5 = this.selectComponent('#chart5') + this.chartComponent6 = this.selectComponent('#chart6') this.getChatData() this.getHormoneData() }, @@ -532,9 +539,9 @@ Page({ }) }, handleDetail(e) { - const { id } = e.currentTarget.dataset + const { id, edit } = e.currentTarget.dataset wx.navigateTo({ - url: `/patient/pages/qolAdd/index?id=${id}`, + url: `/patient/pages/qolAdd/index?id=${id}&edit=${edit ? 1 : 0}`, }) }, handleQol() { diff --git a/src/patient/pages/qolReport/index.wxml b/src/patient/pages/qolReport/index.wxml index 7cb1ef0..1baec2e 100644 --- a/src/patient/pages/qolReport/index.wxml +++ b/src/patient/pages/qolReport/index.wxml @@ -106,6 +106,7 @@ wx:if="{{item.dataType == 1}}" bind:tap="handleDetail" data-id="{{item.Id}}" + data-edit="{{item.isTodayRecord}}" data-index="{{index}}" bind:longpress="handleDelete" >