diff --git a/project.private.config.json b/project.private.config.json
index 9b8c7d4..53d791d 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,27 +23,90 @@
"miniprogram": {
"list": [
{
- "name": "个人信息及隐私政策",
- "pathName": "doc/pages/doc1/index",
+ "name": "患者-亲友列表",
+ "pathName": "patient/pages/familyList/index",
"query": "",
"scene": null,
"launchMode": "default"
},
{
- "name": "患者-凝血因子统计",
- "pathName": "patient/pages/coltStat/index",
+ "name": "患者-亲友",
+ "pathName": "patient/pages/family/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-注销",
+ "pathName": "patient/pages/loginOut/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-修改手机号",
+ "pathName": "patient/pages/changeTel/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
- "name": "随访档案",
+ "name": "患者-个人信息",
+ "pathName": "patient/pages/userInfo/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-我的",
+ "pathName": "patient/pages/my/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-随访档案",
"pathName": "patient/pages/file/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
+ "name": "患者-最新复诊检查记录",
+ "pathName": "patient/pages/lastDiagnosisReport/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-查看我的随访计划",
+ "pathName": "patient/pages/followPlan/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-我的诊前检查报告",
+ "pathName": "patient/pages/preDiagnosisReport/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "个人信息及隐私政策",
+ "pathName": "doc/pages/doc1/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "患者-凝血因子统计",
+ "pathName": "patient/pages/coltStat/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "患者-免疫抑制剂添加",
"pathName": "patient/pages/inhibitorsManage/index",
"query": "",
diff --git a/src/app.json b/src/app.json
index c27135a..0e8ab27 100644
--- a/src/app.json
+++ b/src/app.json
@@ -32,7 +32,16 @@
"pages/inhibitorsManageList/index",
"pages/inhibitorsManage/index",
"pages/file/index",
- "pages/coltStat/index"
+ "pages/coltStat/index",
+ "pages/preDiagnosisReport/index",
+ "pages/followPlan/index",
+ "pages/lastDiagnosisReport/index",
+ "pages/my/index",
+ "pages/userInfo/index",
+ "pages/changeTel/index",
+ "pages/loginOut/index",
+ "pages/family/index",
+ "pages/familyList/index"
]
},
{
diff --git a/src/components/popup/index.scss b/src/components/popup/index.scss
index f17f5a9..c4acccf 100644
--- a/src/components/popup/index.scss
+++ b/src/components/popup/index.scss
@@ -601,6 +601,238 @@
}
}
+.popup12 {
+ .icon {
+ position: relative;
+ z-index: 1;
+ margin: 0 auto;
+ display: block;
+ width: 144rpx;
+ height: 144rpx;
+ }
+ .container {
+ margin-top: -94rpx;
+ padding: 108rpx 32rpx 32rpx;
+ width: 604rpx;
+ background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ box-sizing: border-box;
+ .title {
+ display: block;
+ margin: 0 auto;
+ width: 308rpx;
+ height: 34rpx;
+ }
+ .content {
+ margin-top: 16rpx;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ color: rgba(161, 164, 172, 1);
+ text-align: center;
+ }
+ .tip {
+ margin-top: 24rpx;
+ padding: 10rpx 22rpx;
+ font-size: 28rpx;
+ color: rgba(246, 74, 58, 1);
+ text-align: center;
+ border-radius: 24rpx;
+ background-color: rgba(255, 231, 228, 1);
+ }
+ .footer {
+ margin-top: 32rpx;
+ display: flex;
+ gap: 26rpx;
+ .cancel {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ .submit {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: #fff;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ }
+ }
+}
+
+.popup13 {
+ .icon {
+ position: relative;
+ z-index: 1;
+ margin: 0 auto;
+ display: block;
+ width: 144rpx;
+ height: 144rpx;
+ }
+ .container {
+ margin-top: -94rpx;
+ padding: 106rpx 32rpx 32rpx;
+ width: 604rpx;
+ background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ box-sizing: border-box;
+ .title {
+ display: block;
+ margin: 0 auto;
+ width: 495rpx;
+ height: 78rpx;
+ }
+ .card {
+ position: relative;
+ margin-top: 32rpx;
+ padding: 32rpx;
+ background: #ffffff;
+ display: flex;
+ gap: 16rpx;
+ justify-content: space-between;
+ box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.05);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ &::after {
+ position: absolute;
+ bottom: -24rpx;
+ left: 32rpx;
+ content: '';
+ width: 476rpx;
+ height: 24rpx;
+ background: #ffebea;
+ border-radius: 0 0 24rpx 24rpx;
+ }
+ .avatar {
+ flex-shrink: 0;
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ }
+ .wrap {
+ flex: 1;
+ .name {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .hostipal {
+ margin-top: 16rpx;
+ line-height: 28rpx;
+ .content {
+ margin-right: 8rpx;
+ display: inline-block;
+ font-size: 28rpx;
+ color: rgba(161, 164, 172, 1);
+ }
+ .tag {
+ display: inline-block;
+ font-size: 20rpx;
+ color: rgba(255, 255, 255, 1);
+ padding: 0 8rpx;
+ background-color: rgba(255, 186, 1, 1);
+ border-radius: 6rpx;
+ }
+ }
+ }
+ }
+ .footer {
+ margin-top: 52rpx;
+ display: flex;
+ gap: 26rpx;
+ .cancel {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ .submit {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: #fff;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ }
+ }
+}
+
+.popup14 {
+ .container {
+ padding: 48rpx 32rpx 32rpx;
+ width: 604rpx;
+ background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ box-sizing: border-box;
+ .title {
+ display: block;
+ margin: 0 auto;
+ width: 365rpx;
+ height: 34rpx;
+ }
+ .picker-content {
+ margin-top: 24rpx;
+ padding: 28rpx;
+ background-color: rgba(255, 255, 255, 1);
+ border-radius: 24rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ text-align: center;
+ &:empty::after {
+ color: rgba(161, 164, 172, 0.5);
+ content: attr(data-place);
+ }
+ }
+ .footer {
+ margin-top: 32rpx;
+ display: flex;
+ gap: 26rpx;
+ .cancel {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ .submit {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: #fff;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ }
+ }
+}
+
.close {
margin: 32rpx auto 0;
display: block;
diff --git a/src/components/popup/index.wxml b/src/components/popup/index.wxml
index d94b773..4a91ed2 100644
--- a/src/components/popup/index.wxml
+++ b/src/components/popup/index.wxml
@@ -205,6 +205,57 @@
+
+
+
-
+
您的靶关节
-
+ 因反复自发性出血或创伤后出血而导致慢性损伤的关节
+
+
+
+
+ 左侧手肘
+ 右侧手肘
+
+ 已选择关节
- 您近6个月的出血情况
+
+ 您近6个月的出血情况
+
+ 200
+ /200
+
+
diff --git a/src/patient/pages/changeTel/index.json b/src/patient/pages/changeTel/index.json
new file mode 100644
index 0000000..4d65365
--- /dev/null
+++ b/src/patient/pages/changeTel/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "修改手机号",
+ "usingComponents": {}
+}
diff --git a/src/patient/pages/changeTel/index.scss b/src/patient/pages/changeTel/index.scss
new file mode 100644
index 0000000..3864527
--- /dev/null
+++ b/src/patient/pages/changeTel/index.scss
@@ -0,0 +1,50 @@
+page {
+ background-color: rgba(247, 247, 250, 1);
+}
+
+.page {
+ padding: 48rpx 40rpx;
+ .form {
+ padding: 0 32rpx;
+ background-color: #fff;
+ border-radius: 24rpx;
+ .row {
+ display: flex;
+ align-items: center;
+ .label {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ width: 5em;
+ }
+ .container {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .input {
+ padding: 32rpx 0;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ }
+ .place-input {
+ color: rgba(161, 164, 172, 0.4);
+ }
+ .btn {
+ flex-shrink: 0;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ }
+ }
+ }
+ }
+ .login-out {
+ margin-top: 48rpx;
+ padding: 20rpx;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ color: #fff;
+ text-align: center;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 96rpx;
+ }
+}
diff --git a/src/patient/pages/changeTel/index.ts b/src/patient/pages/changeTel/index.ts
new file mode 100644
index 0000000..6041fe9
--- /dev/null
+++ b/src/patient/pages/changeTel/index.ts
@@ -0,0 +1,85 @@
+const app = getApp()
+let timer = null as null | number
+
+Page({
+ data: {
+ mobile: '',
+ code: '',
+
+ codeText: '发送验证码',
+ },
+ onLoad() {},
+ getCode() {
+ if (timer) return
+ const mobile = this.data.mobile
+ if (!mobile) {
+ wx.showToast({
+ title: '手机号不能为空',
+ icon: 'none',
+ })
+ return
+ }
+ // 验证手机号
+ if (!/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/.test(mobile)) {
+ wx.showToast({
+ title: '手机号格式不正确',
+ icon: 'none',
+ })
+ return
+ }
+ wx.ajax({
+ method: 'POST',
+ url: '?r=zd/login/send-verify-code',
+ data: {
+ mobile,
+ },
+ }).then((res) => {
+ console.log(res)
+ wx.showToast({
+ icon: 'none',
+ title: '验证码已发送~',
+ })
+ let time = 60
+ timer = setInterval(() => {
+ time--
+ this.setData({
+ codeText: time + 's后重新发送',
+ })
+ if (time <= 0) {
+ clearInterval(timer as number)
+ timer = null
+ this.setData({
+ codeText: '发送验证码',
+ })
+ }
+ }, 1000)
+ })
+ },
+ handleSubmit() {
+ wx.showModal({
+ title: '确定修改此手机号?',
+ confirmColor: 'rgba(246, 74, 58, 1)',
+ success: (res) => {
+ if (!res.confirm) return
+ const { mobile, code } = this.data
+ const { registrationSource, registChannel, regBusinessId } = app.globalData
+ wx.ajax({
+ method: 'POST',
+ url: '?r=zd/account/update-telephone',
+ data: {
+ mobile,
+ code,
+ registrationSource,
+ registChannel,
+ regBusinessId,
+ },
+ }).then((_res) => {
+ wx.navigateBack()
+ })
+ },
+ })
+ },
+ handleBack() {
+ wx.navigateBack()
+ },
+})
diff --git a/src/patient/pages/changeTel/index.wxml b/src/patient/pages/changeTel/index.wxml
new file mode 100644
index 0000000..7f6067e
--- /dev/null
+++ b/src/patient/pages/changeTel/index.wxml
@@ -0,0 +1,30 @@
+
+
+
+ 新手机号
+
+
+
+
+
+ 验证码
+
+
+ {{codeText}}
+
+
+
+ 提交
+
diff --git a/src/patient/pages/course/index.ts b/src/patient/pages/course/index.ts
index 5b55dcd..6e6f767 100644
--- a/src/patient/pages/course/index.ts
+++ b/src/patient/pages/course/index.ts
@@ -11,7 +11,7 @@ Page({
// position: 'bottom',
},
- current: 2,
+ current: 3,
},
onLoad() {},
handleSelectHostipal() {
@@ -31,6 +31,11 @@ Page({
popupParams: {},
})
},
+ handlePreDiagnosisReport() {
+ wx.navigateTo({
+ url: '/patient/pages/preDiagnosisReport/index',
+ })
+ },
handleAavReport() {
wx.navigateTo({
url: '/patient/pages/aavReport/index',
@@ -56,6 +61,16 @@ Page({
url: '/patient/pages/inhibitorsManageList/index',
})
},
+ handleFollowPlan() {
+ wx.navigateTo({
+ url: '/patient/pages/followPlan/index',
+ })
+ },
+ handleLastDiagnosisReport() {
+ wx.navigateTo({
+ url: '/patient/pages/lastDiagnosisReport/index',
+ })
+ },
handleBack() {
wx.navigateBack()
},
diff --git a/src/patient/pages/course/index.wxml b/src/patient/pages/course/index.wxml
index 191f990..9d4d0d4 100644
--- a/src/patient/pages/course/index.wxml
+++ b/src/patient/pages/course/index.wxml
@@ -64,7 +64,7 @@
-
+
@@ -168,7 +168,7 @@
-
+
@@ -288,9 +288,7 @@
@@ -321,6 +319,87 @@
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.查看我的随访计划
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.最新复诊检查记录
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看我的健康变化
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/patient/pages/family/index.json b/src/patient/pages/family/index.json
new file mode 100644
index 0000000..ad4d4ef
--- /dev/null
+++ b/src/patient/pages/family/index.json
@@ -0,0 +1,6 @@
+{
+ "navigationStyle": "custom",
+ "usingComponents": {
+ "navbar": "/components/navbar/index"
+ }
+}
diff --git a/src/patient/pages/family/index.scss b/src/patient/pages/family/index.scss
new file mode 100644
index 0000000..747b374
--- /dev/null
+++ b/src/patient/pages/family/index.scss
@@ -0,0 +1,71 @@
+page {
+ background-color: rgba(247, 247, 250, 1);
+}
+
+.page {
+ padding: 0 40rpx 40rpx;
+ .container {
+ margin-top: 184rpx;
+ position: relative;
+ background: linear-gradient(292deg, #ffffff 0%, #fff3f2 100%);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ padding: 136rpx 40rpx 48rpx;
+ .avatar {
+ position: absolute;
+ top: -92rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 184rpx;
+ height: 184rpx;
+ border-radius: 50%;
+ }
+ .name {
+ font-size: 40rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ text-align: center;
+ }
+ .title {
+ margin: 46rpx auto 0;
+ display: block;
+ width: 346rpx;
+ height: 34rpx;
+ }
+ .content {
+ margin-top: 32rpx;
+ font-size: 32rpx;
+ color: rgba(161, 164, 172, 1);
+ text-align: center;
+ }
+ .code {
+ margin: 38rpx auto 0;
+ display: block;
+ width: 296rpx;
+ height: 296rpx;
+ }
+ .tip {
+ margin-top: 22rpx;
+ font-size: 32rpx;
+ color: rgba(161, 164, 172, 1);
+ text-align: center;
+ }
+ }
+ .btn {
+ margin-top: 48rpx;
+ padding: 20rpx;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ color: #fff;
+ text-align: center;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 96rpx;
+ }
+ .bind-num{
+ margin-top: 20rpx;
+ padding: 12rpx;
+ font-size: 32rpx;
+ color: rgba(161, 164, 172, 1);
+ text-align: center;
+ }
+}
diff --git a/src/patient/pages/family/index.ts b/src/patient/pages/family/index.ts
new file mode 100644
index 0000000..0883f3c
--- /dev/null
+++ b/src/patient/pages/family/index.ts
@@ -0,0 +1,16 @@
+const _app = getApp()
+
+Page({
+ data: {},
+ onLoad() {},
+ handleFamilyList() {
+ wx.navigateTo({
+ url: '/patient/pages/familyList/index',
+ })
+ },
+ hadnleBakc() {
+ wx.navigateBack()
+ },
+})
+
+export {}
diff --git a/src/patient/pages/family/index.wxml b/src/patient/pages/family/index.wxml
new file mode 100644
index 0000000..93ec703
--- /dev/null
+++ b/src/patient/pages/family/index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ 王猛
+
+
+ 亲友将同步展示和管理
+
+ 患者的健康档案
+
+
+ 请使用微信扫一扫绑定
+
+ 查看我的家庭成员
+ 还能绑定2个人
+
diff --git a/src/patient/pages/familyList/index.json b/src/patient/pages/familyList/index.json
new file mode 100644
index 0000000..4da3a0e
--- /dev/null
+++ b/src/patient/pages/familyList/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "我的亲友",
+ "usingComponents": {}
+}
diff --git a/src/patient/pages/familyList/index.scss b/src/patient/pages/familyList/index.scss
new file mode 100644
index 0000000..6b19adf
--- /dev/null
+++ b/src/patient/pages/familyList/index.scss
@@ -0,0 +1,45 @@
+page {
+ background-color: rgba(247, 247, 250, 1);
+}
+.page {
+ padding: 48rpx 40rpx;
+ .card {
+ padding: 32rpx;
+ background-color: #fff;
+ border-radius: 24rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .wrap {
+ .w-header {
+ .name {
+ display: inline;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .tag {
+ margin-left: 20rpx;
+ display: inline-block;
+ padding: 2rpx 8rpx;
+ font-size: 24rpx;
+ color: rgba(255, 255, 255, 1);
+ line-height: 32rpx;
+ background-color: rgba(246, 74, 58, 1);
+ border-radius: 4rpx;
+ }
+ }
+ .date{
+ margin-top: 20rpx;
+ font-size: 28rpx;
+ color: rgba(161, 164, 172, 1);
+ }
+ }
+ .unbind{
+ flex-shrink: 0;
+ padding: 32rpx 0 32rpx 32rpx;
+ font-size: 28rpx;
+ color: rgba(246, 74, 58, 1);
+ }
+ }
+}
diff --git a/src/patient/pages/familyList/index.ts b/src/patient/pages/familyList/index.ts
new file mode 100644
index 0000000..067b6bb
--- /dev/null
+++ b/src/patient/pages/familyList/index.ts
@@ -0,0 +1,8 @@
+const _app = getApp();
+
+Page({
+ data: {},
+ onLoad() {},
+});
+
+export {}
diff --git a/src/patient/pages/familyList/index.wxml b/src/patient/pages/familyList/index.wxml
new file mode 100644
index 0000000..1447908
--- /dev/null
+++ b/src/patient/pages/familyList/index.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+ 绑定时间:2025-06-12 17:30:50
+
+ 解绑
+
+
diff --git a/src/patient/pages/file/index.json b/src/patient/pages/file/index.json
index ee31080..553d8d8 100644
--- a/src/patient/pages/file/index.json
+++ b/src/patient/pages/file/index.json
@@ -1,6 +1,7 @@
{
"navigationStyle": "custom",
"usingComponents": {
- "patient-tab-bar":"/patient/components/patient-tab-bar/index"
+ "patient-tab-bar":"/patient/components/patient-tab-bar/index",
+ "calendar": "/components/calendar/index"
}
}
diff --git a/src/patient/pages/file/index.scss b/src/patient/pages/file/index.scss
index 61ac9db..8df53e8 100644
--- a/src/patient/pages/file/index.scss
+++ b/src/patient/pages/file/index.scss
@@ -84,41 +84,42 @@ page {
padding: 8rpx 0 0;
.card {
margin-top: 24rpx;
- position: relative;
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #ffffff;
background: linear-gradient(346deg, #ffffff 0%, #fff9f9 85%, #ffebe9 100%);
padding-bottom: 32rpx;
- .status {
- position: absolute;
- width: 80rpx;
- height: 80rpx;
- top: 12rpx;
- right: 2rpx;
- }
.c-header {
padding: 32rpx 16rpx 0 0;
display: flex;
align-items: center;
justify-content: space-between;
- .title {
- font-size: 32rpx;
- color: rgba(1, 1, 5, 1);
- font-weight: bold;
+ .left {
display: flex;
align-items: center;
- gap: 22rpx;
- &::before {
- content: '';
- width: 8rpx;
- height: 32rpx;
- border-radius: 0 32rpx 32rpx 0;
- background: #f64a3a;
+ gap: 16rpx;
+ .title {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ display: flex;
+ align-items: center;
+ gap: 22rpx;
+ &::before {
+ content: '';
+ width: 8rpx;
+ height: 32rpx;
+ border-radius: 0 32rpx 32rpx 0;
+ background: #f64a3a;
+ }
+ }
+ .fold-icon {
+ width: 60rpx;
+ height: 60rpx;
}
}
- .fold-icon {
- width: 60rpx;
- height: 60rpx;
+ .more {
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
}
}
.c-body {
@@ -126,11 +127,21 @@ page {
padding: 16rpx 32rpx;
background: #f6f6f6;
border-radius: 24rpx 24rpx 24rpx 24rpx;
+ position: relative;
+
+ .status {
+ position: absolute;
+ width: 80rpx;
+ height: 80rpx;
+ top: 12rpx;
+ right: 22rpx;
+ }
.row {
padding: 16rpx 0;
display: flex;
gap: 32rpx;
.label {
+ width: 4em;
font-size: 32rpx;
color: rgba(161, 164, 172, 1);
}
@@ -146,6 +157,16 @@ page {
color: rgba(161, 164, 172, 1);
}
}
+ .c-btn {
+ margin: 32rpx 32rpx 0;
+ padding: 20rpx;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ color: #fff;
+ text-align: center;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 96rpx;
+ }
}
}
.container1 {
@@ -153,7 +174,7 @@ page {
.card {
margin-top: 24rpx;
padding: 16rpx 32rpx;
- background: linear-gradient(349deg, #ffffff 0%, #fff1ef 100%);
+ background: linear-gradient(349deg, #ffffff 60%, #fff1ef 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #ffffff;
.row {
@@ -172,4 +193,51 @@ page {
}
}
}
+ .container2 {
+ .date-card {
+ margin-top: 32rpx;
+ padding: 18rpx 32rpx;
+ background: linear-gradient(19.87deg, #ffffff 55.08%, #ffe8e6 129.24%);
+ border-radius: 84rpx 84rpx 84rpx 84rpx;
+ border: 2px solid #ffffff;
+ display: flex;
+ align-items: center;
+ .icon {
+ width: 48rpx;
+ height: 48rpx;
+ }
+ .content {
+ padding-left: 16rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ }
+ }
+ .card {
+ margin-top: 32rpx;
+ border-radius: 24rpx;
+ border: 1px solid #ffffff;
+ background: rgba(255, 244, 243, 1);
+ .c-header {
+ padding: 22rpx;
+ text-align: center;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ }
+ .c-calendar {
+ padding: 40rpx 0 0;
+ background-color: #fff;
+ border-radius: 24rpx;
+ }
+ }
+ .btn {
+ margin: 32rpx 0 0;
+ padding: 20rpx;
+ font-size: 32rpx;
+ line-height: 48rpx;
+ color: #fff;
+ text-align: center;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 96rpx;
+ }
+ }
}
diff --git a/src/patient/pages/file/index.ts b/src/patient/pages/file/index.ts
index 5483e18..b074d4f 100644
--- a/src/patient/pages/file/index.ts
+++ b/src/patient/pages/file/index.ts
@@ -2,7 +2,22 @@ const _app = getApp()
Page({
data: {
- nav: 0,
+ nav: 2,
+
+ calendarConfig: {
+ multi: false,
+ hideSelectYear: true,
+ markToday: '今', // 当天日期展示不使用默认数字,用特殊文字标记
+ autoChoosedWhenJump: true,
+ firstDayOfWeek: 'Mon',
+ theme: 'geneb',
+ takeoverTap: true,
+ highlightToday: true,
+ onlyShowCurrentMonth: true,
+ disableMode: {
+ type: 'after', // [‘before’, 'after']
+ },
+ },
},
onLoad() {},
handleNav(e) {
diff --git a/src/patient/pages/file/index.wxml b/src/patient/pages/file/index.wxml
index c3dd5a2..18adfd5 100644
--- a/src/patient/pages/file/index.wxml
+++ b/src/patient/pages/file/index.wxml
@@ -29,31 +29,37 @@
病史档案
随访日历
-
-
-
-
+
+
+
- 出生年月
- 1980 年 12 月(44 岁)
+ 日期
+ 2025-06-01
- 确诊时间
- 2000 年 12 月(20 岁时)
+ 诊疗医院
+ 唐山人民医院
- 您的体重
- 69 kg
+ 检查项目
+ 3/3
查看详情>
+ 添加随访记录
@@ -72,6 +78,24 @@
+
+
+
+ 注射日:2025 年5月28日 星期三
+
+
+
+
+
+
+
+ 向医生询问出诊时间
+
diff --git a/src/patient/pages/followPlan/index.json b/src/patient/pages/followPlan/index.json
new file mode 100644
index 0000000..702c86e
--- /dev/null
+++ b/src/patient/pages/followPlan/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "查看我的随访计划",
+ "usingComponents": {}
+}
diff --git a/src/patient/pages/followPlan/index.scss b/src/patient/pages/followPlan/index.scss
new file mode 100644
index 0000000..2a1bb74
--- /dev/null
+++ b/src/patient/pages/followPlan/index.scss
@@ -0,0 +1,142 @@
+page {
+ background-color: #f7f7fa;
+}
+.page {
+ padding: 32rpx 40rpx 260rpx;
+ .date-card {
+ padding: 18rpx 32rpx;
+ background: linear-gradient(19.87deg, #ffffff 55.08%, #ffe8e6 129.24%);
+ border-radius: 84rpx 84rpx 84rpx 84rpx;
+ border: 2px solid #ffffff;
+ display: flex;
+ align-items: center;
+ .icon {
+ width: 48rpx;
+ height: 48rpx;
+ }
+ .content {
+ padding-left: 16rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ }
+ }
+
+ .body {
+ margin-top: 32rpx;
+ background: #fff4f3;
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .title {
+ padding: 20rpx;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ }
+ .container {
+ padding: 48rpx 24rpx 0;
+ background-color: #fff;
+ .table {
+ .thead {
+ display: grid;
+ border-radius: 24rpx 24rpx 0 0;
+ grid-template-columns: repeat(2, 1fr);
+ background-color: rgba(246, 74, 58, 1);
+ .th {
+ padding: 22rpx;
+ text-align: center;
+ font-size: 28rpx;
+ color: rgba(255, 255, 255, 1);
+ }
+ }
+ .tbody {
+ .tr {
+ display: grid;
+ grid-template-columns: 36rpx calc(50% - 36rpx) 50%;
+ .aside {
+ margin-right: 12rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ .line-top {
+ flex: 1;
+ border-right: 1px dashed rgba(207, 209, 213, 1);
+ }
+ .order {
+ flex-shrink: 0;
+ width: 24rpx;
+ height: 24rpx;
+ border-radius: 50%;
+ background-color: rgba(207, 209, 213, 1);
+ }
+ .line-bottom {
+ flex: 1;
+ border-right: 1px dashed rgba(207, 209, 213, 1);
+ }
+ }
+ .td {
+ padding: 28rpx 32rpx;
+ font-size: 28rpx;
+ color: rgba(1, 1, 5, 1);
+ text-align: center;
+ line-height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ white-space: pre-line;
+ }
+ }
+ .tr:nth-child(even) {
+ .td {
+ background-color: rgba(255, 244, 243, 1);
+ }
+ }
+ .active {
+ .aside {
+ .line-top,
+ .line-bottom {
+ border-color: rgba(242, 58, 47, 1);
+ }
+ .order {
+ background-color: rgba(242, 58, 47, 1);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ padding: 16rpx 40rpx calc(16rpx + env(safe-area-inset-bottom));
+ background-color: rgba(255, 255, 255, 1);
+ display: flex;
+ gap: 26rpx;
+ box-sizing: border-box;
+ .cancel {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: rgba(246, 74, 58, 1);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ .submit {
+ flex: 1;
+ padding: 22rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: #fff;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 84rpx;
+ border: 1px solid #f64a3a;
+ }
+ }
+}
diff --git a/src/patient/pages/followPlan/index.ts b/src/patient/pages/followPlan/index.ts
new file mode 100644
index 0000000..067b6bb
--- /dev/null
+++ b/src/patient/pages/followPlan/index.ts
@@ -0,0 +1,8 @@
+const _app = getApp();
+
+Page({
+ data: {},
+ onLoad() {},
+});
+
+export {}
diff --git a/src/patient/pages/followPlan/index.wxml b/src/patient/pages/followPlan/index.wxml
new file mode 100644
index 0000000..6589c12
--- /dev/null
+++ b/src/patient/pages/followPlan/index.wxml
@@ -0,0 +1,32 @@
+
+
+
+ 注射日:2025 年5月28日 星期三
+
+
+ 基因治疗后时间 监测频率
+
+
+
+ 输注后时间
+ 监测频率
+
+
+
+
+
+
+
+
+ 1 周内
+ 每周2次 输注后第3天,第6天
+
+
+
+
+
+
+
diff --git a/src/patient/pages/home/index.scss b/src/patient/pages/home/index.scss
index 046e60a..2d981cd 100644
--- a/src/patient/pages/home/index.scss
+++ b/src/patient/pages/home/index.scss
@@ -180,7 +180,7 @@ page {
}
}
}
- .container {
+ .container1 {
padding: 40rpx 58rpx;
background: #ffffff;
box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(40, 0, 0, 0.06);
@@ -227,6 +227,65 @@ page {
border-radius: 84rpx 84rpx 84rpx 84rpx;
}
}
+ .container4 {
+ display: flex;
+ padding: 32rpx;
+ background: #ffffff;
+ box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(40, 0, 0, 0.06);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .left {
+ padding-right: 30rpx;
+ border-right: 1px dashed rgba(207, 209, 213, 1);
+ flex: 1;
+ .title {
+ font-size: 28rpx;
+ color: rgba(161, 164, 172, 1);
+ line-height: 44rpx;
+ }
+ .date {
+ font-size: 48rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .footer {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ .date-name {
+ font-size: 28rpx;
+ color: rgba(242, 58, 47, 1);
+ }
+ .add {
+ width: 68rpx;
+ height: 68rpx;
+ }
+ }
+ }
+ .right {
+ padding-left: 18rpx;
+ flex: 1;
+ .title {
+ font-size: 28rpx;
+ color: rgba(161, 164, 172, 1);
+ line-height: 44rpx;
+ }
+ .content {
+ display: flex;
+ align-items: flex-end;
+ justify-content: space-between;
+ .status {
+ width: 136rpx;
+ height: 136rpx;
+ }
+ .add {
+ width: 68rpx;
+ height: 68rpx;
+ margin-bottom: 6rpx;
+ }
+ }
+ }
+ }
}
.module1 {
margin-top: 48rpx;
diff --git a/src/patient/pages/home/index.ts b/src/patient/pages/home/index.ts
index 48f7ce8..4a1b654 100644
--- a/src/patient/pages/home/index.ts
+++ b/src/patient/pages/home/index.ts
@@ -3,9 +3,11 @@ const _app = getApp()
Page({
data: {
popupShow: false,
- popupType: 'selectIdentity',
- // popupType: 'bindDoctorReject',
- // popupType: 'bindDoctor',
+ // popupType: 'selectIdentity', // 选择您的身份
+ // popupType: 'bindDoctorReject', // 绑定失败
+ // popupType: 'bindDoctor', // 绑定成功
+ // popupType: 'bindDoctorQuestion', // 为什么绑定医生
+ popupType: 'conformBindDoctorQuestion', // 确认绑定曾经扫码医生
popupParams: {},
progress: 1,
diff --git a/src/patient/pages/home/index.wxml b/src/patient/pages/home/index.wxml
index 12cccd8..fc18583 100644
--- a/src/patient/pages/home/index.wxml
+++ b/src/patient/pages/home/index.wxml
@@ -59,7 +59,7 @@
4
-
+
+
+
+ 查看我的诊疗计划
+
+
+
+ 查看我的诊疗计划
+
+
+
+ 最近一次随访
+ 2025.6.15
+
+
+
+ 最近状态状态
+
+
+
+
+
+