diff --git a/README.md b/README.md
index a0a41b7..a8a26f1 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
1. user 打开小程序进入 身份认证页面
2. 判断图片是否涂抹
-
3. 图像识别模糊 可以反向确认 通过ocr识别接口 接入ocr同时识别不到 姓名,年龄等字样,及判断该病例已被涂抹
+
+https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567
+
images svn 地址
svn://39.106.86.127:28386/projects/takeda/proj_src/shop/frontend/web/wt
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..17c0528
--- /dev/null
+++ b/index.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+ Document
+
+
+
+
+
diff --git a/project.private.config.json b/project.private.config.json
index 80240a4..7524b0e 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -8,6 +8,34 @@
"miniprogram": {
"list": [
{
+ "name": "首页",
+ "pathName": "pages/home/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "指派医生",
+ "pathName": "module1/pages/setDoctor/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "医生审核详情",
+ "pathName": "module1/pages/auditDoctorDetail/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "医生审核列表",
+ "pathName": "module1/pages/auditDoctorList/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "医生认证结果页",
"pathName": "module1/pages/setInfoResult/index",
"query": "",
diff --git a/src/app.json b/src/app.json
index 80b1816..90c2480 100644
--- a/src/app.json
+++ b/src/app.json
@@ -1,6 +1,6 @@
{
"$schema": "https://dldir1.qq.com/WechatWebDev/editor-extension/wx-json/app.schema.json",
- "pages": ["pages/start/index"],
+ "pages": ["pages/start/index", "pages/home/index", "pages/cases/index"],
"subPackages": [
{
"root": "echart",
@@ -16,7 +16,10 @@
"pages/setInfoResult/index",
"pages/sDoctor/index",
"pages/cDoctor/index",
- "pages/cDoctorResult/index"
+ "pages/cDoctorResult/index",
+ "pages/auditDoctorList/index",
+ "pages/auditDoctorDetail/index",
+ "pages/setDoctor/index"
]
}
],
@@ -27,6 +30,19 @@
"navigationBarTextStyle": "black",
"navigationStyle": "custom"
},
+ "tabBar": {
+ "custom": true,
+ "list": [
+ {
+ "pagePath": "pages/home/index",
+ "text": "首页"
+ },
+ {
+ "pagePath": "pages/cases/index",
+ "text": "病例"
+ }
+ ]
+ },
"resolveAlias": {
"@/*": "/*"
},
diff --git a/src/app.ts b/src/app.ts
index 618fc4f..92fcf00 100644
--- a/src/app.ts
+++ b/src/app.ts
@@ -1,3 +1,4 @@
+import component from '@/utils/component'
import relativeTime from '@/utils/dayjs/relativeTime.js'
import page from '@/utils/page'
@@ -26,6 +27,7 @@ App({
},
onLaunch() {
Page = page as WechatMiniprogram.Page.Constructor
+ Component = component as WechatMiniprogram.Component.Constructor
wx.ajax = licia.curry(request)({ gUrl: this.globalData.url })
diff --git a/src/components/doctorAvatar/index.json b/src/components/doctorAvatar/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/src/components/doctorAvatar/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/src/components/doctorAvatar/index.scss b/src/components/doctorAvatar/index.scss
new file mode 100644
index 0000000..2b70efd
--- /dev/null
+++ b/src/components/doctorAvatar/index.scss
@@ -0,0 +1,17 @@
+.avatar {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ .a-img {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ }
+ .mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ }
+}
diff --git a/src/components/doctorAvatar/index.ts b/src/components/doctorAvatar/index.ts
new file mode 100644
index 0000000..6613a4e
--- /dev/null
+++ b/src/components/doctorAvatar/index.ts
@@ -0,0 +1,29 @@
+const _app = getApp()
+
+// pages/story/a.ts
+Component({
+ /**
+ * 组件的属性列表
+ */
+ externalClasses: true,
+ properties: {
+ src: {
+ type: String,
+ value: '',
+ },
+ level: {
+ type: Number,
+ value: 1,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {},
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {},
+})
diff --git a/src/components/doctorAvatar/index.wxml b/src/components/doctorAvatar/index.wxml
new file mode 100644
index 0000000..09d1dd5
--- /dev/null
+++ b/src/components/doctorAvatar/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/components/popupDoctorDetail/index.json b/src/components/popupDoctorDetail/index.json
new file mode 100644
index 0000000..fa8fca7
--- /dev/null
+++ b/src/components/popupDoctorDetail/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "@vant/weapp/popup/index",
+ "doctorAvatar": "/components/doctorAvatar/index",
+ "van-icon": "@vant/weapp/icon/index"
+ }
+}
diff --git a/src/components/popupDoctorDetail/index.scss b/src/components/popupDoctorDetail/index.scss
new file mode 100644
index 0000000..4f42d44
--- /dev/null
+++ b/src/components/popupDoctorDetail/index.scss
@@ -0,0 +1,116 @@
+.doctor-detail {
+ padding: 48rpx 32rpx;
+ width: 662rpx;
+ height: 874rpx;
+ background: #ffffff;
+ box-sizing: border-box;
+ border-radius: 16rpx 16rpx 16rpx 16rpx;
+ .close {
+ position: absolute;
+ top: 24rpx;
+ right: 24rpx;
+ color: rgba(133, 133, 133, 1);
+ }
+ .title {
+ text-align: center;
+ font-size: 36rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ }
+ .user {
+ display: flex;
+ gap: 24rpx;
+ .avatar {
+ flex-shrink: 0;
+ width: 112rpx;
+ height: 112rpx;
+ }
+ .wrap {
+ .name {
+ font-size: 36rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ }
+ .w-footer {
+ margin-top: 16rpx;
+ .label {
+ display: inline;
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ }
+ .line {
+ vertical-align: middle;
+ display: inline-block;
+ margin: 0 12rpx;
+ width: 1px;
+ height: 24rpx;
+ background-color: rgba(205, 205, 205, 1);
+ }
+ }
+ }
+ }
+ .row {
+ padding: 32rpx 0;
+ display: flex;
+ border-bottom: 1px solid rgba(224, 224, 224, 0.5);
+ line-height: 32rpx;
+ .label {
+ padding-right: 1em;
+ flex-shrink: 0;
+ width: 4em;
+ font-size: 28rpx;
+ color: rgba(153, 153, 153, 1);
+ text-align: right;
+ }
+ .hostipal {
+ flex: 1;
+ .h-name {
+ margin-right: 12rpx;
+ display: inline;
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ }
+ .h-tag {
+ margin-right: 12rpx;
+ display: inline-block;
+ padding: 0 8rpx;
+ font-size: 24rpx;
+ color: rgba(255, 255, 255, 1);
+ border-radius: 4rpx;
+ background: #00b4c5;
+ }
+ .h-site {
+ display: inline-block;
+ padding: 0 8rpx;
+ font-size: 24rpx;
+ color: rgba(148, 87, 30, 1);
+ border-radius: 4rpx;
+ background-color: rgba(250, 229, 206, 1);
+ }
+ }
+ .specialty {
+ flex: 1;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 12rpx;
+ .s-tag {
+ padding: 0 8rpx;
+ font-size: 22rpx;
+ color: rgba(0, 180, 197, 1);
+ line-height: 32rpx;
+ border-radius: 4rpx 4rpx 4rpx 4rpx;
+ border: 1rpx solid #bfeff4;
+ }
+ }
+ .brief-introduction {
+ flex: 1;
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ line-height: 44rpx;
+ white-space: pre-line;
+ }
+ &:last-of-type {
+ border-bottom: none;
+ }
+ }
+}
diff --git a/src/components/popupDoctorDetail/index.ts b/src/components/popupDoctorDetail/index.ts
new file mode 100644
index 0000000..7b49439
--- /dev/null
+++ b/src/components/popupDoctorDetail/index.ts
@@ -0,0 +1,24 @@
+const _app = getApp()
+
+// pages/story/a.ts
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ show: {
+ type: Boolean,
+ value: false,
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {},
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {},
+})
diff --git a/src/components/popupDoctorDetail/index.wxml b/src/components/popupDoctorDetail/index.wxml
new file mode 100644
index 0000000..8a10fec
--- /dev/null
+++ b/src/components/popupDoctorDetail/index.wxml
@@ -0,0 +1,45 @@
+
+
+
+ 医生详情
+
+
+
+ 徐萌
+
+
+
+
+ 所在医院
+
+ 四川华西医院
+ 三甲
+ 成都市/金牛区
+
+
+
+ 专长
+
+ 冠心病
+ 冠心病
+ 冠心病
+ 冠心病
+
+
+
+ 简介
+
+ 曾任华西医院急诊科副主任、
+ 血管疾病腔内治疗中心副主任。目前担任心脏和大血管外科教授、主任医师,硕士研究生导师。曾任华西医院急诊科副主任、血管疾病腔内治疗中心副主任。目前担任心脏和大血管外科教授、主任医师,硕士研究生导师。
+
+
+
+
diff --git a/src/custom-tab-bar/index.json b/src/custom-tab-bar/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/src/custom-tab-bar/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/src/custom-tab-bar/index.scss b/src/custom-tab-bar/index.scss
new file mode 100644
index 0000000..037271c
--- /dev/null
+++ b/src/custom-tab-bar/index.scss
@@ -0,0 +1,54 @@
+.tabbar {
+ padding: 0 0 calc(env(safe-area-inset-bottom) + 12rpx);
+ display: flex;
+ justify-content: space-between;
+ background-color: #fff;
+ box-shadow: 0rpx 3rpx 27rpx 0rpx rgba(40, 48, 49, 0.1);
+ .custom {
+ flex-shrink: 0;
+ position: relative;
+ width: 94rpx;
+ height: 94rpx;
+ .add {
+ position: absolute;
+ top: -42rpx;
+ width: 94rpx;
+ height: 94rpx;
+ }
+ }
+ .tab-item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ .icon {
+ display: block;
+ width: 48rpx;
+ height: 48rpx;
+ }
+ .icon-active {
+ display: none;
+ width: 48rpx;
+ height: 48rpx;
+ }
+ .name {
+ margin-top: 8rpx;
+ font-size: 22rpx;
+ color: rgba(20, 21, 21, 1);
+ line-height: 21rpx;
+ }
+ &.active {
+ .icon {
+ display: none;
+ }
+ .icon-active {
+ display: block;
+ }
+ .name {
+ color: rgba(0, 180, 197, 1);
+ }
+ }
+ }
+}
diff --git a/src/custom-tab-bar/index.ts b/src/custom-tab-bar/index.ts
new file mode 100644
index 0000000..3c80b50
--- /dev/null
+++ b/src/custom-tab-bar/index.ts
@@ -0,0 +1,59 @@
+const _app = getApp()
+
+// pages/story/a.ts
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {},
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ tabbar: [
+ {
+ path: '/pages/home/index',
+ name: '首页',
+ icon: 'tab1.png',
+ iconActive: 'tab-active1.png',
+ },
+ {
+ path: '/pages/home/index',
+ name: '首页',
+ icon: 'tab2.png',
+ iconActive: 'tab-active2.png',
+ },
+ {
+ custom: true,
+ path: '/pages/home/index',
+ },
+ {
+ path: '/pages/home/index',
+ name: '首页',
+ icon: 'tab3.png',
+ iconActive: 'tab-active3.png',
+ },
+ {
+ path: '/pages/home/index',
+ name: '首页',
+ icon: 'tab4.png',
+ iconActive: 'tab-active3.png',
+ },
+ ],
+ },
+ attached() {},
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ handleTab(e: any) {
+ const { index } = e.currentTarget.dataset
+ const tab = this.data.tabbar[index]
+ wx.switchTab({
+ url: tab.path,
+ })
+ },
+ },
+})
diff --git a/src/custom-tab-bar/index.wxml b/src/custom-tab-bar/index.wxml
new file mode 100644
index 0000000..fa61949
--- /dev/null
+++ b/src/custom-tab-bar/index.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
diff --git a/src/echart/components/homeLevel1/index.json b/src/echart/components/homeLevel1/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/src/echart/components/homeLevel1/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/src/echart/components/homeLevel1/index.scss b/src/echart/components/homeLevel1/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/echart/components/homeLevel1/index.ts b/src/echart/components/homeLevel1/index.ts
new file mode 100644
index 0000000..82539bc
--- /dev/null
+++ b/src/echart/components/homeLevel1/index.ts
@@ -0,0 +1,25 @@
+const _app = getApp();
+
+// pages/story/a.ts
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+})
diff --git a/src/echart/components/homeLevel1/index.wxml b/src/echart/components/homeLevel1/index.wxml
new file mode 100644
index 0000000..ceea2d8
--- /dev/null
+++ b/src/echart/components/homeLevel1/index.wxml
@@ -0,0 +1 @@
+11
diff --git a/src/images/.DS_Store b/src/images/.DS_Store
index 0427456..c19762b 100644
Binary files a/src/images/.DS_Store and b/src/images/.DS_Store differ
diff --git a/src/images/doctor-level2.png b/src/images/doctor-level2.png
new file mode 100644
index 0000000..f1da2d6
Binary files /dev/null and b/src/images/doctor-level2.png differ
diff --git a/src/images/doctor-level3.png b/src/images/doctor-level3.png
new file mode 100644
index 0000000..7a44db4
Binary files /dev/null and b/src/images/doctor-level3.png differ
diff --git a/src/images/home-bg.png b/src/images/home-bg.png
new file mode 100644
index 0000000..eb67ed4
Binary files /dev/null and b/src/images/home-bg.png differ
diff --git a/src/images/home-logo.png b/src/images/home-logo.png
new file mode 100644
index 0000000..a409398
Binary files /dev/null and b/src/images/home-logo.png differ
diff --git a/src/images/icon-reject.png b/src/images/icon-reject.png
new file mode 100644
index 0000000..6d013c5
Binary files /dev/null and b/src/images/icon-reject.png differ
diff --git a/src/images/icon-resolve.png b/src/images/icon-resolve.png
new file mode 100644
index 0000000..ebde9ce
Binary files /dev/null and b/src/images/icon-resolve.png differ
diff --git a/src/images/tabbar/add.png b/src/images/tabbar/add.png
new file mode 100644
index 0000000..4954509
Binary files /dev/null and b/src/images/tabbar/add.png differ
diff --git a/src/images/tabbar/tab-active1.png b/src/images/tabbar/tab-active1.png
new file mode 100644
index 0000000..927cced
Binary files /dev/null and b/src/images/tabbar/tab-active1.png differ
diff --git a/src/images/tabbar/tab-active2.png b/src/images/tabbar/tab-active2.png
new file mode 100644
index 0000000..17b8ca7
Binary files /dev/null and b/src/images/tabbar/tab-active2.png differ
diff --git a/src/images/tabbar/tab-active3.png b/src/images/tabbar/tab-active3.png
new file mode 100644
index 0000000..b2caec4
Binary files /dev/null and b/src/images/tabbar/tab-active3.png differ
diff --git a/src/images/tabbar/tab-active4.png b/src/images/tabbar/tab-active4.png
new file mode 100644
index 0000000..3753044
Binary files /dev/null and b/src/images/tabbar/tab-active4.png differ
diff --git a/src/images/tabbar/tab1.png b/src/images/tabbar/tab1.png
new file mode 100644
index 0000000..377f1f4
Binary files /dev/null and b/src/images/tabbar/tab1.png differ
diff --git a/src/images/tabbar/tab2.png b/src/images/tabbar/tab2.png
new file mode 100644
index 0000000..08a77ba
Binary files /dev/null and b/src/images/tabbar/tab2.png differ
diff --git a/src/images/tabbar/tab3.png b/src/images/tabbar/tab3.png
new file mode 100644
index 0000000..da38759
Binary files /dev/null and b/src/images/tabbar/tab3.png differ
diff --git a/src/images/tabbar/tab4.png b/src/images/tabbar/tab4.png
new file mode 100644
index 0000000..650ab86
Binary files /dev/null and b/src/images/tabbar/tab4.png differ
diff --git a/src/images/text-specialty.png b/src/images/text-specialty.png
new file mode 100644
index 0000000..f192f7a
Binary files /dev/null and b/src/images/text-specialty.png differ
diff --git a/src/module1/pages/auditDoctorDetail/index.json b/src/module1/pages/auditDoctorDetail/index.json
new file mode 100644
index 0000000..bb80c7e
--- /dev/null
+++ b/src/module1/pages/auditDoctorDetail/index.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "审核详情",
+ "navigationStyle": "default",
+ "usingComponents": {
+ "van-dialog": "@vant/weapp/dialog/index"
+ }
+}
diff --git a/src/module1/pages/auditDoctorDetail/index.scss b/src/module1/pages/auditDoctorDetail/index.scss
new file mode 100644
index 0000000..34ee470
--- /dev/null
+++ b/src/module1/pages/auditDoctorDetail/index.scss
@@ -0,0 +1,228 @@
+page {
+ background-color: rgba(246, 246, 246, 1);
+}
+
+.page {
+ padding: 24rpx 32rpx 240rpx;
+ .card {
+ margin-bottom: 24rpx;
+ padding: 0 32rpx;
+ border-radius: 16rpx;
+ background-color: #fff;
+ .row {
+ padding: 32rpx 0;
+ display: flex;
+ border-bottom: 1px solid rgba(224, 224, 224, 0.5);
+ .label {
+ flex-shrink: 0;
+ width: 5em;
+ font-size: 32rpx;
+ color: rgba(133, 133, 133, 1);
+ }
+ .content {
+ flex: 1;
+ font-size: 32rpx;
+ color: rgba(20, 21, 21, 1);
+ }
+ .photo-wrap {
+ flex: 1;
+ display: grid;
+ gap: 24rpx;
+ grid-template-columns: repeat(2, 1fr);
+ .photo {
+ position: relative;
+ display: block;
+ width: 100%;
+ height: 152rpx;
+ border-radius: 16rpx;
+ .preview {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ padding: 4rpx 0;
+ font-size: 24rpx;
+ line-height: 32rpx;
+ text-align: center;
+ color: rgba(255, 255, 255, 1);
+ background: rgba(0, 0, 0, 0.57);
+ }
+ }
+ }
+ &:last-of-type {
+ border-bottom: none;
+ }
+ }
+ .user {
+ padding: 30rpx 0;
+ .avatar {
+ margin: 0 auto;
+ display: block;
+ width: 160rpx;
+ height: 160rpx;
+ border-radius: 50%;
+ }
+ }
+ }
+
+ .footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ padding: 32rpx 32rpx calc(env(safe-area-inset-bottom) + 32rpx);
+ width: 100%;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background-color: #fff;
+ box-shadow: 0 -10rpx 20rpx rgba(0, 0, 0, 0.1);
+ .cancel {
+ width: 332rpx;
+ height: 88rpx;
+ text-align: center;
+ line-height: 88rpx;
+ font-size: 32rpx;
+ color: rgba(1, 180, 197, 1);
+ border-radius: 96rpx 96rpx 96rpx 96rpx;
+ border: 1rpx solid #01b4c5;
+ }
+ .submit {
+ width: 330rpx;
+ height: 88rpx;
+ text-align: center;
+ line-height: 88rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
+ border-radius: 96rpx;
+ }
+ }
+}
+
+.dialog {
+ padding: 56rpx 32rpx;
+ .d-title {
+ font-size: 32rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ }
+ .btn1 {
+ margin-top: 32rpx;
+ padding: 14rpx;
+ text-align: center;
+ background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
+ border-radius: 60rpx 60rpx 60rpx 60rpx;
+ .title {
+ font-size: 32rpx;
+ color: rgba(255, 255, 255, 1);
+ }
+ .explanation {
+ font-size: 22rpx;
+ color: rgba(255, 255, 255, 1);
+ }
+ }
+ .btn2 {
+ margin-top: 32rpx;
+ padding: 12rpx;
+ text-align: center;
+ border-radius: 60rpx 60rpx 60rpx 60rpx;
+ box-sizing: border-box;
+ border: 1px solid #00b4c5;
+ .title {
+ font-size: 32rpx;
+ color: rgba(0, 180, 197, 1);
+ }
+ .explanation {
+ font-size: 22rpx;
+ color: rgba(0, 180, 197, 1);
+ }
+ }
+ .cancel {
+ margin: 32rpx 0 0;
+ font-size: 32rpx;
+ line-height: 44rpx;
+ color: rgba(0, 180, 197, 1);
+ text-align: center;
+ }
+}
+
+.reject {
+ background-color: transparent;
+ .r-badge {
+ position: relative;
+ z-index: 1;
+ display: block;
+ margin: 0 auto;
+ width: 152rpx;
+ height: 152rpx;
+ }
+ .r-container {
+ margin-top: -76rpx;
+ padding: 78rpx 32rpx 40rpx;
+ background-color: #fff;
+ border-radius: 32rpx 32rpx 0 0;
+ .title {
+ font-size: 32rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ text-align: center;
+ }
+ .tip {
+ margin-top: 32rpx;
+ font-size: 30rpx;
+ color: rgba(153, 153, 153, 1);
+ line-height: 44rpx;
+ }
+ .select-wrap {
+ margin-top: 22rpx;
+ display: flex;
+ gap: 24rpx;
+ flex-wrap: wrap;
+ .btn {
+ flex: 1;
+ padding: 10rpx;
+ border-radius: 84rpx;
+ font-size: 32rpx;
+ color: rgba(133, 133, 133, 1);
+ line-height: 44rpx;
+ text-align: center;
+ box-sizing: border-box;
+ background-color: rgba(246, 246, 246, 1);
+ &.active {
+ color: #fff;
+ background-color: rgba(0, 180, 197, 1);
+ }
+ }
+ }
+ }
+}
+.resolve {
+ background-color: transparent;
+ .r-badge {
+ position: relative;
+ z-index: 1;
+ display: block;
+ margin: 0 auto;
+ width: 152rpx;
+ height: 152rpx;
+ }
+ .r-container {
+ margin-top: -76rpx;
+ padding: 78rpx 32rpx 40rpx;
+ background-color: #fff;
+ border-radius: 32rpx 32rpx 0 0;
+ .title {
+ font-size: 32rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ text-align: center;
+ }
+ .content {
+ margin-top: 32rpx;
+ font-size: 30rpx;
+ color: rgba(153, 153, 153, 1);
+ line-height: 44rpx;
+ }
+ }
+}
diff --git a/src/module1/pages/auditDoctorDetail/index.ts b/src/module1/pages/auditDoctorDetail/index.ts
new file mode 100644
index 0000000..8681ee9
--- /dev/null
+++ b/src/module1/pages/auditDoctorDetail/index.ts
@@ -0,0 +1,20 @@
+const _app = getApp()
+
+Page({
+ data: {
+ show: false,
+ showReject: false,
+ showResolve: true,
+ },
+ onLoad() {},
+ handleDialogClose() {
+ this.setData({
+ show: false,
+ })
+ },
+ handleSetDoctor() {
+ wx.navigateTo({
+ url: '/module1/pages/setDoctor/index',
+ })
+ },
+})
diff --git a/src/module1/pages/auditDoctorDetail/index.wxml b/src/module1/pages/auditDoctorDetail/index.wxml
new file mode 100644
index 0000000..1264bb4
--- /dev/null
+++ b/src/module1/pages/auditDoctorDetail/index.wxml
@@ -0,0 +1,110 @@
+
+
+
+ 提交人
+ 王军
+
+
+ 提交时间
+ 2024-6-1 13:34:34
+
+
+
+
+
+
+
+ 姓名
+ 王军
+
+
+ 头衔
+ 主任医师
+
+
+ 证件
+
+
+ 预览
+
+
+
+
+ 所在医院
+ 北医三院
+
+
+
+
+
+
+
+ 确认通过王欢医生的审核信息?
+
+ 确认通过王欢医生的审核信息?
+ 您将成为王欢医生的直接上级医生
+
+
+ 指派核心医生后通过
+ 被指派医生将帮您提前审核病例
+
+ 取消
+
+
+
+
+
+
+
+
+ 确认审核不通过?
+ 请选择驳回原因
+
+ 资料不符合要求
+ 地区不合适
+
+
+
+
+
+
+
+
+
+
+ 确定审核通过?
+ 审核通过后,当前医生将成为您的邀约医生,他上传的病历将可以指定您一起讨论病历
+
+
+
+
diff --git a/src/module1/pages/auditDoctorList/index.json b/src/module1/pages/auditDoctorList/index.json
new file mode 100644
index 0000000..1aa061d
--- /dev/null
+++ b/src/module1/pages/auditDoctorList/index.json
@@ -0,0 +1,5 @@
+{
+ "navigationStyle": "default",
+ "navigationBarTitleText": "待审核医生",
+ "usingComponents": {}
+}
diff --git a/src/module1/pages/auditDoctorList/index.scss b/src/module1/pages/auditDoctorList/index.scss
new file mode 100644
index 0000000..be4bca3
--- /dev/null
+++ b/src/module1/pages/auditDoctorList/index.scss
@@ -0,0 +1,96 @@
+page {
+ background-color: rgba(246, 246, 246, 1);
+}
+.notice {
+ padding: 16rpx 64rpx;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 40rpx;
+ color: rgba(247, 121, 0, 1);
+ background-color: rgba(255, 247, 232, 1);
+}
+
+.page {
+ padding: 28rpx 32rpx;
+ .list {
+ .list-item {
+ margin-bottom: 24rpx;
+ padding: 32rpx;
+ border-radius: 16rpx;
+ background-color: #fff;
+ .user {
+ display: flex;
+ gap: 16rpx;
+ .avatar {
+ width: 92rpx;
+ height: 92rpx;
+ border-radius: 50%;
+ }
+ .wrap {
+ flex: 1;
+ .w-header {
+ display: flex;
+ line-height: 44rpx;
+ .name {
+ margin-right: 16rpx;
+ font-size: 32rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ }
+ .label {
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ }
+ }
+ .w-footer {
+ line-height: 32rpx;
+ font-size: 28rpx;
+ color: rgba(133, 133, 133, 1);
+ .tag {
+ padding: 0 8rpx;
+ display: inline-block;
+ font-size: 28rpx;
+ line-height: 32rpx;
+ color: #fff;
+ background: #00b4c5;
+ border-radius: 4rpx 4rpx 4rpx 4rpx;
+ }
+ }
+ }
+ }
+ .photo-wrap {
+ padding: 32rpx 0 0;
+ display: grid;
+ gap: 24rpx;
+ grid-template-columns: repeat(3, 1fr);
+ .photo {
+ display: block;
+ width: 100%;
+ height: 134rpx;
+ border-radius: 16rpx;
+ }
+ }
+ .l-footer {
+ padding-top: 32rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ .date {
+ font-size: 28rpx;
+ color: rgba(153, 153, 153, 1);
+ }
+ .btn {
+ flex-shrink: 0;
+ width: 126rpx;
+ height: 48rpx;
+ font-size: 28rpx;
+ color: rgba(255, 255, 255, 1);
+ text-align: center;
+ line-height: 48rpx;
+ background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
+ border-radius: 64rpx 64rpx 64rpx 64rpx;
+ }
+ }
+ }
+ }
+}
diff --git a/src/module1/pages/auditDoctorList/index.ts b/src/module1/pages/auditDoctorList/index.ts
new file mode 100644
index 0000000..dc02889
--- /dev/null
+++ b/src/module1/pages/auditDoctorList/index.ts
@@ -0,0 +1,17 @@
+const _app = getApp()
+
+Page({
+ data: {},
+ onLoad() {},
+ handlePreview(e: WechatMiniprogram.BaseEvent) {
+ const { url } = e.currentTarget.dataset
+ wx.previewImage({
+ urls: [url],
+ })
+ },
+ handleDetail() {
+ wx.navigateTo({
+ url: '/module1/pages/auditDoctorDetail/index',
+ })
+ },
+})
diff --git a/src/module1/pages/auditDoctorList/index.wxml b/src/module1/pages/auditDoctorList/index.wxml
new file mode 100644
index 0000000..fc818ad
--- /dev/null
+++ b/src/module1/pages/auditDoctorList/index.wxml
@@ -0,0 +1,41 @@
+10位医生待您审核
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/module1/pages/setDoctor/index.json b/src/module1/pages/setDoctor/index.json
new file mode 100644
index 0000000..8ffd924
--- /dev/null
+++ b/src/module1/pages/setDoctor/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "指派医生",
+ "navigationStyle": "default",
+ "usingComponents": {
+ "popupDoctorDetail": "/components/popupDoctorDetail/index",
+ "doctorAvatar":"/components/doctorAvatar/index"
+ }
+}
diff --git a/src/module1/pages/setDoctor/index.scss b/src/module1/pages/setDoctor/index.scss
new file mode 100644
index 0000000..0f7bfb8
--- /dev/null
+++ b/src/module1/pages/setDoctor/index.scss
@@ -0,0 +1,180 @@
+page {
+ background-color: rgba(246, 246, 246, 1);
+}
+.page {
+ .header {
+ padding: 32rpx 32rpx 2rpx;
+ background-color: #fff;
+ .tip {
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ .link {
+ color: rgba(0, 180, 197, 1);
+ }
+ }
+ .search {
+ margin-top: 32rpx;
+ padding: 20rpx 30rpx;
+ display: flex;
+ align-items: center;
+ gap: 20rpx;
+ border-radius: 122rpx;
+ background-color: rgba(246, 246, 246, 1);
+ .icon {
+ width: 32rpx;
+ height: 32rpx;
+ }
+ .input {
+ flex: 1;
+ text-align: center;
+ font-size: 28rpx;
+ color: #000;
+ }
+ .place-input {
+ color: rgba(205, 205, 205, 1);
+ }
+ }
+ .options {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .option-wrap {
+ flex: 1;
+ .option {
+ padding: 30rpx 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .icon {
+ width: 24rpx;
+ height: 24rpx;
+ }
+ }
+ }
+ }
+ }
+ .list {
+ padding: 26rpx 32rpx;
+ .list-item {
+ display: flex;
+ align-items: center;
+ .radio {
+ transform: scale(0.7);
+ }
+ .card {
+ padding: 32rpx;
+ border-radius: 16rpx;
+ background-color: #fff;
+ display: flex;
+ gap: 24rpx;
+ .avatar {
+ flex-shrink: 0;
+ position: relative;
+ width: 112rpx;
+ height: 112rpx;
+ }
+ .wrap {
+ .w-header {
+ display: flex;
+ align-items: baseline;
+ gap: 16rpx;
+ .name {
+ font-size: 36rpx;
+ color: rgba(20, 21, 21, 1);
+ font-weight: bold;
+ }
+ .label {
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ }
+ .line {
+ width: 1px;
+ height: 24rpx;
+ background-color: rgba(205, 205, 205, 1);
+ }
+ }
+ .w-container {
+ margin-top: 24rpx;
+ .hostipal {
+ margin-right: 12rpx;
+ font-size: 28rpx;
+ color: rgba(20, 21, 21, 1);
+ }
+ .tag {
+ margin-right: 12rpx;
+ display: inline-block;
+ padding: 0 8rpx;
+ border-radius: 4rpx;
+ font-size: 24rpx;
+ color: rgba(255, 255, 255, 1);
+ line-height: 32rpx;
+ background-color: rgba(0, 180, 197, 1);
+ }
+ .site {
+ display: inline-block;
+ padding: 0 8rpx;
+ font-size: 24rpx;
+ color: rgba(148, 87, 30, 1);
+ line-height: 32rpx;
+ border-radius: 4rpx;
+ background-color: rgba(250, 229, 206, 1);
+ }
+ }
+ .w-footer {
+ margin-top: 14rpx;
+ display: flex;
+ gap: 12rpx;
+ flex-wrap: wrap;
+ .wf-label {
+ flex-shrink: 0;
+ width: 48rpx;
+ height: 32rpx;
+ }
+ .wf-tag {
+ flex-shrink: 0;
+ padding: 0 8rpx;
+ font-size: 22rpx;
+ color: rgba(0, 180, 197, 1);
+ line-height: 32rpx;
+ border: 1rpx solid rgba(191, 239, 244, 1);
+ }
+ }
+ }
+ }
+ }
+ }
+ .footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ padding: 32rpx 32rpx calc(env(safe-area-inset-bottom) + 32rpx);
+ width: 100%;
+ box-sizing: border-box;
+ display: flex;
+ gap: 26rpx;
+ align-items: center;
+ justify-content: space-between;
+ background-color: #fff;
+ box-shadow: 0 -10rpx 20rpx rgba(0, 0, 0, 0.1);
+ .cancel {
+ width: 230rpx;
+ height: 84rpx;
+ text-align: center;
+ line-height: 88rpx;
+ font-size: 32rpx;
+ color: rgba(1, 180, 197, 1);
+ border-radius: 96rpx 96rpx 96rpx 96rpx;
+ border: 1rpx solid #01b4c5;
+ }
+ .submit {
+ flex: 1;
+ height: 88rpx;
+ text-align: center;
+ line-height: 88rpx;
+ font-size: 32rpx;
+ color: #fff;
+ background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
+ border-radius: 96rpx;
+ }
+ }
+}
diff --git a/src/module1/pages/setDoctor/index.ts b/src/module1/pages/setDoctor/index.ts
new file mode 100644
index 0000000..b792ee4
--- /dev/null
+++ b/src/module1/pages/setDoctor/index.ts
@@ -0,0 +1,6 @@
+const _app = getApp();
+
+Page({
+ data: {},
+ onLoad() {},
+});
diff --git a/src/module1/pages/setDoctor/index.wxml b/src/module1/pages/setDoctor/index.wxml
new file mode 100644
index 0000000..ad8c707
--- /dev/null
+++ b/src/module1/pages/setDoctor/index.wxml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+ 北京天坛医院
+ 三甲
+ 广州市/番禺区
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/module1/pages/setInfo/index.scss b/src/module1/pages/setInfo/index.scss
index 063a53f..f405e26 100644
--- a/src/module1/pages/setInfo/index.scss
+++ b/src/module1/pages/setInfo/index.scss
@@ -156,7 +156,7 @@
box-shadow: 0 -10rpx 20rpx rgba(0, 0, 0, 0.1);
.cancel {
width: 332rpx;
- height: 88rpx;
+ height: 84rpx;
text-align: center;
line-height: 88rpx;
font-size: 32rpx;
diff --git a/src/pages/cases/index.json b/src/pages/cases/index.json
new file mode 100644
index 0000000..a97367d
--- /dev/null
+++ b/src/pages/cases/index.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
diff --git a/src/pages/cases/index.scss b/src/pages/cases/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/cases/index.ts b/src/pages/cases/index.ts
new file mode 100644
index 0000000..b792ee4
--- /dev/null
+++ b/src/pages/cases/index.ts
@@ -0,0 +1,6 @@
+const _app = getApp();
+
+Page({
+ data: {},
+ onLoad() {},
+});
diff --git a/src/pages/cases/index.wxml b/src/pages/cases/index.wxml
new file mode 100644
index 0000000..a10af0e
--- /dev/null
+++ b/src/pages/cases/index.wxml
@@ -0,0 +1,2 @@
+
+pages/story/index.wxml
diff --git a/src/pages/home/index.json b/src/pages/home/index.json
new file mode 100644
index 0000000..69247e2
--- /dev/null
+++ b/src/pages/home/index.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "homeLevel1": "../../echart/components/homeLevel1/index"
+ },
+ "componentPlaceholder": {
+ "homeLevel1": "view"
+ }
+}
diff --git a/src/pages/home/index.scss b/src/pages/home/index.scss
new file mode 100644
index 0000000..63d26f5
--- /dev/null
+++ b/src/pages/home/index.scss
@@ -0,0 +1,7 @@
+.page {
+ .logo {
+ margin-left: 32rpx;
+ width: 160rpx;
+ height: 36rpx;
+ }
+}
diff --git a/src/pages/home/index.ts b/src/pages/home/index.ts
new file mode 100644
index 0000000..b792ee4
--- /dev/null
+++ b/src/pages/home/index.ts
@@ -0,0 +1,6 @@
+const _app = getApp();
+
+Page({
+ data: {},
+ onLoad() {},
+});
diff --git a/src/pages/home/index.wxml b/src/pages/home/index.wxml
new file mode 100644
index 0000000..d221d76
--- /dev/null
+++ b/src/pages/home/index.wxml
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/src/utils/component.ts b/src/utils/component.ts
new file mode 100644
index 0000000..63bb477
--- /dev/null
+++ b/src/utils/component.ts
@@ -0,0 +1,46 @@
+/**
+ * 使用方法:
+ * 1、app.js 引入此文件:const page = require('xx/xx/page);
+ * 2、app.js onLaunch 的时候 Page = page
+ */
+
+const originalComponent = Component
+
+function component(
+ config: WechatMiniprogram.Component.Instance<
+ WechatMiniprogram.Component.DataOption,
+ WechatMiniprogram.Component.PropertyOption,
+ WechatMiniprogram.Component.MethodOption,
+ WechatMiniprogram.Component.BehaviorOption
+ >,
+) {
+ const originalOnAttached = config.attached
+ config.attached = function (options) {
+ setImageParams(this)
+ getApp().getMenuInfo(this)
+
+ if (originalOnAttached) {
+ originalOnAttached.call(this, options)
+ }
+ }
+
+ return originalComponent(config)
+}
+
+function setImageParams(
+ currPage: WechatMiniprogram.Component.Instance<
+ WechatMiniprogram.Component.DataOption,
+ WechatMiniprogram.Component.PropertyOption,
+ WechatMiniprogram.Component.MethodOption,
+ WechatMiniprogram.Component.BehaviorOption
+ >,
+) {
+ const date = new Date()
+ const Timestamp = date.getTime()
+ currPage.setData({
+ imageUrl: getApp().globalData.imageUrl,
+ Timestamp,
+ })
+}
+
+export default component
diff --git a/src/utils/page.ts b/src/utils/page.ts
index 9f9310e..3e91e6c 100644
--- a/src/utils/page.ts
+++ b/src/utils/page.ts
@@ -4,28 +4,23 @@
* 2、app.js onLaunch 的时候 Page = page
*/
-const originalPage = Page;
+const originalPage = Page
-function page(
- config: WechatMiniprogram.Page.Instance<
- WechatMiniprogram.IAnyObject,
- WechatMiniprogram.IAnyObject
- >,
-) {
- const originalOnLoad = config.onLoad;
+function page(config: WechatMiniprogram.Page.Instance) {
+ const originalOnLoad = config.onLoad
config.onLoad = function (options) {
- setImageParams(this);
+ setImageParams(this)
getApp().getMenuInfo(this)
if (originalOnLoad) {
- originalOnLoad.call(this, options);
+ originalOnLoad.call(this, options)
}
- };
+ }
- const originalOnShareAppMessage = config.onShareAppMessage;
+ const originalOnShareAppMessage = config.onShareAppMessage
config.onShareAppMessage = function (options) {
if (originalOnShareAppMessage) {
- return originalOnShareAppMessage.call(this, options);
+ return originalOnShareAppMessage.call(this, options)
} else {
// const date = new Date();
// const Timestamp = date.getTime();
@@ -35,28 +30,25 @@ function page(
// const url = currentPage.route;
return {
- title: "武田",
- path: "/pages/start/index",
+ title: '武田',
+ path: '/pages/start/index',
// imageUrl: `${getApp().globalData.imageUrl}1/1.png?t=${Timestamp}`,
- };
+ }
}
- };
+ }
- return originalPage(config);
+ return originalPage(config)
}
function setImageParams(
- currPage: WechatMiniprogram.Page.Instance<
- WechatMiniprogram.IAnyObject,
- WechatMiniprogram.IAnyObject
- >,
+ currPage: WechatMiniprogram.Page.Instance,
) {
- const date = new Date();
- const Timestamp = date.getTime();
+ const date = new Date()
+ const Timestamp = date.getTime()
currPage.setData({
imageUrl: getApp().globalData.imageUrl,
- Timestamp: Timestamp,
- });
+ Timestamp,
+ })
}
-export default page;
+export default page
diff --git a/tsconfig.json b/tsconfig.json
index db97630..c377e06 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,44 +1,30 @@
{
"compilerOptions": {
+ "target": "ES2020",
+ "lib": ["ES2020"],
+ "experimentalDecorators": true,
"baseUrl": ".",
- "strictNullChecks": true,
- "noImplicitAny": true,
"module": "CommonJS",
- "target": "ES2020",
+ "paths": {
+ "@vant/weapp/*": ["path/to/node_modules/@vant/weapp/dist/*"],
+ "@/*": ["src/*"]
+ },
+ "typeRoots": ["./typings"],
+ "types": ["miniprogram-api-typings"],
"allowJs": true,
- "allowSyntheticDefaultImports": true,
- "esModuleInterop": true,
- "experimentalDecorators": true,
- "noImplicitThis": true,
- "noImplicitReturns": true,
+ "strict": true,
+ "strictNullChecks": true,
+ "strictPropertyInitialization": true,
"alwaysStrict": true,
"noFallthroughCasesInSwitch": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
- "strict": true,
- "strictPropertyInitialization": true,
- "lib": [
- "ES2020"
- ],
- "types": [
- "miniprogram-api-typings"
- ],
- "typeRoots": [
- "./typings"
- ],
- "paths": {
- "@vant/weapp/*": [
- "path/to/node_modules/@vant/weapp/dist/*"
- ],
- "@/*": [
- "src/*"
- ]
- },
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": true
},
- "include": [
- "./**/*.ts"
- ],
- "exclude": [
- "node_modules"
- ]
+ "include": ["./**/*.ts"],
+ "exclude": ["node_modules"]
}