diff --git a/project.private.config.json b/project.private.config.json index eabb21b..c52ab6e 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -23,13 +23,41 @@ "miniprogram": { "list": [ { - "name": "患者-录入个人信息", - "pathName": "patient/pages/enterInfo/index", + "name": "患者-qol评估报告", + "pathName": "patient/pages/qolReport/index", "query": "", "scene": null, "launchMode": "default" }, { + "name": "患者-qol结果", + "pathName": "patient/pages/qolResult/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "患者-qol添加", + "pathName": "patient/pages/qolAdd/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "患者-qol", + "pathName": "patient/pages/qol/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "患者-录入个人信息", + "pathName": "patient/pages/enterInfo/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { "name": "start", "pathName": "pages/start/index", "query": "", diff --git a/src/app.json b/src/app.json index f7528d1..96b9781 100644 --- a/src/app.json +++ b/src/app.json @@ -73,7 +73,11 @@ "pages/infusionCenter/index", "pages/nrdlTable/index", "pages/interactivePatient/index", - "pages/referral/index" + "pages/referral/index", + "pages/qol/index", + "pages/qolAdd/index", + "pages/qolResult/index", + "pages/qolReport/index" ] }, { diff --git a/src/images/bg14.png b/src/images/bg14.png new file mode 100644 index 0000000..f0454cd Binary files /dev/null and b/src/images/bg14.png differ diff --git a/src/images/bg15.png b/src/images/bg15.png new file mode 100644 index 0000000..0b933ee Binary files /dev/null and b/src/images/bg15.png differ diff --git a/src/images/bg16.png b/src/images/bg16.png new file mode 100644 index 0000000..e480af7 Binary files /dev/null and b/src/images/bg16.png differ diff --git a/src/images/bg17.png b/src/images/bg17.png new file mode 100644 index 0000000..c1792ac Binary files /dev/null and b/src/images/bg17.png differ diff --git a/src/images/icon69.png b/src/images/icon69.png new file mode 100644 index 0000000..180d4e3 Binary files /dev/null and b/src/images/icon69.png differ diff --git a/src/images/icon70.png b/src/images/icon70.png new file mode 100644 index 0000000..369d3e7 Binary files /dev/null and b/src/images/icon70.png differ diff --git a/src/images/icon71.png b/src/images/icon71.png new file mode 100644 index 0000000..75320cd Binary files /dev/null and b/src/images/icon71.png differ diff --git a/src/images/icon72.png b/src/images/icon72.png new file mode 100644 index 0000000..17b1325 Binary files /dev/null and b/src/images/icon72.png differ diff --git a/src/patient/pages/index/index.scss b/src/patient/pages/index/index.scss index 5cc5b68..61cc327 100644 --- a/src/patient/pages/index/index.scss +++ b/src/patient/pages/index/index.scss @@ -125,6 +125,23 @@ page { border-radius: 64rpx 64rpx 64rpx 64rpx; } } + .qol { + margin: $page-margin; + padding: 192rpx 36rpx 0; + height: 272rpx; + box-sizing: border-box; + .date { + width: 368rpx; + height: 48rpx; + font-size: 28rpx; + color: #B982FF; + display: flex; + align-items: center; + justify-content: center; + background: #ffffff; + border-radius: 48rpx 48rpx 48rpx 48rpx; + } + } .banner { margin: $page-margin; .swiper { diff --git a/src/patient/pages/index/index.wxml b/src/patient/pages/index/index.wxml index cbdb31b..9910604 100644 --- a/src/patient/pages/index/index.wxml +++ b/src/patient/pages/index/index.wxml @@ -39,6 +39,9 @@ {{unreadCount ? '去看看':'去咨询'}} + + 最近一次评测 xxxx-xx-xx + - - - ADL+激素双达标 - 点击进入ADL - 建议您定期做ADL测评 + + GO-QOL生活质量评分 + 可从主观感受变化反馈治疗效果,建议您每月定期测评 + 点击开始自评 + () + +Page({ + data: {}, + onLoad() {}, + handleAdd() { + wx.navigateTo({ + url: '/patient/pages/qolAdd/index', + }) + }, +}) + +export {} diff --git a/src/patient/pages/qol/index.wxml b/src/patient/pages/qol/index.wxml new file mode 100644 index 0000000..ab2f433 --- /dev/null +++ b/src/patient/pages/qol/index.wxml @@ -0,0 +1,89 @@ + + + + + + 研究表明,GO-QOL生活质量评估能敏锐反映患者的主观感受变化,是评估治疗效果的重要工具 + [1] + + 它不仅能帮你看清自己“主观世界”的变化还能成为你和医生沟通的重要桥梁。 + + + 适用场景 + + + + + + + + + 初诊时 + 了解疾病对你生活造成了多大影响,作为基线记录。 + [3] + + + + + + + + + + 治疗过程中 + 分数上升说明你的主观感受得到改善,让你不再怀疑“是不是治疗白做了?" + [4] + + + + + + + + + + 病情稳定期 + 判断是否还需要心理支持或功能康复训练。 + [2-3] + + + + + + 共 + 26 + 题,可能会占用您3分钟 + + + + 参考文献: + + + [1]Kahaly, George J et al.“Teprotumumab lmproves Quality of Life in Thyroid Eye Disease: Meta-analysis and + Matching adjusted Indirect Comparison." Journal of the EndocrineSociety vol.9,6 bvaf063.8 Apr.2025 + + + [2] Lee, T.H.B., & Sundar, G.(2020). Quality of Life in ThyroidEye Disease: A Systematic Review.Ophthalmic + plastic andreconstructive surgery,36(2),118-126. + + + [3] Dietrich A, Taylor P, White P, et al. Establishing theusefulness of the GO-QOL in a UK hospital-treated + populationwith thyroid eye disease in the ClRTED trial. Psychol HealthMed.2018;23(sup1):1341-1355. + + + [4] Smith TJ, Cockerham K, Barretto N, et al. Bridging andValidation of the Specific Graves Ophthalmopathy + Quality ofLife Questionnaire With Health State Utility Values. EndocrPract.2024;30(5):470-475. + + + + + + 开始评测 + + diff --git a/src/patient/pages/qolAdd/index.json b/src/patient/pages/qolAdd/index.json new file mode 100644 index 0000000..1cb6d89 --- /dev/null +++ b/src/patient/pages/qolAdd/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "navbar": "/components/navbar/index" + } +} diff --git a/src/patient/pages/qolAdd/index.scss b/src/patient/pages/qolAdd/index.scss new file mode 100644 index 0000000..ac5e8b9 --- /dev/null +++ b/src/patient/pages/qolAdd/index.scss @@ -0,0 +1,109 @@ +page { + background-color: #f6f8f9; +} + +.page { + .page-header { + padding: 40rpx; + position: sticky; + top: 0; + left: 0; + .progress { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10rpx; + .p-item { + flex: 1; + .name { + font-size: 36rpx; + color: #adacb2; + line-height: 44rpx; + } + .line { + margin-top: 16rpx; + height: 16rpx; + background: #ffffff; + border-radius: 0rpx 0rpx 0rpx 0rpx; + } + &.active { + .name { + color: #b982ff; + } + .line { + background: #b982ff; + } + } + } + } + .title { + margin-top: 44rpx; + font-size: 36rpx; + color: #211d2e; + font-weight: bold; + } + .content { + margin-top: 24rpx; + font-size: 32rpx; + color: #211d2e; + line-height: 48rpx; + } + } + .module { + padding: 0 40rpx 200rpx; + .row { + margin-bottom: 52rpx; + .title { + font-size: 36rpx; + color: #211d2e; + font-weight: bold; + } + .select { + margin-top: 24rpx; + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 24rpx; + .s-item1, + .s-item2, + .s-item3 { + padding: 18rpx; + font-size: 32rpx; + color: #69686e; + line-height: 48rpx; + text-align: center; + background-color: #f6f8f9; + border-radius: 16rpx; + } + .s-item1.active { + background-color: #dafdee; + color: #1ec580; + } + .s-item2.active { + background-color: #fff4e0; + color: #ffa300; + } + .s-item3.active { + background-color: #ffe7e7; + color: #ef3939; + } + } + } + .btn { + display: flex; + align-items: center; + justify-content: center; + height: 88rpx; + font-size: 32rpx; + color: #ffffff; + background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%); + border-radius: 100rpx 100rpx 100rpx 100rpx; + } + .prev { + margin-top: 20rpx; + padding: 20rpx; + text-align: center; + font-size: 32rpx; + color: #69686e; + } + } +} diff --git a/src/patient/pages/qolAdd/index.ts b/src/patient/pages/qolAdd/index.ts new file mode 100644 index 0000000..2b65ada --- /dev/null +++ b/src/patient/pages/qolAdd/index.ts @@ -0,0 +1,28 @@ +const _app = getApp() + +Page({ + data: { + step: 0, + }, + onLoad() {}, + handleNext() { + this.setData({ + step: 1, + }) + wx.pageScrollTo({ + scrollTop: 0, + }) + }, + handleSubmit() { + wx.navigateTo({ + url: '/patient/pages/qolResult/index', + }) + }, + handlePrev() { + this.setData({ + step: 0, + }) + }, +}) + +export {} diff --git a/src/patient/pages/qolAdd/index.wxml b/src/patient/pages/qolAdd/index.wxml new file mode 100644 index 0000000..9ac9f06 --- /dev/null +++ b/src/patient/pages/qolAdd/index.wxml @@ -0,0 +1,45 @@ + + + + + + 视觉功能 + + + + 外观 + + + + 请根据过去1周的情况填写 + 过去一周内,甲状腺相关眼病是否影响您做以下的事情?根据您的实际情况选择。 + + + + 1.骑自行车或电动车 + + 没学过 + 没学过 + 没学过 + 没学过 + + + 下一页(1/2) + + + + 1.骑自行车或电动车 + + 没学过 + 没学过 + 没学过 + 没学过 + + + 提交(2/2) + 上一步 + + diff --git a/src/patient/pages/qolReport/index.json b/src/patient/pages/qolReport/index.json new file mode 100644 index 0000000..902ac8b --- /dev/null +++ b/src/patient/pages/qolReport/index.json @@ -0,0 +1,10 @@ +{ + "navigationStyle": "default", + "navigationBarTitleText": "评估报告", + "usingComponents": { + "navbar": "/components/navbar/index", + "van-tab": "@vant/weapp/tab/index", + "van-tabs": "@vant/weapp/tabs/index", + "ec-canvas": "/components/ec-canvas/ec-canvas" + } +} diff --git a/src/patient/pages/qolReport/index.scss b/src/patient/pages/qolReport/index.scss new file mode 100644 index 0000000..6d64995 --- /dev/null +++ b/src/patient/pages/qolReport/index.scss @@ -0,0 +1,171 @@ +page { + background-color: #f6f8f9; +} + +.page { + .page-header { + background-color: #fff; + .form { + display: flex; + justify-content: flex-end; + .date { + padding: 18rpx; + display: flex; + align-items: center; + gap: 10rpx; + font-size: 32rpx; + color: #69686e; + .icon { + transform: rotate(90deg); + font-size: 20rpx; + color: #adacb2; + } + } + } + } + .chart-list { + padding: 32rpx 40rpx 0; + .chart-card { + margin-bottom: 24rpx; + padding: 32rpx; + background-color: #fff; + border-radius: 24rpx; + .title { + font-size: 32rpx; + color: #211d2e; + font-weight: bold; + } + .chart { + height: 420rpx; + } + } + } + .list { + margin: 28rpx 40rpx 0; + padding-bottom: 32rpx; + .list-title { + font-size: 36rpx; + color: #211d2e; + font-weight: bold; + } + .list-container { + .row { + display: flex; + gap: 16rpx; + .aside { + flex-shrink: 0; + display: flex; + flex-direction: column; + align-items: center; + .line-top { + height: 58rpx; + border-right: 1px dashed rgba(185, 130, 255, 0.29); + } + .side { + position: relative; + width: 32rpx; + height: 32rpx; + border-radius: 50%; + background-color: rgba(185, 130, 255, 0.3); + &::after { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: block; + content: ''; + width: 18rpx; + height: 18rpx; + background-color: #b982ff; + border-radius: 50%; + } + } + .line { + flex: 1; + border-right: 1px dashed rgba(185, 130, 255, 0.29); + } + } + .r-container { + padding-top: 48rpx; + flex: 1; + .date { + font-size: 32rpx; + color: #211d2e; + font-weight: bold; + } + .r-card { + margin-top: 16rpx; + padding: 24rpx 32rpx; + border-radius: 24rpx; + background-color: #fff; + .wrap { + padding-bottom: 32rpx; + display: flex; + align-items: center; + gap: 22rpx; + border-bottom: 1px dashed rgba(33, 29, 46, 0.05); + .num { + font-size: 104rpx; + color: #1ec580; + font-weight: bold; + line-height: 1; + } + .inner { + .label { + padding: 4rpx 16rpx; + border-radius: 50rpx 50rpx 50rpx 0; + display: inline-block; + font-size: 28rpx; + color: #ffffff; + line-height: 36rpx; + background: linear-gradient(330deg, #1ec580 0%, #4feaaa 100%); + } + .name { + margin-top: 12rpx; + font-size: 28rpx; + color: #adacb2; + } + } + } + .stat { + padding-top: 24rpx; + display: flex; + align-items: center; + justify-content: space-between; + .s-item { + font-size: 32rpx; + color: #adacb2; + display: flex; + align-items: center; + gap: 24rpx; + .score { + color: #211d2e; + } + } + } + } + } + } + } + } + .page-footer { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + box-sizing: border-box; + padding: 20rpx 40rpx calc(20rpx + env(safe-area-inset-bottom)); + background-color: #fff; + box-shadow: 0 8rpx 32rpx rgba(25, 0, 57, 0.07); + .btn { + height: 88rpx; + font-size: 32rpx; + color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(197deg, #ffbcf9 0%, #b982ff 100%); + border-radius: 100rpx 100rpx 100rpx 100rpx; + } + } +} diff --git a/src/patient/pages/qolReport/index.ts b/src/patient/pages/qolReport/index.ts new file mode 100644 index 0000000..ded28e7 --- /dev/null +++ b/src/patient/pages/qolReport/index.ts @@ -0,0 +1,227 @@ +import dayjs from 'dayjs' +const _app = getApp() +let echarts: any = null + +Page({ + data: { + type: '1', + BeginMonth: '', + EndMonth: '', + }, + chartComponent1: null as any, + chartComponent2: null as any, + chartComponent3: null as any, + async onLoad() { + this.handleChangeType() + echarts = await require.async('../../../gift/compontnts/echart/echarts.js') + this.chartComponent1 = this.selectComponent('#chart1') + this.chartComponent2 = this.selectComponent('#chart2') + this.chartComponent3 = this.selectComponent('#chart3') + this.initChart() + }, + + handleChangeType(e?: WechatMiniprogram.CustomEvent) { + let type = '' + let callback = true + if (e) { + type = e.currentTarget.dataset.type + } else { + type = this.data.type + callback = false + } + let EndMonth = '' + let BeginMonth = '' + if (type == '1') { + EndMonth = dayjs().format('YYYY-MM-DD') + BeginMonth = dayjs().subtract(6, 'd').format('YYYY-MM-DD') + } else if (type == '2') { + EndMonth = dayjs().format('YYYY-MM') + BeginMonth = dayjs().subtract(1, 'M').format('YYYY-MM') + } else if (type == '3') { + EndMonth = dayjs().format('YYYY') + BeginMonth = dayjs().subtract(1, 'y').format('YYYY') + } else if (type == '4' && e) { + } + this.setData({ + page: 0, + Type: type, + Num: '5', + EndMonth, + BeginMonth, + }) + if (callback) { + this.handleTabCallBack() + } + }, + initChart(defaultList = []) { + const list: any = [ + { + Date: '2025-09-04', + TotalScore: '5', + }, + { + Date: '2025-09-05', + TotalScore: '5', + }, + { + Date: '2025-09-06', + TotalScore: '5', + }, + ] + return new Promise((reslove) => { + this.chartComponent1.init((canvas, width, height, dpr) => { + const chart = echarts.init(canvas, null, { + width, + height, + devicePixelRatio: dpr, // new + }) + canvas.setChart(chart) + + const option: any = { + tooltip: { + show: false, + trigger: 'axis', + axisPointer: { + type: 'shadow', + }, + confine: true, + backgroundColor: 'rgba(0, 0, 0, 0.5)', + textStyle: { + color: '#fff', + fontSize: 10, + }, + order: 'seriesDesc', + }, + grid: { + top: '30', + left: '0', + right: '0', + bottom: '10', + containLabel: true, + }, + xAxis: [ + { + type: 'category', + axisTick: { + show: false, + inside: true, + length: 1, + alignWithLabel: true, + lineStyle: { + type: 'dotted', + color: '#D8D8D8', + width: 4, + cap: 'round', + }, + }, + axisLine: { + lineStyle: { + color: '#8C8C8C', + type: 'dashed', + }, + }, + splitLine: { + show: true, + showMinLine: false, + lineStyle: { + type: 'dotted', + color: 'rgba(137, 141, 151, 0.23)', + }, + }, + data: list.map((item) => dayjs(item.Date).format('MM-DD')), + }, + ], + yAxis: [ + { + type: 'value', + minInterval: 20, + max: 100, + axisLine: { + show: false, + lineStyle: { + type: 'solid', + color: 'rgba(161, 164, 172, 1)', + }, + }, + splitLine: { + show: true, + showMinLine: false, + lineStyle: { + type: 'dotted', + color: 'rgba(137, 141, 151, 0.23)', + }, + }, + }, + ], + series: [ + { + name: '总分', + data: list.length ? list.map((item) => item.TotalScore) : [25], + barWidth: '16', + label: { + show: true, + position: 'top', + color: '#B982FF', + }, + type: 'line', + symbolSize: 4, + showSymbol: list.length >= 1, + connectNulls: true, + z: 10, + itemStyle: { + color: '#B982FF', + }, + markLine: { + symbol: ['none', 'none'], + data: [ + { + name: '达标区', + yAxis: 80, + label: { + formatter: '{b}', + position: 'insideMiddle', + color: '#24D8C8', + fontSize: '10', + }, + lineStyle: { + cap: '', + color: '#34D7C7', + type: 'dashed', + }, + }, + ], + }, + markArea: { + itemStyle: { + color: 'rgba(37,217,200,0.19)', + }, + data: [ + [ + { + yAxis: 80, + }, + { + yAxis: 100, + }, + ], + ], + }, + }, + ], + dataZoom: { + type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。 + startValue: 0, + endValue: 4, + filterMode: 'none', + }, + } + + chart.setOption(option) + reslove(chart) + return chart + }) + }) + }, +}) + +export {} diff --git a/src/patient/pages/qolReport/index.wxml b/src/patient/pages/qolReport/index.wxml new file mode 100644 index 0000000..66adae5 --- /dev/null +++ b/src/patient/pages/qolReport/index.wxml @@ -0,0 +1,104 @@ + + + + + + + + + + + + {{BeginMonth}} + + - + + {{EndMonth}} + + + + + + + + + GO-QOL整体记录曲线 + + + + + + GO-QOL视觉功能影响记录曲线 + + + + + + GO-QOL外观影响记录曲线 + + + + + + + + 我的历史测评报告 + + + + + + + + + 评估日期:2025-09-02 + + + 100 + + 轻度影响 + TED生活质量评分 + + + + + 视觉功能 + 30分 + + + 视觉功能 + 30分 + + + + + + + + + + 评测 + + diff --git a/src/patient/pages/qolResult/index.json b/src/patient/pages/qolResult/index.json new file mode 100644 index 0000000..1cb6d89 --- /dev/null +++ b/src/patient/pages/qolResult/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "navbar": "/components/navbar/index" + } +} diff --git a/src/patient/pages/qolResult/index.scss b/src/patient/pages/qolResult/index.scss new file mode 100644 index 0000000..f48fb73 --- /dev/null +++ b/src/patient/pages/qolResult/index.scss @@ -0,0 +1,211 @@ +page { + background-color: #f6f8f9; +} + +.page { + padding: 40rpx 40rpx 120rpx; + .container { + padding: 32rpx; + border: 2rpx solid #ffffff; + background: #fff linear-gradient(180deg, #efe3ff 0%, #ffffff 100%) no-repeat top center/100% 228rpx; + border-radius: 24rpx; + box-shadow: 0 8rpx 32rpx rgba(25, 0, 57, 0.07); + .info { + display: flex; + align-items: center; + justify-content: space-between; + .wrap { + .w-header { + display: flex; + align-items: flex-end; + line-height: 1; + .num { + font-size: 128rpx; + color: var(--color); + font-weight: bold; + } + .label { + padding: 4rpx 16rpx; + margin-bottom: 14rpx; + font-size: 28rpx; + color: #ffffff; + line-height: 36rpx; + border-radius: 50rpx 50rpx 50rpx 0rpx; + background: var(--label-background); + } + } + .tip { + font-size: 28rpx; + color: #adacb2; + } + } + .status { + width: 152rpx; + height: 152rpx; + flex-shrink: 0; + } + } + .c-line { + position: relative; + margin: 32rpx -32rpx; + border-bottom: 1px dashed #f6f8f9; + &::before { + position: absolute; + top: -13rpx; + left: -13rpx; + content: ''; + background-color: #f6f8f9; + width: 28rpx; + height: 28rpx; + border-radius: 50%; + } + &::after { + position: absolute; + top: -13rpx; + right: -13rpx; + content: ''; + background-color: #f6f8f9; + width: 28rpx; + height: 28rpx; + border-radius: 50%; + } + } + .card { + margin-bottom: 24rpx; + padding: 36rpx 30rpx 80rpx; + background: #faf7ff; + border-radius: 20rpx 20rpx 20rpx 20rpx; + border: 2rpx solid #efe2fe; + .c-header { + display: flex; + align-items: center; + gap: 12rpx; + font-size: 24rpx; + color: rgba(33, 29, 46, 0.28); + .skew { + width: 10rpx; + height: 22rpx; + background: #b982ff; + transform: skew(-15deg); + } + } + .c-content { + margin-top: 16rpx; + font-size: 32rpx; + color: #211d2e; + font-weight: bold; + display: flex; + align-items: center; + gap: 10rpx; + .label { + padding: 0 12rpx; + font-size: 20rpx; + color: #ffffff; + line-height: 32rpx; + border-radius: 50rpx 50rpx 50rpx 0rpx; + background: var(--label-background); + } + } + .progress { + position: relative; + margin-top: 38rpx; + display: flex; + align-items: center; + gap: 4rpx; + .p-item { + flex: 1; + .title { + display: flex; + align-items: center; + justify-content: space-between; + font-size: 24rpx; + color: #adacb2; + } + .line1 { + margin-top: 8rpx; + height: 16rpx; + background: rgba(185, 130, 255, 0.2); + } + .line2 { + margin-top: 8rpx; + height: 16rpx; + background: rgba(185, 130, 255, 0.6); + } + .line3 { + margin-top: 8rpx; + height: 16rpx; + background: #b982ff; + } + } + .slide { + position: absolute; + top: 30rpx; + .circle { + width: 28rpx; + height: 28rpx; + background: #b982ff; + border-radius: 50%; + border: 2rpx solid #ffffff; + } + .num { + position: absolute; + bottom: -12rpx; + left: 50%; + transform: translate(-50%, 100%); + width: 52rpx; + height: 32rpx; + font-size: 32rpx; + color: #b982ff; + text-align: center; + line-height: 32rpx; + background: #eae0fa; + border-radius: 8rpx 8rpx 8rpx 8rpx; + } + } + } + } + .effect { + margin-top: 24rpx; + font-size: 28rpx; + color: #adacb2; + text-align: center; + } + } + .page-effect-wrap { + margin: 64rpx 0 0; + display: flex; + align-items: center; + justify-content: center; + .page-effect { + font-size: 32rpx; + color: var(--color); + line-height: 1; + padding: 8rpx 42rpx; + background: var(--background); + border-radius: 96rpx 96rpx 96rpx 96rpx; + border: 2rpx solid #ffffff; + } + } + .report { + margin-top: 152rpx; + font-size: 32rpx; + color: #b982ff; + text-align: center; + } +} + +.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%); +} diff --git a/src/patient/pages/qolResult/index.ts b/src/patient/pages/qolResult/index.ts new file mode 100644 index 0000000..2b3ad32 --- /dev/null +++ b/src/patient/pages/qolResult/index.ts @@ -0,0 +1,13 @@ +const _app = getApp() + +Page({ + data: {}, + onLoad() {}, + handleReport() { + wx.navigateTo({ + url: '/patient/pages/qolReport/index', + }) + }, +}) + +export {} diff --git a/src/patient/pages/qolResult/index.wxml b/src/patient/pages/qolResult/index.wxml new file mode 100644 index 0000000..b084ae4 --- /dev/null +++ b/src/patient/pages/qolResult/index.wxml @@ -0,0 +1,104 @@ + + + + + + + 1 + 重度影响 + + 本次TED生活质量评分 + + + + + + + + + + 视觉功能 + + + 当前分数:1 + 重度影响 + + + + + 0 + 39 + + + + + + + 79 + + + + + + + 100 + + + + + + 2 + + + + + + + 外观 + + + 当前分数:1 + 重度影响 + + + + + 0 + 39 + + + + + + + 79 + + + + + + + 100 + + + + + + 2 + + + + 分数越低, 对生活质量影响越严重 + + + 建议前往眼科中心 及时就诊 + + + + 查看我的评估报告 + + +