Browse Source

页面开发完毕

master
kola-web 2 weeks ago
parent
commit
0dd11cd552
  1. 38
      README.md
  2. 2
      dist.ps1
  3. 1
      package.json
  4. 23
      pnpm-lock.yaml
  5. 5
      project.config.json
  6. 11
      project.private.config.json
  7. 1
      src/app.json
  8. 6
      src/components/login/index.json
  9. 60
      src/components/login/index.scss
  10. 28
      src/components/login/index.ts
  11. 25
      src/components/login/index.wxml
  12. 4
      src/components/popup/index.wxml
  13. 2
      src/doc/pages/doc1/index.ts
  14. 4
      src/doctor/components/doctor-tab-bar/index.wxml
  15. 7
      src/doctor/pages/article/index.json
  16. 58
      src/doctor/pages/article/index.scss
  17. 13
      src/doctor/pages/article/index.ts
  18. 22
      src/doctor/pages/article/index.wxml
  19. 21
      src/doctor/pages/articleList/index.scss
  20. 9
      src/doctor/pages/articleList/index.ts
  21. 17
      src/doctor/pages/articleList/index.wxml
  22. 3
      src/doctor/pages/changeNickname/index.json
  23. 3
      src/doctor/pages/changeTel/index.json
  24. 6
      src/doctor/pages/home/index.scss
  25. 13
      src/doctor/pages/home/index.ts
  26. 20
      src/doctor/pages/home/index.wxml
  27. 3
      src/doctor/pages/invite/index.json
  28. 10
      src/doctor/pages/invite/index.wxml
  29. 6
      src/doctor/pages/login/index.ts
  30. 12
      src/doctor/pages/login/index.wxml
  31. 6
      src/doctor/pages/loginForm/index.ts
  32. 20
      src/doctor/pages/loginForm/index.wxml
  33. 5
      src/doctor/pages/my/index.ts
  34. 16
      src/doctor/pages/my/index.wxml
  35. 16
      src/doctor/pages/patientList/index.scss
  36. 110
      src/doctor/pages/patientList/index.wxml
  37. 3
      src/doctor/pages/stat/index.json
  38. 4
      src/doctor/pages/stat/index.wxml
  39. 4
      src/ground/components/ground-tab-bar/index.wxml
  40. 3
      src/ground/pages/changeNickname/index.json
  41. 3
      src/ground/pages/changeTel/index.json
  42. 13
      src/ground/pages/home/index.ts
  43. 36
      src/ground/pages/home/index.wxml
  44. 3
      src/ground/pages/invite/index.json
  45. 10
      src/ground/pages/invite/index.wxml
  46. 6
      src/ground/pages/login/index.ts
  47. 12
      src/ground/pages/login/index.wxml
  48. 5
      src/ground/pages/my/index.ts
  49. 14
      src/ground/pages/my/index.wxml
  50. 9
      src/ground/pages/pharmacist/index.wxml
  51. 3
      src/ground/pages/stat/index.json
  52. 1
      src/ground/pages/stat/index.scss
  53. 80
      src/ground/pages/stat/index.wxml
  54. BIN
      src/images/cache/bg3.png
  55. BIN
      src/images/icon22.png
  56. BIN
      src/images/icon23.png
  57. 4
      src/miniprogram_npm/a-calc/index.js
  58. 4
      src/miniprogram_npm/dayjs/index.js
  59. 3
      src/pages/index/index.json
  60. 5
      src/pages/index/index.scss
  61. 7
      src/pages/index/index.ts
  62. 16
      src/pages/index/index.wxml
  63. 7
      src/pages/start/index.ts
  64. 2
      src/pages/start/index.wxml
  65. 14
      src/pages/work/index.wxml

38
README.md

@ -1,21 +1,3 @@ @@ -1,21 +1,3 @@
## global color
<!--图片文件夹svn地址-->
svn://39.106.86.127:28386/projects/wutian_xueyoubing_b/proj_src/shop/frontend/web/GeneB
### vscode
(/images/)(\S*(?=["|']))
{{imageUrl}}$2?t={{Timestamp}}
### neovim
(/images/)([^\"|']\*)
{{imageUrl}}${2}?t={{Timestamp}}
https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567
### conform
```js
@ -25,23 +7,3 @@ wx.showModal({ @@ -25,23 +7,3 @@ wx.showModal({
// confirmColor: 'rgba(29, 107, 255, 1)',
})
```
## 游客端
1. 个人信息及隐私政策
/doc/pages/doc1/index
## 患者端
1. 个人信息共享知情同意书
/doc/pages/doc2/index
2. 个人信息及隐私政策
/doc/pages/doc3/index
3. 用户协议
/doc/pages/doc4/index
## 医生端
1. 个人信息及隐私政策
/doc/pages/doc5/index

2
dist.ps1

@ -7,4 +7,4 @@ svn add . --no-ignore --force @@ -7,4 +7,4 @@ svn add . --no-ignore --force
# Commit the changes with a message
svn ci -m "版本更新"
ssh hb127 "cd /data1/wwwroot/default/wutian_xueyoubing_b/shop/frontend/web/ && svn up && exit"
ssh hb127 "cd /data1/wwwroot/default/yd/data/images && svn up && exit"

1
package.json

@ -14,7 +14,6 @@ @@ -14,7 +14,6 @@
"@vant/weapp": "^1.11.2",
"a-calc": "^2.2.14",
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"miniprogram-licia": "^1.39.2",
"mp-html": "^2.4.2"
},

23
pnpm-lock.yaml

@ -20,9 +20,6 @@ importers: @@ -20,9 +20,6 @@ importers:
dayjs:
specifier: ^1.11.10
version: 1.11.13
echarts:
specifier: ^5.4.3
version: 5.6.0
miniprogram-licia:
specifier: ^1.39.2
version: 1.48.0
@ -730,9 +727,6 @@ packages: @@ -730,9 +727,6 @@ packages:
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
echarts@5.6.0:
resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==}
electron-to-chromium@1.5.157:
resolution: {integrity: sha512-/0ybgsQd1muo8QlnuTpKwtl0oX5YMlUGbm8xyqgDU00motRkKFFbUJySAQBWcY79rVqNLWIWa87BGVGClwAB2w==}
@ -1696,9 +1690,6 @@ packages: @@ -1696,9 +1690,6 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
tslib@2.3.0:
resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
@ -1813,9 +1804,6 @@ packages: @@ -1813,9 +1804,6 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
zrender@5.6.1:
resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==}
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@ -2553,11 +2541,6 @@ snapshots: @@ -2553,11 +2541,6 @@ snapshots:
dependencies:
dequal: 2.0.3
echarts@5.6.0:
dependencies:
tslib: 2.3.0
zrender: 5.6.1
electron-to-chromium@1.5.157: {}
emoji-regex@8.0.0: {}
@ -3718,8 +3701,6 @@ snapshots: @@ -3718,8 +3701,6 @@ snapshots:
dependencies:
typescript: 5.8.3
tslib@2.3.0: {}
tslib@2.8.1: {}
type-check@0.4.0:
@ -3850,8 +3831,4 @@ snapshots: @@ -3850,8 +3831,4 @@ snapshots:
yocto-queue@0.1.0: {}
zrender@5.6.1:
dependencies:
tslib: 2.3.0
zwitch@2.0.4: {}

5
project.config.json

@ -3,10 +3,7 @@ @@ -3,10 +3,7 @@
"miniprogramRoot": "src/",
"compileType": "miniprogram",
"setting": {
"useCompilerPlugins": [
"typescript",
"sass"
],
"useCompilerPlugins": ["typescript", "sass"],
"urlCheck": true,
"coverView": true,
"es6": true,

11
project.private.config.json

@ -23,13 +23,20 @@ @@ -23,13 +23,20 @@
"miniprogram": {
"list": [
{
"name": "药店-教育",
"pathName": "doctor/pages/articleList/index",
"name": "药店-教育详情",
"pathName": "doctor/pages/article/index",
"query": "",
"scene": null,
"launchMode": "default"
},
{
"name": "药店-教育",
"pathName": "doctor/pages/articleList/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "药店-患者列表",
"pathName": "doctor/pages/patientList/index",
"query": "",

1
src/app.json

@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
"pages/loginForm/index",
"pages/patientList/index",
"pages/articleList/index",
"pages/article/index",
"pages/changeNickname/index",
"pages/changeTel/index",
"pages/stat/index"

6
src/components/login/index.json

@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"van-popup": "@vant/weapp/popup/index"
}
}

60
src/components/login/index.scss

@ -1,60 +0,0 @@ @@ -1,60 +0,0 @@
.login1 {
.logo {
position: relative;
z-index: 1;
display: block;
margin: 0 auto -82rpx;
width: 164rpx;
height: 164rpx;
}
.container {
width: 100%;
box-sizing: border-box;
border-radius: 32rpx 0;
padding: 136rpx 60rpx calc(env(safe-area-inset-bottom) + 64rpx);
background: linear-gradient(6deg, #ffffff 0%, #ffe6e4 100%);
.title {
text-align: center;
color: rgba(1, 1, 5, 1);
font-size: 40rpx;
font-weight: bold;
}
.content {
margin-top: 16rpx;
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
text-align: center;
}
.btn {
margin-top: 64rpx;
height: 88rpx;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 84rpx;
border: none;
outline: none;
font-size: 32rpx;
color: rgba(247, 247, 247, 1);
display: flex;
align-items: center;
justify-content: center;
&::after {
border: none;
}
}
.check {
margin-top: 40rpx;
display: flex;
align-items: center;
.checkbox {
transform: scale(0.8);
}
.check-content {
font-size: 32rpx;
color: rgba(1, 1, 5, 0.3);
.link {
color: rgba(242, 58, 47, 1);
}
}
}
}
}

28
src/components/login/index.ts

@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
const app = getApp<IAppOption>()
Component({
properties: {
show: {
type: Boolean,
value: false,
},
},
data: {
imageUrl: app.globalData.imageUrl,
Timestamp:app.globalData.Timestamp
},
methods: {
handleOk() {
this.setData({
show: false,
})
this.triggerEvent('ok')
},
handleCancel() {
this.setData({
show: false,
})
this.triggerEvent('cancel')
},
},
})

25
src/components/login/index.wxml

@ -1,25 +0,0 @@ @@ -1,25 +0,0 @@
<van-popup
bind:click-overlay="handleCancel"
round
z-index="{{100000}}"
show="{{ show }}"
position="bottom"
safe-area-inset-bottom="{{false}}"
custom-style="background:transparent;"
>
<view class="login1">
<image class="logo" src="{{imageUrl}}logo1.png?t={{Timestamp}}"></image>
<view class="container">
<view class="title">立即授权</view>
<view class="content">解锁更多基因治疗知识</view>
<button class="btn">手机号快速授权</button>
<view class="check">
<checkbox class="checkbox" color="#ee5a4a"></checkbox>
<view class="check-content">
我已阅读并同意
<text class="link">《个人信息及隐私政策》</text>
</view>
</view>
</view>
</view>
</van-popup>

4
src/components/popup/index.wxml

@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
</view>
<view class="row">
<view class="label">项目</view>
<view class="content">特诺雅项目</view>
<view class="content">特诺雅<text style="font-size:0.5em;vertical-align: top;">®</text>项目</view>
</view>
<view class="row">
<view class="label">适应症</view>
@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
<uploadFile class="upload-file">
<view class="upload">
<view class="place">
<image class="icon" src="/images/icon21.png"></image>
<image class="icon" src="{{imageUrl}}icon21.png?t={{Timestamp}}"></image>
<view class="tip">拍照/从相册选择</view>
</view>
</view>

2
src/doc/pages/doc1/index.ts

File diff suppressed because one or more lines are too long

4
src/doctor/components/doctor-tab-bar/index.wxml

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
<van-tabbar active="{{ active }}" active-color="#F23A2F" bind:change="onChange" inactive-color="#010105" placeholder>
<block wx:for="{{list}}" wx:key="*this">
<van-tabbar-item class="tab-item" wx:if="{{ index != 3 || !anyWhere}}" bind:tap="handleNav" data-index="{{index}}">
<image class="icon" slot="icon" src="/images/tabbar/{{item.icon}}.png?t={{Timestamp}}"></image>
<image class="icon" slot="icon-active" src="/images/tabbar/{{item.iconActive}}.png?t={{Timestamp}}"></image>
<image class="icon" slot="icon" src="{{imageUrl}}tabbar/{{item.icon}}.png?t={{Timestamp}}"></image>
<image class="icon" slot="icon-active" src="{{imageUrl}}tabbar/{{item.iconActive}}.png?t={{Timestamp}}"></image>
<view class="name {{index==active && 'active'}}">{{item.text}}</view>
</van-tabbar-item>
</block>

7
src/doctor/pages/article/index.json

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
{
"navigationStyle": "custom",
"usingComponents": {
"navbar": "/components/navbar/index",
"mp-html": "mp-html"
}
}

58
src/doctor/pages/article/index.scss

@ -0,0 +1,58 @@ @@ -0,0 +1,58 @@
page {
background-color: #f8fafa;
}
.page-title {
display: flex;
align-items: center;
gap: 22rpx;
font-size: 36rpx;
color: #1a2020;
}
.page {
padding: 32rpx 40rpx calc(160rpx + env(safe-area-inset-bottom));
.banner {
width: 100%;
display: block;
height: 286rpx;
border-radius: 12rpx;
}
.title {
margin-top: 32rpx;
font-size: 40rpx;
color: #342317;
font-weight: bold;
}
.content {
margin-top: 32rpx;
font-size: 32rpx;
color: #afaba9;
}
.page-footer {
position: fixed;
bottom: 0;
left: 0;
padding: 32rpx 32rpx calc(32rpx + env(safe-area-inset-bottom));
background-color: #fff;
width: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
gap: 48rpx;
.o-item {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
.icon {
width: 44rpx;
height: 44rpx;
}
.num {
font-size: 32rpx;
color: #b7b7b7;
}
}
}
}

13
src/doctor/pages/article/index.ts

File diff suppressed because one or more lines are too long

22
src/doctor/pages/article/index.wxml

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
<navbar fixed custom-style="background:#fff">
<view slot="left" class="page-title">
<van-icon class="back" slot="left" name="arrow-left" bind:tap="handleBack" />
教育小助手
</view>
</navbar>
<view class="page" style="padding-top: {{pageTop+20}}px;">
<image class="banner" src="/images/cache/bg3.png"></image>
<view class="title">从强降糖到防事件,那些糖尿病指南走过的路</view>
<mp-html content="{{doc}}"></mp-html>
<view class="page-footer">
<view class="o-item">
<image class="icon" src="/images/icon22.png"></image>
<text class="num">123</text>
</view>
<view class="o-item">
<image class="icon" src="/images/icon23.png"></image>
<text class="num">123</text>
</view>
</view>
</view>

21
src/doctor/pages/articleList/index.scss

@ -72,15 +72,26 @@ page { @@ -72,15 +72,26 @@ page {
font-size: 32rpx;
color: #342317;
line-height: 40rpx;
font-weight: bold;
}
.content {
.options {
margin-top: 24rpx;
display: flex;
align-items: center;
gap: 48rpx;
justify-content: flex-end;
.o-item {
display: flex;
align-items: center;
gap: 12rpx;
.icon {
width: 32rpx;
height: 32rpx;
}
.num {
font-size: 28rpx;
color: #b7b7b7;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}
&:last-of-type {

9
src/doctor/pages/articleList/index.ts

@ -1,8 +1,13 @@ @@ -1,8 +1,13 @@
const _app = getApp<IAppOption>();
const _app = getApp<IAppOption>()
Page({
data: {},
onLoad() {},
});
handleDetail() {
wx.navigateTo({
url: '/doctor/pages/article/index',
})
},
})
export {}

17
src/doctor/pages/articleList/index.wxml

@ -13,15 +13,24 @@ @@ -13,15 +13,24 @@
</view>
<swiper class="banner">
<swiper-item class="swiper-item">
<image class="s-img" src="/images/cache/bg2.png"></image>
<image class="s-img" src="{{imageUrl}}cache/bg2.png?t={{Timestamp}}"></image>
</swiper-item>
</swiper>
<view class="list">
<view class="card" wx:for="{{10}}" wx:key="index">
<image class="photo" src="/images/cache/p{{index%5+1}}.png"></image>
<view class="card" wx:for="{{10}}" wx:key="index" bind:tap="handleDetail">
<image class="photo" src="{{imageUrl}}cache/p{{index%5+1}}.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="title">从强降糖到防事件,那些糖尿病指南走过的路</view>
<view class="content">眼睛是心灵的窗户,但对于糖尿病患者来说,这扇窗显得十分脆弱d</view>
<view class="options">
<view class="o-item">
<image class="icon" src="/images/icon22.png"></image>
<text class="num">123</text>
</view>
<view class="o-item">
<image class="icon" src="/images/icon23.png"></image>
<text class="num">123</text>
</view>
</view>
</view>
</view>
</view>

3
src/doctor/pages/changeNickname/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

3
src/doctor/pages/changeTel/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

6
src/doctor/pages/home/index.scss

@ -50,6 +50,12 @@ page { @@ -50,6 +50,12 @@ page {
font-size: 28rpx;
color: #ffffff;
}
.date{
margin-top: 10rpx;
font-size: 28rpx;
color: #fff;
}
}
.code {
padding: 16rpx 28rpx;

13
src/doctor/pages/home/index.ts

@ -1,5 +1,3 @@ @@ -1,5 +1,3 @@
import { color } from 'echarts'
const echarts = require('../../../components/ec-canvas/echarts.js')
Page({
@ -7,13 +5,20 @@ Page({ @@ -7,13 +5,20 @@ Page({
ecDataTrendComponent1_1: null as any,
async onLoad() {
const app = getApp<IAppOption>()
app.waitLogin().then(() => {
app.waitLogin().then(() => {})
const list = [
{ StatMonth: '2026-01', MonthInvitePCount: 1 },
{ StatMonth: '2026-02', MonthInvitePCount: 2 },
{ StatMonth: '2026-03', MonthInvitePCount: 3 },
{ StatMonth: '2026-04', MonthInvitePCount: 2 },
{ StatMonth: '2026-05', MonthInvitePCount: 5 },
{ StatMonth: '2026-06', MonthInvitePCount: 7 },
{ StatMonth: '2026-07', MonthInvitePCount: 5 },
{ StatMonth: '2026-08', MonthInvitePCount: 3 },
{ StatMonth: '2026-09', MonthInvitePCount: 8 },
{ StatMonth: '2026-10', MonthInvitePCount: 10 },
]
this.initChartBar(list)
})
},
initChartBar(list: any[]) {
return new Promise((reslove) => {

20
src/doctor/pages/home/index.wxml

@ -1,25 +1,27 @@ @@ -1,25 +1,27 @@
<navbar fixed custom-style="background: {{background}};">
<view class="page-switch" slot="left" style="color: {{background=='transparent'?'#fff':'#4A8DFF'}};">
<view class="page-switch" slot="left" style="color: {{background=='transparent'?'#fff':'#FF8A4C'}};">
特诺雅
<text style="font-size: 0.5em; vertical-align: top">®</text>
<van-icon class="arrow" name="arrow-down" />
</view>
</navbar>
<view
class="page"
style="background:url('/images/bg7.png') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
style="background:url('{{imageUrl}}bg7.png?t={{Timestamp}}') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
>
<view class="user">
<image class="avatar" src="/images/cache/a1.png"></image>
<image class="avatar" src="{{imageUrl}}cache/a1.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="name">
刘平安
<view class="label">药师</view>
</view>
<div class="site">康泰大药房(人民路店)</div>
<view class="site">康泰大药房(人民路店)</view>
<view class="date">入组时间:2026/02/03</view>
</view>
<view class="code" bind:tap="handleInvite">
<image class="icon" src="/images/icon7.png"></image>
<image class="icon" src="{{imageUrl}}icon7.png?t={{Timestamp}}"></image>
<van-icon class="arrow" name="arrow" />
</view>
</view>
@ -102,8 +104,8 @@ @@ -102,8 +104,8 @@
</view>
</view>
<view class="c-options">
<view class="name">日统计</view>
<picker class="picker">
<view class="name">今日邀约患者数</view>
<picker class="picker" mode="date">
<view class="p-content">
<van-icon class="icon" name="arrow-left" />
<view class="content">2025/02/26</view>
@ -179,14 +181,14 @@ @@ -179,14 +181,14 @@
<picker class="picker" mode="date" end="{{end}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon13.png"></image>
<image class="icon" src="{{imageUrl}}icon13.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="line"></view>
<picker class="picker" mode="date" start="{{satrt}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon13.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>

3
src/doctor/pages/invite/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

10
src/doctor/pages/invite/index.wxml

@ -7,11 +7,11 @@ @@ -7,11 +7,11 @@
<view
class="page"
style="background: url('/images/bg8.png') no-repeat top center/100% 100vh;padding-top: {{pageTop+87}}px;"
style="background: url('{{imageUrl}}bg8.png?t={{Timestamp}}') no-repeat top center/100% 100vh;padding-top: {{pageTop+87}}px;"
>
<view class="page-container" style="background: url('/images/bg9.png') no-repeat top center/100% 964rpx">
<view class="page-container" style="background: url('{{imageUrl}}bg9.png?t={{Timestamp}}') no-repeat top center/100% 964rpx">
<view class="user">
<image class="avatar" src="/images/cache/a1.png" mode="aspectFill"></image>
<image class="avatar" src="{{imageUrl}}cache/a1.png?t={{Timestamp}}" mode="aspectFill"></image>
<view class="wrap">
<view class="nickname">刘平安</view>
<view class="label">药师</view>
@ -19,11 +19,11 @@ @@ -19,11 +19,11 @@
</view>
<view class="title">邀请您加入健康管理项目</view>
<view class="brand">
<view class="name">特诺雅</view>
<view class="name">特诺雅<text style="font-size:0.5em;vertical-align: top;">®</text></view>
<view class="bg"></view>
</view>
<view class="code-wrap">
<image class="code" src="/images/cache/c1.png" show-menu-by-longpress></image>
<image class="code" src="{{imageUrl}}cache/c1.png?t={{Timestamp}}" show-menu-by-longpress></image>
</view>
<view class="tip">
<view class="dot"></view>

6
src/doctor/pages/login/index.ts

@ -139,9 +139,9 @@ Page({ @@ -139,9 +139,9 @@ Page({
})
},
handleLink() {
wx.navigateTo({
url: '/doc/pages/doc1/index',
})
// wx.navigateTo({
// url: '/doc/pages/doc1/index',
// })
},
handleCheck() {
this.setData({

12
src/doctor/pages/login/index.wxml

@ -6,9 +6,9 @@ @@ -6,9 +6,9 @@
</navbar>
<view
class="page"
style="background: url('/images/bg4.png') no-repeat top center / 100% 710rpx;padding-top: {{pageTop+80}}px;"
style="background: url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center / 100% 710rpx;padding-top: {{pageTop+80}}px;"
>
<image class="page-title" src="/images/content2.png"></image>
<image class="page-title" src="{{imageUrl}}content2.png?t={{Timestamp}}"></image>
<view class="container">
<view class="content">
在您加入华观健康之前,请您阅读并充分理解
@ -48,12 +48,12 @@ @@ -48,12 +48,12 @@
</view>
<view class="submit" bind:tap="handleSubmit">立即加入</view>
</view>
<view class="check">
<image wx:if="{{check}}" class="icon" src="/images/icon18.png" bind:tap="handleCheck"></image>
<image wx:else class="icon" src="/images/icon12.png" bind:tap="handleCheck"></image>
<view class="check" bind:tap="handleCheck">
<image wx:if="{{check}}" class="icon" src="{{imageUrl}}icon18.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon12.png?t={{Timestamp}}"></image>
<view class="p">
我特此同意依照此
<text class="link" bind:tap="handleLink">《隐私协议保护政策》</text>
<text class="link" catch:tap="handleLink">《隐私协议保护政策》</text>
规定收集我的个人敏感信息
</view>
</view>

6
src/doctor/pages/loginForm/index.ts

@ -140,9 +140,9 @@ Page({ @@ -140,9 +140,9 @@ Page({
})
},
handleLink() {
wx.navigateTo({
url: '/doc/pages/doc1/index',
})
// wx.navigateTo({
// url: '/doc/pages/doc1/index',
// })
},
handleCheck() {
this.setData({

20
src/doctor/pages/loginForm/index.wxml

@ -6,9 +6,9 @@ @@ -6,9 +6,9 @@
</navbar>
<view
class="page"
style="background: url('/images/bg4.png') no-repeat top center / 100% 710rpx;padding-top: {{pageTop+80}}px;"
style="background: url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center / 100% 710rpx;padding-top: {{pageTop+80}}px;"
>
<image class="page-title" src="/images/content2.png"></image>
<image class="page-title" src="{{imageUrl}}content2.png?t={{Timestamp}}"></image>
<view class="form">
<view class="row">
<view class="label">您的身份</view>
@ -19,20 +19,20 @@ @@ -19,20 +19,20 @@
<view class="row">
<view class="label">所属药店</view>
<view class="wrap" bind:tap="handleDrug">
<input disabled type="text" class="input" placeholder-class="place-input" placeholder="选择所属药店" />
<image class="icon" src="/images/icon2.png"></image>
<input disabled type="text" class="input" placeholder-class="place-input" placeholder="选择所属药店" value="北京同仁堂昌平东关药店"/>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
</view>
</view>
<button class="phone" bind:tap="handleWxSubmit">注册</button>
<button class="phone" bind:tap="handleWxSubmit">立即加入药师端</button>
</view>
<van-popup show="{{ show }}" title="选择所属药店" position="bottom" round closeable bind:close="onClose">
<view class="popup">
<view class="popup" bind:tap="onClose">
<view class="p-header">
<view class="title">选择所属药店</view>
<view class="search">
<image class="icon" src="/images/icon1.png"></image>
<image class="icon" src="{{imageUrl}}icon1.png?t={{Timestamp}}"></image>
<input
type="text"
placeholder="搜索药店名/药师姓名"
@ -46,17 +46,17 @@ @@ -46,17 +46,17 @@
<view class="options">
<view class="o-item">
<view class="content">请选择省份</view>
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
<view class="o-item">
<view class="content">请选择省份</view>
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
</view>
</pickerArea>
</view>
<view class="p-list">
<view class="l-item">
<view class="l-item" bind:tap="onClose">
<view class="name">北京同仁堂昌平东关药店(医保定点)</view>
<view class="site">北京市昌平区府学路3号一层101号(昌平东关地铁站A西北口步行180米)</view>
</view>

5
src/doctor/pages/my/index.ts

@ -18,6 +18,11 @@ Page({ @@ -18,6 +18,11 @@ Page({
url: '/doctor/pages/invite/index',
})
},
handleExit() {
wx.redirectTo({
url: '/pages/work/index',
})
},
})
export {}

16
src/doctor/pages/my/index.wxml

@ -2,13 +2,13 @@ @@ -2,13 +2,13 @@
<view
class="page"
style="background:url('/images/bg7.png') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
style="background:url('{{imageUrl}}bg7.png?t={{Timestamp}}') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
>
<view class="user">
<view class="avatar">
<image class="a-img" src="/images/cache/a1.png"></image>
<image class="a-img" src="{{imageUrl}}cache/a1.png?t={{Timestamp}}"></image>
<view class="edit">
<image class="icon" src="/images/icon3.png"></image>
<image class="icon" src="{{imageUrl}}icon3.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="name">刘平安</view>
@ -16,26 +16,26 @@ @@ -16,26 +16,26 @@
</view>
<view class="list">
<view class="list-item" bind:tap="handleNickname">
<image class="icon" src="/images/icon14.png"></image>
<image class="icon" src="{{imageUrl}}icon14.png?t={{Timestamp}}"></image>
<view class="title">修改姓名</view>
<van-icon class="arrow" name="arrow" />
</view>
<view class="list-item" bind:tap="handleTel">
<image class="icon" src="/images/icon15.png"></image>
<image class="icon" src="{{imageUrl}}icon15.png?t={{Timestamp}}"></image>
<view class="title">修改手机号</view>
<van-icon class="arrow" name="arrow" />
</view>
<view class="list-item" bind:tap="handleInvite">
<image class="icon" src="/images/icon16.png"></image>
<image class="icon" src="{{imageUrl}}icon16.png?t={{Timestamp}}"></image>
<view class="title">我的邀约码</view>
<van-icon class="arrow" name="arrow" />
</view>
<view class="list-item">
<image class="icon" src="/images/icon17.png"></image>
<image class="icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
<view class="title">我的邀约人 <text class="content">(王建设 12345678901)</text></view>
</view>
</view>
<view class="exit">退出登录</view>
<view class="exit" bind:tap="handleExit">退出登录</view>
</view>
<doctor-tab-bar active="{{ 2 }}"></doctor-tab-bar>

16
src/doctor/pages/patientList/index.scss

@ -16,6 +16,9 @@ page { @@ -16,6 +16,9 @@ page {
.page {
.page-header {
position: sticky;
top: 0;
left: 0;
padding-bottom: 32rpx;
background: linear-gradient(0, #ffffff 0%, #fff1ea 100%);
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(26, 32, 32, 0.04);
@ -74,6 +77,7 @@ page { @@ -74,6 +77,7 @@ page {
}
}
.total {
padding: 10rpx 0;
font-size: 32rpx;
color: #342317;
text-align: right;
@ -214,6 +218,9 @@ page { @@ -214,6 +218,9 @@ page {
padding-top: 24rpx;
padding-bottom: 32rpx;
border-bottom: 1px solid #efefef;
.none {
color: #b7b7b7;
}
.date {
font-size: 32rpx;
color: #342317;
@ -254,6 +261,10 @@ page { @@ -254,6 +261,10 @@ page {
}
&.active {
.aside {
.line-top,
.line-bottom {
border-color: #ff8a4c;
}
.step {
.name {
color: #ff8a4c;
@ -274,6 +285,11 @@ page { @@ -274,6 +285,11 @@ page {
}
}
&:last-of-type {
.aside{
.line-bottom{
border: none;
}
}
.wrap {
padding-bottom: 0;
border-bottom: none;

110
src/doctor/pages/patientList/index.wxml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<navbar fixed custom-style="background: {{background}};">
<navbar fixed custom-style="background: transparent;">
<view class="page-switch" slot="left">
特诺雅
特诺雅<text style="font-size:0.5em;vertical-align: top;">®</text>
<van-icon class="arrow" name="arrow-down" />
</view>
</navbar>
@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
<view class="page">
<view class="page-header" style="padding-top: {{pageTop+20}}px">
<view class="search">
<image class="icon" src="/images/icon1.png"></image>
<image class="icon" src="{{imageUrl}}icon1.png?t={{Timestamp}}"></image>
<input
type="text"
placeholder="搜索药店名/药师姓名"
@ -23,14 +23,14 @@ @@ -23,14 +23,14 @@
<view class="col">
<view class="label">跳转:</view>
<view class="content">全部</view>
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
</picker>
<picker mode="region">
<view class="col">
<view class="label">入组:</view>
<view class="content">全部</view>
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>
@ -43,14 +43,14 @@ @@ -43,14 +43,14 @@
<picker class="picker" mode="date">
<view class="date">开始时间</view>
</picker>
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
<view class="row">
<picker mode="region">
<view class="col">
<view class="label">时间类型:</view>
<view class="content">全部</view>
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="total">
@ -60,9 +60,9 @@ @@ -60,9 +60,9 @@
</view>
</view>
<view class="page-container">
<view class="card">
<view class="card" wx:for="{{6}}" wx:key="index">
<view class="user">
<image class="avatar" src="/images/cache/a2.png"></image>
<image class="avatar" src="{{imageUrl}}cache/a2.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="info">
<text class="name">张患者</text>
@ -88,10 +88,37 @@ @@ -88,10 +88,37 @@
<view class="s1">审核中</view>
<view class="btn1">查看提交材料</view>
</view>
<view class="remark">材料信息不全</view>
</view>
</view>
<view class="c-item active">
<view class="c-item">
<view class="aside">
<view class="line-top"></view>
<view class="step">
<view class="name">未入组</view>
<view class="order"></view>
</view>
<view class="line-bottom"></view>
</view>
<view class="wrap">
<div class="none">---</div>
</view>
</view>
</view>
</view>
<view class="card" wx:if="{{false}}">
<view class="user">
<image class="avatar" src="{{imageUrl}}cache/a2.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="info">
<text class="name">张患者</text>
<text class="tel">13800138000</text>
</view>
<view class="site">康泰大药房(人民路店)</view>
<view class="date">绑定时间:2026/01/10 16:27:35</view>
</view>
</view>
<view class="container">
<view class="c-item">
<view class="aside">
<view class="line-top"></view>
<view class="step">
@ -104,11 +131,70 @@ @@ -104,11 +131,70 @@
<view class="date">2026/01/10 16:27:35</view>
<view class="status">
<view class="s2">驳回</view>
<view class="btn2" bind:tap="handleUpload">重新提交</view>
<view class="btn2">重新提交</view>
</view>
<view class="remark">材料信息不全</view>
</view>
</view>
<view class="c-item active">
<view class="aside">
<view class="line-top"></view>
<view class="step">
<view class="name">已入组</view>
<view class="order"></view>
</view>
<view class="line-bottom"></view>
</view>
<view class="wrap">
<view class="date">2026/01/10 16:27:35</view>
</view>
</view>
</view>
</view>
<view class="card" wx:if="{{false}}">
<view class="user">
<image class="avatar" src="{{imageUrl}}cache/a2.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="info">
<text class="name">张患者</text>
<text class="tel">13800138000</text>
</view>
<view class="site">康泰大药房(人民路店)</view>
<view class="date">绑定时间:2026/01/10 16:27:35</view>
</view>
</view>
<view class="container">
<view class="c-item active">
<view class="aside">
<view class="line-top"></view>
<view class="step">
<view class="name">已跳转</view>
<view class="order"></view>
</view>
<view class="line-bottom"></view>
</view>
<view class="wrap">
<view class="date">2026/01/10 16:27:35</view>
<view class="status">
<view class="s1">审核通过</view>
<view class="btn1">查看提交材料</view>
</view>
<view class="remark">材料信息不全</view>
</view>
</view>
<view class="c-item active">
<view class="aside">
<view class="line-top"></view>
<view class="step">
<view class="name">未跳转</view>
<view class="order"></view>
</view>
<view class="line-bottom"></view>
</view>
<view class="wrap">
<view class="date">2026/01/10 16:27:35</view>
</view>
</view>
</view>
</view>
</view>

3
src/doctor/pages/stat/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

4
src/doctor/pages/stat/index.wxml

@ -11,14 +11,14 @@ @@ -11,14 +11,14 @@
<picker class="picker" mode="date" end="{{end}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon13.png"></image>
<image class="icon" src="{{imageUrl}}icon13.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="line"></view>
<picker class="picker" mode="date" start="{{satrt}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon13.png"></image>
<image class="icon" src="{{imageUrl}}icon13.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>

4
src/ground/components/ground-tab-bar/index.wxml

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
<van-tabbar active="{{ active }}" active-color="#F23A2F" bind:change="onChange" inactive-color="#010105" placeholder>
<block wx:for="{{list}}" wx:key="*this">
<van-tabbar-item class="tab-item" wx:if="{{ index != 3 || !anyWhere}}" bind:tap="handleNav" data-index="{{index}}">
<image class="icon" slot="icon" src="/images/tabbar/{{item.icon}}.png?t={{Timestamp}}"></image>
<image class="icon" slot="icon-active" src="/images/tabbar/{{item.iconActive}}.png?t={{Timestamp}}"></image>
<image class="icon" slot="icon" src="{{imageUrl}}tabbar/{{item.icon}}.png?t={{Timestamp}}"></image>
<image class="icon" slot="icon-active" src="{{imageUrl}}tabbar/{{item.iconActive}}.png?t={{Timestamp}}"></image>
<view class="name {{index==active && 'active'}}">{{item.text}}</view>
</van-tabbar-item>
</block>

3
src/ground/pages/changeNickname/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

3
src/ground/pages/changeTel/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

13
src/ground/pages/home/index.ts

@ -1,5 +1,3 @@ @@ -1,5 +1,3 @@
import { color } from 'echarts'
const echarts = require('../../../components/ec-canvas/echarts.js')
Page({
@ -9,15 +7,22 @@ Page({ @@ -9,15 +7,22 @@ Page({
ecDataTrendComponent3_1: null as any,
async onLoad() {
const app = getApp<IAppOption>()
app.waitLogin().then(() => {
app.waitLogin().then(() => {})
const list = [
{ StatMonth: '2026-01', MonthInvitePCount: 1 },
{ StatMonth: '2026-02', MonthInvitePCount: 2 },
{ StatMonth: '2026-03', MonthInvitePCount: 3 },
{ StatMonth: '2026-04', MonthInvitePCount: 2 },
{ StatMonth: '2026-05', MonthInvitePCount: 5 },
{ StatMonth: '2026-06', MonthInvitePCount: 7 },
{ StatMonth: '2026-07', MonthInvitePCount: 5 },
{ StatMonth: '2026-08', MonthInvitePCount: 3 },
{ StatMonth: '2026-09', MonthInvitePCount: 8 },
{ StatMonth: '2026-10', MonthInvitePCount: 10 },
]
this.initChartBar(list)
this.initChartLine(list, '#chart2_1', this.ecDataTrendComponent2_1)
this.initChartLine(list, '#chart3_1', this.ecDataTrendComponent3_1)
})
},
initChartBar(list: any[]) {
return new Promise((reslove) => {

36
src/ground/pages/home/index.wxml

@ -1,22 +1,22 @@ @@ -1,22 +1,22 @@
<navbar fixed custom-style="background: {{background}};">
<view class="page-switch" slot="left" style="color: {{background=='transparent'?'#fff':'#4A8DFF'}};">
特诺雅
特诺雅<text style="font-size:0.5em;vertical-align: top;">®</text>
<van-icon class="arrow" name="arrow-down" />
</view>
</navbar>
<view
class="page"
style="background:url('/images/bg1.png') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
style="background:url('{{imageUrl}}bg1.png?t={{Timestamp}}') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
>
<view class="user">
<image class="avatar" src="/images/cache/a1.png"></image>
<image class="avatar" src="{{imageUrl}}cache/a1.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="name">刘平安</view>
<view class="label">邀约专员</view>
</view>
<view class="code" bind:tap="handleInvite">
<image class="icon" src="/images/icon7.png"></image>
<image class="icon" src="{{imageUrl}}icon7.png?t={{Timestamp}}"></image>
<van-icon class="arrow" name="arrow" />
</view>
</view>
@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
</view>
<view class="line"></view>
<view class="col">
<view class="name">药数</view>
<view class="name">药数</view>
<view class="num">400</view>
</view>
</view>
@ -110,8 +110,8 @@ @@ -110,8 +110,8 @@
</view>
</view>
<view class="c-options">
<view class="name">日统计</view>
<picker class="picker">
<view class="name">今日邀约患者数</view>
<picker class="picker" mode="date">
<view class="p-content">
<van-icon class="icon" name="arrow-left" />
<view class="content">2025/02/26</view>
@ -187,21 +187,21 @@ @@ -187,21 +187,21 @@
<picker class="picker" mode="date" end="{{end}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="line"></view>
<picker class="picker" mode="date" start="{{satrt}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>
<view class="chart-container">
<ec-canvas id="chart1_1" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
<view class="more">
<view class="more" bind:tap="handleInfo">
查看明细
<van-icon name="arrow" />
</view>
@ -218,24 +218,20 @@ @@ -218,24 +218,20 @@
<picker class="picker" mode="date" end="{{end}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="line"></view>
<picker class="picker" mode="date" start="{{satrt}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>
<view class="chart-container">
<ec-canvas id="chart2_1" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
<view class="more">
查看明细
<van-icon name="arrow" />
</view>
</view>
<view class="chat-data">
<view class="c-header">
@ -249,24 +245,20 @@ @@ -249,24 +245,20 @@
<picker class="picker" mode="date" end="{{end}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="line"></view>
<picker class="picker" mode="date" start="{{satrt}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>
<view class="chart-container">
<ec-canvas id="chart3_1" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
<view class="more" bind:tap="handleInfo">
查看明细
<van-icon name="arrow" />
</view>
</view>
</view>

3
src/ground/pages/invite/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

10
src/ground/pages/invite/index.wxml

@ -7,11 +7,11 @@ @@ -7,11 +7,11 @@
<view
class="page"
style="background: url('/images/bg5.png') no-repeat top center/100% 100vh;padding-top: {{pageTop+87}}px;"
style="background: url('{{imageUrl}}bg5.png?t={{Timestamp}}') no-repeat top center/100% 100vh;padding-top: {{pageTop+87}}px;"
>
<view class="page-container" style="background: url('/images/bg6.png') no-repeat top center/100% 964rpx">
<view class="page-container" style="background: url('{{imageUrl}}bg6.png?t={{Timestamp}}') no-repeat top center/100% 964rpx">
<view class="user">
<image class="avatar" src="/images/cache/a1.png" mode="aspectFill"></image>
<image class="avatar" src="{{imageUrl}}cache/a1.png?t={{Timestamp}}" mode="aspectFill"></image>
<view class="wrap">
<view class="nickname">刘平安</view>
<view class="label">邀约专员</view>
@ -19,11 +19,11 @@ @@ -19,11 +19,11 @@
</view>
<view class="title">邀请您加入健康管理项目</view>
<view class="brand">
<view class="name">特诺雅</view>
<view class="name">特诺雅<text style="font-size:0.5em;vertical-align: top;">®</text></view>
<view class="bg"></view>
</view>
<view class="code-wrap">
<image class="code" src="/images/cache/c1.png" show-menu-by-longpress></image>
<image class="code" src="{{imageUrl}}cache/c1.png?t={{Timestamp}}" show-menu-by-longpress></image>
</view>
<view class="tip">
<view class="dot"></view>

6
src/ground/pages/login/index.ts

@ -139,9 +139,9 @@ Page({ @@ -139,9 +139,9 @@ Page({
})
},
handleLink() {
wx.navigateTo({
url: '/doc/pages/doc1/index',
})
// wx.navigateTo({
// url: '/doc/pages/doc1/index',
// })
},
handleCheck() {
this.setData({

12
src/ground/pages/login/index.wxml

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
<navbar fixed custom-style="background:transparent" back></navbar>
<view
class="page"
style="background: url('/images/bg4.png') no-repeat top center / 100% 710rpx;padding-top: {{pageTop+80}}px;"
style="background: url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center / 100% 710rpx;padding-top: {{pageTop+80}}px;"
>
<image class="page-title" src="/images/content1.png"></image>
<image class="page-title" src="{{imageUrl}}content1.png?t={{Timestamp}}"></image>
<view class="container">
<view class="content">
在您加入华观健康之前,请您阅读并充分理解
@ -43,12 +43,12 @@ @@ -43,12 +43,12 @@
</view>
<view class="submit" bind:tap="handleSubmit">立即加入</view>
</view>
<view class="check">
<image wx:if="{{check}}" class="icon" src="/images/icon11.png" bind:tap="handleCheck"></image>
<image wx:else class="icon" src="/images/icon12.png" bind:tap="handleCheck"></image>
<view class="check" bind:tap="handleCheck">
<image wx:if="{{check}}" class="icon" src="{{imageUrl}}icon11.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon12.png?t={{Timestamp}}"></image>
<view class="p">
我特此同意依照此
<text class="link" bind:tap="handleLink">《隐私协议保护政策》</text>
<text class="link" catch:tap="handleLink">《隐私协议保护政策》</text>
规定收集我的个人敏感信息
</view>
</view>

5
src/ground/pages/my/index.ts

@ -18,6 +18,11 @@ Page({ @@ -18,6 +18,11 @@ Page({
url: '/ground/pages/stat/index',
})
},
hadleExit() {
wx.reLaunch({
url: '/pages/work/index',
})
},
})
export {}

14
src/ground/pages/my/index.wxml

@ -2,13 +2,13 @@ @@ -2,13 +2,13 @@
<view
class="page"
style="background:url('/images/bg1.png') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
style="background:url('{{imageUrl}}bg1.png?t={{Timestamp}}') no-repeat top center/100% 602rpx; padding-top: {{pageTop+20}}px"
>
<view class="user">
<view class="avatar">
<image class="a-img" src="/images/cache/a1.png"></image>
<image class="a-img" src="{{imageUrl}}cache/a1.png?t={{Timestamp}}"></image>
<view class="edit">
<image class="icon" src="/images/icon3.png"></image>
<image class="icon" src="{{imageUrl}}icon3.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="name">刘平安</view>
@ -16,22 +16,22 @@ @@ -16,22 +16,22 @@
</view>
<view class="list">
<view class="list-item" bind:tap="handleNickname">
<image class="icon" src="/images/icon4.png"></image>
<image class="icon" src="{{imageUrl}}icon4.png?t={{Timestamp}}"></image>
<view class="title">修改姓名</view>
<van-icon class="arrow" name="arrow" />
</view>
<view class="list-item" bind:tap="handleTel">
<image class="icon" src="/images/icon5.png"></image>
<image class="icon" src="{{imageUrl}}icon5.png?t={{Timestamp}}"></image>
<view class="title">修改手机号</view>
<van-icon class="arrow" name="arrow" />
</view>
<view class="list-item" bind:tap="handleInvite">
<image class="icon" src="/images/icon6.png"></image>
<image class="icon" src="{{imageUrl}}icon6.png?t={{Timestamp}}"></image>
<view class="title">我的邀约码</view>
<van-icon class="arrow" name="arrow" />
</view>
</view>
<view class="exit">退出登录</view>
<view class="exit" bind:tap="hadleExit">退出登录</view>
</view>
<ground-tab-bar active="{{ 2 }}"></ground-tab-bar>

9
src/ground/pages/pharmacist/index.wxml

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
<navbar fixed custom-style="background: #fff;">
<view class="page-switch" slot="left">
特诺雅
<text style="font-size: 0.5em; vertical-align: top">®</text>
<van-icon class="arrow" name="arrow-down" />
</view>
</navbar>
@ -8,7 +9,7 @@ @@ -8,7 +9,7 @@
<view class="page" style="padding-top:{{pageTop}}px">
<view class="page-header">
<view class="search">
<image class="icon" src="/images/icon1.png"></image>
<image class="icon" src="{{imageUrl}}icon1.png?t={{Timestamp}}"></image>
<input
type="text"
placeholder="搜索药店名/药师姓名"
@ -22,7 +23,7 @@ @@ -22,7 +23,7 @@
<picker class="picker" mode="date">
<view class="date">
时间筛选
<image class="icon" src="/images/icon2.png"></image>
<image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="total">
@ -34,10 +35,10 @@ @@ -34,10 +35,10 @@
</view>
<view class="page-container">
<!-- 药师信息卡片 -->
<view class="pharmacist-card">
<view class="pharmacist-card" wx:for="{{10}}" wx:key="index">
<!-- 药师基本信息 -->
<view class="user">
<image class="avatar" src="/images/cache/a2.png"></image>
<image class="avatar" src="{{imageUrl}}cache/a2.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="pharmacist-info">
<text class="pharmacist-name">张药师</text>

3
src/ground/pages/stat/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

1
src/ground/pages/stat/index.scss

@ -10,6 +10,7 @@ page { @@ -10,6 +10,7 @@ page {
}
.page {
padding-bottom: 80rpx;
.page-header {
position: sticky;
left: 0;

80
src/ground/pages/stat/index.wxml

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
<navbar fixed custom-style="background:#fff">
<view slot="left" class="page-title">
<van-icon class="back" slot="left" name="arrow-left" bind:tap="handleBack" />
专属邀约码
邀约明细
</view>
</navbar>
@ -11,14 +11,14 @@ @@ -11,14 +11,14 @@
<picker class="picker" mode="date" end="{{end}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
<view class="line"></view>
<picker class="picker" mode="date" start="{{satrt}}">
<view class="p-content">
<view class="content">2025/02/26</view>
<image class="icon" src="/images/icon8.png"></image>
<image class="icon" src="{{imageUrl}}icon8.png?t={{Timestamp}}"></image>
</view>
</picker>
</view>
@ -121,5 +121,79 @@ @@ -121,5 +121,79 @@
</view>
</view>
</view>
<view class="module">
<view class="aside">
<view class="line-top"></view>
<view class="dot"></view>
<view class="line-bottom"></view>
</view>
<view class="m-container">
<view class="date">2025/02/25</view>
<view class="card">
<view class="row2">
<view class="col">
<view class="name">邀约患者数</view>
<view class="num">750</view>
</view>
<view class="line"></view>
<view class="col">
<view class="name">跳转患者数</view>
<view class="num">750</view>
</view>
<view class="line"></view>
<view class="col">
<view class="name">入组患者数</view>
<view class="num">750</view>
</view>
</view>
<view class="row3">
<view class="col">
<view class="name">入组患者数</view>
<view class="num">300</view>
<view class="line"></view>
</view>
<view class="col">
<view class="name">斑块状银屑病</view>
<view class="num">280</view>
</view>
<view class="col">
<view class="name">斑块状银屑病</view>
<view class="num">280</view>
<view class="line"></view>
</view>
</view>
<view class="row3">
<view class="col">
<view class="name">溃疡性结肠炎</view>
<view class="num">300</view>
<view class="line"></view>
</view>
<view class="col">
<view class="name">溃疡性结肠炎</view>
<view class="num">280</view>
</view>
<view class="col">
<view class="name">溃疡性结肠炎</view>
<view class="num">280</view>
<view class="line"></view>
</view>
</view>
<view class="row3">
<view class="col">
<view class="name">克罗恩病</view>
<view class="num">300</view>
</view>
<view class="col">
<view class="name">克罗恩病</view>
<view class="num">280</view>
</view>
<view class="col">
<view class="name">克罗恩病</view>
<view class="num">280</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>

BIN
src/images/cache/bg3.png vendored

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

BIN
src/images/icon22.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/images/icon23.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

4
src/miniprogram_npm/a-calc/index.js

File diff suppressed because one or more lines are too long

4
src/miniprogram_npm/dayjs/index.js

File diff suppressed because one or more lines are too long

3
src/pages/index/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"navigationStyle": "custom",
"usingComponents": {
"popup": "/components/popup/index",
"navbar": "/components/navbar/index",
"login":"/components/login/index"
"navbar": "/components/navbar/index"
}
}

5
src/pages/index/index.scss

@ -61,6 +61,11 @@ @@ -61,6 +61,11 @@
padding: 0 32rpx;
margin-bottom: 32rpx;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(26, 32, 32, 0.04);
outline: none;
border: none;
&::after {
border: none;
}
&.active {
background-color: #00b2a9;

7
src/pages/index/index.ts

@ -14,7 +14,7 @@ Page({ @@ -14,7 +14,7 @@ Page({
// 适应症选项
options: [
{ id: 1, name: '斑块状银屑病', active: true },
{ id: 1, name: '斑块状银屑病', active: false },
{ id: 2, name: '克罗恩病', active: false },
{ id: 3, name: '溃疡性结肠炎', active: false },
],
@ -55,6 +55,11 @@ Page({ @@ -55,6 +55,11 @@ Page({
options: newOptions,
})
},
handleWxSubmit() {
wx.navigateToMiniProgram({
appId: 'wx05551c5ee1fd1c12',
})
},
// 切换协议勾选状态
toggleAgreement() {

16
src/pages/index/index.wxml

@ -4,33 +4,35 @@ @@ -4,33 +4,35 @@
<view
class="page"
style="background: url('/images/bg2.png') no-repeat top center/100% 558rpx;padding-top: {{pageTop+24}}px;"
style="background: url('{{imageUrl}}bg2.png?t={{Timestamp}}') no-repeat top center/100% 558rpx;padding-top: {{pageTop+24}}px;"
>
<swiper class="banner">
<swiper-item class="b-item">
<image class="b-img" src="/images/cache/bg1.png"></image>
<image class="b-img" src="{{imageUrl}}cache/bg1.png?t={{Timestamp}}"></image>
</swiper-item>
</swiper>
<view class="blur"></view>
<view class="prompt-title">请确认您是特诺雅的已处方患者</view>
<view class="prompt-title">请确认您是特诺雅<text style="font-size:0.5em;vertical-align: top;">®</text>的已处方患者</view>
<view class="prompt-desc">本品为注射针剂,需遵医嘱使用,请根据您的处方选择您的适应症</view>
<view class="options">
<view
<button
wx:for="{{options}}"
wx:key="id"
class="option-item {{item.active ? 'active' : ''}}"
bindtap="selectOption"
data-id="{{item.id}}"
open-type="getPhoneNumber"
bindgetphonenumber="handleWxSubmit"
>
<view class="option-text">{{item.name}}</view>
<view class="option-select">
选择
<van-icon name="arrow" />
</view>
</view>
</button>
</view>
<view class="agreement" bindtap="toggleAgreement">
<radio class="radio" color="#00B2A9"></radio>
<radio class="radio" checked color="#00B2A9"></radio>
<view class="agreement-text">
同意
<text class="link">《用户与隐私保护协议》</text>
@ -38,7 +40,7 @@ @@ -38,7 +40,7 @@
</view>
<view class="work" bind:tap="handleWork">
我是工作人员
<image class="icon" src="/images/icon9.png"></image>
<image class="icon" src="{{imageUrl}}icon9.png?t={{Timestamp}}"></image>
</view>
</view>

7
src/pages/start/index.ts

@ -8,12 +8,15 @@ Page({ @@ -8,12 +8,15 @@ Page({
const { doctorId } = parseScene(options.scene) as { doctorId: string }
app.globalData.waitBindDoctorId = doctorId
}
app.waitLogin().then(() => {
// app.waitLogin().then(() => {
// const initLoginInfo = app.globalData.initLoginInfo || {}
// wx.reLaunch({
// url: '/pages/index/index',
// })
// })
wx.reLaunch({
url: '/pages/index/index',
})
})
},
})

2
src/pages/start/index.wxml

@ -1 +1 @@ @@ -1 +1 @@
<image src="/images/start1.png" mode="aspectFill" class="page"></image>
<image src="{{imageUrl}}start1.png?t={{Timestamp}}" mode="aspectFill" class="page"></image>

14
src/pages/work/index.wxml

@ -2,31 +2,31 @@ @@ -2,31 +2,31 @@
<view
class="page"
style="background: url('/images/bg3.png') no-repeat top center/100% 956rpx;padding-top: {{pageTop+70}}px;"
style="background: url('{{imageUrl}}bg3.png?t={{Timestamp}}') no-repeat top center/100% 956rpx;padding-top: {{pageTop+70}}px;"
>
<view class="page-title">请选择您的身份</view>
<view class="page-content">便于我们为您提供最佳服务</view>
<view class="page-container">
<view class="card" bind:tap="handleGround">
<image class="icon" src="/images/icon19.png"></image>
<image class="icon" src="{{imageUrl}}icon19.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="title">我是邀约专员</view>
<view class="content">登录邀约专员专属版本</view>
</view>
<image class="more" src="/images/icon10.png"></image>
<image class="more" src="{{imageUrl}}icon10.png?t={{Timestamp}}"></image>
</view>
<view class="card" bind:tap="handleDoctor">
<image class="icon" src="/images/icon20.png"></image>
<image class="icon" src="{{imageUrl}}icon20.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="title">我是药师</view>
<view class="content">登录药师专属版本</view>
</view>
<image class="more" src="/images/icon10.png"></image>
<image class="more" src="{{imageUrl}}icon10.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="work" bind:tap="hadlePatient">
患者
<image class="icon" src="/images/icon9.png"></image>
我是患者
<image class="icon" src="{{imageUrl}}icon9.png?t={{Timestamp}}"></image>
</view>
</view>

Loading…
Cancel
Save