@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
interface IAppOption { |
||||
globalData: { |
||||
userInfo?: WechatMiniprogram.UserInfo |
||||
url: string |
||||
upFileUrl: string |
||||
imageUrl: string |
||||
} |
||||
userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback |
||||
waitLogin: () => Promise<any> |
||||
getMenuInfo: (arg0: WechatMiniprogram.Page.Instance<any, any>) => void |
||||
} |
||||
|
||||
interface IAgaxParams extends WechatMiniprogram.RequestOption { |
||||
showMsg?: boolean |
||||
loading?: boolean |
||||
isJSON?: boolean |
||||
} |
||||
|
||||
declare namespace WechatMiniprogram { |
||||
export interface Wx { |
||||
ajax: (arg0: IAgaxParams) => Promise<any> |
||||
} |
||||
} |
@ -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,2 @@
@@ -0,0 +1,2 @@
|
||||
<!--pages/story/a.wxml--> |
||||
<text>pages/story/a.wxml</text> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"van-popup": "@vant/weapp/popup/index" |
||||
} |
||||
} |
@ -0,0 +1,109 @@
@@ -0,0 +1,109 @@
|
||||
.record { |
||||
width: 107rpx; |
||||
height: 107rpx; |
||||
border: 10rpx solid #e6f7f9; |
||||
border-radius: 50%; |
||||
.icon { |
||||
width: 107rpx; |
||||
height: 107rpx; |
||||
} |
||||
.record-page { |
||||
position: fixed; |
||||
top: 0; |
||||
left: 0; |
||||
width: 100vw; |
||||
height: 100vh; |
||||
z-index: 10000; |
||||
background-color: rgba(0, 0, 0, 0); |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
justify-content: center; |
||||
.record-line { |
||||
position: relative; |
||||
padding: 32rpx; |
||||
border-radius: 32rpx; |
||||
background-color: rgba(1, 180, 197, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
.wave { |
||||
width: 260rpx; |
||||
height: 60rpx; |
||||
} |
||||
.time { |
||||
font-size: 28rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
} |
||||
&::after { |
||||
position: absolute; |
||||
left: calc(50% - 6rpx); |
||||
bottom: -10rpx; |
||||
content: ''; |
||||
width: 0; |
||||
height: 0; |
||||
border-style: solid; |
||||
border-width: 12rpx 12rpx 0 12rpx; |
||||
border-color: rgba(1, 180, 197, 1) transparent transparent transparent; |
||||
} |
||||
} |
||||
.record-page-icon-wrap { |
||||
width: 320rpx; |
||||
height: 320rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
} |
||||
.record-page-icon { |
||||
margin-top: 32rpx; |
||||
width: 0; |
||||
height: 0; |
||||
padding: 0; |
||||
// background-color: rgba(255, 255, 255, 0.5); |
||||
// border: 0 solid rgba(255, 255, 255, 0.25); |
||||
background: radial-gradient(circle, rgba(192, 192, 192, 1) 0%, rgba(133, 133, 133, 1) 100%); |
||||
border-radius: 50%; |
||||
transition: all 0.3s; |
||||
} |
||||
&.record-pape-start { |
||||
opacity: 0; |
||||
left: 0; |
||||
top: 100vh; |
||||
transition: all 0.3s; |
||||
} |
||||
&.record-page-active { |
||||
left: 0; |
||||
top: 0; |
||||
opacity: 1; |
||||
background-color: rgba(0, 0, 0, 0.7); |
||||
.record-page-icon { |
||||
width: 200rpx; |
||||
height: 200rpx; |
||||
padding: 56rpx; |
||||
// border: 28rpx solid rgba(255, 255, 255, 0.25); |
||||
border-radius: 50%; |
||||
animation: grow-bp 0.6s ease-in-out 0.3s infinite; |
||||
@keyframes grow-bp { |
||||
0% { |
||||
padding: 0; |
||||
// border-width: 0; |
||||
} |
||||
// 25% { |
||||
// padding: 28rpx; |
||||
// } |
||||
50% { |
||||
padding: 56rpx; |
||||
// border-width: 28rpx; |
||||
} |
||||
// 75% { |
||||
// padding: 28rpx; |
||||
// border-width: 0; |
||||
// } |
||||
100% { |
||||
padding: 0; |
||||
// border-width: 0; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: {}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: { |
||||
startShow: false, |
||||
show: false, |
||||
}, |
||||
|
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: { |
||||
handleStart() { |
||||
this.setData({ |
||||
startShow: true, |
||||
}) |
||||
}, |
||||
handleShow() { |
||||
this.setData({ |
||||
show: true, |
||||
}) |
||||
}, |
||||
handleHide() { |
||||
this.setData({ |
||||
startShow: false, |
||||
show: false, |
||||
}) |
||||
}, |
||||
}, |
||||
}) |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<view |
||||
class="record" |
||||
bind:touchstart="handleStart" |
||||
bind:longtap="handleShow" |
||||
bind:touchend="handleHide" |
||||
bind:touchcancel="handleHide" |
||||
> |
||||
<image class="icon" src="/images/record.png"></image> |
||||
<view wx:if="{{startShow}}" class="record-page {{startShow && 'record-pape-start'}} {{show && 'record-page-active'}}"> |
||||
<view class="record-line"> |
||||
<image class="wave"></image> |
||||
<view class="time">45”</view> |
||||
</view> |
||||
<view class="record-page-icon-wrap"> |
||||
<image class="record-page-icon" src="/images/record.png" mode="scaleToFill"></image> |
||||
</view> |
||||
</view> |
||||
</view> |
@ -1,4 +1,7 @@
@@ -1,4 +1,7 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": {} |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index" |
||||
} |
||||
} |
||||
|
@ -0,0 +1,272 @@
@@ -0,0 +1,272 @@
|
||||
.page { |
||||
padding: 36rpx 32rpx 200rpx; |
||||
.user { |
||||
display: flex; |
||||
gap: 24rpx; |
||||
align-items: center; |
||||
.avatar { |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.wrap { |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
.name { |
||||
font-size: 36rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
} |
||||
.desc { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
} |
||||
.w-footer { |
||||
margin-top: 24rpx; |
||||
.hostipal { |
||||
margin-right: 12rpx; |
||||
display: inline; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.tag { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
border-radius: 4rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
} |
||||
.site { |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
color: rgba(148, 87, 30, 1); |
||||
border-radius: 4rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.banner { |
||||
margin-top: 32rpx; |
||||
.title { |
||||
position: relative; |
||||
z-index: 1; |
||||
padding: 14rpx; |
||||
width: 262rpx; |
||||
height: 116rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
line-height: 1; |
||||
box-sizing: border-box; |
||||
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 1rpx solid #ffffff; |
||||
} |
||||
.bg { |
||||
padding-top: 40rpx; |
||||
border-radius: 24rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
margin-top: -95rpx; |
||||
.b-container { |
||||
position: relative; |
||||
z-index: 2; |
||||
border: 1rpx solid #ffffff; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.item { |
||||
padding: 32rpx 0; |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: #fff; |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 56rpx; |
||||
color: #fff; |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed #ffffff; |
||||
opacity: 0.5; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.stat { |
||||
position: relative; |
||||
margin-top: 24rpx; |
||||
padding: 96rpx 0 32rpx; |
||||
border-radius: 16rpx; |
||||
.title { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
padding: 16rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: #fff; |
||||
} |
||||
.s-container { |
||||
display: flex; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(128, 128, 128, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 48rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed rgba(224, 224, 224, 0.5); |
||||
} |
||||
} |
||||
} |
||||
.cooperate, |
||||
.invite { |
||||
margin-top: 24rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
&-header { |
||||
padding: 32rpx 20rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.name { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.fold { |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 12rpx; |
||||
.icon { |
||||
width: 28rpx; |
||||
height: 28rpx; |
||||
} |
||||
} |
||||
} |
||||
.doctor-list { |
||||
padding: 0 20rpx 32rpx; |
||||
transition: 0.3s max-height; |
||||
max-height: var(--fold-height); |
||||
&-fold { |
||||
padding: 0; |
||||
max-height: 0; |
||||
overflow: hidden; |
||||
} |
||||
.doctor { |
||||
margin-bottom: 20rpx; |
||||
padding: 32rpx; |
||||
display: flex; |
||||
gap: 24rpx; |
||||
background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 50%); |
||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
&:last-of-type { |
||||
margin-bottom: 0; |
||||
} |
||||
.avatar { |
||||
flex-shrink: 0; |
||||
position: relative; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.wrap { |
||||
padding-top: 8rpx; |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
line-height: 1; |
||||
.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: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -1,25 +1,49 @@
@@ -1,25 +1,49 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: { |
||||
|
||||
}, |
||||
properties: {}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: { |
||||
|
||||
fold1: false, |
||||
foldHeight1: 10000, |
||||
fold2: false, |
||||
foldHeight2: 10000, |
||||
}, |
||||
|
||||
attached() { |
||||
this.getHeight() |
||||
}, |
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: { |
||||
|
||||
} |
||||
getHeight() { |
||||
const query = wx.createSelectorQuery().in(this) |
||||
query.select('#fold1').boundingClientRect() |
||||
query.select('#fold2').boundingClientRect() |
||||
query.exec((res) => { |
||||
this.setData({ |
||||
foldHeight1: res[0].height, |
||||
foldHeight2: res[1].height, |
||||
}) |
||||
}) |
||||
}, |
||||
toggleFold1() { |
||||
this.setData({ |
||||
fold1: !this.data.fold1, |
||||
}) |
||||
}, |
||||
toggleFold2() { |
||||
this.setData({ |
||||
fold2: !this.data.fold2, |
||||
}) |
||||
}, |
||||
}, |
||||
}) |
||||
|
@ -1 +1,160 @@
@@ -1 +1,160 @@
|
||||
<view class="page">11</view> |
||||
<view class="page"> |
||||
<view class="user"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">徐萌</view> |
||||
<view class="desc">主治医师</view> |
||||
</view> |
||||
<view class="w-footer"> |
||||
<view class="hostipal">北京天坛医院</view> |
||||
<view class="tag">三甲</view> |
||||
<view class="site">广州市/番禺区</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="banner"> |
||||
<view class="title">待处理事项</view> |
||||
<view class="bg"> |
||||
<view class="b-container"> |
||||
<view class="item"> |
||||
<view class="name">病历更新</view> |
||||
<view class="num">27</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name">聊天室新消息</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view |
||||
class="stat" |
||||
style="background: url({{imageUrl}}home-stat-bg.png?r={{Timestamp}}) no-repeat top center/100% 100%;" |
||||
> |
||||
<view class="title">我提交的病历</view> |
||||
<view class="s-container"> |
||||
<view class="item"> |
||||
<view class="name">总数</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
新病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
讨论中 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
已归档 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="cooperate"> |
||||
<view class="cooperate-header"> |
||||
<view class="name">我合作的医生(2)</view> |
||||
<view class="fold" bind:tap="toggleFold1"> |
||||
<block wx:if="{{fold1}}"> |
||||
展开 |
||||
<image class="icon" src="/images/fold-down.png"></image> |
||||
</block> |
||||
<block wx:else> |
||||
收起 |
||||
<image class="icon" src="/images/fold-top.png"></image> |
||||
</block> |
||||
</view> |
||||
</view> |
||||
<view id="fold1" class="doctor-list {{fold1 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight1}}px;"> |
||||
<view class="doctor"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></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 class="invite"> |
||||
<view class="invite-header"> |
||||
<view class="name">我合作的医生(2)</view> |
||||
<view class="fold" bind:tap="toggleFold2"> |
||||
<block wx:if="{{fold2}}"> |
||||
展开 |
||||
<image class="icon" src="/images/fold-down.png"></image> |
||||
</block> |
||||
<block wx:else> |
||||
收起 |
||||
<image class="icon" src="/images/fold-top.png"></image> |
||||
</block> |
||||
</view> |
||||
</view> |
||||
<view id="fold2" class="doctor-list {{fold2 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight2}}px;"> |
||||
<view class="doctor"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></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> |
||||
|
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index" |
||||
} |
||||
} |
@ -0,0 +1,332 @@
@@ -0,0 +1,332 @@
|
||||
.page { |
||||
padding: 36rpx 32rpx 200rpx; |
||||
.user { |
||||
margin-top: 40rpx; |
||||
position: relative; |
||||
padding: 94rpx 32rpx 32rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
box-shadow: 0rpx 8rpx 24rpx 0rpx rgba(0, 66, 73, 0.09); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.avatar { |
||||
position: absolute; |
||||
top: -38rpx; |
||||
left: 32rpx; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.code { |
||||
position: absolute; |
||||
top: 38rpx; |
||||
right: 34rpx; |
||||
width: 60rpx; |
||||
height: 60rpx; |
||||
} |
||||
.wrap { |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
.name { |
||||
font-size: 36rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.desc { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.line { |
||||
margin: 0 12rpx; |
||||
display: inline-block; |
||||
height: 24rpx; |
||||
width: 1rpx; |
||||
background-color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
} |
||||
.w-container { |
||||
margin-top: 24rpx; |
||||
.hostipal { |
||||
margin-right: 12rpx; |
||||
display: inline; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.tag { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
border-radius: 4rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
} |
||||
.site { |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
color: rgba(148, 87, 30, 1); |
||||
border-radius: 4rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
} |
||||
} |
||||
.w-footer { |
||||
margin-top: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.banner { |
||||
margin-top: 32rpx; |
||||
.title { |
||||
position: relative; |
||||
z-index: 1; |
||||
padding: 14rpx; |
||||
width: 262rpx; |
||||
height: 116rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
line-height: 1; |
||||
box-sizing: border-box; |
||||
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 1rpx solid #ffffff; |
||||
} |
||||
.bg { |
||||
padding-top: 40rpx; |
||||
border-radius: 24rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
margin-top: -95rpx; |
||||
.b-container { |
||||
position: relative; |
||||
z-index: 2; |
||||
border: 1rpx solid #ffffff; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.item { |
||||
padding: 32rpx 0; |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 26rpx; |
||||
color: #fff; |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 56rpx; |
||||
color: #fff; |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed #ffffff; |
||||
opacity: 0.5; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.stat { |
||||
position: relative; |
||||
margin-top: 24rpx; |
||||
padding: 96rpx 0 32rpx; |
||||
border-radius: 16rpx; |
||||
.title { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
padding: 16rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: #fff; |
||||
} |
||||
.more { |
||||
position: absolute; |
||||
top: 0; |
||||
right: 0; |
||||
padding: 14rpx 20rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
.s-container { |
||||
display: flex; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(128, 128, 128, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 48rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed rgba(224, 224, 224, 0.5); |
||||
} |
||||
} |
||||
} |
||||
.cooperate, |
||||
.invite { |
||||
margin-top: 24rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
&-header { |
||||
padding: 32rpx 20rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.name { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.fold { |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 12rpx; |
||||
.icon { |
||||
width: 28rpx; |
||||
height: 28rpx; |
||||
} |
||||
} |
||||
} |
||||
.doctor-list { |
||||
padding: 0 20rpx 32rpx; |
||||
transition: 0.3s max-height; |
||||
max-height: var(--fold-height); |
||||
&-fold { |
||||
padding: 0; |
||||
max-height: 0; |
||||
overflow: hidden; |
||||
} |
||||
.doctor { |
||||
position: relative; |
||||
margin-bottom: 20rpx; |
||||
padding: 32rpx; |
||||
display: flex; |
||||
gap: 24rpx; |
||||
background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 50%); |
||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
&:last-of-type { |
||||
margin-bottom: 0; |
||||
} |
||||
.avatar { |
||||
flex-shrink: 0; |
||||
position: relative; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.assign { |
||||
position: absolute; |
||||
top: 0; |
||||
right: 0; |
||||
padding: 2rpx 16rpx; |
||||
line-height: 28rpx; |
||||
font-size: 22rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
background-color: rgba(215, 237, 238, 1); |
||||
border-radius: 0 16rpx 0 16rpx; |
||||
} |
||||
.wrap { |
||||
padding-top: 8rpx; |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
line-height: 1; |
||||
.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: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,49 @@
@@ -0,0 +1,49 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: {}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: { |
||||
fold1: false, |
||||
foldHeight1: 10000, |
||||
fold2: false, |
||||
foldHeight2: 10000, |
||||
}, |
||||
|
||||
attached() { |
||||
this.getHeight() |
||||
}, |
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: { |
||||
getHeight() { |
||||
const query = wx.createSelectorQuery().in(this) |
||||
query.select('#fold1').boundingClientRect() |
||||
query.select('#fold2').boundingClientRect() |
||||
query.exec((res) => { |
||||
this.setData({ |
||||
foldHeight1: res[0].height, |
||||
foldHeight2: res[1].height, |
||||
}) |
||||
}) |
||||
}, |
||||
toggleFold1() { |
||||
this.setData({ |
||||
fold1: !this.data.fold1, |
||||
}) |
||||
}, |
||||
toggleFold2() { |
||||
this.setData({ |
||||
fold2: !this.data.fold2, |
||||
}) |
||||
}, |
||||
}, |
||||
}) |
@ -0,0 +1,184 @@
@@ -0,0 +1,184 @@
|
||||
<view class="page"> |
||||
<view class="user"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<image class="code" src="/images/icon-code.png"></image> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">徐萌</view> |
||||
<view class="desc"> |
||||
主治医师 |
||||
<view class="line"></view> |
||||
心内科 |
||||
</view> |
||||
</view> |
||||
<view class="w-container"> |
||||
<view class="hostipal">北京天坛医院</view> |
||||
<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 class="banner"> |
||||
<view class="title">待处理事项</view> |
||||
<view class="bg"> |
||||
<view class="b-container"> |
||||
<view class="item"> |
||||
<view class="name">待处理病历</view> |
||||
<view class="num">27</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">病历更新</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">聊天室消息</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">医生待审核</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view |
||||
class="stat" |
||||
style="background: url({{imageUrl}}home-stat-bg.png?r={{Timestamp}}) no-repeat top center/100% 100%;" |
||||
> |
||||
<view class="title">我管理的病历</view> |
||||
<view class="more"> |
||||
查看全部 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
<view class="s-container"> |
||||
<view class="item"> |
||||
<view class="name">全部</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
新病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
讨论中 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
已归档 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="cooperate"> |
||||
<view class="cooperate-header"> |
||||
<view class="name">我合作的医生(2)</view> |
||||
<view class="fold" bind:tap="toggleFold1"> |
||||
<block wx:if="{{fold1}}"> |
||||
展开 |
||||
<image class="icon" src="/images/fold-down.png"></image> |
||||
</block> |
||||
<block wx:else> |
||||
收起 |
||||
<image class="icon" src="/images/fold-top.png"></image> |
||||
</block> |
||||
</view> |
||||
</view> |
||||
<view id="fold1" class="doctor-list {{fold1 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight1}}px;"> |
||||
<view class="doctor"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></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 class="invite"> |
||||
<view class="invite-header"> |
||||
<view class="name">我邀约的医生(1)</view> |
||||
<view class="fold" bind:tap="toggleFold2"> |
||||
<block wx:if="{{fold2}}"> |
||||
展开 |
||||
<image class="icon" src="/images/fold-down.png"></image> |
||||
</block> |
||||
<block wx:else> |
||||
收起 |
||||
<image class="icon" src="/images/fold-top.png"></image> |
||||
</block> |
||||
</view> |
||||
</view> |
||||
<view id="fold2" class="doctor-list {{fold2 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight2}}px;"> |
||||
<view class="doctor"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<view class="assign">蒋亮医生指派</view> |
||||
<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> |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index" |
||||
} |
||||
} |
@ -0,0 +1,194 @@
@@ -0,0 +1,194 @@
|
||||
.page { |
||||
padding: 36rpx 32rpx 200rpx; |
||||
.user { |
||||
margin-top: 40rpx; |
||||
position: relative; |
||||
padding: 94rpx 32rpx 32rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
box-shadow: 0rpx 8rpx 24rpx 0rpx rgba(0, 66, 73, 0.09); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.avatar { |
||||
position: absolute; |
||||
top: -38rpx; |
||||
left: 32rpx; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.code { |
||||
position: absolute; |
||||
top: 38rpx; |
||||
right: 34rpx; |
||||
width: 60rpx; |
||||
height: 60rpx; |
||||
} |
||||
.wrap { |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
.name { |
||||
font-size: 36rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.desc { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.line { |
||||
margin: 0 12rpx; |
||||
display: inline-block; |
||||
height: 24rpx; |
||||
width: 1rpx; |
||||
background-color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
} |
||||
.w-container { |
||||
margin-top: 24rpx; |
||||
.hostipal { |
||||
margin-right: 12rpx; |
||||
display: inline; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.tag { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
border-radius: 4rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
} |
||||
.site { |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
color: rgba(148, 87, 30, 1); |
||||
border-radius: 4rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
} |
||||
} |
||||
.w-footer { |
||||
margin-top: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.banner { |
||||
margin-top: 32rpx; |
||||
.title { |
||||
position: relative; |
||||
z-index: 1; |
||||
padding: 14rpx; |
||||
width: 262rpx; |
||||
height: 116rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
line-height: 1; |
||||
box-sizing: border-box; |
||||
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 1rpx solid #ffffff; |
||||
} |
||||
.bg { |
||||
padding-top: 40rpx; |
||||
border-radius: 24rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
margin-top: -95rpx; |
||||
.b-container { |
||||
position: relative; |
||||
z-index: 2; |
||||
border: 1rpx solid #ffffff; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.item { |
||||
padding: 32rpx 0; |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 26rpx; |
||||
color: #fff; |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 56rpx; |
||||
color: #fff; |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed #ffffff; |
||||
opacity: 0.5; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.stat { |
||||
position: relative; |
||||
margin-top: 24rpx; |
||||
padding: 96rpx 0 32rpx; |
||||
border-radius: 16rpx; |
||||
.title { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
padding: 16rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: #fff; |
||||
} |
||||
.more { |
||||
position: absolute; |
||||
top: 0; |
||||
right: 0; |
||||
padding: 14rpx 20rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
.s-container { |
||||
display: flex; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(128, 128, 128, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 48rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed rgba(224, 224, 224, 0.5); |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: {}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: {}, |
||||
|
||||
attached() {}, |
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: { |
||||
handleOrg() { |
||||
wx.navigateTo({ |
||||
url: '/module1/pages/org3/index', |
||||
}) |
||||
}, |
||||
}, |
||||
}) |
@ -0,0 +1,129 @@
@@ -0,0 +1,129 @@
|
||||
<view class="page"> |
||||
<view class="user"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<image class="code" src="/images/icon-code.png"></image> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">徐萌</view> |
||||
<view class="desc"> |
||||
主治医师 |
||||
<view class="line"></view> |
||||
心内科 |
||||
</view> |
||||
</view> |
||||
<view class="w-container"> |
||||
<view class="hostipal">北京天坛医院</view> |
||||
<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 class="banner"> |
||||
<view class="title">待处理事项</view> |
||||
<view class="bg"> |
||||
<view class="b-container"> |
||||
<view class="item"> |
||||
<view class="name">待处理病历</view> |
||||
<view class="num">27</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name">聊天室新消息</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name">医生待审核</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view |
||||
class="stat" |
||||
style="background: url({{imageUrl}}home-stat-bg.png?r={{Timestamp}}) no-repeat top center/100% 100%;" |
||||
> |
||||
<view class="title">我管理的病历</view> |
||||
<view class="s-container"> |
||||
<view class="item"> |
||||
<view class="name">全部</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
新病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
讨论中 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
已归档 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view |
||||
class="stat" |
||||
style="background: url({{imageUrl}}home-stat-bg.png?r={{Timestamp}}) no-repeat top center/100% 100%;" |
||||
> |
||||
<view class="title">我管理的医生</view> |
||||
<view class="more" bind:tap="handleOrg"> |
||||
查看全部 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
<view class="s-container"> |
||||
<view class="item"> |
||||
<view class="name">全部</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
新病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
讨论中 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
已归档 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"component": true, |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index", |
||||
"ec-canvas": "../ec-canvas/ec-canvas" |
||||
} |
||||
} |
@ -0,0 +1,370 @@
@@ -0,0 +1,370 @@
|
||||
.page { |
||||
padding: 36rpx 32rpx 100rpx; |
||||
.user { |
||||
margin-top: 40rpx; |
||||
position: relative; |
||||
padding: 94rpx 32rpx 32rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
box-shadow: 0rpx 8rpx 24rpx 0rpx rgba(0, 66, 73, 0.09); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.avatar { |
||||
position: absolute; |
||||
top: -38rpx; |
||||
left: 32rpx; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.code { |
||||
position: absolute; |
||||
top: 38rpx; |
||||
right: 34rpx; |
||||
width: 60rpx; |
||||
height: 60rpx; |
||||
} |
||||
.wrap { |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
.name { |
||||
font-size: 36rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.desc { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.line { |
||||
margin: 0 12rpx; |
||||
display: inline-block; |
||||
height: 24rpx; |
||||
width: 1rpx; |
||||
background-color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
} |
||||
.w-container { |
||||
margin-top: 24rpx; |
||||
.hostipal { |
||||
margin-right: 12rpx; |
||||
display: inline; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.tag { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
border-radius: 4rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
} |
||||
.site { |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
color: rgba(148, 87, 30, 1); |
||||
border-radius: 4rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
} |
||||
} |
||||
.w-footer { |
||||
margin-top: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.banner { |
||||
margin-top: 32rpx; |
||||
.title { |
||||
position: relative; |
||||
z-index: 1; |
||||
padding: 14rpx; |
||||
width: 262rpx; |
||||
height: 116rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
line-height: 1; |
||||
box-sizing: border-box; |
||||
background: linear-gradient(180deg, #dcf5f7 0%, #ffffff 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 1rpx solid #ffffff; |
||||
} |
||||
.bg { |
||||
padding-top: 40rpx; |
||||
border-radius: 24rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
margin-top: -95rpx; |
||||
.b-container { |
||||
position: relative; |
||||
z-index: 2; |
||||
border: 1rpx solid #ffffff; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.item { |
||||
padding: 32rpx 0; |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 26rpx; |
||||
color: #fff; |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 56rpx; |
||||
color: #fff; |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed #ffffff; |
||||
opacity: 0.5; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.stat { |
||||
position: relative; |
||||
margin-top: 24rpx; |
||||
padding: 96rpx 0 32rpx; |
||||
border-radius: 16rpx; |
||||
.title { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
padding: 16rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: #fff; |
||||
} |
||||
.picker { |
||||
position: absolute; |
||||
top: 8rpx; |
||||
left: 296rpx; |
||||
.picker-content { |
||||
padding: 4rpx 24rpx; |
||||
display: flex; |
||||
gap: 18rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
background: #ffffff; |
||||
border-radius: 98rpx 98rpx 98rpx 98rpx; |
||||
border: 1rpx solid #f6f6f6; |
||||
} |
||||
} |
||||
.more { |
||||
position: absolute; |
||||
top: 0; |
||||
right: 0; |
||||
padding: 14rpx 20rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
.s-container { |
||||
display: flex; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(128, 128, 128, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 48rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
.line { |
||||
flex-shrink: 0; |
||||
height: 108rpx; |
||||
border-right: 1rpx dashed rgba(224, 224, 224, 0.5); |
||||
} |
||||
} |
||||
} |
||||
.department { |
||||
margin-top: 24rpx; |
||||
padding: 0 20rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.d-header { |
||||
padding: 32rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.name { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.more { |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
.d-container { |
||||
padding: 32rpx 0; |
||||
background: linear-gradient(180deg, #f3fbfd 0%, #ffffff 50%); |
||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.08); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(128, 128, 128, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 48rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 56rpx; |
||||
} |
||||
} |
||||
} |
||||
.tip { |
||||
padding: 20rpx 0; |
||||
font-size: 22rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
text-align: right; |
||||
} |
||||
} |
||||
.chart-card { |
||||
margin-top: 24rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.c-header { |
||||
padding: 32rpx 20rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.name { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.picker { |
||||
.picker-content { |
||||
padding: 8rpx 24rpx; |
||||
display: flex; |
||||
gap: 18rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
background: #ffffff; |
||||
border-radius: 98rpx 98rpx 98rpx 98rpx; |
||||
border: 1rpx solid #f6f6f6; |
||||
} |
||||
} |
||||
} |
||||
.cahrt { |
||||
height: 450rpx; |
||||
} |
||||
.tip { |
||||
padding: 24rpx 20rpx 32rpx; |
||||
font-size: 22rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
text-align: right; |
||||
} |
||||
} |
||||
.rank { |
||||
margin: 24rpx -32rpx 0; |
||||
padding: 0 32rpx 100rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 14%, #ffffff 100%); |
||||
border-radius: 32rpx 32rpx 0 0; |
||||
border: 2rpx solid #ffffff; |
||||
.r-header { |
||||
padding: 32rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.title { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.more { |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
.table { |
||||
margin-top: 40rpx; |
||||
.thead { |
||||
padding: 22rpx 0; |
||||
display: flex; |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
background-color: rgba(233, 246, 247, 1); |
||||
text-align: center; |
||||
border-radius: 8rpx; |
||||
.th1 { |
||||
width: 338rpx; |
||||
} |
||||
.th2, |
||||
.th3, |
||||
.th4, |
||||
.th5 { |
||||
width: 96rpx; |
||||
white-space: nowrap; |
||||
} |
||||
} |
||||
.tbody { |
||||
border-bottom: 1rpx solid rgba(224, 224, 224, 0.5); |
||||
.tr { |
||||
display: flex; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
text-align: center; |
||||
padding: 18rpx 0; |
||||
line-height: 32rpx; |
||||
border-radius: 8rpx; |
||||
&:nth-child(even) { |
||||
background-color: rgba(248, 248, 248, 1); |
||||
} |
||||
.td1 { |
||||
padding: 12rpx 0; |
||||
width: 338rpx; |
||||
} |
||||
.td2, |
||||
.td3, |
||||
.td4, |
||||
.td5 { |
||||
padding: 12rpx 0; |
||||
width: 96rpx; |
||||
border-left: 1px dashed rgba(224, 224, 224, 1); |
||||
} |
||||
.td2 { |
||||
color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,466 @@
@@ -0,0 +1,466 @@
|
||||
const app = getApp<IAppOption>() |
||||
const echarts = require('../ec-canvas/echarts.js') |
||||
|
||||
// pages/story/a.ts
|
||||
Component({ |
||||
/** |
||||
* 组件的属性列表 |
||||
*/ |
||||
properties: {}, |
||||
|
||||
/** |
||||
* 组件的初始数据 |
||||
*/ |
||||
data: { |
||||
ec: { |
||||
lazyLoad: true, |
||||
}, |
||||
}, |
||||
|
||||
attached() { |
||||
this.waitEchart(async () => { |
||||
const chart1: any = await this.initChart1() |
||||
const chart2: any = await this.initChart2() |
||||
const chart3: any = await this.initChart3() |
||||
}) |
||||
}, |
||||
/** |
||||
* 组件的方法列表 |
||||
*/ |
||||
methods: { |
||||
ecDataTrendComponent1: null as any, |
||||
ecDataTrendComponent2: null as any, |
||||
ecDataTrendComponent3: null as any, |
||||
waitEchart(callback) { |
||||
const time = setInterval(() => { |
||||
if (this.selectComponent('#chart1')) { |
||||
console.log(this.selectComponent('#chart1')) |
||||
clearInterval(time) |
||||
callback() |
||||
} |
||||
}, 30) |
||||
}, |
||||
initChart1() { |
||||
return new Promise((reslove) => { |
||||
this.ecDataTrendComponent1 = this.selectComponent('#chart1') |
||||
this.ecDataTrendComponent1.init((canvas, width, height, dpr) => { |
||||
const chart = echarts.init(canvas, null, { |
||||
width, |
||||
height, |
||||
devicePixelRatio: dpr, // new
|
||||
}) |
||||
canvas.setChart(chart) |
||||
const x: string[] = ['2024-09', '2024-10'] |
||||
const y1: string[] = ['10', '30'] |
||||
const y2: string[] = ['10', '30'] |
||||
const y3: string[] = ['10', '30'] |
||||
const y4: string[] = ['30', '90'] |
||||
|
||||
const option = { |
||||
legend: { |
||||
bottom: 0, |
||||
itemWidth: 8, |
||||
itemHeight: 8, |
||||
icon: 'circle', |
||||
lineStyle: { |
||||
width: '0', |
||||
}, |
||||
textStyle: { |
||||
color: 'rgba(103, 113, 114, 1)', |
||||
fontSize: '12', |
||||
}, |
||||
data: ['一级医生', '核心医生', '质控医生'], |
||||
}, |
||||
grid: { |
||||
top: '10%', |
||||
left: '3%', |
||||
right: '4%', |
||||
bottom: '30', |
||||
containLabel: true, |
||||
}, |
||||
xAxis: [ |
||||
{ |
||||
type: 'category', |
||||
axisTick: { |
||||
show: false, |
||||
}, |
||||
axisLine: { |
||||
show: false, |
||||
}, |
||||
axisLabel: { |
||||
fontSize: 10, |
||||
color: 'rgba(40, 48, 49, 1)', |
||||
}, |
||||
data: x, |
||||
}, |
||||
], |
||||
yAxis: [ |
||||
{ |
||||
type: 'value', |
||||
minInterval: 1, |
||||
splitLine: { |
||||
show: false, |
||||
}, |
||||
axisLabel: { |
||||
fontSize: 10, |
||||
color: 'rgba(40, 48, 49, 1)', |
||||
formatter(value) { |
||||
return Math.abs(value) |
||||
}, |
||||
}, |
||||
}, |
||||
], |
||||
series: [ |
||||
{ |
||||
name: '质控医生', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: '#fff', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
formatter(params) { |
||||
return Math.abs(params.value) |
||||
}, |
||||
}, |
||||
color: 'rgba(0, 180, 197, 1)', |
||||
data: y3, |
||||
}, |
||||
{ |
||||
name: '核心医生', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: '#fff', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
formatter(params) { |
||||
return Math.abs(params.value) |
||||
}, |
||||
}, |
||||
color: 'rgba(84, 226, 180, 1)', |
||||
data: y2, |
||||
}, |
||||
{ |
||||
name: '一级医生', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: 'rgba(0, 180, 197, 1)', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
}, |
||||
color: 'rgba(225, 248, 242, 1)', |
||||
data: y1, |
||||
}, |
||||
{ |
||||
name: '总数', // 总数显示,生成一个总数的柱状图,将颜色设为透明,
|
||||
type: 'line', // label将位置设备内部底部,造成一个总数显示在
|
||||
stack: '', // 柱状图上方的假象
|
||||
color: 'rgba(0, 0, 0, 0)', |
||||
data: y4, |
||||
symbolSize: 0, |
||||
label: { |
||||
normal: { |
||||
show: true, |
||||
position: 'top', |
||||
color: 'rgba(133, 133, 133, 1)', |
||||
fontSize: 10, |
||||
formatter: '{c}', |
||||
}, |
||||
}, |
||||
}, |
||||
], |
||||
dataZoom: { |
||||
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
||||
startValue: x.length - 6, |
||||
endValue: x.length - 1, |
||||
filterMode: 'none', |
||||
}, |
||||
} |
||||
|
||||
chart.setOption(option) |
||||
reslove(chart) |
||||
return chart |
||||
}) |
||||
}) |
||||
}, |
||||
initChart2() { |
||||
return new Promise((reslove) => { |
||||
this.ecDataTrendComponent2 = this.selectComponent('#chart2') |
||||
this.ecDataTrendComponent2.init((canvas, width, height, dpr) => { |
||||
const chart = echarts.init(canvas, null, { |
||||
width, |
||||
height, |
||||
devicePixelRatio: dpr, // new
|
||||
}) |
||||
canvas.setChart(chart) |
||||
const x: string[] = ['2024-09', '2024-10'] |
||||
const y1: string[] = ['10', '30'] |
||||
const y2: string[] = ['10', '30'] |
||||
const y3: string[] = ['20', '60'] |
||||
|
||||
const option = { |
||||
legend: { |
||||
bottom: 0, |
||||
itemWidth: 8, |
||||
itemHeight: 8, |
||||
icon: 'circle', |
||||
lineStyle: { |
||||
width: '0', |
||||
}, |
||||
textStyle: { |
||||
color: 'rgba(103, 113, 114, 1)', |
||||
fontSize: '12', |
||||
}, |
||||
data: ['一级医生提交', '核心医生提交'], |
||||
}, |
||||
grid: { |
||||
top: '10%', |
||||
left: '3%', |
||||
right: '4%', |
||||
bottom: '30', |
||||
containLabel: true, |
||||
}, |
||||
xAxis: [ |
||||
{ |
||||
type: 'category', |
||||
axisTick: { |
||||
show: false, |
||||
}, |
||||
axisLine: { |
||||
show: false, |
||||
}, |
||||
axisLabel: { |
||||
fontSize: 10, |
||||
color: 'rgba(40, 48, 49, 1)', |
||||
}, |
||||
data: x, |
||||
}, |
||||
], |
||||
yAxis: [ |
||||
{ |
||||
type: 'value', |
||||
minInterval: 1, |
||||
splitLine: { |
||||
show: false, |
||||
}, |
||||
axisLabel: { |
||||
fontSize: 10, |
||||
color: 'rgba(40, 48, 49, 1)', |
||||
formatter(value) { |
||||
return Math.abs(value) |
||||
}, |
||||
}, |
||||
}, |
||||
], |
||||
series: [ |
||||
{ |
||||
name: '核心医生提交', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: '#fff', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
formatter(params) { |
||||
return Math.abs(params.value) |
||||
}, |
||||
}, |
||||
color: 'rgba(84, 226, 180, 1)', |
||||
data: y2, |
||||
}, |
||||
{ |
||||
name: '一级医生提交', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: 'rgba(0, 180, 197, 1)', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
}, |
||||
color: 'rgba(225, 248, 242, 1)', |
||||
data: y1, |
||||
}, |
||||
{ |
||||
name: '总数', // 总数显示,生成一个总数的柱状图,将颜色设为透明,
|
||||
type: 'line', // label将位置设备内部底部,造成一个总数显示在
|
||||
stack: '', // 柱状图上方的假象
|
||||
color: 'rgba(0, 0, 0, 0)', |
||||
data: y3, |
||||
symbolSize: 0, |
||||
label: { |
||||
normal: { |
||||
show: true, |
||||
position: 'top', |
||||
color: 'rgba(133, 133, 133, 1)', |
||||
fontSize: 10, |
||||
formatter: '{c}', |
||||
}, |
||||
}, |
||||
}, |
||||
], |
||||
dataZoom: { |
||||
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
||||
startValue: x.length - 6, |
||||
endValue: x.length - 1, |
||||
filterMode: 'none', |
||||
}, |
||||
} |
||||
|
||||
chart.setOption(option) |
||||
reslove(chart) |
||||
return chart |
||||
}) |
||||
}) |
||||
}, |
||||
initChart3() { |
||||
return new Promise((reslove) => { |
||||
this.ecDataTrendComponent3 = this.selectComponent('#chart3') |
||||
this.ecDataTrendComponent3.init((canvas, width, height, dpr) => { |
||||
const chart = echarts.init(canvas, null, { |
||||
width, |
||||
height, |
||||
devicePixelRatio: dpr, // new
|
||||
}) |
||||
canvas.setChart(chart) |
||||
const x: string[] = ['2024-09', '2024-10'] |
||||
const y1: string[] = ['10', '30'] |
||||
const y2: string[] = ['10', '30'] |
||||
const y3: string[] = ['20', '60'] |
||||
|
||||
const option = { |
||||
legend: { |
||||
bottom: 0, |
||||
itemWidth: 8, |
||||
itemHeight: 8, |
||||
icon: 'circle', |
||||
lineStyle: { |
||||
width: '0', |
||||
}, |
||||
textStyle: { |
||||
color: 'rgba(103, 113, 114, 1)', |
||||
fontSize: '12', |
||||
}, |
||||
data: ['一级医生提交', '核心医生提交'], |
||||
}, |
||||
grid: { |
||||
top: '10%', |
||||
left: '3%', |
||||
right: '4%', |
||||
bottom: '30', |
||||
containLabel: true, |
||||
}, |
||||
xAxis: [ |
||||
{ |
||||
type: 'category', |
||||
axisTick: { |
||||
show: false, |
||||
}, |
||||
axisLine: { |
||||
show: false, |
||||
}, |
||||
axisLabel: { |
||||
fontSize: 10, |
||||
color: 'rgba(40, 48, 49, 1)', |
||||
}, |
||||
data: x, |
||||
}, |
||||
], |
||||
yAxis: [ |
||||
{ |
||||
type: 'value', |
||||
minInterval: 1, |
||||
splitLine: { |
||||
show: false, |
||||
}, |
||||
axisLabel: { |
||||
fontSize: 10, |
||||
color: 'rgba(40, 48, 49, 1)', |
||||
formatter(value) { |
||||
return Math.abs(value) |
||||
}, |
||||
}, |
||||
}, |
||||
], |
||||
series: [ |
||||
{ |
||||
name: '核心医生提交', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: '#fff', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
formatter(params) { |
||||
return Math.abs(params.value) |
||||
}, |
||||
}, |
||||
color: 'rgba(84, 226, 180, 1)', |
||||
data: y2, |
||||
}, |
||||
{ |
||||
name: '一级医生提交', |
||||
type: 'bar', |
||||
stack: 'a', |
||||
label: { |
||||
show: true, |
||||
color: 'rgba(0, 180, 197, 1)', |
||||
fontSize: 10, |
||||
overflow: 'truncate', |
||||
width: 30, |
||||
}, |
||||
color: 'rgba(225, 248, 242, 1)', |
||||
data: y1, |
||||
}, |
||||
{ |
||||
name: '总数', // 总数显示,生成一个总数的柱状图,将颜色设为透明,
|
||||
type: 'line', // label将位置设备内部底部,造成一个总数显示在
|
||||
stack: '', // 柱状图上方的假象
|
||||
color: 'rgba(0, 0, 0, 0)', |
||||
data: y3, |
||||
symbolSize: 0, |
||||
label: { |
||||
normal: { |
||||
show: true, |
||||
position: 'top', |
||||
color: 'rgba(133, 133, 133, 1)', |
||||
fontSize: 10, |
||||
formatter: '{c}', |
||||
}, |
||||
}, |
||||
}, |
||||
], |
||||
dataZoom: { |
||||
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
||||
startValue: x.length - 6, |
||||
endValue: x.length - 1, |
||||
filterMode: 'none', |
||||
}, |
||||
} |
||||
|
||||
chart.setOption(option) |
||||
reslove(chart) |
||||
return chart |
||||
}) |
||||
}) |
||||
}, |
||||
handleRankDetail() { |
||||
wx.navigateTo({ |
||||
url: '/module1/pages/doctorRankList/index', |
||||
}) |
||||
}, |
||||
}, |
||||
}) |
@ -0,0 +1,209 @@
@@ -0,0 +1,209 @@
|
||||
<view class="page"> |
||||
<view class="user"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<image class="code" src="/images/icon-code.png"></image> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">徐萌</view> |
||||
<view class="desc"> |
||||
主治医师 |
||||
<view class="line"></view> |
||||
心内科 |
||||
</view> |
||||
</view> |
||||
<view class="w-container"> |
||||
<view class="hostipal">北京天坛医院</view> |
||||
<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 class="banner"> |
||||
<view class="title">待处理事项</view> |
||||
<view class="bg"> |
||||
<view class="b-container"> |
||||
<view class="item"> |
||||
<view class="name">待处理病历</view> |
||||
<view class="num">27</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name">聊天室新消息</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name">医生待审核</view> |
||||
<view class="num">1</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view |
||||
class="stat" |
||||
style="background: url({{imageUrl}}home-stat-bg.png?r={{Timestamp}}) no-repeat top center/100% 100%;" |
||||
> |
||||
<view class="title">本科室全部病历</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="text">全部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
<view class="more"> |
||||
查看全部 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
<view class="s-container"> |
||||
<view class="item"> |
||||
<view class="name">全部</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
新病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
讨论中 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="line"></view> |
||||
<view class="item"> |
||||
<view class="name"> |
||||
已归档 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="department"> |
||||
<view class="d-header"> |
||||
<view class="name">本科室医生</view> |
||||
<view class="more"> |
||||
查看全部 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
</view> |
||||
<view class="d-container"> |
||||
<view class="item"> |
||||
<view class="name">医生总数</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">质控医生</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">核心医生</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">一级医生</view> |
||||
<view class="num">54</view> |
||||
</view> |
||||
</view> |
||||
<view class="tip">注:一级医生为平台全部医生,不区分科室</view> |
||||
</view> |
||||
<view class="chart-card"> |
||||
<view class="c-header"> |
||||
<view class="name"> |
||||
科室医生入驻情况 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="text">2024年</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="cahrt"> |
||||
<ec-canvas id="chart1" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> |
||||
</view> |
||||
<view class="tip">注:一级医生为平台全部医生,不区分科室</view> |
||||
</view> |
||||
<view class="chart-card"> |
||||
<view class="c-header"> |
||||
<view class="name"> |
||||
累计病历统计 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="text">2024年</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="cahrt"> |
||||
<ec-canvas id="chart2" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> |
||||
</view> |
||||
</view> |
||||
<view class="chart-card"> |
||||
<view class="c-header"> |
||||
<view class="name"> |
||||
科室新增病历统计 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="text">2024年</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="cahrt"> |
||||
<ec-canvas id="chart3" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> |
||||
</view> |
||||
</view> |
||||
<view class="rank"> |
||||
<view class="r-header"> |
||||
<view class="title"> |
||||
医院活跃排行榜 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="more" bind:tap="handleRankDetail"> |
||||
查看全部 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
</view> |
||||
<view class="table"> |
||||
<view class="thead"> |
||||
<view class="th1">医院</view> |
||||
<view class="th2">医生总数</view> |
||||
<view class="th3">S1</view> |
||||
<view class="th4">S2</view> |
||||
<view class="th5">S3</view> |
||||
</view> |
||||
<view class="tbody"> |
||||
<view class="tr" wx:for="{{4}}" wx:key="index"> |
||||
<view class="td1">1 中山大学附属医院</view> |
||||
<view class="td2">888</view> |
||||
<view class="td3">888</view> |
||||
<view class="td4">888</view> |
||||
<view class="td5">888</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
After Width: | Height: | Size: 217 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 771 B |
After Width: | Height: | Size: 754 B |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 471 B |
After Width: | Height: | Size: 428 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 482 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 36 KiB |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
{ |
||||
"navigationBarTitleText": "病历", |
||||
"navigationStyle": "default", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,116 @@
@@ -0,0 +1,116 @@
|
||||
.page { |
||||
padding: 24rpx; |
||||
.detail-card { |
||||
padding-bottom: 16rpx; |
||||
position: relative; |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
.li-header { |
||||
padding: 32rpx 32rpx 0 16rpx; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
&::before { |
||||
flex-shrink: 0; |
||||
content: ''; |
||||
width: 10rpx; |
||||
height: 40rpx; |
||||
background: #00b4c5; |
||||
border-radius: 0rpx 0rpx 0rpx 0rpx; |
||||
} |
||||
.wrap { |
||||
flex: 1; |
||||
padding-left: 22rpx; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 24rpx; |
||||
.id { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.status { |
||||
font-size: 28rpx; |
||||
&.status1 { |
||||
color: rgba(0, 180, 197, 1); |
||||
} |
||||
&.status2 { |
||||
color: rgba(247, 121, 0, 1); |
||||
} |
||||
&.status3 { |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
} |
||||
.fold { |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
align-items: center; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
.icon { |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
} |
||||
} |
||||
.li-row { |
||||
padding: 16rpx 32rpx; |
||||
display: flex; |
||||
line-height: 32rpx; |
||||
.label { |
||||
flex-shrink: 0; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
width: 5em; |
||||
} |
||||
.content { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.line { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
.new { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
background: linear-gradient(177deg, #f77900 0%, #ed4f39 88%); |
||||
border-radius: 0rpx 8rpx 0rpx 8rpx; |
||||
} |
||||
.reject { |
||||
padding: 0 8rpx; |
||||
display: inline-block; |
||||
font-size: 24rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
line-height: 32rpx; |
||||
border: 1px solid rgba(224, 224, 224, 1); |
||||
border-radius: 4rpx; |
||||
} |
||||
} |
||||
.tags { |
||||
display: flex; |
||||
gap: 12rpx; |
||||
.tag { |
||||
padding: 2rpx 8rpx; |
||||
font-size: 22rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
line-height: 32rpx; |
||||
border: 1rpx solid #bfeff4; |
||||
border-radius: 4rpx; |
||||
} |
||||
} |
||||
} |
||||
.photos { |
||||
padding: 16rpx 32rpx; |
||||
display: grid; |
||||
grid-template-columns: repeat(4, 1fr); |
||||
gap: 12rpx; |
||||
.photo { |
||||
width: 100%; |
||||
height: 148rpx; |
||||
border-radius: 8rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,62 @@
@@ -0,0 +1,62 @@
|
||||
<view class="page"> |
||||
<view class="detail-card"> |
||||
<view class="li-header"> |
||||
<view class="wrap"> |
||||
<view class="id">ID:2024020913049204001</view> |
||||
<view class="status status2">新病历</view> |
||||
</view> |
||||
<view class="fold"> |
||||
收起 |
||||
<image class="icon" src="/images/fold-down.png"></image> |
||||
</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">提交时间</view> |
||||
<view class="content">2024-02-09 12:04:23</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">提交人</view> |
||||
<view class="content"> |
||||
王军 |
||||
<text class="line">|</text> |
||||
四川大学华西医院 副主任医师 |
||||
</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">标签</view> |
||||
<view class="tags"> |
||||
<view class="tag">心律失常</view> |
||||
<view class="tag">心律失常</view> |
||||
<view class="tag">心律失常</view> |
||||
</view> |
||||
</view> |
||||
<view class="photos"> |
||||
<image |
||||
class="photo" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
bind:tap="handleImagePreview" |
||||
data-url="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
<image |
||||
class="photo" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">更新时间</view> |
||||
<view class="content"> |
||||
2024-02-09 12:04:23 |
||||
<view class="new">new</view> |
||||
<view class="reject">已驳回</view> |
||||
</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">反馈人</view> |
||||
<view class="content"> |
||||
王军 |
||||
<text class="line">|</text> |
||||
四川大学华西医院 副主任医师 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
{ |
||||
"navigationBarTitleText": "更换手机号", |
||||
"navigationStyle": "default", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
pgae { |
||||
} |
||||
.page { |
||||
.container { |
||||
.form { |
||||
margin-top: 32rpx; |
||||
padding: 0 64rpx; |
||||
.row { |
||||
margin-bottom: 40rpx; |
||||
display: flex; |
||||
.input { |
||||
flex: 1; |
||||
padding: 24rpx 32rpx; |
||||
height: 40rpx; |
||||
font-size: 32rpx; |
||||
color: #000; |
||||
background: #f6f6f6; |
||||
border-radius: 96rpx 96rpx 96rpx 96rpx; |
||||
} |
||||
.place-input { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
.code { |
||||
margin-left: 24rpx; |
||||
flex-shrink: 0; |
||||
width: 262rpx; |
||||
border-radius: 24rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
background-color: rgba(216, 247, 250, 1); |
||||
border-radius: 96rpx; |
||||
} |
||||
.submit { |
||||
margin-top: 24rpx; |
||||
width: 622rpx; |
||||
height: 88rpx; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 96rpx; |
||||
font-size: 32rpx; |
||||
color: #ffffff; |
||||
text-align: center; |
||||
line-height: 88rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,77 @@
@@ -0,0 +1,77 @@
|
||||
const app = getApp<IAppOption>() |
||||
let timer = null as null | number |
||||
|
||||
Page({ |
||||
data: { |
||||
mobile: '', |
||||
code: '', |
||||
|
||||
codeText: '发送验证码', |
||||
}, |
||||
onLoad() {}, |
||||
getCode() { |
||||
if (timer) return |
||||
const mobile = this.data.mobile |
||||
if (!mobile) { |
||||
wx.showToast({ |
||||
title: '手机号不能为空', |
||||
icon: 'none', |
||||
}) |
||||
return |
||||
} |
||||
// 验证手机号
|
||||
if (!/^(13\d|14[579]|15[0-3,5-9]|166|17[0135-8]|18\d|19[89])\d{8}$/.test(mobile)) { |
||||
wx.showToast({ |
||||
title: '手机号格式不正确', |
||||
icon: 'none', |
||||
}) |
||||
return |
||||
} |
||||
wx.ajax({ |
||||
method: 'POST', |
||||
url: '?r=zd/login/send-verify-code', |
||||
data: { |
||||
mobile, |
||||
}, |
||||
}).then((res) => { |
||||
wx.showToast({ |
||||
icon: 'none', |
||||
title: '验证码已发送~', |
||||
}) |
||||
let time = 60 |
||||
timer = setInterval(() => { |
||||
time-- |
||||
this.setData({ |
||||
codeText: `${time}s后重新发送`, |
||||
}) |
||||
if (time <= 0) { |
||||
clearInterval(timer as number) |
||||
timer = null |
||||
this.setData({ |
||||
codeText: '发送验证码', |
||||
}) |
||||
} |
||||
}, 1000) |
||||
}) |
||||
}, |
||||
handleSubmit() { |
||||
const { mobile, code } = this.data |
||||
const { registrationSource, registChannel, regBusinessId } = app.globalData |
||||
wx.ajax({ |
||||
method: 'POST', |
||||
url: '?r=zd/account/update-telephone', |
||||
data: { |
||||
mobile, |
||||
code, |
||||
registrationSource, |
||||
registChannel, |
||||
regBusinessId, |
||||
}, |
||||
}).then((_res) => { |
||||
wx.navigateBack() |
||||
}) |
||||
}, |
||||
handleBack() { |
||||
wx.navigateBack() |
||||
}, |
||||
}) |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
<view class="page"> |
||||
<view class="container"> |
||||
<view class="form"> |
||||
<view class="row"> |
||||
<input type="number" model:value="{{mobile}}" class="input" placeholder-class="place-input" placeholder="请输入手机号" /> |
||||
</view> |
||||
<view class="row"> |
||||
<input type="number" model:value="{{code}}" class="input" placeholder-class="place-input" placeholder="请输入验证码" /> |
||||
<view class="code" bind:tap="getCode">{{codeText}}</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="submit" bind:tap="handleSubmit">修改手机号</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
{ |
||||
"navigationBarTitleText": "医院活跃排行榜", |
||||
"navigationStyle": "default", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,63 @@
@@ -0,0 +1,63 @@
|
||||
page { |
||||
background-color: #fff; |
||||
} |
||||
.page { |
||||
padding: 240rpx 0 0; |
||||
.container { |
||||
padding: 32rpx; |
||||
border-radius: 32rpx 32rpx 0 0; |
||||
background: #fff linear-gradient(180deg, #f1feff 0%, #ffffff 7%, #ffffff 100%); |
||||
border: 2rpx solid #ffffff; |
||||
.table { |
||||
.thead { |
||||
padding: 22rpx 0; |
||||
display: flex; |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
background-color: rgba(233, 246, 247, 1); |
||||
text-align: center; |
||||
border-radius: 8rpx; |
||||
.th1 { |
||||
width: 338rpx; |
||||
} |
||||
.th2, |
||||
.th3, |
||||
.th4, |
||||
.th5 { |
||||
width: 96rpx; |
||||
white-space: nowrap; |
||||
} |
||||
} |
||||
.tbody { |
||||
border-bottom: 1rpx solid rgba(224, 224, 224, 0.5); |
||||
.tr { |
||||
display: flex; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
text-align: center; |
||||
padding: 18rpx 0; |
||||
line-height: 32rpx; |
||||
border-radius: 8rpx; |
||||
&:nth-child(even) { |
||||
background-color: rgba(248, 248, 248, 1); |
||||
} |
||||
.td1 { |
||||
padding: 12rpx 0; |
||||
width: 338rpx; |
||||
} |
||||
.td2, |
||||
.td3, |
||||
.td4, |
||||
.td5 { |
||||
padding: 12rpx 0; |
||||
width: 96rpx; |
||||
border-left: 1px dashed rgba(224, 224, 224, 1); |
||||
} |
||||
.td2 { |
||||
color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
<view |
||||
class="page" |
||||
style="background: url({{imageUrl}}doctor-rank-bg.png?r={{Timestamp}}) no-repeat top center/100% 326rpx;" |
||||
> |
||||
<view class="container"> |
||||
<view class="table"> |
||||
<view class="thead"> |
||||
<view class="th1">医院</view> |
||||
<view class="th2">医生总数</view> |
||||
<view class="th3">S1</view> |
||||
<view class="th4">S2</view> |
||||
<view class="th5">S3</view> |
||||
</view> |
||||
<view class="tbody"> |
||||
<view class="tr" wx:for="{{4}}" wx:key="index"> |
||||
<view class="td1">1 中山大学附属医院</view> |
||||
<view class="td2">888</view> |
||||
<view class="td3">888</view> |
||||
<view class="td4">888</view> |
||||
<view class="td5">888</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
{ |
||||
"navigationBarTitleText": "录入新病历", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"uploadFile": "/components/uploadFile/index", |
||||
"van-icon": "@vant/weapp/icon/index", |
||||
"customRecord": "/components/customRecord/index", |
||||
"van-popup": "@vant/weapp/popup/index" |
||||
} |
||||
} |
@ -0,0 +1,363 @@
@@ -0,0 +1,363 @@
|
||||
page { |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
.page { |
||||
padding: 24rpx 32rpx 200rpx; |
||||
.card { |
||||
margin-bottom: 24rpx; |
||||
padding: 32rpx; |
||||
background-color: #fff; |
||||
border-radius: 16rpx; |
||||
.card-title { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 56rpx; |
||||
.limit { |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
.message-select { |
||||
float: right; |
||||
padding: 8rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
line-height: 40rpx; |
||||
background: #01b4c5; |
||||
border-radius: 60rpx 60rpx 60rpx 60rpx; |
||||
} |
||||
&.required { |
||||
&::before { |
||||
display: inline; |
||||
content: '*'; |
||||
color: rgba(255, 87, 51, 1); |
||||
} |
||||
} |
||||
} |
||||
.image-files { |
||||
margin-top: 32rpx; |
||||
display: flex; |
||||
gap: 14rpx; |
||||
.upload-file { |
||||
width: 144rpx; |
||||
height: 144rpx; |
||||
background: #f6f6f6; |
||||
border-radius: 8rpx 8rpx 8rpx 8rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
.add { |
||||
color: #cdcdcd; |
||||
font-size: 30px; |
||||
} |
||||
} |
||||
.photo { |
||||
position: relative; |
||||
width: 144rpx; |
||||
height: 144rpx; |
||||
border-radius: 8rpx 8rpx 8rpx 8rpx; |
||||
.p-img { |
||||
width: 100%; |
||||
height: 100%; |
||||
border-radius: inherit; |
||||
} |
||||
.del { |
||||
position: absolute; |
||||
top: 0; |
||||
right: 0; |
||||
z-index: 1; |
||||
color: #fff; |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
text-align: center; |
||||
line-height: 32rpx; |
||||
font-size: 20rpx; |
||||
border-radius: 8rpx; |
||||
background-color: rgba(0, 0, 0, 0.3); |
||||
} |
||||
.repeat { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
width: 100%; |
||||
height: 100%; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
justify-content: center; |
||||
border-radius: inherit; |
||||
background-color: rgba(0, 0, 0, 0.3); |
||||
.icon { |
||||
width: 36rpx; |
||||
height: 36rpx; |
||||
} |
||||
.r-title { |
||||
margin-top: 8rpx; |
||||
font-size: 20rpx; |
||||
color: rgba(237, 79, 57, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.remark { |
||||
margin-top: 32rpx; |
||||
padding: 32rpx; |
||||
border-radius: 16rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
.textarea { |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
min-height: 200rpx; |
||||
color: #000; |
||||
} |
||||
.limit { |
||||
font-size: 28rpx; |
||||
color: rgba(205, 205, 205, 1); |
||||
line-height: 32rpx; |
||||
text-align: right; |
||||
} |
||||
} |
||||
.record { |
||||
margin: 24rpx -30rpx -30rpx; |
||||
height: 198rpx; |
||||
border-radius: 16rpx; |
||||
background: linear-gradient(to bottom, #fff 0%, #fff 34%, #f6f6f6 34%, #f6f6f6 100%); |
||||
.record-btn { |
||||
display: flex; |
||||
justify-content: center; |
||||
} |
||||
.r-title { |
||||
margin-top: 12rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
text-align: center; |
||||
} |
||||
} |
||||
.none-file { |
||||
margin-top: 24rpx; |
||||
padding: 26rpx; |
||||
border-radius: 16rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
justify-content: center; |
||||
.nf-icon { |
||||
width: 96rpx; |
||||
height: 66rpx; |
||||
} |
||||
.nf-title { |
||||
margin-top: 14rpx; |
||||
font-size: 24rpx; |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
.file-list { |
||||
margin-top: 8rpx; |
||||
.fl-row { |
||||
margin-top: 24rpx; |
||||
display: flex; |
||||
align-content: inherit; |
||||
justify-content: space-between; |
||||
.wrap { |
||||
flex: 1; |
||||
padding: 20rpx 24rpx; |
||||
border-radius: 16rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
.icon { |
||||
width: 56rpx; |
||||
height: 56rpx; |
||||
} |
||||
.name { |
||||
margin-left: 30rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(128, 128, 128, 1); |
||||
} |
||||
} |
||||
.option { |
||||
display: flex; |
||||
align-items: center; |
||||
.icon { |
||||
margin-left: 16rpx; |
||||
width: 36rpx; |
||||
height: 36rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.tags { |
||||
margin-top: 24rpx; |
||||
padding: 22rpx 32rpx; |
||||
border-radius: 16rpx; |
||||
background-color: #fff; |
||||
display: flex; |
||||
.label { |
||||
padding-top: 8rpx; |
||||
flex-shrink: 0; |
||||
width: 3em; |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.wrap { |
||||
flex: 1; |
||||
.tag-wrap { |
||||
display: flex; |
||||
gap: 16rpx; |
||||
flex-wrap: wrap; |
||||
.tag { |
||||
padding: 10rpx 32rpx; |
||||
font-size: 32rpx; |
||||
line-height: 44rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
background: #f6f6f6; |
||||
border-radius: 84rpx 84rpx 84rpx 84rpx; |
||||
&.active { |
||||
color: #fff; |
||||
background-color: rgba(1, 180, 197, 1); |
||||
} |
||||
} |
||||
} |
||||
.sub-tag-wrap { |
||||
margin-top: 32rpx; |
||||
padding: 32rpx; |
||||
border-radius: 16rpx; |
||||
background-color: rgba(246, 250, 250, 1); |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 16rpx; |
||||
.sub-tag { |
||||
padding: 6rpx 32rpx; |
||||
border-radius: 8rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
line-height: 44rpx; |
||||
border: 1px solid rgba(255, 255, 255, 1); |
||||
background-color: rgba(255, 255, 255, 1); |
||||
&.active { |
||||
border-color: rgba(1, 180, 197, 1); |
||||
color: rgba(1, 180, 197, 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; |
||||
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: 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 { |
||||
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; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.popup1 { |
||||
padding: 64rpx 52rpx 34rpx; |
||||
width: 580rpx; |
||||
box-sizing: border-box; |
||||
.title { |
||||
font-size: 36rpx; |
||||
color: rgba(29, 33, 41, 1); |
||||
font-weight: bold; |
||||
line-height: 56rpx; |
||||
text-align: center; |
||||
} |
||||
.btn1 { |
||||
margin-top: 24rpx; |
||||
padding: 14rpx; |
||||
font-size: 32rpx; |
||||
color: #fff; |
||||
line-height: 44rpx; |
||||
text-align: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 60rpx 60rpx 60rpx 60rpx; |
||||
} |
||||
.btn2 { |
||||
margin-top: 24rpx; |
||||
padding: 12rpx 14rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 180, 197, 1); |
||||
line-height: 44rpx; |
||||
text-align: center; |
||||
border: 1px solid rgba(1, 180, 197, 1); |
||||
border-radius: 60rpx 60rpx 60rpx 60rpx; |
||||
} |
||||
.public { |
||||
margin-top: 32rpx; |
||||
.radio { |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
.wx-radio-input { |
||||
flex-shrink: 0; |
||||
align-self: self-start; |
||||
transform: scale(0.7); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.popup2 { |
||||
padding: 64rpx 52rpx 34rpx; |
||||
width: 580rpx; |
||||
box-sizing: border-box; |
||||
.title { |
||||
font-size: 36rpx; |
||||
color: rgba(29, 33, 41, 1); |
||||
font-weight: bold; |
||||
line-height: 56rpx; |
||||
text-align: center; |
||||
} |
||||
.content { |
||||
margin-top: 12rpx; |
||||
font-size: 32rpx; |
||||
line-height: 48rpx; |
||||
color: rgba(78, 89, 105, 1); |
||||
.link { |
||||
color: rgba(1, 180, 197, 1); |
||||
} |
||||
} |
||||
.btn { |
||||
margin-top: 24rpx; |
||||
padding: 14rpx; |
||||
font-size: 32rpx; |
||||
color: #fff; |
||||
line-height: 44rpx; |
||||
text-align: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 60rpx 60rpx 60rpx 60rpx; |
||||
} |
||||
.cancel { |
||||
margin-top: 24rpx; |
||||
padding: 14rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(205, 205, 205, 1); |
||||
line-height: 44rpx; |
||||
text-align: center; |
||||
} |
||||
} |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: { |
||||
show1: false, |
||||
show2: false, |
||||
}, |
||||
onLoad() {}, |
||||
|
||||
handleSubmit(){ |
||||
wx.navigateTo({ |
||||
url:"/module1/pages/entryCasesResult/index" |
||||
}) |
||||
} |
||||
}) |
@ -0,0 +1,111 @@
@@ -0,0 +1,111 @@
|
||||
<view class="page"> |
||||
<view class="card"> |
||||
<view class="card-title required"> |
||||
上传病历图片 |
||||
<text class="limit">(0/9)</text> |
||||
</view> |
||||
<view class="image-files"> |
||||
<view class="photo"> |
||||
<image |
||||
class="p-img" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
mode="aspectFill" |
||||
></image> |
||||
<view class="del"> |
||||
<van-icon name="cross" /> |
||||
</view> |
||||
<view class="repeat"> |
||||
<image class="icon" src="/images/icon-error.png"></image> |
||||
<view class="r-title">重复图片</view> |
||||
</view> |
||||
</view> |
||||
<uploadFile> |
||||
<view class="upload-file"> |
||||
<van-icon class="add" name="plus" /> |
||||
</view> |
||||
</uploadFile> |
||||
</view> |
||||
</view> |
||||
<view class="card"> |
||||
<view class="card-title">病历备注</view> |
||||
<view class="remark"> |
||||
<textarea |
||||
class="textarea" |
||||
placeholder-style="color:rgba(205, 205, 205, 1);" |
||||
placeholder="请输入您的病历备注" |
||||
auto-height |
||||
maxlength="{{3000}}" |
||||
></textarea> |
||||
<view class="limit">0/3000</view> |
||||
</view> |
||||
<view class="record"> |
||||
<customRecord class="record-btn"></customRecord> |
||||
<view class="r-title">您也可以长按录入语音</view> |
||||
</view> |
||||
</view> |
||||
<view class="card"> |
||||
<view class="card-title"> |
||||
病历相关文件 |
||||
<view class="message-select">从聊天记录选择文件</view> |
||||
</view> |
||||
<view class="none-file"> |
||||
<image class="nf-icon" src="/images/icon-nore-file.png"></image> |
||||
<view class="nf-title">还没有文件哦!</view> |
||||
</view> |
||||
<view class="file-list"> |
||||
<view class="fl-row"> |
||||
<view class="wrap"> |
||||
<image class="icon" src="/images/icon-file.png"></image> |
||||
<view class="name">基因检测报告.pdf</view> |
||||
</view> |
||||
<view class="option"> |
||||
<image class="icon" src="/images/icon-del.png"></image> |
||||
<image class="icon" src="/images/icon-eye.png"></image> |
||||
<image class="icon" src="/images/icon-download.png"></image> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="tags"> |
||||
<view class="label">标签</view> |
||||
<view class="wrap"> |
||||
<view class="tag-wrap"> |
||||
<view class="tag">消化科</view> |
||||
<view class="tag">消化科</view> |
||||
</view> |
||||
<view class="sub-tag-wrap"> |
||||
<view class="sub-tag active">心衰</view> |
||||
<view class="sub-tag">心衰</view> |
||||
<view class="sub-tag">心衰</view> |
||||
<view class="sub-tag">心衰</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="footer"> |
||||
<view class="cancel">存为草稿</view> |
||||
<view class="submit" bind:tap="handleSubmit" bind:tap="handleSubmit">保存并提交</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<van-popup show="{{ show1 }}" bind:close="onClose" round closeable> |
||||
<view class="popup1"> |
||||
<view class="title">确认提交您的反馈信息</view> |
||||
<view class="btn1">直接提交我的反馈信息</view> |
||||
<view class="btn2">提交并邀约质控医生</view> |
||||
<view class="public"> |
||||
<radio class="radio">病例公开(选择公开后,本科室医生均查看病例)</radio> |
||||
</view> |
||||
</view> |
||||
</van-popup> |
||||
|
||||
<van-popup show="{{ show2 }}" bind:close="onClose" round closeable> |
||||
<view class="popup2"> |
||||
<view class="title">您的病例没有进行涂抹</view> |
||||
<!-- prettier-ignore --> |
||||
<view class="content"> |
||||
请<text class="link">确认</text>上传的病例 已不包含患者的隐私信息 |
||||
</view> |
||||
<view class="btn">确认继续提交</view> |
||||
<view class="cancel">返回</view> |
||||
</view> |
||||
</van-popup> |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
{ |
||||
"navigationBarTitleText": "录入新病例", |
||||
"navigationStyle": "default", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
.page { |
||||
padding: 60rpx 34rpx; |
||||
.badge { |
||||
display: block; |
||||
margin: 0 auto; |
||||
width: 200rpx; |
||||
height: 200rpx; |
||||
} |
||||
.desc { |
||||
margin-top: 16rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
text-align: center; |
||||
} |
||||
.btn1 { |
||||
margin: 86rpx 124rpx 0; |
||||
padding: 22rpx; |
||||
font-size: 32rpx; |
||||
color: #fff; |
||||
line-height: 44rpx; |
||||
text-align: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 60rpx 60rpx 60rpx 60rpx; |
||||
} |
||||
.btn2 { |
||||
margin: 32rpx 124rpx 0; |
||||
padding: 20rpx 14rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 180, 197, 1); |
||||
line-height: 44rpx; |
||||
text-align: center; |
||||
border: 1px solid rgba(1, 180, 197, 1); |
||||
border-radius: 60rpx 60rpx 60rpx 60rpx; |
||||
} |
||||
.code { |
||||
margin: 90rpx auto 0; |
||||
padding: 20rpx; |
||||
display: block; |
||||
border: 4rpx solid rgba(1, 180, 197, 0.18); |
||||
width: 296rpx; |
||||
height: 296rpx; |
||||
border-radius: 16rpx; |
||||
} |
||||
.tip{ |
||||
margin-top: 32rpx; |
||||
text-align: center; |
||||
font-size: 32rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
<view class="page"> |
||||
<image class="badge" src="/images/icon-resolve.png" mode="scaleToFill"></image> |
||||
<view class="desc">病历提交后医生将收到消息提醒</view> |
||||
<view class="btn1">查看我提交的病历</view> |
||||
<view class="btn2">继续录入新的病历</view> |
||||
<image |
||||
class="code" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
mode="scaleToFill" |
||||
show-menu-by-longpress |
||||
></image> |
||||
<view class="tip">关注公众号接收病例反馈消息</view> |
||||
</view> |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"navigationBarTitleText": "我的组织架构", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index" |
||||
} |
||||
} |
@ -0,0 +1,314 @@
@@ -0,0 +1,314 @@
|
||||
page { |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
.page { |
||||
padding-bottom: 80rpx; |
||||
.header { |
||||
padding: 32rpx; |
||||
border-radius: 0 0 32rpx 32rpx; |
||||
background-color: #fff; |
||||
.banner { |
||||
padding: 32rpx 0; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 1rpx solid #ffffff; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 56rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
line-height: 1; |
||||
} |
||||
&:nth-of-type(2) { |
||||
border-right: 1rpx dashed rgba(255, 255, 255, 0.5); |
||||
border-left: 1rpx dashed rgba(255, 255, 255, 0.5); |
||||
} |
||||
} |
||||
} |
||||
.operate { |
||||
margin-top: 32rpx; |
||||
display: flex; |
||||
gap: 24rpx; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.search { |
||||
flex: 1; |
||||
display: flex; |
||||
gap: 12rpx; |
||||
align-items: center; |
||||
padding: 16rpx 36rpx; |
||||
border-radius: 96rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
.icon { |
||||
flex-shrink: 0; |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
.input { |
||||
font-size: 28rpx; |
||||
color: #000; |
||||
} |
||||
.place-input { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
.invite { |
||||
flex-shrink: 0; |
||||
padding: 14rpx 24rpx; |
||||
font-size: 30rpx; |
||||
line-height: 44rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
border-radius: 72rpx 72rpx 72rpx 72rpx; |
||||
border: 1rpx solid #00b4c5; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.doctor { |
||||
display: flex; |
||||
gap: 24rpx; |
||||
&:last-of-type { |
||||
margin-bottom: 0; |
||||
} |
||||
.avatar-wrap { |
||||
width: 112rpx; |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
.avatar { |
||||
flex-shrink: 0; |
||||
position: relative; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
} |
||||
.wrap { |
||||
padding-top: 8rpx; |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
line-height: 1; |
||||
.wh-wrap { |
||||
flex: 1; |
||||
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); |
||||
} |
||||
} |
||||
.fold { |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
align-items: center; |
||||
font-size: 28rpx; |
||||
gap: 8rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
.f-icon { |
||||
width: 28rpx; |
||||
height: 28rpx; |
||||
} |
||||
} |
||||
} |
||||
.w-container { |
||||
margin-top: 16rpx; |
||||
.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: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.me { |
||||
margin: 24rpx 24rpx 0; |
||||
.doctor { |
||||
padding: 24rpx; |
||||
background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 50%); |
||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
} |
||||
} |
||||
|
||||
.container { |
||||
margin: 24rpx 24rpx 0; |
||||
border-radius: 16rpx; |
||||
background-color: #fff; |
||||
.level-two { |
||||
display: flex; |
||||
.aside { |
||||
padding-left: 60rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
.vertical { |
||||
flex-shrink: 0; |
||||
width: 1px; |
||||
height: 80rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.across { |
||||
flex-shrink: 0; |
||||
width: 42rpx; |
||||
height: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.doctor { |
||||
padding-top: 24rpx; |
||||
padding-right: 24rpx; |
||||
.avatar-wrap { |
||||
.num { |
||||
flex-shrink: 0; |
||||
margin-top: 8rpx; |
||||
padding: 0 20rpx; |
||||
font-size: 22rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
border-radius: 64rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.line { |
||||
flex: 1; |
||||
width: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.wrap { |
||||
padding-bottom: 24rpx; |
||||
} |
||||
} |
||||
} |
||||
.level-three { |
||||
display: flex; |
||||
.aside { |
||||
margin-left: 60rpx; |
||||
padding-left: 42rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
.vertical { |
||||
flex-shrink: 0; |
||||
margin-left: 56rpx; |
||||
width: 1px; |
||||
height: 80rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.across { |
||||
flex-shrink: 0; |
||||
margin-left: 56rpx; |
||||
width: 42rpx; |
||||
height: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.vertical-grow { |
||||
flex: 1; |
||||
margin-left: 56rpx; |
||||
width: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.doctor { |
||||
padding: 24rpx 24rpx 24rpx 0; |
||||
} |
||||
} |
||||
.level-three-only { |
||||
display: flex; |
||||
.aside { |
||||
padding-left: 60rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
.vertical { |
||||
flex-shrink: 0; |
||||
width: 1px; |
||||
height: 80rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.across { |
||||
flex-shrink: 0; |
||||
width: 144rpx; |
||||
height: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.doctor { |
||||
padding: 24rpx 24rpx 24rpx 0; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.empty-wrap { |
||||
.empty { |
||||
margin: 174rpx auto 0; |
||||
display: block; |
||||
width: 356rpx; |
||||
height: 280rpx; |
||||
} |
||||
.e-title { |
||||
margin-top: -80rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
text-align: center; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,229 @@
@@ -0,0 +1,229 @@
|
||||
<view class="page"> |
||||
<view class="header"> |
||||
<view class="banner"> |
||||
<view class="item"> |
||||
<view class="name">全部医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">二级医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">一级医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
</view> |
||||
<view class="operate"> |
||||
<view class="search"> |
||||
<image class="icon" src="/images/icon-search.png"></image> |
||||
<input type="text" class="input" placeholder-class="place-input" placeholder="搜索医院名称" /> |
||||
</view> |
||||
<view class="invite">邀约新医生</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="me"> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
<view class="fold"> |
||||
收起 |
||||
<image class="f-icon" src="/images/fold-down.png"></image> |
||||
</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 class="container"> |
||||
<view class="level-two"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<view class="num">2人</view> |
||||
<view class="line"></view> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
<view class="fold"> |
||||
收起 |
||||
<image class="f-icon" src="/images/fold-down.png"></image> |
||||
</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 class="level-three"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
<view class="vertical-grow"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</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 class="level-three"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
<view class="vertical-grow"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</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 class="container"> |
||||
<view class="level-three-only"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</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 class="empty-wrap"> |
||||
<image class="empty" src="/images/empty-1.png" mode="scaleToFill"></image> |
||||
<view class="e-title">没有找到您搜索的医院哦!</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"navigationBarTitleText": "我的组织架构", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index" |
||||
} |
||||
} |
@ -0,0 +1,333 @@
@@ -0,0 +1,333 @@
|
||||
page { |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
.page { |
||||
padding-bottom: 80rpx; |
||||
.header { |
||||
padding: 32rpx; |
||||
border-radius: 0 0 32rpx 32rpx; |
||||
background-color: #fff; |
||||
.select { |
||||
display: flex; |
||||
align-content: inherit; |
||||
gap: 14rpx; |
||||
.label { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.picker { |
||||
.picker-content { |
||||
padding: 4rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
line-height: 39rpx; |
||||
border-radius: 98rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
} |
||||
} |
||||
.banner { |
||||
margin-top: 24rpx; |
||||
padding: 32rpx 0; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 1rpx solid #ffffff; |
||||
.item { |
||||
flex: 1; |
||||
text-align: center; |
||||
.name { |
||||
font-size: 28rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
line-height: 1; |
||||
} |
||||
.num { |
||||
margin-top: 24rpx; |
||||
font-size: 56rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
line-height: 1; |
||||
} |
||||
&:nth-of-type(1) { |
||||
border-right: 1rpx dashed rgba(255, 255, 255, 0.5); |
||||
} |
||||
} |
||||
} |
||||
.operate { |
||||
margin-top: 32rpx; |
||||
display: flex; |
||||
gap: 24rpx; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.search { |
||||
flex: 1; |
||||
display: flex; |
||||
gap: 12rpx; |
||||
align-items: center; |
||||
padding: 16rpx 36rpx; |
||||
border-radius: 96rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
.icon { |
||||
flex-shrink: 0; |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
.input { |
||||
font-size: 28rpx; |
||||
color: #000; |
||||
} |
||||
.place-input { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
.invite { |
||||
flex-shrink: 0; |
||||
padding: 14rpx 24rpx; |
||||
font-size: 30rpx; |
||||
line-height: 44rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
border-radius: 72rpx 72rpx 72rpx 72rpx; |
||||
border: 1rpx solid #00b4c5; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.doctor { |
||||
display: flex; |
||||
gap: 24rpx; |
||||
&:last-of-type { |
||||
margin-bottom: 0; |
||||
} |
||||
.avatar-wrap { |
||||
width: 112rpx; |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
.avatar { |
||||
flex-shrink: 0; |
||||
position: relative; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
} |
||||
.wrap { |
||||
padding-top: 8rpx; |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
line-height: 1; |
||||
.wh-wrap { |
||||
flex: 1; |
||||
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); |
||||
} |
||||
} |
||||
.fold { |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
align-items: center; |
||||
font-size: 28rpx; |
||||
gap: 8rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
.f-icon { |
||||
width: 28rpx; |
||||
height: 28rpx; |
||||
} |
||||
} |
||||
} |
||||
.w-container { |
||||
margin-top: 16rpx; |
||||
.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: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.me { |
||||
margin: 24rpx 24rpx 0; |
||||
.doctor { |
||||
padding: 24rpx; |
||||
background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 50%); |
||||
box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
} |
||||
} |
||||
|
||||
.container { |
||||
margin: 24rpx 24rpx 0; |
||||
border-radius: 16rpx; |
||||
background-color: #fff; |
||||
.level-two { |
||||
display: flex; |
||||
.aside { |
||||
padding-left: 60rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
.vertical { |
||||
flex-shrink: 0; |
||||
width: 1px; |
||||
height: 80rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.across { |
||||
flex-shrink: 0; |
||||
width: 42rpx; |
||||
height: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.doctor { |
||||
padding-top: 24rpx; |
||||
padding-right: 24rpx; |
||||
.avatar-wrap { |
||||
.num { |
||||
flex-shrink: 0; |
||||
margin-top: 8rpx; |
||||
padding: 0 20rpx; |
||||
font-size: 22rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
border-radius: 64rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.line { |
||||
flex: 1; |
||||
width: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.wrap { |
||||
padding-bottom: 24rpx; |
||||
} |
||||
} |
||||
} |
||||
.level-three { |
||||
display: flex; |
||||
.aside { |
||||
margin-left: 60rpx; |
||||
padding-left: 42rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
.vertical { |
||||
flex-shrink: 0; |
||||
margin-left: 56rpx; |
||||
width: 1px; |
||||
height: 80rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.across { |
||||
flex-shrink: 0; |
||||
margin-left: 56rpx; |
||||
width: 42rpx; |
||||
height: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.vertical-grow { |
||||
flex: 1; |
||||
margin-left: 56rpx; |
||||
width: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.doctor { |
||||
padding: 24rpx 24rpx 24rpx 0; |
||||
} |
||||
} |
||||
.level-three-only { |
||||
display: flex; |
||||
.aside { |
||||
padding-left: 60rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
.vertical { |
||||
flex-shrink: 0; |
||||
width: 1px; |
||||
height: 80rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
.across { |
||||
flex-shrink: 0; |
||||
width: 144rpx; |
||||
height: 1px; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.doctor { |
||||
padding: 24rpx 24rpx 24rpx 0; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.empty-wrap { |
||||
.empty { |
||||
margin: 174rpx auto 0; |
||||
display: block; |
||||
width: 356rpx; |
||||
height: 280rpx; |
||||
} |
||||
.e-title { |
||||
margin-top: -80rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
text-align: center; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
@ -0,0 +1,279 @@
@@ -0,0 +1,279 @@
|
||||
<view class="page"> |
||||
<view class="header"> |
||||
<view class="select"> |
||||
<view class="label">所在科室:</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
心血管内科 |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="banner"> |
||||
<view class="item"> |
||||
<view class="name">全部医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">三级医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">二级医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
<view class="item"> |
||||
<view class="name">一级医生</view> |
||||
<view class="num">9</view> |
||||
</view> |
||||
</view> |
||||
<view class="operate"> |
||||
<view class="search"> |
||||
<image class="icon" src="/images/icon-search.png"></image> |
||||
<input type="text" class="input" placeholder-class="place-input" placeholder="搜索医院名称" /> |
||||
</view> |
||||
<view class="invite">邀约新医生</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="me"> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
<view class="fold"> |
||||
全部收起 |
||||
<image class="f-icon" src="/images/fold-down.png"></image> |
||||
</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 class="me"> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
<view class="fold"> |
||||
收起 |
||||
<image class="f-icon" src="/images/fold-down.png"></image> |
||||
</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 class="container"> |
||||
<view class="level-two"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<view class="num">2人</view> |
||||
<view class="line"></view> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</view> |
||||
<view class="fold"> |
||||
收起 |
||||
<image class="f-icon" src="/images/fold-down.png"></image> |
||||
</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 class="level-three"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
<view class="vertical-grow"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</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 class="level-three"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
<view class="vertical-grow"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</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 class="container"> |
||||
<view class="level-three-only"> |
||||
<view class="aside"> |
||||
<view class="vertical"></view> |
||||
<view class="across"></view> |
||||
</view> |
||||
<view class="doctor"> |
||||
<view class="avatar-wrap"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
</view> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="wh-wrap"> |
||||
<view class="name">徐萌</view> |
||||
<view class="label">主任医师</view> |
||||
<view class="line"></view> |
||||
<view class="label">心内科</view> |
||||
</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 class="empty-wrap"> |
||||
<image class="empty" src="/images/empty-1.png" mode="scaleToFill"></image> |
||||
<view class="e-title">没有找到您搜索的医院哦!</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
{ |
||||
"navigationBarTitleText": "个人信息", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"uploadFile": "/components/uploadFile/index", |
||||
"van-icon": "@vant/weapp/icon/index", |
||||
"van-popup": "@vant/weapp/popup/index" |
||||
} |
||||
} |
@ -0,0 +1,128 @@
@@ -0,0 +1,128 @@
|
||||
page { |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
.page { |
||||
padding: 48rpx 32rpx 0; |
||||
background-color: #fff; |
||||
.upload { |
||||
margin: 0 auto 0; |
||||
display: block; |
||||
width: 136rpx; |
||||
height: 136rpx; |
||||
.avatar { |
||||
width: 136rpx; |
||||
height: 136rpx; |
||||
border-radius: 50%; |
||||
} |
||||
.edit { |
||||
position: absolute; |
||||
bottom: 0; |
||||
right: 0; |
||||
width: 52rpx; |
||||
height: 52rpx; |
||||
border-radius: 50%; |
||||
background-color: #fff; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
.icon { |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
} |
||||
} |
||||
.row { |
||||
padding: 32rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.label { |
||||
font-size: 32rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
} |
||||
.content { |
||||
flex: 1; |
||||
text-align: right; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.picker { |
||||
flex: 1; |
||||
.picker-content { |
||||
text-align: right; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.btn { |
||||
margin: 32rpx 32rpx 0; |
||||
width: 686rpx; |
||||
height: 88rpx; |
||||
border-radius: 84rpx 84rpx 84rpx 84rpx; |
||||
border: 1rpx solid #00b4c5; |
||||
box-sizing: border-box; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
font-size: 32rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
&:first-of-type { |
||||
margin-top: 48rpx; |
||||
} |
||||
} |
||||
|
||||
.popup-brief { |
||||
padding: 32rpx 30rpx 84rpx; |
||||
.title { |
||||
display: flex; |
||||
justify-content: center; |
||||
font-size: 36rpx; |
||||
color: rgba(40, 48, 49, 1); |
||||
font-weight: bold; |
||||
} |
||||
.textarea { |
||||
padding: 30rpx; |
||||
margin-top: 32rpx; |
||||
width: 100%; |
||||
height: 216rpx; |
||||
box-sizing: border-box; |
||||
background: #f7f8f9; |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 2rpx solid #f8f9f9; |
||||
font-size: 32rx; |
||||
} |
||||
.tags { |
||||
margin-top: 32rpx; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 20rpx; |
||||
.tag { |
||||
padding: 6rpx 44rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
line-height: 44rpx; |
||||
background-color: #fff; |
||||
border: 1px solid rgba(133, 133, 133, 1); |
||||
border-radius: 8rpx; |
||||
&.active { |
||||
background-color: #fff; |
||||
border-color: rgba(1, 180, 197, 1); |
||||
color: rgba(1, 180, 197, 1); |
||||
} |
||||
} |
||||
} |
||||
.submit { |
||||
margin-top: 32rpx; |
||||
height: 84rpx; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
font-size: 36rpx; |
||||
color: #fff; |
||||
border-radius: 64rpx 64rpx 64rpx 64rpx; |
||||
} |
||||
} |
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: { |
||||
popupBriefShow: false, |
||||
popupSpecialtyShow: false, |
||||
}, |
||||
onLoad() {}, |
||||
changePhone() { |
||||
wx.navigateTo({ |
||||
url: '/module1/pages/changePhone/index', |
||||
}) |
||||
}, |
||||
handleBrief() { |
||||
this.setData({ |
||||
popupBriefShow: true, |
||||
}) |
||||
}, |
||||
}) |
@ -0,0 +1,87 @@
@@ -0,0 +1,87 @@
|
||||
<view class="page"> |
||||
<uploadFile class="upload" chooseAvatar> |
||||
<image |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
<view class="edit"> |
||||
<image class="icon" src="/images/icon-edit.png"></image> |
||||
</view> |
||||
</uploadFile> |
||||
<view class="row"> |
||||
<view class="label">姓名</view> |
||||
<view class="content">刘大庆</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">电话</view> |
||||
<view class="content" bind:tap="changePhone">139****6754</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">医院</view> |
||||
<view class="content">北京天坛医院</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">科室</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
消化科 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">专长</view> |
||||
<view class="content"> |
||||
高血压;心脏病 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">医生简介</view> |
||||
<view class="content"> |
||||
医生简介信息 |
||||
<van-icon name="arrow" /> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="btn">退出登录</view> |
||||
<view class="btn">更换手机号</view> |
||||
|
||||
<van-popup |
||||
show="{{ popupBriefShow }}" |
||||
style="--popup-close-icon-color: #283031" |
||||
position="bottom" |
||||
round |
||||
closeable |
||||
bind:close="onClose" |
||||
> |
||||
<view class="popup-brief"> |
||||
<view class="title">医生简介</view> |
||||
<textarea |
||||
class="textarea" |
||||
placeholder-style="color: rgba(194, 201, 202, 1)" |
||||
placeholder="请输入医生简介信息" |
||||
></textarea> |
||||
<view class="submit">保存</view> |
||||
</view> |
||||
</van-popup> |
||||
|
||||
<van-popup |
||||
show="{{ popupSpecialtyShow }}" |
||||
style="--popup-close-icon-color: #283031" |
||||
position="bottom" |
||||
round |
||||
closeable |
||||
bind:close="onClose" |
||||
> |
||||
<view class="popup-brief"> |
||||
<view class="title">医生专长</view> |
||||
<view class="tags"> |
||||
<view class="tag active">瓣膜病</view> |
||||
<view class="tag">心律失常</view> |
||||
<view class="tag">心衰</view> |
||||
<view class="tag">心肌病</view> |
||||
</view> |
||||
<view class="submit">保存</view> |
||||
</view> |
||||
</van-popup> |
@ -1,3 +1,8 @@
@@ -1,3 +1,8 @@
|
||||
{ |
||||
"usingComponents": {} |
||||
"navigationBarTitleText": "病历", |
||||
"navigationStyle": "default", |
||||
"usingComponents": { |
||||
"van-icon": "@vant/weapp/icon/index", |
||||
"van-popup": "@vant/weapp/popup/index" |
||||
} |
||||
} |
||||
|
@ -0,0 +1,464 @@
@@ -0,0 +1,464 @@
|
||||
page { |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
.page { |
||||
padding-bottom: 200rpx; |
||||
.header { |
||||
background-color: #fff; |
||||
border-radius: 0 0 32rpx 32rpx; |
||||
.navbar { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.nav { |
||||
padding: 20rpx; |
||||
flex: 1; |
||||
text-align: center; |
||||
font-size: 32rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
line-height: 44rpx; |
||||
&.active { |
||||
position: relative; |
||||
color: rgba(0, 180, 197, 1); |
||||
&::after { |
||||
position: absolute; |
||||
bottom: 0; |
||||
left: 50%; |
||||
transform: translateX(-50%); |
||||
width: 48rpx; |
||||
height: 8rpx; |
||||
border-radius: 8rpx 8rpx 0 0; |
||||
content: ''; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.search { |
||||
margin: 32rpx 32rpx 0; |
||||
padding: 16rpx 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
border-radius: 122rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
.icon { |
||||
margin-right: 14rpx; |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
.input { |
||||
flex: 1; |
||||
font-size: 28rpx; |
||||
color: #000; |
||||
} |
||||
.place-input { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
.form { |
||||
margin: 32rpx 32rpx 0; |
||||
display: grid; |
||||
grid-template-columns: repeat(2, 1fr); |
||||
gap: 18rpx 28rpx; |
||||
.row { |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 16rpx; |
||||
.label { |
||||
flex-shrink: 0; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.picker { |
||||
flex: 1; |
||||
} |
||||
.picker-content { |
||||
flex: 1; |
||||
padding: 16rpx 20rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
line-height: 32rpx; |
||||
background: #f6f6f6; |
||||
border-radius: 12rpx 12rpx 12rpx 12rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.content { |
||||
max-width: 6em; |
||||
overflow: hidden; |
||||
white-space: nowrap; |
||||
text-overflow: ellipsis; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.station { |
||||
padding: 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.wrap { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
gap: 60rpx; |
||||
.item { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.radio { |
||||
transform: scale(0.7); |
||||
} |
||||
} |
||||
} |
||||
.fold { |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
} |
||||
.sort-line { |
||||
margin: 32rpx 32rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.wrap { |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 16rpx; |
||||
.btn { |
||||
padding: 8rpx 24rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 32rpx; |
||||
background: #ffffff; |
||||
border-radius: 40rpx 40rpx 40rpx 40rpx; |
||||
&.active { |
||||
background-color: rgba(0, 180, 197, 1); |
||||
color: #fff; |
||||
} |
||||
} |
||||
} |
||||
.feedback { |
||||
font-size: 28rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
.wx-radio-input { |
||||
transform: scale(0.7); |
||||
} |
||||
} |
||||
} |
||||
.list { |
||||
padding: 0 32rpx; |
||||
.list-total { |
||||
padding: 24rpx 0; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
.list-item { |
||||
padding-bottom: 16rpx; |
||||
position: relative; |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
.quality { |
||||
position: absolute; |
||||
top: 0; |
||||
right: 0; |
||||
width: 120rpx; |
||||
height: 50rpx; |
||||
border-radius: 0 16rpx 0 0; |
||||
} |
||||
.li-header { |
||||
padding: 32rpx 32rpx 0 16rpx; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
&::before { |
||||
flex-shrink: 0; |
||||
content: ''; |
||||
width: 10rpx; |
||||
height: 40rpx; |
||||
background: #00b4c5; |
||||
border-radius: 0rpx 0rpx 0rpx 0rpx; |
||||
} |
||||
.wrap { |
||||
display: flex; |
||||
gap: 24rpx; |
||||
.id { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.status { |
||||
font-size: 28rpx; |
||||
&.status1 { |
||||
color: rgba(0, 180, 197, 1); |
||||
} |
||||
&.status2 { |
||||
color: rgba(247, 121, 0, 1); |
||||
} |
||||
&.status3 { |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
} |
||||
.option { |
||||
color: rgba(20, 21, 21, 1); |
||||
letter-spacing: -4rpx; |
||||
} |
||||
} |
||||
.li-row { |
||||
padding: 16rpx 32rpx; |
||||
display: flex; |
||||
line-height: 32rpx; |
||||
.label { |
||||
flex-shrink: 0; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
width: 5em; |
||||
} |
||||
.content { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.line { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
.new { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
background: linear-gradient(177deg, #f77900 0%, #ed4f39 88%); |
||||
border-radius: 0rpx 8rpx 0rpx 8rpx; |
||||
} |
||||
.reject { |
||||
padding: 0 8rpx; |
||||
display: inline-block; |
||||
font-size: 24rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
line-height: 32rpx; |
||||
border: 1px solid rgba(224, 224, 224, 1); |
||||
border-radius: 4rpx; |
||||
} |
||||
} |
||||
.tags { |
||||
display: flex; |
||||
gap: 12rpx; |
||||
.tag { |
||||
padding: 2rpx 8rpx; |
||||
font-size: 22rpx; |
||||
color: rgba(0, 180, 197, 1); |
||||
line-height: 32rpx; |
||||
border: 1rpx solid #bfeff4; |
||||
border-radius: 4rpx; |
||||
} |
||||
} |
||||
} |
||||
.photos { |
||||
padding: 16rpx 32rpx; |
||||
display: grid; |
||||
grid-template-columns: repeat(4, 1fr); |
||||
gap: 12rpx; |
||||
.photo { |
||||
width: 100%; |
||||
height: 148rpx; |
||||
border-radius: 8rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.empty-1 { |
||||
margin: 174rpx auto 0; |
||||
text-align: center; |
||||
.e-img { |
||||
width: 356rpx; |
||||
height: 280rpx; |
||||
} |
||||
.e-tip { |
||||
font-size: 32rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
.empty-2 { |
||||
margin: 174rpx auto 0; |
||||
text-align: center; |
||||
.e-img { |
||||
width: 356rpx; |
||||
height: 242rpx; |
||||
} |
||||
.e-tip { |
||||
font-size: 32rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
} |
||||
.popup1 { |
||||
padding: 0 32rpx 80rpx; |
||||
.title { |
||||
padding: 32rpx; |
||||
font-size: 36rpx; |
||||
line-height: 1; |
||||
color: rgba(20, 21, 21, 1); |
||||
text-align: center; |
||||
} |
||||
.scroll { |
||||
max-height: 50vh; |
||||
overflow-y: auto; |
||||
overflow-x: hidden; |
||||
.list { |
||||
.list-item { |
||||
margin-bottom: 24rpx; |
||||
padding: 18rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
background: #f6f6f6; |
||||
border-radius: 16rpx; |
||||
border: 2rpx solid #f6f6f6; |
||||
&.active { |
||||
background: rgba(29, 188, 204, 0.05); |
||||
border: 2rpx solid #00b4c5; |
||||
color: rgba(29, 188, 204, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.submit { |
||||
width: 686rpx; |
||||
height: 88rpx; |
||||
font-size: 32rpx; |
||||
color: #fff; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 96rpx 96rpx 96rpx 96rpx; |
||||
} |
||||
} |
||||
|
||||
.popup2 { |
||||
padding: 0 32rpx 80rpx; |
||||
.title { |
||||
padding: 32rpx; |
||||
font-size: 36rpx; |
||||
line-height: 1; |
||||
color: rgba(20, 21, 21, 1); |
||||
text-align: center; |
||||
} |
||||
.search { |
||||
padding: 16rpx 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
border-radius: 122rpx; |
||||
background-color: rgba(246, 246, 246, 1); |
||||
.icon { |
||||
margin-right: 14rpx; |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
.input { |
||||
flex: 1; |
||||
font-size: 28rpx; |
||||
color: #000; |
||||
} |
||||
.place-input { |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
.scroll { |
||||
margin-top: 24rpx; |
||||
max-height: 50vh; |
||||
overflow-y: auto; |
||||
overflow-x: hidden; |
||||
.list { |
||||
.list-item { |
||||
margin-bottom: 24rpx; |
||||
padding: 32rpx; |
||||
border-radius: 16rpx; |
||||
border: 2rpx solid rgba(246, 246, 246, 1); |
||||
background-color: rgba(246, 246, 246, 1); |
||||
.hostipal { |
||||
font-size: 32rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
line-height: 44rpx; |
||||
.tag { |
||||
vertical-align: 4rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 24rpx; |
||||
line-height: 32rpx; |
||||
color: #fff; |
||||
border-radius: 4rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
} |
||||
} |
||||
.site { |
||||
margin-top: 16rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
} |
||||
&.active { |
||||
background: rgba(29, 188, 204, 0.05); |
||||
border: 2rpx solid #00b4c5; |
||||
color: rgba(29, 188, 204, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.popup3 { |
||||
padding: 32rpx 30rpx 84rpx; |
||||
.title { |
||||
display: flex; |
||||
justify-content: center; |
||||
font-size: 36rpx; |
||||
color: rgba(40, 48, 49, 1); |
||||
font-weight: bold; |
||||
} |
||||
.textarea { |
||||
padding: 30rpx; |
||||
margin-top: 32rpx; |
||||
width: 100%; |
||||
height: 216rpx; |
||||
box-sizing: border-box; |
||||
background: #f7f8f9; |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 2rpx solid #f8f9f9; |
||||
font-size: 32rx; |
||||
} |
||||
.tags { |
||||
margin-top: 32rpx; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 20rpx; |
||||
.tag { |
||||
padding: 6rpx 44rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(133, 133, 133, 1); |
||||
line-height: 44rpx; |
||||
background-color: #fff; |
||||
border: 1px solid #f6f6f6; |
||||
border-radius: 8rpx; |
||||
background: #f6f6f6; |
||||
&.active { |
||||
background-color: #fff; |
||||
border-color: rgba(1, 180, 197, 1); |
||||
color: rgba(1, 180, 197, 1); |
||||
} |
||||
} |
||||
} |
||||
.submit { |
||||
margin-top: 32rpx; |
||||
height: 84rpx; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
font-size: 36rpx; |
||||
color: #fff; |
||||
border-radius: 64rpx 64rpx 64rpx 64rpx; |
||||
} |
||||
} |
@ -1,6 +1,21 @@
@@ -1,6 +1,21 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
data: { |
||||
show1: false, |
||||
show2: false, |
||||
show3: false, |
||||
}, |
||||
onLoad() {}, |
||||
}); |
||||
handleImagePreview(e) { |
||||
const { url } = e.currentTarget.dataset |
||||
wx.previewImage({ |
||||
urls: [url], |
||||
}) |
||||
}, |
||||
handleDetail(){ |
||||
wx.navigateTo({ |
||||
url:"/module1/pages/casesDetail/index" |
||||
}) |
||||
} |
||||
}) |
||||
|
@ -1,2 +1,235 @@
@@ -1,2 +1,235 @@
|
||||
<!--pages/story/index.wxml--> |
||||
<text>pages/story/index.wxml</text> |
||||
<view class="page"> |
||||
<view class="header"> |
||||
<view class="navbar"> |
||||
<view class="nav active">我的病历</view> |
||||
<view class="nav"> |
||||
公开病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
<view class="nav"> |
||||
优质病历 |
||||
<van-icon name="question" color="rgba(224, 224, 224, 1)" /> |
||||
</view> |
||||
</view> |
||||
<view class="search"> |
||||
<image class="icon" src="/images/icon-search.png"></image> |
||||
<input class="input" placeholder-class="place-input" type="text" placeholder="支持档案编号、医生姓名进行搜索" /> |
||||
</view> |
||||
<view class="form"> |
||||
<view class="row"> |
||||
<view class="label">状态</view> |
||||
<view class="picker-content"> |
||||
<view class="content">全全部全部全部全部全部全部全部全部全部全部部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">医院</view> |
||||
<view class="picker-content"> |
||||
<view class="content">全全部全部全部全部全部全部全部全部全部全部部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">创建</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="content">全全部全部全部全部全部全部全部全部全部全部部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">更新</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="content">全全部全部全部全部全部全部全部全部全部全部部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">标签</view> |
||||
<view class="picker-content"> |
||||
<view class="content">全全部全部全部全部全部全部全部全部全部全部部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">地区</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="content">全全部全部全部全部全部全部全部全部全部全部部</view> |
||||
<van-icon name="arrow-down" /> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="station"> |
||||
<view class="wrap"> |
||||
<view class="item"> |
||||
<radio class="radio"></radio> |
||||
驳回 |
||||
</view> |
||||
<view class="item"> |
||||
<radio class="radio"></radio> |
||||
优质 |
||||
</view> |
||||
<view class="item"> |
||||
<radio class="radio"></radio> |
||||
公开 |
||||
</view> |
||||
</view> |
||||
<view class="fold"> |
||||
收起 |
||||
<van-icon class="v-icon" name="arrow-down" /> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="sort-line"> |
||||
<view class="wrap"> |
||||
<view class="btn active">更新时间排序</view> |
||||
<view class="btn">提交时间排序</view> |
||||
</view> |
||||
<radio class="feedback" color="rgba(0, 180, 197, 1)">待我反馈</radio> |
||||
</view> |
||||
<view class="list"> |
||||
<view class="list-total">共有290条病历</view> |
||||
<view class="list-item" bind:tap="handleDetail"> |
||||
<image |
||||
class="quality" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
mode="scaleToFill" |
||||
></image> |
||||
<view class="li-header"> |
||||
<view class="wrap"> |
||||
<view class="id">ID:2024020913049204001</view> |
||||
<view class="status status1">讨论中</view> |
||||
<view class="status status3">已公开</view> |
||||
</view> |
||||
<view class="option">···</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">提交时间</view> |
||||
<view class="content">2024-02-09 12:04:23</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">提交人</view> |
||||
<view class="content"> |
||||
王军 |
||||
<text class="line">|</text> |
||||
四川大学华西医院 副主任医师 |
||||
</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">标签</view> |
||||
<view class="tags"> |
||||
<view class="tag">心律失常</view> |
||||
<view class="tag">心律失常</view> |
||||
<view class="tag">心律失常</view> |
||||
</view> |
||||
</view> |
||||
<view class="photos"> |
||||
<image |
||||
class="photo" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
bind:tap="handleImagePreview" |
||||
data-url="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
<image |
||||
class="photo" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
></image> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">更新时间</view> |
||||
<view class="content"> |
||||
2024-02-09 12:04:23 |
||||
<view class="new">new</view> |
||||
<view class="reject">已驳回</view> |
||||
</view> |
||||
</view> |
||||
<view class="li-row"> |
||||
<view class="label">反馈人</view> |
||||
<view class="content"> |
||||
王军 |
||||
<text class="line">|</text> |
||||
四川大学华西医院 副主任医师 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="empty-1"> |
||||
<image class="e-img" src="/images/empty-1.png"></image> |
||||
<view class="e-tip">没有找到您搜索的医院哦!</view> |
||||
</view> |
||||
<view class="empty-2"> |
||||
<image class="e-img" src="/images/empty-2.png"></image> |
||||
<view class="e-tip">没有找到您搜索的医院哦!</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<van-popup show="{{ show1 }}" position="bottom" bind:close="onClose" z-index="10000" round closeable> |
||||
<view class="popup1"> |
||||
<view class="title">病历状态</view> |
||||
<view class="scroll"> |
||||
<view class="list"> |
||||
<view class="list-item active">全部</view> |
||||
<view class="list-item">新病历</view> |
||||
<view class="list-item">讨论中</view> |
||||
<view class="list-item">已归档</view> |
||||
<view class="list-item">已归档</view> |
||||
</view> |
||||
</view> |
||||
<view class="submit">保存</view> |
||||
</view> |
||||
</van-popup> |
||||
|
||||
<van-popup show="{{ show2 }}" position="bottom" bind:close="onClose" z-index="10000" round closeable> |
||||
<view class="popup2"> |
||||
<view class="title">选择医院</view> |
||||
<view class="search"> |
||||
<image class="icon" src="/images/icon-search.png"></image> |
||||
<input class="input" placeholder-class="place-input" type="text" placeholder="支持档案编号、医生姓名进行搜索" /> |
||||
</view> |
||||
<view class="scroll"> |
||||
<view class="list"> |
||||
<view class="list-item active"> |
||||
<view class="hostipal"> |
||||
中山大学附属第一医院 |
||||
<view class="tag">三甲</view> |
||||
</view> |
||||
<view class="site">广东省广州市越秀区中山二路58号</view> |
||||
</view> |
||||
<view class="list-item"> |
||||
<view class="hostipal"> |
||||
中山大学附属第一医院 |
||||
<view class="tag">三甲</view> |
||||
</view> |
||||
<view class="site">广东省广州市越秀区中山二路58号</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</van-popup> |
||||
|
||||
<van-popup |
||||
show="{{ show3 }}" |
||||
style="--popup-close-icon-color: #283031" |
||||
position="bottom" |
||||
round |
||||
closeable |
||||
bind:close="onClose" |
||||
z-index="10000" |
||||
> |
||||
<view class="popup3"> |
||||
<view class="title">选择标签</view> |
||||
<view class="tags"> |
||||
<view class="tag active">瓣膜病</view> |
||||
<view class="tag">心律失常</view> |
||||
<view class="tag">心衰</view> |
||||
<view class="tag">心肌病</view> |
||||
</view> |
||||
<view class="submit">保存</view> |
||||
</view> |
||||
</van-popup> |
||||
|
@ -1,8 +1,14 @@
@@ -1,8 +1,14 @@
|
||||
{ |
||||
"usingComponents": { |
||||
"homeLevel1": "../../echart/components/homeLevel1/index" |
||||
"homeLevel1": "../../echart/components/homeLevel1/index", |
||||
"homeLevel2": "../../echart/components/homeLevel2/index", |
||||
"homeLevel3": "../../echart/components/homeLevel3/index", |
||||
"homeLevel4": "../../echart/components/homeLevel4/index" |
||||
}, |
||||
"componentPlaceholder": { |
||||
"homeLevel1": "view" |
||||
"homeLevel1": "view", |
||||
"homeLevel2": "view", |
||||
"homeLevel3": "view", |
||||
"homeLevel4": "view" |
||||
} |
||||
} |
||||
|
@ -1,6 +1,8 @@
@@ -1,6 +1,8 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
data: { |
||||
level: 3, |
||||
}, |
||||
onLoad() {}, |
||||
}); |
||||
}) |
||||
|
@ -1,7 +1,10 @@
@@ -1,7 +1,10 @@
|
||||
<view |
||||
class="page" |
||||
style="background: url({{imageUrl}}home-bg.png?r={{Timestamp}}) no-repeat top center/100% 1624rpx;padding-top:{{menuButtonInfo.bottom}}rpx;" |
||||
style="background: url({{imageUrl}}home-bg.png?r={{Timestamp}}) no-repeat top center/100% 560rpx;padding-top:{{menuButtonInfo.top}}px;" |
||||
> |
||||
<image class="logo" src="/images/home-logo.png"></image> |
||||
<homeLevel1></homeLevel1> |
||||
<homeLevel1 wx:if="{{level===1}}"></homeLevel1> |
||||
<homeLevel2 wx:elif="{{level===2}}"></homeLevel2> |
||||
<homeLevel3 wx:elif="{{level===3}}"></homeLevel3> |
||||
<homeLevel4 wx:elif="{{level===4}}"></homeLevel4> |
||||
</view> |
||||
|
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
{ |
||||
"usingComponents": { |
||||
"doctorAvatar": "/components/doctorAvatar/index", |
||||
"van-icon": "@vant/weapp/icon/index" |
||||
} |
||||
} |
@ -0,0 +1,154 @@
@@ -0,0 +1,154 @@
|
||||
page { |
||||
background-color: rgba(246, 246, 246, 1); |
||||
} |
||||
.page { |
||||
padding: 0 32rpx 280rpx; |
||||
.user { |
||||
position: relative; |
||||
padding: 102rpx 32rpx 32rpx; |
||||
background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); |
||||
box-shadow: 0rpx 8rpx 24rpx 0rpx rgba(0, 66, 73, 0.09); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.avatar { |
||||
position: absolute; |
||||
top: -38rpx; |
||||
left: 32rpx; |
||||
width: 112rpx; |
||||
height: 112rpx; |
||||
} |
||||
.wrap { |
||||
.w-header { |
||||
display: flex; |
||||
align-items: baseline; |
||||
gap: 16rpx; |
||||
.name { |
||||
font-size: 36rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.desc { |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
.line { |
||||
margin: 0 12rpx; |
||||
display: inline-block; |
||||
height: 24rpx; |
||||
width: 1rpx; |
||||
background-color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
} |
||||
.w-container { |
||||
margin-top: 24rpx; |
||||
.hostipal { |
||||
margin-right: 12rpx; |
||||
display: inline; |
||||
font-size: 28rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
} |
||||
.tag { |
||||
margin-right: 12rpx; |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
border-radius: 4rpx; |
||||
background-color: rgba(0, 180, 197, 1); |
||||
font-size: 24rpx; |
||||
color: #fff; |
||||
} |
||||
.site { |
||||
display: inline-block; |
||||
padding: 0 8rpx; |
||||
font-size: 28rpx; |
||||
line-height: 32rpx; |
||||
color: rgba(148, 87, 30, 1); |
||||
border-radius: 4rpx; |
||||
background-color: rgba(250, 229, 206, 1); |
||||
} |
||||
} |
||||
.w-footer { |
||||
margin-top: 16rpx; |
||||
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); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.invite { |
||||
margin-top: 24rpx; |
||||
padding: 36rpx 36rpx 36rpx 42rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
background: linear-gradient(83deg, #d8fcff 0%, rgba(240, 254, 255, 0.38) 33%, rgba(255, 255, 255, 1) 100%); |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.code { |
||||
flex-shrink: 0; |
||||
width: 76rpx; |
||||
height: 76rpx; |
||||
} |
||||
.wrap { |
||||
.title { |
||||
font-size: 30rpx; |
||||
color: rgba(20, 21, 21, 1); |
||||
font-weight: bold; |
||||
line-height: 1; |
||||
} |
||||
.desc { |
||||
margin-top: 16rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(153, 153, 153, 1); |
||||
} |
||||
} |
||||
.btn { |
||||
flex-shrink: 0; |
||||
width: 120rpx; |
||||
height: 56rpx; |
||||
font-size: 28rpx; |
||||
color: #fff; |
||||
text-align: center; |
||||
line-height: 56rpx; |
||||
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); |
||||
border-radius: 34rpx 34rpx 34rpx 34rpx; |
||||
} |
||||
} |
||||
.list { |
||||
margin-top: 24rpx; |
||||
background: #ffffff; |
||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.list-item { |
||||
padding: 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.label { |
||||
display: flex; |
||||
align-items: center; |
||||
font-size: 32rpx; |
||||
color: rgba(0, 0, 0, 1); |
||||
.icon { |
||||
margin-right: 16rpx; |
||||
width: 44rpx; |
||||
height: 44rpx; |
||||
} |
||||
} |
||||
.more{ |
||||
color: rgba(205, 205, 205, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
handleUserInfo() { |
||||
wx.navigateTo({ |
||||
url: '/module1/pages/userInfo/index', |
||||
}) |
||||
}, |
||||
}) |
@ -0,0 +1,65 @@
@@ -0,0 +1,65 @@
|
||||
<view |
||||
class="page" |
||||
style="background: url({{imageUrl}}my-bg.png?r={{Timestamp}}) no-repeat top center/100% 642rpx;padding-top:{{menuButtonInfo.bottom+30}}px;" |
||||
> |
||||
<view class="user"> |
||||
<doctorAvatar |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||
level="{{1}}" |
||||
></doctorAvatar> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">徐萌</view> |
||||
<view class="desc"> |
||||
主治医师 |
||||
<view class="line"></view> |
||||
心内科 |
||||
</view> |
||||
</view> |
||||
<view class="w-container"> |
||||
<view class="hostipal">北京天坛医院</view> |
||||
<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 class="invite"> |
||||
<image class="code" src="/images/icon-code.png"></image> |
||||
<view class="wrap"> |
||||
<view class="title">我的专属邀约码</view> |
||||
<view class="desc">出示邀约码邀请医生交流病历</view> |
||||
</view> |
||||
<view class="btn">邀约</view> |
||||
</view> |
||||
<view class="list"> |
||||
<view class="list-item"> |
||||
<view class="label" bind:tap="handleUserInfo"> |
||||
<image class="icon" src="/images/my-list-icon1.png"></image> |
||||
个人信息 |
||||
</view> |
||||
<van-icon class="more" name="arrow" /> |
||||
</view> |
||||
<view class="list-item"> |
||||
<view class="label"> |
||||
<image class="icon" src="/images/my-list-icon2.png"></image> |
||||
隐私与合规协议 |
||||
</view> |
||||
<van-icon class="more" name="arrow" /> |
||||
</view> |
||||
<view class="list-item"> |
||||
<view class="label"> |
||||
<image class="icon" src="/images/my-list-icon3.png"></image> |
||||
账号相关 |
||||
</view> |
||||
<van-icon class="more" name="arrow" /> |
||||
</view> |
||||
</view> |
||||
</view> |