After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 711 B |
After Width: | Height: | Size: 505 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"navigationBarTitleText": "修改手机号", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
|
||||
.page { |
||||
padding: 48rpx 40rpx; |
||||
.form { |
||||
padding: 0 32rpx; |
||||
background-color: #fff; |
||||
border-radius: 24rpx; |
||||
.row { |
||||
display: flex; |
||||
align-items: center; |
||||
.label { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
width: 5em; |
||||
} |
||||
.container { |
||||
flex: 1; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.input { |
||||
padding: 32rpx 0; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.place-input { |
||||
color: rgba(161, 164, 172, 0.4); |
||||
} |
||||
.btn { |
||||
flex-shrink: 0; |
||||
font-size: 32rpx; |
||||
color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.login-out { |
||||
margin-top: 48rpx; |
||||
padding: 20rpx; |
||||
font-size: 32rpx; |
||||
line-height: 48rpx; |
||||
color: #fff; |
||||
text-align: center; |
||||
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%); |
||||
border-radius: 96rpx; |
||||
} |
||||
} |
@ -0,0 +1,85 @@
@@ -0,0 +1,85 @@
|
||||
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[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|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) => { |
||||
console.log(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() { |
||||
wx.showModal({ |
||||
title: '确定修改此手机号?', |
||||
confirmColor: 'rgba(246, 74, 58, 1)', |
||||
success: (res) => { |
||||
if (!res.confirm) return |
||||
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,30 @@
@@ -0,0 +1,30 @@
|
||||
<view class="page"> |
||||
<view class="form"> |
||||
<view class="row"> |
||||
<view class="label">新手机号</view> |
||||
<view class="container"> |
||||
<input |
||||
type="number" |
||||
class="input" |
||||
maxlength="11" |
||||
placeholder-class="place-input" |
||||
placeholder="请输入新手机号" |
||||
/> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">验证码</view> |
||||
<view class="container"> |
||||
<input |
||||
type="number" |
||||
class="input" |
||||
maxlength="6" |
||||
placeholder-class="place-input" |
||||
placeholder="请输入短信验证码" |
||||
/> |
||||
<view class="btn" bind:tap="getCode">{{codeText}}</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="login-out">提交</view> |
||||
</view> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
{ |
||||
"navigationStyle": "custom", |
||||
"usingComponents": { |
||||
"navbar": "/components/navbar/index" |
||||
} |
||||
} |
@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
|
||||
.page { |
||||
padding: 0 40rpx 40rpx; |
||||
.container { |
||||
margin-top: 184rpx; |
||||
position: relative; |
||||
background: linear-gradient(292deg, #ffffff 0%, #fff3f2 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 2rpx solid #ffffff; |
||||
padding: 136rpx 40rpx 48rpx; |
||||
.avatar { |
||||
position: absolute; |
||||
top: -92rpx; |
||||
left: 50%; |
||||
transform: translateX(-50%); |
||||
width: 184rpx; |
||||
height: 184rpx; |
||||
border-radius: 50%; |
||||
} |
||||
.name { |
||||
font-size: 40rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
font-weight: bold; |
||||
text-align: center; |
||||
} |
||||
.title { |
||||
margin: 46rpx auto 0; |
||||
display: block; |
||||
width: 346rpx; |
||||
height: 34rpx; |
||||
} |
||||
.content { |
||||
margin-top: 32rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(161, 164, 172, 1); |
||||
text-align: center; |
||||
} |
||||
.code { |
||||
margin: 38rpx auto 0; |
||||
display: block; |
||||
width: 296rpx; |
||||
height: 296rpx; |
||||
} |
||||
.tip { |
||||
margin-top: 22rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(161, 164, 172, 1); |
||||
text-align: center; |
||||
} |
||||
} |
||||
.btn { |
||||
margin-top: 48rpx; |
||||
padding: 20rpx; |
||||
font-size: 32rpx; |
||||
line-height: 48rpx; |
||||
color: #fff; |
||||
text-align: center; |
||||
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%); |
||||
border-radius: 96rpx; |
||||
} |
||||
.bind-num{ |
||||
margin-top: 20rpx; |
||||
padding: 12rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(161, 164, 172, 1); |
||||
text-align: center; |
||||
} |
||||
} |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
handleFamilyList() { |
||||
wx.navigateTo({ |
||||
url: '/patient/pages/familyList/index', |
||||
}) |
||||
}, |
||||
hadnleBakc() { |
||||
wx.navigateBack() |
||||
}, |
||||
}) |
||||
|
||||
export {} |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
<navbar title="我的亲友" fixed custom-style="background:{{background}}"> |
||||
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" /> |
||||
</navbar> |
||||
<view |
||||
class="page" |
||||
style="padding-top:{{pageTop}}px;background: url('{{imageUrl}}bg6.png?t={{Timestamp}}') no-repeat top center/100% 668rpx" |
||||
> |
||||
<view class="container"> |
||||
<image |
||||
class="avatar" |
||||
src="https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567" |
||||
></image> |
||||
<view class="name">王猛</view> |
||||
<image class="title" src="/images/title8.png"></image> |
||||
<view class="content"> |
||||
亲友将同步展示和管理 |
||||
<view></view> |
||||
患者的健康档案 |
||||
</view> |
||||
<image class="code" src="https://pic1.zhimg.com/50/v2-8cfef5f9ea7d15963af2277c6814f152_720w.jpg?source=2c26e567" show-menu-by-longpress></image> |
||||
<view class="tip">请使用微信扫一扫绑定</view> |
||||
</view> |
||||
<view class="btn" bind:tap="handleFamilyList">查看我的家庭成员</view> |
||||
<view class="bind-num">还能绑定2个人</view> |
||||
</view> |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"navigationBarTitleText": "我的亲友", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
.page { |
||||
padding: 48rpx 40rpx; |
||||
.card { |
||||
padding: 32rpx; |
||||
background-color: #fff; |
||||
border-radius: 24rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.wrap { |
||||
.w-header { |
||||
.name { |
||||
display: inline; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
font-weight: bold; |
||||
} |
||||
.tag { |
||||
margin-left: 20rpx; |
||||
display: inline-block; |
||||
padding: 2rpx 8rpx; |
||||
font-size: 24rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
line-height: 32rpx; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
border-radius: 4rpx; |
||||
} |
||||
} |
||||
.date{ |
||||
margin-top: 20rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(161, 164, 172, 1); |
||||
} |
||||
} |
||||
.unbind{ |
||||
flex-shrink: 0; |
||||
padding: 32rpx 0 32rpx 32rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
||||
|
||||
export {} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<view class="page"> |
||||
<view class="card"> |
||||
<view class="wrap"> |
||||
<view class="w-header"> |
||||
<view class="name">Niaha</view> |
||||
<view class="tag">本人</view> |
||||
</view> |
||||
<view class="date">绑定时间:2025-06-12 17:30:50</view> |
||||
</view> |
||||
<view class="unbind">解绑</view> |
||||
</view> |
||||
</view> |
@ -1,6 +1,7 @@
@@ -1,6 +1,7 @@
|
||||
{ |
||||
"navigationStyle": "custom", |
||||
"usingComponents": { |
||||
"patient-tab-bar":"/patient/components/patient-tab-bar/index" |
||||
"patient-tab-bar":"/patient/components/patient-tab-bar/index", |
||||
"calendar": "/components/calendar/index" |
||||
} |
||||
} |
||||
|
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"navigationBarTitleText": "查看我的随访计划", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,142 @@
@@ -0,0 +1,142 @@
|
||||
page { |
||||
background-color: #f7f7fa; |
||||
} |
||||
.page { |
||||
padding: 32rpx 40rpx 260rpx; |
||||
.date-card { |
||||
padding: 18rpx 32rpx; |
||||
background: linear-gradient(19.87deg, #ffffff 55.08%, #ffe8e6 129.24%); |
||||
border-radius: 84rpx 84rpx 84rpx 84rpx; |
||||
border: 2px solid #ffffff; |
||||
display: flex; |
||||
align-items: center; |
||||
.icon { |
||||
width: 48rpx; |
||||
height: 48rpx; |
||||
} |
||||
.content { |
||||
padding-left: 16rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
} |
||||
|
||||
.body { |
||||
margin-top: 32rpx; |
||||
background: #fff4f3; |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.title { |
||||
padding: 20rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(246, 74, 58, 1); |
||||
} |
||||
.container { |
||||
padding: 48rpx 24rpx 0; |
||||
background-color: #fff; |
||||
.table { |
||||
.thead { |
||||
display: grid; |
||||
border-radius: 24rpx 24rpx 0 0; |
||||
grid-template-columns: repeat(2, 1fr); |
||||
background-color: rgba(246, 74, 58, 1); |
||||
.th { |
||||
padding: 22rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
} |
||||
} |
||||
.tbody { |
||||
.tr { |
||||
display: grid; |
||||
grid-template-columns: 36rpx calc(50% - 36rpx) 50%; |
||||
.aside { |
||||
margin-right: 12rpx; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
.line-top { |
||||
flex: 1; |
||||
border-right: 1px dashed rgba(207, 209, 213, 1); |
||||
} |
||||
.order { |
||||
flex-shrink: 0; |
||||
width: 24rpx; |
||||
height: 24rpx; |
||||
border-radius: 50%; |
||||
background-color: rgba(207, 209, 213, 1); |
||||
} |
||||
.line-bottom { |
||||
flex: 1; |
||||
border-right: 1px dashed rgba(207, 209, 213, 1); |
||||
} |
||||
} |
||||
.td { |
||||
padding: 28rpx 32rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
text-align: center; |
||||
line-height: 40rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
white-space: pre-line; |
||||
} |
||||
} |
||||
.tr:nth-child(even) { |
||||
.td { |
||||
background-color: rgba(255, 244, 243, 1); |
||||
} |
||||
} |
||||
.active { |
||||
.aside { |
||||
.line-top, |
||||
.line-bottom { |
||||
border-color: rgba(242, 58, 47, 1); |
||||
} |
||||
.order { |
||||
background-color: rgba(242, 58, 47, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.footer { |
||||
position: fixed; |
||||
bottom: 0; |
||||
left: 0; |
||||
width: 100%; |
||||
padding: 16rpx 40rpx calc(16rpx + env(safe-area-inset-bottom)); |
||||
background-color: rgba(255, 255, 255, 1); |
||||
display: flex; |
||||
gap: 26rpx; |
||||
box-sizing: border-box; |
||||
.cancel { |
||||
flex: 1; |
||||
padding: 22rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
font-size: 32rpx; |
||||
color: rgba(246, 74, 58, 1); |
||||
border-radius: 84rpx; |
||||
border: 1px solid #f64a3a; |
||||
} |
||||
.submit { |
||||
flex: 1; |
||||
padding: 22rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
font-size: 32rpx; |
||||
color: #fff; |
||||
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%); |
||||
border-radius: 84rpx; |
||||
border: 1px solid #f64a3a; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
const _app = getApp<IAppOption>(); |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
}); |
||||
|
||||
export {} |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
<view class="page"> |
||||
<view class="date-card"> |
||||
<image class="icon" src="/images/icon67.png"></image> |
||||
<view class="content">注射日:2025 年5月28日 星期三</view> |
||||
</view> |
||||
<view class="body"> |
||||
<view class="title">基因治疗后时间 监测频率</view> |
||||
<view class="container"> |
||||
<view class="table"> |
||||
<view class="thead"> |
||||
<view class="th">输注后时间</view> |
||||
<view class="th">监测频率</view> |
||||
</view> |
||||
<view class="tbody"> |
||||
<view class="tr {{index<=1 && 'active'}}" wx:for="{{8}}" wx:key="index"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order"></view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="td">1 周内</view> |
||||
<view class="td">每周2次 输注后第3天,第6天</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="footer"> |
||||
<view class="cancel">查看我的随访日历</view> |
||||
<view class="submit">添加复诊检查记录</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"navigationBarTitleText": "最新复诊检查记录", |
||||
"usingComponents": { |
||||
"uploadFile": "/components/uploadFile/index", |
||||
"popup": "/components/popup/index" |
||||
} |
||||
} |
@ -0,0 +1,207 @@
@@ -0,0 +1,207 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
|
||||
.page { |
||||
padding: 32rpx 30rpx; |
||||
.date-form { |
||||
padding: 24rpx 32rpx; |
||||
background-color: #fff; |
||||
border-radius: 80rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.icon { |
||||
flex-shrink: 0; |
||||
width: 48rpx; |
||||
height: 48rpx; |
||||
} |
||||
.label { |
||||
flex-shrink: 0; |
||||
margin-left: 16rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(0, 0, 0, 1); |
||||
} |
||||
.picker { |
||||
flex: 1; |
||||
.picker-content { |
||||
padding-left: 48rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.content { |
||||
flex: 1; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
&:empty::after { |
||||
content: attr(data-place); |
||||
color: rgba(161, 164, 172, 0.5); |
||||
} |
||||
} |
||||
.tril { |
||||
width: 0; |
||||
height: 0; |
||||
border-style: solid; |
||||
border-width: 12rpx 12rpx 0 12rpx; |
||||
border-color: rgba(207, 209, 213, 1) transparent transparent transparent; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.form { |
||||
margin-top: 48rpx; |
||||
.form-card { |
||||
display: flex; |
||||
gap: 24rpx; |
||||
.aside { |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
.line-top { |
||||
flex-shrink: 0; |
||||
height: 32rpx; |
||||
border-left: 1px dashed rgba(207, 209, 213, 1); |
||||
} |
||||
.order { |
||||
flex-shrink: 0; |
||||
width: 40rpx; |
||||
height: 40rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
font-size: 32rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
background-color: rgba(207, 209, 213, 1); |
||||
border-radius: 50%; |
||||
} |
||||
.line-bottom { |
||||
flex: 1; |
||||
height: 20rpx; |
||||
border-left: 1px dashed rgba(207, 209, 213, 1); |
||||
} |
||||
&.active { |
||||
.order { |
||||
color: #fff; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
.line-bottom, |
||||
.line-top { |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
.container { |
||||
flex: 1; |
||||
background-color: #fff; |
||||
border-radius: 24rpx; |
||||
margin-bottom: 24rpx; |
||||
.c-header { |
||||
padding: 32rpx 32rpx 32rpx 0; |
||||
.wrap { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.left { |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 12rpx; |
||||
.title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
font-weight: bold; |
||||
display: flex; |
||||
gap: 24rpx; |
||||
align-items: center; |
||||
&::before { |
||||
content: ''; |
||||
width: 8rpx; |
||||
height: 36rpx; |
||||
border-radius: 0 8rpx 8rpx 0; |
||||
background: #f64a3a; |
||||
} |
||||
} |
||||
.icon { |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
} |
||||
.status { |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 12rpx; |
||||
.icon { |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
&.active { |
||||
color: rgba(53, 177, 63, 1); |
||||
} |
||||
} |
||||
} |
||||
.content { |
||||
padding: 16rpx 32rpx 0; |
||||
font-size: 24rpx; |
||||
color: rgba(96, 97, 99, 1); |
||||
line-height: 36rpx; |
||||
} |
||||
} |
||||
.c-body { |
||||
max-height: 100vh; |
||||
transition: all 0.3s; |
||||
&.fold { |
||||
max-height: 0; |
||||
overflow: hidden; |
||||
} |
||||
.module1 { |
||||
padding: 16rpx 32rpx 32rpx; |
||||
.m-title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module2,.module3 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-input { |
||||
padding: 0 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 32rpx; |
||||
background-color: rgba(247, 247, 250, 1); |
||||
border-radius: 24rpx; |
||||
.label { |
||||
flex-shrink: 0; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.input { |
||||
flex: 1; |
||||
font-size: 32rpx; |
||||
height: 96rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.place-input { |
||||
color: rgba(161, 164, 172, 0.5); |
||||
} |
||||
.sub { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: { |
||||
popupShow: false, |
||||
popupType: 'preDiagnosisReportDate', // 确认绑定曾经扫码医生
|
||||
popupParams: {}, |
||||
}, |
||||
onLoad() {}, |
||||
}) |
||||
|
||||
export {} |
@ -0,0 +1,122 @@
@@ -0,0 +1,122 @@
|
||||
<view class="page"> |
||||
<view class="date-form"> |
||||
<image class="icon" src="/images/icon52.png"></image> |
||||
<view class="label">诊前检查时间</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="content" data-place="请选择"></view> |
||||
<view class="tril"></view> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="form"> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top" style="border: none"></view> |
||||
<view class="order">1</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">生化检查</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
<view class="content">重点检查项目:丙氨酸氨基转移酶(ALT)天门冬氨酸氨基转移酶(AST)总胆红素肌酐</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module1"> |
||||
<view class="m-title">请上传您的检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">2</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">凝血因子 IX 活性</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module2"> |
||||
<view class="m-input"> |
||||
<view class="label">您的凝血因子水平</view> |
||||
<input type="number" placeholder="请填写" class="input" placeholder-class="place-input" /> |
||||
<view class="sub">%</view> |
||||
</view> |
||||
<view class="m-title">请上传您的检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">3</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">其他检查</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module3"> |
||||
<view class="m-input"> |
||||
<view class="label">检查项</view> |
||||
<input type="number" placeholder="请填写" class="input" placeholder-class="place-input" /> |
||||
</view> |
||||
<view class="m-title">请上传您的检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<popup |
||||
show="{{popupShow}}" |
||||
type="{{popupType}}" |
||||
params="{{popupParams}}" |
||||
bind:ok="handlePopupOk" |
||||
bind:cancel="handlePopupCancel" |
||||
></popup> |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
{ |
||||
"navigationBarTitleText": "注销", |
||||
"usingComponents": {} |
||||
} |
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
|
||||
.page { |
||||
padding: 134rpx 40rpx 40rpx; |
||||
.container { |
||||
position: relative; |
||||
padding: 122rpx 32rpx 40rpx; |
||||
background: linear-gradient(2deg, #ffffff 0%, #ffffff 82%, #ffe5e3 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 2rpx solid #ffffff; |
||||
.icon { |
||||
position: absolute; |
||||
top: -72rpx; |
||||
left: 50%; |
||||
transform: translateX(-50%); |
||||
width: 144rpx; |
||||
height: 144rpx; |
||||
} |
||||
.content { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
line-height: 56rpx; |
||||
text-align: center; |
||||
} |
||||
.btn1 { |
||||
margin-top: 48rpx; |
||||
padding: 20rpx; |
||||
font-size: 32rpx; |
||||
line-height: 48rpx; |
||||
color: #fff; |
||||
text-align: center; |
||||
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%); |
||||
border-radius: 96rpx; |
||||
} |
||||
.btn2 { |
||||
margin-top: 20rpx; |
||||
padding: 20rpx; |
||||
font-size: 32rpx; |
||||
line-height: 48rpx; |
||||
color: rgba(246, 74, 58, 1); |
||||
text-align: center; |
||||
border-radius: 96rpx; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
handleLoginOut() { |
||||
wx.showModal({ |
||||
title: '确定注销吗?', |
||||
confirmColor: 'rgba(246, 74, 58, 1)', |
||||
success: (res) => { |
||||
if (res.confirm) { |
||||
} |
||||
}, |
||||
}) |
||||
}, |
||||
}) |
||||
|
||||
export {} |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
<view class="page"> |
||||
<view class="container"> |
||||
<image class="icon" src="/images/icon24.png"></image> |
||||
<view class="content"> |
||||
请注意,注销后您在本平台存储的 |
||||
<view></view> |
||||
全部信息将被删除包括 |
||||
<view></view> |
||||
基础信息、诊疗进展、健康档案等数据 |
||||
<view></view> |
||||
请您谨慎操作 |
||||
</view> |
||||
<view class="btn1" bind:tap="handleLoginOut">确认注销</view> |
||||
<view class="btn2">取消</view> |
||||
</view> |
||||
</view> |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"navigationStyle": "custom", |
||||
"usingComponents": { |
||||
"popup": "/components/popup/index", |
||||
"patient-tab-bar":"/patient/components/patient-tab-bar/index" |
||||
} |
||||
} |
@ -0,0 +1,153 @@
@@ -0,0 +1,153 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
.page { |
||||
padding: 52rpx 30rpx; |
||||
.user { |
||||
display: flex; |
||||
align-items: center; |
||||
.avatar-wrapper { |
||||
flex-shrink: 0; |
||||
padding: 0; |
||||
margin: 0; |
||||
width: 128rpx; |
||||
height: 128rpx; |
||||
outline: none; |
||||
&::after { |
||||
border: none; |
||||
} |
||||
.avatar { |
||||
width: 128rpx; |
||||
height: 128rpx; |
||||
border-radius: 50%; |
||||
} |
||||
} |
||||
.wrap { |
||||
flex: 1; |
||||
padding-left: 24rpx; |
||||
.name { |
||||
display: flex; |
||||
align-items: center; |
||||
.nickname { |
||||
font-size: 40rpx; |
||||
} |
||||
font-weight: bold; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.icon { |
||||
margin-left: 16rpx; |
||||
width: 48rpx; |
||||
height: 48rpx; |
||||
} |
||||
} |
||||
.day { |
||||
margin-top: 8rpx; |
||||
font-size: 28rpx; |
||||
color: rgba(1, 1, 5, 0.4); |
||||
line-height: 36rpx; |
||||
display: flex; |
||||
align-items: baseline; |
||||
} |
||||
.icon { |
||||
width: 50rpx; |
||||
height: 50rpx; |
||||
} |
||||
} |
||||
.apply { |
||||
margin-top: 48rpx; |
||||
position: relative; |
||||
.a-img { |
||||
width: 100%; |
||||
height: 136rpx; |
||||
border-radius: 120rpx; |
||||
box-shadow: 0px 2px 16px 0px #f33e328f; |
||||
} |
||||
.a-label { |
||||
position: absolute; |
||||
top: -8rpx; |
||||
right: 68rpx; |
||||
width: 115rpx; |
||||
height: 60rpx; |
||||
} |
||||
.content { |
||||
padding: 20rpx 0; |
||||
position: absolute; |
||||
left: 260rpx; |
||||
top: -4rpx; |
||||
width: 8em; |
||||
height: 100%; |
||||
display: flex; |
||||
flex-direction: column; |
||||
justify-content: center; |
||||
line-height: 1.4; |
||||
box-sizing: border-box; |
||||
font-size: 30rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
font-weight: bold; |
||||
} |
||||
} |
||||
.list { |
||||
margin-top: 48rpx; |
||||
.list-header { |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 8rpx; |
||||
.name { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
font-weight: bold; |
||||
} |
||||
.icon { |
||||
flex-shrink: 0; |
||||
width: 48rpx; |
||||
height: 48rpx; |
||||
} |
||||
} |
||||
.list-container { |
||||
margin-top: 46rpx; |
||||
background: linear-gradient(359deg, #ffffff 0%, #fff8f7 100%); |
||||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||
border: 2rpx solid #ffffff; |
||||
padding: 0 22rpx; |
||||
.item { |
||||
padding: 22rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
border-bottom: 1px solid rgba(247, 247, 250, 1); |
||||
&:last-of-type { |
||||
border: none; |
||||
} |
||||
.icon { |
||||
width: 60rpx; |
||||
height: 60rpx; |
||||
} |
||||
.content { |
||||
padding: 0 24rpx; |
||||
flex: 1; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
.tex { |
||||
padding-left: 10rpx; |
||||
color: rgba(161, 164, 172, 1); |
||||
} |
||||
} |
||||
.more { |
||||
color: rgba(161, 164, 172, 0.4); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.login-out { |
||||
margin-top: 158rpx; |
||||
width: 670rpx; |
||||
height: 84rpx; |
||||
border-radius: 130rpx 130rpx 130rpx 130rpx; |
||||
border: 2rpx solid rgba(1, 1, 5, 0.04); |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 0.4); |
||||
} |
||||
} |
@ -0,0 +1,82 @@
@@ -0,0 +1,82 @@
|
||||
const app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: { |
||||
popupShow: false, |
||||
popupType: 'stayTuned', |
||||
popupParams: {}, |
||||
}, |
||||
onLoad() { |
||||
app.waitLogin().then(() => { |
||||
app.getUserInfo().then((userInfo) => { |
||||
this.setData({ |
||||
userInfo, |
||||
// 数字变红
|
||||
Days: userInfo.Days.replace(/(\d+)/g, '<span style="font-size: 20px;color: rgba(242, 58, 47, 1);">$1</span>'), |
||||
}) |
||||
}) |
||||
}) |
||||
}, |
||||
onChooseAvatar(e) { |
||||
const { avatarUrl } = e.detail |
||||
const url = `${app.globalData.upFileUrl}?r=file-service/upload-img` |
||||
wx.showLoading({ |
||||
title: '上传中', |
||||
}) |
||||
wx.uploadFile({ |
||||
url, |
||||
filePath: avatarUrl, |
||||
name: 'file', |
||||
success: (res) => { |
||||
const data = JSON.parse(res.data) |
||||
const avatarUrl = data.data.Url |
||||
wx.ajax({ |
||||
method: 'POST', |
||||
url: '?r=wtx/user/update-avatar', |
||||
data: { |
||||
Avatar: avatarUrl, |
||||
}, |
||||
}) |
||||
.then(() => { |
||||
wx.hideLoading() |
||||
wx.showToast({ |
||||
title: '头像更新成功!', |
||||
icon: 'none', |
||||
}) |
||||
this.setData({ |
||||
'userInfo.Avatar': avatarUrl, |
||||
}) |
||||
}) |
||||
.catch(() => { |
||||
wx.hideLoading() |
||||
}) |
||||
}, |
||||
fail() { |
||||
wx.hideLoading() |
||||
}, |
||||
}) |
||||
}, |
||||
handlePopupCancel() { |
||||
this.setData({ |
||||
popupShow: false, |
||||
}) |
||||
}, |
||||
routerTo(e) { |
||||
const { url } = e.currentTarget.dataset |
||||
wx.navigateTo({ |
||||
url, |
||||
}) |
||||
}, |
||||
handleUserInfo() { |
||||
wx.navigateTo({ |
||||
url: '/patient/pages/userInfo/index', |
||||
}) |
||||
}, |
||||
handleFamily() { |
||||
wx.navigateTo({ |
||||
url: '/patient/pages/family/index', |
||||
}) |
||||
}, |
||||
}) |
||||
|
||||
export {} |
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
<view |
||||
class="page" |
||||
style="background: url('{{imageUrl}}bg1.png?t={{Timestamp}}') no-repeat top center/100% 602rpx;padding-top:{{pageTop+21}}px;" |
||||
> |
||||
<view class="user"> |
||||
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"> |
||||
<image class="avatar" src="{{userInfo.Avatar}}"></image> |
||||
</button> |
||||
<view class="wrap"> |
||||
<view class="name"> |
||||
<text class="nickname">你好</text> |
||||
</view> |
||||
<view class="day"> |
||||
今天是陪伴您的第 |
||||
<rich-text class="rich" nodes="{{Days}}"></rich-text> |
||||
</view> |
||||
</view> |
||||
<image class="icon" bind:tap="handleUserInfo" src="/images/icon12.png"></image> |
||||
</view> |
||||
<view class="apply" bind:tap="routerTo" data-url="/pages/applyFrom/index"> |
||||
<image class="a-img" src="{{imageUrl}}index-apply.png?t={{Timestamp}}"></image> |
||||
<view class="content">查看我的健康档案</view> |
||||
</view> |
||||
<view class="list"> |
||||
<view class="list-header" bind:tap="handleNone"> |
||||
<view class="name">切换身份</view> |
||||
</view> |
||||
<view class="list-container"> |
||||
<view class="item"> |
||||
<image class="icon" src="/images/icon68.png"></image> |
||||
<view class="content">我是医生<text class="tex">登录医生端</text></view> |
||||
<van-icon class="more" name="arrow" /> |
||||
</view> |
||||
<view class="item" bind:tap="handleFamily"> |
||||
<image class="icon" src="/images/icon69.png"></image> |
||||
<view class="content">我的亲友</view> |
||||
<van-icon class="more" name="arrow" /> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<popup model:show="{{popupShow}}" type="{{popupType}}" params="{{popupParams}}" bind:cancel="handlePopupCancel"></popup> |
||||
|
||||
<patient-tab-bar></patient-tab-bar> |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
{ |
||||
"navigationBarTitleText": "我的诊前检查报告", |
||||
"usingComponents": { |
||||
"uploadFile": "/components/uploadFile/index", |
||||
"popup": "/components/popup/index" |
||||
} |
||||
} |
@ -0,0 +1,402 @@
@@ -0,0 +1,402 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
|
||||
.page { |
||||
padding: 32rpx 30rpx; |
||||
.date-form { |
||||
padding: 24rpx 32rpx; |
||||
background-color: #fff; |
||||
border-radius: 80rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.icon { |
||||
flex-shrink: 0; |
||||
width: 48rpx; |
||||
height: 48rpx; |
||||
} |
||||
.label { |
||||
flex-shrink: 0; |
||||
margin-left: 16rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(0, 0, 0, 1); |
||||
} |
||||
.picker { |
||||
flex: 1; |
||||
.picker-content { |
||||
padding-left: 48rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
.content { |
||||
flex: 1; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
&:empty::after { |
||||
content: attr(data-place); |
||||
color: rgba(161, 164, 172, 0.5); |
||||
} |
||||
} |
||||
.tril { |
||||
width: 0; |
||||
height: 0; |
||||
border-style: solid; |
||||
border-width: 12rpx 12rpx 0 12rpx; |
||||
border-color: rgba(207, 209, 213, 1) transparent transparent transparent; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.form { |
||||
margin-top: 48rpx; |
||||
.form-header { |
||||
padding-bottom: 24rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.form-title { |
||||
font-size: 36rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
font-weight: bold; |
||||
} |
||||
.order { |
||||
display: flex; |
||||
align-items: baseline; |
||||
color: rgba(161, 164, 172, 1); |
||||
font-size: 28rpx; |
||||
.green { |
||||
font-size: 44rpx; |
||||
color: rgba(53, 177, 63, 1); |
||||
font-weight: bold; |
||||
} |
||||
.all { |
||||
font-size: 28rpx; |
||||
} |
||||
} |
||||
} |
||||
.form-card { |
||||
display: flex; |
||||
gap: 24rpx; |
||||
.aside { |
||||
flex-shrink: 0; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
.line-top { |
||||
flex-shrink: 0; |
||||
height: 32rpx; |
||||
border-left: 1px dashed rgba(207, 209, 213, 1); |
||||
} |
||||
.order { |
||||
flex-shrink: 0; |
||||
width: 40rpx; |
||||
height: 40rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: center; |
||||
font-size: 32rpx; |
||||
color: rgba(255, 255, 255, 1); |
||||
background-color: rgba(207, 209, 213, 1); |
||||
border-radius: 50%; |
||||
} |
||||
.line-bottom { |
||||
flex: 1; |
||||
height: 20rpx; |
||||
border-left: 1px dashed rgba(207, 209, 213, 1); |
||||
} |
||||
&.active { |
||||
.order { |
||||
color: #fff; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
.line-bottom, |
||||
.line-top { |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
.container { |
||||
flex: 1; |
||||
background-color: #fff; |
||||
border-radius: 24rpx; |
||||
margin-bottom: 24rpx; |
||||
.c-header { |
||||
padding: 32rpx 32rpx 32rpx 0; |
||||
.wrap { |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
.left { |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 12rpx; |
||||
.title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
font-weight: bold; |
||||
display: flex; |
||||
gap: 24rpx; |
||||
align-items: center; |
||||
&::before { |
||||
content: ''; |
||||
width: 8rpx; |
||||
height: 36rpx; |
||||
border-radius: 0 8rpx 8rpx 0; |
||||
background: #f64a3a; |
||||
} |
||||
} |
||||
.icon { |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
} |
||||
.status { |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 12rpx; |
||||
.icon { |
||||
width: 32rpx; |
||||
height: 32rpx; |
||||
} |
||||
&.active { |
||||
color: rgba(53, 177, 63, 1); |
||||
} |
||||
} |
||||
} |
||||
.content { |
||||
padding: 16rpx 32rpx 0; |
||||
font-size: 24rpx; |
||||
color: rgba(96, 97, 99, 1); |
||||
line-height: 36rpx; |
||||
} |
||||
} |
||||
.c-body { |
||||
max-height: 100vh; |
||||
transition: all 0.3s; |
||||
&.fold { |
||||
max-height: 0; |
||||
overflow: hidden; |
||||
} |
||||
.module1 { |
||||
padding: 16rpx 32rpx 32rpx; |
||||
.m-title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module2 { |
||||
padding: 16rpx 32rpx 32rpx; |
||||
.m-title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module3 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-input { |
||||
padding: 0 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 32rpx; |
||||
background-color: rgba(247, 247, 250, 1); |
||||
border-radius: 24rpx; |
||||
.label { |
||||
flex-shrink: 0; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.input { |
||||
flex: 1; |
||||
font-size: 32rpx; |
||||
height: 96rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.place-input { |
||||
color: rgba(161, 164, 172, 0.5); |
||||
} |
||||
.sub { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module4 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-select { |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 28rpx; |
||||
.m-item { |
||||
padding: 12rpx 24rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
background: #f7f7fa; |
||||
border-radius: 12rpx 12rpx 12rpx 12rpx; |
||||
&.active { |
||||
color: #fff; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module5 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-select-title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.m-select { |
||||
margin-top: 24rpx; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 28rpx; |
||||
.m-item { |
||||
padding: 12rpx 24rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
background: #f7f7fa; |
||||
border-radius: 12rpx 12rpx 12rpx 12rpx; |
||||
&.active { |
||||
color: #fff; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module6 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-select-title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.m-select { |
||||
margin-top: 24rpx; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 28rpx; |
||||
.m-item { |
||||
padding: 12rpx 24rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
background: #f7f7fa; |
||||
border-radius: 12rpx 12rpx 12rpx 12rpx; |
||||
&.active { |
||||
color: #fff; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module7 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-select-title { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.m-select { |
||||
margin-top: 24rpx; |
||||
display: flex; |
||||
flex-wrap: wrap; |
||||
gap: 28rpx; |
||||
.m-item { |
||||
padding: 12rpx 24rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
background: #f7f7fa; |
||||
border-radius: 12rpx 12rpx 12rpx 12rpx; |
||||
&.active { |
||||
color: #fff; |
||||
background-color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
.module8 { |
||||
padding: 0 32rpx 32rpx; |
||||
.m-input { |
||||
padding: 0 32rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
gap: 32rpx; |
||||
background-color: rgba(247, 247, 250, 1); |
||||
border-radius: 24rpx; |
||||
.label { |
||||
flex-shrink: 0; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.input { |
||||
flex: 1; |
||||
font-size: 32rpx; |
||||
height: 96rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.place-input { |
||||
color: rgba(161, 164, 172, 0.5); |
||||
} |
||||
.sub { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
} |
||||
.m-title { |
||||
margin-top: 48rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.file-list { |
||||
margin-top: 24rpx; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: { |
||||
popupShow: false, |
||||
popupType: 'preDiagnosisReportDate', // 确认绑定曾经扫码医生
|
||||
popupParams: {}, |
||||
}, |
||||
onLoad() {}, |
||||
}) |
||||
|
||||
export {} |
@ -0,0 +1,308 @@
@@ -0,0 +1,308 @@
|
||||
<view class="page"> |
||||
<view class="date-form"> |
||||
<image class="icon" src="/images/icon52.png"></image> |
||||
<view class="label">诊前检查时间</view> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="content" data-place="请选择"></view> |
||||
<view class="tril"></view> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
<view class="form"> |
||||
<view class="form-header"> |
||||
<view class="form-title">您的诊前检查项目</view> |
||||
<view class="order"> |
||||
<view class="green">1</view> |
||||
/ |
||||
<view class="all">8</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top" style="border: none"></view> |
||||
<view class="order">1</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">血常规检查</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
<view class="content">重点检查项目:白细胞计数)WBC)血红蛋白(HGB)血小板计数(PLT)</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module1"> |
||||
<view class="m-title">请上传您的检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">2</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">生化检查</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
<view class="content">重点检查项目:丙氨酸氨基转移酶(ALT)天门冬氨酸氨基转移酶(AST)总胆红素肌酐</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module2"> |
||||
<view class="m-title">请上传您的检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">3</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">凝血因子 IX 活性</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module3"> |
||||
<view class="m-input"> |
||||
<view class="label">您的凝血因子水平</view> |
||||
<input type="number" placeholder="请填写" class="input" placeholder-class="place-input" /> |
||||
<view class="sub">%</view> |
||||
</view> |
||||
<view class="m-title">请上传您的检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">4</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">凝血因子 IX 抑制物检测</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module4"> |
||||
<view class="m-select"> |
||||
<view class="m-item active">阳性(+)</view> |
||||
<view class="m-item">阴性(-)</view> |
||||
</view> |
||||
<view class="m-title">可上传您的抑制物检查结果</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">5</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">乙型肝炎相关检查</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module5"> |
||||
<view class="m-select-title">乙型肝炎病毒表面抗原(HBsAg)</view> |
||||
<view class="m-select"> |
||||
<view class="m-item active">阳性(+)</view> |
||||
<view class="m-item">阴性(-)</view> |
||||
</view> |
||||
<view class="m-select-title" style="margin-top: 48rpx">乙型肝炎病毒表面抗原(HBsAg)</view> |
||||
<view class="m-select"> |
||||
<view class="m-item active">正常数值</view> |
||||
<view class="m-item">偏高数值</view> |
||||
</view> |
||||
<view class="m-title">请上传乙型肝炎检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">6</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">丙型肝炎相关检查</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module6"> |
||||
<view class="m-select-title">丙型肝炎病毒抗体(抗 - HCV)</view> |
||||
<view class="m-select"> |
||||
<view class="m-item active">阳性(+)</view> |
||||
<view class="m-item">阴性(-)</view> |
||||
</view> |
||||
<view class="m-select-title" style="margin-top: 48rpx">丙型肝炎病毒核糖核酸(HCV - RNA)</view> |
||||
<view class="m-select"> |
||||
<view class="m-item active">阳性(+)</view> |
||||
<view class="m-item">阴性(-)</view> |
||||
</view> |
||||
<view class="m-title">请上传丙型肝炎检查报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">7</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">HIV抗体</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
<view class="content">类免疫缺陷病毒抗体(HIV - Ab)</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module7"> |
||||
<view class="m-select-title">填选您的HIV检查结果</view> |
||||
<view class="m-select"> |
||||
<view class="m-item active">阳性(+)</view> |
||||
<view class="m-item">阴性(-)</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="form-card"> |
||||
<view class="aside"> |
||||
<view class="line-top"></view> |
||||
<view class="order">8</view> |
||||
<view class="line-bottom"></view> |
||||
</view> |
||||
<view class="container"> |
||||
<view class="c-header"> |
||||
<view class="wrap"> |
||||
<view class="left"> |
||||
<view class="title">甲胎蛋白(AFP)检测</view> |
||||
<image class="icon" src="/images/icon63.png"></image> |
||||
</view> |
||||
<view class="status"> |
||||
<image wx:if="{{true}}" class="icon" src="/images/icon64.png"></image> |
||||
<image wx:else class="icon" src="/images/icon65.png"></image> |
||||
已检查 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="c-body"> |
||||
<view class="module8"> |
||||
<view class="m-input"> |
||||
<view class="label">您的(AFP)检测</view> |
||||
<input type="number" placeholder="请填写" class="input" placeholder-class="place-input" /> |
||||
<view class="sub">μg/L</view> |
||||
</view> |
||||
<view class="m-title">填提交您的AFP 检测报告</view> |
||||
<view class="file-list"> |
||||
<uploadFile></uploadFile> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<popup |
||||
show="{{popupShow}}" |
||||
type="{{popupType}}" |
||||
params="{{popupParams}}" |
||||
bind:ok="handlePopupOk" |
||||
bind:cancel="handlePopupCancel" |
||||
></popup> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
{ |
||||
"navigationBarTitleText": "个人信息修改", |
||||
"usingComponents": { |
||||
"pickerArea": "/components/pickerArea/index" |
||||
} |
||||
} |
@ -0,0 +1,70 @@
@@ -0,0 +1,70 @@
|
||||
page { |
||||
background-color: rgba(247, 247, 250, 1); |
||||
} |
||||
|
||||
.page { |
||||
padding: 48rpx 40rpx; |
||||
.form { |
||||
padding: 0 32rpx; |
||||
background-color: #fff; |
||||
border-radius: 24rpx; |
||||
.row { |
||||
display: flex; |
||||
align-items: center; |
||||
.label { |
||||
font-size: 32rpx; |
||||
color: rgba(137, 141, 151, 1); |
||||
width: 5em; |
||||
} |
||||
.container { |
||||
flex: 1; |
||||
.input { |
||||
padding: 32rpx 0; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.place-input { |
||||
color: rgba(161, 164, 172, 0.40); |
||||
} |
||||
.picker, |
||||
.picker-area { |
||||
.picker-content { |
||||
.content { |
||||
padding: 32rpx 0; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
&:empty::after { |
||||
content: attr(data-place); |
||||
color: rgba(161, 164, 172, 0.40); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.tel { |
||||
padding: 32rpx 0; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
.tel-num { |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
} |
||||
.btn { |
||||
font-size: 32rpx; |
||||
color: rgba(246, 74, 58, 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.login-out { |
||||
margin-top: 48rpx; |
||||
padding: 22rpx; |
||||
font-size: 32rpx; |
||||
color: rgba(1, 1, 5, 1); |
||||
text-align: center; |
||||
line-height: 1; |
||||
background-color: #fff; |
||||
border-radius: 96rpx; |
||||
} |
||||
} |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
const _app = getApp<IAppOption>() |
||||
|
||||
Page({ |
||||
data: {}, |
||||
onLoad() {}, |
||||
handleTel() { |
||||
wx.navigateTo({ |
||||
url: '/patient/pages/changeTel/index', |
||||
}) |
||||
}, |
||||
handleLoginOut() { |
||||
wx.navigateTo({ |
||||
url: '/patient/pages/loginOut/index', |
||||
}) |
||||
}, |
||||
}) |
||||
|
||||
export {} |
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
<view class="page"> |
||||
<view class="form"> |
||||
<view class="row"> |
||||
<view class="label">我的姓名</view> |
||||
<view class="container"> |
||||
<input type="text" class="input" placeholder-class="place-input" placeholder="请输入" /> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">出生年月</view> |
||||
<view class="container"> |
||||
<picker class="picker"> |
||||
<view class="picker-content"> |
||||
<view class="content" data-place="请选择"></view> |
||||
</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">我的姓名</view> |
||||
<view class="container"> |
||||
<pickerArea class="picker-area"> |
||||
<view class="picker-content"> |
||||
<view class="content" data-place="请选择"></view> |
||||
</view> |
||||
</pickerArea> |
||||
</view> |
||||
</view> |
||||
<view class="row"> |
||||
<view class="label">手机号</view> |
||||
<view class="container"> |
||||
<view class="tel" bind:tap="handleTel"> |
||||
<view class="tel-num">12312312</view> |
||||
<view class="btn">修改手机号</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="login-out" bind:tap="handleLoginOut">注销账号</view> |
||||
</view> |