diff --git a/README.md b/README.md
index 70ef7af..c3a19e5 100644
--- a/README.md
+++ b/README.md
@@ -1,82 +1,7 @@
## global color
+svn://39.106.86.127:28386/projects/wutian_xueyoubing_b/proj_src/shop/frontend/web/GeneB
-svn://39.106.86.127:28386/projects/zd/proj_src/shop/frontend/web/zd
-1. 视频根据列表滚动自动播放
-2. 患者来源渠道以及渠道值需要记录
-3. iframe 嵌套第三方网页,小程序 webview 试验
-4. 上传完诊断证明之后才记录额度
-5. 我的故事编辑姓名和手机号直接读出来就行
-
-```json
-{
- "ignore": [
- {
- "value": "images/**/*.png",
- "type": "glob"
- }
- ],
- "include": [
- {
- "value": "images/tabbar/*.png",
- "type": "glob"
- }
- ]
-}
-```
-
-(/images/)(\S*(?=["|']))
-{{imageUrl}}$2?t={{Timestamp}}
-
-首页banner对应变量
-MINIDOCTOR 微医弹窗
-
-1. 互动消息列表 时间展示规则
- 1. 当天展示 时分
- 2. 超过一天 年月日
-
-```js
-wx.showModal({
- title: '',
- confirmColor: '#cf5375',
-})
-// 医生端 confirmColor: '#62bed0',
-```
-
-1)提供3中的3个路径链接;
-a.跳转到患者端小程序的路径;
-/pages/index/index?es=201501
-b.带商保参数的ADL引导页路径;
-/pages/adl/index?m_d=1&es=201502
-c.微医webview页面路径;
-/pages/webview/index?es=201503
-
-过滤微医路径的banner标题
-BANNER-MINIDOVTOR
-
-### 下载文件到本地
-
-```js
-const handleDownload = () => {
- const url =
- 'https://circlehbsaas.oss-cn-beijing.aliyuncs.com/doc/20250506353_%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%9D%90%E6%96%99.xlsx'
- wx.showLoading({
- title: '加载中',
- })
- wx.downloadFile({
- url,
- success(res) {
- wx.shareFileMessage({
- fileName: '测试.xlsx',
- filePath: res.tempFilePath,
- success() {
- wx.hideLoading()
- },
- })
- },
- })
-}
-```
https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567
diff --git a/project.private.config.json b/project.private.config.json
index 0a40e34..539d3d8 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,13 +23,20 @@
"miniprogram": {
"list": [
{
- "name": "患者-录入个人信息",
- "pathName": "patient/pages/entryInfo/index",
+ "name": "患者-首页",
+ "pathName": "patient/pages/home/index",
"query": "",
"scene": null,
"launchMode": "default"
},
{
+ "name": "患者-录入个人信息",
+ "pathName": "patient/pages/entryInfo/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "患者-登录",
"pathName": "patient/pages/login/index",
"query": "",
diff --git a/src/app.json b/src/app.json
index bfc79a6..fbf8aeb 100644
--- a/src/app.json
+++ b/src/app.json
@@ -13,7 +13,7 @@
"subPackages": [
{
"root": "patient",
- "pages": ["pages/protocol/index", "pages/login/index", "pages/entryInfo/index"]
+ "pages": ["pages/protocol/index", "pages/login/index", "pages/entryInfo/index","pages/home/index"]
}
],
"tabBar": {
diff --git a/src/images/bg4.png b/src/images/bg4.png
new file mode 100644
index 0000000..41e65e8
Binary files /dev/null and b/src/images/bg4.png differ
diff --git a/src/images/icon15.png b/src/images/icon15.png
new file mode 100644
index 0000000..7790c87
Binary files /dev/null and b/src/images/icon15.png differ
diff --git a/src/images/icon16.png b/src/images/icon16.png
new file mode 100644
index 0000000..cf7c37a
Binary files /dev/null and b/src/images/icon16.png differ
diff --git a/src/images/icon17.png b/src/images/icon17.png
new file mode 100644
index 0000000..54ff407
Binary files /dev/null and b/src/images/icon17.png differ
diff --git a/src/images/icon18.png b/src/images/icon18.png
new file mode 100644
index 0000000..c8b2e01
Binary files /dev/null and b/src/images/icon18.png differ
diff --git a/src/images/tabbar/tabbar2-1-active.png b/src/images/tabbar/tabbar2-1-active.png
new file mode 100644
index 0000000..18c2adb
Binary files /dev/null and b/src/images/tabbar/tabbar2-1-active.png differ
diff --git a/src/images/tabbar/tabbar2-1.png b/src/images/tabbar/tabbar2-1.png
new file mode 100644
index 0000000..dcd1e1c
Binary files /dev/null and b/src/images/tabbar/tabbar2-1.png differ
diff --git a/src/images/tabbar/tabbar2-2-active.png b/src/images/tabbar/tabbar2-2-active.png
new file mode 100644
index 0000000..c8340b0
Binary files /dev/null and b/src/images/tabbar/tabbar2-2-active.png differ
diff --git a/src/images/tabbar/tabbar2-2.png b/src/images/tabbar/tabbar2-2.png
new file mode 100644
index 0000000..7efa211
Binary files /dev/null and b/src/images/tabbar/tabbar2-2.png differ
diff --git a/src/images/tabbar/tabbar2-3-active.png b/src/images/tabbar/tabbar2-3-active.png
new file mode 100644
index 0000000..74e05a0
Binary files /dev/null and b/src/images/tabbar/tabbar2-3-active.png differ
diff --git a/src/images/tabbar/tabbar2-3.png b/src/images/tabbar/tabbar2-3.png
new file mode 100644
index 0000000..c7f4460
Binary files /dev/null and b/src/images/tabbar/tabbar2-3.png differ
diff --git a/src/images/tabbar/tabbar2-4-active.png b/src/images/tabbar/tabbar2-4-active.png
new file mode 100644
index 0000000..a15c387
Binary files /dev/null and b/src/images/tabbar/tabbar2-4-active.png differ
diff --git a/src/images/tabbar/tabbar2-4.png b/src/images/tabbar/tabbar2-4.png
new file mode 100644
index 0000000..2609350
Binary files /dev/null and b/src/images/tabbar/tabbar2-4.png differ
diff --git a/src/pages/index/index.scss b/src/pages/index/index.scss
index 949564b..c80777c 100644
--- a/src/pages/index/index.scss
+++ b/src/pages/index/index.scss
@@ -14,11 +14,14 @@
height: 100%;
}
}
+ .wx-swiper-dots.wx-swiper-dots-horizontal {
+ margin-bottom: 80rpx;
+ }
}
.page-containr {
position: relative;
z-index: 1;
- margin-top: -26rpx;
+ margin-top: -80rpx;
padding: 42rpx 40rpx;
background: linear-gradient(346deg, #f7f7fa 0%, #ffe5dc 100%);
border-radius: 32rpx 32rpx 0 0;
diff --git a/src/patient/components/patient-tab-bar/index.json b/src/patient/components/patient-tab-bar/index.json
new file mode 100644
index 0000000..4573acb
--- /dev/null
+++ b/src/patient/components/patient-tab-bar/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tabbar": "@vant/weapp/tabbar/index",
+ "van-tabbar-item": "@vant/weapp/tabbar-item/index"
+ }
+}
diff --git a/src/patient/components/patient-tab-bar/index.scss b/src/patient/components/patient-tab-bar/index.scss
new file mode 100644
index 0000000..5459edc
--- /dev/null
+++ b/src/patient/components/patient-tab-bar/index.scss
@@ -0,0 +1,19 @@
+/* custom-tab-bar/index.wxss */
+
+
+.tab-item {
+ .icon {
+ width: 50rpx;
+ height: 50rpx;
+ }
+ .name {
+ font-size: 24rpx;
+ color: #010105;
+ &.active{
+ color: #F23A2F;
+ }
+ &.drug-active{
+ color: #25D9C8;
+ }
+ }
+}
diff --git a/src/patient/components/patient-tab-bar/index.ts b/src/patient/components/patient-tab-bar/index.ts
new file mode 100644
index 0000000..c7432f0
--- /dev/null
+++ b/src/patient/components/patient-tab-bar/index.ts
@@ -0,0 +1,59 @@
+import { getCurrentPageUrl } from '@/utils/util'
+const app = getApp()
+
+Component({
+ properties: {},
+ data: {
+ imageUrl: app.globalData.imageUrl,
+ isChild: 0,
+ active: 0,
+ list: [
+ {
+ pagePath: '/patient/pages/home/index',
+ text: '首页',
+ icon: 'tabbar2-1',
+ iconActive: 'tabbar2-1-active',
+ },
+ {
+ pagePath: '/pages/knowledge/index',
+ text: '知识库',
+ icon: 'tabbar2-2',
+ iconActive: 'tabbar2-2-active',
+ },
+ {
+ pagePath: '/pages/knowledge/index',
+ text: '档案',
+ icon: 'tabbar2-3',
+ iconActive: 'tabbar2-3-active',
+ },
+ {
+ pagePath: '/pages/my/index',
+ text: '我的',
+ icon: 'tabbar2-4',
+ iconActive: 'tabbar2-4-active',
+ },
+ ],
+ },
+ observers: {},
+ lifetimes: {
+ ready() {
+ const pagePath = getCurrentPageUrl()
+ const active = this.data.list.findIndex((item) => item.pagePath === pagePath)
+ this.setData({
+ active,
+ anyWhere: app.globalData.anyWhere,
+ })
+ },
+ },
+ methods: {
+ onChange() {},
+ handleNav(e) {
+ const { index } = e.currentTarget.dataset
+ const { list } = this.data
+ const pagePath = list[index].pagePath
+ wx.switchTab({
+ url: pagePath,
+ })
+ },
+ },
+})
diff --git a/src/patient/components/patient-tab-bar/index.wxml b/src/patient/components/patient-tab-bar/index.wxml
new file mode 100644
index 0000000..e895d01
--- /dev/null
+++ b/src/patient/components/patient-tab-bar/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+ {{item.text}}
+
+
+
+
diff --git a/src/patient/pages/entryInfo/index.scss b/src/patient/pages/entryInfo/index.scss
index 38b3e51..ce4fae2 100644
--- a/src/patient/pages/entryInfo/index.scss
+++ b/src/patient/pages/entryInfo/index.scss
@@ -2,7 +2,7 @@ page {
background-color: rgba(247, 247, 250, 1);
}
.page {
- padding: 0 70rpx 80rpx;
+ padding: 0 70rpx 80rpx;
.logo {
display: block;
margin: 0 auto;
@@ -99,4 +99,11 @@ page {
border-radius: 84rpx 84rpx 84rpx 84rpx;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
}
+ .cancel {
+ margin-top: 30rpx;
+ padding: 30rpx;
+ font-size: 32rpx;
+ color: rgba(161, 164, 172, 1);
+ text-align: center;
+ }
}
diff --git a/src/patient/pages/entryInfo/index.ts b/src/patient/pages/entryInfo/index.ts
index 067b6bb..0d41353 100644
--- a/src/patient/pages/entryInfo/index.ts
+++ b/src/patient/pages/entryInfo/index.ts
@@ -1,8 +1,13 @@
-const _app = getApp();
+const _app = getApp()
Page({
data: {},
onLoad() {},
-});
+ handleSubmit() {
+ wx.reLaunch({
+ url: '/patient/pages/home/index',
+ })
+ },
+})
export {}
diff --git a/src/patient/pages/entryInfo/index.wxml b/src/patient/pages/entryInfo/index.wxml
index ac04128..3a51562 100644
--- a/src/patient/pages/entryInfo/index.wxml
+++ b/src/patient/pages/entryInfo/index.wxml
@@ -30,5 +30,6 @@
- 登录
+ 登录
+ 取消
diff --git a/src/patient/pages/home/index.json b/src/patient/pages/home/index.json
new file mode 100644
index 0000000..1ff5996
--- /dev/null
+++ b/src/patient/pages/home/index.json
@@ -0,0 +1,7 @@
+{
+ "navigationStyle": "custom",
+ "usingComponents": {
+ "patient-tab-bar": "/patient/components/patient-tab-bar/index",
+ "navbar": "/components/navbar/index"
+ }
+}
diff --git a/src/patient/pages/home/index.scss b/src/patient/pages/home/index.scss
new file mode 100644
index 0000000..780bbf3
--- /dev/null
+++ b/src/patient/pages/home/index.scss
@@ -0,0 +1,300 @@
+page {
+ background-color: rgba(247, 247, 250, 1);
+}
+.page-title {
+ width: 319rpx;
+ height: 92rpx;
+}
+
+.page {
+ padding: 0 40rpx 180rpx;
+ .user {
+ margin-top: 42rpx;
+ display: flex;
+ align-items: center;
+ .avatar {
+ flex-shrink: 0;
+ border: 2px solid #fff;
+ border-radius: 50%;
+ width: 98rpx;
+ height: 98rpx;
+ background-color: #fff;
+ .avatar-img {
+ width: 100%;
+ height: 100%;
+ border-radius: inherit;
+ }
+ }
+ .wrap {
+ padding-left: 24rpx;
+ .name {
+ font-size: 32rpx;
+ color: rgba(255, 255, 255, 1);
+ font-weight: bold;
+ }
+ .content {
+ margin-top: 8rpx;
+ font-size: 28rpx;
+ color: rgba(255, 255, 255, 0.6);
+ .num {
+ font-weight: bold;
+ font-size: 40rpx;
+ color: rgba(255, 255, 255, 1);
+ }
+ }
+ }
+ }
+ .doctor {
+ margin-top: 30rpx;
+ .none-doctor {
+ padding: 26rpx 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background: rgba(255, 255, 255, 0.56);
+ box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(40, 0, 0, 0.06);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .content {
+ font-size: 26rpx;
+ color: rgba(161, 164, 172, 1);
+ line-height: 46rpx;
+ }
+ .btn {
+ flex-shrink: 0;
+ width: 204rpx;
+ height: 56rpx;
+ font-size: 28rpx;
+ color: rgba(242, 58, 47, 1);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: rgba(255, 162, 165, 0.13);
+ border-radius: 86rpx;
+ border: 2rpx solid rgba(242, 58, 47, 1);
+ }
+ }
+ .container {
+ margin-top: 76rpx;
+ padding: 26rpx 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background: rgba(255, 255, 255, 0.56);
+ box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(40, 0, 0, 0.06);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .wrap {
+ .bind-list {
+ margin-top: -68rpx;
+ display: flex;
+ gap: 32rpx;
+ .item {
+ .avatar-img {
+ display: block;
+ margin: 0 auto;
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ }
+ .name {
+ margin: -20rpx auto 0;
+ padding: 4rpx 20rpx;
+ font-size: 20rpx;
+ color: #fff;
+ line-height: 24rpx;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 28rpx 28rpx 28rpx 28rpx;
+ }
+ }
+ .add {
+ .icon {
+ display: block;
+ margin: 0 auto;
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ }
+ .name {
+ margin: -20rpx auto 0;
+ padding: 4rpx 20rpx;
+ font-size: 20rpx;
+ color: rgba(161, 164, 172, 1);
+ line-height: 24rpx;
+ }
+ }
+ }
+ .content {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ color: rgba(161, 164, 172, 1);
+ }
+ }
+ .btn {
+ flex-shrink: 0;
+ width: 160rpx;
+ height: 56rpx;
+ font-size: 28rpx;
+ color: rgba(242, 58, 47, 1);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: rgba(255, 162, 165, 0.13);
+ border-radius: 86rpx;
+ border: 2rpx solid rgba(242, 58, 47, 1);
+ }
+ }
+ }
+ .process {
+ margin-top: 32rpx;
+ background: rgba(255, 255, 255, 0.68);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .header {
+ padding: 28rpx 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-size: 32rpx;
+ color: rgba(242, 58, 47, 1);
+ font-weight: bold;
+ }
+ .dots {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+ .item {
+ width: 40rpx;
+ height: 40rpx;
+ font-size: 24rpx;
+ color: rgba(225, 36, 42, 1);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+ &.active {
+ background-color: rgba(242, 58, 47, 1);
+ color: #fff;
+ }
+ }
+ }
+ }
+ .container {
+ padding: 40rpx 58rpx;
+ background: #ffffff;
+ box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(40, 0, 0, 0.06);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .c-header {
+ display: flex;
+ .num {
+ flex-shrink: 0;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: #f23a2f;
+ border-radius: 50%;
+ font-size: 35rpx;
+ color: #fff;
+ }
+ .wrap {
+ padding-left: 16rpx;
+ .title {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .content {
+ margin-top: 10rpx;
+ font-size: 28rpx;
+ color: rgba(161, 164, 172, 1);
+ }
+ }
+ }
+ .btn {
+ margin-top: 22rpx;
+ font-size: 28rpx;
+ color: rgba(255, 255, 255, 1);
+ width: 556rpx;
+ height: 64rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 84rpx 84rpx 84rpx 84rpx;
+ }
+ }
+ }
+ .module1 {
+ margin-top: 48rpx;
+ .m-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ font-size: 36rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .more {
+ font-size: 24rpx;
+ color: rgba(1, 1, 5, 0.36);
+ }
+ }
+ }
+
+ .module2 {
+ margin-top: 48rpx;
+ .m-header {
+ .title {
+ font-size: 36rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ }
+ .m-container {
+ margin-top: 24rpx;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 22rpx;
+ .item {
+ padding: 28rpx 22rpx 36rpx 30rpx;
+ background: linear-gradient(32deg, #ffffff 0%, #fffcfc 55%, #fff0f0 100%);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ .num {
+ font-size: 44rpx;
+ font-weight: bold;
+ color: rgba(242, 58, 47, 1);
+ .sub {
+ font-size: 24rpx;
+ color: rgba(161, 164, 172, 1);
+ font-weight: normal;
+ }
+ }
+ .content {
+ margin-top: 18rpx;
+ font-size: 24rpx;
+ color: rgba(1, 1, 5, 1);
+ }
+ .footer {
+ margin-top: 8rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ .date {
+ font-size: 24rpx;
+ color: rgba(161, 164, 172, 1);
+ }
+ .add {
+ width: 44rpx;
+ height: 44rpx;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/patient/pages/home/index.ts b/src/patient/pages/home/index.ts
new file mode 100644
index 0000000..067b6bb
--- /dev/null
+++ b/src/patient/pages/home/index.ts
@@ -0,0 +1,8 @@
+const _app = getApp();
+
+Page({
+ data: {},
+ onLoad() {},
+});
+
+export {}
diff --git a/src/patient/pages/home/index.wxml b/src/patient/pages/home/index.wxml
new file mode 100644
index 0000000..4872d22
--- /dev/null
+++ b/src/patient/pages/home/index.wxml
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+ Hi!王先生
+
+ 今天是您加入的第
+ 100
+ 天
+
+
+
+
+
+
+ 您还没有绑定任何医生
+ 绑定后可随时随地联系专属医生
+
+ 扫一扫绑定
+
+
+
+
+
+
+ 王医生
+
+
+
+ 添加医生
+
+
+ 随时随地您可以联系专属医生团队
+
+ 问医生
+
+
+
+
+
+
+ 查看我的诊疗计划
+
+
+
+
+
+
+
+
+
+
+ 13%
+ 上次凝血因子水平(IX)
+
+
+
+
+
+ 50
+ 分钟
+
+ 最近一次运动
+
+
+
+
+
+
+