@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
<!doctype html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="UTF-8" /> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
||||
<title>Document</title> |
||||
</head> |
||||
<body> |
||||
<view></view> |
||||
</body> |
||||
</html> |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,17 @@
@@ -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%; |
||||
} |
||||
} |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
externalClasses: true, |
||||
properties: { |
||||
src: { |
||||
type: String, |
||||
value: '', |
||||
}, |
||||
level: { |
||||
type: Number, |
||||
value: 1, |
||||
}, |
||||
}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: {}, |
||||
|
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: {}, |
||||
}) |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
<view class="avatar"> |
||||
<image class="a-img" src="{{src}}"></image> |
||||
<image class="mask" wx:if="{{level===3}}" src="/images/doctor-level3.png"></image> |
||||
<image class="mask" wx:elif="{{level===2}}" src="/images/doctor-level3.png"></image> |
||||
</view> |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"van-popup": "@vant/weapp/popup/index", |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index" |
||||
} |
||||
} |
@ -0,0 +1,116 @@
@@ -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; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: { |
||||
show: { |
||||
type: Boolean, |
||||
value: false, |
||||
}, |
||||
}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: {}, |
||||
|
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: {}, |
||||
}) |
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
<van-popup show="{{ show }}" bind:close="onClose" custom-style="background:transparent"> |
||||
<view class="doctor-detail"> |
||||
<van-icon class="close" name="cross" /> |
||||
<view class="title">医生详情</view> |
||||
<view class="user"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{3}}" |
||||
></doctorAvatar> |
||||
<view class="wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="w-footer"> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">所在医院</view> |
||||
<view class="hostipal"> |
||||
<view class="h-name">四川华西医院</view> |
||||
<view class="h-tag">三甲</view> |
||||
<view class="h-site">成都市/金牛区</view> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">专长</view> |
||||
<view class="specialty"> |
||||
<div class="s-tag">冠心病</div> |
||||
<div class="s-tag">冠心病</div> |
||||
<div class="s-tag">冠心病</div> |
||||
<div class="s-tag">冠心病</div> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">简介</view> |
||||
<view class="brief-introduction"> |
||||
曾任华西医院急诊科副主任、 |
||||
血管疾病腔内治疗中心副主任。目前担任心脏和大血管外科教授、主任医师,硕士研究生导师。曾任华西医院急诊科副主任、血管疾病腔内治疗中心副主任。目前担任心脏和大血管外科教授、主任医师,硕士研究生导师。 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</van-popup> |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,54 @@
@@ -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); |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,59 @@
@@ -0,0 +1,59 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// 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, |
||||
}) |
||||
}, |
||||
}, |
||||
}) |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<view class="tabbar"> |
||||
<block wx:for="{{tabbar}}" wx:key="index"> |
||||
<view class="custom" wx:if="{{item.custom}}" bind:tap="handleTab" data-index="{{index}}"> |
||||
<image class="add" src="/images/tabbar/add.png"></image> |
||||
</view> |
||||
<view class="tab-item {{index===0 &&'active'}}" wx:else bind:tap="handleTab" data-index="{{index}}"> |
||||
<image class="icon" src="/images/tabbar/{{item.icon}}"></image> |
||||
<image class="icon-active" src="/images/tabbar/{{item.iconActive}}"></image> |
||||
<view class="name">{{item.name}}</view> |
||||
</view> |
||||
</block> |
||||
</view> |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: { |
||||
|
||||
}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: { |
||||
|
||||
}, |
||||
|
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: { |
||||
|
||||
} |
||||
}) |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
<view class="page">11</view> |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 199 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"navigationBarTitleText": "审核详情", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"van-dialog": "@vant/weapp/dialog/index" |
||||
} |
||||
} |
@ -0,0 +1,228 @@
@@ -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; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: { |
||||
show: false, |
||||
showReject: false, |
||||
showResolve: true, |
||||
}, |
||||
onLoad() {}, |
||||
handleDialogClose() { |
||||
this.setData({ |
||||
show: false, |
||||
}) |
||||
}, |
||||
handleSetDoctor() { |
||||
wx.navigateTo({ |
||||
url: '/module1/pages/setDoctor/index', |
||||
}) |
||||
}, |
||||
}) |
@ -0,0 +1,110 @@
@@ -0,0 +1,110 @@
|
||||
<view class="page"> |
||||
<view class="card"> |
||||
<view class="row"> |
||||
<view class="label">提交人</view> |
||||
<view class="content">王军</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">提交时间</view> |
||||
<view class="content">2024-6-1 13:34:34</view> |
||||
</view> |
||||
</view> |
||||
<view class="card"> |
||||
<view class="user"> |
||||
<image |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">姓名</view> |
||||
<view class="content">王军</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">头衔</view> |
||||
<view class="content">主任医师</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">证件</view> |
||||
<view class="photo-wrap"> |
||||
<image |
||||
class="photo" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
mode="aspectFill" |
||||
catch:tap="handlePreview" |
||||
data-url="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
wx:for="{{3}}" |
||||
wx:for-item="photo" |
||||
wx:for-index="photo-index" |
||||
wx:key="photo-index" |
||||
> |
||||
<view class="preview">预览</view> |
||||
</image> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">所在医院</view> |
||||
<view class="content">北医三院</view> |
||||
</view> |
||||
</view> |
||||
<view class="footer"> |
||||
<view class="cancel">驳回</view> |
||||
<view class="submit" bind:tap="handleSubmit">通过</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<van-dialog use-slot show="{{ show }}" bind:close="onClose" show-confirm-button="{{false}}"> |
||||
<view class="dialog"> |
||||
<view class="d-title">确认通过王欢医生的审核信息?</view> |
||||
<view class="btn1"> |
||||
<view class="title">确认通过王欢医生的审核信息?</view> |
||||
<view class="explanation">您将成为王欢医生的直接上级医生</view> |
||||
</view> |
||||
<view class="btn2" bind:tap="handleSetDoctor"> |
||||
<view class="title">指派核心医生后通过</view> |
||||
<view class="explanation">被指派医生将帮您提前审核病例</view> |
||||
</view> |
||||
<view class="cancel" bind:tap="handleDialogClose">取消</view> |
||||
</view> |
||||
</van-dialog> |
||||
|
||||
<!-- 审核驳回 --> |
||||
<van-dialog |
||||
custom-style="background:transparent" |
||||
use-slot |
||||
show="{{ showReject }}" |
||||
showCancelButton |
||||
confirm-button-color="rgba(0, 180, 197, 1)" |
||||
bind:close="onClose" |
||||
> |
||||
<view class="reject"> |
||||
<image class="r-badge" src="/images/icon-reject.png"></image> |
||||
<view class="r-container"> |
||||
<view class="title">确认审核不通过?</view> |
||||
<view class="tip">请选择驳回原因</view> |
||||
<view class="select-wrap"> |
||||
<view class="btn active">资料不符合要求</view> |
||||
<view class="btn">地区不合适</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</van-dialog> |
||||
|
||||
<!-- 审核通过 --> |
||||
<van-dialog |
||||
custom-style="background:transparent" |
||||
use-slot |
||||
show="{{ showResolve }}" |
||||
showCancelButton |
||||
confirm-button-color="rgba(0, 180, 197, 1)" |
||||
bind:close="onClose" |
||||
> |
||||
<view class="resolve"> |
||||
<image class="r-badge" src="/images/icon-resolve.png"></image> |
||||
<view class="r-container"> |
||||
<view class="title">确定审核通过?</view> |
||||
<view class="content">审核通过后,当前医生将成为您的邀约医生,他上传的病历将可以指定您一起讨论病历</view> |
||||
</view> |
||||
</view> |
||||
</van-dialog> |
||||
|
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
{ |
||||
"navigationStyle": "default", |
||||
"navigationBarTitleText": "待审核医生", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,96 @@
@@ -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; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
handlePreview(e: WechatMiniprogram.BaseEvent) { |
||||
const { url } = e.currentTarget.dataset |
||||
wx.previewImage({ |
||||
urls: [url], |
||||
}) |
||||
}, |
||||
handleDetail() { |
||||
wx.navigateTo({ |
||||
url: '/module1/pages/auditDoctorDetail/index', |
||||
}) |
||||
}, |
||||
}) |
@ -0,0 +1,41 @@
@@ -0,0 +1,41 @@
|
||||
<view class="notice">10位医生待您审核</view> |
||||
|
||||
<view class="page"> |
||||
<view class="list"> |
||||
<view class="list-item" bind:tap="handleDetail"> |
||||
<view class="user"> |
||||
<image |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">刘青</view> |
||||
<view class="label">主任医院</view> |
||||
</view> |
||||
<view class="w-footer"> |
||||
北医三院 |
||||
<view class="tag">三甲</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="photo-wrap"> |
||||
<image |
||||
class="photo" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
mode="aspectFill" |
||||
catch:tap="handlePreview" |
||||
data-url="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
wx:for="{{3}}" |
||||
wx:for-item="photo" |
||||
wx:for-index="photo-index" |
||||
wx:key="photo-index" |
||||
></image> |
||||
</view> |
||||
<view class="l-footer"> |
||||
<view class="date">提交时间:2024-09-19</view> |
||||
<view class="btn">审核</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"navigationBarTitleText": "指派医生", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"popupDoctorDetail": "/components/popupDoctorDetail/index", |
||||
"doctorAvatar":"/components/doctorAvatar/index" |
||||
} |
||||
} |
@ -0,0 +1,180 @@
@@ -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; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,74 @@
@@ -0,0 +1,74 @@
|
||||
<view class="page"> |
||||
<view class="header"> |
||||
<view class="tip"> |
||||
您将为 |
||||
<text class="link">王欢医生</text> |
||||
指派核心医生,帮助TA一起反馈病例 |
||||
</view> |
||||
<view class="search"> |
||||
<image class="icon" src="/images/icon-search.png"></image> |
||||
<input class="input" placeholder-class="place-input" placeholder="搜索医生名" type="text" /> |
||||
</view> |
||||
<view class="options"> |
||||
<picker class="option-wrap"> |
||||
<view class="option"> |
||||
<text class="option-text">医院</text> |
||||
<image class="icon" src="/images/triangle-down.png"></image> |
||||
</view> |
||||
</picker> |
||||
<picker class="option-wrap"> |
||||
<view class="option"> |
||||
<text class="option-text">地区</text> |
||||
<image class="icon" src="/images/triangle-down.png"></image> |
||||
</view> |
||||
</picker> |
||||
<picker class="option-wrap"> |
||||
<view class="option"> |
||||
<text class="option-text">医生专长</text> |
||||
<image class="icon" src="/images/triangle-down.png"></image> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="list"> |
||||
<view class="list-item"> |
||||
<radio class="radio"></radio> |
||||
<view class="card"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{3}}" |
||||
></doctorAvatar> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
<view class="w-container"> |
||||
<text class="hostipal">北京天坛医院</text> |
||||
<view class="tag">三甲</view> |
||||
<view class="site">广州市/番禺区</view> |
||||
</view> |
||||
<view class="w-footer"> |
||||
<image class="wf-label" src="/images/text-specialty.png" mode="aspectFit"></image> |
||||
<view class="wf-tag">心律失常</view> |
||||
<view class="wf-tag">心律失常</view> |
||||
<view class="wf-tag">心律失常</view> |
||||
<view class="wf-tag">心律失常</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="footer"> |
||||
<view class="cancel">返回</view> |
||||
<view class="submit" bind:tap="handleSubmit">指派并审核通过</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<popupDoctorDetail show="{{true}}"></popupDoctorDetail> |
||||
|
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
{ |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
<!--pages/story/index.wxml--> |
||||
<text>pages/story/index.wxml</text> |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"usingComponents": { |
||||
"homeLevel1": "../../echart/components/homeLevel1/index" |
||||
}, |
||||
"componentPlaceholder": { |
||||
"homeLevel1": "view" |
||||
} |
||||
} |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
.page { |
||||
.logo { |
||||
margin-left: 32rpx; |
||||
width: 160rpx; |
||||
height: 36rpx; |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
<view |
||||
class="page" |
||||
style="background: url({{imageUrl}}home-bg.png?r={{Timestamp}}) no-repeat top center/100% 1624rpx;padding-top:{{menuButtonInfo.bottom}}rpx;" |
||||
> |
||||
<image class="logo" src="/images/home-logo.png"></image> |
||||
<homeLevel1></homeLevel1> |
||||
</view> |
@ -0,0 +1,46 @@
@@ -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 |
@ -1,44 +1,30 @@
@@ -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"] |
||||
} |
||||
|