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 + 天 + + + + + + + 您还没有绑定任何医生 + 绑定后可随时随地联系专属医生 + + 扫一扫绑定 + + + + + + + 王医生 + + + + 添加医生 + + + 随时随地您可以联系专属医生团队 + + 问医生 + + + + + 我的专属诊疗流程 + + 1 + 2 + 3 + 4 + + + + + 1 + + 准备您的诊前筛查 + 了解您筛查全部流程和注意事项 + + + 查看我的诊疗计划 + + + + + 为他们加油 + + 查看更多 + + + + + + + 向往的生活记录 + + + + + 13% + 上次凝血因子水平(IX) + + 07月23日 + + + + + + + 50 + 分钟 + + 最近一次运动 + + 4月12日 + + + + + + + +