@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"version": 1.1, |
||||||
|
"properties": [{ "name": "foo", "description": "Foo property" }], |
||||||
|
"atDirectives": [{ "name": "@foo", "description": "Foo at directive" }], |
||||||
|
"pseudoClasses": [{ "name": ":foo", "description": "Foo pseudo class" }], |
||||||
|
"pseudoElements": [{ "name": "::foo", "description": "Foo pseudo elements" }] |
||||||
|
} |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.9 KiB |
@ -1,8 +1,9 @@ |
|||||||
{ |
{ |
||||||
"navigationBarTitleText": "互动", |
"navigationBarTitleText": "互动", |
||||||
"navigationStyle": "default", |
"navigationStyle": "custom", |
||||||
"usingComponents": { |
"usingComponents": { |
||||||
"van-icon": "@vant/weapp/icon/index", |
"van-icon": "@vant/weapp/icon/index", |
||||||
|
"navbar": "/components/navbar/index", |
||||||
"van-popup": "@vant/weapp/popup/index" |
"van-popup": "@vant/weapp/popup/index" |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"navigationBarTitleText": "重症肌无力医生端", |
||||||
|
"navigationStyle": "default", |
||||||
|
"usingComponents": { |
||||||
|
"customPoster": "/components/customPoster/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,29 @@ |
|||||||
|
page{ |
||||||
|
background-color: #c65174; |
||||||
|
} |
||||||
|
.page { |
||||||
|
position: relative; |
||||||
|
height: 1448rpx; |
||||||
|
.poster { |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
.btn { |
||||||
|
position: absolute; |
||||||
|
bottom: 88rpx; |
||||||
|
left: 50%; |
||||||
|
transform: translateX(-50%); |
||||||
|
margin: 36rpx auto; |
||||||
|
padding: 18rpx 44rpx; |
||||||
|
font-size: 36rpx; |
||||||
|
line-height: 48rpx; |
||||||
|
font-weight: bold; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
border-radius: 64rpx 64rpx 64rpx 64rpx; |
||||||
|
border: 1px solid rgba(255, 255, 255, 1); |
||||||
|
box-sizing: border-box; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,114 @@ |
|||||||
|
const app = getApp<IAppOption>() |
||||||
|
|
||||||
|
Page({ |
||||||
|
data: { |
||||||
|
doctor: {}, |
||||||
|
hospital: {}, |
||||||
|
qrCode: '', |
||||||
|
|
||||||
|
posterUrl: '', |
||||||
|
params: {}, |
||||||
|
}, |
||||||
|
onLoad() { |
||||||
|
const SystemInfo = app.globalSystemInfo |
||||||
|
if (SystemInfo) { |
||||||
|
const { bottom } = SystemInfo.capsulePosition |
||||||
|
this.setData({ |
||||||
|
bottom, |
||||||
|
}) |
||||||
|
} |
||||||
|
app.waitLogin().then((_res) => { |
||||||
|
wx.showLoading({ |
||||||
|
title: '加载中', |
||||||
|
}) |
||||||
|
app.mpBehavior({ doctor: true, PageName: 'PG_DOCTORINVITEPATIENT' }) |
||||||
|
this.getDetail() |
||||||
|
}) |
||||||
|
}, |
||||||
|
getDetail() { |
||||||
|
wx.ajax({ |
||||||
|
method: 'GET', |
||||||
|
url: '?r=zd/doctor/account/info', |
||||||
|
data: {}, |
||||||
|
}).then((res) => { |
||||||
|
this.setData({ |
||||||
|
doctor: res.doctor, |
||||||
|
hospital: res.hospital, |
||||||
|
}) |
||||||
|
this.getPrepare(res.doctor.Id) |
||||||
|
}) |
||||||
|
}, |
||||||
|
getPrepare(id) { |
||||||
|
wx.ajax({ |
||||||
|
method: 'POST', |
||||||
|
url: '?r=poster/prepare', |
||||||
|
data: { |
||||||
|
posterId: 'doctor_mini', |
||||||
|
doctorId: id, |
||||||
|
}, |
||||||
|
}).then((res) => { |
||||||
|
this.setData({ |
||||||
|
params: res, |
||||||
|
}) |
||||||
|
}) |
||||||
|
}, |
||||||
|
getQrCode() { |
||||||
|
this.setData({ |
||||||
|
qrCode: `${app.globalData.url}?r=zd/doctor/account/mp-info&loginState=${app.globalData.loginState}`, |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleDownload() { |
||||||
|
wx.showToast({ |
||||||
|
title: '请长按海报图片进行保存', |
||||||
|
icon: 'none', |
||||||
|
}) |
||||||
|
// wx.showLoading({
|
||||||
|
// title: '加载中',
|
||||||
|
// })
|
||||||
|
// wx.downloadFile({
|
||||||
|
// url: this.data.posterUrl,
|
||||||
|
// success: (res) => {
|
||||||
|
// if (res.statusCode === 200) {
|
||||||
|
// wx.saveImageToPhotosAlbum({
|
||||||
|
// filePath: res.tempFilePath,
|
||||||
|
// success: () => {
|
||||||
|
// wx.hideLoading()
|
||||||
|
// wx.showToast({
|
||||||
|
// title: '保存成功,请到相册中查看',
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// fail: () => {
|
||||||
|
// wx.hideLoading()
|
||||||
|
// wx.showToast({
|
||||||
|
// icon: 'none',
|
||||||
|
// title: '保存失败,请稍后重试',
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
// } else {
|
||||||
|
// wx.hideLoading()
|
||||||
|
// wx.showToast({
|
||||||
|
// icon: 'none',
|
||||||
|
// title: '下载失败,请稍后重试',
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// fail: () => {
|
||||||
|
// wx.hideLoading()
|
||||||
|
// wx.showToast({
|
||||||
|
// icon: 'none',
|
||||||
|
// title: '下载失败,请稍后重试',
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
}, |
||||||
|
handlePosterFinish(e: any) { |
||||||
|
this.setData({ |
||||||
|
posterUrl: e.detail, |
||||||
|
}) |
||||||
|
wx.hideLoading() |
||||||
|
}, |
||||||
|
handleBack() { |
||||||
|
wx.navigateBack() |
||||||
|
}, |
||||||
|
}) |
@ -0,0 +1,6 @@ |
|||||||
|
<view class="page"> |
||||||
|
<image class="poster" show-menu-by-longpress src="{{posterUrl}}"></image> |
||||||
|
<view class="btn" bind:tap="handleDownload">长按图片保存</view> |
||||||
|
</view> |
||||||
|
|
||||||
|
<customPoster params="{{params}}" bind:finish="handlePosterFinish"></customPoster> |
@ -0,0 +1,9 @@ |
|||||||
|
{ |
||||||
|
"navigationStyle": "default", |
||||||
|
"navigationBarTitleText": "患者列表", |
||||||
|
"usingComponents": { |
||||||
|
"navbar": "/components/navbar/index", |
||||||
|
"van-icon": "@vant/weapp/icon/index", |
||||||
|
"van-popup": "@vant/weapp/popup/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,344 @@ |
|||||||
|
page { |
||||||
|
background-color: rgba(242, 244, 245, 1); |
||||||
|
padding-bottom: calc(140rpx + env(safe-area-inset-bottom)); |
||||||
|
} |
||||||
|
|
||||||
|
.page { |
||||||
|
min-height: 100vh; |
||||||
|
|
||||||
|
.page-header { |
||||||
|
position: sticky; |
||||||
|
top: 0; |
||||||
|
padding: 30rpx; |
||||||
|
box-shadow: 0rpx 8rpx 16rpx 0rpx rgba(40, 48, 49, 0.04); |
||||||
|
background-color: #fff; |
||||||
|
z-index: 10; |
||||||
|
|
||||||
|
.search { |
||||||
|
padding: 12rpx 32rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 16rpx; |
||||||
|
background: rgba(246, 248, 249, 1); |
||||||
|
border-radius: 140rpx 140rpx 140rpx 140rpx; |
||||||
|
|
||||||
|
.icon { |
||||||
|
width: 40rpx; |
||||||
|
height: 40rpx; |
||||||
|
} |
||||||
|
|
||||||
|
.input { |
||||||
|
flex: 1; |
||||||
|
font-size: 28rpx; |
||||||
|
} |
||||||
|
|
||||||
|
.input-place { |
||||||
|
color: rgba(173, 179, 180, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
.navbar { |
||||||
|
margin-top: 32rpx; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
.nav { |
||||||
|
position: relative; |
||||||
|
flex: 1; |
||||||
|
text-align: center; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(105, 104, 110, 1); |
||||||
|
transition: all 0.3s; |
||||||
|
.dot { |
||||||
|
padding: 0 4rpx; |
||||||
|
position: absolute; |
||||||
|
left: 50%; |
||||||
|
transform: translateX(35rpx); |
||||||
|
top: 0; |
||||||
|
min-width: 18rpx; |
||||||
|
height: 26rpx; |
||||||
|
font-size: 18rpx; |
||||||
|
line-height: 26rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
border-radius: 50%; |
||||||
|
background: rgba(215, 108, 108, 1); |
||||||
|
} |
||||||
|
&.active { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
font-weight: bold; |
||||||
|
&::after { |
||||||
|
position: absolute; |
||||||
|
bottom: -30rpx; |
||||||
|
left: 50%; |
||||||
|
transform: translateX(-50%); |
||||||
|
content: ''; |
||||||
|
width: 38rpx; |
||||||
|
height: 8rpx; |
||||||
|
border-radius: 12rpx; |
||||||
|
background: rgba(185, 130, 255, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.total-line { |
||||||
|
padding: 34rpx 30rpx 0; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
.wrap { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 20rpx; |
||||||
|
|
||||||
|
.user { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(154, 161, 162, 1); |
||||||
|
|
||||||
|
.num { |
||||||
|
margin-left: 10rpx; |
||||||
|
color: rgba(43, 160, 184, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.message { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(43, 160, 184, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.btn { |
||||||
|
padding: 10rpx 32rpx; |
||||||
|
font-size: 32rpx; |
||||||
|
line-height: 1; |
||||||
|
color: rgba(98, 190, 208, 1); |
||||||
|
background: #ffffff; |
||||||
|
border-radius: 80rpx 80rpx 80rpx 80rpx; |
||||||
|
border: 2rpx solid #62bed0; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
.icon { |
||||||
|
width: 32rpx; |
||||||
|
height: 32rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.list { |
||||||
|
margin: 0 30rpx; |
||||||
|
|
||||||
|
.list-item { |
||||||
|
margin-top: 24rpx; |
||||||
|
padding: 32rpx; |
||||||
|
background: #ffffff; |
||||||
|
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
.avatar { |
||||||
|
flex-shrink: 0; |
||||||
|
.avatar-img { |
||||||
|
width: 100rpx; |
||||||
|
height: 100rpx; |
||||||
|
border-radius: 50%; |
||||||
|
} |
||||||
|
} |
||||||
|
.container { |
||||||
|
flex: 1; |
||||||
|
padding-left: 20rpx; |
||||||
|
.title { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
.name { |
||||||
|
font-size: 36rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
font-weight: bold; |
||||||
|
.edc { |
||||||
|
margin-left: 16rpx; |
||||||
|
display: inline-block; |
||||||
|
padding: 0 8rpx; |
||||||
|
font-size: 24rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
border-radius: 4rpx; |
||||||
|
font-weight: normal; |
||||||
|
background-color: rgba(185, 130, 255, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.replay-date { |
||||||
|
margin-top: 16rpx; |
||||||
|
font-size: 28rpx; |
||||||
|
color: #9aa1a2; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.send { |
||||||
|
padding: 8rpx 22rpx; |
||||||
|
font-size: 24rpx; |
||||||
|
color: rgba(185, 130, 255, 1); |
||||||
|
line-height: 1; |
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx; |
||||||
|
border: 2rpx solid rgba(185, 130, 255, 1); |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 8rpx; |
||||||
|
.icon { |
||||||
|
width: 28rpx; |
||||||
|
height: 28rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.popup { |
||||||
|
padding: 92rpx 30rpx calc(30rpx + env(safe-area-inset-bottom)); |
||||||
|
|
||||||
|
.form { |
||||||
|
max-height: 60vh; |
||||||
|
overflow-y: auto; |
||||||
|
overflow-x: hidden; |
||||||
|
|
||||||
|
.form-item { |
||||||
|
margin-bottom: 48rpx; |
||||||
|
|
||||||
|
.f-title { |
||||||
|
font-size: 36rpx; |
||||||
|
color: rgba(40, 48, 49, 1); |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
|
||||||
|
.select { |
||||||
|
margin-top: 24rpx; |
||||||
|
display: grid; |
||||||
|
grid-template-columns: repeat(3, 1fr); |
||||||
|
gap: 16rpx; |
||||||
|
|
||||||
|
.s-item { |
||||||
|
padding: 18rpx 0; |
||||||
|
text-align: center; |
||||||
|
border-radius: 12rpx; |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(103, 113, 114, 1); |
||||||
|
background: #f2f4f5; |
||||||
|
|
||||||
|
&.active { |
||||||
|
color: #fff; |
||||||
|
background-color: rgba(103, 186, 202, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.custom { |
||||||
|
margin-top: 16rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 12rpx; |
||||||
|
|
||||||
|
.c-item { |
||||||
|
padding: 18rpx 24rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(103, 113, 114, 1); |
||||||
|
border-radius: 12rpx; |
||||||
|
background-color: rgba(242, 244, 245, 1); |
||||||
|
|
||||||
|
.input { |
||||||
|
padding: 0; |
||||||
|
margin: 0; |
||||||
|
width: 3em; |
||||||
|
font-size: 32rpx; |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
|
||||||
|
.input-place { |
||||||
|
color: rgba(194, 201, 202, 1); |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.date { |
||||||
|
margin-top: 24rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
|
||||||
|
.picker { |
||||||
|
flex: 1; |
||||||
|
|
||||||
|
.d-item { |
||||||
|
flex: 1; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
padding: 18rpx 32rpx; |
||||||
|
background: #f7f8f9; |
||||||
|
border-radius: 12rpx 12rpx 12rpx 12rpx; |
||||||
|
|
||||||
|
.icon { |
||||||
|
width: 32rpx; |
||||||
|
height: 32rpx; |
||||||
|
} |
||||||
|
|
||||||
|
.content { |
||||||
|
font-size: 32rpx; |
||||||
|
color: #677172; |
||||||
|
|
||||||
|
&:empty::after { |
||||||
|
content: attr(data-place); |
||||||
|
color: rgba(194, 201, 202, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.sion { |
||||||
|
flex-shrink: 0; |
||||||
|
margin: 0 14rpx; |
||||||
|
font-size: 32rpx; |
||||||
|
color: #677172; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.p-footer { |
||||||
|
margin-top: 32rpx; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
gap: 26rpx; |
||||||
|
|
||||||
|
.reset { |
||||||
|
flex: 1; |
||||||
|
height: 84rpx; |
||||||
|
font-size: 36rpx; |
||||||
|
color: rgba(103, 186, 202, 1); |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
box-sizing: border-box; |
||||||
|
background: #ffffff; |
||||||
|
border-radius: 98rpx 98rpx 98rpx 98rpx; |
||||||
|
border: 2rpx solid #67baca; |
||||||
|
} |
||||||
|
|
||||||
|
.submit { |
||||||
|
flex: 1; |
||||||
|
height: 84rpx; |
||||||
|
font-size: 36rpx; |
||||||
|
color: #ffffff; |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
box-sizing: border-box; |
||||||
|
background: rgba(103, 186, 202, 1); |
||||||
|
border-radius: 98rpx 98rpx 98rpx 98rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,212 @@ |
|||||||
|
import dayjs from 'dayjs' |
||||||
|
const filterColumns = {} |
||||||
|
|
||||||
|
const app = getApp<IAppOption>() |
||||||
|
|
||||||
|
Page({ |
||||||
|
data: { |
||||||
|
active: 0, |
||||||
|
|
||||||
|
list: [] as any[], |
||||||
|
total: 0, |
||||||
|
pagination: { |
||||||
|
page: 1, |
||||||
|
pages: 1, |
||||||
|
count: 1, |
||||||
|
}, |
||||||
|
|
||||||
|
// form
|
||||||
|
Search: '', |
||||||
|
HasAdl: 0, |
||||||
|
DoubleStandard: 0, |
||||||
|
AdlTime: 0, |
||||||
|
AdlScore: [] as any, |
||||||
|
AdlScoreChange: [], |
||||||
|
AdlScoreChangeType: 0, |
||||||
|
AdlScoreChangeMax: '', |
||||||
|
AdlScoreChangeMin: '', |
||||||
|
SteroidDailyDose: [] as any, |
||||||
|
SteroidDailyDoseChange: [] as any, |
||||||
|
IsThisWeekAdl: 0, |
||||||
|
PharyngealSymptoms: 0, |
||||||
|
AntibodyType: 0, |
||||||
|
ThyroidAbnormal: 0, |
||||||
|
PreviousConvulsion: 0, |
||||||
|
TraditionalImmunosuppressant: 0, |
||||||
|
MedicalInsuranceType: 0, |
||||||
|
BindStartDate: '', |
||||||
|
BindEndDate: '', |
||||||
|
|
||||||
|
HasAdlIndex: 0, |
||||||
|
HasAdlName: '全部', |
||||||
|
DoubleStandardIndex: 0, |
||||||
|
DoubleStandardName: '全部', |
||||||
|
AdlTimeIndex: 0, |
||||||
|
AdlTimeName: '全部', |
||||||
|
|
||||||
|
...filterColumns, |
||||||
|
}, |
||||||
|
onLoad(options) { |
||||||
|
this.setData({ |
||||||
|
BindStartDate: options.BindStartDate || '', |
||||||
|
BindEndDate: options.BindEndDate || '', |
||||||
|
HasAdl: Number(options.HasAdl || ''), |
||||||
|
DoubleStandard: Number(options.DoubleStandard || ''), |
||||||
|
AdlScore: options.AdlScore ? options.AdlScore.split('-').map(Number) : [], |
||||||
|
SteroidDailyDose: options.SteroidDailyDose ? options.SteroidDailyDose.split('-').map(Number) : [], |
||||||
|
IsThisWeekAdl: Number(options.IsThisWeekAdl || ''), |
||||||
|
}) |
||||||
|
}, |
||||||
|
onShow() { |
||||||
|
app.waitLogin().then((_res) => { |
||||||
|
app.zdMpBehavior({ doctor: true, PageName: 'PG_DOCTORPATIENTLIST' }) |
||||||
|
this.getList() |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleReset() { |
||||||
|
this.setData({ |
||||||
|
Search: '', |
||||||
|
HasAdl: 0, |
||||||
|
HasAdlIndex: 0, |
||||||
|
HasAdlName: '全部', |
||||||
|
DoubleStandard: 0, |
||||||
|
DoubleStandardIndex: 0, |
||||||
|
DoubleStandardName: '全部', |
||||||
|
AdlTime: 0, |
||||||
|
AdlTimeName: '全部', |
||||||
|
AdlScore: [], |
||||||
|
AdlScoreChange: [], |
||||||
|
AdlScoreChangeType: 0, |
||||||
|
AdlScoreChangeMax: '', |
||||||
|
AdlScoreChangeMin: '', |
||||||
|
SteroidDailyDose: [], |
||||||
|
SteroidDailyDoseChange: [], |
||||||
|
IsThisWeekAdl: 0, |
||||||
|
PharyngealSymptoms: 0, |
||||||
|
AntibodyType: 0, |
||||||
|
ThyroidAbnormal: 0, |
||||||
|
PreviousConvulsion: 0, |
||||||
|
TraditionalImmunosuppressant: 0, |
||||||
|
MedicalInsuranceType: 0, |
||||||
|
BindStartDate: '', |
||||||
|
BindEndDate: '', |
||||||
|
}) |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
handleTapSearch() { |
||||||
|
app.zdMpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTLISTSEARCH' }) |
||||||
|
}, |
||||||
|
handleNav(e) { |
||||||
|
const { active } = e.currentTarget.dataset |
||||||
|
this.setData({ |
||||||
|
active, |
||||||
|
}) |
||||||
|
this.handleSearch() |
||||||
|
}, |
||||||
|
handleSearch() { |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
getList(newPage = 1) { |
||||||
|
const { active } = this.data |
||||||
|
const params = { |
||||||
|
search: this.data.Search, |
||||||
|
} |
||||||
|
const url = { |
||||||
|
0: '?r=zd/doctor/patient/get-my-list', |
||||||
|
1: '?r=zd/doctor/patient/get-my-list&IsEDC=1', |
||||||
|
}[active] as string |
||||||
|
wx.ajax({ |
||||||
|
method: 'GET', |
||||||
|
url, |
||||||
|
data: { |
||||||
|
page: newPage, |
||||||
|
...params, |
||||||
|
}, |
||||||
|
}).then((res) => { |
||||||
|
res.list.forEach((item) => { |
||||||
|
if (item.BecomePatientTime) { |
||||||
|
item.BecomePatientTime = dayjs(item.BecomePatientTime).format('YYYY-MM-DD') |
||||||
|
} |
||||||
|
}) |
||||||
|
const list = res.page === 1 ? res.list : [...this.data.list, ...res.list] |
||||||
|
this.setData({ |
||||||
|
total: res.count, |
||||||
|
list, |
||||||
|
pagination: { |
||||||
|
page: res.page, |
||||||
|
pages: res.pages, |
||||||
|
count: res.count, |
||||||
|
}, |
||||||
|
}) |
||||||
|
}) |
||||||
|
}, |
||||||
|
onReachBottom() { |
||||||
|
const { page, pages } = this.data.pagination |
||||||
|
if (pages > page) { |
||||||
|
this.getList(page + 1) |
||||||
|
} |
||||||
|
}, |
||||||
|
handlePickerChange(e: any) { |
||||||
|
const { key } = e.currentTarget.dataset |
||||||
|
const index = e.detail.value |
||||||
|
const data = this.data[`${key}Column`] |
||||||
|
|
||||||
|
this.setData({ |
||||||
|
[`${key}Index`]: index, |
||||||
|
[`${key}Name`]: data[index].value, |
||||||
|
[`${key}`]: data[index].id, |
||||||
|
}) |
||||||
|
this.handleSearch() |
||||||
|
}, |
||||||
|
handleRadio(e: any) { |
||||||
|
const { key, index } = e.currentTarget.dataset |
||||||
|
const data = this.data[`${key}Column`] |
||||||
|
this.setData({ |
||||||
|
[`${key}`]: data[index].id, |
||||||
|
[`${key}Name`]: data[index].value, |
||||||
|
[`${key}Index`]: index, |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleCheckbox(e: any) { |
||||||
|
const { index, key } = e.currentTarget.dataset |
||||||
|
const data = this.data[`${key}Column`] |
||||||
|
const oldValue = this.data[`${key}`] |
||||||
|
const value = oldValue.includes(data[index].id) |
||||||
|
? oldValue.filter((item: any) => item !== data[index].id) |
||||||
|
: [...oldValue, data[index].id] |
||||||
|
|
||||||
|
this.setData({ |
||||||
|
[`${key}`]: data[index].id ? value : [], |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleDetail(e: any) { |
||||||
|
app.zdMpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTLISTVIEW' }) |
||||||
|
const { index } = e.currentTarget.dataset |
||||||
|
const item = this.data.list[index] |
||||||
|
|
||||||
|
wx.navigateTo({ |
||||||
|
url: `/pages/d_patientDetail/index?id=${item.PatientId}`, |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleSend(e) { |
||||||
|
const { index } = e.currentTarget.dataset |
||||||
|
wx.navigateTo({ |
||||||
|
url: `/pages/d_interactiveDoctor/index?patientId=${this.data.list[index].PatientId}`, |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleSendGroup() { |
||||||
|
app.zdMpBehavior({ doctor: true, PageName: 'BTN_DOCTORPATIENTLISTMASSMESSAGE' }) |
||||||
|
wx.navigateTo({ |
||||||
|
url: '/pages/d_taskList/index', |
||||||
|
}) |
||||||
|
}, |
||||||
|
onShareAppMessage() { |
||||||
|
return { |
||||||
|
title: '重症肌无力加油站,重拾生活掌控感!', |
||||||
|
path: '/pages/d_patient/index', |
||||||
|
} |
||||||
|
}, |
||||||
|
handleBack() { |
||||||
|
wx.navigateBack() |
||||||
|
}, |
||||||
|
}) |
@ -0,0 +1,46 @@ |
|||||||
|
<wxs src="./index.wxs" module="tools" /> |
||||||
|
<view class="page"> |
||||||
|
<view class="page-header"> |
||||||
|
<navBar title="患者列表" back home="{{false}}" bind:back="handleBack"></navBar> |
||||||
|
<view class="search"> |
||||||
|
<image class="icon" src="{{imageUrl}}icon48.png?t={{Timestamp}}"></image> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
model:value="{{Search}}" |
||||||
|
class="input" |
||||||
|
placeholder-class="input-place" |
||||||
|
placeholder="可根据姓名、手机号搜索患者" |
||||||
|
confirm-type="search" |
||||||
|
bindconfirm="handleSearch" |
||||||
|
bind:tap="handleTapSearch" |
||||||
|
/> |
||||||
|
</view> |
||||||
|
<view class="navbar"> |
||||||
|
<view class="nav {{active===0 && 'active'}}" bind:tap="handleNav" data-active="{{0}}"> |
||||||
|
我的患者 |
||||||
|
<view class="dot" wx:if="{{unReadCount>0}}">{{unReadCount}}</view> |
||||||
|
</view> |
||||||
|
<view class="nav {{active===1 && 'active'}}" bind:tap="handleNav" data-active="{{1}}">EDC患者</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<view class="list"> |
||||||
|
<view class="list-item" wx:for="{{list}}" wx:key="index" bind:tap="handleDetail" data-index="{{index}}"> |
||||||
|
<view class="avatar"> |
||||||
|
<image class="avatar-img" src="{{item.UserImg}}"></image> |
||||||
|
</view> |
||||||
|
<view class="container"> |
||||||
|
<view class="title"> |
||||||
|
<view class="name"> |
||||||
|
{{item.Name}} |
||||||
|
<view class="edc" wx:if="{{item.IsEDC==1}}">EDC患者</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<view class="replay-date">入组时间:{{item.BecomePatientTime}}</view> |
||||||
|
</view> |
||||||
|
<view class="send" catch:tap="handleSend" data-index="{{index}}">消息</view> |
||||||
|
</view> |
||||||
|
<pagination pagination="{{pagination}}"></pagination> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
|
||||||
|
<tabbar active="{{1}}"></tabbar> |
@ -0,0 +1,12 @@ |
|||||||
|
function include(value, arr) { |
||||||
|
for (var i = 0; i < arr.length; i++) { |
||||||
|
if (arr[i] === value) { |
||||||
|
return true |
||||||
|
} |
||||||
|
} |
||||||
|
return false |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
include: include, |
||||||
|
} |
@ -1,10 +1,9 @@ |
|||||||
{ |
{ |
||||||
"navigationStyle": "custom", |
"navigationStyle": "custom", |
||||||
"usingComponents": { |
"usingComponents": { |
||||||
"zd-navBar": "/components/zd-navBar/navBar", |
"navbar": "/components/navbar/index", |
||||||
"van-icon": "@vant/weapp/icon/index", |
"van-icon": "@vant/weapp/icon/index", |
||||||
"van-popup": "@vant/weapp/popup/index", |
"van-popup": "@vant/weapp/popup/index", |
||||||
"ec-canvas": "/components/ec-canvas/ec-canvas", |
"ec-canvas": "/components/ec-canvas/ec-canvas" |
||||||
"toast": "/components/toast/index" |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,4 @@ |
|||||||
|
.page{ |
||||||
|
width: 100vw; |
||||||
|
height: 100vh; |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
<image class="page" mode="aspectFill" src="{{imageUrl}}start.png?t={{Timestamp}}"></image> |